@xlt-token/nestjs 1.0.0-rc.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,233 @@
1
+ import * as _nestjs_common0 from "@nestjs/common";
2
+ import { CanActivate, ExecutionContext, ForbiddenException, ModuleMetadata, Provider, UnauthorizedException } from "@nestjs/common";
3
+ import * as _xlt_token_core0 from "@xlt-token/core";
4
+ import { AuthResult, CreateOptions, DEFAULT_XLT_TOKEN_CONFIG, DeviceInfo, HttpContext, MemoryStore, NotLoginType, NotLoginType as NotLoginType$1, StpInterface, StpInterface as StpInterface$1, StpLogic, StpLogic as StpLogic$1, StpPermLogic, StpPermLogic as StpPermLogic$1, StpUtil, TokenStrategy, TokenStrategy as TokenStrategy$1, UuidStrategy, XLT_STP_INTERFACE, XLT_TOKEN_CONFIG, XLT_TOKEN_HOOKS, XLT_TOKEN_STORE, XLT_TOKEN_STRATEGY, XltHooks, XltHooks as XltHooks$1, XltMode, XltMode as XltMode$1, XltSession, XltTokenConfig, XltTokenConfig as XltTokenConfig$1, XltTokenContext, XltTokenStore, XltTokenStore as XltTokenStore$1, createExpressContext, createMockHttpContext, createXltToken, matchPermission, setStpLogic, setStpPermLogic } from "@xlt-token/core";
5
+ import { JwtPayload } from "jsonwebtoken";
6
+ import { Reflector } from "@nestjs/core";
7
+
8
+ //#region src/xlt-token.module.d.ts
9
+ interface XltTokenModuleOptions {
10
+ config?: Partial<XltTokenConfig$1>;
11
+ store?: {
12
+ useClass: new (...args: any[]) => XltTokenStore$1;
13
+ } | {
14
+ useValue: XltTokenStore$1;
15
+ };
16
+ strategy?: {
17
+ useClass: new (...args: any[]) => TokenStrategy$1;
18
+ };
19
+ isGlobal?: boolean;
20
+ providers?: Provider[];
21
+ stpInterface?: new (...args: any[]) => StpInterface$1;
22
+ hooks?: XltHooks$1;
23
+ }
24
+ interface XltTokenModuleAsyncOptions extends Pick<ModuleMetadata, 'imports'> {
25
+ useFactory: (...args: any[]) => Promise<XltTokenModuleOptions> | XltTokenModuleOptions;
26
+ inject?: any[];
27
+ store?: {
28
+ useClass: new (...args: any[]) => XltTokenStore$1;
29
+ } | {
30
+ useValue: XltTokenStore$1;
31
+ };
32
+ strategy?: {
33
+ useClass: new (...args: any[]) => TokenStrategy$1;
34
+ };
35
+ isGlobal?: boolean;
36
+ providers?: Provider[];
37
+ stpInterface?: new (...args: any[]) => StpInterface$1;
38
+ hooks?: XltHooks$1;
39
+ }
40
+ declare class XltTokenModule {
41
+ private static createStoreProvider;
42
+ private static createStrategyProvider;
43
+ private static createStpInterfaceProvider;
44
+ private static createHooksProvider;
45
+ private static readonly stpLogicProvider;
46
+ private static readonly stpPermLogicProvider;
47
+ private static readonly initProvider;
48
+ private static readonly moduleExports;
49
+ static forRoot(options?: XltTokenModuleOptions): {
50
+ module: typeof XltTokenModule;
51
+ providers: Provider[];
52
+ exports: (string | typeof StpLogic$1 | typeof StpPermLogic$1)[];
53
+ global: boolean;
54
+ };
55
+ static forRootAsync(options: XltTokenModuleAsyncOptions): {
56
+ module: typeof XltTokenModule;
57
+ imports: (_nestjs_common0.Type<any> | _nestjs_common0.DynamicModule | Promise<_nestjs_common0.DynamicModule> | _nestjs_common0.ForwardReference<any>)[];
58
+ providers: (_nestjs_common0.Type<any> | _nestjs_common0.ClassProvider<any> | _nestjs_common0.ValueProvider<any> | _nestjs_common0.FactoryProvider<any> | _nestjs_common0.ExistingProvider<any> | {
59
+ provide: string;
60
+ useFactory: (...args: any[]) => Promise<{
61
+ tokenName: string;
62
+ timeout: number;
63
+ activeTimeout: number;
64
+ isConcurrent: boolean;
65
+ isShare: boolean;
66
+ tokenStyle: "uuid" | "simple-uuid" | "random-32";
67
+ isReadHeader: boolean;
68
+ isReadCookie: boolean;
69
+ isReadQuery: boolean;
70
+ tokenPrefix: string;
71
+ defaultCheck: boolean;
72
+ permCacheTimeout?: number;
73
+ offlineRecordEnabled?: boolean;
74
+ offlineRecordTimeout?: number;
75
+ deviceConcurrent?: boolean;
76
+ jwt?: _xlt_token_core0.JwtConfig;
77
+ }>;
78
+ inject: any[];
79
+ })[];
80
+ exports: (string | typeof StpLogic$1 | typeof StpPermLogic$1)[];
81
+ global: boolean;
82
+ };
83
+ }
84
+ //#endregion
85
+ //#region src/store/redis-store.d.ts
86
+ declare const XLT_REDIS_CLIENT = "XLT_REDIS_CLIENT";
87
+ declare class RedisStore implements XltTokenStore$1 {
88
+ private readonly redisClient;
89
+ constructor(redisClient: any);
90
+ get(key: string): Promise<string | null>;
91
+ set(key: string, value: string, timeoutSec: number): Promise<void>;
92
+ delete(key: string): Promise<void>;
93
+ update(key: string, value: string): Promise<void>;
94
+ has(key: string): Promise<boolean>;
95
+ updateTimeout(key: string, timeoutSec: number): Promise<void>;
96
+ getTimeout(key: string): Promise<number>;
97
+ keys(pattern: string): Promise<string[]>;
98
+ }
99
+ //#endregion
100
+ //#region src/token/jwt-strategy.d.ts
101
+ declare class JwtStrategy implements TokenStrategy$1 {
102
+ private readonly config;
103
+ constructor(config: XltTokenConfig$1);
104
+ createToken(loginId: string, config: XltTokenConfig$1): string;
105
+ generateToken(payload: any): string;
106
+ verifyToken(token: string): JwtPayload & {
107
+ sub: string;
108
+ jti: string;
109
+ };
110
+ }
111
+ //#endregion
112
+ //#region src/decorators/xlt-check-login.decorator.d.ts
113
+ /**
114
+ * 登录校验装饰器
115
+ * @constructor
116
+ */
117
+ declare const XltCheckLogin: () => _nestjs_common0.CustomDecorator<string>;
118
+ //#endregion
119
+ //#region src/decorators/xlt-ignore.decorator.d.ts
120
+ declare const XltIgnore: () => _nestjs_common0.CustomDecorator<string>;
121
+ //#endregion
122
+ //#region src/decorators/login-id.decorator.d.ts
123
+ /**
124
+ * 注入当前用户 ID
125
+ * @constructor
126
+ */
127
+ declare const LoginId: (...dataOrPipes: unknown[]) => ParameterDecorator;
128
+ //#endregion
129
+ //#region src/decorators/token-value.decorator.d.ts
130
+ /**
131
+ * 注入当前 Token
132
+ * @constructor
133
+ */
134
+ declare const TokenValue: (...dataOrPipes: any[]) => ParameterDecorator;
135
+ //#endregion
136
+ //#region src/decorators/xlt-check-permission.decorator.d.ts
137
+ /**
138
+ * 权限检查装饰器
139
+ * @param {string | string[]} permissions 权限列表
140
+ * @param {Object} [options] 模式选项
141
+ * @param {XltMode} [options.mode] 模式选项
142
+ * @constructor
143
+ */
144
+ declare const XltCheckPermission: (permissions: string | string[], options?: {
145
+ mode: XltMode$1;
146
+ }) => _nestjs_common0.CustomDecorator<string>;
147
+ //#endregion
148
+ //#region src/decorators/xlt-check-role.decorator.d.ts
149
+ /**
150
+ * 角色检查装饰器
151
+ * @param {string | string[]} roles 角色列表
152
+ * @param {Object} [options] 模式选项
153
+ * @param {XltMode} [options.mode] 模式选项
154
+ * @constructor
155
+ */
156
+ declare const XltCheckRole: (roles: string | string[], options?: {
157
+ mode: XltMode$1;
158
+ }) => _nestjs_common0.CustomDecorator<string>;
159
+ //#endregion
160
+ //#region src/decorators/xlt-check-safe.decorator.d.ts
161
+ declare const XLT_CHECK_SAFE_KEY = "XLT_CHECK_SAFE";
162
+ declare const XltCheckSafe: (business: string) => _nestjs_common0.CustomDecorator<string>;
163
+ //#endregion
164
+ //#region src/guards/xlt-token.guard.d.ts
165
+ declare class XltTokenGuard implements CanActivate {
166
+ private readonly reflector;
167
+ private readonly config;
168
+ private readonly stpLogic;
169
+ private readonly stpPermLogic?;
170
+ constructor(reflector: Reflector, config: XltTokenConfig$1, stpLogic: StpLogic$1, stpPermLogic?: StpPermLogic$1 | undefined);
171
+ canActivate(context: ExecutionContext): Promise<boolean>;
172
+ private requiresLogin;
173
+ private getBusiness;
174
+ }
175
+ //#endregion
176
+ //#region src/guards/xlt-abstract-login.guard.d.ts
177
+ declare abstract class XltAbstractLoginGuard implements CanActivate {
178
+ protected readonly reflector: Reflector;
179
+ protected readonly config: XltTokenConfig$1;
180
+ protected readonly stpLogic: StpLogic$1;
181
+ protected constructor(reflector: Reflector, config: XltTokenConfig$1, stpLogic: StpLogic$1);
182
+ canActivate(ctx: ExecutionContext): Promise<boolean>;
183
+ protected requiresLogin(ctx: ExecutionContext): boolean;
184
+ protected onAuthSuccess?(result: {
185
+ ok: boolean;
186
+ loginId?: string | undefined;
187
+ token?: string | undefined;
188
+ reason?: NotLoginType$1 | undefined;
189
+ }, request: any): void | Promise<void>;
190
+ protected onAuthFail?(result: {
191
+ ok: boolean;
192
+ loginId?: string | undefined;
193
+ token?: string | undefined;
194
+ reason?: NotLoginType$1 | undefined;
195
+ }, request: any): void | Promise<void>;
196
+ protected onPermissionDenied?(result: {
197
+ ok: boolean;
198
+ loginId?: string | undefined;
199
+ token?: string | undefined;
200
+ reason?: NotLoginType$1 | undefined;
201
+ }, request: any): void | Promise<void>;
202
+ }
203
+ //#endregion
204
+ //#region src/exceptions/not-login.exception.d.ts
205
+ declare class NotLoginException extends UnauthorizedException {
206
+ readonly type: NotLoginType$1;
207
+ readonly token: string | undefined;
208
+ constructor(type: NotLoginType$1, token?: string);
209
+ private static describeType;
210
+ }
211
+ //#endregion
212
+ //#region src/exceptions/not-permission.exception.d.ts
213
+ declare class NotPermissionException extends ForbiddenException {
214
+ readonly permission: string | string[];
215
+ readonly mode: XltMode$1;
216
+ constructor(permission: string | string[], mode: XltMode$1);
217
+ }
218
+ //#endregion
219
+ //#region src/exceptions/not-role.exception.d.ts
220
+ declare class NotRoleException extends ForbiddenException {
221
+ readonly role: string | string[];
222
+ readonly mode: XltMode$1;
223
+ constructor(role: string | string[], mode: XltMode$1);
224
+ }
225
+ //#endregion
226
+ //#region src/exceptions/not-safe.exception.d.ts
227
+ declare class NotSafeException extends ForbiddenException {
228
+ readonly business: string;
229
+ constructor(business: string);
230
+ }
231
+ //#endregion
232
+ export { type AuthResult, type CreateOptions, DEFAULT_XLT_TOKEN_CONFIG, type DeviceInfo, type HttpContext, JwtStrategy, LoginId, MemoryStore, NotLoginException, NotLoginType, NotPermissionException, NotRoleException, NotSafeException, RedisStore, type StpInterface, StpLogic, StpPermLogic, StpUtil, type TokenStrategy, TokenValue, UuidStrategy, XLT_CHECK_SAFE_KEY, XLT_REDIS_CLIENT, XLT_STP_INTERFACE, XLT_TOKEN_CONFIG, XLT_TOKEN_HOOKS, XLT_TOKEN_STORE, XLT_TOKEN_STRATEGY, XltAbstractLoginGuard, XltCheckLogin, XltCheckPermission, XltCheckRole, XltCheckSafe, type XltHooks, XltIgnore, XltMode, XltSession, type XltTokenConfig, type XltTokenContext, XltTokenGuard, XltTokenModule, type XltTokenModuleAsyncOptions, type XltTokenModuleOptions, type XltTokenStore, createExpressContext, createMockHttpContext, createXltToken, matchPermission, setStpLogic, setStpPermLogic };
233
+ //# sourceMappingURL=index.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/xlt-token.module.ts","../src/store/redis-store.ts","../src/token/jwt-strategy.ts","../src/decorators/xlt-check-login.decorator.ts","../src/decorators/xlt-ignore.decorator.ts","../src/decorators/login-id.decorator.ts","../src/decorators/token-value.decorator.ts","../src/decorators/xlt-check-permission.decorator.ts","../src/decorators/xlt-check-role.decorator.ts","../src/decorators/xlt-check-safe.decorator.ts","../src/guards/xlt-token.guard.ts","../src/guards/xlt-abstract-login.guard.ts","../src/exceptions/not-login.exception.ts","../src/exceptions/not-permission.exception.ts","../src/exceptions/not-role.exception.ts","../src/exceptions/not-safe.exception.ts"],"mappings":"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"}
@@ -0,0 +1,233 @@
1
+ import * as _nestjs_common0 from "@nestjs/common";
2
+ import { CanActivate, ExecutionContext, ForbiddenException, ModuleMetadata, Provider, UnauthorizedException } from "@nestjs/common";
3
+ import * as _xlt_token_core0 from "@xlt-token/core";
4
+ import { AuthResult, CreateOptions, DEFAULT_XLT_TOKEN_CONFIG, DeviceInfo, HttpContext, MemoryStore, NotLoginType, NotLoginType as NotLoginType$1, StpInterface, StpInterface as StpInterface$1, StpLogic, StpLogic as StpLogic$1, StpPermLogic, StpPermLogic as StpPermLogic$1, StpUtil, TokenStrategy, TokenStrategy as TokenStrategy$1, UuidStrategy, XLT_STP_INTERFACE, XLT_TOKEN_CONFIG, XLT_TOKEN_HOOKS, XLT_TOKEN_STORE, XLT_TOKEN_STRATEGY, XltHooks, XltHooks as XltHooks$1, XltMode, XltMode as XltMode$1, XltSession, XltTokenConfig, XltTokenConfig as XltTokenConfig$1, XltTokenContext, XltTokenStore, XltTokenStore as XltTokenStore$1, createExpressContext, createMockHttpContext, createXltToken, matchPermission, setStpLogic, setStpPermLogic } from "@xlt-token/core";
5
+ import { JwtPayload } from "jsonwebtoken";
6
+ import { Reflector } from "@nestjs/core";
7
+
8
+ //#region src/xlt-token.module.d.ts
9
+ interface XltTokenModuleOptions {
10
+ config?: Partial<XltTokenConfig$1>;
11
+ store?: {
12
+ useClass: new (...args: any[]) => XltTokenStore$1;
13
+ } | {
14
+ useValue: XltTokenStore$1;
15
+ };
16
+ strategy?: {
17
+ useClass: new (...args: any[]) => TokenStrategy$1;
18
+ };
19
+ isGlobal?: boolean;
20
+ providers?: Provider[];
21
+ stpInterface?: new (...args: any[]) => StpInterface$1;
22
+ hooks?: XltHooks$1;
23
+ }
24
+ interface XltTokenModuleAsyncOptions extends Pick<ModuleMetadata, 'imports'> {
25
+ useFactory: (...args: any[]) => Promise<XltTokenModuleOptions> | XltTokenModuleOptions;
26
+ inject?: any[];
27
+ store?: {
28
+ useClass: new (...args: any[]) => XltTokenStore$1;
29
+ } | {
30
+ useValue: XltTokenStore$1;
31
+ };
32
+ strategy?: {
33
+ useClass: new (...args: any[]) => TokenStrategy$1;
34
+ };
35
+ isGlobal?: boolean;
36
+ providers?: Provider[];
37
+ stpInterface?: new (...args: any[]) => StpInterface$1;
38
+ hooks?: XltHooks$1;
39
+ }
40
+ declare class XltTokenModule {
41
+ private static createStoreProvider;
42
+ private static createStrategyProvider;
43
+ private static createStpInterfaceProvider;
44
+ private static createHooksProvider;
45
+ private static readonly stpLogicProvider;
46
+ private static readonly stpPermLogicProvider;
47
+ private static readonly initProvider;
48
+ private static readonly moduleExports;
49
+ static forRoot(options?: XltTokenModuleOptions): {
50
+ module: typeof XltTokenModule;
51
+ providers: Provider[];
52
+ exports: (string | typeof StpLogic$1 | typeof StpPermLogic$1)[];
53
+ global: boolean;
54
+ };
55
+ static forRootAsync(options: XltTokenModuleAsyncOptions): {
56
+ module: typeof XltTokenModule;
57
+ imports: (_nestjs_common0.Type<any> | _nestjs_common0.DynamicModule | Promise<_nestjs_common0.DynamicModule> | _nestjs_common0.ForwardReference<any>)[];
58
+ providers: (_nestjs_common0.Type<any> | _nestjs_common0.ClassProvider<any> | _nestjs_common0.ValueProvider<any> | _nestjs_common0.FactoryProvider<any> | _nestjs_common0.ExistingProvider<any> | {
59
+ provide: string;
60
+ useFactory: (...args: any[]) => Promise<{
61
+ tokenName: string;
62
+ timeout: number;
63
+ activeTimeout: number;
64
+ isConcurrent: boolean;
65
+ isShare: boolean;
66
+ tokenStyle: "uuid" | "simple-uuid" | "random-32";
67
+ isReadHeader: boolean;
68
+ isReadCookie: boolean;
69
+ isReadQuery: boolean;
70
+ tokenPrefix: string;
71
+ defaultCheck: boolean;
72
+ permCacheTimeout?: number;
73
+ offlineRecordEnabled?: boolean;
74
+ offlineRecordTimeout?: number;
75
+ deviceConcurrent?: boolean;
76
+ jwt?: _xlt_token_core0.JwtConfig;
77
+ }>;
78
+ inject: any[];
79
+ })[];
80
+ exports: (string | typeof StpLogic$1 | typeof StpPermLogic$1)[];
81
+ global: boolean;
82
+ };
83
+ }
84
+ //#endregion
85
+ //#region src/store/redis-store.d.ts
86
+ declare const XLT_REDIS_CLIENT = "XLT_REDIS_CLIENT";
87
+ declare class RedisStore implements XltTokenStore$1 {
88
+ private readonly redisClient;
89
+ constructor(redisClient: any);
90
+ get(key: string): Promise<string | null>;
91
+ set(key: string, value: string, timeoutSec: number): Promise<void>;
92
+ delete(key: string): Promise<void>;
93
+ update(key: string, value: string): Promise<void>;
94
+ has(key: string): Promise<boolean>;
95
+ updateTimeout(key: string, timeoutSec: number): Promise<void>;
96
+ getTimeout(key: string): Promise<number>;
97
+ keys(pattern: string): Promise<string[]>;
98
+ }
99
+ //#endregion
100
+ //#region src/token/jwt-strategy.d.ts
101
+ declare class JwtStrategy implements TokenStrategy$1 {
102
+ private readonly config;
103
+ constructor(config: XltTokenConfig$1);
104
+ createToken(loginId: string, config: XltTokenConfig$1): string;
105
+ generateToken(payload: any): string;
106
+ verifyToken(token: string): JwtPayload & {
107
+ sub: string;
108
+ jti: string;
109
+ };
110
+ }
111
+ //#endregion
112
+ //#region src/decorators/xlt-check-login.decorator.d.ts
113
+ /**
114
+ * 登录校验装饰器
115
+ * @constructor
116
+ */
117
+ declare const XltCheckLogin: () => _nestjs_common0.CustomDecorator<string>;
118
+ //#endregion
119
+ //#region src/decorators/xlt-ignore.decorator.d.ts
120
+ declare const XltIgnore: () => _nestjs_common0.CustomDecorator<string>;
121
+ //#endregion
122
+ //#region src/decorators/login-id.decorator.d.ts
123
+ /**
124
+ * 注入当前用户 ID
125
+ * @constructor
126
+ */
127
+ declare const LoginId: (...dataOrPipes: unknown[]) => ParameterDecorator;
128
+ //#endregion
129
+ //#region src/decorators/token-value.decorator.d.ts
130
+ /**
131
+ * 注入当前 Token
132
+ * @constructor
133
+ */
134
+ declare const TokenValue: (...dataOrPipes: any[]) => ParameterDecorator;
135
+ //#endregion
136
+ //#region src/decorators/xlt-check-permission.decorator.d.ts
137
+ /**
138
+ * 权限检查装饰器
139
+ * @param {string | string[]} permissions 权限列表
140
+ * @param {Object} [options] 模式选项
141
+ * @param {XltMode} [options.mode] 模式选项
142
+ * @constructor
143
+ */
144
+ declare const XltCheckPermission: (permissions: string | string[], options?: {
145
+ mode: XltMode$1;
146
+ }) => _nestjs_common0.CustomDecorator<string>;
147
+ //#endregion
148
+ //#region src/decorators/xlt-check-role.decorator.d.ts
149
+ /**
150
+ * 角色检查装饰器
151
+ * @param {string | string[]} roles 角色列表
152
+ * @param {Object} [options] 模式选项
153
+ * @param {XltMode} [options.mode] 模式选项
154
+ * @constructor
155
+ */
156
+ declare const XltCheckRole: (roles: string | string[], options?: {
157
+ mode: XltMode$1;
158
+ }) => _nestjs_common0.CustomDecorator<string>;
159
+ //#endregion
160
+ //#region src/decorators/xlt-check-safe.decorator.d.ts
161
+ declare const XLT_CHECK_SAFE_KEY = "XLT_CHECK_SAFE";
162
+ declare const XltCheckSafe: (business: string) => _nestjs_common0.CustomDecorator<string>;
163
+ //#endregion
164
+ //#region src/guards/xlt-token.guard.d.ts
165
+ declare class XltTokenGuard implements CanActivate {
166
+ private readonly reflector;
167
+ private readonly config;
168
+ private readonly stpLogic;
169
+ private readonly stpPermLogic?;
170
+ constructor(reflector: Reflector, config: XltTokenConfig$1, stpLogic: StpLogic$1, stpPermLogic?: StpPermLogic$1 | undefined);
171
+ canActivate(context: ExecutionContext): Promise<boolean>;
172
+ private requiresLogin;
173
+ private getBusiness;
174
+ }
175
+ //#endregion
176
+ //#region src/guards/xlt-abstract-login.guard.d.ts
177
+ declare abstract class XltAbstractLoginGuard implements CanActivate {
178
+ protected readonly reflector: Reflector;
179
+ protected readonly config: XltTokenConfig$1;
180
+ protected readonly stpLogic: StpLogic$1;
181
+ protected constructor(reflector: Reflector, config: XltTokenConfig$1, stpLogic: StpLogic$1);
182
+ canActivate(ctx: ExecutionContext): Promise<boolean>;
183
+ protected requiresLogin(ctx: ExecutionContext): boolean;
184
+ protected onAuthSuccess?(result: {
185
+ ok: boolean;
186
+ loginId?: string | undefined;
187
+ token?: string | undefined;
188
+ reason?: NotLoginType$1 | undefined;
189
+ }, request: any): void | Promise<void>;
190
+ protected onAuthFail?(result: {
191
+ ok: boolean;
192
+ loginId?: string | undefined;
193
+ token?: string | undefined;
194
+ reason?: NotLoginType$1 | undefined;
195
+ }, request: any): void | Promise<void>;
196
+ protected onPermissionDenied?(result: {
197
+ ok: boolean;
198
+ loginId?: string | undefined;
199
+ token?: string | undefined;
200
+ reason?: NotLoginType$1 | undefined;
201
+ }, request: any): void | Promise<void>;
202
+ }
203
+ //#endregion
204
+ //#region src/exceptions/not-login.exception.d.ts
205
+ declare class NotLoginException extends UnauthorizedException {
206
+ readonly type: NotLoginType$1;
207
+ readonly token: string | undefined;
208
+ constructor(type: NotLoginType$1, token?: string);
209
+ private static describeType;
210
+ }
211
+ //#endregion
212
+ //#region src/exceptions/not-permission.exception.d.ts
213
+ declare class NotPermissionException extends ForbiddenException {
214
+ readonly permission: string | string[];
215
+ readonly mode: XltMode$1;
216
+ constructor(permission: string | string[], mode: XltMode$1);
217
+ }
218
+ //#endregion
219
+ //#region src/exceptions/not-role.exception.d.ts
220
+ declare class NotRoleException extends ForbiddenException {
221
+ readonly role: string | string[];
222
+ readonly mode: XltMode$1;
223
+ constructor(role: string | string[], mode: XltMode$1);
224
+ }
225
+ //#endregion
226
+ //#region src/exceptions/not-safe.exception.d.ts
227
+ declare class NotSafeException extends ForbiddenException {
228
+ readonly business: string;
229
+ constructor(business: string);
230
+ }
231
+ //#endregion
232
+ export { type AuthResult, type CreateOptions, DEFAULT_XLT_TOKEN_CONFIG, type DeviceInfo, type HttpContext, JwtStrategy, LoginId, MemoryStore, NotLoginException, NotLoginType, NotPermissionException, NotRoleException, NotSafeException, RedisStore, type StpInterface, StpLogic, StpPermLogic, StpUtil, type TokenStrategy, TokenValue, UuidStrategy, XLT_CHECK_SAFE_KEY, XLT_REDIS_CLIENT, XLT_STP_INTERFACE, XLT_TOKEN_CONFIG, XLT_TOKEN_HOOKS, XLT_TOKEN_STORE, XLT_TOKEN_STRATEGY, XltAbstractLoginGuard, XltCheckLogin, XltCheckPermission, XltCheckRole, XltCheckSafe, type XltHooks, XltIgnore, XltMode, XltSession, type XltTokenConfig, type XltTokenContext, XltTokenGuard, XltTokenModule, type XltTokenModuleAsyncOptions, type XltTokenModuleOptions, type XltTokenStore, createExpressContext, createMockHttpContext, createXltToken, matchPermission, setStpLogic, setStpPermLogic };
233
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/xlt-token.module.ts","../src/store/redis-store.ts","../src/token/jwt-strategy.ts","../src/decorators/xlt-check-login.decorator.ts","../src/decorators/xlt-ignore.decorator.ts","../src/decorators/login-id.decorator.ts","../src/decorators/token-value.decorator.ts","../src/decorators/xlt-check-permission.decorator.ts","../src/decorators/xlt-check-role.decorator.ts","../src/decorators/xlt-check-safe.decorator.ts","../src/guards/xlt-token.guard.ts","../src/guards/xlt-abstract-login.guard.ts","../src/exceptions/not-login.exception.ts","../src/exceptions/not-permission.exception.ts","../src/exceptions/not-role.exception.ts","../src/exceptions/not-safe.exception.ts"],"mappings":"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"}