/** @module function/parallel.ts */ import { Function1 } from '../helper-types' export function parallel( ...funcs: [Function1] ): ( arg: Input ) => [A] export function parallel( ...funcs: [Function1, Function1] ): ( arg: Input ) => [A, B] export function parallel( ...funcs: [Function1, Function1, Function1] ): ( arg: Input ) => [A, B, C] export function parallel( ...funcs: [Function1, Function1, Function1, Function1] ): ( arg: Input ) => [A, B, C, D] export function parallel( ...funcs: [Function1, Function1, Function1, Function1, Function1] ): ( arg: Input ) => [A, B, C, D, E] export function parallel( ...funcs: [Function1, Function1, Function1, Function1, Function1, Function1] ): ( arg: Input ) => [A, B, C, D, E, F] export function parallel( ...funcs: [Function1, Function1, Function1, Function1, Function1, Function1, Function1] ): ( arg: Input ) => [A, B, C, D, E, F, G] export function parallel( ...funcs: [Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1] ): ( arg: Input ) => [A, B, C, D, E, F, G, H] export function parallel( ...funcs: [Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1] ): ( arg: Input ) => [A, B, C, D, E, F, G, H, I] export function parallel( ...funcs: [Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1] ): ( arg: Input ) => [A, B, C, D, E, F, G, H, I, J] export function parallel( ...funcs: [Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1] ): ( arg: Input ) => [A, B, C, D, E, F, G, H, I, J, K] export function parallel( ...funcs: [Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1] ): ( arg: Input ) => [A, B, C, D, E, F, G, H, I, J, K, L] export function parallel( ...funcs: [Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1] ): ( arg: Input ) => [A, B, C, D, E, F, G, H, I, J, K, L, M] export function parallel( ...funcs: [Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1] ): ( arg: Input ) => [A, B, C, D, E, F, G, H, I, J, K, L, M, N] export function parallel( ...funcs: [Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1] ): ( arg: Input ) => [A, B, C, D, E, F, G, H, I, J, K, L, M, N, O] export function parallel( ...funcs: [Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1] ): ( arg: Input ) => [A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P] export function parallel( ...funcs: [Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1] ): ( arg: Input ) => [A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q] export function parallel( ...funcs: [Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1] ): ( arg: Input ) => [A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R] export function parallel( ...funcs: [Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1] ): ( arg: Input ) => [A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S] export function parallel( ...funcs: [Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1] ): ( arg: Input ) => [A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T] export function parallel( ...funcs: [Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1] ): ( arg: Input ) => [A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U] export function parallel( ...funcs: [Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1] ): ( arg: Input ) => [A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V] export function parallel( ...funcs: [Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1] ): ( arg: Input ) => [A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W] export function parallel( ...funcs: [Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1] ): ( arg: Input ) => [A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X] export function parallel( ...funcs: [Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1] ): ( arg: Input ) => [A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y] export function parallel( ...funcs: [Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1, Function1] ): ( arg: Input ) => [A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z] /** * Takes array of functions, array of arguments, and returns array of functions with arguments applied. * :: (...f) -> (...a) -> [ f1(...a),f2(...a),...] */ export function parallel( ...funcs ) { return ( ...args ) => funcs.map( ( func ) => func.apply( func, args ) ) } export default parallel