UNPKG

@fpjs/overture

Version:
19 lines (18 loc) 631 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.replicate = exports.replace = exports.map = exports.isFunctor = void 0; var _base = require("@fpjs/overture/base"); const isFunctor = x => "fantasy-land/map" in x; exports.isFunctor = isFunctor; const map = ab => a => { const fmap = a["fantasy-land/map"]; if (fmap === undefined) { throw TypeError(`'${(0, _base.type)(a)}' is not a Functor.`); } return fmap.call(a, ab); }; exports.map = map; const replace = exports.replace = (0, _base.compose)(map)(_base.constant); const replicate = exports.replicate = (0, _base.flip)(replace);