UNPKG

focused

Version:

Lens/Optics library for JavaScript

52 lines (48 loc) 1.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.curry2 = curry2; exports.curry3 = curry3; exports.curry4 = curry4; const id = exports.id = x => x; const konst = exports.konst = x => _ => x; function curry2(f) { return function curried2(x, y) { if (arguments.length >= 2) return f(x, y); return function curried2_1arg(y) { return f(x, y); }; }; } function curry3(f) { return function curried3(x, y, z) { if (arguments.length >= 3) return f(x, y, z); if (arguments.length === 2) { return function curried3_2args(z) { return f(x, y, z); }; } return curry2(function curried3_1(y, z) { return f(x, y, z); }); }; } function curry4(f) { return function curried4(w, x, y, z) { if (arguments.length >= 4) return f(w, x, y, z); if (arguments.length === 3) { return function curried4_3args(z) { return f(w, x, y, z); }; } if (arguments.length === 2) { return curry2(function curried4_2args(y, z) { return f(w, x, y, z); }); } return curry3(function curried4_1(x, y, z) { return f(w, x, y, z); }); }; }