Référence d'API — nodefony/roles
stable
Documentation › Référence d’API › nodefony › roles
Générée depuis les déclarations de types publiées de
nodefony10.0.0-beta.5 : exactement ce que reçoit une application qui l’installe. Cette page n’existe dans aucun dépôt — pour la corriger, on corrige le TSDoc du code.
nodefony/roles#
import { … } from "nodefony/roles" — 7 symboles.
Classes (2)#
RoleRegistry#
class RoleRegistry
Registre OPTIONNEL qui assigne un bit à chaque rôle d’un ENSEMBLE FIXE, pour des contrôles d’autorisation en masque (&/|) — O(1), sans allocation, adapté au hot path serveur (voters, pipeline sécurité) quand les rôles sont connus à l’avance.
define(...roles: Role[]): this— Déclare un ou plusieurs rôles et leur assigne un bit (idempotent : un rôle déjà connu conserve son bit).bit(role: Role): numbermask(roles: readonly Role[]): number— Compile une liste de rôles en masque (OR des bits).roles(mask: number): Role[]— Décode un masque en liste de rôles (ordre de déclaration).static hasAny(userMask: number, requiredMask: number): boolean— Test OR sur masques.static hasAll(userMask: number, requiredMask: number): boolean— Test AND sur masques.
RoleSet#
class RoleSet
Ensemble de rôles indexé pour des contrôles répétés en O(1).
constructor(roles?: Iterable<Role> | null)get size(): number— Nombre de rôles distincts.has(role: Role): booleanhasAny(roles: readonly Role[]): booleanhasAll(roles: readonly Role[]): booleantoArray(): Role[]— Copie triée des rôles (affichage / sérialisation déterministe).
Fonctions (3)#
hasAllRoles#
function hasAllRoles(userRoles: readonly Role[] | null, roles: readonly Role[]): boolean
Indique si l’utilisateur possède TOUS les roles (AND logique).
hasAnyRole#
function hasAnyRole(userRoles: readonly Role[] | null, roles: readonly Role[]): boolean
Indique si l’utilisateur possède AU MOINS UN des roles (OR logique).
hasRole#
function hasRole(userRoles: readonly Role[] | null, role: Role): boolean
Indique si l’utilisateur possède role.
Constantes (1)#
ROLE_MASK_CAPACITY#
const ROLE_MASK_CAPACITY = 31
Nombre maximum de rôles qu’un RoleRegistry peut indexer en masque number.
Types (1)#
Role#
type Role = string
Type d’un rôle Nodefony. Convention ROLE_* (alignée Symfony) — mais le mécanisme reste agnostique : n’importe quelle chaîne fait office de rôle.