import { checkRole, matchPermission } from './utils/permission'; export default function access(initialState: { currentUser: any } | undefined) { const { currentUser } = initialState ?? {}; const hasPerms = (perm: string) => { return matchPermission(initialState?.perms, perm); }; const roleFiler = (route: { authority: string[] }) => { return checkRole(initialState?.currentUser?.roles, route.authority); }; return { canAdmin: currentUser && currentUser.access === 'admin', hasPerms, roleFiler, }; }