{"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,IAAI,CAACF,OAAOG,MACXC,wBAAwBR,SAAS;eAC5BC;YACHQ,QAAQR,IAAIQ,OAAOC;YACnBN;YACAO,MAAM,GAAGV,IAAIU,QAAQJ;YACrBK,UAAU;YAGbC,MAAOC,KAAMA,IAChBb,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,MAAOC,KAAMA;;AAElB,EA1CD,CAAiBf,0BAAAA,wBAAqB,CAAA;;"}