@bemedev/permissions
Version:
A library for managing permissions
27 lines • 902 B
TypeScript
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