@querypanel/node-sdk 1.0.15 → 1.0.17
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/README.md +125 -1
- package/dist/cjs/adapters/clickhouse.js +0 -1
- package/dist/cjs/adapters/clickhouse.js.map +1 -1
- package/dist/cjs/anonymize.spec.js +1 -3
- package/dist/cjs/anonymize.spec.js.map +1 -1
- package/dist/cjs/index.d.ts +116 -11
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +91 -15
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/introspectV3.d.ts +45 -0
- package/dist/cjs/introspectV3.d.ts.map +1 -0
- package/dist/cjs/introspectV3.js +99 -0
- package/dist/cjs/introspectV3.js.map +1 -0
- package/dist/cjs/schema/types.d.ts +3 -3
- package/dist/cjs/schema/types.d.ts.map +1 -1
- package/dist/cjs/utils/clickhouse.d.ts.map +1 -1
- package/dist/cjs/utils/clickhouse.js +12 -11
- package/dist/cjs/utils/clickhouse.js.map +1 -1
- package/dist/esm/adapters/clickhouse.js +0 -1
- package/dist/esm/adapters/clickhouse.js.map +1 -1
- package/dist/esm/anonymize.spec.js +1 -3
- package/dist/esm/anonymize.spec.js.map +1 -1
- package/dist/esm/index.d.ts +116 -11
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +91 -15
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/introspectV3.d.ts +45 -0
- package/dist/esm/introspectV3.d.ts.map +1 -0
- package/dist/esm/introspectV3.js +96 -0
- package/dist/esm/introspectV3.js.map +1 -0
- package/dist/esm/schema/types.d.ts +3 -3
- package/dist/esm/schema/types.d.ts.map +1 -1
- package/dist/esm/utils/clickhouse.d.ts.map +1 -1
- package/dist/esm/utils/clickhouse.js +12 -11
- package/dist/esm/utils/clickhouse.js.map +1 -1
- package/package.json +3 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type DatabaseKind =
|
|
1
|
+
export type DatabaseKind = "clickhouse" | "postgres" | string;
|
|
2
2
|
export interface DatabaseIdentifier {
|
|
3
3
|
kind: DatabaseKind;
|
|
4
4
|
name: string;
|
|
@@ -38,7 +38,7 @@ export interface IndexSchema {
|
|
|
38
38
|
}
|
|
39
39
|
export interface ConstraintSchema {
|
|
40
40
|
name: string;
|
|
41
|
-
type:
|
|
41
|
+
type: "PRIMARY KEY" | "FOREIGN KEY" | "UNIQUE" | "CHECK" | string;
|
|
42
42
|
columns: string[];
|
|
43
43
|
referencedTable?: string;
|
|
44
44
|
referencedColumns?: string[];
|
|
@@ -52,7 +52,7 @@ export interface TableStatistics {
|
|
|
52
52
|
export interface TableSchema {
|
|
53
53
|
name: string;
|
|
54
54
|
schema: string;
|
|
55
|
-
type:
|
|
55
|
+
type: "table" | "view" | string;
|
|
56
56
|
engine?: string;
|
|
57
57
|
comment?: string;
|
|
58
58
|
statistics?: TableStatistics;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/schema/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,UAAU,GAAG,MAAM,CAAC;AAE9D,MAAM,WAAW,kBAAkB;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/schema/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,UAAU,GAAG,MAAM,CAAC;AAE9D,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,aAAa,GAAG,aAAa,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IAClE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,WAAW,EAAE,gBAAgB,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,kBAAkB,CAAC;IACvB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,iBAAiB;IAChC,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clickhouse.d.ts","sourceRoot":"","sources":["../../../src/utils/clickhouse.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"clickhouse.d.ts","sourceRoot":"","sources":["../../../src/utils/clickhouse.ts"],"names":[],"mappings":"AAGA,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAYxD;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAWA;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOzE;AAED,wBAAgB,kBAAkB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,EAAE,CAiCvE"}
|
|
@@ -45,28 +45,28 @@ export function parseKeyExpression(expression) {
|
|
|
45
45
|
let value = expression.trim();
|
|
46
46
|
if (!value)
|
|
47
47
|
return [];
|
|
48
|
-
if (/^tuple\s*\(/i.test(value) && value.endsWith(
|
|
49
|
-
value = value.replace(/^tuple\s*\(/i,
|
|
48
|
+
if (/^tuple\s*\(/i.test(value) && value.endsWith(")")) {
|
|
49
|
+
value = value.replace(/^tuple\s*\(/i, "").replace(/\)$/, "");
|
|
50
50
|
}
|
|
51
51
|
const columns = [];
|
|
52
52
|
let depth = 0;
|
|
53
|
-
let token =
|
|
53
|
+
let token = "";
|
|
54
54
|
for (const ch of value) {
|
|
55
|
-
if (ch ===
|
|
55
|
+
if (ch === "(") {
|
|
56
56
|
depth += 1;
|
|
57
57
|
token += ch;
|
|
58
58
|
continue;
|
|
59
59
|
}
|
|
60
|
-
if (ch ===
|
|
60
|
+
if (ch === ")") {
|
|
61
61
|
depth = Math.max(0, depth - 1);
|
|
62
62
|
token += ch;
|
|
63
63
|
continue;
|
|
64
64
|
}
|
|
65
|
-
if (ch ===
|
|
65
|
+
if (ch === "," && depth === 0) {
|
|
66
66
|
const col = token.trim();
|
|
67
67
|
if (col)
|
|
68
68
|
columns.push(stripWrapper(col));
|
|
69
|
-
token =
|
|
69
|
+
token = "";
|
|
70
70
|
continue;
|
|
71
71
|
}
|
|
72
72
|
token += ch;
|
|
@@ -78,12 +78,13 @@ export function parseKeyExpression(expression) {
|
|
|
78
78
|
}
|
|
79
79
|
function stripWrapper(value) {
|
|
80
80
|
const noQuotes = stripQuotes(value);
|
|
81
|
-
const withoutTicks = noQuotes.replace(/`/g,
|
|
82
|
-
const parts = withoutTicks.split(
|
|
83
|
-
return parts[parts.length - 1]?.trim() ??
|
|
81
|
+
const withoutTicks = noQuotes.replace(/`/g, "").trim();
|
|
82
|
+
const parts = withoutTicks.split(".");
|
|
83
|
+
return parts[parts.length - 1]?.trim() ?? "";
|
|
84
84
|
}
|
|
85
85
|
function stripQuotes(value) {
|
|
86
|
-
if ((value.startsWith('"') && value.endsWith('"')) ||
|
|
86
|
+
if ((value.startsWith('"') && value.endsWith('"')) ||
|
|
87
|
+
(value.startsWith("'") && value.endsWith("'"))) {
|
|
87
88
|
return value.slice(1, -1);
|
|
88
89
|
}
|
|
89
90
|
return value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clickhouse.js","sourceRoot":"","sources":["../../../src/utils/clickhouse.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"clickhouse.js","sourceRoot":"","sources":["../../../src/utils/clickhouse.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@querypanel/node-sdk",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.17",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -28,7 +28,8 @@
|
|
|
28
28
|
"prepublishOnly": "npm run build",
|
|
29
29
|
"test": "vitest",
|
|
30
30
|
"test:run": "vitest run",
|
|
31
|
-
"test:coverage": "vitest run --coverage"
|
|
31
|
+
"test:coverage": "vitest run --coverage",
|
|
32
|
+
"introspect:local": "tsx scripts/introspect-local.ts"
|
|
32
33
|
},
|
|
33
34
|
"peerDependencies": {
|
|
34
35
|
"@clickhouse/client": "^1.12.1"
|