{"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,MAAOC,KAAMA;;AAElB,EA1CD,CAAiBhB,4BAAAA,0BAAuB,CAAA;;"}