@lossless.org/client 0.1.0
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/.smartconfig.json +37 -0
- package/dist_ts/00_commitinfo_data.d.ts +8 -0
- package/dist_ts/00_commitinfo_data.js +9 -0
- package/dist_ts/classes.losslessorgclient.d.ts +32 -0
- package/dist_ts/classes.losslessorgclient.js +103 -0
- package/dist_ts/core/classes.error.d.ts +16 -0
- package/dist_ts/core/classes.error.js +29 -0
- package/dist_ts/core/classes.operation.d.ts +17 -0
- package/dist_ts/core/classes.operation.js +70 -0
- package/dist_ts/core/interfaces.d.ts +18 -0
- package/dist_ts/core/interfaces.js +2 -0
- package/dist_ts/index.d.ts +4 -0
- package/dist_ts/index.js +3 -0
- package/dist_ts/nosqldb/classes.atomicdelete.d.ts +26 -0
- package/dist_ts/nosqldb/classes.atomicdelete.js +44 -0
- package/dist_ts/nosqldb/classes.atomicfindoneandupdate.d.ts +27 -0
- package/dist_ts/nosqldb/classes.atomicfindoneandupdate.js +86 -0
- package/dist_ts/nosqldb/classes.atomicupdate.d.ts +26 -0
- package/dist_ts/nosqldb/classes.atomicupdate.js +55 -0
- package/dist_ts/nosqldb/classes.bootstraprecord.d.ts +14 -0
- package/dist_ts/nosqldb/classes.bootstraprecord.js +80 -0
- package/dist_ts/nosqldb/classes.bsonassertion.d.ts +2 -0
- package/dist_ts/nosqldb/classes.bsonassertion.js +29 -0
- package/dist_ts/nosqldb/classes.bsonobjectid.d.ts +2 -0
- package/dist_ts/nosqldb/classes.bsonobjectid.js +50 -0
- package/dist_ts/nosqldb/classes.bsonsnapshot.d.ts +3 -0
- package/dist_ts/nosqldb/classes.bsonsnapshot.js +126 -0
- package/dist_ts/nosqldb/classes.cached-document.d.ts +27 -0
- package/dist_ts/nosqldb/classes.cached-document.js +112 -0
- package/dist_ts/nosqldb/classes.collection.d.ts +302 -0
- package/dist_ts/nosqldb/classes.collection.js +1568 -0
- package/dist_ts/nosqldb/classes.collectionfactory.d.ts +30 -0
- package/dist_ts/nosqldb/classes.collectionfactory.js +65 -0
- package/dist_ts/nosqldb/classes.collectionlifecycle.d.ts +4 -0
- package/dist_ts/nosqldb/classes.collectionlifecycle.js +15 -0
- package/dist_ts/nosqldb/classes.collectionpreparation.d.ts +34 -0
- package/dist_ts/nosqldb/classes.collectionpreparation.js +134 -0
- package/dist_ts/nosqldb/classes.collectiontopology.d.ts +47 -0
- package/dist_ts/nosqldb/classes.collectiontopology.js +388 -0
- package/dist_ts/nosqldb/classes.connection.d.ts +18 -0
- package/dist_ts/nosqldb/classes.connection.js +23 -0
- package/dist_ts/nosqldb/classes.convenience.d.ts +1 -0
- package/dist_ts/nosqldb/classes.convenience.js +5 -0
- package/dist_ts/nosqldb/classes.cursor.d.ts +15 -0
- package/dist_ts/nosqldb/classes.cursor.js +82 -0
- package/dist_ts/nosqldb/classes.cursoroperation.d.ts +7 -0
- package/dist_ts/nosqldb/classes.cursoroperation.js +36 -0
- package/dist_ts/nosqldb/classes.db.d.ts +98 -0
- package/dist_ts/nosqldb/classes.db.js +434 -0
- package/dist_ts/nosqldb/classes.distributedcoordinator.d.ts +52 -0
- package/dist_ts/nosqldb/classes.distributedcoordinator.js +314 -0
- package/dist_ts/nosqldb/classes.doc.d.ts +722 -0
- package/dist_ts/nosqldb/classes.doc.js +2976 -0
- package/dist_ts/nosqldb/classes.easystore.d.ts +42 -0
- package/dist_ts/nosqldb/classes.easystore.js +199 -0
- package/dist_ts/nosqldb/classes.exactpersistence.d.ts +141 -0
- package/dist_ts/nosqldb/classes.exactpersistence.js +1110 -0
- package/dist_ts/nosqldb/classes.lucene.adapter.d.ts +173 -0
- package/dist_ts/nosqldb/classes.lucene.adapter.js +623 -0
- package/dist_ts/nosqldb/classes.mongoadministration.d.ts +73 -0
- package/dist_ts/nosqldb/classes.mongoadministration.js +497 -0
- package/dist_ts/nosqldb/classes.namespaceinspection.d.ts +42 -0
- package/dist_ts/nosqldb/classes.namespaceinspection.js +138 -0
- package/dist_ts/nosqldb/classes.operationbudget.d.ts +22 -0
- package/dist_ts/nosqldb/classes.operationbudget.js +65 -0
- package/dist_ts/nosqldb/classes.ordinarypersistence.d.ts +18 -0
- package/dist_ts/nosqldb/classes.ordinarypersistence.js +71 -0
- package/dist_ts/nosqldb/classes.persistence.d.ts +14 -0
- package/dist_ts/nosqldb/classes.persistence.js +34 -0
- package/dist_ts/nosqldb/classes.session.d.ts +28 -0
- package/dist_ts/nosqldb/classes.session.js +246 -0
- package/dist_ts/nosqldb/classes.storedinspection.d.ts +44 -0
- package/dist_ts/nosqldb/classes.storedinspection.js +100 -0
- package/dist_ts/nosqldb/classes.testdatabase.d.ts +56 -0
- package/dist_ts/nosqldb/classes.testdatabase.js +250 -0
- package/dist_ts/nosqldb/classes.watcher.d.ts +37 -0
- package/dist_ts/nosqldb/classes.watcher.js +98 -0
- package/dist_ts/nosqldb/index.d.ts +27 -0
- package/dist_ts/nosqldb/index.js +18 -0
- package/dist_ts/nosqldb/logging.d.ts +2 -0
- package/dist_ts/nosqldb/logging.js +3 -0
- package/dist_ts/nosqldb/plugins.d.ts +17 -0
- package/dist_ts/nosqldb/plugins.js +20 -0
- package/dist_ts/nosqldb/shim.d.ts +1 -0
- package/dist_ts/nosqldb/shim.js +8 -0
- package/dist_ts/nosqldb/testsupport.d.ts +3 -0
- package/dist_ts/nosqldb/testsupport.js +3 -0
- package/dist_ts/objectstorage/classes.bucket.d.ts +227 -0
- package/dist_ts/objectstorage/classes.bucket.js +939 -0
- package/dist_ts/objectstorage/classes.connection.d.ts +21 -0
- package/dist_ts/objectstorage/classes.connection.js +27 -0
- package/dist_ts/objectstorage/classes.directory.d.ts +124 -0
- package/dist_ts/objectstorage/classes.directory.js +335 -0
- package/dist_ts/objectstorage/classes.exactpathpurgeerror.d.ts +5 -0
- package/dist_ts/objectstorage/classes.exactpathpurgeerror.js +18 -0
- package/dist_ts/objectstorage/classes.exactuploaderror.d.ts +5 -0
- package/dist_ts/objectstorage/classes.exactuploaderror.js +19 -0
- package/dist_ts/objectstorage/classes.file.d.ts +91 -0
- package/dist_ts/objectstorage/classes.file.js +255 -0
- package/dist_ts/objectstorage/classes.listcursor.d.ts +41 -0
- package/dist_ts/objectstorage/classes.listcursor.js +67 -0
- package/dist_ts/objectstorage/classes.metadata.d.ts +57 -0
- package/dist_ts/objectstorage/classes.metadata.js +113 -0
- package/dist_ts/objectstorage/classes.smartbucket.d.ts +57 -0
- package/dist_ts/objectstorage/classes.smartbucket.js +357 -0
- package/dist_ts/objectstorage/classes.trash.d.ts +11 -0
- package/dist_ts/objectstorage/classes.trash.js +22 -0
- package/dist_ts/objectstorage/classes.watcher.d.ts +79 -0
- package/dist_ts/objectstorage/classes.watcher.js +249 -0
- package/dist_ts/objectstorage/helpers.d.ts +25 -0
- package/dist_ts/objectstorage/helpers.js +215 -0
- package/dist_ts/objectstorage/index.d.ts +13 -0
- package/dist_ts/objectstorage/index.js +13 -0
- package/dist_ts/objectstorage/interfaces.d.ts +276 -0
- package/dist_ts/objectstorage/interfaces.js +2 -0
- package/dist_ts/objectstorage/internal.exactpathpurge.operations.d.ts +11 -0
- package/dist_ts/objectstorage/internal.exactpathpurge.operations.js +1069 -0
- package/dist_ts/objectstorage/internal.exactupload.capability.d.ts +40 -0
- package/dist_ts/objectstorage/internal.exactupload.capability.js +382 -0
- package/dist_ts/objectstorage/internal.exactupload.operations.d.ts +11 -0
- package/dist_ts/objectstorage/internal.exactupload.operations.js +1104 -0
- package/dist_ts/objectstorage/internal.multipart.planner.d.ts +8 -0
- package/dist_ts/objectstorage/internal.multipart.planner.js +63 -0
- package/dist_ts/objectstorage/internal.multipart.stream.d.ts +17 -0
- package/dist_ts/objectstorage/internal.multipart.stream.js +440 -0
- package/dist_ts/objectstorage/internal.multipart.types.d.ts +82 -0
- package/dist_ts/objectstorage/internal.multipart.types.js +2 -0
- package/dist_ts/objectstorage/plugins.d.ts +17 -0
- package/dist_ts/objectstorage/plugins.js +23 -0
- package/dist_ts/plugins.d.ts +4 -0
- package/dist_ts/plugins.js +5 -0
- package/dist_ts/sqldb/classes.clickhouseconnection.d.ts +39 -0
- package/dist_ts/sqldb/classes.clickhouseconnection.js +225 -0
- package/dist_ts/sqldb/classes.sqlconnection.d.ts +50 -0
- package/dist_ts/sqldb/classes.sqlconnection.js +376 -0
- package/dist_ts/sqldb/classes.sqltable.d.ts +29 -0
- package/dist_ts/sqldb/classes.sqltable.js +70 -0
- package/dist_ts/sqldb/clickhouse/classes.metricwriter.d.ts +27 -0
- package/dist_ts/sqldb/clickhouse/classes.metricwriter.js +89 -0
- package/dist_ts/sqldb/clickhouse/index.d.ts +9 -0
- package/dist_ts/sqldb/clickhouse/index.js +13 -0
- package/dist_ts/sqldb/clickhouse/smartclickhouse.classes.clickhousetable.d.ts +88 -0
- package/dist_ts/sqldb/clickhouse/smartclickhouse.classes.clickhousetable.js +304 -0
- package/dist_ts/sqldb/clickhouse/smartclickhouse.classes.httpclient.d.ts +28 -0
- package/dist_ts/sqldb/clickhouse/smartclickhouse.classes.httpclient.js +46 -0
- package/dist_ts/sqldb/clickhouse/smartclickhouse.classes.querybuilder.d.ts +43 -0
- package/dist_ts/sqldb/clickhouse/smartclickhouse.classes.querybuilder.js +155 -0
- package/dist_ts/sqldb/clickhouse/smartclickhouse.classes.resultset.d.ts +13 -0
- package/dist_ts/sqldb/clickhouse/smartclickhouse.classes.resultset.js +36 -0
- package/dist_ts/sqldb/clickhouse/smartclickhouse.classes.smartclickhouse.d.ts +49 -0
- package/dist_ts/sqldb/clickhouse/smartclickhouse.classes.smartclickhouse.js +106 -0
- package/dist_ts/sqldb/clickhouse/smartclickhouse.classes.timedatatable.d.ts +51 -0
- package/dist_ts/sqldb/clickhouse/smartclickhouse.classes.timedatatable.js +96 -0
- package/dist_ts/sqldb/clickhouse/smartclickhouse.plugins.d.ts +5 -0
- package/dist_ts/sqldb/clickhouse/smartclickhouse.plugins.js +6 -0
- package/dist_ts/sqldb/clickhouse/smartclickhouse.types.d.ts +53 -0
- package/dist_ts/sqldb/clickhouse/smartclickhouse.types.js +41 -0
- package/dist_ts/sqldb/index.d.ts +6 -0
- package/dist_ts/sqldb/index.js +6 -0
- package/dist_ts/sqldb/interfaces.d.ts +53 -0
- package/dist_ts/sqldb/interfaces.js +19 -0
- package/dist_ts/sqldb/internal.sqlpool.d.ts +51 -0
- package/dist_ts/sqldb/internal.sqlpool.js +214 -0
- package/dist_ts/sqldb/plugins.clickhouse.d.ts +4 -0
- package/dist_ts/sqldb/plugins.clickhouse.js +5 -0
- package/dist_ts/sqldb/plugins.mariadb.d.ts +4 -0
- package/dist_ts/sqldb/plugins.mariadb.js +5 -0
- package/docs/source/smartbucket/license.md +19 -0
- package/docs/source/smartclickhouse/license.md +19 -0
- package/license.md +21 -0
- package/package.json +101 -0
- package/readme.md +157 -0
- package/ts/00_commitinfo_data.ts +8 -0
- package/ts/classes.losslessorgclient.ts +104 -0
- package/ts/core/classes.error.ts +31 -0
- package/ts/core/classes.operation.ts +60 -0
- package/ts/core/interfaces.ts +24 -0
- package/ts/index.ts +4 -0
- package/ts/nosqldb/classes.atomicdelete.ts +81 -0
- package/ts/nosqldb/classes.atomicfindoneandupdate.ts +152 -0
- package/ts/nosqldb/classes.atomicupdate.ts +99 -0
- package/ts/nosqldb/classes.bootstraprecord.ts +107 -0
- package/ts/nosqldb/classes.bsonassertion.ts +25 -0
- package/ts/nosqldb/classes.bsonobjectid.ts +45 -0
- package/ts/nosqldb/classes.bsonsnapshot.ts +105 -0
- package/ts/nosqldb/classes.cached-document.ts +67 -0
- package/ts/nosqldb/classes.collection.ts +2399 -0
- package/ts/nosqldb/classes.collectionfactory.ts +87 -0
- package/ts/nosqldb/classes.collectionlifecycle.ts +24 -0
- package/ts/nosqldb/classes.collectionpreparation.ts +164 -0
- package/ts/nosqldb/classes.collectiontopology.ts +645 -0
- package/ts/nosqldb/classes.connection.ts +31 -0
- package/ts/nosqldb/classes.convenience.ts +5 -0
- package/ts/nosqldb/classes.cursor.ts +88 -0
- package/ts/nosqldb/classes.cursoroperation.ts +38 -0
- package/ts/nosqldb/classes.db.ts +637 -0
- package/ts/nosqldb/classes.distributedcoordinator.ts +305 -0
- package/ts/nosqldb/classes.doc.ts +4928 -0
- package/ts/nosqldb/classes.easystore.ts +154 -0
- package/ts/nosqldb/classes.exactpersistence.ts +1974 -0
- package/ts/nosqldb/classes.lucene.adapter.ts +780 -0
- package/ts/nosqldb/classes.mongoadministration.ts +867 -0
- package/ts/nosqldb/classes.namespaceinspection.ts +199 -0
- package/ts/nosqldb/classes.operationbudget.ts +75 -0
- package/ts/nosqldb/classes.ordinarypersistence.ts +84 -0
- package/ts/nosqldb/classes.persistence.ts +62 -0
- package/ts/nosqldb/classes.session.ts +389 -0
- package/ts/nosqldb/classes.storedinspection.ts +151 -0
- package/ts/nosqldb/classes.testdatabase.ts +272 -0
- package/ts/nosqldb/classes.watcher.ts +96 -0
- package/ts/nosqldb/index.ts +51 -0
- package/ts/nosqldb/logging.ts +3 -0
- package/ts/nosqldb/plugins.ts +37 -0
- package/ts/nosqldb/shim.ts +6 -0
- package/ts/nosqldb/testsupport.ts +13 -0
- package/ts/objectstorage/classes.bucket.ts +1114 -0
- package/ts/objectstorage/classes.connection.ts +36 -0
- package/ts/objectstorage/classes.directory.ts +425 -0
- package/ts/objectstorage/classes.exactpathpurgeerror.ts +24 -0
- package/ts/objectstorage/classes.exactuploaderror.ts +25 -0
- package/ts/objectstorage/classes.file.ts +303 -0
- package/ts/objectstorage/classes.listcursor.ts +89 -0
- package/ts/objectstorage/classes.metadata.ts +134 -0
- package/ts/objectstorage/classes.smartbucket.ts +445 -0
- package/ts/objectstorage/classes.trash.ts +30 -0
- package/ts/objectstorage/classes.watcher.ts +289 -0
- package/ts/objectstorage/helpers.ts +254 -0
- package/ts/objectstorage/index.ts +13 -0
- package/ts/objectstorage/interfaces.ts +389 -0
- package/ts/objectstorage/internal.exactpathpurge.operations.ts +1936 -0
- package/ts/objectstorage/internal.exactupload.capability.ts +580 -0
- package/ts/objectstorage/internal.exactupload.operations.ts +1715 -0
- package/ts/objectstorage/internal.multipart.planner.ts +90 -0
- package/ts/objectstorage/internal.multipart.stream.ts +606 -0
- package/ts/objectstorage/internal.multipart.types.ts +106 -0
- package/ts/objectstorage/plugins.ts +35 -0
- package/ts/plugins.ts +4 -0
- package/ts/sqldb/classes.clickhouseconnection.ts +189 -0
- package/ts/sqldb/classes.sqlconnection.ts +350 -0
- package/ts/sqldb/classes.sqltable.ts +70 -0
- package/ts/sqldb/clickhouse/classes.metricwriter.ts +72 -0
- package/ts/sqldb/clickhouse/index.ts +16 -0
- package/ts/sqldb/clickhouse/smartclickhouse.classes.clickhousetable.ts +372 -0
- package/ts/sqldb/clickhouse/smartclickhouse.classes.httpclient.ts +52 -0
- package/ts/sqldb/clickhouse/smartclickhouse.classes.querybuilder.ts +120 -0
- package/ts/sqldb/clickhouse/smartclickhouse.classes.resultset.ts +44 -0
- package/ts/sqldb/clickhouse/smartclickhouse.classes.smartclickhouse.ts +123 -0
- package/ts/sqldb/clickhouse/smartclickhouse.classes.timedatatable.ts +114 -0
- package/ts/sqldb/clickhouse/smartclickhouse.plugins.ts +5 -0
- package/ts/sqldb/clickhouse/smartclickhouse.types.ts +134 -0
- package/ts/sqldb/index.ts +6 -0
- package/ts/sqldb/interfaces.ts +61 -0
- package/ts/sqldb/internal.sqlpool.ts +179 -0
- package/ts/sqldb/plugins.clickhouse.ts +4 -0
- package/ts/sqldb/plugins.mariadb.ts +4 -0
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { SqlConnection, SqlTransaction } from './classes.sqlconnection.js';
|
|
2
|
+
export { ClickHouseConnection } from './classes.clickhouseconnection.js';
|
|
3
|
+
export { SqlTable } from './classes.sqltable.js';
|
|
4
|
+
export type { ISqlSelectOptions, TSqlSelector } from './classes.sqltable.js';
|
|
5
|
+
export * from './interfaces.js';
|
|
6
|
+
export * from './clickhouse/index.js';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { SqlConnection, SqlTransaction } from './classes.sqlconnection.js';
|
|
2
|
+
export { ClickHouseConnection } from './classes.clickhouseconnection.js';
|
|
3
|
+
export { SqlTable } from './classes.sqltable.js';
|
|
4
|
+
export * from './interfaces.js';
|
|
5
|
+
export * from './clickhouse/index.js';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9zcWxkYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVqRCxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsdUJBQXVCLENBQUMifQ==
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type * as plugins from './plugins.mariadb.js';
|
|
2
|
+
import type { IOperationOptions } from '../core/interfaces.js';
|
|
3
|
+
export type TSqlValue = null | string | number | bigint | boolean | Date | Uint8Array;
|
|
4
|
+
export interface ISqlStatement {
|
|
5
|
+
sql: string;
|
|
6
|
+
values?: readonly TSqlValue[];
|
|
7
|
+
}
|
|
8
|
+
export interface IQueryOptions extends IOperationOptions {
|
|
9
|
+
maxRows?: number;
|
|
10
|
+
maxBytes?: number;
|
|
11
|
+
}
|
|
12
|
+
export interface ISqlConnectionOptions {
|
|
13
|
+
backend: 'sqldb' | 'mariadb';
|
|
14
|
+
host: string;
|
|
15
|
+
port?: number;
|
|
16
|
+
user: string;
|
|
17
|
+
password: string;
|
|
18
|
+
database: string;
|
|
19
|
+
connectionLimit?: number;
|
|
20
|
+
timeoutMs?: number;
|
|
21
|
+
tls?: plugins.mariadb.ConnectionConfig['ssl'];
|
|
22
|
+
}
|
|
23
|
+
export interface ISqlMutationResult {
|
|
24
|
+
affectedRows: number;
|
|
25
|
+
insertId?: bigint;
|
|
26
|
+
completion: 'acknowledged';
|
|
27
|
+
}
|
|
28
|
+
export interface IInsertOptions extends IOperationOptions {
|
|
29
|
+
batchSize?: number;
|
|
30
|
+
maxBatchBytes?: number;
|
|
31
|
+
}
|
|
32
|
+
export interface IClickHouseConnectionOptions {
|
|
33
|
+
backend: 'clickhouse';
|
|
34
|
+
url: string;
|
|
35
|
+
database: string;
|
|
36
|
+
username?: string;
|
|
37
|
+
password?: string;
|
|
38
|
+
connectionLimit?: number;
|
|
39
|
+
timeoutMs?: number;
|
|
40
|
+
}
|
|
41
|
+
export interface IClickHouseStatement {
|
|
42
|
+
sql: string;
|
|
43
|
+
/** ClickHouse {name:Type} parameters; identifiers are never interpolated as values. */
|
|
44
|
+
values?: Record<string, unknown>;
|
|
45
|
+
}
|
|
46
|
+
export declare const resultLimits: (options: IQueryOptions) => {
|
|
47
|
+
rows: number;
|
|
48
|
+
bytes: number;
|
|
49
|
+
};
|
|
50
|
+
export declare const valueBytes: (value: unknown) => number;
|
|
51
|
+
export declare const quoteIdentifier: (value: string) => string;
|
|
52
|
+
/** ClickHouse also interprets backslash escapes inside backtick identifiers. */
|
|
53
|
+
export declare const quoteClickHouseIdentifier: (value: string) => string;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { LosslessClientError } from '../core/classes.error.js';
|
|
2
|
+
export const resultLimits = (options) => {
|
|
3
|
+
const rows = options.maxRows ?? 10_000;
|
|
4
|
+
const bytes = options.maxBytes ?? 16 * 1024 * 1024;
|
|
5
|
+
if (!Number.isSafeInteger(rows) || rows < 1 || !Number.isSafeInteger(bytes) || bytes < 1) {
|
|
6
|
+
throw new LosslessClientError('invalid_argument', 'Result limits must be positive safe integers.');
|
|
7
|
+
}
|
|
8
|
+
return { rows, bytes };
|
|
9
|
+
};
|
|
10
|
+
export const valueBytes = (value) => Buffer.byteLength(JSON.stringify(value, (_key, item) => typeof item === 'bigint' ? item.toString() : item));
|
|
11
|
+
export const quoteIdentifier = (value) => {
|
|
12
|
+
if (typeof value !== 'string' || !value.length || Buffer.byteLength(value) > 256 || /[\0\r\n]/.test(value)) {
|
|
13
|
+
throw new LosslessClientError('invalid_argument', 'Invalid SQL identifier.');
|
|
14
|
+
}
|
|
15
|
+
return '`' + value.replace(/`/g, '``') + '`';
|
|
16
|
+
};
|
|
17
|
+
/** ClickHouse also interprets backslash escapes inside backtick identifiers. */
|
|
18
|
+
export const quoteClickHouseIdentifier = (value) => quoteIdentifier(value).replace(/\\/g, '\\\\');
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL3NxbGRiL2ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFxQy9ELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLE9BQXNCLEVBQW1DLEVBQUU7SUFDdEYsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUM7SUFDdkMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLFFBQVEsSUFBSSxFQUFFLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuRCxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDekYsTUFBTSxJQUFJLG1CQUFtQixDQUFDLGtCQUFrQixFQUFFLCtDQUErQyxDQUFDLENBQUM7SUFDckcsQ0FBQztJQUNELE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUM7QUFDekIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUMsS0FBYyxFQUFVLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUMxRixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLE9BQU8sSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBRXRFLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLEtBQWEsRUFBVSxFQUFFO0lBQ3ZELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDM0csTUFBTSxJQUFJLG1CQUFtQixDQUFDLGtCQUFrQixFQUFFLHlCQUF5QixDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUNELE9BQU8sR0FBRyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQztBQUMvQyxDQUFDLENBQUM7QUFFRixnRkFBZ0Y7QUFDaEYsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsQ0FBQyxLQUFhLEVBQVUsRUFBRSxDQUNqRSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyJ9
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import * as plugins from './plugins.mariadb.js';
|
|
2
|
+
import type { Operation } from '../core/classes.operation.js';
|
|
3
|
+
interface IPhysicalConnection {
|
|
4
|
+
raw: plugins.mariadb.Connection;
|
|
5
|
+
socket: plugins.net.Socket;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Owns admission and connector handles from creation onward. The connector's promise-pool
|
|
9
|
+
* acquisition cannot be cancelled. Its supported stream factory lets this pool own the
|
|
10
|
+
* TCP socket before authentication, while the connector owns the wire protocol and TLS.
|
|
11
|
+
*/
|
|
12
|
+
export declare class SqlPool {
|
|
13
|
+
private readonly config;
|
|
14
|
+
private readonly limit;
|
|
15
|
+
private readonly connections;
|
|
16
|
+
private readonly idle;
|
|
17
|
+
private readonly waiters;
|
|
18
|
+
private readonly active;
|
|
19
|
+
private occupied;
|
|
20
|
+
private closed;
|
|
21
|
+
private closing?;
|
|
22
|
+
constructor(config: plugins.mariadb.ConnectionConfig, limit: number);
|
|
23
|
+
private take;
|
|
24
|
+
private create;
|
|
25
|
+
getConnection(operation: Operation): Promise<SqlPooledConnection>;
|
|
26
|
+
end(): Promise<void>;
|
|
27
|
+
}
|
|
28
|
+
/** A lease can never affect a physical connection after returning ownership to the pool. */
|
|
29
|
+
export declare class SqlPooledConnection {
|
|
30
|
+
private readonly physical;
|
|
31
|
+
private readonly operation;
|
|
32
|
+
private readonly giveBack;
|
|
33
|
+
private readonly tasks;
|
|
34
|
+
private readonly streams;
|
|
35
|
+
private released;
|
|
36
|
+
private releasing?;
|
|
37
|
+
private readonly abort;
|
|
38
|
+
constructor(physical: IPhysicalConnection, operation: Operation, giveBack: (reusable: boolean) => Promise<void>);
|
|
39
|
+
private get raw();
|
|
40
|
+
private check;
|
|
41
|
+
private run;
|
|
42
|
+
execute<Result = plugins.mariadb.UpsertResult>(sql: string, values?: readonly unknown[]): Promise<Result>;
|
|
43
|
+
beginTransaction(): Promise<void>;
|
|
44
|
+
commit(): Promise<void>;
|
|
45
|
+
rollback(): Promise<void>;
|
|
46
|
+
queryStream(sql: string, values?: readonly unknown[]): plugins.stream.Readable;
|
|
47
|
+
isValid(): boolean;
|
|
48
|
+
destroy(): void;
|
|
49
|
+
release(): Promise<void>;
|
|
50
|
+
}
|
|
51
|
+
export {};
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
import * as plugins from './plugins.mariadb.js';
|
|
2
|
+
import { LosslessClientError } from '../core/classes.error.js';
|
|
3
|
+
/**
|
|
4
|
+
* Owns admission and connector handles from creation onward. The connector's promise-pool
|
|
5
|
+
* acquisition cannot be cancelled. Its supported stream factory lets this pool own the
|
|
6
|
+
* TCP socket before authentication, while the connector owns the wire protocol and TLS.
|
|
7
|
+
*/
|
|
8
|
+
export class SqlPool {
|
|
9
|
+
config;
|
|
10
|
+
limit;
|
|
11
|
+
connections = new Set();
|
|
12
|
+
idle = [];
|
|
13
|
+
waiters = new Set();
|
|
14
|
+
active = new Set();
|
|
15
|
+
occupied = 0;
|
|
16
|
+
closed = false;
|
|
17
|
+
closing;
|
|
18
|
+
constructor(config, limit) {
|
|
19
|
+
this.config = config;
|
|
20
|
+
this.limit = limit;
|
|
21
|
+
}
|
|
22
|
+
async take(operation) {
|
|
23
|
+
operation.check();
|
|
24
|
+
if (this.closed)
|
|
25
|
+
throw new LosslessClientError('closed', 'SQL pool is closed.');
|
|
26
|
+
if (this.occupied >= this.limit) {
|
|
27
|
+
await new Promise((resolve, reject) => {
|
|
28
|
+
const waiter = { operation, resolve, reject, abort: () => {
|
|
29
|
+
this.waiters.delete(waiter);
|
|
30
|
+
reject(operation.signal.reason);
|
|
31
|
+
} };
|
|
32
|
+
this.waiters.add(waiter);
|
|
33
|
+
operation.signal.addEventListener('abort', waiter.abort, { once: true });
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
else
|
|
37
|
+
this.occupied++;
|
|
38
|
+
let returned = false;
|
|
39
|
+
return () => {
|
|
40
|
+
if (returned)
|
|
41
|
+
return;
|
|
42
|
+
returned = true;
|
|
43
|
+
const next = this.waiters.values().next().value;
|
|
44
|
+
if (next) {
|
|
45
|
+
this.waiters.delete(next);
|
|
46
|
+
next.operation.signal.removeEventListener('abort', next.abort);
|
|
47
|
+
next.resolve();
|
|
48
|
+
}
|
|
49
|
+
else
|
|
50
|
+
this.occupied--;
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
async create(operation) {
|
|
54
|
+
const socket = plugins.net.createConnection({ host: this.config.host, port: this.config.port });
|
|
55
|
+
socket.setNoDelay(true);
|
|
56
|
+
socket.on('error', () => { });
|
|
57
|
+
const abort = () => socket.destroy(new LosslessClientError('closed', 'SQL connection cancelled during authentication.'));
|
|
58
|
+
operation.signal.addEventListener('abort', abort, { once: true });
|
|
59
|
+
try {
|
|
60
|
+
operation.check();
|
|
61
|
+
const raw = await plugins.mariadb.createConnection({ ...this.config, stream: callback => callback(undefined, socket) });
|
|
62
|
+
raw.on('error', () => { });
|
|
63
|
+
operation.check();
|
|
64
|
+
const physical = { raw, socket };
|
|
65
|
+
this.connections.add(physical);
|
|
66
|
+
return physical;
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
socket.destroy();
|
|
70
|
+
throw error;
|
|
71
|
+
}
|
|
72
|
+
finally {
|
|
73
|
+
operation.signal.removeEventListener('abort', abort);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
async getConnection(operation) {
|
|
77
|
+
const giveBack = await this.take(operation);
|
|
78
|
+
let lease;
|
|
79
|
+
try {
|
|
80
|
+
operation.check();
|
|
81
|
+
let current = this.idle.pop();
|
|
82
|
+
while (current && !current.raw.isValid()) {
|
|
83
|
+
current.socket.destroy();
|
|
84
|
+
this.connections.delete(current);
|
|
85
|
+
current = this.idle.pop();
|
|
86
|
+
}
|
|
87
|
+
current ??= await this.create(operation);
|
|
88
|
+
const physical = current;
|
|
89
|
+
lease = new SqlPooledConnection(current, operation, async (reusable) => {
|
|
90
|
+
this.active.delete(lease);
|
|
91
|
+
if (reusable && !this.closed && physical.raw.isValid())
|
|
92
|
+
this.idle.push(physical);
|
|
93
|
+
else {
|
|
94
|
+
physical.socket.destroy();
|
|
95
|
+
this.connections.delete(physical);
|
|
96
|
+
}
|
|
97
|
+
giveBack();
|
|
98
|
+
});
|
|
99
|
+
this.active.add(lease);
|
|
100
|
+
operation.check();
|
|
101
|
+
return lease;
|
|
102
|
+
}
|
|
103
|
+
catch (error) {
|
|
104
|
+
if (lease) {
|
|
105
|
+
lease.destroy();
|
|
106
|
+
await lease.release();
|
|
107
|
+
}
|
|
108
|
+
else
|
|
109
|
+
giveBack();
|
|
110
|
+
throw operation.signal.aborted ? operation.signal.reason : error;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
end() {
|
|
114
|
+
return this.closing ??= (async () => {
|
|
115
|
+
this.closed = true;
|
|
116
|
+
for (const waiter of this.waiters) {
|
|
117
|
+
waiter.operation.signal.removeEventListener('abort', waiter.abort);
|
|
118
|
+
waiter.reject(new LosslessClientError('closed', 'SQL pool closed during admission.'));
|
|
119
|
+
}
|
|
120
|
+
this.waiters.clear();
|
|
121
|
+
for (const lease of this.active)
|
|
122
|
+
lease.destroy();
|
|
123
|
+
for (const connection of this.connections) {
|
|
124
|
+
connection.socket.destroy(new LosslessClientError('closed', 'SQL connection closed.'));
|
|
125
|
+
}
|
|
126
|
+
const results = await Promise.allSettled([...this.active].map(lease => lease.release()));
|
|
127
|
+
this.idle.length = 0;
|
|
128
|
+
this.connections.clear();
|
|
129
|
+
const errors = results.flatMap(result => result.status === 'rejected' ? [result.reason] : []);
|
|
130
|
+
if (errors.length)
|
|
131
|
+
throw new AggregateError(errors, 'SQL pool cleanup failed.');
|
|
132
|
+
})();
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
/** A lease can never affect a physical connection after returning ownership to the pool. */
|
|
136
|
+
export class SqlPooledConnection {
|
|
137
|
+
physical;
|
|
138
|
+
operation;
|
|
139
|
+
giveBack;
|
|
140
|
+
tasks = new Set();
|
|
141
|
+
streams = new Set();
|
|
142
|
+
released = false;
|
|
143
|
+
releasing;
|
|
144
|
+
abort = () => this.destroy();
|
|
145
|
+
constructor(physical, operation, giveBack) {
|
|
146
|
+
this.physical = physical;
|
|
147
|
+
this.operation = operation;
|
|
148
|
+
this.giveBack = giveBack;
|
|
149
|
+
operation.signal.addEventListener('abort', this.abort, { once: true });
|
|
150
|
+
}
|
|
151
|
+
get raw() { return this.physical.raw; }
|
|
152
|
+
check() {
|
|
153
|
+
this.operation.check();
|
|
154
|
+
if (this.released || this.releasing)
|
|
155
|
+
throw new LosslessClientError('closed', 'SQL lease is closed.');
|
|
156
|
+
}
|
|
157
|
+
run(dispatch) {
|
|
158
|
+
this.check();
|
|
159
|
+
const task = dispatch();
|
|
160
|
+
this.tasks.add(task);
|
|
161
|
+
void task.finally(() => this.tasks.delete(task)).catch(() => { });
|
|
162
|
+
return task;
|
|
163
|
+
}
|
|
164
|
+
execute(sql, values = []) {
|
|
165
|
+
return this.run(() => this.raw.execute(sql, values));
|
|
166
|
+
}
|
|
167
|
+
beginTransaction() { return this.run(() => this.raw.beginTransaction()); }
|
|
168
|
+
commit() { return this.run(() => this.raw.commit()); }
|
|
169
|
+
rollback() { return this.run(() => this.raw.rollback()); }
|
|
170
|
+
queryStream(sql, values = []) {
|
|
171
|
+
this.check();
|
|
172
|
+
const stream = this.raw.queryStream(sql, values);
|
|
173
|
+
stream.on('error', () => { });
|
|
174
|
+
this.streams.add(stream);
|
|
175
|
+
const done = new Promise(resolve => stream.once('close', () => { this.streams.delete(stream); resolve(); }));
|
|
176
|
+
this.tasks.add(done);
|
|
177
|
+
void done.finally(() => this.tasks.delete(done));
|
|
178
|
+
return stream;
|
|
179
|
+
}
|
|
180
|
+
isValid() { return !this.released && this.raw.isValid(); }
|
|
181
|
+
destroy() {
|
|
182
|
+
if (!this.released) {
|
|
183
|
+
const error = new LosslessClientError('closed', 'SQL connection closed.');
|
|
184
|
+
for (const stream of this.streams)
|
|
185
|
+
stream.destroy(error);
|
|
186
|
+
this.physical.socket.destroy(error);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
release() {
|
|
190
|
+
return this.releasing ??= (async () => {
|
|
191
|
+
let resetError;
|
|
192
|
+
try {
|
|
193
|
+
await Promise.allSettled([...this.tasks]);
|
|
194
|
+
if (this.raw.isValid() && !this.operation.signal.aborted) {
|
|
195
|
+
try {
|
|
196
|
+
await this.raw.reset();
|
|
197
|
+
}
|
|
198
|
+
catch (error) {
|
|
199
|
+
resetError = error;
|
|
200
|
+
this.destroy();
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
finally {
|
|
205
|
+
this.released = true;
|
|
206
|
+
this.operation.signal.removeEventListener('abort', this.abort);
|
|
207
|
+
await this.giveBack(!resetError && !this.operation.signal.aborted);
|
|
208
|
+
}
|
|
209
|
+
if (resetError)
|
|
210
|
+
throw resetError;
|
|
211
|
+
})();
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwuc3FscG9vbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL3NxbGRiL2ludGVybmFsLnNxbHBvb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxzQkFBc0IsQ0FBQztBQUVoRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUsvRDs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLE9BQU87SUFTVztJQUEyRDtJQVJ2RSxXQUFXLEdBQUcsSUFBSSxHQUFHLEVBQXVCLENBQUM7SUFDN0MsSUFBSSxHQUEwQixFQUFFLENBQUM7SUFDakMsT0FBTyxHQUFHLElBQUksR0FBRyxFQUFXLENBQUM7SUFDN0IsTUFBTSxHQUFHLElBQUksR0FBRyxFQUF1QixDQUFDO0lBQ2pELFFBQVEsR0FBRyxDQUFDLENBQUM7SUFDYixNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ2YsT0FBTyxDQUFpQjtJQUVoQyxZQUE2QixNQUF3QyxFQUFtQixLQUFhO1FBQXhFLFdBQU0sR0FBTixNQUFNLENBQWtDO1FBQW1CLFVBQUssR0FBTCxLQUFLLENBQVE7SUFBRyxDQUFDO0lBRWpHLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBb0I7UUFDckMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2xCLElBQUksSUFBSSxDQUFDLE1BQU07WUFBRSxNQUFNLElBQUksbUJBQW1CLENBQUMsUUFBUSxFQUFFLHFCQUFxQixDQUFDLENBQUM7UUFDaEYsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNoQyxNQUFNLElBQUksT0FBTyxDQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO2dCQUMxQyxNQUFNLE1BQU0sR0FBWSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUU7d0JBQ2hFLElBQUksQ0FB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
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import * as clickhouse from '@clickhouse/client';
|
|
2
|
+
import * as stream from 'node:stream';
|
|
3
|
+
import * as asyncHooks from 'node:async_hooks';
|
|
4
|
+
export { clickhouse, stream, asyncHooks };
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2lucy5jbGlja2hvdXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvc3FsZGIvcGx1Z2lucy5jbGlja2hvdXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxVQUFVLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxLQUFLLE1BQU0sTUFBTSxhQUFhLENBQUM7QUFDdEMsT0FBTyxLQUFLLFVBQVUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQyJ9
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import * as mariadb from 'mariadb';
|
|
2
|
+
import * as stream from 'node:stream';
|
|
3
|
+
import * as net from 'node:net';
|
|
4
|
+
export { mariadb, stream, net };
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2lucy5tYXJpYWRiLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvc3FsZGIvcGx1Z2lucy5tYXJpYWRiLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sU0FBUyxDQUFDO0FBQ25DLE9BQU8sS0FBSyxNQUFNLE1BQU0sYUFBYSxDQUFDO0FBQ3RDLE9BQU8sS0FBSyxHQUFHLE1BQU0sVUFBVSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDIn0=
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
Copyright (c) 2014 Task Venture Capital GmbH (hello@task.vc)
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
5
|
+
in the Software without restriction, including without limitation the rights
|
|
6
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
8
|
+
furnished to do so, subject to the following conditions:
|
|
9
|
+
|
|
10
|
+
The above copyright notice and this permission notice shall be included in all
|
|
11
|
+
copies or substantial portions of the Software.
|
|
12
|
+
|
|
13
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
19
|
+
SOFTWARE.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
Copyright (c) 2022 Task Venture Capital GmbH (hello@task.vc)
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
5
|
+
in the Software without restriction, including without limitation the rights
|
|
6
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
8
|
+
furnished to do so, subject to the following conditions:
|
|
9
|
+
|
|
10
|
+
The above copyright notice and this permission notice shall be included in all
|
|
11
|
+
copies or substantial portions of the Software.
|
|
12
|
+
|
|
13
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
19
|
+
SOFTWARE.
|
package/license.md
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 Task Venture Capital GmbH
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/package.json
ADDED
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@lossless.org/client",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"private": false,
|
|
5
|
+
"description": "One typed client for NoSQLDB, MongoDB, SQLDB, MariaDB, ClickHouse and S3 object storage.",
|
|
6
|
+
"exports": {
|
|
7
|
+
".": {
|
|
8
|
+
"types": "./dist_ts/index.d.ts",
|
|
9
|
+
"import": "./dist_ts/index.js"
|
|
10
|
+
},
|
|
11
|
+
"./nosqldb": {
|
|
12
|
+
"types": "./dist_ts/nosqldb/index.d.ts",
|
|
13
|
+
"import": "./dist_ts/nosqldb/index.js"
|
|
14
|
+
},
|
|
15
|
+
"./sqldb": {
|
|
16
|
+
"types": "./dist_ts/sqldb/index.d.ts",
|
|
17
|
+
"import": "./dist_ts/sqldb/index.js"
|
|
18
|
+
},
|
|
19
|
+
"./objectstorage": {
|
|
20
|
+
"types": "./dist_ts/objectstorage/index.d.ts",
|
|
21
|
+
"import": "./dist_ts/objectstorage/index.js"
|
|
22
|
+
},
|
|
23
|
+
"./testsupport": {
|
|
24
|
+
"types": "./dist_ts/nosqldb/testsupport.d.ts",
|
|
25
|
+
"import": "./dist_ts/nosqldb/testsupport.js"
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"type": "module",
|
|
29
|
+
"repository": {
|
|
30
|
+
"type": "git",
|
|
31
|
+
"url": "https://code.foss.global/lossless.org/client.git"
|
|
32
|
+
},
|
|
33
|
+
"author": "Task Venture Capital GmbH",
|
|
34
|
+
"license": "MIT",
|
|
35
|
+
"bugs": {
|
|
36
|
+
"url": "https://community.foss.global/"
|
|
37
|
+
},
|
|
38
|
+
"homepage": "https://code.foss.global/lossless.org/client#readme",
|
|
39
|
+
"dependencies": {
|
|
40
|
+
"@aws-sdk/client-s3": "^3.1039.0",
|
|
41
|
+
"@clickhouse/client": "1.23.1",
|
|
42
|
+
"@push.rocks/lik": "^6.4.0",
|
|
43
|
+
"@push.rocks/smartdelay": "^3.0.5",
|
|
44
|
+
"@push.rocks/smartlog": "^3.2.1",
|
|
45
|
+
"@push.rocks/smartmime": "^2.0.4",
|
|
46
|
+
"@push.rocks/smartobject": "^1.0.12",
|
|
47
|
+
"@push.rocks/smartpath": "^6.0.0",
|
|
48
|
+
"@push.rocks/smartpromise": "^4.2.5",
|
|
49
|
+
"@push.rocks/smartrx": "^3.0.10",
|
|
50
|
+
"@push.rocks/smartstream": "^3.4.0",
|
|
51
|
+
"@push.rocks/smartstring": "^4.1.0",
|
|
52
|
+
"@push.rocks/smarttime": "^4.2.3",
|
|
53
|
+
"@push.rocks/smartunique": "^3.0.9",
|
|
54
|
+
"@push.rocks/taskbuffer": "^8.0.2",
|
|
55
|
+
"@tsclass/tsclass": "^9.5.1",
|
|
56
|
+
"mariadb": "3.5.4",
|
|
57
|
+
"minimatch": "^10.2.5",
|
|
58
|
+
"mongodb": "^7.2.0"
|
|
59
|
+
},
|
|
60
|
+
"devDependencies": {
|
|
61
|
+
"@git.zone/tsbuild": "4.4.2",
|
|
62
|
+
"@git.zone/tsrun": "2.0.6",
|
|
63
|
+
"@git.zone/tstest": "6.0.0",
|
|
64
|
+
"@lossless.org/nosqldb": "8.0.2",
|
|
65
|
+
"@lossless.org/objectstorage": "10.1.0",
|
|
66
|
+
"@lossless.org/sqldb": "0.2.3",
|
|
67
|
+
"@push.rocks/qenv": "^6.1.3",
|
|
68
|
+
"@types/node": "26.4.1",
|
|
69
|
+
"mongodb-memory-server": "11.1.0"
|
|
70
|
+
},
|
|
71
|
+
"files": [
|
|
72
|
+
"ts/**/*",
|
|
73
|
+
"dist_ts/**/*",
|
|
74
|
+
"readme.md",
|
|
75
|
+
"license.md",
|
|
76
|
+
".smartconfig.json",
|
|
77
|
+
"docs/source/**/license.md"
|
|
78
|
+
],
|
|
79
|
+
"keywords": [
|
|
80
|
+
"data manipulation",
|
|
81
|
+
"NoSQL",
|
|
82
|
+
"MongoDB",
|
|
83
|
+
"TypeScript",
|
|
84
|
+
"data validation",
|
|
85
|
+
"collections",
|
|
86
|
+
"custom data types",
|
|
87
|
+
"ODM"
|
|
88
|
+
],
|
|
89
|
+
"main": "dist_ts/index.js",
|
|
90
|
+
"types": "dist_ts/index.d.ts",
|
|
91
|
+
"scripts": {
|
|
92
|
+
"build": "tsbuild tsfolders",
|
|
93
|
+
"test": "tstest test/client/ --verbose --logfile --timeout 120",
|
|
94
|
+
"test:nosqldb": "tstest test/nosqldb/smartdb/ --verbose --logfile --timeout 120",
|
|
95
|
+
"test:mongodb": "node test/helpers/run.mongodb.mjs",
|
|
96
|
+
"test:objectstorage": "node test/helpers/run.objectstorage.mjs",
|
|
97
|
+
"test:minio": "node test/helpers/run.minio.mjs",
|
|
98
|
+
"test:package": "node test/helpers/check.package.mjs",
|
|
99
|
+
"test:sqldb": "node test/helpers/run.sqldb.mjs"
|
|
100
|
+
}
|
|
101
|
+
}
|