@fpjs/overture
Version:
A Javascript prelude
18 lines (17 loc) • 596 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.traverse = exports.sequence = exports.isTraversable = void 0;
var _base = require("@fpjs/overture/base");
const isTraversable = x => "fantasy-land/traverse" in x;
exports.isTraversable = isTraversable;
const traverse = F => ab => x => {
const op = x["fantasy-land/traverse"];
if (op === undefined) {
throw TypeError(`'${(0, _base.type)(x)}' is not Traversable.`);
}
return op.call(x, F, ab);
};
exports.traverse = traverse;
const sequence = exports.sequence = (0, _base.flip)(traverse)(_base.id);