@samchon/openapi
Version:
OpenAPI definitions and converters for 'typia' and 'nestia'.
1 lines • 2.82 kB
Source Map (JSON)
{"version":3,"file":"OpenApiIntegerValidator.mjs","sources":["../../../src/utils/internal/OpenApiIntegerValidator.ts"],"sourcesContent":["import { OpenApi } from \"../../OpenApi\";\nimport { IOpenApiValidatorContext } from \"./IOpenApiValidatorContext\";\n\nexport namespace OpenApiIntegerValidator {\n export const validate = (\n ctx: IOpenApiValidatorContext<OpenApi.IJsonSchema.IInteger>,\n ): boolean => {\n if (typeof ctx.value !== \"number\" || Math.floor(ctx.value) !== ctx.value)\n return ctx.report(ctx);\n return [\n ctx.schema.minimum !== undefined\n ? ctx.schema.exclusiveMinimum\n ? ctx.value > ctx.schema.minimum ||\n ctx.report({\n ...ctx,\n expected: `number & Type<\"int32\"> & ExclusiveMinimum<${ctx.schema.minimum}>`,\n })\n : ctx.value >= ctx.schema.minimum ||\n ctx.report({\n ...ctx,\n expected: `number & Type<\"int32\"> & Minimum<${ctx.schema.minimum}>`,\n })\n : true,\n ctx.schema.maximum !== undefined\n ? ctx.schema.exclusiveMaximum\n ? ctx.value < ctx.schema.maximum ||\n ctx.report({\n ...ctx,\n expected: `number & Type<\"int32\"> & ExclusiveMaximum<${ctx.schema.maximum}>`,\n })\n : ctx.value <= ctx.schema.maximum ||\n ctx.report({\n ...ctx,\n expected: `number & Type<\"int32\"> & Maximum<${ctx.schema.maximum}>`,\n })\n : true,\n ctx.schema.multipleOf !== undefined\n ? ctx.value % ctx.schema.multipleOf === 0 ||\n ctx.report({\n ...ctx,\n expected: `number & Type<\"int32\"> & MultipleOf<${ctx.schema.multipleOf}>`,\n })\n : true,\n ].every((v) => v);\n };\n}\n"],"names":["OpenApiIntegerValidator","validate","ctx","value","Math","floor","report","schema","minimum","undefined","exclusiveMinimum","expected","maximum","exclusiveMaximum","multipleOf","every","v"],"mappings":"AAGM,IAAWA;;CAAjB,SAAiBA;IACFA,wBAAAC,WACXC;QAEA,WAAWA,IAAIC,UAAU,YAAYC,KAAKC,MAAMH,IAAIC,WAAWD,IAAIC,OACjE,OAAOD,IAAII,OAAOJ;QACpB,OAAO,EACLA,IAAIK,OAAOC,YAAYC,YACnBP,IAAIK,OAAOG,mBACTR,IAAIC,QAAQD,IAAIK,OAAOC,WACvBN,IAAII,OAAO;eACNJ;YACHS,UAAU,6CAA6CT,IAAIK,OAAOC;aAEpEN,IAAIC,SAASD,IAAIK,OAAOC,WACxBN,IAAII,OAAO;eACNJ;YACHS,UAAU,oCAAoCT,IAAIK,OAAOC;aAE7D,MACJN,IAAIK,OAAOK,YAAYH,YACnBP,IAAIK,OAAOM,mBACTX,IAAIC,QAAQD,IAAIK,OAAOK,WACvBV,IAAII,OAAO;eACNJ;YACHS,UAAU,6CAA6CT,IAAIK,OAAOK;aAEpEV,IAAIC,SAASD,IAAIK,OAAOK,WACxBV,IAAII,OAAO;eACNJ;YACHS,UAAU,oCAAoCT,IAAIK,OAAOK;aAE7D,MACJV,IAAIK,OAAOO,eAAeL,YACtBP,IAAIC,QAAQD,IAAIK,OAAOO,eAAe,KACtCZ,IAAII,OAAO;eACNJ;YACHS,UAAU,uCAAuCT,IAAIK,OAAOO;aAE9D,OACJC,OAAOC,KAAMA;AAAE;AAEpB,EA1CD,CAAiBhB,4BAAAA,0BA0ChB,CAAA;;"}