All files / core/blong-browser/src/hooks usePermission.ts

88.88% Statements 8/9
83.33% Branches 5/6
100% Functions 2/2
100% Lines 5/5

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17                    34x 11x 11x 5x 3x    
/**
 * usePermission — check a single named permission.
 */
import {useAppStore} from '../state/appStore.js';
 
/**
 * Returns true if the current user has the given permission.
 * Also accepts a boolean override for testing.
 */
export function usePermission(permission: string | boolean | undefined | null): boolean {
    const permissions = useAppStore(s => s.auth.permissions);
    Iif (typeof permissions === 'boolean') return permissions;
    if (permission == null) return true;
    if (typeof permission === 'boolean') return permission;
    return permissions[permission] === true;
}