{"version":3,"file":"validation.mjs","sources":["../../../src/domain/module/validation.ts"],"sourcesContent":["import { yup } from '@strapi/utils';\n\nconst strapiServerSchema = yup\n  .object()\n  .shape({\n    bootstrap: yup.mixed().isFunction(),\n    destroy: yup.mixed().isFunction(),\n    register: yup.mixed().isFunction(),\n    config: yup.object(),\n    routes: yup.lazy((value) => {\n      if (Array.isArray(value)) {\n        return yup.array();\n      }\n      return yup.object();\n    }),\n    controllers: yup.object(),\n    services: yup.object(),\n    policies: yup.object(),\n    middlewares: yup.object(),\n    contentTypes: yup.object(),\n  })\n  .noUnknown();\n\nconst validateModule = (data: unknown) => {\n  return strapiServerSchema.validateSync(data, { strict: true, abortEarly: false });\n};\n\nexport { validateModule };\n"],"names":["strapiServerSchema","yup","object","shape","bootstrap","mixed","isFunction","destroy","register","config","routes","lazy","value","Array","isArray","array","controllers","services","policies","middlewares","contentTypes","noUnknown","validateModule","data","validateSync","strict","abortEarly"],"mappings":";;AAEA,MAAMA,kBAAAA,GAAqBC,GAAAA,CACxBC,MAAM,EAAA,CACNC,KAAK,CAAC;IACLC,SAAAA,EAAWH,GAAAA,CAAII,KAAK,EAAA,CAAGC,UAAU,EAAA;IACjCC,OAAAA,EAASN,GAAAA,CAAII,KAAK,EAAA,CAAGC,UAAU,EAAA;IAC/BE,QAAAA,EAAUP,GAAAA,CAAII,KAAK,EAAA,CAAGC,UAAU,EAAA;AAChCG,IAAAA,MAAAA,EAAQR,IAAIC,MAAM,EAAA;IAClBQ,MAAAA,EAAQT,GAAAA,CAAIU,IAAI,CAAC,CAACC,KAAAA,GAAAA;QAChB,IAAIC,KAAAA,CAAMC,OAAO,CAACF,KAAAA,CAAAA,EAAQ;AACxB,YAAA,OAAOX,IAAIc,KAAK,EAAA;AAClB,QAAA;AACA,QAAA,OAAOd,IAAIC,MAAM,EAAA;AACnB,IAAA,CAAA,CAAA;AACAc,IAAAA,WAAAA,EAAaf,IAAIC,MAAM,EAAA;AACvBe,IAAAA,QAAAA,EAAUhB,IAAIC,MAAM,EAAA;AACpBgB,IAAAA,QAAAA,EAAUjB,IAAIC,MAAM,EAAA;AACpBiB,IAAAA,WAAAA,EAAalB,IAAIC,MAAM,EAAA;AACvBkB,IAAAA,YAAAA,EAAcnB,IAAIC,MAAM;AAC1B,CAAA,CAAA,CACCmB,SAAS,EAAA;AAEZ,MAAMC,iBAAiB,CAACC,IAAAA,GAAAA;IACtB,OAAOvB,kBAAAA,CAAmBwB,YAAY,CAACD,IAAAA,EAAM;QAAEE,MAAAA,EAAQ,IAAA;QAAMC,UAAAA,EAAY;AAAM,KAAA,CAAA;AACjF;;;;"}