{"version":3,"file":"plugin.mjs","sources":["../../src/runtime/plugin.ts"],"sourcesContent":["// @ts-ignore\r\nimport { defineNuxtPlugin, useRuntimeConfig } from \"#app\";\r\n// @ts-ignore\r\nimport type { NuxtApp } from \"#app\";\r\nimport { PermissionPlugin } from \"../index\";\r\n\r\nexport default defineNuxtPlugin(async (nuxtApp: NuxtApp) => {\r\n  const cfg = useRuntimeConfig().public.permission as any;\r\n\r\n  if (!cfg) {\r\n    console.warn(\"[v-permission] No configuration found\");\r\n    return;\r\n  }\r\n\r\n  let fetchFn: (() => Promise<string[]>) | undefined;\r\n\r\n  if (typeof cfg.fetchPermissions === \"string\") {\r\n    fetchFn = async () => {\r\n      try {\r\n        const r = await fetch(cfg.fetchPermissions);\r\n        if (!r.ok) {\r\n          throw new Error(`HTTP ${r.status}: ${r.statusText}`);\r\n        }\r\n        return await r.json();\r\n      } catch (e) {\r\n        console.error(\"[v-permission] Failed to fetch permissions:\", e);\r\n        return [];\r\n      }\r\n    };\r\n  } else if (typeof cfg.fetchPermissions === \"function\") {\r\n    fetchFn = cfg.fetchPermissions;\r\n  }\r\n\r\n  try {\r\n    nuxtApp.vueApp.use(PermissionPlugin as any, {\r\n      permissions: cfg.permissions,\r\n      developmentMode: cfg.developmentMode,\r\n      fetchPermissions: fetchFn,\r\n      persist: cfg.persist,\r\n    });\r\n  } catch (e) {\r\n    console.error(\"[v-permission] Failed to install plugin:\", e);\r\n  }\r\n});\r\n"],"names":["plugin","defineNuxtPlugin","nuxtApp","cfg","useRuntimeConfig","fetchFn","r","e","PermissionPlugin"],"mappings":";;;;;AAMA,MAAAA,IAAeC,EAAiB,OAAOC,MAAqB;AAC1D,QAAMC,IAAMC,IAAmB,OAAO;AAEtC,MAAI,CAACD,GAAK;AACR,YAAQ,KAAK,uCAAuC;AACpD;AAAA,EACF;AAEA,MAAIE;AAEJ,EAAI,OAAOF,EAAI,oBAAqB,WAClCE,IAAU,YAAY;AACpB,QAAI;AACF,YAAMC,IAAI,MAAM,MAAMH,EAAI,gBAAgB;AAC1C,UAAI,CAACG,EAAE;AACL,cAAM,IAAI,MAAM,QAAQA,EAAE,MAAM,KAAKA,EAAE,UAAU,EAAE;AAErD,aAAO,MAAMA,EAAE,KAAA;AAAA,IACjB,SAASC,GAAG;AACV,qBAAQ,MAAM,+CAA+CA,CAAC,GACvD,CAAA;AAAA,IACT;AAAA,EACF,IACS,OAAOJ,EAAI,oBAAqB,eACzCE,IAAUF,EAAI;AAGhB,MAAI;AACF,IAAAD,EAAQ,OAAO,IAAIM,GAAyB;AAAA,MAC1C,aAAaL,EAAI;AAAA,MACjB,iBAAiBA,EAAI;AAAA,MACrB,kBAAkBE;AAAA,MAClB,SAASF,EAAI;AAAA,IAAA,CACd;AAAA,EACH,SAASI,GAAG;AACV,YAAQ,MAAM,4CAA4CA,CAAC;AAAA,EAC7D;AACF,CAAC;"}