{"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,MAAOC,KAAMA;;AAElB,EAzCD,CAAiBd,2BAAAA,yBAAsB,CAAA;;"}