/
githubmirror
/
strapi
Обзор
Документация
Войти
/
githubmirror
/
strapi
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
packages/core/utils/src/validate/utils.ts
27 строк
918 B
Ben Irvin
enhancement(database): add repair manager with component deletion fix (#22267)
16 дек 2024, 14:56
Не верифицирован
16 дек 2024, 14:56
575be3a
Код
Авторство
О чём код?
// lodash/fp curry does not handle async functions properly, and creates very "ugly" types, // so we will use our own version to ensure curried functions are typed correctly // TODO: Export this from root @strapi/utils so we don't have copies of it between packages import { ValidationError } from '../errors'; export const throwInvalidKey = ({ key, path }: { key: string; path?: string | null }): never => { const msg = path && path !== key ? `Invalid key ${key} at ${path}` : `Invalid key ${key}`; throw new ValidationError(msg, { key, path, }); }; export const asyncCurry = <A extends unknown[], R>( fn: (...args: A) => Promise<R> ): ((...args: Partial<A>) => any) => { const curried = (...args: unknown[]): unknown => { if (args.length >= fn.length) { return fn(...(args as A)); } return (...moreArgs: unknown[]) => curried(...args, ...moreArgs); }; return curried; };