"use strict"; exports.defer = function defer(v) { return Promise.resolve(v * 2); }; exports.deferChain = function deferChain(v) { // Settles after a microtask chain, so a static awaiter really parks. return Promise.resolve(v) .then(function (x) { return x + 1; }) .then(function (x) { return x * 10; }); }; exports.deferFail = function deferFail(msg) { return Promise.reject(new TypeError(msg)); }; exports.deferFailValue = function deferFailValue(v) { return Promise.reject(v); }; exports.deferNever = function deferNever() { return new Promise(function () {}); }; exports.tag = function tag(s) { return Promise.resolve("tag:" + s); }; exports.done = function done() { return Promise.resolve(undefined); }; exports.setExitCode = function setExitCode(code) { process.exitCode = code; };