ueberdb2 5.0.48 → 6.0.2
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/dist/{AbstractDatabase-a4jdIEuT.js → AbstractDatabase-DfQ39Ry6.js} +6 -13
- package/dist/{cassandra_db-C5K2zZew.js → cassandra_db-B_5ANRzM.js} +6 -7
- package/dist/{couch_db-BVd81sS7.js → couch_db-BXyzauwJ.js} +5 -20
- package/dist/databases/cassandra_db.d.ts +5 -3
- package/dist/databases/cassandra_db.d.ts.map +1 -1
- package/dist/databases/couch_db.d.ts +2 -4
- package/dist/databases/couch_db.d.ts.map +1 -1
- package/dist/databases/dirty_db.d.ts +1 -1
- package/dist/databases/dirty_db.d.ts.map +1 -1
- package/dist/databases/dirty_git_db.d.ts +1 -1
- package/dist/databases/dirty_git_db.d.ts.map +1 -1
- package/dist/databases/elasticsearch_db.d.ts +2 -2
- package/dist/databases/elasticsearch_db.d.ts.map +1 -1
- package/dist/databases/memory_db.d.ts +1 -1
- package/dist/databases/memory_db.d.ts.map +1 -1
- package/dist/databases/mock_db.d.ts +1 -1
- package/dist/databases/mock_db.d.ts.map +1 -1
- package/dist/databases/mongodb_db.d.ts +4 -3
- package/dist/databases/mongodb_db.d.ts.map +1 -1
- package/dist/databases/mssql_db.d.ts +3 -3
- package/dist/databases/mssql_db.d.ts.map +1 -1
- package/dist/databases/mysql_db.d.ts +3 -3
- package/dist/databases/mysql_db.d.ts.map +1 -1
- package/dist/databases/postgres_db.d.ts +2 -2
- package/dist/databases/postgres_db.d.ts.map +1 -1
- package/dist/databases/postgrespool_db.d.ts +1 -1
- package/dist/databases/postgrespool_db.d.ts.map +1 -1
- package/dist/databases/redis_db.d.ts +3 -3
- package/dist/databases/redis_db.d.ts.map +1 -1
- package/dist/databases/rethink_db.d.ts +2 -2
- package/dist/databases/rethink_db.d.ts.map +1 -1
- package/dist/databases/sqlite_db.d.ts +2 -2
- package/dist/databases/sqlite_db.d.ts.map +1 -1
- package/dist/databases/surrealdb_db.d.ts +3 -3
- package/dist/databases/surrealdb_db.d.ts.map +1 -1
- package/dist/{dirty_db-C9zUhXIG.js → dirty_db-CocfsG5w.js} +5 -7
- package/dist/{dirty_git_db-Cj3oEEyZ.js → dirty_git_db-BYnH74Hk.js} +8 -10
- package/dist/{elasticsearch_db-DjnZ1DHG.js → elasticsearch_db-C6G-Wnou.js} +12 -14
- package/dist/index.d.ts +44 -91
- package/dist/index.js +106 -282
- package/dist/lib/AbstractDatabase.d.ts +13 -15
- package/dist/lib/AbstractDatabase.d.ts.map +1 -1
- package/dist/lib/CacheAndBufferLayer.d.ts +95 -77
- package/dist/lib/CacheAndBufferLayer.d.ts.map +1 -1
- package/dist/lib/logging.d.ts +12 -2
- package/dist/lib/logging.d.ts.map +1 -1
- package/dist/logging-DOvFhjsQ.js +22 -0
- package/dist/{memory_db-SlQsh4tk.js → memory_db-CGTi0Ck-.js} +3 -3
- package/dist/{mock_db-BBijMErd.js → mock_db-DCUmGtUq.js} +3 -5
- package/dist/{mongodb_db-ByZscnbs.js → mongodb_db-DgkIuEMZ.js} +5 -6
- package/dist/{mssql_db-C9-gmVgP.js → mssql_db-LiEvv4Sm.js} +19 -22
- package/dist/{mysql_db-CRYtP-Mk.js → mysql_db-48mMBbKZ.js} +7 -10
- package/dist/{postgres_db-CVDQiNwN.js → postgres_db-7Hiezhpi.js} +6 -9
- package/dist/{postgrespool_db-CynysVC1.js → postgrespool_db-CdF-1S34.js} +3 -3
- package/dist/{redis_db-CDma40om.js → redis_db-DKRC8sR9.js} +7 -8
- package/dist/{rethink_db-D7NvPe_4.js → rethink_db-BGxY_SA3.js} +15 -18
- package/dist/{rusty_db-CaVGu0z7.js → rusty_db-Msjxckfm.js} +5 -6
- package/dist/{sqlite_db-B-nmfVje.js → sqlite_db-Cy8OT62U.js} +5 -6
- package/dist/{surrealdb_db-JmcyCabz.js → surrealdb_db-XnhMQEwL.js} +10 -10
- package/package.json +88 -38
- package/dist/chunk-8l464Juk.js +0 -28
- package/dist/logging-DmqnZRde.js +0 -25
|
@@ -1,13 +1,14 @@
|
|
|
1
|
+
import { type Logger } from './logging';
|
|
1
2
|
export type Settings = {
|
|
2
|
-
data?:
|
|
3
|
+
data?: unknown;
|
|
3
4
|
table?: string;
|
|
4
5
|
db?: string;
|
|
5
|
-
idleTimeoutMillis?:
|
|
6
|
-
min?:
|
|
7
|
-
max?:
|
|
6
|
+
idleTimeoutMillis?: number;
|
|
7
|
+
min?: number;
|
|
8
|
+
max?: number;
|
|
8
9
|
engine?: string;
|
|
9
10
|
charset?: string;
|
|
10
|
-
server?: string
|
|
11
|
+
server?: string;
|
|
11
12
|
requestTimeout?: number;
|
|
12
13
|
bulkLimit?: number;
|
|
13
14
|
queryTimeout?: number;
|
|
@@ -16,7 +17,7 @@ export type Settings = {
|
|
|
16
17
|
dbName?: string;
|
|
17
18
|
collection?: string;
|
|
18
19
|
url?: string;
|
|
19
|
-
mock?:
|
|
20
|
+
mock?: unknown;
|
|
20
21
|
base_index?: string;
|
|
21
22
|
migrate_to_newer_schema?: boolean;
|
|
22
23
|
api?: string;
|
|
@@ -26,23 +27,20 @@ export type Settings = {
|
|
|
26
27
|
user?: string;
|
|
27
28
|
port?: number | string;
|
|
28
29
|
host?: string;
|
|
29
|
-
maxListeners?: number
|
|
30
|
+
maxListeners?: number;
|
|
30
31
|
json?: boolean;
|
|
31
32
|
cache?: number;
|
|
32
33
|
writeInterval?: number;
|
|
33
|
-
logger?:
|
|
34
|
-
columnFamily?:
|
|
35
|
-
clientOptions?:
|
|
34
|
+
logger?: Logger;
|
|
35
|
+
columnFamily?: unknown;
|
|
36
|
+
clientOptions?: unknown;
|
|
36
37
|
};
|
|
37
38
|
declare class AbstractDatabase {
|
|
38
|
-
logger:
|
|
39
|
+
logger: Logger;
|
|
39
40
|
settings: Settings;
|
|
40
41
|
constructor(settings: Settings);
|
|
41
|
-
/**
|
|
42
|
-
* For findKey regex. Used by document dbs like mongodb or dirty.
|
|
43
|
-
*/
|
|
44
42
|
createFindRegex(key: string, notKey?: string): RegExp;
|
|
45
|
-
doBulk(
|
|
43
|
+
doBulk(..._args: any[]): void | Promise<void>;
|
|
46
44
|
get isAsync(): boolean;
|
|
47
45
|
}
|
|
48
46
|
export default AbstractDatabase;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractDatabase.d.ts","sourceRoot":"","sources":["../../lib/AbstractDatabase.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AbstractDatabase.d.ts","sourceRoot":"","sources":["../../lib/AbstractDatabase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,MAAM,EAAC,MAAM,WAAW,CAAC;AAOvD,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,cAAM,gBAAgB;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,QAAQ,CAAC;gBAEd,QAAQ,EAAE,QAAQ;IAa9B,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;IAOrD,MAAM,CAAC,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,IAAI,OAAO,IAAI,OAAO,CAAkB;CACzC;AAED,eAAe,gBAAgB,CAAC"}
|
|
@@ -1,89 +1,107 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* 2011 Peter 'Pita' Martischka
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS-IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
3
15
|
*/
|
|
16
|
+
import type { Logger } from './logging';
|
|
17
|
+
type CacheEntry = {
|
|
18
|
+
value: unknown;
|
|
19
|
+
dirty: SelfContainedPromise | null;
|
|
20
|
+
writingInProgress: boolean;
|
|
21
|
+
};
|
|
22
|
+
export type CacheSettings = {
|
|
23
|
+
bulkLimit: number;
|
|
24
|
+
cache: number;
|
|
25
|
+
writeInterval: number;
|
|
26
|
+
json: boolean;
|
|
27
|
+
charset: string;
|
|
28
|
+
};
|
|
29
|
+
type LegacyWrappedDB = {
|
|
30
|
+
isAsync?: boolean;
|
|
31
|
+
settings?: Partial<CacheSettings>;
|
|
32
|
+
logger?: Logger;
|
|
33
|
+
[key: string]: unknown;
|
|
34
|
+
};
|
|
35
|
+
export type Metrics = {
|
|
36
|
+
lockAwaits: number;
|
|
37
|
+
lockAcquires: number;
|
|
38
|
+
lockReleases: number;
|
|
39
|
+
reads: number;
|
|
40
|
+
readsFailed: number;
|
|
41
|
+
readsFinished: number;
|
|
42
|
+
readsFromCache: number;
|
|
43
|
+
readsFromDb: number;
|
|
44
|
+
readsFromDbFailed: number;
|
|
45
|
+
readsFromDbFinished: number;
|
|
46
|
+
writes: number;
|
|
47
|
+
writesFailed: number;
|
|
48
|
+
writesFinished: number;
|
|
49
|
+
writesObsoleted: number;
|
|
50
|
+
writesToDb: number;
|
|
51
|
+
writesToDbFailed: number;
|
|
52
|
+
writesToDbFinished: number;
|
|
53
|
+
writesToDbRetried: number;
|
|
54
|
+
};
|
|
4
55
|
export declare class LRU {
|
|
56
|
+
private _capacity;
|
|
57
|
+
private _evictable;
|
|
58
|
+
private _cache;
|
|
5
59
|
/**
|
|
6
60
|
* @param evictable Optional predicate that dictates whether it is permissable to evict the entry
|
|
7
|
-
* if it is old and the cache is over capacity.
|
|
8
|
-
*
|
|
9
|
-
* entries can cause the cache to go over capacity. If the number of non-evictable entries is
|
|
10
|
-
* greater than or equal to the capacity, all new evictable entries will be evicted
|
|
11
|
-
* immediately.
|
|
12
|
-
*/
|
|
13
|
-
constructor(capacity: any, evictable?: (k: any, v: any) => boolean);
|
|
14
|
-
/**
|
|
15
|
-
* The entries accessed via this iterator are not considered to have been "used" (for purposes of
|
|
16
|
-
* determining least recently used).
|
|
17
|
-
*/
|
|
18
|
-
[Symbol.iterator](): any;
|
|
19
|
-
/**
|
|
20
|
-
* @param isUse Optional boolean indicating whether this get() should be considered a "use" of the
|
|
21
|
-
* entry (for determining least recently used). Defaults to true.
|
|
22
|
-
* @returns undefined if there is no entry matching the given key.
|
|
23
|
-
*/
|
|
24
|
-
get(k: any, isUse?: boolean): any;
|
|
25
|
-
/**
|
|
26
|
-
* Adds or updates an entry in the cache. This marks the entry as the most recently used entry.
|
|
27
|
-
*/
|
|
28
|
-
set(k: any, v: any): void;
|
|
29
|
-
/**
|
|
30
|
-
* Evicts the oldest evictable entries until the number of entries is equal to or less than the
|
|
31
|
-
* cache's capacity. This method is automatically called by set(). Call this if you need to evict
|
|
32
|
-
* newly evictable entries before the next call to set().
|
|
61
|
+
* if it is old and the cache is over capacity. Warning: Non-evictable entries can cause the
|
|
62
|
+
* cache to go over capacity.
|
|
33
63
|
*/
|
|
64
|
+
constructor(capacity: number, evictable?: (k: string, v: CacheEntry) => boolean);
|
|
65
|
+
[Symbol.iterator](): IterableIterator<[string, CacheEntry]>;
|
|
66
|
+
get(k: string, isUse?: boolean): CacheEntry | undefined;
|
|
67
|
+
set(k: string, v: CacheEntry): void;
|
|
34
68
|
evictOld(): void;
|
|
35
69
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* Sets a subvalue
|
|
71
|
-
*/
|
|
72
|
-
setSub(key: any, sub: any, value: any): Promise<void>;
|
|
73
|
-
/**
|
|
74
|
-
* Returns a sub value of the object
|
|
75
|
-
* @param sub is a array, for example if you want to access object.test.bla, the array is ["test",
|
|
76
|
-
* "bla"]
|
|
77
|
-
*/
|
|
78
|
-
getSub(key: any, sub: any): Promise<any>;
|
|
79
|
-
/**
|
|
80
|
-
* Writes all dirty values to the database
|
|
81
|
-
*/
|
|
82
|
-
flush(): Promise<void>;
|
|
83
|
-
_write(dirtyEntries: any): Promise<void>;
|
|
84
|
-
};
|
|
85
|
-
};
|
|
70
|
+
declare class SelfContainedPromise extends Promise<void> {
|
|
71
|
+
done: (err?: Error | null) => void;
|
|
72
|
+
constructor(executor?: ((resolve: () => void, reject: (reason?: unknown) => void) => void) | null);
|
|
73
|
+
}
|
|
74
|
+
export declare class Database {
|
|
75
|
+
private wrappedDB;
|
|
76
|
+
logger: Logger;
|
|
77
|
+
readonly settings: Readonly<CacheSettings>;
|
|
78
|
+
private readonly buffer;
|
|
79
|
+
private _flushPaused;
|
|
80
|
+
private _flushPausedCount;
|
|
81
|
+
private readonly _locks;
|
|
82
|
+
private _flushDone;
|
|
83
|
+
metrics: Metrics;
|
|
84
|
+
private readonly flushInterval;
|
|
85
|
+
constructor(wrappedDB: LegacyWrappedDB, settings: Partial<CacheSettings> | null | undefined, logger: Logger);
|
|
86
|
+
private _lock;
|
|
87
|
+
private _unlock;
|
|
88
|
+
private _pauseFlush;
|
|
89
|
+
private _resumeFlush;
|
|
90
|
+
init(): Promise<void>;
|
|
91
|
+
close(): Promise<void>;
|
|
92
|
+
get(key: string): Promise<unknown>;
|
|
93
|
+
private _getLocked;
|
|
94
|
+
findKeys(key: string, notKey?: string): Promise<string[]>;
|
|
95
|
+
remove(key: string): Promise<void>;
|
|
96
|
+
set(key: string, value: unknown): Promise<void>;
|
|
97
|
+
private _setLocked;
|
|
98
|
+
setSub(key: string, sub: string[], value: unknown): Promise<void>;
|
|
99
|
+
getSub(key: string, sub: string[]): Promise<unknown>;
|
|
100
|
+
flush(): Promise<void>;
|
|
101
|
+
private _write;
|
|
102
|
+
}
|
|
86
103
|
export declare const exportedForTesting: {
|
|
87
104
|
LRU: typeof LRU;
|
|
88
105
|
};
|
|
106
|
+
export {};
|
|
89
107
|
//# sourceMappingURL=CacheAndBufferLayer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CacheAndBufferLayer.d.ts","sourceRoot":"","sources":["../../lib/CacheAndBufferLayer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CacheAndBufferLayer.d.ts","sourceRoot":"","sources":["../../lib/CacheAndBufferLayer.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/logging.d.ts
CHANGED
|
@@ -1,10 +1,20 @@
|
|
|
1
1
|
import { Console } from 'console';
|
|
2
|
-
export
|
|
2
|
+
export type Logger = {
|
|
3
|
+
debug(...args: unknown[]): void;
|
|
4
|
+
info(...args: unknown[]): void;
|
|
5
|
+
warn(...args: unknown[]): void;
|
|
6
|
+
error(...args: unknown[]): void;
|
|
7
|
+
isDebugEnabled(): boolean;
|
|
8
|
+
isInfoEnabled(): boolean;
|
|
9
|
+
isWarnEnabled(): boolean;
|
|
10
|
+
isErrorEnabled(): boolean;
|
|
11
|
+
};
|
|
12
|
+
export declare class ConsoleLogger extends Console implements Logger {
|
|
3
13
|
constructor(opts?: {});
|
|
4
14
|
isDebugEnabled(): boolean;
|
|
5
15
|
isInfoEnabled(): boolean;
|
|
6
16
|
isWarnEnabled(): boolean;
|
|
7
17
|
isErrorEnabled(): boolean;
|
|
8
18
|
}
|
|
9
|
-
export declare const normalizeLogger: (logger:
|
|
19
|
+
export declare const normalizeLogger: (logger: Partial<Logger> | null) => Logger;
|
|
10
20
|
//# sourceMappingURL=logging.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../lib/logging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,SAAS,CAAC;AAGhC,qBAAa,aAAc,SAAQ,
|
|
1
|
+
{"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../lib/logging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,SAAS,CAAC;AAGhC,MAAM,MAAM,MAAM,GAAG;IACnB,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChC,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC/B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC/B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChC,cAAc,IAAI,OAAO,CAAC;IAC1B,aAAa,IAAI,OAAO,CAAC;IACzB,aAAa,IAAI,OAAO,CAAC;IACzB,cAAc,IAAI,OAAO,CAAC;CAC3B,CAAC;AAIF,qBAAa,aAAc,SAAQ,OAAQ,YAAW,MAAM;gBAC9C,IAAI,KAAK;IACrB,cAAc,IAAI,OAAO;IACzB,aAAa,IAAI,OAAO;IACxB,aAAa,IAAI,OAAO;IACxB,cAAc,IAAI,OAAO;CAC1B;AAED,eAAO,MAAM,eAAe,GAAI,QAAQ,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,KAAG,MAahE,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import "console";
|
|
2
|
+
import "process";
|
|
3
|
+
//#region lib/logging.ts
|
|
4
|
+
const normalizeLogger = (logger) => {
|
|
5
|
+
const levels = [
|
|
6
|
+
"debug",
|
|
7
|
+
"info",
|
|
8
|
+
"warn",
|
|
9
|
+
"error"
|
|
10
|
+
];
|
|
11
|
+
const normalized = Object.create(logger ?? {});
|
|
12
|
+
for (const level of levels) {
|
|
13
|
+
const enabledFn = `is${level.charAt(0).toUpperCase()}${level.slice(1)}Enabled`;
|
|
14
|
+
if (typeof normalized[level] !== "function") {
|
|
15
|
+
normalized[level] = () => {};
|
|
16
|
+
normalized[enabledFn] = () => false;
|
|
17
|
+
} else if (typeof normalized[enabledFn] !== "function") normalized[enabledFn] = () => true;
|
|
18
|
+
}
|
|
19
|
+
return normalized;
|
|
20
|
+
};
|
|
21
|
+
//#endregion
|
|
22
|
+
export { normalizeLogger as t };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import { t as AbstractDatabase } from "./AbstractDatabase-DfQ39Ry6.js";
|
|
2
2
|
//#region databases/memory_db.ts
|
|
3
|
-
var MemoryDB = class extends
|
|
3
|
+
var MemoryDB = class extends AbstractDatabase {
|
|
4
4
|
_data;
|
|
5
5
|
constructor(settings) {
|
|
6
6
|
super(settings);
|
|
@@ -34,4 +34,4 @@ var MemoryDB = class extends require_AbstractDatabase.AbstractDatabase {
|
|
|
34
34
|
}
|
|
35
35
|
};
|
|
36
36
|
//#endregion
|
|
37
|
-
|
|
37
|
+
export { MemoryDB as default };
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
let events = require("events");
|
|
3
|
-
events = require_chunk.__toESM(events);
|
|
1
|
+
import events from "events";
|
|
4
2
|
//#region databases/mock_db.ts
|
|
5
|
-
var mock_db_default = class extends events.
|
|
3
|
+
var mock_db_default = class extends events.EventEmitter {
|
|
6
4
|
settings;
|
|
7
5
|
mock;
|
|
8
6
|
constructor(settings) {
|
|
@@ -37,4 +35,4 @@ var mock_db_default = class extends events.default.EventEmitter {
|
|
|
37
35
|
}
|
|
38
36
|
};
|
|
39
37
|
//#endregion
|
|
40
|
-
|
|
38
|
+
export { mock_db_default as default };
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
let mongodb = require("mongodb");
|
|
1
|
+
import { t as AbstractDatabase } from "./AbstractDatabase-DfQ39Ry6.js";
|
|
2
|
+
import { MongoClient } from "mongodb";
|
|
4
3
|
//#region databases/mongodb_db.ts
|
|
5
4
|
/**
|
|
6
5
|
* 2020 Sylchauf
|
|
@@ -17,7 +16,7 @@ let mongodb = require("mongodb");
|
|
|
17
16
|
* See the License for the specific language governing permissions and
|
|
18
17
|
* limitations under the License.
|
|
19
18
|
*/
|
|
20
|
-
var mongodb_db_default = class extends
|
|
19
|
+
var mongodb_db_default = class extends AbstractDatabase {
|
|
21
20
|
interval;
|
|
22
21
|
database;
|
|
23
22
|
client;
|
|
@@ -39,7 +38,7 @@ var mongodb_db_default = class extends require_AbstractDatabase.AbstractDatabase
|
|
|
39
38
|
}, 1e4);
|
|
40
39
|
}
|
|
41
40
|
init(callback) {
|
|
42
|
-
|
|
41
|
+
MongoClient.connect(this.settings.url).then((v) => {
|
|
43
42
|
this.client = v;
|
|
44
43
|
this.database = v.db(this.settings.database);
|
|
45
44
|
this.schedulePing();
|
|
@@ -92,4 +91,4 @@ var mongodb_db_default = class extends require_AbstractDatabase.AbstractDatabase
|
|
|
92
91
|
}
|
|
93
92
|
};
|
|
94
93
|
//#endregion
|
|
95
|
-
|
|
94
|
+
export { mongodb_db_default as default };
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
async = require_chunk.__toESM(async);
|
|
5
|
-
let mssql = require("mssql");
|
|
6
|
-
mssql = require_chunk.__toESM(mssql);
|
|
1
|
+
import { t as AbstractDatabase } from "./AbstractDatabase-DfQ39Ry6.js";
|
|
2
|
+
import async from "async";
|
|
3
|
+
import mssql from "mssql";
|
|
7
4
|
//#region databases/mssql_db.ts
|
|
8
5
|
/**
|
|
9
6
|
* 2019 - exspecto@gmail.com
|
|
@@ -24,7 +21,7 @@ mssql = require_chunk.__toESM(mssql);
|
|
|
24
21
|
* Note: This requires MS SQL Server >= 2008 due to the usage of the MERGE statement
|
|
25
22
|
*
|
|
26
23
|
*/
|
|
27
|
-
var MSSQL = class extends
|
|
24
|
+
var MSSQL = class extends AbstractDatabase {
|
|
28
25
|
db;
|
|
29
26
|
constructor(settings) {
|
|
30
27
|
super(settings);
|
|
@@ -38,9 +35,9 @@ var MSSQL = class extends require_AbstractDatabase.AbstractDatabase {
|
|
|
38
35
|
}
|
|
39
36
|
init(callback) {
|
|
40
37
|
const sqlCreate = "IF OBJECT_ID(N'dbo.store', N'U') IS NULL BEGIN CREATE TABLE [store] ( [key] NVARCHAR(100) PRIMARY KEY, [value] NTEXT NOT NULL ); END";
|
|
41
|
-
new mssql.
|
|
38
|
+
new mssql.ConnectionPool(this.settings).connect().then((pool) => {
|
|
42
39
|
this.db = pool;
|
|
43
|
-
new mssql.
|
|
40
|
+
new mssql.Request(this.db).query(sqlCreate, (err) => {
|
|
44
41
|
callback(err);
|
|
45
42
|
});
|
|
46
43
|
this.db.on("error", (err) => {
|
|
@@ -49,8 +46,8 @@ var MSSQL = class extends require_AbstractDatabase.AbstractDatabase {
|
|
|
49
46
|
});
|
|
50
47
|
}
|
|
51
48
|
get(key, callback) {
|
|
52
|
-
const request = new mssql.
|
|
53
|
-
request.input("key", mssql.
|
|
49
|
+
const request = new mssql.Request(this.db);
|
|
50
|
+
request.input("key", mssql.NVarChar(100), key);
|
|
54
51
|
request.query("SELECT [value] FROM [store] WHERE [key] = @key", (err, results) => {
|
|
55
52
|
let value = null;
|
|
56
53
|
if (!err && results && results.rowsAffected[0] === 1) value = results.recordset[0].value;
|
|
@@ -58,13 +55,13 @@ var MSSQL = class extends require_AbstractDatabase.AbstractDatabase {
|
|
|
58
55
|
});
|
|
59
56
|
}
|
|
60
57
|
findKeys(key, notKey, callback) {
|
|
61
|
-
const request = new mssql.
|
|
58
|
+
const request = new mssql.Request(this.db);
|
|
62
59
|
let query = "SELECT [key] FROM [store] WHERE [key] LIKE @key";
|
|
63
60
|
key = key.replace(/\*/g, "%");
|
|
64
|
-
request.input("key", mssql.
|
|
61
|
+
request.input("key", mssql.NVarChar(100), key);
|
|
65
62
|
if (notKey != null) {
|
|
66
63
|
notKey = notKey.replace(/\*/g, "%");
|
|
67
|
-
request.input("notkey", mssql.
|
|
64
|
+
request.input("notkey", mssql.NVarChar(100), notKey);
|
|
68
65
|
query += " AND [key] NOT LIKE @notkey";
|
|
69
66
|
}
|
|
70
67
|
request.query(query, (err, results) => {
|
|
@@ -74,25 +71,25 @@ var MSSQL = class extends require_AbstractDatabase.AbstractDatabase {
|
|
|
74
71
|
});
|
|
75
72
|
}
|
|
76
73
|
set(key, value, callback) {
|
|
77
|
-
const request = new mssql.
|
|
74
|
+
const request = new mssql.Request(this.db);
|
|
78
75
|
if (key.length > 100) callback("Your Key can only be 100 chars");
|
|
79
76
|
else {
|
|
80
77
|
const query = "MERGE [store] t USING (SELECT @key [key], @value [value]) s ON t.[key] = s.[key] WHEN MATCHED AND s.[value] IS NOT NULL THEN UPDATE SET t.[value] = s.[value] WHEN NOT MATCHED THEN INSERT ([key], [value]) VALUES (s.[key], s.[value]);";
|
|
81
|
-
request.input("key", mssql.
|
|
82
|
-
request.input("value", mssql.
|
|
78
|
+
request.input("key", mssql.NVarChar(100), key);
|
|
79
|
+
request.input("value", mssql.NText, value);
|
|
83
80
|
request.query(query, (err, info) => {
|
|
84
81
|
callback(err ? err.toString() : "");
|
|
85
82
|
});
|
|
86
83
|
}
|
|
87
84
|
}
|
|
88
85
|
remove(key, callback) {
|
|
89
|
-
const request = new mssql.
|
|
90
|
-
request.input("key", mssql.
|
|
86
|
+
const request = new mssql.Request(this.db);
|
|
87
|
+
request.input("key", mssql.NVarChar(100), key);
|
|
91
88
|
request.query("DELETE FROM [store] WHERE [key] = @key", callback);
|
|
92
89
|
}
|
|
93
90
|
doBulk(bulk, callback) {
|
|
94
91
|
const maxInserts = 100;
|
|
95
|
-
const request = new mssql.
|
|
92
|
+
const request = new mssql.Request(this.db);
|
|
96
93
|
let firstReplace = true;
|
|
97
94
|
let firstRemove = true;
|
|
98
95
|
const replacements = [];
|
|
@@ -110,7 +107,7 @@ var MSSQL = class extends require_AbstractDatabase.AbstractDatabase {
|
|
|
110
107
|
}
|
|
111
108
|
removeSQL += ");";
|
|
112
109
|
replacements.push("COMMIT TRANSACTION;");
|
|
113
|
-
async.
|
|
110
|
+
async.parallel([(callback) => {
|
|
114
111
|
if (!firstReplace) request.batch(replacements.join("\n"), (err, results) => {
|
|
115
112
|
if (err) callback(err);
|
|
116
113
|
callback(err, results);
|
|
@@ -129,4 +126,4 @@ var MSSQL = class extends require_AbstractDatabase.AbstractDatabase {
|
|
|
129
126
|
}
|
|
130
127
|
};
|
|
131
128
|
//#endregion
|
|
132
|
-
|
|
129
|
+
export { MSSQL as default };
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
util = require_chunk.__toESM(util);
|
|
5
|
-
let mysql2 = require("mysql2");
|
|
1
|
+
import { t as AbstractDatabase } from "./AbstractDatabase-DfQ39Ry6.js";
|
|
2
|
+
import util from "util";
|
|
3
|
+
import { createPool } from "mysql2";
|
|
6
4
|
//#region databases/mysql_db.ts
|
|
7
5
|
/**
|
|
8
6
|
* 2011 Peter 'Pita' Martischka
|
|
@@ -19,12 +17,11 @@ let mysql2 = require("mysql2");
|
|
|
19
17
|
* See the License for the specific language governing permissions and
|
|
20
18
|
* limitations under the License.
|
|
21
19
|
*/
|
|
22
|
-
var mysql_db_default = class extends
|
|
20
|
+
var mysql_db_default = class extends AbstractDatabase {
|
|
23
21
|
_mysqlSettings;
|
|
24
22
|
_pool;
|
|
25
23
|
constructor(settings) {
|
|
26
24
|
super(settings);
|
|
27
|
-
this.logger = console;
|
|
28
25
|
this._mysqlSettings = {
|
|
29
26
|
charset: "utf8mb4",
|
|
30
27
|
...settings
|
|
@@ -57,7 +54,7 @@ var mysql_db_default = class extends require_AbstractDatabase.AbstractDatabase {
|
|
|
57
54
|
async init() {
|
|
58
55
|
if ("speeds" in this._mysqlSettings) delete this._mysqlSettings.speeds;
|
|
59
56
|
if ("filename" in this._mysqlSettings) delete this._mysqlSettings.filename;
|
|
60
|
-
this._pool =
|
|
57
|
+
this._pool = createPool(this._mysqlSettings);
|
|
61
58
|
const { database, charset } = this._mysqlSettings;
|
|
62
59
|
const sqlCreate = `CREATE TABLE IF NOT EXISTS \`store\` ( \`key\` VARCHAR( 100 ) NOT NULL COLLATE utf8mb4_bin, \`value\` LONGTEXT COLLATE utf8mb4_bin NOT NULL , PRIMARY KEY ( \`key\` ) ) ENGINE=${this.settings.engine} CHARSET=utf8mb4 COLLATE=utf8mb4_bin;`;
|
|
63
60
|
const sqlAlter = "ALTER TABLE store MODIFY `key` VARCHAR(100) COLLATE utf8mb4_bin;";
|
|
@@ -142,8 +139,8 @@ var mysql_db_default = class extends require_AbstractDatabase.AbstractDatabase {
|
|
|
142
139
|
}) : null]);
|
|
143
140
|
}
|
|
144
141
|
async close() {
|
|
145
|
-
await util.
|
|
142
|
+
await util.promisify(this._pool.end.bind(this._pool))();
|
|
146
143
|
}
|
|
147
144
|
};
|
|
148
145
|
//#endregion
|
|
149
|
-
|
|
146
|
+
export { mysql_db_default as default };
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
async = require_chunk.__toESM(async);
|
|
5
|
-
let pg = require("pg");
|
|
6
|
-
pg = require_chunk.__toESM(pg);
|
|
1
|
+
import { t as AbstractDatabase } from "./AbstractDatabase-DfQ39Ry6.js";
|
|
2
|
+
import async from "async";
|
|
3
|
+
import * as pg from "pg";
|
|
7
4
|
//#region databases/postgres_db.ts
|
|
8
5
|
/**
|
|
9
6
|
* 2011 Peter 'Pita' Martischka
|
|
@@ -20,7 +17,7 @@ pg = require_chunk.__toESM(pg);
|
|
|
20
17
|
* See the License for the specific language governing permissions and
|
|
21
18
|
* limitations under the License.
|
|
22
19
|
*/
|
|
23
|
-
var postgres_db_default = class extends
|
|
20
|
+
var postgres_db_default = class extends AbstractDatabase {
|
|
24
21
|
db;
|
|
25
22
|
upsertStatement;
|
|
26
23
|
constructor(settings) {
|
|
@@ -115,11 +112,11 @@ var postgres_db_default = class extends require_AbstractDatabase.AbstractDatabas
|
|
|
115
112
|
else callback();
|
|
116
113
|
};
|
|
117
114
|
functions.push(removeFunction);
|
|
118
|
-
async.
|
|
115
|
+
async.parallel(functions, callback);
|
|
119
116
|
}
|
|
120
117
|
close(callback) {
|
|
121
118
|
this.db.end(callback);
|
|
122
119
|
}
|
|
123
120
|
};
|
|
124
121
|
//#endregion
|
|
125
|
-
|
|
122
|
+
export { postgres_db_default as default };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
import postgres_db_default from "./postgres_db-7Hiezhpi.js";
|
|
2
2
|
//#region databases/postgrespool_db.ts
|
|
3
|
-
var PostgresDB = class extends
|
|
3
|
+
var PostgresDB = class extends postgres_db_default {
|
|
4
4
|
constructor(settings) {
|
|
5
5
|
console.warn("ueberdb: The postgrespool database driver is deprecated and will be removed in a future version. Use postgres instead.");
|
|
6
6
|
super(settings);
|
|
7
7
|
}
|
|
8
8
|
};
|
|
9
9
|
//#endregion
|
|
10
|
-
|
|
10
|
+
export { PostgresDB as default };
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
let redis = require("redis");
|
|
1
|
+
import { t as AbstractDatabase } from "./AbstractDatabase-DfQ39Ry6.js";
|
|
2
|
+
import { createClient } from "redis";
|
|
4
3
|
//#region databases/redis_db.ts
|
|
5
4
|
/**
|
|
6
5
|
* 2011 Peter 'Pita' Martischka
|
|
@@ -17,7 +16,7 @@ let redis = require("redis");
|
|
|
17
16
|
* See the License for the specific language governing permissions and
|
|
18
17
|
* limitations under the License.
|
|
19
18
|
*/
|
|
20
|
-
var RedisDB = class extends
|
|
19
|
+
var RedisDB = class extends AbstractDatabase {
|
|
21
20
|
_client;
|
|
22
21
|
constructor(settings) {
|
|
23
22
|
super(settings);
|
|
@@ -28,7 +27,7 @@ var RedisDB = class extends require_AbstractDatabase.AbstractDatabase {
|
|
|
28
27
|
return true;
|
|
29
28
|
}
|
|
30
29
|
async init() {
|
|
31
|
-
if (this.settings.url) this._client =
|
|
30
|
+
if (this.settings.url) this._client = createClient({ url: this.settings.url });
|
|
32
31
|
else if (this.settings.host) {
|
|
33
32
|
const options = { socket: {
|
|
34
33
|
host: this.settings.host,
|
|
@@ -36,7 +35,7 @@ var RedisDB = class extends require_AbstractDatabase.AbstractDatabase {
|
|
|
36
35
|
} };
|
|
37
36
|
if (this.settings.password) options.password = this.settings.password;
|
|
38
37
|
if (this.settings.user) options.username = this.settings.user;
|
|
39
|
-
this._client =
|
|
38
|
+
this._client = createClient(options);
|
|
40
39
|
}
|
|
41
40
|
if (this._client) {
|
|
42
41
|
await this._client.connect();
|
|
@@ -69,7 +68,7 @@ var RedisDB = class extends require_AbstractDatabase.AbstractDatabase {
|
|
|
69
68
|
await Promise.all([matches && this._client.sRem(`ueberDB:keys:${matches[1]}`, matches[0]), this._client.del(key)]);
|
|
70
69
|
}
|
|
71
70
|
async doBulk(bulk) {
|
|
72
|
-
if (this._client == null) return
|
|
71
|
+
if (this._client == null) return;
|
|
73
72
|
const multi = this._client.multi();
|
|
74
73
|
for (const { key, type, value } of bulk) {
|
|
75
74
|
const matches = /^([^:]+):([^:]+)$/.exec(key);
|
|
@@ -90,4 +89,4 @@ var RedisDB = class extends require_AbstractDatabase.AbstractDatabase {
|
|
|
90
89
|
}
|
|
91
90
|
};
|
|
92
91
|
//#endregion
|
|
93
|
-
|
|
92
|
+
export { RedisDB as default };
|