21 lines
744 B
JavaScript
Executable File
21 lines
744 B
JavaScript
Executable File
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.bind = exports.tap = exports.chainFirst = void 0;
|
|
function chainFirst(M) {
|
|
var tapM = tap(M);
|
|
return function (f) { return function (first) { return tapM(first, f); }; };
|
|
}
|
|
exports.chainFirst = chainFirst;
|
|
/** @internal */
|
|
function tap(M) {
|
|
return function (first, f) { return M.chain(first, function (a) { return M.map(f(a), function () { return a; }); }); };
|
|
}
|
|
exports.tap = tap;
|
|
function bind(M) {
|
|
return function (name, f) { return function (ma) { return M.chain(ma, function (a) { return M.map(f(a), function (b) {
|
|
var _a;
|
|
return Object.assign({}, a, (_a = {}, _a[name] = b, _a));
|
|
}); }); }; };
|
|
}
|
|
exports.bind = bind;
|