mezzanine
Version:
Fantasy land union types with pattern matching
29 lines (14 loc) • 670 B
JavaScript
;Object.defineProperty(exports, "__esModule", { value: true });exports.
applyStack = applyStack;exports.
getInitialValue = getInitialValue;function applyStack(stack, data) {var ln = stack.length;if (ln === 0) return data;var history = [];var current = data;for (var i = 0; i < ln; ++i) {var fn = stack[i];var _val = fn(current);history.length = i + 1;current = history[i] = _val;}return current;}function getInitialValue(stack, obj) {
var val = obj;
var succ = true;
try {
val = applyStack(stack, val);
} catch (err) {
succ = false;
val = err.message;
}
return { val, succ };
}
//# sourceMappingURL=virtual-stack.js.map