@samchon/openapi
Version:
OpenAPI definitions and converters for 'typia' and 'nestia'.
1 lines • 2.67 kB
Source Map (JSON)
{"version":3,"file":"OpenApiArrayValidator.mjs","sources":["../../../src/utils/internal/OpenApiArrayValidator.ts"],"sourcesContent":["import { OpenApi } from \"../../OpenApi\";\nimport { _isUniqueItems } from \"../../functional/_isUniqueItems\";\nimport { IOpenApiValidatorContext } from \"./IOpenApiValidatorContext\";\nimport { OpenApiStationValidator } from \"./OpenApiStationValidator\";\n\nexport namespace OpenApiArrayValidator {\n export const validate = (\n ctx: IOpenApiValidatorContext<OpenApi.IJsonSchema.IArray>,\n ): boolean => {\n if (Array.isArray(ctx.value) === false) return ctx.report(ctx);\n return [\n ctx.value\n .map((value, i) =>\n OpenApiStationValidator.validate({\n ...ctx,\n schema: ctx.schema.items,\n value,\n path: `${ctx.path}[${i}]`,\n required: true,\n }),\n )\n .every((v) => v),\n ctx.schema.minItems !== undefined\n ? ctx.value.length >= ctx.schema.minItems ||\n ctx.report({\n ...ctx,\n expected: `Array<> & MinItems<${ctx.schema.minItems}>`,\n })\n : true,\n ctx.schema.maxItems !== undefined\n ? ctx.value.length <= ctx.schema.maxItems ||\n ctx.report({\n ...ctx,\n expected: `Array<> & MaxItems<${ctx.schema.maxItems}>`,\n })\n : true,\n ctx.schema.uniqueItems !== undefined\n ? ctx.schema.uniqueItems\n ? _isUniqueItems(ctx.value) ||\n ctx.report({\n ...ctx,\n expected: `Array<> & UniqueItems`,\n })\n : true\n : true,\n ].every((v) => v);\n };\n}\n"],"names":["OpenApiArrayValidator","validate","ctx","Array","isArray","value","report","map","i","OpenApiStationValidator","schema","items","path","required","every","v","minItems","undefined","length","expected","maxItems","uniqueItems","_isUniqueItems"],"mappings":";;;;AAKM,IAAWA;;CAAjB,SAAiBA;IACFA,sBAAAC,WACXC;QAEA,IAAIC,MAAMC,QAAQF,IAAIG,WAAW,OAAO,OAAOH,IAAII,OAAOJ;QAC1D,OAAO,EACLA,IAAIG,MACDE,KAAI,CAACF,OAAOG,MACXC,wBAAwBR,SAAS;eAC5BC;YACHQ,QAAQR,IAAIQ,OAAOC;YACnBN;YACAO,MAAM,GAAGV,IAAIU,QAAQJ;YACrBK,UAAU;aAGbC,OAAOC,KAAMA,KAChBb,IAAIQ,OAAOM,aAAaC,YACpBf,IAAIG,MAAMa,UAAUhB,IAAIQ,OAAOM,YAC/Bd,IAAII,OAAO;eACNJ;YACHiB,UAAU,sBAAsBjB,IAAIQ,OAAOM;aAE7C,MACJd,IAAIQ,OAAOU,aAAaH,YACpBf,IAAIG,MAAMa,UAAUhB,IAAIQ,OAAOU,YAC/BlB,IAAII,OAAO;eACNJ;YACHiB,UAAU,sBAAsBjB,IAAIQ,OAAOU;aAE7C,MACJlB,IAAIQ,OAAOW,gBAAgBJ,YACvBf,IAAIQ,OAAOW,cACTC,eAAepB,IAAIG,UACnBH,IAAII,OAAO;eACNJ;YACHiB,UAAU;aAEZ,OACF,OACJL,OAAOC,KAAMA;AAAE;AAEpB,EA1CD,CAAiBf,0BAAAA,wBA0ChB,CAAA;;"}