typed-patterns
Version:
Basic design patterns
20 lines • 1.27 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const async_helpers_1 = require("./async.helpers");
class Unexpected extends Error {
constructor(message) {
super(message);
this.name = this.constructor.name;
}
}
exports.Unexpected = Unexpected;
function unexpected(message = 'Unexpected context', callback, next) {
if (typeof next === 'function') {
next();
}
else {
async_helpers_1.fail(callback, new Unexpected(message));
}
}
exports.unexpected = unexpected;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5leHBlY3RlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NvdXJjZS91dGlsL3VuZXhwZWN0ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxtREFBaUQ7QUFFakQsTUFBYSxVQUFXLFNBQVEsS0FBSztJQUNuQyxZQUFtQixPQUFlO1FBQ2hDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7SUFDcEMsQ0FBQztDQUNGO0FBTEQsZ0NBS0M7QUFFRCxTQUFnQixVQUFVLENBQ3hCLFVBQWtCLG9CQUFvQixFQUN0QyxRQUFzQyxFQUN0QyxJQUFpQjtJQUVqQixJQUFJLE9BQU8sSUFBSSxLQUFLLFVBQVUsRUFBRTtRQUM5QixJQUFJLEVBQUUsQ0FBQztLQUNSO1NBQU07UUFDTCxvQkFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQWMsQ0FBQyxDQUFDO0tBQ3REO0FBQ0gsQ0FBQztBQVZELGdDQVVDIn0=