UNPKG

@samchon/openapi

Version:

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

34 lines (30 loc) 1.53 kB
import { OpenApiStationValidator } from "./OpenApiStationValidator.mjs"; var OpenApiTupleValidator; (function(OpenApiTupleValidator) { OpenApiTupleValidator.validate = ctx => { if (!Array.isArray(ctx.value)) return ctx.report(ctx); else if (!!ctx.schema.additionalItems === false) { if (ctx.value.length !== ctx.schema.prefixItems.length) return ctx.report(ctx); return ctx.value.map(((v, i) => OpenApiStationValidator.validate({ ...ctx, schema: ctx.schema.prefixItems[i], value: v, path: `${ctx.path}[${i}]` }))).every((v => v)); } if (ctx.value.length < ctx.schema.prefixItems.length) return ctx.report(ctx); const next = typeof ctx.schema.additionalItems === "object" && ctx.schema.additionalItems !== null ? (v, i) => OpenApiStationValidator.validate({ ...ctx, schema: ctx.schema.additionalItems, value: v, path: `${ctx.path}[${i}]` }) : () => true; return ctx.value.length >= ctx.schema.prefixItems.length && ctx.value.map(((v, i) => i < ctx.schema.prefixItems.length ? OpenApiStationValidator.validate({ ...ctx, schema: ctx.schema.prefixItems[i], value: v, path: `${ctx.path}[${i}]` }) : next(v, i))).every((v => v)); }; })(OpenApiTupleValidator || (OpenApiTupleValidator = {})); export { OpenApiTupleValidator }; //# sourceMappingURL=OpenApiTupleValidator.mjs.map