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