{"version":3,"file":"validation.cjs","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":";;;AAAA,qCAA0C;AAC1C,qDAAmE;AACnE,0DAA6D;AAC7D,uCAA6C;AAG7C;;;;;GAKG;AACI,KAAK,UAAU,mBAAmB,CACvC,KAAuB;IAEvB,IAAA,iCAAoB,EAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,IAAA,0BAAkB,EAAC,KAAK,CAAC,CAAC;IAChC,IAAA,gDAAiC,EAC/B,KAAK,CAAC,QAAQ,CAAC,MAAM,EACrB,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CACnD,CAAC;IAEF,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,IAAA,uBAAgB,EAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAbD,kDAaC","sourcesContent":["import { assertIsSnapIcon } from './icon';\nimport { validateSnapManifestLocalizations } from './localization';\nimport { assertIsSnapManifest } from './manifest/validation';\nimport { validateSnapShasum } from './snaps';\nimport type { FetchedSnapFiles } from './types';\n\n/**\n * Validates the files contained in a fetched snap.\n *\n * @param files - All potentially included files in a fetched snap.\n * @throws If any of the files are considered invalid.\n */\nexport async function validateFetchedSnap(\n  files: FetchedSnapFiles,\n): Promise<void> {\n  assertIsSnapManifest(files.manifest.result);\n  await validateSnapShasum(files);\n  validateSnapManifestLocalizations(\n    files.manifest.result,\n    files.localizationFiles.map((file) => file.result),\n  );\n\n  if (files.svgIcon) {\n    assertIsSnapIcon(files.svgIcon);\n  }\n}\n"]}