UNPKG

@strapi/utils

Version:

Shared utilities for the Strapi packages

1 lines 2.89 kB
{"version":3,"file":"validators.mjs","sources":["../src/validators.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/ban-ts-comment */\n/* eslint-disable no-template-curly-in-string */\nimport * as yup from 'yup';\nimport { defaults } from 'lodash/fp';\nimport { YupValidationError } from './errors';\n\nconst handleYupError = (error: yup.ValidationError, errorMessage?: string) => {\n throw new YupValidationError(error, errorMessage);\n};\n\nconst defaultValidationParam = { strict: true, abortEarly: false };\n\nconst validateYupSchema =\n <TSchema extends yup.AnySchema>(schema: TSchema, options = {}) =>\n async (body: unknown, errorMessage?: string): Promise<yup.InferType<TSchema>> => {\n try {\n const optionsWithDefaults = defaults(defaultValidationParam, options);\n const result = await schema.validate(body, optionsWithDefaults);\n return result;\n } catch (e) {\n if (e instanceof yup.ValidationError) {\n handleYupError(e, errorMessage);\n }\n\n throw e;\n }\n };\n\nconst validateYupSchemaSync =\n <TSchema extends yup.AnySchema>(schema: yup.AnySchema, options = {}) =>\n (body: unknown, errorMessage?: string): yup.InferType<TSchema> => {\n try {\n const optionsWithDefaults = defaults(defaultValidationParam, options);\n return schema.validateSync(body, optionsWithDefaults);\n } catch (e) {\n if (e instanceof yup.ValidationError) {\n handleYupError(e, errorMessage);\n }\n\n throw e;\n }\n };\n\nexport { handleYupError, validateYupSchema, validateYupSchemaSync };\n"],"names":["handleYupError","error","errorMessage","YupValidationError","defaultValidationParam","strict","abortEarly","validateYupSchema","schema","options","body","optionsWithDefaults","defaults","result","validate","e","yup","ValidationError","validateYupSchemaSync","validateSync"],"mappings":";;;;AAMMA,MAAAA,cAAAA,GAAiB,CAACC,KAA4BC,EAAAA,YAAAA,GAAAA;IAClD,MAAM,IAAIC,mBAAmBF,KAAOC,EAAAA,YAAAA,CAAAA;AACtC;AAEA,MAAME,sBAAyB,GAAA;IAAEC,MAAQ,EAAA,IAAA;IAAMC,UAAY,EAAA;AAAM,CAAA;AAE3DC,MAAAA,iBAAAA,GACJ,CAAgCC,MAAiBC,EAAAA,OAAAA,GAAU,EAAE,GAC7D,OAAOC,IAAeR,EAAAA,YAAAA,GAAAA;QACpB,IAAI;YACF,MAAMS,mBAAAA,GAAsBC,SAASR,sBAAwBK,EAAAA,OAAAA,CAAAA;AAC7D,YAAA,MAAMI,MAAS,GAAA,MAAML,MAAOM,CAAAA,QAAQ,CAACJ,IAAMC,EAAAA,mBAAAA,CAAAA;YAC3C,OAAOE,MAAAA;AACT,SAAA,CAAE,OAAOE,CAAG,EAAA;YACV,IAAIA,CAAAA,YAAaC,GAAIC,CAAAA,eAAe,EAAE;AACpCjB,gBAAAA,cAAAA,CAAee,CAAGb,EAAAA,YAAAA,CAAAA;AACpB;YAEA,MAAMa,CAAAA;AACR;AACF;AAEIG,MAAAA,qBAAAA,GACJ,CAAgCV,MAAuBC,EAAAA,OAAAA,GAAU,EAAE,GACnE,CAACC,IAAeR,EAAAA,YAAAA,GAAAA;QACd,IAAI;YACF,MAAMS,mBAAAA,GAAsBC,SAASR,sBAAwBK,EAAAA,OAAAA,CAAAA;YAC7D,OAAOD,MAAAA,CAAOW,YAAY,CAACT,IAAMC,EAAAA,mBAAAA,CAAAA;AACnC,SAAA,CAAE,OAAOI,CAAG,EAAA;YACV,IAAIA,CAAAA,YAAaC,GAAIC,CAAAA,eAAe,EAAE;AACpCjB,gBAAAA,cAAAA,CAAee,CAAGb,EAAAA,YAAAA,CAAAA;AACpB;YAEA,MAAMa,CAAAA;AACR;AACF;;;;"}