fp-ts-bracket
Version:
Bracket monad for fp-ts
25 lines (24 loc) • 997 B
JavaScript
;
/* eslint-disable @typescript-eslint/no-explicit-any */
/* eslint-disable @typescript-eslint/no-unsafe-call */
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
/* eslint-disable @typescript-eslint/no-unsafe-return */
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
/* eslint-disable @typescript-eslint/no-unnecessary-type-parameters */
/* eslint-disable @typescript-eslint/unified-signatures */
/* eslint-disable prefer-rest-params */
Object.defineProperty(exports, "__esModule", { value: true });
exports.dual = void 0;
// NOTE! Bellow code comes from fp-ts internals
/** @internal */
const dual = (arity, body) => {
const isDataFirst = typeof arity === "number" ? (args) => args.length >= arity : arity;
return function () {
const args = Array.from(arguments);
if (isDataFirst(arguments)) {
return body.apply(this, args);
}
return (self) => body(self, ...args);
};
};
exports.dual = dual;