UNPKG

vue-nuxt-permission

Version:

A unified permission system for Vue 3 and Nuxt 3 / Nuxt 4 with directives, guards, and async support.

1 lines 2.23 kB
{"version":3,"file":"plugin.cjs","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":"uLAMA,MAAAA,EAAeC,EAAAA,iBAAiB,MAAOC,GAAqB,CAC1D,MAAMC,EAAMC,EAAAA,mBAAmB,OAAO,WAEtC,GAAI,CAACD,EAAK,CACR,QAAQ,KAAK,uCAAuC,EACpD,MACF,CAEA,IAAIE,EAEA,OAAOF,EAAI,kBAAqB,SAClCE,EAAU,SAAY,CACpB,GAAI,CACF,MAAMC,EAAI,MAAM,MAAMH,EAAI,gBAAgB,EAC1C,GAAI,CAACG,EAAE,GACL,MAAM,IAAI,MAAM,QAAQA,EAAE,MAAM,KAAKA,EAAE,UAAU,EAAE,EAErD,OAAO,MAAMA,EAAE,KAAA,CACjB,OAASC,EAAG,CACV,eAAQ,MAAM,8CAA+CA,CAAC,EACvD,CAAA,CACT,CACF,EACS,OAAOJ,EAAI,kBAAqB,aACzCE,EAAUF,EAAI,kBAGhB,GAAI,CACFD,EAAQ,OAAO,IAAIM,mBAAyB,CAC1C,YAAaL,EAAI,YACjB,gBAAiBA,EAAI,gBACrB,iBAAkBE,EAClB,QAASF,EAAI,OAAA,CACd,CACH,OAASI,EAAG,CACV,QAAQ,MAAM,2CAA4CA,CAAC,CAC7D,CACF,CAAC"}