UNPKG

@samchon/openapi

Version:

OpenAPI definitions and converters for 'typia' and 'nestia'.

1 lines 2.63 kB
{"version":3,"file":"OpenApiNumberValidator.mjs","sources":["../../../src/utils/internal/OpenApiNumberValidator.ts"],"sourcesContent":["import { OpenApi } from \"../../OpenApi\";\nimport { IOpenApiValidatorContext } from \"./IOpenApiValidatorContext\";\n\nexport namespace OpenApiNumberValidator {\n export const validate = (\n ctx: IOpenApiValidatorContext<OpenApi.IJsonSchema.INumber>,\n ): boolean => {\n if (typeof ctx.value !== \"number\") 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 & ExclusiveMinimum<${ctx.schema.minimum}>`,\n })\n : ctx.value >= ctx.schema.minimum ||\n ctx.report({\n ...ctx,\n expected: `number & 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 & ExclusiveMaximum<${ctx.schema.maximum}>`,\n })\n : ctx.value <= ctx.schema.maximum ||\n ctx.report({\n ...ctx,\n expected: `number & 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 & MultipleOf<${ctx.schema.multipleOf}>`,\n })\n : true,\n ].every((v) => v);\n };\n}\n"],"names":["OpenApiNumberValidator","validate","ctx","value","report","schema","minimum","undefined","exclusiveMinimum","expected","maximum","exclusiveMaximum","multipleOf","every","v"],"mappings":"AAGM,IAAWA;;CAAjB,SAAiBA;IACFA,uBAAAC,WACXC;QAEA,WAAWA,IAAIC,UAAU,UAAU,OAAOD,IAAIE,OAAOF;QACrD,OAAO,EACLA,IAAIG,OAAOC,YAAYC,YACnBL,IAAIG,OAAOG,mBACTN,IAAIC,QAAQD,IAAIG,OAAOC,WACvBJ,IAAIE,OAAO;eACNF;YACHO,UAAU,6BAA6BP,IAAIG,OAAOC;aAEpDJ,IAAIC,SAASD,IAAIG,OAAOC,WACxBJ,IAAIE,OAAO;eACNF;YACHO,UAAU,oBAAoBP,IAAIG,OAAOC;aAE7C,MACJJ,IAAIG,OAAOK,YAAYH,YACnBL,IAAIG,OAAOM,mBACTT,IAAIC,QAAQD,IAAIG,OAAOK,WACvBR,IAAIE,OAAO;eACNF;YACHO,UAAU,6BAA6BP,IAAIG,OAAOK;aAEpDR,IAAIC,SAASD,IAAIG,OAAOK,WACxBR,IAAIE,OAAO;eACNF;YACHO,UAAU,oBAAoBP,IAAIG,OAAOK;aAE7C,MACJR,IAAIG,OAAOO,eAAeL,YACtBL,IAAIC,QAAQD,IAAIG,OAAOO,eAAe,KACtCV,IAAIE,OAAO;eACNF;YACHO,UAAU,uBAAuBP,IAAIG,OAAOO;aAE9C,OACJC,OAAOC,KAAMA;AAAE;AAEpB,EAzCD,CAAiBd,2BAAAA,yBAyChB,CAAA;;"}