{"version":3,"file":"validation.mjs","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,mBAAe;AAC1C,OAAO,EAAE,iCAAiC,EAAE,2BAAuB;AACnE,OAAO,EAAE,oBAAoB,EAAE,kCAA8B;AAC7D,OAAO,EAAE,kBAAkB,EAAE,oBAAgB;AAG7C;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAAuB;IAEvB,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAChC,iCAAiC,CAC/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,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;AACH,CAAC","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"]}