@eeue56/ts-core
Version:
Core library for TypeScript inspired by Elm
26 lines • 1.53 kB
JavaScript
;
/* eslint-disable @typescript-eslint/no-explicit-any */
Object.defineProperty(exports, "__esModule", { value: true });
exports.compose = exports.pipe = void 0;
/*
Takes a value, then passes it along the chain of functions.
Each return value is passed onwards to the next function.
*/
function pipe(value, ...functions) {
return functions.reduce((currentValue, func) => {
return func(currentValue);
}, value);
}
exports.pipe = pipe;
/*
Create a partial function from a list of functions
*/
function compose(...functions) {
return function (value) {
return functions.reduce((currentValue, func) => {
return func(currentValue);
}, value);
};
}
exports.compose = compose;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaWNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9iYXNpY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHdEQUF3RDs7O0FBRXhEOzs7RUFHRTtBQUNGLFNBQWdCLElBQUksQ0FBTyxLQUFRLEVBQUUsR0FBRyxTQUFnQjtJQUNwRCxPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLEVBQUU7UUFDM0MsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDOUIsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ2QsQ0FBQztBQUpELG9CQUlDO0FBRUQ7O0VBRUU7QUFDRixTQUFnQixPQUFPLENBQUMsR0FBRyxTQUFnQjtJQUN2QyxPQUFPLFVBQVUsS0FBVTtRQUN2QixPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDM0MsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDOUIsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2QsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQU5ELDBCQU1DIn0=