vue-nuxt-permission
Version:
A unified permission system for Vue 3 and Nuxt 3 / Nuxt 4 with directives, guards, and async support.
38 lines (37 loc) • 1.11 kB
JavaScript
import { defineNuxtPlugin as t, useRuntimeConfig as n } from "#app";
import { P as r } from "../plugin-BUIUV0Ey.js";
import "vue";
import "crypto-js";
/*! vue-nuxt-permission v2.2.1 | (c) 2026 Kerolos Zakaria | MIT License */
const u = t(async (o) => {
const e = n().public.permission;
if (!e) {
console.warn("[v-permission] No configuration found");
return;
}
let i;
typeof e.fetchPermissions == "string" ? i = async () => {
try {
const s = await fetch(e.fetchPermissions);
if (!s.ok)
throw new Error(`HTTP ${s.status}: ${s.statusText}`);
return await s.json();
} catch (s) {
return console.error("[v-permission] Failed to fetch permissions:", s), [];
}
} : typeof e.fetchPermissions == "function" && (i = e.fetchPermissions);
try {
o.vueApp.use(r, {
permissions: e.permissions,
developmentMode: e.developmentMode,
fetchPermissions: i,
persist: e.persist
});
} catch (s) {
console.error("[v-permission] Failed to install plugin:", s);
}
});
export {
u as default
};
//# sourceMappingURL=plugin.mjs.map