@iamjs/core
Advanced tools
+1
-1
| export { AuthError, AuthManager, Role, Schema } from './lib'; | ||
| export type { Actions, AllKeys, AuthErrorCodes, AuthorizeConstructOptions, AuthorizeRoleOptions, BasePermissions, DefaultScope, GetRoleConfig, IAuthManager, IPermission, IRole, ISchema, InferPermissions, InferResources, IntersectionToUnion, MergePermissions, Resources, RoleAddResult, RoleRemoveResult, RoleUpdateResult, Roles, TAuthPermissions, TAuthResources, TAutorizeOptions, TRoleOptions, ToJSONResult, ToObjectResult, TransformedRole, addOptions, permission, permissions, removeOptions, updateOptions } from './lib'; | ||
| export type { Actions, AllKeys, AuthErrorCodes, AuthorizeConstructOptions, AuthorizeRoleOptions, BasePermissions, DefaultScope, GetRoleConfig, IAuthManager, IPermission, IRole, InferPermissions, InferResources, IntersectionToUnion, MergePermissions, Resources, RoleAddResult, RoleRemoveResult, RoleUpdateResult, Roles, TAuthPermissions, TAuthResources, TAutorizeOptions, TRoleOptions, ToJSONResult, ToObjectResult, TransformedRole, addOptions, permission, permissions, removeOptions, updateOptions } from './lib'; |
@@ -1,2 +0,3 @@ | ||
| import { IAuthManager, ISchema, Roles, TAutorizeOptions } from '../types'; | ||
| import { IAuthManager, Roles, TAutorizeOptions } from '../types'; | ||
| import Schema from './schema'; | ||
| /** | ||
@@ -6,4 +7,4 @@ * The `AuthManager` class | ||
| declare class AuthManager<T extends Roles<T>> implements IAuthManager<T> { | ||
| schema: ISchema<T>; | ||
| constructor(schema: ISchema<T>); | ||
| schema: Schema<T>; | ||
| constructor(schema: Schema<T>); | ||
| private _verifyPermissionsLoose; | ||
@@ -10,0 +11,0 @@ private _verifyPermissionsStrict; |
@@ -5,3 +5,3 @@ import AuthManager from './auth'; | ||
| import Schema from './schema'; | ||
| export type { Actions, AllKeys, AuthErrorCodes, AuthorizeConstructOptions, AuthorizeRoleOptions, BasePermissions, DefaultScope, GetRoleConfig, IAuthManager, IPermission, IRole, ISchema, InferPermissions, InferResources, IntersectionToUnion, MergePermissions, Resources, RoleAddResult, RoleRemoveResult, RoleUpdateResult, Roles, TAuthPermissions, TAuthResources, TAutorizeOptions, TRoleOptions, TSchemaOptions, ToJSONResult, ToObjectResult, TransformedRole, addOptions, permission, permissions, removeOptions, updateOptions } from '../types'; | ||
| export type { Actions, AllKeys, AuthErrorCodes, AuthorizeConstructOptions, AuthorizeRoleOptions, BasePermissions, DefaultScope, GetRoleConfig, IAuthManager, IPermission, IRole, InferPermissions, InferResources, IntersectionToUnion, MergePermissions, Resources, RoleAddResult, RoleRemoveResult, RoleUpdateResult, Roles, TAuthPermissions, TAuthResources, TAutorizeOptions, TRoleOptions, TSchemaOptions, ToJSONResult, ToObjectResult, TransformedRole, addOptions, permission, permissions, removeOptions, updateOptions } from '../types'; | ||
| export { AuthError, AuthManager, Role, Schema }; |
@@ -1,2 +0,2 @@ | ||
| import { GetRoleConfig, ISchema, MergePermissions, TSchemaOptions } from '../types'; | ||
| import { GetRoleConfig, MergePermissions, TSchemaOptions } from '../types'; | ||
| import Role from './role'; | ||
@@ -8,3 +8,3 @@ /** | ||
| [K in keyof T]: T[K] extends Role<infer U> ? Role<U> : never; | ||
| }> implements ISchema<T> { | ||
| }> { | ||
| options: TSchemaOptions<T>; | ||
@@ -11,0 +11,0 @@ constructor(options: TSchemaOptions<T>); |
@@ -1,2 +0,2 @@ | ||
| import { Role } from '../lib'; | ||
| import { Role, Schema } from '../lib'; | ||
| import { ConcatStrings, IntersectionToUnion, MergeObjects } from './utils.types'; | ||
@@ -254,32 +254,2 @@ /** | ||
| type Actions<T extends Roles<T>> = Array<keyof IntersectionToUnion<MergePermissions<T>[keyof MergePermissions<T>]>> | keyof IntersectionToUnion<MergePermissions<T>[keyof MergePermissions<T>]> | (string & {}) | (string & {})[]; | ||
| interface ISchema<T extends Roles<T>> { | ||
| roles: { | ||
| [K in keyof T]: T[K] extends Role<infer U> ? Role<U> : never; | ||
| }; | ||
| /** | ||
| * Returns the role with the given name | ||
| * @param name | ||
| */ | ||
| getRole<K extends keyof T>(name: K): T[K]; | ||
| /** | ||
| * Returns all resources in the schema | ||
| */ | ||
| getResources(): Record<keyof MergePermissions<T>, keyof MergePermissions<T>>; | ||
| /** | ||
| * Get all resources in the schema | ||
| */ | ||
| toJSON<K extends keyof T>(role: K): string; | ||
| toJSON<K extends keyof T, R>(role: K, transform: (data: string) => R): R; | ||
| toJSON<K extends keyof T, R>(role: K, transform?: (data: string) => R): string | R; | ||
| /** | ||
| * Convert a role into an object, optionally transform the result | ||
| */ | ||
| toObject<K extends keyof T>(role: K): GetRoleConfig<T[K]>; | ||
| toObject<K extends keyof T, R>(role: K, transform: (data: GetRoleConfig<T[K]>) => R): R; | ||
| toObject<K extends keyof T, R>(role: K, transform?: (data: GetRoleConfig<T[K]>) => R): GetRoleConfig<T[K]> | R; | ||
| /** | ||
| * Check if a role exists in the schema | ||
| */ | ||
| exists(role: keyof T | (string & {})): boolean; | ||
| } | ||
| /** | ||
@@ -299,3 +269,3 @@ * The options for the `Schema` class | ||
| */ | ||
| schema: ISchema<T>; | ||
| schema: Schema<T>; | ||
| /** | ||
@@ -360,2 +330,2 @@ * This method is used to check the permissions of a role on a resource | ||
| }>; | ||
| export type { AllKeys, AuthErrorCodes, AuthorizeConstructOptions, AuthorizeRoleOptions, DefaultScope, IAuthManager, IPermission, IRole, ISchema, InferPermissions, InferResources, IntersectionToUnion, MergePermissions, RoleAddResult, RoleRemoveResult, RoleUpdateResult, Roles, TAuthPermissions, TAuthResources, TAutorizeOptions, TRoleOptions, ToJSONResult, ToObjectResult, addOptions, permission, permissions, removeOptions, BasePermissions, updateOptions, Resources, Actions, TSchemaOptions, TransformedRole, GetRoleConfig }; | ||
| export type { AllKeys, AuthErrorCodes, AuthorizeConstructOptions, AuthorizeRoleOptions, DefaultScope, IAuthManager, IPermission, IRole, InferPermissions, InferResources, IntersectionToUnion, MergePermissions, RoleAddResult, RoleRemoveResult, RoleUpdateResult, Roles, TAuthPermissions, TAuthResources, TAutorizeOptions, TRoleOptions, ToJSONResult, ToObjectResult, addOptions, permission, permissions, removeOptions, BasePermissions, updateOptions, Resources, Actions, TSchemaOptions, TransformedRole, GetRoleConfig }; |
+2
-2
| { | ||
| "name": "@iamjs/core", | ||
| "version": "2.0.12", | ||
| "version": "2.0.13", | ||
| "description": "This package contains the core logic and interfaces for the authorization library with End-to-end typesafety", | ||
@@ -53,3 +53,3 @@ "repository": "https://github.com/triyanox/iamjs", | ||
| }, | ||
| "gitHead": "b03139b2de5a0d303122a0f8d243c4c0b8eec3f0" | ||
| "gitHead": "b83105dd9180ae853e68d16f95f64515e8cc3f34" | ||
| } |
56299
-2.03%930
-3.02%