{"version":3,"file":"utils.mjs","sources":["../../src/validate/utils.ts"],"sourcesContent":["// Keep asynchronous return values in the types of partially applied functions.\n// TODO: Export this from root @strapi/utils so we don't have copies of it between packages\n\nimport { curry } from '../curry';\nimport { ValidationError } from '../errors';\n\nexport const throwInvalidKey = ({\n  key,\n  path,\n  reason,\n}: {\n  key: string;\n  path?: string | null;\n  reason?: string;\n}): never => {\n  const location = path && path !== key ? `Invalid key ${key} at ${path}` : `Invalid key ${key}`;\n  const msg = reason ? `${location}: ${reason}` : location;\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) => curry(fn as (...args: unknown[]) => Promise<R>);\n"],"names":["throwInvalidKey","key","path","reason","location","msg","ValidationError","asyncCurry","fn","curry"],"mappings":";;;AAAA;AACA;AAKO,MAAMA,kBAAkB,CAAC,EAC9BC,GAAG,EACHC,IAAI,EACJC,MAAM,EAKP,GAAA;AACC,IAAA,MAAMC,QAAAA,GAAWF,IAAAA,IAAQA,IAAAA,KAASD,GAAAA,GAAM,CAAC,YAAY,EAAEA,GAAAA,CAAI,IAAI,EAAEC,IAAAA,CAAAA,CAAM,GAAG,CAAC,YAAY,EAAED,GAAAA,CAAAA,CAAK;AAC9F,IAAA,MAAMI,MAAMF,MAAAA,GAAS,CAAA,EAAGC,SAAS,EAAE,EAAED,QAAQ,GAAGC,QAAAA;IAEhD,MAAM,IAAIE,gBAAgBD,GAAAA,EAAK;AAC7BJ,QAAAA,GAAAA;AACAC,QAAAA;AACF,KAAA,CAAA;AACF;AAEO,MAAMK,UAAAA,GAAa,CACxBC,EAAAA,GACmCC,MAAMD,EAAAA;;;;"}