UNPKG

@bemedev/permissions

Version:

A library for managing permissions

27 lines 902 B
import type { MapS, ObjectS, PartialCustom, TransformO } from '@bemedev/types/lib/transform/types.types'; import type { Roles, Strategy } from './types'; type RessourcesS = Record<string, { dataType: ObjectS; actions: string[]; __strategy?: Strategy; }>; type TransformRessources<T extends RessourcesS> = { [K in keyof T]: { dataType: TransformO<T[K]['dataType']>; actions: T[K]['actions']; __strategy?: unknown extends T[K]['__strategy'] ? undefined : T[K]['__strategy']; }; }; type Args = { ressources: RessourcesS; user: MapS | PartialCustom; roles: Roles; }; type TransformArgs<T extends Args> = { ressources: TransformRessources<T['ressources']>; user: TransformO<T['user']>; roles: T['roles']; }; export declare const typings: <const T extends Args>(args: T) => TransformArgs<T>; export {}; //# sourceMappingURL=typings.d.ts.map