@hypequery/clickhouse 2.8.1 → 2.9.1
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/cli/generate-types.js +2 -3
- package/dist/cli/type-parsing.js +89 -6
- package/dist/types/clickhouse-types.d.ts +4 -2
- package/dist/types/clickhouse-types.d.ts.map +1 -1
- package/dist/types/insert.d.ts +4 -2
- package/dist/types/insert.d.ts.map +1 -1
- package/dist/types/type-helpers.d.ts +21 -3
- package/dist/types/type-helpers.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -95,8 +95,7 @@ export interface IntrospectedSchema {`;
|
|
|
95
95
|
const columns = await columnsQuery.json();
|
|
96
96
|
typeDefinitions += `\n ${table.name}: {`;
|
|
97
97
|
for (const column of columns) {
|
|
98
|
-
|
|
99
|
-
typeDefinitions += `\n '${column.name}': '${clickHouseType}';`;
|
|
98
|
+
typeDefinitions += `\n '${column.name}': ${JSON.stringify(column.type)};`;
|
|
100
99
|
}
|
|
101
100
|
typeDefinitions += '\n };';
|
|
102
101
|
}
|
|
@@ -114,7 +113,7 @@ export interface IntrospectedSchema {`;
|
|
|
114
113
|
|
|
115
114
|
typeDefinitions += `export interface ${capitalizeFirstLetter(table.name)}Record {`;
|
|
116
115
|
for (const column of columns) {
|
|
117
|
-
const tsType = clickhouseToTsType(column.type)
|
|
116
|
+
const tsType = clickhouseToTsType(column.type);
|
|
118
117
|
typeDefinitions += `\n '${column.name}': ${tsType};`;
|
|
119
118
|
}
|
|
120
119
|
typeDefinitions += '\n}\n\n';
|
package/dist/cli/type-parsing.js
CHANGED
|
@@ -2,8 +2,29 @@ function splitTopLevelArgs(value) {
|
|
|
2
2
|
const parts = [];
|
|
3
3
|
let current = '';
|
|
4
4
|
let depth = 0;
|
|
5
|
+
let quote = null;
|
|
6
|
+
let escaped = false;
|
|
5
7
|
|
|
6
8
|
for (const char of value) {
|
|
9
|
+
if (quote) {
|
|
10
|
+
current += char;
|
|
11
|
+
|
|
12
|
+
if (escaped) {
|
|
13
|
+
escaped = false;
|
|
14
|
+
} else if (char === '\\') {
|
|
15
|
+
escaped = true;
|
|
16
|
+
} else if (char === quote) {
|
|
17
|
+
quote = null;
|
|
18
|
+
}
|
|
19
|
+
continue;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
if (char === "'" || char === '"' || char === '`') {
|
|
23
|
+
quote = char;
|
|
24
|
+
current += char;
|
|
25
|
+
continue;
|
|
26
|
+
}
|
|
27
|
+
|
|
7
28
|
if (char === '(') {
|
|
8
29
|
depth += 1;
|
|
9
30
|
current += char;
|
|
@@ -32,6 +53,61 @@ function splitTopLevelArgs(value) {
|
|
|
32
53
|
return parts;
|
|
33
54
|
}
|
|
34
55
|
|
|
56
|
+
function decodeClickHouseEscape(char) {
|
|
57
|
+
switch (char) {
|
|
58
|
+
case 'b': return '\b';
|
|
59
|
+
case 'f': return '\f';
|
|
60
|
+
case 'n': return '\n';
|
|
61
|
+
case 'r': return '\r';
|
|
62
|
+
case 't': return '\t';
|
|
63
|
+
case '0': return '\0';
|
|
64
|
+
default: return char;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
function parseBacktickTuplePart(part) {
|
|
69
|
+
let name = '';
|
|
70
|
+
let escaped = false;
|
|
71
|
+
|
|
72
|
+
for (let index = 1; index < part.length; index += 1) {
|
|
73
|
+
const char = part[index];
|
|
74
|
+
|
|
75
|
+
if (escaped) {
|
|
76
|
+
name += decodeClickHouseEscape(char);
|
|
77
|
+
escaped = false;
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
if (char === '\\') {
|
|
82
|
+
escaped = true;
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
if (char === '`') {
|
|
87
|
+
const type = part.slice(index + 1);
|
|
88
|
+
return /^\s+\S/s.test(type) ? { name, type: type.trim() } : null;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
name += char;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
return null;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
function parseNamedTuplePart(value) {
|
|
98
|
+
const part = value.trim();
|
|
99
|
+
if (part.startsWith('`')) {
|
|
100
|
+
return parseBacktickTuplePart(part);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
const match = /^([A-Za-z_][A-Za-z0-9_]*)\s+(.+)$/s.exec(part);
|
|
104
|
+
return match ? { name: match[1], type: match[2].trim() } : null;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
function formatTypeScriptProperty(name) {
|
|
108
|
+
return /^[A-Za-z_$][A-Za-z0-9_$]*$/.test(name) ? name : JSON.stringify(name);
|
|
109
|
+
}
|
|
110
|
+
|
|
35
111
|
function unwrapType(type, wrapperName) {
|
|
36
112
|
// Trim whitespace and handle case-insensitive matching
|
|
37
113
|
const trimmedType = type.trim();
|
|
@@ -102,28 +178,35 @@ function getPrimitiveTsType(type) {
|
|
|
102
178
|
}
|
|
103
179
|
|
|
104
180
|
export const clickhouseToTsType = (type) => {
|
|
105
|
-
const
|
|
181
|
+
const normalizedType = type.trim();
|
|
182
|
+
const wrappedArrayType = unwrapType(normalizedType, 'Array');
|
|
106
183
|
if (wrappedArrayType) {
|
|
107
184
|
return `Array<${clickhouseToTsType(wrappedArrayType)}>`;
|
|
108
185
|
}
|
|
109
186
|
|
|
110
|
-
const wrappedNullableType = unwrapType(
|
|
187
|
+
const wrappedNullableType = unwrapType(normalizedType, 'Nullable');
|
|
111
188
|
if (wrappedNullableType) {
|
|
112
189
|
return `${clickhouseToTsType(wrappedNullableType)} | null`;
|
|
113
190
|
}
|
|
114
191
|
|
|
115
|
-
const wrappedLowCardinalityType = unwrapType(
|
|
192
|
+
const wrappedLowCardinalityType = unwrapType(normalizedType, 'LowCardinality');
|
|
116
193
|
if (wrappedLowCardinalityType) {
|
|
117
194
|
return clickhouseToTsType(wrappedLowCardinalityType);
|
|
118
195
|
}
|
|
119
196
|
|
|
120
|
-
const wrappedTupleType = unwrapType(
|
|
197
|
+
const wrappedTupleType = unwrapType(normalizedType, 'Tuple');
|
|
121
198
|
if (wrappedTupleType) {
|
|
122
199
|
const tupleParts = splitTopLevelArgs(wrappedTupleType);
|
|
200
|
+
const namedParts = tupleParts.map(parseNamedTuplePart);
|
|
201
|
+
if (namedParts.length > 0 && namedParts.every(part => part !== null)) {
|
|
202
|
+
return `{ ${namedParts
|
|
203
|
+
.map(part => `${formatTypeScriptProperty(part.name)}: ${clickhouseToTsType(part.type)}`)
|
|
204
|
+
.join('; ')} }`;
|
|
205
|
+
}
|
|
123
206
|
return `[${tupleParts.map(clickhouseToTsType).join(', ')}]`;
|
|
124
207
|
}
|
|
125
208
|
|
|
126
|
-
const wrappedMapType = unwrapType(
|
|
209
|
+
const wrappedMapType = unwrapType(normalizedType, 'Map');
|
|
127
210
|
if (wrappedMapType) {
|
|
128
211
|
const mapParts = splitTopLevelArgs(wrappedMapType);
|
|
129
212
|
if (mapParts.length === 2) {
|
|
@@ -134,7 +217,7 @@ export const clickhouseToTsType = (type) => {
|
|
|
134
217
|
return 'Record<string, unknown>';
|
|
135
218
|
}
|
|
136
219
|
|
|
137
|
-
const primitiveType = getPrimitiveTsType(
|
|
220
|
+
const primitiveType = getPrimitiveTsType(normalizedType);
|
|
138
221
|
if (primitiveType) return primitiveType;
|
|
139
222
|
|
|
140
223
|
// Unsupported or more complex ClickHouse types currently preserve the historical fallback.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ParseTopLevelArgs } from './type-helpers.js';
|
|
1
|
+
import type { AreAllTuplePartsNamed, ParseNamedTupleFields, ParseTopLevelArgs } from './type-helpers.js';
|
|
2
2
|
export type ClickHouseInteger = 'Int8' | 'Int16' | 'Int32' | 'Int64' | 'Int128' | 'Int256' | 'UInt8' | 'UInt16' | 'UInt32' | 'UInt64' | 'UInt128' | 'UInt256';
|
|
3
3
|
export type ClickHouseJsSafeInteger = 'Int8' | 'Int16' | 'Int32' | 'UInt8' | 'UInt16' | 'UInt32';
|
|
4
4
|
export type ClickHouseJsUnsafeInteger = Exclude<ClickHouseInteger, ClickHouseJsSafeInteger>;
|
|
@@ -11,7 +11,9 @@ export type ClickHouseBoolean = 'Bool' | 'Boolean';
|
|
|
11
11
|
export type ClickHouseEnum = `Enum8(${string})` | `Enum16(${string})`;
|
|
12
12
|
export type ClickHouseBaseType = ClickHouseInteger | ClickHouseFloat | ClickHouseDecimal | ClickHouseDateTime | ClickHouseString | ClickHouseJson | ClickHouseBoolean | ClickHouseEnum;
|
|
13
13
|
export type ClickHouseType = ClickHouseBaseType | `Array(${string})` | `Nullable(${string})` | `LowCardinality(${string})` | `Map(${string}, ${string})` | `Tuple(${string})`;
|
|
14
|
-
export type InferClickHouseType<T extends string, Depth extends number = 0> = Depth extends 5 ? unknown : T extends ClickHouseJsSafeInteger ? number : T extends ClickHouseJsUnsafeInteger ? string : T extends ClickHouseFloat ? number : T extends ClickHouseDecimal ? number : T extends ClickHouseDateTime ? string : T extends ClickHouseString ? string : T extends ClickHouseJson ? unknown : T extends ClickHouseEnum ? string : T extends ClickHouseBoolean ? boolean : T extends `Array(${infer U})` ? U extends ClickHouseType ? Array<InferClickHouseType<U, Add1<Depth>>> : unknown[] : T extends `Tuple(${infer U})` ? ParseTopLevelArgs<U> extends infer Parts extends string[] ? {
|
|
14
|
+
export type InferClickHouseType<T extends string, Depth extends number = 0> = Depth extends 5 ? unknown : T extends ClickHouseJsSafeInteger ? number : T extends ClickHouseJsUnsafeInteger ? string : T extends ClickHouseFloat ? number : T extends ClickHouseDecimal ? number : T extends ClickHouseDateTime ? string : T extends ClickHouseString ? string : T extends ClickHouseJson ? unknown : T extends ClickHouseEnum ? string : T extends ClickHouseBoolean ? boolean : T extends `Array(${infer U})` ? U extends ClickHouseType ? Array<InferClickHouseType<U, Add1<Depth>>> : unknown[] : T extends `Tuple(${infer U})` ? ParseTopLevelArgs<U> extends infer Parts extends string[] ? AreAllTuplePartsNamed<Parts> extends true ? ParseNamedTupleFields<Parts> extends infer Fields extends Record<string, string> ? {
|
|
15
|
+
[K in keyof Fields]: InferClickHouseType<Fields[K] & ClickHouseType, Add1<Depth>>;
|
|
16
|
+
} : never : {
|
|
15
17
|
[K in keyof Parts]: InferClickHouseType<Parts[K] & ClickHouseType, Add1<Depth>>;
|
|
16
18
|
} : unknown[] : T extends `Nullable(${infer U})` ? U extends ClickHouseType ? InferClickHouseType<U, Add1<Depth>> | null : unknown | null : T extends `LowCardinality(${infer U})` ? U extends ClickHouseType ? InferClickHouseType<U, Add1<Depth>> : unknown : T extends `Map(${string}, ${infer V})` ? V extends ClickHouseType ? Record<string, InferClickHouseType<V, Add1<Depth>>> : Record<string, unknown> : unknown;
|
|
17
19
|
type Add1<T extends number> = T extends 0 ? 1 : T extends 1 ? 2 : T extends 2 ? 3 : T extends 3 ? 4 : 5;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clickhouse-types.d.ts","sourceRoot":"","sources":["../../src/types/clickhouse-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"clickhouse-types.d.ts","sourceRoot":"","sources":["../../src/types/clickhouse-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,iBAAiB,GACzB,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAC1D,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAErE,MAAM,MAAM,uBAAuB,GAC/B,MAAM,GAAG,OAAO,GAAG,OAAO,GAC1B,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAElC,MAAM,MAAM,yBAAyB,GACnC,OAAO,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,CAAC;AAEtD,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,SAAS,CAAC;AAEpD,MAAM,MAAM,iBAAiB,GACzB,WAAW,GAAG,WAAW,GAAG,YAAY,GAAG,YAAY,GACvD,aAAa,MAAM,GAAG,GACtB,aAAa,MAAM,GAAG,GACtB,cAAc,MAAM,GAAG,GACvB,cAAc,MAAM,GAAG,GACvB,WAAW,MAAM,KAAK,MAAM,GAAG,CAAC;AAEpC,MAAM,MAAM,kBAAkB,GAC1B,MAAM,GAAG,QAAQ,GACjB,UAAU,GACV,aAAa,MAAM,IAAI,GACvB,cAAc,MAAM,GAAG,GACvB,cAAc,MAAM,MAAM,MAAM,IAAI,CAAC;AAEzC,MAAM,MAAM,gBAAgB,GACxB,QAAQ,GACR,eAAe,MAAM,GAAG,GACxB,MAAM,GACN,MAAM,GACN,MAAM,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC;AAEpC,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,SAAS,CAAC;AAEnD,MAAM,MAAM,cAAc,GACtB,SAAS,MAAM,GAAG,GAClB,UAAU,MAAM,GAAG,CAAC;AAExB,MAAM,MAAM,kBAAkB,GAC1B,iBAAiB,GACjB,eAAe,GACf,iBAAiB,GACjB,kBAAkB,GAClB,gBAAgB,GAChB,cAAc,GACd,iBAAiB,GACjB,cAAc,CAAC;AAEnB,MAAM,MAAM,cAAc,GACtB,kBAAkB,GAClB,SAAS,MAAM,GAAG,GAClB,YAAY,MAAM,GAAG,GACrB,kBAAkB,MAAM,GAAG,GAC3B,OAAO,MAAM,KAAK,MAAM,GAAG,GAC3B,SAAS,MAAM,GAAG,CAAC;AAGvB,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,SAAS,MAAM,GAAG,CAAC,IACxE,KAAK,SAAS,CAAC,GACb,OAAO,GACP,CAAC,SAAS,uBAAuB,GAAG,MAAM,GAC1C,CAAC,SAAS,yBAAyB,GAAG,MAAM,GAC5C,CAAC,SAAS,eAAe,GAAG,MAAM,GAClC,CAAC,SAAS,iBAAiB,GAAG,MAAM,GACpC,CAAC,SAAS,kBAAkB,GAAG,MAAM,GACrC,CAAC,SAAS,gBAAgB,GAAG,MAAM,GACnC,CAAC,SAAS,cAAc,GAAG,OAAO,GAClC,CAAC,SAAS,cAAc,GAAG,MAAM,GACjC,CAAC,SAAS,iBAAiB,GAAG,OAAO,GACrC,CAAC,SAAS,SAAS,MAAM,CAAC,GAAG,GAC7B,CAAC,SAAS,cAAc,GACxB,KAAK,CAAC,mBAAmB,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAC1C,OAAO,EAAE,GACT,CAAC,SAAS,SAAS,MAAM,CAAC,GAAG,GAC7B,iBAAiB,CAAC,CAAC,CAAC,SAAS,MAAM,KAAK,SAAS,MAAM,EAAE,GACvD,qBAAqB,CAAC,KAAK,CAAC,SAAS,IAAI,GACvC,qBAAqB,CAAC,KAAK,CAAC,SAAS,MAAM,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9E;KAAG,CAAC,IAAI,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;CAAE,GACrF,KAAK,GACP;KAAG,CAAC,IAAI,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;CAAE,GACrF,OAAO,EAAE,GACX,CAAC,SAAS,YAAY,MAAM,CAAC,GAAG,GAChC,CAAC,SAAS,cAAc,GACxB,mBAAmB,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,GAC1C,OAAO,GAAG,IAAI,GACd,CAAC,SAAS,kBAAkB,MAAM,CAAC,GAAG,GACtC,CAAC,SAAS,cAAc,GACtB,mBAAmB,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GACnC,OAAO,GACT,CAAC,SAAS,OAAO,MAAM,KAAK,MAAM,CAAC,GAAG,GACtC,CAAC,SAAS,cAAc,GACxB,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GACnD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,OAAO,CAAC;AAEZ,KAAK,IAAI,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAGxG,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAG9D,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,gBAAgB,IAAI;KACvD,CAAC,IAAI,MAAM,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC1C,CAAC"}
|
package/dist/types/insert.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ClickHouseJsSafeInteger, ClickHouseJsUnsafeInteger, ClickHouseFloat, ClickHouseDecimal, ClickHouseDateTime, ClickHouseString, ClickHouseJson, ClickHouseEnum, ClickHouseBoolean, ClickHouseType } from './clickhouse-types.js';
|
|
2
|
-
import type { ParseTopLevelArgs } from './type-helpers.js';
|
|
2
|
+
import type { AreAllTuplePartsNamed, ParseNamedTupleFields, ParseTopLevelArgs } from './type-helpers.js';
|
|
3
3
|
import type { ColumnType } from './schema.js';
|
|
4
4
|
import type { Simplify } from '../core/types/type-helpers.js';
|
|
5
5
|
type Add1<T extends number> = T extends 0 ? 1 : T extends 1 ? 2 : T extends 2 ? 3 : T extends 3 ? 4 : 5;
|
|
@@ -26,7 +26,9 @@ export type InsertJsonValue = string | number | boolean | null | InsertJsonValue
|
|
|
26
26
|
export type InsertValue<T extends string, Depth extends number = 0> = [
|
|
27
27
|
ClickHouseType
|
|
28
28
|
] extends [T] ? unknown : InsertValueOf<T, Depth>;
|
|
29
|
-
type InsertValueOf<T extends string, Depth extends number> = Depth extends 5 ? unknown : T extends ClickHouseJsSafeInteger ? number : T extends ClickHouseJsUnsafeInteger ? string | number | bigint : T extends ClickHouseFloat ? number : T extends ClickHouseDecimal ? number | string : T extends 'Date' | 'Date32' ? string : T extends ClickHouseDateTime ? string | Date | number : T extends ClickHouseString ? string : T extends ClickHouseJson ? InsertJsonValue : T extends ClickHouseEnum ? string | number : T extends ClickHouseBoolean ? boolean : T extends `Array(${infer U})` ? U extends ClickHouseType ? Array<InsertValue<U, Add1<Depth>>> : unknown[] : T extends `Tuple(${infer U})` ? ParseTopLevelArgs<U> extends infer Parts extends string[] ? {
|
|
29
|
+
type InsertValueOf<T extends string, Depth extends number> = Depth extends 5 ? unknown : T extends ClickHouseJsSafeInteger ? number : T extends ClickHouseJsUnsafeInteger ? string | number | bigint : T extends ClickHouseFloat ? number : T extends ClickHouseDecimal ? number | string : T extends 'Date' | 'Date32' ? string : T extends ClickHouseDateTime ? string | Date | number : T extends ClickHouseString ? string : T extends ClickHouseJson ? InsertJsonValue : T extends ClickHouseEnum ? string | number : T extends ClickHouseBoolean ? boolean : T extends `Array(${infer U})` ? U extends ClickHouseType ? Array<InsertValue<U, Add1<Depth>>> : unknown[] : T extends `Tuple(${infer U})` ? ParseTopLevelArgs<U> extends infer Parts extends string[] ? AreAllTuplePartsNamed<Parts> extends true ? ParseNamedTupleFields<Parts> extends infer Fields extends Record<string, string> ? {
|
|
30
|
+
[K in keyof Fields]: InsertValue<Fields[K] & ClickHouseType, Add1<Depth>>;
|
|
31
|
+
} : never : {
|
|
30
32
|
[K in keyof Parts]: InsertValue<Parts[K] & ClickHouseType, Add1<Depth>>;
|
|
31
33
|
} : unknown[] : T extends `Nullable(${infer U})` ? U extends ClickHouseType ? InsertValue<U, Add1<Depth>> | null : unknown | null : T extends `LowCardinality(${infer U})` ? U extends ClickHouseType ? InsertValue<U, Add1<Depth>> : unknown : T extends `Map(${string}, ${infer V})` ? V extends ClickHouseType ? Record<string, InsertValue<V, Add1<Depth>>> : Record<string, unknown> : unknown;
|
|
32
34
|
type IsNullableColumn<T extends string> = T extends `Nullable(${string})` ? true : T extends `LowCardinality(Nullable(${string}))` ? true : false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"insert.d.ts","sourceRoot":"","sources":["../../src/types/insert.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,yBAAyB,EACzB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,cAAc,EACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"insert.d.ts","sourceRoot":"","sources":["../../src/types/insert.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,25 @@
|
|
|
1
|
-
type
|
|
2
|
-
type
|
|
1
|
+
type ClickHouseWhitespace = ' ' | '\n' | '\r' | '\t';
|
|
2
|
+
type QuoteCharacter = "'" | '"' | '`';
|
|
3
|
+
type TrimLeft<S extends string> = S extends `${ClickHouseWhitespace}${infer R}` ? TrimLeft<R> : S;
|
|
4
|
+
type TrimRight<S extends string> = S extends `${infer R}${ClickHouseWhitespace}` ? TrimRight<R> : S;
|
|
3
5
|
type Trim<S extends string> = TrimLeft<TrimRight<S>>;
|
|
4
6
|
type Push<T extends string[], V extends string> = [...T, V];
|
|
5
|
-
export type ParseTopLevelArgs<S extends string, Current extends string = '', Depth extends string[] = [], Result extends string[] = []> = S extends `${infer First}${infer Rest}` ? First extends '(' ? ParseTopLevelArgs<Rest, `${Current}${First}`, Push<Depth, First>, Result> : First extends ')' ? Depth extends [...infer Remaining extends string[], string] ? ParseTopLevelArgs<Rest, `${Current}${First}`, Remaining, Result> : ParseTopLevelArgs<Rest, `${Current}${First}`, Depth, Result> : First extends ',' ? Depth['length'] extends 0 ? ParseTopLevelArgs<Rest, '', Depth, Push<Result, Trim<Current>>> : ParseTopLevelArgs<Rest, `${Current}${First}`, Depth, Result> : ParseTopLevelArgs<Rest, `${Current}${First}`, Depth, Result> : Current extends '' ? Result : Push<Result, Trim<Current>>;
|
|
7
|
+
export type ParseTopLevelArgs<S extends string, Current extends string = '', Depth extends string[] = [], Result extends string[] = [], Quote extends QuoteCharacter | '' = '', Escaped extends boolean = false> = S extends `${infer First}${infer Rest}` ? Quote extends QuoteCharacter ? Escaped extends true ? ParseTopLevelArgs<Rest, `${Current}${First}`, Depth, Result, Quote, false> : First extends '\\' ? ParseTopLevelArgs<Rest, `${Current}${First}`, Depth, Result, Quote, true> : First extends Quote ? ParseTopLevelArgs<Rest, `${Current}${First}`, Depth, Result, '', false> : ParseTopLevelArgs<Rest, `${Current}${First}`, Depth, Result, Quote, false> : First extends QuoteCharacter ? ParseTopLevelArgs<Rest, `${Current}${First}`, Depth, Result, First, false> : First extends '(' ? ParseTopLevelArgs<Rest, `${Current}${First}`, Push<Depth, First>, Result> : First extends ')' ? Depth extends [...infer Remaining extends string[], string] ? ParseTopLevelArgs<Rest, `${Current}${First}`, Remaining, Result> : ParseTopLevelArgs<Rest, `${Current}${First}`, Depth, Result> : First extends ',' ? Depth['length'] extends 0 ? ParseTopLevelArgs<Rest, '', Depth, Push<Result, Trim<Current>>> : ParseTopLevelArgs<Rest, `${Current}${First}`, Depth, Result> : ParseTopLevelArgs<Rest, `${Current}${First}`, Depth, Result> : Current extends '' ? Result : Push<Result, Trim<Current>>;
|
|
8
|
+
type LowercaseLetter = 'a' | 'b' | 'c' | 'd' | 'e' | 'f' | 'g' | 'h' | 'i' | 'j' | 'k' | 'l' | 'm' | 'n' | 'o' | 'p' | 'q' | 'r' | 's' | 't' | 'u' | 'v' | 'w' | 'x' | 'y' | 'z';
|
|
9
|
+
type Digit = '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9';
|
|
10
|
+
type IdentifierStart = LowercaseLetter | Uppercase<LowercaseLetter> | '_';
|
|
11
|
+
type IdentifierCharacter = IdentifierStart | Digit;
|
|
12
|
+
type DecodeClickHouseEscape<C extends string> = C extends 'b' ? '\b' : C extends 'f' ? '\f' : C extends 'n' ? '\n' : C extends 'r' ? '\r' : C extends 't' ? '\t' : C extends '0' ? '\0' : C;
|
|
13
|
+
type TakeIdentifierRest<S extends string, Name extends string> = S extends `${infer First}${infer Rest}` ? First extends IdentifierCharacter ? TakeIdentifierRest<Rest, `${Name}${First}`> : First extends ClickHouseWhitespace ? TrimLeft<Rest> extends infer Type extends string ? Type extends '' ? never : [Name, Type] : never : never : never;
|
|
14
|
+
type TakeUnquotedIdentifier<S extends string> = S extends `${infer First}${infer Rest}` ? First extends IdentifierStart ? TakeIdentifierRest<Rest, First> : never : never;
|
|
15
|
+
type TakeBacktickIdentifier<S extends string, Name extends string = '', Escaped extends boolean = false> = S extends `${infer First}${infer Rest}` ? Escaped extends true ? TakeBacktickIdentifier<Rest, `${Name}${DecodeClickHouseEscape<First>}`, false> : First extends '\\' ? TakeBacktickIdentifier<Rest, Name, true> : First extends '`' ? Rest extends `${ClickHouseWhitespace}${infer Type}` ? TrimLeft<Type> extends infer TrimmedType extends string ? TrimmedType extends '' ? never : [Name, TrimmedType] : never : never : TakeBacktickIdentifier<Rest, `${Name}${First}`, false> : never;
|
|
16
|
+
/** Split a canonical named Tuple element into its field name and ClickHouse type. */
|
|
17
|
+
export type ParseNamedTuplePart<S extends string> = Trim<S> extends infer Part extends string ? Part extends `\`${infer Rest}` ? TakeBacktickIdentifier<Rest> : TakeUnquotedIdentifier<Part> : never;
|
|
18
|
+
/** Whether every Tuple argument has an explicit field name. */
|
|
19
|
+
export type AreAllTuplePartsNamed<Parts extends readonly string[]> = Parts extends readonly [infer First extends string, ...infer Rest extends string[]] ? [ParseNamedTuplePart<First>] extends [never] ? false : AreAllTuplePartsNamed<Rest> : true;
|
|
20
|
+
/** Convert named Tuple arguments into a field-name-to-ClickHouse-type map. */
|
|
21
|
+
export type ParseNamedTupleFields<Parts extends readonly string[]> = {
|
|
22
|
+
[Part in Parts[number] as ParseNamedTuplePart<Part> extends [infer Name extends string, string] ? Name : never]: ParseNamedTuplePart<Part> extends [string, infer Type extends string] ? Type : never;
|
|
23
|
+
};
|
|
6
24
|
export {};
|
|
7
25
|
//# sourceMappingURL=type-helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-helpers.d.ts","sourceRoot":"","sources":["../../src/types/type-helpers.ts"],"names":[],"mappings":"AAAA,KAAK,QAAQ,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"type-helpers.d.ts","sourceRoot":"","sources":["../../src/types/type-helpers.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hypequery/clickhouse",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.9.1",
|
|
4
4
|
"description": "Type-safe ClickHouse query builder and schema generator for TypeScript analytics",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"clickhouse",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"dependencies": {
|
|
49
49
|
"@clickhouse/client": "^1.18.3",
|
|
50
50
|
"dotenv": "^16.0.0",
|
|
51
|
-
"@hypequery/protocol": "0.11.
|
|
51
|
+
"@hypequery/protocol": "0.11.1"
|
|
52
52
|
},
|
|
53
53
|
"peerDependencies": {
|
|
54
54
|
"@clickhouse/client-web": "^0.2.0 || ^1.0.0",
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
"typescript": "^5.7.3",
|
|
75
75
|
"@vitest/coverage-v8": "^3.2.6",
|
|
76
76
|
"vitest": "^3.2.6",
|
|
77
|
-
"@hypequery/datasets": "0.13.
|
|
77
|
+
"@hypequery/datasets": "0.13.6"
|
|
78
78
|
},
|
|
79
79
|
"ts-node": {
|
|
80
80
|
"esm": true,
|