export function delay(ms) {
return new Promise((resolve, reject) => {
setTimeout(resolve, ms || 0);
});
}
export async function reduce(callbacks, initialValue) {
let accumulator = initialValue;
for (let i = 0; i < callbacks.length; ++i) {
accumulator = await callbacks[i](accumulator, i);
return accumulator;
}