{"version":3,"file":"callFunctionsInOrder.mjs","names":[],"sources":["../../../../../../../src/lib/promises/callFunctionsInOrder.ts"],"sourcesContent":["type Fn = (...args: unknown[]) => unknown;\n\nexport const callFunctionsInOrder =\n  (actions: (Fn | undefined)[]) =>\n  (...args: unknown[]): unknown => {\n    const actionsCopy = [...actions];\n\n    const action = actionsCopy.shift();\n\n    if (action) {\n      const result = action(...args);\n\n      const recurse = () => {\n        if (actionsCopy.length === 0) {\n          return result;\n        } else {\n          return callFunctionsInOrder(actionsCopy)(...args);\n        }\n      };\n\n      if (result instanceof Promise) {\n        return result.then(recurse);\n      } else {\n        return recurse();\n      }\n    }\n  };\n"],"mappings":";;;AAEA,IAAa,wBACV,aACA,GAAG,SAA6B;CAC/B,MAAM,cAAc,CAAC,GAAG,OAAO;CAE/B,MAAM,SAAS,YAAY,MAAM;CAEjC,IAAI,QAAQ;EACV,MAAM,SAAS,OAAO,GAAG,IAAI;EAE7B,MAAM,gBAAgB;GACpB,IAAI,YAAY,WAAW,GACzB,OAAO;QAEP,OAAO,qBAAqB,WAAW,CAAC,CAAC,GAAG,IAAI;EAEpD;EAEA,IAAI,kBAAkB,SACpB,OAAO,OAAO,KAAK,OAAO;OAE1B,OAAO,QAAQ;CAEnB;AACF"}