UNPKG

@strapi/utils

Version:

Shared utilities for the Strapi packages

1 lines 1.79 kB
{"version":3,"file":"utils.mjs","sources":["../../src/validate/utils.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\nimport { ValidationError } from '../errors';\n\nexport const throwInvalidKey = ({ key, path }: { key: string; path?: string | null }): never => {\n const msg = path && path !== key ? `Invalid key ${key} at ${path}` : `Invalid key ${key}`;\n\n throw new ValidationError(msg, {\n key,\n path,\n });\n};\n\nexport const asyncCurry = <A extends unknown[], R>(\n fn: (...args: A) => Promise<R>\n): ((...args: Partial<A>) => any) => {\n const curried = (...args: unknown[]): unknown => {\n if (args.length >= fn.length) {\n return fn(...(args as A));\n }\n return (...moreArgs: unknown[]) => curried(...args, ...moreArgs);\n };\n\n return curried;\n};\n"],"names":["throwInvalidKey","key","path","msg","ValidationError","asyncCurry","fn","curried","args","length","moreArgs"],"mappings":";;AAAA;AACA;AACA;MAIaA,eAAkB,GAAA,CAAC,EAAEC,GAAG,EAAEC,IAAI,EAAyC,GAAA;AAClF,IAAA,MAAMC,MAAMD,IAAQA,IAAAA,IAAAA,KAASD,GAAM,GAAA,CAAC,YAAY,EAAEA,GAAAA,CAAI,IAAI,EAAEC,KAAK,CAAC,GAAG,CAAC,YAAY,EAAED,IAAI,CAAC;IAEzF,MAAM,IAAIG,gBAAgBD,GAAK,EAAA;AAC7BF,QAAAA,GAAAA;AACAC,QAAAA;AACF,KAAA,CAAA;AACF;AAEO,MAAMG,aAAa,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,QAAwBH,GAAAA,OAAAA,CAAAA,GAAWC,IAASE,EAAAA,GAAAA,QAAAA,CAAAA;AACzD,KAAA;IAEA,OAAOH,OAAAA;AACT;;;;"}