dashp
Version:
Utilities for monadic promises.
32 lines (20 loc) • 1.05 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.invalidThenable = exports.invalidArray = exports.invalidFunction = exports.invalidArgument = exports.typeError = void 0;
const ordinal = ["first", "second", "third", "fourth", "fifth"];
const show = p => JSON.stringify(p, null, 2);
const typeError = message => {
throw new TypeError(message);
};
exports.typeError = typeError;
const invalidArgument = (it, at, expected, actual) => typeError(`${it} expects its ${ordinal[at]} argument to ${expected}\n Actual: ${show(actual)}`);
exports.invalidArgument = invalidArgument;
const invalidFunction = (it, at, actual) => invalidArgument(it, at, "be a function", actual);
exports.invalidFunction = invalidFunction;
const invalidArray = (it, at, actual) => invalidArgument(it, at, "be an array", actual);
exports.invalidArray = invalidArray;
const invalidThenable = (it, at, actual) => invalidArgument(it, at, "be a promise", actual);
exports.invalidThenable = invalidThenable;
//# sourceMappingURL=throw.js.map