@hypequery/clickhouse 1.4.0-beta.2 → 1.4.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/README.md +65 -2
- package/dist/cli/bin.js +65 -23
- package/dist/cli/generate-types.js +41 -3
- package/dist/core/cache/cache-manager.d.ts +4 -0
- package/dist/core/cache/cache-manager.d.ts.map +1 -0
- package/dist/core/cache/cache-manager.js +176 -0
- package/dist/core/cache/controller.d.ts +15 -0
- package/dist/core/cache/controller.d.ts.map +1 -0
- package/dist/core/cache/controller.js +58 -0
- package/dist/core/cache/key.d.ts +11 -0
- package/dist/core/cache/key.d.ts.map +1 -0
- package/dist/core/cache/key.js +26 -0
- package/dist/core/cache/providers/memory-lru.d.ts +31 -0
- package/dist/core/cache/providers/memory-lru.d.ts.map +1 -0
- package/dist/core/cache/providers/memory-lru.js +156 -0
- package/dist/core/cache/providers/noop.d.ts +7 -0
- package/dist/core/cache/providers/noop.d.ts.map +1 -0
- package/dist/core/cache/providers/noop.js +11 -0
- package/dist/core/cache/runtime-context.d.ts +30 -0
- package/dist/core/cache/runtime-context.d.ts.map +1 -0
- package/dist/core/cache/runtime-context.js +58 -0
- package/dist/core/cache/serialization.d.ts +6 -0
- package/dist/core/cache/serialization.d.ts.map +1 -0
- package/dist/core/cache/serialization.js +166 -0
- package/dist/core/cache/types.d.ts +52 -0
- package/dist/core/cache/types.d.ts.map +1 -0
- package/dist/core/cache/types.js +1 -0
- package/dist/core/cache/utils.d.ts +9 -0
- package/dist/core/cache/utils.d.ts.map +1 -0
- package/dist/core/cache/utils.js +30 -0
- package/dist/core/connection.d.ts.map +1 -1
- package/dist/core/connection.js +4 -3
- package/dist/core/cross-filter.d.ts +12 -9
- package/dist/core/cross-filter.d.ts.map +1 -1
- package/dist/core/cross-filter.js +9 -6
- package/dist/core/env/auto-client.browser.d.ts +3 -0
- package/dist/core/env/auto-client.browser.d.ts.map +1 -0
- package/dist/core/env/auto-client.browser.js +3 -0
- package/dist/core/env/auto-client.d.ts +9 -0
- package/dist/core/env/auto-client.d.ts.map +1 -0
- package/dist/core/env/auto-client.js +21 -0
- package/dist/core/features/aggregations.d.ts +18 -22
- package/dist/core/features/aggregations.d.ts.map +1 -1
- package/dist/core/features/aggregations.js +6 -6
- package/dist/core/features/analytics.d.ts +15 -19
- package/dist/core/features/analytics.d.ts.map +1 -1
- package/dist/core/features/analytics.js +2 -2
- package/dist/core/features/cross-filtering.d.ts +4 -24
- package/dist/core/features/cross-filtering.d.ts.map +1 -1
- package/dist/core/features/cross-filtering.js +0 -34
- package/dist/core/features/executor.d.ts +11 -9
- package/dist/core/features/executor.d.ts.map +1 -1
- package/dist/core/features/executor.js +14 -5
- package/dist/core/features/filtering.d.ts +32 -28
- package/dist/core/features/filtering.d.ts.map +1 -1
- package/dist/core/features/filtering.js +27 -26
- package/dist/core/features/joins.d.ts +7 -10
- package/dist/core/features/joins.d.ts.map +1 -1
- package/dist/core/features/pagination.d.ts +8 -10
- package/dist/core/features/pagination.d.ts.map +1 -1
- package/dist/core/features/pagination.js +15 -42
- package/dist/core/features/query-modifiers.d.ts +18 -21
- package/dist/core/features/query-modifiers.d.ts.map +1 -1
- package/dist/core/formatters/sql-formatter.d.ts.map +1 -1
- package/dist/core/formatters/sql-formatter.js +6 -0
- package/dist/core/join-relationships.d.ts +2 -1
- package/dist/core/join-relationships.d.ts.map +1 -1
- package/dist/core/query-builder.d.ts +69 -74
- package/dist/core/query-builder.d.ts.map +1 -1
- package/dist/core/query-builder.js +155 -114
- package/dist/core/tests/integration/pagination-test-tbc.js +1 -0
- package/dist/core/tests/integration/setup.d.ts +8 -1
- package/dist/core/tests/integration/setup.d.ts.map +1 -1
- package/dist/core/tests/integration/setup.js +55 -22
- package/dist/core/tests/integration/test-config.d.ts +2 -2
- package/dist/core/tests/integration/test-config.d.ts.map +1 -1
- package/dist/core/tests/integration/test-config.js +3 -4
- package/dist/core/tests/integration/test-data.json +190 -0
- package/dist/core/tests/test-utils.d.ts +18 -3
- package/dist/core/tests/test-utils.d.ts.map +1 -1
- package/dist/core/tests/test-utils.js +37 -10
- package/dist/core/types/builder-state.d.ts +25 -0
- package/dist/core/types/builder-state.d.ts.map +1 -0
- package/dist/core/types/builder-state.js +1 -0
- package/dist/core/types/select-types.d.ts +32 -0
- package/dist/core/types/select-types.d.ts.map +1 -0
- package/dist/core/types/select-types.js +1 -0
- package/dist/core/types/type-helpers.d.ts +5 -0
- package/dist/core/types/type-helpers.d.ts.map +1 -0
- package/dist/core/types/type-helpers.js +1 -0
- package/dist/core/utils/logger.d.ts +6 -0
- package/dist/core/utils/logger.d.ts.map +1 -1
- package/dist/core/utils/logger.js +7 -2
- package/dist/core/utils/predicate-builder.d.ts +29 -0
- package/dist/core/utils/predicate-builder.d.ts.map +1 -0
- package/dist/core/utils/predicate-builder.js +92 -0
- package/dist/core/utils/sql-expressions.d.ts +24 -10
- package/dist/core/utils/sql-expressions.d.ts.map +1 -1
- package/dist/core/utils/sql-expressions.js +7 -30
- package/dist/core/utils/streaming-helpers.d.ts +2 -0
- package/dist/core/utils/streaming-helpers.d.ts.map +1 -0
- package/dist/core/utils/streaming-helpers.js +137 -0
- package/dist/core/validators/filter-validator.d.ts +2 -1
- package/dist/core/validators/filter-validator.d.ts.map +1 -1
- package/dist/core/validators/value-validator.d.ts +2 -1
- package/dist/core/validators/value-validator.d.ts.map +1 -1
- package/dist/index.d.ts +11 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/types/base.d.ts +10 -15
- package/dist/types/base.d.ts.map +1 -1
- package/dist/types/clickhouse-types.d.ts +9 -4
- package/dist/types/clickhouse-types.d.ts.map +1 -1
- package/dist/types/filters.d.ts +1 -1
- package/dist/types/filters.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -0
- package/dist/types/schema.d.ts +19 -0
- package/dist/types/schema.d.ts.map +1 -0
- package/dist/types/schema.js +1 -0
- package/package.json +14 -12
- package/dist/core/tests/integration/test-initializer.d.ts +0 -7
- package/dist/core/tests/integration/test-initializer.d.ts.map +0 -1
- package/dist/core/tests/integration/test-initializer.js +0 -32
|
@@ -1,41 +1,51 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Represents a raw SQL expression that can be used in queries
|
|
3
3
|
*/
|
|
4
|
-
export interface SqlExpression {
|
|
5
|
-
__type:
|
|
4
|
+
export interface SqlExpression<T = unknown> {
|
|
5
|
+
__type: 'expression' | 'aliased_expression';
|
|
6
6
|
toSql(): string;
|
|
7
|
+
readonly expressionType?: T | undefined;
|
|
7
8
|
}
|
|
8
9
|
/**
|
|
9
10
|
* Represents an aliased SQL expression that can be used in select clauses
|
|
10
11
|
*/
|
|
11
|
-
export interface AliasedExpression extends SqlExpression {
|
|
12
|
+
export interface AliasedExpression<T = unknown, Alias extends string = string> extends SqlExpression<T> {
|
|
12
13
|
__type: 'aliased_expression';
|
|
13
|
-
alias:
|
|
14
|
+
alias: Alias;
|
|
14
15
|
}
|
|
15
16
|
/**
|
|
16
17
|
* Creates a raw SQL expression
|
|
17
18
|
* @param sql The SQL expression string
|
|
18
19
|
* @returns A SqlExpression object
|
|
19
20
|
*/
|
|
20
|
-
export declare function raw(sql: string): SqlExpression
|
|
21
|
+
export declare function raw<T = unknown>(sql: string): SqlExpression<T>;
|
|
22
|
+
export declare function selectExpr<T = unknown>(sql: string): SqlExpression<T>;
|
|
23
|
+
export declare function selectExpr<T = unknown, Alias extends string = string>(sql: string, alias: Alias): AliasedExpression<T, Alias>;
|
|
21
24
|
/**
|
|
22
25
|
* Creates an aliased SQL expression for use in SELECT clauses
|
|
23
26
|
* @param sql The SQL expression string
|
|
24
27
|
* @param alias The alias to use for the expression
|
|
25
28
|
* @returns An AliasedExpression object
|
|
26
29
|
*/
|
|
27
|
-
export declare function rawAs(sql: string, alias:
|
|
30
|
+
export declare function rawAs<T = unknown, Alias extends string = string>(sql: string, alias: Alias): AliasedExpression<T, Alias>;
|
|
28
31
|
/**
|
|
29
32
|
* Converts a value to DateTime format
|
|
30
33
|
* @param field The field or expression to convert
|
|
31
34
|
* @param alias Optional alias for the result
|
|
32
35
|
* @returns SQL expression or aliased expression
|
|
33
36
|
*/
|
|
34
|
-
export declare function toDateTime(field: string
|
|
37
|
+
export declare function toDateTime(field: string): SqlExpression<Date>;
|
|
38
|
+
export declare function toDateTime<T extends string>(field: string, alias: T): AliasedExpression<Date, T>;
|
|
35
39
|
export interface FormatDateTimeOptions {
|
|
36
40
|
timezone?: string;
|
|
37
41
|
alias?: string;
|
|
38
42
|
}
|
|
43
|
+
type FormatDateTimeAliasOptions<Alias extends string> = FormatDateTimeOptions & {
|
|
44
|
+
alias: Alias;
|
|
45
|
+
};
|
|
46
|
+
type FormatDateTimeNoAliasOptions = Omit<FormatDateTimeOptions, 'alias'> & {
|
|
47
|
+
alias?: undefined;
|
|
48
|
+
};
|
|
39
49
|
/**
|
|
40
50
|
* Formats a DateTime value using the specified format
|
|
41
51
|
* @param field The field or expression to format
|
|
@@ -43,7 +53,8 @@ export interface FormatDateTimeOptions {
|
|
|
43
53
|
* @param options Optional configuration including timezone and alias
|
|
44
54
|
* @returns SQL expression or aliased expression
|
|
45
55
|
*/
|
|
46
|
-
export declare function formatDateTime(field: string, format: string, options?:
|
|
56
|
+
export declare function formatDateTime(field: string, format: string, options?: FormatDateTimeNoAliasOptions): SqlExpression<string>;
|
|
57
|
+
export declare function formatDateTime<T extends string>(field: string, format: string, options: FormatDateTimeAliasOptions<T>): AliasedExpression<string, T>;
|
|
47
58
|
/**
|
|
48
59
|
* Truncates a date/time value to the start of the specified interval
|
|
49
60
|
* @param field The field to truncate
|
|
@@ -51,7 +62,8 @@ export declare function formatDateTime(field: string, format: string, options?:
|
|
|
51
62
|
* @param alias Optional alias for the result
|
|
52
63
|
* @returns SQL expression or aliased expression
|
|
53
64
|
*/
|
|
54
|
-
export declare function toStartOfInterval(field: string, interval: string
|
|
65
|
+
export declare function toStartOfInterval(field: string, interval: string): SqlExpression<Date>;
|
|
66
|
+
export declare function toStartOfInterval<T extends string>(field: string, interval: string, alias: T): AliasedExpression<Date, T>;
|
|
55
67
|
/**
|
|
56
68
|
* Extracts the specified part from a date/time value
|
|
57
69
|
* @param part The part to extract (year, month, day, etc.)
|
|
@@ -59,5 +71,7 @@ export declare function toStartOfInterval(field: string, interval: string, alias
|
|
|
59
71
|
* @param alias Optional alias for the result
|
|
60
72
|
* @returns SQL expression or aliased expression
|
|
61
73
|
*/
|
|
62
|
-
export declare function datePart(part: 'year' | 'quarter' | 'month' | 'week' | 'day' | 'hour' | 'minute' | 'second', field: string
|
|
74
|
+
export declare function datePart(part: 'year' | 'quarter' | 'month' | 'week' | 'day' | 'hour' | 'minute' | 'second', field: string): SqlExpression<number>;
|
|
75
|
+
export declare function datePart<T extends string>(part: 'year' | 'quarter' | 'month' | 'week' | 'day' | 'hour' | 'minute' | 'second', field: string, alias: T): AliasedExpression<number, T>;
|
|
76
|
+
export {};
|
|
63
77
|
//# sourceMappingURL=sql-expressions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql-expressions.d.ts","sourceRoot":"","sources":["../../../src/core/utils/sql-expressions.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,aAAa;
|
|
1
|
+
{"version":3,"file":"sql-expressions.d.ts","sourceRoot":"","sources":["../../../src/core/utils/sql-expressions.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,9 +6,13 @@
|
|
|
6
6
|
export function raw(sql) {
|
|
7
7
|
return {
|
|
8
8
|
__type: 'expression',
|
|
9
|
-
toSql: () => sql
|
|
9
|
+
toSql: () => sql,
|
|
10
|
+
expressionType: undefined
|
|
10
11
|
};
|
|
11
12
|
}
|
|
13
|
+
export function selectExpr(sql, alias) {
|
|
14
|
+
return alias ? rawAs(sql, alias) : raw(sql);
|
|
15
|
+
}
|
|
12
16
|
/**
|
|
13
17
|
* Creates an aliased SQL expression for use in SELECT clauses
|
|
14
18
|
* @param sql The SQL expression string
|
|
@@ -19,28 +23,15 @@ export function rawAs(sql, alias) {
|
|
|
19
23
|
return {
|
|
20
24
|
__type: 'aliased_expression',
|
|
21
25
|
alias,
|
|
22
|
-
toSql: () => `${sql} AS ${alias}
|
|
26
|
+
toSql: () => `${sql} AS ${alias}`,
|
|
27
|
+
expressionType: undefined
|
|
23
28
|
};
|
|
24
29
|
}
|
|
25
|
-
// Helper for common ClickHouse functions
|
|
26
|
-
/**
|
|
27
|
-
* Converts a value to DateTime format
|
|
28
|
-
* @param field The field or expression to convert
|
|
29
|
-
* @param alias Optional alias for the result
|
|
30
|
-
* @returns SQL expression or aliased expression
|
|
31
|
-
*/
|
|
32
30
|
export function toDateTime(field, alias) {
|
|
33
31
|
return alias
|
|
34
32
|
? rawAs(`toDateTime(${field})`, alias)
|
|
35
33
|
: raw(`toDateTime(${field})`);
|
|
36
34
|
}
|
|
37
|
-
/**
|
|
38
|
-
* Formats a DateTime value using the specified format
|
|
39
|
-
* @param field The field or expression to format
|
|
40
|
-
* @param format The date format string
|
|
41
|
-
* @param options Optional configuration including timezone and alias
|
|
42
|
-
* @returns SQL expression or aliased expression
|
|
43
|
-
*/
|
|
44
35
|
export function formatDateTime(field, format, options = {}) {
|
|
45
36
|
const { timezone, alias } = options;
|
|
46
37
|
let sql = `formatDateTime(${field}, '${format}'`;
|
|
@@ -50,25 +41,11 @@ export function formatDateTime(field, format, options = {}) {
|
|
|
50
41
|
sql += ')';
|
|
51
42
|
return alias ? rawAs(sql, alias) : raw(sql);
|
|
52
43
|
}
|
|
53
|
-
/**
|
|
54
|
-
* Truncates a date/time value to the start of the specified interval
|
|
55
|
-
* @param field The field to truncate
|
|
56
|
-
* @param interval The interval (e.g., '1 day', '15 minute')
|
|
57
|
-
* @param alias Optional alias for the result
|
|
58
|
-
* @returns SQL expression or aliased expression
|
|
59
|
-
*/
|
|
60
44
|
export function toStartOfInterval(field, interval, alias) {
|
|
61
45
|
return alias
|
|
62
46
|
? rawAs(`toStartOfInterval(${field}, INTERVAL ${interval})`, alias)
|
|
63
47
|
: raw(`toStartOfInterval(${field}, INTERVAL ${interval})`);
|
|
64
48
|
}
|
|
65
|
-
/**
|
|
66
|
-
* Extracts the specified part from a date/time value
|
|
67
|
-
* @param part The part to extract (year, month, day, etc.)
|
|
68
|
-
* @param field The field to extract from
|
|
69
|
-
* @param alias Optional alias for the result
|
|
70
|
-
* @returns SQL expression or aliased expression
|
|
71
|
-
*/
|
|
72
49
|
export function datePart(part, field, alias) {
|
|
73
50
|
const functionName = `to${part.charAt(0).toUpperCase() + part.slice(1)}`;
|
|
74
51
|
return alias
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streaming-helpers.d.ts","sourceRoot":"","sources":["../../../src/core/utils/streaming-helpers.ts"],"names":[],"mappings":"AAoIA,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,cAAc,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,CAwCnH"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { Readable } from 'stream';
|
|
2
|
+
function createBufferFlusher() {
|
|
3
|
+
let buffer = '';
|
|
4
|
+
const flush = () => {
|
|
5
|
+
if (!buffer.length) {
|
|
6
|
+
return [];
|
|
7
|
+
}
|
|
8
|
+
const lines = buffer.split('\n');
|
|
9
|
+
buffer = lines.pop() ?? '';
|
|
10
|
+
const rows = [];
|
|
11
|
+
for (const line of lines) {
|
|
12
|
+
const trimmed = line.trim();
|
|
13
|
+
if (!trimmed.length) {
|
|
14
|
+
continue;
|
|
15
|
+
}
|
|
16
|
+
rows.push(JSON.parse(trimmed));
|
|
17
|
+
}
|
|
18
|
+
return rows;
|
|
19
|
+
};
|
|
20
|
+
const append = (value) => {
|
|
21
|
+
buffer += typeof value === 'string' ? value : value.toString('utf8');
|
|
22
|
+
};
|
|
23
|
+
return { flush, append };
|
|
24
|
+
}
|
|
25
|
+
async function normalizeChunk(chunk, flush, append) {
|
|
26
|
+
if (chunk == null) {
|
|
27
|
+
return [];
|
|
28
|
+
}
|
|
29
|
+
if (Array.isArray(chunk)) {
|
|
30
|
+
const rows = [];
|
|
31
|
+
for (const item of chunk) {
|
|
32
|
+
rows.push(...await normalizeChunk(item, flush, append));
|
|
33
|
+
}
|
|
34
|
+
return rows;
|
|
35
|
+
}
|
|
36
|
+
if (typeof chunk.json === 'function') {
|
|
37
|
+
return [await chunk.json()];
|
|
38
|
+
}
|
|
39
|
+
if (typeof chunk.text === 'function') {
|
|
40
|
+
const text = await chunk.text();
|
|
41
|
+
return [JSON.parse(text)];
|
|
42
|
+
}
|
|
43
|
+
if (typeof chunk.text === 'string') {
|
|
44
|
+
return [JSON.parse(chunk.text)];
|
|
45
|
+
}
|
|
46
|
+
if (Buffer.isBuffer(chunk)) {
|
|
47
|
+
append(chunk);
|
|
48
|
+
return flush();
|
|
49
|
+
}
|
|
50
|
+
if (typeof chunk === 'string') {
|
|
51
|
+
append(chunk);
|
|
52
|
+
return flush();
|
|
53
|
+
}
|
|
54
|
+
if (typeof chunk === 'object') {
|
|
55
|
+
return [chunk];
|
|
56
|
+
}
|
|
57
|
+
return [];
|
|
58
|
+
}
|
|
59
|
+
async function createChunkReader(nodeStream) {
|
|
60
|
+
const iterator = nodeStream[Symbol.asyncIterator]?.();
|
|
61
|
+
let webReader;
|
|
62
|
+
const readNext = async () => {
|
|
63
|
+
if (iterator) {
|
|
64
|
+
const result = await iterator.next();
|
|
65
|
+
return { done: Boolean(result.done), value: result.value };
|
|
66
|
+
}
|
|
67
|
+
if (!webReader) {
|
|
68
|
+
const webStream = Readable.toWeb(nodeStream);
|
|
69
|
+
webReader = webStream.getReader();
|
|
70
|
+
}
|
|
71
|
+
const result = await webReader.read();
|
|
72
|
+
return { done: Boolean(result.done), value: result.value };
|
|
73
|
+
};
|
|
74
|
+
const close = async () => {
|
|
75
|
+
if (iterator && typeof iterator.return === 'function') {
|
|
76
|
+
try {
|
|
77
|
+
await iterator.return();
|
|
78
|
+
}
|
|
79
|
+
catch { }
|
|
80
|
+
}
|
|
81
|
+
if (typeof nodeStream.destroy === 'function') {
|
|
82
|
+
nodeStream.destroy();
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
return { readNext, close };
|
|
86
|
+
}
|
|
87
|
+
async function createWebStreamReader(webStream) {
|
|
88
|
+
const reader = webStream.getReader();
|
|
89
|
+
const readNext = async () => {
|
|
90
|
+
const result = await reader.read();
|
|
91
|
+
return { done: Boolean(result.done), value: result.value };
|
|
92
|
+
};
|
|
93
|
+
const close = async () => {
|
|
94
|
+
try {
|
|
95
|
+
await reader.cancel();
|
|
96
|
+
}
|
|
97
|
+
catch { }
|
|
98
|
+
};
|
|
99
|
+
return { readNext, close };
|
|
100
|
+
}
|
|
101
|
+
export function createJsonEachRowStream(stream) {
|
|
102
|
+
const { flush, append } = createBufferFlusher();
|
|
103
|
+
let readerPromise;
|
|
104
|
+
const ensureReader = () => {
|
|
105
|
+
if (!readerPromise) {
|
|
106
|
+
if (typeof stream?.getReader === 'function') {
|
|
107
|
+
readerPromise = createWebStreamReader(stream);
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
readerPromise = createChunkReader(stream);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return readerPromise;
|
|
114
|
+
};
|
|
115
|
+
return new ReadableStream({
|
|
116
|
+
async pull(controller) {
|
|
117
|
+
const reader = await ensureReader();
|
|
118
|
+
const { done, value } = await reader.readNext();
|
|
119
|
+
if (done) {
|
|
120
|
+
const remaining = flush();
|
|
121
|
+
if (remaining.length) {
|
|
122
|
+
controller.enqueue(remaining);
|
|
123
|
+
}
|
|
124
|
+
controller.close();
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
const rows = await normalizeChunk(value, flush, append);
|
|
128
|
+
if (rows.length) {
|
|
129
|
+
controller.enqueue(rows);
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
async cancel() {
|
|
133
|
+
const reader = await ensureReader();
|
|
134
|
+
await reader.close();
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { FilterConditionInput } from '../../types/index.js';
|
|
2
|
+
import { ColumnType } from '../../types/schema.js';
|
|
2
3
|
export declare class FilterValidator {
|
|
3
4
|
static validateFilterCondition<T = any>(condition: FilterConditionInput<T>, columnType?: ColumnType, options?: {
|
|
4
5
|
allowNull?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-validator.d.ts","sourceRoot":"","sources":["../../../src/core/validators/filter-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"filter-validator.d.ts","sourceRoot":"","sources":["../../../src/core/validators/filter-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGnD,qBAAa,eAAe;IAC1B,MAAM,CAAC,uBAAuB,CAAC,CAAC,GAAG,GAAG,EACpC,SAAS,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAClC,UAAU,CAAC,EAAE,UAAU,EACvB,OAAO,GAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAO,GACpC,IAAI;IAgBP,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;CAGrD"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { FilterOperator } from '../../types/index.js';
|
|
2
|
+
import { ColumnType } from '../../types/schema.js';
|
|
2
3
|
export declare class ValueValidator {
|
|
3
4
|
static validateFilterValue(columnType: ColumnType, operator: FilterOperator, value: any, columnName: string): void;
|
|
4
5
|
private static validateSingleValue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"value-validator.d.ts","sourceRoot":"","sources":["../../../src/core/validators/value-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"value-validator.d.ts","sourceRoot":"","sources":["../../../src/core/validators/value-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,qBAAa,cAAc;IACzB,MAAM,CAAC,mBAAmB,CACxB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,GAAG,EACV,UAAU,EAAE,MAAM,GACjB,IAAI;IAqBP,OAAO,CAAC,MAAM,CAAC,mBAAmB;CA4BnC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
export { createQueryBuilder, QueryBuilder } from './core/query-builder.js';
|
|
2
2
|
export { ClickHouseConnection } from './core/connection.js';
|
|
3
3
|
export { JoinRelationships } from './core/join-relationships.js';
|
|
4
|
-
export type { ClickHouseConfig, ClickHouseClientConfig } from './core/query-builder.js';
|
|
4
|
+
export type { ClickHouseConfig, ClickHouseClientConfig, CreateQueryBuilderConfig, ExecuteOptions } from './core/query-builder.js';
|
|
5
5
|
export { isClientConfig } from './core/query-builder.js';
|
|
6
|
-
export type {
|
|
6
|
+
export type { CacheOptions, CacheConfig, CacheProvider, CacheEntry, CacheStatus } from './core/cache/types.js';
|
|
7
|
+
export { CacheController } from './core/cache/controller.js';
|
|
8
|
+
export { MemoryCacheProvider } from './core/cache/providers/memory-lru.js';
|
|
9
|
+
export { MemoryCacheProvider as MemoryLRUCacheProvider } from './core/cache/providers/memory-lru.js';
|
|
10
|
+
export { NoopCacheProvider } from './core/cache/providers/noop.js';
|
|
11
|
+
export type { ColumnType, TableColumn, TableSchema, TableRecord, DatabaseSchema, InferColumnType, } from './types/schema.js';
|
|
12
|
+
export type { OrderDirection, QueryConfig, PaginationOptions, PaginatedResult, PageInfo, AggregationType } from './types/base.js';
|
|
7
13
|
export type { FilterOperator, OperatorValueMap, FilterConditionInput } from './types/filters.js';
|
|
8
14
|
export type { JoinPath, JoinPathOptions } from './core/join-relationships.js';
|
|
9
15
|
export { CrossFilter } from './core/cross-filter.js';
|
|
10
16
|
export { logger } from './core/utils/logger.js';
|
|
11
|
-
export { raw, rawAs, toDateTime, formatDateTime, toStartOfInterval, datePart } from './core/utils/sql-expressions.js';
|
|
12
|
-
export type { SqlExpression, FormatDateTimeOptions } from './core/utils/sql-expressions.js';
|
|
17
|
+
export { raw, rawAs, selectExpr, toDateTime, formatDateTime, toStartOfInterval, datePart } from './core/utils/sql-expressions.js';
|
|
18
|
+
export type { SqlExpression, FormatDateTimeOptions, AliasedExpression } from './core/utils/sql-expressions.js';
|
|
19
|
+
export type { PredicateExpression, PredicateLiteral, PredicateBuilder, PredicateArg } from './core/utils/predicate-builder.js';
|
|
13
20
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAGjE,YAAY,EACV,gBAAgB,EAChB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAGjE,YAAY,EACV,gBAAgB,EAChB,sBAAsB,EACtB,wBAAwB,EACxB,cAAc,EACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,YAAY,EACV,YAAY,EACZ,WAAW,EACX,aAAa,EACb,UAAU,EACV,WAAW,EACZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,mBAAmB,IAAI,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AACrG,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAGnE,YAAY,EACV,UAAU,EACV,WAAW,EACX,WAAW,EACX,WAAW,EACX,cAAc,EACd,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,QAAQ,EACR,eAAe,EAChB,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAGhD,OAAO,EACL,GAAG,EACH,KAAK,EACL,UAAU,EACV,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,QAAQ,EACT,MAAM,iCAAiC,CAAC;AAGzC,YAAY,EACV,aAAa,EACb,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,iCAAiC,CAAC;AAGzC,YAAY,EACV,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACb,MAAM,mCAAmC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -4,6 +4,10 @@ export { ClickHouseConnection } from './core/connection.js';
|
|
|
4
4
|
export { JoinRelationships } from './core/join-relationships.js';
|
|
5
5
|
export { CrossFilter } from './core/cross-filter.js';
|
|
6
6
|
export { logger } from './core/utils/logger.js';
|
|
7
|
+
export { CacheController } from './core/cache/controller.js';
|
|
8
|
+
export { MemoryCacheProvider } from './core/cache/providers/memory-lru.js';
|
|
9
|
+
export { MemoryCacheProvider as MemoryLRUCacheProvider } from './core/cache/providers/memory-lru.js';
|
|
10
|
+
export { NoopCacheProvider } from './core/cache/providers/noop.js';
|
|
7
11
|
export {
|
|
8
12
|
raw,
|
|
9
13
|
rawAs,
|
package/dist/types/base.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ClickHouseType, InferClickHouseType } from "./clickhouse-types.js";
|
|
2
1
|
import { FilterOperator } from "./filters.js";
|
|
2
|
+
import type { TableColumn } from './schema.js';
|
|
3
3
|
export interface QueryConfig<T, Schema> {
|
|
4
4
|
select?: Array<keyof T | string>;
|
|
5
5
|
where?: WhereCondition[];
|
|
@@ -18,26 +18,24 @@ export interface QueryConfig<T, Schema> {
|
|
|
18
18
|
unionQueries?: string[];
|
|
19
19
|
settings?: string;
|
|
20
20
|
}
|
|
21
|
-
export
|
|
22
|
-
name: string;
|
|
23
|
-
columns: T;
|
|
24
|
-
}
|
|
25
|
-
export type DatabaseSchema = Record<string, Record<string, ColumnType>>;
|
|
21
|
+
export type { ColumnType, TableSchema, DatabaseSchema, TableRecord, InferColumnType, TableColumn } from './schema.js';
|
|
26
22
|
export type WhereExpression = string;
|
|
27
23
|
export type GroupByExpression<T> = keyof T | Array<keyof T>;
|
|
28
|
-
export type TableRecord<T> = {
|
|
29
|
-
[K in keyof T]: T[K] extends ColumnType ? InferColumnType<T[K]> : never;
|
|
30
|
-
};
|
|
31
|
-
export type ColumnType = ClickHouseType;
|
|
32
|
-
export type InferColumnType<T extends ColumnType> = InferClickHouseType<T>;
|
|
33
24
|
export type OrderDirection = 'ASC' | 'DESC';
|
|
34
|
-
export interface
|
|
25
|
+
export interface StandardWhereCondition {
|
|
35
26
|
column: string;
|
|
36
27
|
operator: FilterOperator;
|
|
37
28
|
value: any;
|
|
38
29
|
conjunction: 'AND' | 'OR';
|
|
39
30
|
type?: 'condition' | 'group-start' | 'group-end';
|
|
40
31
|
}
|
|
32
|
+
export interface ExpressionWhereCondition {
|
|
33
|
+
type: 'expression';
|
|
34
|
+
expression: string;
|
|
35
|
+
parameters: any[];
|
|
36
|
+
conjunction: 'AND' | 'OR';
|
|
37
|
+
}
|
|
38
|
+
export type WhereCondition = StandardWhereCondition | ExpressionWhereCondition;
|
|
41
39
|
export type JoinType = 'INNER' | 'LEFT' | 'RIGHT' | 'FULL';
|
|
42
40
|
export interface JoinClause {
|
|
43
41
|
type: JoinType;
|
|
@@ -46,9 +44,6 @@ export interface JoinClause {
|
|
|
46
44
|
rightColumn: string;
|
|
47
45
|
alias?: string;
|
|
48
46
|
}
|
|
49
|
-
export type TableColumn<Schema> = {
|
|
50
|
-
[Table in keyof Schema]: `${string & Table}.${string & keyof Schema[Table]}`;
|
|
51
|
-
}[keyof Schema] | keyof Schema[keyof Schema];
|
|
52
47
|
export type AggregationType<T, Aggregations, Column, A extends string, Suffix extends string, HasSelect extends boolean> = HasSelect extends true ? {
|
|
53
48
|
[K in keyof T | A]: K extends keyof T ? T[K] : string;
|
|
54
49
|
} : Aggregations extends Record<string, string> ? Aggregations & Record<A extends undefined ? `${Column & string}_${Suffix}` : A, string> : Record<A extends undefined ? `${Column & string}_${Suffix}` : A, string>;
|
package/dist/types/base.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/types/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/types/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,9 +4,14 @@ export type ClickHouseDecimal = 'Decimal32' | 'Decimal64' | 'Decimal128' | 'Deci
|
|
|
4
4
|
export type ClickHouseDateTime = 'Date' | 'Date32' | 'DateTime' | `DateTime('${string}')` | `DateTime64(${number})` | `DateTime64(${number}, '${string}')`;
|
|
5
5
|
export type ClickHouseString = 'String' | `FixedString(${number})` | 'UUID';
|
|
6
6
|
export type ClickHouseBoolean = 'Bool' | 'Boolean';
|
|
7
|
-
export type ClickHouseIP = 'IPv4' | 'IPv6';
|
|
8
7
|
export type ClickHouseEnum = `Enum8(${string})` | `Enum16(${string})`;
|
|
9
|
-
export type
|
|
10
|
-
export type ClickHouseType =
|
|
11
|
-
export type InferClickHouseType<T extends ClickHouseType> =
|
|
8
|
+
export type ClickHouseBaseType = ClickHouseInteger | ClickHouseFloat | ClickHouseDecimal | ClickHouseDateTime | ClickHouseString | ClickHouseBoolean | ClickHouseEnum;
|
|
9
|
+
export type ClickHouseType = ClickHouseBaseType | `Array(${ClickHouseBaseType})` | `Array(Nullable(${ClickHouseBaseType}))` | `Array(LowCardinality(String))` | `Array(LowCardinality(${ClickHouseEnum}))` | `Nullable(${ClickHouseBaseType})` | `Nullable(Array(${ClickHouseBaseType}))` | `LowCardinality(${ClickHouseString})` | `LowCardinality(${ClickHouseEnum})` | `LowCardinality(Nullable(${ClickHouseString}))` | `LowCardinality(Nullable(${ClickHouseEnum}))` | `Map(String, ${ClickHouseBaseType})` | `Map(String, Array(${ClickHouseBaseType}))` | `Map(String, Nullable(${ClickHouseBaseType}))` | `Map(LowCardinality(String), ${ClickHouseBaseType})` | `Map(LowCardinality(String), Array(${ClickHouseBaseType}))` | `Map(LowCardinality(String), Nullable(${ClickHouseBaseType}))` | `Map(${ClickHouseInteger}, ${ClickHouseBaseType})` | `Map(${ClickHouseInteger}, Array(${ClickHouseBaseType}))` | `Map(${ClickHouseInteger}, Nullable(${ClickHouseBaseType}))` | `Array(Map(String, ${ClickHouseBaseType}))` | `Array(Map(LowCardinality(String), ${ClickHouseBaseType}))` | `Array(Map(${ClickHouseInteger}, ${ClickHouseBaseType}))` | `Nullable(Map(String, ${ClickHouseBaseType}))` | `Nullable(Map(LowCardinality(String), ${ClickHouseBaseType}))`;
|
|
10
|
+
export type InferClickHouseType<T extends ClickHouseType, Depth extends number = 0> = Depth extends 5 ? unknown : T extends ClickHouseInteger ? number : T extends ClickHouseFloat ? number : T extends ClickHouseDecimal ? number : T extends ClickHouseDateTime ? Date : T extends ClickHouseString ? string : T extends ClickHouseEnum ? string : T extends ClickHouseBoolean ? boolean : T extends `Array(${infer U})` ? U extends ClickHouseType ? Array<InferClickHouseType<U, Add1<Depth>>> : unknown[] : T extends `Nullable(${infer U})` ? U extends ClickHouseType ? InferClickHouseType<U, Add1<Depth>> | null : unknown | null : T extends `LowCardinality(${infer U})` ? U extends `Nullable(${infer V})` ? V extends ClickHouseString | ClickHouseEnum ? InferClickHouseType<V, Add1<Depth>> | null : unknown | null : U extends ClickHouseString | ClickHouseEnum ? InferClickHouseType<U, Add1<Depth>> : unknown : T extends `Map(${string}, ${infer V})` ? V extends ClickHouseType ? Record<string, InferClickHouseType<V, Add1<Depth>>> : Record<string, unknown> : unknown;
|
|
11
|
+
type Add1<T extends number> = T extends 0 ? 1 : T extends 1 ? 2 : T extends 2 ? 3 : T extends 3 ? 4 : 5;
|
|
12
|
+
export type ClickHouseSchema = Record<string, ClickHouseType>;
|
|
13
|
+
export type InferSchemaType<T extends ClickHouseSchema> = {
|
|
14
|
+
[K in keyof T]: InferClickHouseType<T[K]>;
|
|
15
|
+
};
|
|
16
|
+
export {};
|
|
12
17
|
//# sourceMappingURL=clickhouse-types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clickhouse-types.d.ts","sourceRoot":"","sources":["../../src/types/clickhouse-types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"clickhouse-types.d.ts","sourceRoot":"","sources":["../../src/types/clickhouse-types.ts"],"names":[],"mappings":"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"}
|
package/dist/types/filters.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TableColumn } from
|
|
1
|
+
import { TableColumn } from './schema.js';
|
|
2
2
|
export type FilterValue<T> = T extends Date ? Date | string : T extends number ? number : T extends string ? string : T extends boolean ? boolean : never;
|
|
3
3
|
export type FilterCondition<T> = {
|
|
4
4
|
eq: FilterValue<T>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../src/types/filters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../src/types/filters.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC"}
|
package/dist/types/index.js
CHANGED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ClickHouseType, InferClickHouseType } from './clickhouse-types.js';
|
|
2
|
+
export type ColumnType = ClickHouseType;
|
|
3
|
+
export type InferColumnType<T extends ColumnType> = InferClickHouseType<T>;
|
|
4
|
+
export type DatabaseSchema = Record<string, Record<string, ColumnType>>;
|
|
5
|
+
export type AnySchema = Record<string, Record<string, ColumnType>>;
|
|
6
|
+
export interface TableSchema<TColumns> {
|
|
7
|
+
name: string;
|
|
8
|
+
columns: TColumns;
|
|
9
|
+
}
|
|
10
|
+
export type TableRecord<TColumns> = {
|
|
11
|
+
[K in keyof TColumns]: InferColumnType<Extract<TColumns[K], ColumnType>>;
|
|
12
|
+
};
|
|
13
|
+
export type QualifiedColumn<Schema, TableName extends keyof Schema> = `${string & TableName}.${string & keyof Schema[TableName]}`;
|
|
14
|
+
export type ColumnIdentifier<Schema, TableName extends keyof Schema> = QualifiedColumn<Schema, TableName> | keyof Schema[TableName];
|
|
15
|
+
export type TableColumnForTables<Schema, Tables extends keyof Schema = keyof Schema> = {
|
|
16
|
+
[TableName in Tables]: ColumnIdentifier<Schema, TableName>;
|
|
17
|
+
}[Tables];
|
|
18
|
+
export type TableColumn<Schema> = TableColumnForTables<Schema>;
|
|
19
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/types/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5E,MAAM,MAAM,UAAU,GAAG,cAAc,CAAC;AAExC,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,UAAU,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAE3E,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;AAExE,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;AAEnE,MAAM,WAAW,WAAW,CAAC,QAAQ;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,QAAQ,CAAC;CACnB;AAED,MAAM,MAAM,WAAW,CAAC,QAAQ,IAAI;KACjC,CAAC,IAAI,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;CACzE,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,MAAM,EAAE,SAAS,SAAS,MAAM,MAAM,IAChE,GAAG,MAAM,GAAG,SAAS,IAAI,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;AAE9D,MAAM,MAAM,gBAAgB,CAAC,MAAM,EAAE,SAAS,SAAS,MAAM,MAAM,IACjE,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;AAE/D,MAAM,MAAM,oBAAoB,CAAC,MAAM,EAAE,MAAM,SAAS,MAAM,MAAM,GAAG,MAAM,MAAM,IAAI;KACpF,SAAS,IAAI,MAAM,GAAG,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC;CAC3D,CAAC,MAAM,CAAC,CAAC;AAEV,MAAM,MAAM,WAAW,CAAC,MAAM,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|