1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
/**
* Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
*
*/
/* global stream$Writable */
'use strict';
const Console = require('console').Console;
const clearLine = require('./clearLine');
const format = require('util').format;
class CustomConsole extends Console {
constructor(
stdout,
stderr,
formatBuffer)
{
super(stdout, stderr);
this._formatBuffer = formatBuffer || ((type, message) => message);
}
_log(type, message) {
clearLine(this._stdout);
super.log(this._formatBuffer(type, message));
}
log() {
this._log('log', format.apply(null, arguments));
}
info() {
this._log('info', format.apply(null, arguments));
}
warn() {
this._log('warn', format.apply(null, arguments));
}
error() {
this._log('error', format.apply(null, arguments));
}
getBuffer() {
return null;
}}
module.exports = CustomConsole;
|