@e-mc/types 0.9.8 → 0.9.10

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.
package/lib/core.d.ts CHANGED
@@ -1,196 +1,196 @@
1
- /* eslint @typescript-eslint/no-explicit-any: "off" */
2
-
3
- import type { DataSource, RequestBase } from './squared';
4
-
5
- import type { IExternalConfig, IExternalFunction, IHost, IModule, ModuleConstructor } from './index';
6
- import type { QueryResult, TimeoutAction } from './db';
7
- import type { Settings } from './node';
8
- import type { ClientDbSettings, ClientModule, DbCacheValue, DbCoerceSettings, DbSourceOptions } from './settings';
9
-
10
- export interface IdentifierAction {
11
- uuidKey?: string;
12
- }
13
-
14
- export interface AddEventListenerOptions {
15
- capture?: boolean;
16
- once?: boolean;
17
- passive?: boolean;
18
- signal?: AbortSignal;
19
- }
20
-
21
- export interface IClient<T extends IHost, U extends ClientModule, V extends FunctionType<any, any> = FunctionType> extends IModule<T>, IExternalConfig<U, U extends ClientModule<infer W> ? W : unknown>, IExternalFunction<V> {
22
- init(...args: unknown[]): this;
23
- getUserSettings<X>(): Null<X>;
24
- set cacheDir(value: string);
25
- get cacheDir(): string;
26
- }
27
-
28
- export interface ClientConstructor<T extends IHost = IHost, U extends ClientModule = ClientModule> extends ModuleConstructor {
29
- readonly prototype: IClient<T, U>;
30
- new(module?: U): IClient<T, U>;
31
- }
32
-
33
- export interface IClientDb<T extends IHost, U extends ClientModule<ClientDbSettings>, V extends DataSource = DataSource, W extends DbSourceOptions = DbSourceOptions, X extends DbCoerceSettings = DbCoerceSettings> extends IClient<T, U> {
34
- database: V[];
35
- cacheExpires: number;
36
- add(item: V, state?: number): void;
37
- hasCache(source: string, sessionKey?: string): boolean;
38
- hasCoerce(source: string, component: keyof DbCoerceSettings, uuidKey: Undef<string>): boolean;
39
- hasCoerce(source: string, component: keyof DbCoerceSettings, credential?: unknown): boolean;
40
- getQueryResult(source: string, credential: unknown, queryString: string, renewCache: boolean): Undef<QueryResult>;
41
- getQueryResult(source: string, credential: unknown, queryString: string, sessionKey?: string, renewCache?: boolean): Undef<QueryResult>;
42
- getQueryResult(source: string, credential: unknown, queryString: string, options?: CacheOptions | string, renewCache?: boolean): Undef<QueryResult>;
43
- setQueryResult(source: string, credential: unknown, queryString: string, result: unknown, sessionKey?: string): QueryResult;
44
- setQueryResult(source: string, credential: unknown, queryString: string, result: unknown, options?: CacheOptions | string): QueryResult;
45
- applyState(items: ArrayOf<V>, value: number, as?: boolean): void;
46
- commit(items?: V[]): Promise<boolean>;
47
- valueOfKey(credential: unknown, name: keyof W, component?: keyof X): unknown;
48
- settingsOf(source: string, name: keyof W, component?: keyof X): unknown;
49
- settingsKey(uuidKey: string, name: keyof W, component?: keyof X): unknown;
50
- get pending(): V[];
51
- get committed(): V[];
52
- get failed(): V[];
53
- }
54
-
55
- export interface ClientDbConstructor<T extends IHost = IHost, U extends ClientModule = ClientModule, V extends DataSource = DataSource> extends ClientConstructor<T, U> {
56
- STORE_RESULT_PARTITION_SIZE: number;
57
- STORE_RESULT_PARTITION_MULT: number;
58
- readonly TRANSACTION_ACTIVE: number;
59
- readonly TRANSACTION_PARTIAL: number;
60
- readonly TRANSACTION_COMMIT: number;
61
- readonly TRANSACTION_TERMINATE: number;
62
- readonly TRANSACTION_ABORT: number;
63
- readonly TRANSACTION_FAIL: number;
64
- loadSettings(settings: Pick<Settings, "process" | "memory">, password?: string): boolean;
65
- getTimeout(value: Undef<NumString | TimeoutAction>): number;
66
- convertTime(value: NumString): number;
67
- findResult(source: string, credential: unknown, queryString: string, timeout: number, sessionKey?: string | boolean, renewCache?: boolean): Undef<QueryResult>;
68
- storeResult(source: string, credential: unknown, queryString: string, result: QueryResult, options: StoreResultOptions): QueryResult;
69
- storeResult(source: string, credential: unknown, queryString: string, result: QueryResult, sessionKey: string, sessionExpires: number): QueryResult;
70
- storeResult(source: string, credential: unknown, queryString: string, result: QueryResult, cache: DbCacheValue): QueryResult;
71
- storeResult(source: string, credential: unknown, queryString: string, result: QueryResult, cache: Undef<DbCacheValue>, options: StoreResultOptions): QueryResult;
72
- purgeResult(prefix?: string): Promise<number>;
73
- extractUUID(credential: unknown): string;
74
- setPoolConfig(value: unknown): void;
75
- getPoolConfig(source: string): unknown;
76
- keyOfResult(source: string, credential: unknown, uuidOnly?: boolean): string;
77
- readonly prototype: IClientDb<T, U, V>;
78
- new(module?: U, database?: V[]): IClientDb<T, U, V>;
79
- }
80
-
81
- export interface IAbortComponent extends AbortController {
82
- reset(): void;
83
- get aborted(): boolean;
84
- }
85
-
86
- export interface AbortComponentConstructor {
87
- attach(instance: IAbortComponent, signal: AbortSignal, options?: AddEventListenerOptions): void;
88
- detach(instance: IAbortComponent, signal: AbortSignal): void;
89
- readonly prototype: IAbortComponent;
90
- new(): IAbortComponent;
91
- }
92
-
93
- export interface IPermission {
94
- setDiskRead(pathname?: ArrayOf<string>, enabled?: boolean): void;
95
- setDiskWrite(pathname?: ArrayOf<string>, enabled?: boolean): void;
96
- setUNCRead(pathname?: ArrayOf<string>, enabled?: boolean): void;
97
- setUNCWrite(pathname?: ArrayOf<string>, enabled?: boolean): void;
98
- getDiskRead(): ArrayOf<string>;
99
- getDiskWrite(): ArrayOf<string>;
100
- getUNCRead(): ArrayOf<string>;
101
- getUNCWrite(): ArrayOf<string>;
102
- hasDiskRead(pathname: string): boolean;
103
- hasDiskWrite(pathname: string): boolean;
104
- hasUNCRead(pathname: string): boolean;
105
- hasUNCWrite(pathname: string): boolean;
106
- get diskRead(): boolean;
107
- get diskWrite(): boolean;
108
- get uncRead(): boolean;
109
- get uncWrite(): boolean;
110
- }
111
-
112
- export interface PermissionConstructor {
113
- create(settings: PermittedDirectories, freeze?: boolean): Null<IPermission>;
114
- create(settings: PermittedDirectories, parent: Null<IPermission>, freeze?: boolean): Null<IPermission>;
115
- validate(settings: unknown): settings is PermittedDirectories;
116
- clone(permission: IPermission, freeze?: boolean): IPermission;
117
- match(pathname: string, pattern: ArrayOf<string>): boolean;
118
- toPosix(value: unknown): ArrayOf<string>;
119
- readonly prototype: IPermission;
120
- new(freeze?: boolean): IPermission;
121
- }
122
-
123
- export interface PermissionReadWrite<T = boolean> {
124
- disk_read?: T;
125
- disk_write?: T;
126
- unc_read?: T;
127
- unc_write?: T;
128
- }
129
-
130
- export interface PermissionAction {
131
- permission?: PermittedDirectories;
132
- }
133
-
134
- export interface HostInitConfig extends PlainObject, RequestBase<HostInitLog> {
135
- username?: string;
136
- ignoreModules?: string[];
137
- }
138
-
139
- export interface HostInitLog {
140
- enabled?: boolean;
141
- level?: NumString;
142
- exclude?: ArrayOf<string>;
143
- useColor?: boolean;
144
- showProgress?: boolean;
145
- }
146
-
147
- export interface PermittedDirectories extends PermissionReadWrite<ArrayOf<string>> {
148
- inherit?: boolean;
149
- }
150
-
151
- export interface StoreResultOptions {
152
- cache?: DbCacheValue;
153
- cacheDir?: string;
154
- sessionKey?: string;
155
- sessionExpires?: number;
156
- }
157
-
158
- export interface CacheOptions {
159
- value?: DbCacheValue;
160
- renewCache?: boolean;
161
- exclusiveOf?: [number, number?, number?];
162
- sessionKey?: string;
163
- }
164
-
165
- export interface ThreadInfo {
166
- pid: number;
167
- startTime: number;
168
- username?: string;
169
- sessionId?: string;
170
- broadcastId?: ArrayOf<string>;
171
- }
172
-
173
- export interface ThreadCountStat {
174
- count: number;
175
- pending: number;
176
- opened?: number;
177
- closed?: number;
178
- queued?: number;
179
- rejected?: number;
180
- killed?: number;
181
- startTime?: number;
182
- previousTime?: number;
183
- max?: number;
184
- admin?: ThreadInfo[];
185
- }
186
-
187
- export interface JoinQueueOptions {
188
- args?: unknown[];
189
- reject?: boolean;
190
- }
191
-
192
- export interface ResumeThreadOptions {
193
- args: unknown[];
194
- startTime: number;
195
- aborted?: boolean;
1
+ /* eslint @typescript-eslint/no-explicit-any: "off" */
2
+
3
+ import type { DataSource, RequestBase } from './squared';
4
+
5
+ import type { IExternalConfig, IExternalFunction, IHost, IModule, ModuleConstructor } from './index';
6
+ import type { QueryResult, TimeoutAction } from './db';
7
+ import type { Settings } from './node';
8
+ import type { ClientDbSettings, ClientModule, DbCacheValue, DbCoerceSettings, DbSourceOptions } from './settings';
9
+
10
+ export interface IdentifierAction {
11
+ uuidKey?: string;
12
+ }
13
+
14
+ export interface AddEventListenerOptions {
15
+ capture?: boolean;
16
+ once?: boolean;
17
+ passive?: boolean;
18
+ signal?: AbortSignal;
19
+ }
20
+
21
+ export interface IClient<T extends IHost, U extends ClientModule, V extends FunctionType<any, any> = FunctionType> extends IModule<T>, IExternalConfig<U, U extends ClientModule<infer W> ? W : unknown>, IExternalFunction<V> {
22
+ init(...args: unknown[]): this;
23
+ getUserSettings<X>(): Null<X>;
24
+ set cacheDir(value: string);
25
+ get cacheDir(): string;
26
+ }
27
+
28
+ export interface ClientConstructor<T extends IHost = IHost, U extends ClientModule = ClientModule> extends ModuleConstructor {
29
+ readonly prototype: IClient<T, U>;
30
+ new(module?: U): IClient<T, U>;
31
+ }
32
+
33
+ export interface IClientDb<T extends IHost, U extends ClientModule<ClientDbSettings>, V extends DataSource = DataSource, W extends DbSourceOptions = DbSourceOptions, X extends DbCoerceSettings = DbCoerceSettings> extends IClient<T, U> {
34
+ database: V[];
35
+ cacheExpires: number;
36
+ add(item: V, state?: number): void;
37
+ hasCache(source: string, sessionKey?: string): boolean;
38
+ hasCoerce(source: string, component: keyof DbCoerceSettings, uuidKey: Undef<string>): boolean;
39
+ hasCoerce(source: string, component: keyof DbCoerceSettings, credential?: unknown): boolean;
40
+ getQueryResult(source: string, credential: unknown, queryString: string, renewCache: boolean): Undef<QueryResult>;
41
+ getQueryResult(source: string, credential: unknown, queryString: string, sessionKey?: string, renewCache?: boolean): Undef<QueryResult>;
42
+ getQueryResult(source: string, credential: unknown, queryString: string, options?: CacheOptions | string, renewCache?: boolean): Undef<QueryResult>;
43
+ setQueryResult(source: string, credential: unknown, queryString: string, result: unknown, sessionKey?: string): QueryResult;
44
+ setQueryResult(source: string, credential: unknown, queryString: string, result: unknown, options?: CacheOptions | string): QueryResult;
45
+ applyState(items: ArrayOf<V>, value: number, as?: boolean): void;
46
+ commit(items?: V[]): Promise<boolean>;
47
+ valueOfKey(credential: unknown, name: keyof W, component?: keyof X): unknown;
48
+ settingsOf(source: string, name: keyof W, component?: keyof X): unknown;
49
+ settingsKey(uuidKey: string, name: keyof W, component?: keyof X): unknown;
50
+ get pending(): V[];
51
+ get committed(): V[];
52
+ get failed(): V[];
53
+ }
54
+
55
+ export interface ClientDbConstructor<T extends IHost = IHost, U extends ClientModule = ClientModule, V extends DataSource = DataSource> extends ClientConstructor<T, U> {
56
+ STORE_RESULT_PARTITION_SIZE: number;
57
+ STORE_RESULT_PARTITION_MULT: number;
58
+ readonly TRANSACTION_ACTIVE: number;
59
+ readonly TRANSACTION_PARTIAL: number;
60
+ readonly TRANSACTION_COMMIT: number;
61
+ readonly TRANSACTION_TERMINATE: number;
62
+ readonly TRANSACTION_ABORT: number;
63
+ readonly TRANSACTION_FAIL: number;
64
+ loadSettings(settings: Pick<Settings, "process" | "memory">, password?: string): boolean;
65
+ getTimeout(value: Undef<NumString | TimeoutAction>): number;
66
+ convertTime(value: NumString): number;
67
+ findResult(source: string, credential: unknown, queryString: string, timeout: number, sessionKey?: string | boolean, renewCache?: boolean): Undef<QueryResult>;
68
+ storeResult(source: string, credential: unknown, queryString: string, result: QueryResult, options: StoreResultOptions): QueryResult;
69
+ storeResult(source: string, credential: unknown, queryString: string, result: QueryResult, sessionKey: string, sessionExpires: number): QueryResult;
70
+ storeResult(source: string, credential: unknown, queryString: string, result: QueryResult, cache: DbCacheValue): QueryResult;
71
+ storeResult(source: string, credential: unknown, queryString: string, result: QueryResult, cache: Undef<DbCacheValue>, options: StoreResultOptions): QueryResult;
72
+ purgeResult(prefix?: string): Promise<number>;
73
+ extractUUID(credential: unknown): string;
74
+ setPoolConfig(value: unknown): void;
75
+ getPoolConfig(source: string): unknown;
76
+ keyOfResult(source: string, credential: unknown, uuidOnly?: boolean): string;
77
+ readonly prototype: IClientDb<T, U, V>;
78
+ new(module?: U, database?: V[]): IClientDb<T, U, V>;
79
+ }
80
+
81
+ export interface IAbortComponent extends AbortController {
82
+ reset(): void;
83
+ get aborted(): boolean;
84
+ }
85
+
86
+ export interface AbortComponentConstructor {
87
+ attach(instance: IAbortComponent, signal: AbortSignal, options?: AddEventListenerOptions): void;
88
+ detach(instance: IAbortComponent, signal: AbortSignal): void;
89
+ readonly prototype: IAbortComponent;
90
+ new(): IAbortComponent;
91
+ }
92
+
93
+ export interface IPermission {
94
+ setDiskRead(pathname?: ArrayOf<string>, enabled?: boolean): void;
95
+ setDiskWrite(pathname?: ArrayOf<string>, enabled?: boolean): void;
96
+ setUNCRead(pathname?: ArrayOf<string>, enabled?: boolean): void;
97
+ setUNCWrite(pathname?: ArrayOf<string>, enabled?: boolean): void;
98
+ getDiskRead(): ArrayOf<string>;
99
+ getDiskWrite(): ArrayOf<string>;
100
+ getUNCRead(): ArrayOf<string>;
101
+ getUNCWrite(): ArrayOf<string>;
102
+ hasDiskRead(pathname: string): boolean;
103
+ hasDiskWrite(pathname: string): boolean;
104
+ hasUNCRead(pathname: string): boolean;
105
+ hasUNCWrite(pathname: string): boolean;
106
+ get diskRead(): boolean;
107
+ get diskWrite(): boolean;
108
+ get uncRead(): boolean;
109
+ get uncWrite(): boolean;
110
+ }
111
+
112
+ export interface PermissionConstructor {
113
+ create(settings: PermittedDirectories, freeze?: boolean): Null<IPermission>;
114
+ create(settings: PermittedDirectories, parent: Null<IPermission>, freeze?: boolean): Null<IPermission>;
115
+ validate(settings: unknown): settings is PermittedDirectories;
116
+ clone(permission: IPermission, freeze?: boolean): IPermission;
117
+ match(pathname: string, pattern: ArrayOf<string>): boolean;
118
+ toPosix(value: unknown): ArrayOf<string>;
119
+ readonly prototype: IPermission;
120
+ new(freeze?: boolean): IPermission;
121
+ }
122
+
123
+ export interface PermissionReadWrite<T = boolean> {
124
+ disk_read?: T;
125
+ disk_write?: T;
126
+ unc_read?: T;
127
+ unc_write?: T;
128
+ }
129
+
130
+ export interface PermissionAction {
131
+ permission?: PermittedDirectories;
132
+ }
133
+
134
+ export interface HostInitConfig extends PlainObject, RequestBase<HostInitLog> {
135
+ username?: string;
136
+ ignoreModules?: string[];
137
+ }
138
+
139
+ export interface HostInitLog {
140
+ enabled?: boolean;
141
+ level?: NumString;
142
+ exclude?: ArrayOf<string>;
143
+ useColor?: boolean;
144
+ showProgress?: boolean;
145
+ }
146
+
147
+ export interface PermittedDirectories extends PermissionReadWrite<ArrayOf<string>> {
148
+ inherit?: boolean;
149
+ }
150
+
151
+ export interface StoreResultOptions {
152
+ cache?: DbCacheValue;
153
+ cacheDir?: string;
154
+ sessionKey?: string;
155
+ sessionExpires?: number;
156
+ }
157
+
158
+ export interface CacheOptions {
159
+ value?: DbCacheValue;
160
+ renewCache?: boolean;
161
+ exclusiveOf?: [number, number?, number?];
162
+ sessionKey?: string;
163
+ }
164
+
165
+ export interface ThreadInfo {
166
+ pid: number;
167
+ startTime: number;
168
+ username?: string;
169
+ sessionId?: string;
170
+ broadcastId?: ArrayOf<string>;
171
+ }
172
+
173
+ export interface ThreadCountStat {
174
+ count: number;
175
+ pending: number;
176
+ opened?: number;
177
+ closed?: number;
178
+ queued?: number;
179
+ rejected?: number;
180
+ killed?: number;
181
+ startTime?: number;
182
+ previousTime?: number;
183
+ max?: number;
184
+ admin?: ThreadInfo[];
185
+ }
186
+
187
+ export interface JoinQueueOptions {
188
+ args?: unknown[];
189
+ reject?: boolean;
190
+ }
191
+
192
+ export interface ResumeThreadOptions {
193
+ args: unknown[];
194
+ startTime: number;
195
+ aborted?: boolean;
196
196
  }
package/lib/db.d.ts CHANGED
@@ -1,106 +1,106 @@
1
- import type { DataSource, DbDataSource } from './squared';
2
-
3
- import type { CacheOptions, IdentifierAction } from './core';
4
-
5
- import type { DB_TYPE } from '../index.d';
6
-
7
- export interface ExecuteAction<T = unknown> {
8
- params?: T;
9
- }
10
-
11
- export interface CascadeAction {
12
- cascade?: string;
13
- cacheObjectKey?: string;
14
- fallback?: unknown;
15
- }
16
-
17
- export interface ExecuteQueryOptions {
18
- checkObject?: CheckObjectCallback | string;
19
- checkObjectKey?: string;
20
- errorQuery?: ErrorQueryCallback;
21
- sessionKey?: string;
22
- outCacheMiss?: string[];
23
- }
24
-
25
- export interface ExecuteBatchQueryOptions extends ExecuteQueryOptions {
26
- parallel?: boolean;
27
- connectOnce?: boolean;
28
- }
29
-
30
- export interface ProcessRowsOptions {
31
- disconnect?: () => void;
32
- parallel?: boolean;
33
- }
34
-
35
- export interface DbConnection {
36
- hostname: string;
37
- password: string;
38
- pathname: string;
39
- port: string;
40
- protocol: string;
41
- search: string;
42
- username: string;
43
- database: string;
44
- }
45
-
46
- export interface HandleFailOptions {
47
- commandType?: number;
48
- errorQuery?: ErrorQueryCallback;
49
- }
50
-
51
- export interface ServerAuth<T = number> extends AuthValue, IdentifierAction {
52
- protocol?: string;
53
- server?: string;
54
- hostname?: string;
55
- port?: T;
56
- database?: string;
57
- }
58
-
59
- export interface IDbPool<T extends DbDataSource = DbDataSource, U = unknown, V = unknown> {
60
- client: U;
61
- lastAccessed: number;
62
- success: number;
63
- failed: number;
64
- poolKey: string;
65
- uuidKey: Null<AuthValue>;
66
- add(item: T, uuidKey?: string): this;
67
- has(item: T): boolean;
68
- getConnection(): Promise<V>;
69
- remove(): void;
70
- detach(force?: boolean): Promise<void>;
71
- close(): Promise<void>;
72
- isIdle(timeout: number): boolean;
73
- isEmpty(): boolean;
74
- set connected(value: boolean);
75
- get persist(): boolean;
76
- get closed(): boolean;
77
- get closeable(): boolean;
78
- set parent(value: ObjectMap<IDbPool<T>>);
79
- }
80
-
81
- export interface DbPoolConstructor<T extends DbDataSource = DbDataSource, U = unknown, V = unknown> {
82
- findKey<W extends IDbPool, X extends DbDataSource>(pools: ObjectMap<W>, uuidKey: unknown, poolKey: Undef<string>, ...items: X[]): Null<W>;
83
- validateKey<W extends IDbPool>(pools: ObjectMap<W>, username: string, uuidKey: unknown): [string, Null<W>];
84
- checkTimeout<W extends IDbPool>(pools: ObjectMap<W>, value: number, limit?: number): Promise<number>;
85
- readonly prototype: IDbPool<T, U, V>;
86
- new(pool: U, poolKey: string, uuidKey?: Null<AuthValue>): IDbPool<T, U, V>;
87
- }
88
-
89
- export interface TimeoutAction {
90
- timeout?: NumString;
91
- }
92
-
93
- export type DbSource = "mariadb" | "mongodb" | "mssql" | "mysql" | "oracle" | "postgres" | "redis";
94
- export type QueryResult = unknown[];
95
- export type BatchQueryResult = Null<QueryResult>[];
96
- export type CheckObjectCallback = (item: DataSource, data: unknown) => Null<QueryResult>;
97
- export type ErrorQueryCallback = (err: unknown, item: DbDataSource, commandType?: number) => boolean;
98
-
99
- export interface SQL_COMMAND {
100
- SELECT: 1;
101
- INSERT: 2;
102
- UPDATE: 3;
103
- DELETE: 4;
104
- }
105
-
1
+ import type { DataSource, DbDataSource } from './squared';
2
+
3
+ import type { CacheOptions, IdentifierAction } from './core';
4
+
5
+ import type { DB_TYPE } from '../index.d';
6
+
7
+ export interface ExecuteAction<T = unknown> {
8
+ params?: T;
9
+ }
10
+
11
+ export interface CascadeAction {
12
+ cascade?: string;
13
+ cacheObjectKey?: string;
14
+ fallback?: unknown;
15
+ }
16
+
17
+ export interface ExecuteQueryOptions {
18
+ checkObject?: CheckObjectCallback | string;
19
+ checkObjectKey?: string;
20
+ errorQuery?: ErrorQueryCallback;
21
+ sessionKey?: string;
22
+ outCacheMiss?: string[];
23
+ }
24
+
25
+ export interface ExecuteBatchQueryOptions extends ExecuteQueryOptions {
26
+ parallel?: boolean;
27
+ connectOnce?: boolean;
28
+ }
29
+
30
+ export interface ProcessRowsOptions {
31
+ disconnect?: () => void;
32
+ parallel?: boolean;
33
+ }
34
+
35
+ export interface DbConnection {
36
+ hostname: string;
37
+ password: string;
38
+ pathname: string;
39
+ port: string;
40
+ protocol: string;
41
+ search: string;
42
+ username: string;
43
+ database: string;
44
+ }
45
+
46
+ export interface HandleFailOptions {
47
+ commandType?: number;
48
+ errorQuery?: ErrorQueryCallback;
49
+ }
50
+
51
+ export interface ServerAuth<T = number> extends AuthValue, IdentifierAction {
52
+ protocol?: string;
53
+ server?: string;
54
+ hostname?: string;
55
+ port?: T;
56
+ database?: string;
57
+ }
58
+
59
+ export interface IDbPool<T extends DbDataSource = DbDataSource, U = unknown, V = unknown> {
60
+ client: U;
61
+ lastAccessed: number;
62
+ success: number;
63
+ failed: number;
64
+ poolKey: string;
65
+ uuidKey: Null<AuthValue>;
66
+ add(item: T, uuidKey?: string): this;
67
+ has(item: T): boolean;
68
+ getConnection(): Promise<V>;
69
+ remove(): void;
70
+ detach(force?: boolean): Promise<void>;
71
+ close(): Promise<void>;
72
+ isIdle(timeout: number): boolean;
73
+ isEmpty(): boolean;
74
+ set connected(value: boolean);
75
+ get persist(): boolean;
76
+ get closed(): boolean;
77
+ get closeable(): boolean;
78
+ set parent(value: ObjectMap<IDbPool<T>>);
79
+ }
80
+
81
+ export interface DbPoolConstructor<T extends DbDataSource = DbDataSource, U = unknown, V = unknown> {
82
+ findKey<W extends IDbPool, X extends DbDataSource>(pools: ObjectMap<W>, uuidKey: unknown, poolKey: Undef<string>, ...items: X[]): Null<W>;
83
+ validateKey<W extends IDbPool>(pools: ObjectMap<W>, username: string, uuidKey: unknown): [string, Null<W>];
84
+ checkTimeout<W extends IDbPool>(pools: ObjectMap<W>, value: number, limit?: number): Promise<number>;
85
+ readonly prototype: IDbPool<T, U, V>;
86
+ new(pool: U, poolKey: string, uuidKey?: Null<AuthValue>): IDbPool<T, U, V>;
87
+ }
88
+
89
+ export interface TimeoutAction {
90
+ timeout?: NumString;
91
+ }
92
+
93
+ export type DbSource = "mariadb" | "mongodb" | "mssql" | "mysql" | "oracle" | "postgres" | "redis";
94
+ export type QueryResult = unknown[];
95
+ export type BatchQueryResult = Null<QueryResult>[];
96
+ export type CheckObjectCallback = (item: DataSource, data: unknown) => Null<QueryResult>;
97
+ export type ErrorQueryCallback = (err: unknown, item: DbDataSource, commandType?: number) => boolean;
98
+
99
+ export interface SQL_COMMAND {
100
+ SELECT: 1;
101
+ INSERT: 2;
102
+ UPDATE: 3;
103
+ DELETE: 4;
104
+ }
105
+
106
106
  export type { DB_TYPE, CacheOptions, IdentifierAction };