Files
pole-book/server/node_modules/@strapi/database/dist/utils/async-curry.mjs.map

1 line
1.4 KiB
Plaintext

{"version":3,"file":"async-curry.mjs","sources":["../../src/utils/async-curry.ts"],"sourcesContent":["// lodash/fp curry does not handle async functions properly, and creates very \"ugly\" types,\n// so we will use our own version to ensure curried functions are typed correctly\n// TODO: Export this from root @strapi/utils so we don't have copies of it between packages\n\n/**\n * @internal\n */\nexport const asyncCurry = <Args extends any[], R>(\n fn: (...args: Args) => Promise<R>\n): CurriedAsyncFunction<Args, R> => {\n const curried = (...args: any[]): any => {\n if (args.length >= fn.length) {\n return fn(...(args as Args));\n }\n return (...moreArgs: any[]) => curried(...args, ...moreArgs);\n };\n\n return curried as CurriedAsyncFunction<Args, R>;\n};\n\n/**\n * @internal\n */\nexport type CurriedAsyncFunction<Args extends any[], R> = Args extends [infer First, ...infer Rest]\n ? Rest extends []\n ? (arg: First) => Promise<R>\n : (arg: First) => CurriedAsyncFunction<Rest, R>\n : () => Promise<R>;\n"],"names":["asyncCurry","fn","curried","args","length","moreArgs"],"mappings":"AAAA;AACA;AACA;AAEA;;IAGaA,MAAAA,UAAAA,GAAa,CACxBC,EAAAA,GAAAA;IAEA,MAAMC,OAAAA,GAAU,CAAC,GAAGC,IAAAA,GAAAA;AAClB,QAAA,IAAIA,IAAKC,CAAAA,MAAM,IAAIH,EAAAA,CAAGG,MAAM,EAAE;AAC5B,YAAA,OAAOH,EAAOE,CAAAA,GAAAA,IAAAA,CAAAA;AAChB;AACA,QAAA,OAAO,CAAC,GAAGE,QAAoBH,GAAAA,OAAAA,CAAAA,GAAWC,IAASE,EAAAA,GAAAA,QAAAA,CAAAA;AACrD,KAAA;IAEA,OAAOH,OAAAA;AACT;;;;"}