🆙 Add cms i using 🆙

This commit is contained in:
Remco
2025-11-25 22:42:56 +01:00
parent 94704e0925
commit d44196149e
35591 changed files with 3601123 additions and 0 deletions
+39
View File
@@ -0,0 +1,39 @@
'use strict';
const Aigle = require('./aigle');
module.exports = flow;
/**
* @param {Function[]} funcs
* @return {Function} Returns the new composite function
* @example
* const add = (a, b) => Aigle.delay(10, a + b);
* const square = n => Aigle.delay(10, n * n);
* const addSquare = Aigle.flow(add, square);
* return addSquare(1, 2).then(value => {
* console.log(value); // 9
* });
*/
function flow(...funcs) {
const [handler = thru, ...handlers] = flatArray(funcs);
return (...args) =>
Aigle.resolve(handler(...args)).then(data =>
Aigle.reduce(handlers, (acc, func) => func(acc), data)
);
}
function thru(arg) {
return arg;
}
function flatArray(args) {
const l = args.length;
const array = [];
let i = -1;
while (++i < l) {
const arg = args[i];
Array.isArray(arg) ? array.push(...arg) : array.push(arg);
}
return array;
}