import { hasPerms } from "@/utils/auth"; import type { Directive, DirectiveBinding } from "vue"; export const perms: Directive = { mounted(el: HTMLElement, binding: DirectiveBinding>) { const { value } = binding; if (value) { !hasPerms(value) && el.parentNode?.removeChild(el); } else { throw new Error( "[Directive: perms]: need perms! Like v-perms=\"['btn.add','btn.edit']\"" ); } } };