Permalink
Browse files

packager: add utilities to log errors internally

Reviewed By: davidaurelio

Differential Revision: D4468471

fbshipit-source-id: 10deb5014d06e4d3bb9d3122eef362c09f74d044
  • Loading branch information...
jeanlauliac authored and facebook-github-bot committed Jan 27, 2017
1 parent 9dee696 commit abf75fa23cb865b13c516ae1bed6d76273198e2c
@@ -0,0 +1,41 @@
/**
* Copyright (c) 2015-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.
*/
'use strict';
const {EventEmitter} = require('events');
class BatchProcessorMock {
constructor(_, processBatch) {
this._processBatch = processBatch;
this._queue = [];
BatchProcessorMock.mocks.emit('new', this);
}
queue(item, callback) {
this._queue.push([item, callback]);
}
flush(callback) {
const {_queue} = this;
this._queue = [];
process.nextTick(() => {
this._processBatch(_queue.map(pair => pair[0]), (error, res) => {
_queue.forEach((pair, i) => pair[1](error, res && res[i]));
callback();
});
});
}
}
BatchProcessorMock.mocks = new EventEmitter();
module.exports = BatchProcessorMock;
@@ -84,6 +84,14 @@ function logWarning(terminal: Terminal, format: string, ...args: Array<mixed>):
terminal.log('%s: %s', chalk.yellow('warning'), str);
}
/**
* Similar to `logWarning`, but for messages that require the user to act.
*/
function logError(terminal: Terminal, format: string, ...args: Array<mixed>): void {
const str = util.format(format, ...args);
terminal.log('%s: %s', chalk.red('error'), str);
}
/**
* A reporter that does nothing. Errors and warnings will be swallowed, that
* is generally not what you want.
@@ -92,5 +100,6 @@ const nullReporter = {update() {}};
module.exports = {
logWarning,
logError,
nullReporter,
};

0 comments on commit abf75fa

Please sign in to comment.