createInnerContext.js 636 Bytes
Newer Older
liang ce committed
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
/*
	MIT License http://www.opensource.org/licenses/mit-license.php
	Author Tobias Koppers @sokra
*/
"use strict";

module.exports = function createInnerContext(options, message, messageOptional) {
	let messageReported = false;
	const childContext = {
		log: (() => {
			if(!options.log) return undefined;
			if(!message) return options.log;
			const logFunction = (msg) => {
				if(!messageReported) {
					options.log(message);
					messageReported = true;
				}
				options.log("  " + msg);
			};
			return logFunction;
		})(),
		stack: options.stack,
		missing: options.missing
	};
	return childContext;
};