/*
	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;
};
