@samchon/openapi
Version:
OpenAPI definitions and converters for 'typia' and 'nestia'.
1 lines • 3.07 kB
Source Map (JSON)
{"version":3,"file":"OpenApiTupleValidator.mjs","sources":["../../../src/utils/internal/OpenApiTupleValidator.ts"],"sourcesContent":["import { OpenApi } from \"../../OpenApi\";\nimport { IOpenApiValidatorContext } from \"./IOpenApiValidatorContext\";\nimport { OpenApiStationValidator } from \"./OpenApiStationValidator\";\n\nexport namespace OpenApiTupleValidator {\n export const validate = (\n ctx: IOpenApiValidatorContext<OpenApi.IJsonSchema.ITuple>,\n ): boolean => {\n if (!Array.isArray(ctx.value)) return ctx.report(ctx);\n else if (!!ctx.schema.additionalItems === false) {\n if (ctx.value.length !== ctx.schema.prefixItems.length)\n return ctx.report(ctx);\n return ctx.value\n .map((v, i) =>\n OpenApiStationValidator.validate({\n ...ctx,\n schema: ctx.schema.prefixItems[i],\n value: v,\n path: `${ctx.path}[${i}]`,\n }),\n )\n .every((v) => v);\n }\n\n if (ctx.value.length < ctx.schema.prefixItems.length)\n return ctx.report(ctx);\n const next =\n typeof ctx.schema.additionalItems === \"object\" &&\n ctx.schema.additionalItems !== null\n ? (v: unknown, i: number) =>\n OpenApiStationValidator.validate({\n ...ctx,\n schema: ctx.schema.additionalItems as OpenApi.IJsonSchema,\n value: v,\n path: `${ctx.path}[${i}]`,\n })\n : () => true;\n return (\n ctx.value.length >= ctx.schema.prefixItems.length &&\n ctx.value\n .map((v, i) =>\n i < ctx.schema.prefixItems.length\n ? OpenApiStationValidator.validate({\n ...ctx,\n schema: ctx.schema.prefixItems[i],\n value: v,\n path: `${ctx.path}[${i}]`,\n })\n : next(v, i),\n )\n .every((v) => v)\n );\n };\n}\n"],"names":["OpenApiTupleValidator","validate","ctx","Array","isArray","value","report","schema","additionalItems","length","prefixItems","map","v","i","OpenApiStationValidator","path","every","next"],"mappings":";;AAIM,IAAWA;;CAAjB,SAAiBA;IACFA,sBAAAC,WACXC;QAEA,KAAKC,MAAMC,QAAQF,IAAIG,QAAQ,OAAOH,IAAII,OAAOJ,WAC5C,MAAMA,IAAIK,OAAOC,oBAAoB,OAAO;YAC/C,IAAIN,IAAIG,MAAMI,WAAWP,IAAIK,OAAOG,YAAYD,QAC9C,OAAOP,IAAII,OAAOJ;YACpB,OAAOA,IAAIG,MACRM,KAAI,CAACC,GAAGC,MACPC,wBAAwBb,SAAS;mBAC5BC;gBACHK,QAAQL,IAAIK,OAAOG,YAAYG;gBAC/BR,OAAOO;gBACPG,MAAM,GAAGb,IAAIa,QAAQF;iBAGxBG,OAAOJ,KAAMA;;QAGlB,IAAIV,IAAIG,MAAMI,SAASP,IAAIK,OAAOG,YAAYD,QAC5C,OAAOP,IAAII,OAAOJ;QACpB,MAAMe,cACGf,IAAIK,OAAOC,oBAAoB,YACtCN,IAAIK,OAAOC,oBAAoB,OAC3B,CAACI,GAAYC,MACXC,wBAAwBb,SAAS;eAC5BC;YACHK,QAAQL,IAAIK,OAAOC;YACnBH,OAAOO;YACPG,MAAM,GAAGb,IAAIa,QAAQF;aAEzB,MAAM;QACZ,OACEX,IAAIG,MAAMI,UAAUP,IAAIK,OAAOG,YAAYD,UAC3CP,IAAIG,MACDM,KAAI,CAACC,GAAGC,MACPA,IAAIX,IAAIK,OAAOG,YAAYD,SACvBK,wBAAwBb,SAAS;eAC5BC;YACHK,QAAQL,IAAIK,OAAOG,YAAYG;YAC/BR,OAAOO;YACPG,MAAM,GAAGb,IAAIa,QAAQF;aAEvBI,KAAKL,GAAGC,KAEbG,OAAOJ,KAAMA;AAAE;AAGvB,EAjDD,CAAiBZ,0BAAAA,wBAiDhB,CAAA;;"}