123456789101112131415161718192021222324252627282930313233343536 |
- /*
- * MIT License http://opensource.org/licenses/MIT
- * Author: Ben Holloway @bholloway
- */
- 'use strict';
- var stream = require('stream');
- var hasLogged = false;
- function logToTestHarness(maybeStream, options) {
- var doLogging =
- !hasLogged &&
- !!maybeStream &&
- (typeof maybeStream === 'object') &&
- (maybeStream instanceof stream.Writable);
- if (doLogging) {
- hasLogged = true; // ensure we log only once
- Object.keys(options).forEach(eachOptionKey);
- }
- function eachOptionKey(key) {
- maybeStream.write(key + ': ' + stringify(options[key]) + '\n');
- }
- function stringify(value) {
- try {
- return JSON.stringify(value) || String(value);
- } catch (e) {
- return '-unstringifyable-';
- }
- }
- }
- module.exports = logToTestHarness;
|