@hypequery/clickhouse 1.6.0 → 1.6.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.
Files changed (112) hide show
  1. package/README.md +19 -14
  2. package/dist/cli/generate-types.js +5 -12
  3. package/dist/core/adapters/clickhouse-adapter.d.ts +14 -0
  4. package/dist/core/adapters/clickhouse-adapter.d.ts.map +1 -0
  5. package/dist/core/adapters/clickhouse-adapter.js +58 -0
  6. package/dist/core/adapters/database-adapter.d.ts +13 -0
  7. package/dist/core/adapters/database-adapter.d.ts.map +1 -0
  8. package/dist/core/adapters/database-adapter.js +1 -0
  9. package/dist/core/cache/cache-manager.d.ts.map +1 -1
  10. package/dist/core/cache/cache-manager.js +6 -5
  11. package/dist/core/dialects/clickhouse-dialect.d.ts +10 -0
  12. package/dist/core/dialects/clickhouse-dialect.d.ts.map +1 -0
  13. package/dist/core/dialects/clickhouse-dialect.js +47 -0
  14. package/dist/core/dialects/sql-dialect.d.ts +11 -0
  15. package/dist/core/dialects/sql-dialect.d.ts.map +1 -0
  16. package/dist/core/dialects/sql-dialect.js +1 -0
  17. package/dist/core/features/aggregations.d.ts +5 -5
  18. package/dist/core/features/analytics.d.ts +804 -5
  19. package/dist/core/features/analytics.d.ts.map +1 -1
  20. package/dist/core/features/analytics.js +6 -9
  21. package/dist/core/features/executor.d.ts.map +1 -1
  22. package/dist/core/features/executor.js +26 -53
  23. package/dist/core/features/filtering.d.ts +5 -5
  24. package/dist/core/features/joins.d.ts +1 -1
  25. package/dist/core/features/query-modifiers.d.ts +6 -6
  26. package/dist/core/query-builder.d.ts +17 -6
  27. package/dist/core/query-builder.d.ts.map +1 -1
  28. package/dist/core/query-builder.js +25 -32
  29. package/dist/core/tests/integration/setup.d.ts +3 -1
  30. package/dist/core/tests/integration/setup.d.ts.map +1 -1
  31. package/dist/core/tests/test-utils.d.ts.map +1 -1
  32. package/dist/core/tests/test-utils.js +12 -2
  33. package/dist/core/types/select-types.d.ts +1 -1
  34. package/dist/core/types/select-types.d.ts.map +1 -1
  35. package/dist/core/utils/streaming-helpers.d.ts.map +1 -1
  36. package/dist/core/utils/streaming-helpers.js +8 -0
  37. package/dist/core/utils.d.ts.map +1 -1
  38. package/dist/core/utils.js +3 -0
  39. package/dist/dataset/definition.d.ts +135 -0
  40. package/dist/dataset/definition.d.ts.map +1 -0
  41. package/dist/dataset/definition.js +265 -0
  42. package/dist/dataset/helpers.d.ts +136 -0
  43. package/dist/dataset/helpers.d.ts.map +1 -0
  44. package/dist/dataset/helpers.js +189 -0
  45. package/dist/dataset/index.d.ts +51 -0
  46. package/dist/dataset/index.d.ts.map +1 -0
  47. package/dist/dataset/index.js +59 -0
  48. package/dist/dataset/introspection.d.ts +133 -0
  49. package/dist/dataset/introspection.d.ts.map +1 -0
  50. package/dist/dataset/introspection.js +239 -0
  51. package/dist/dataset/sql-tag.d.ts +51 -0
  52. package/dist/dataset/sql-tag.d.ts.map +1 -0
  53. package/dist/dataset/sql-tag.js +86 -0
  54. package/dist/dataset/types.d.ts +300 -0
  55. package/dist/dataset/types.d.ts.map +1 -0
  56. package/dist/dataset/types.js +11 -0
  57. package/dist/index.d.ts +21 -0
  58. package/dist/index.d.ts.map +1 -1
  59. package/dist/index.js +25 -15
  60. package/dist/migrations/config/index.d.ts +3 -0
  61. package/dist/migrations/config/index.d.ts.map +1 -0
  62. package/dist/migrations/config/index.js +1 -0
  63. package/dist/migrations/config/types.d.ts +45 -0
  64. package/dist/migrations/config/types.d.ts.map +1 -0
  65. package/dist/migrations/config/types.js +28 -0
  66. package/dist/migrations/diff/diff.d.ts +11 -0
  67. package/dist/migrations/diff/diff.d.ts.map +1 -0
  68. package/dist/migrations/diff/diff.js +240 -0
  69. package/dist/migrations/diff/index.d.ts +3 -0
  70. package/dist/migrations/diff/index.d.ts.map +1 -0
  71. package/dist/migrations/diff/index.js +1 -0
  72. package/dist/migrations/diff/types.d.ts +74 -0
  73. package/dist/migrations/diff/types.d.ts.map +1 -0
  74. package/dist/migrations/diff/types.js +1 -0
  75. package/dist/migrations/schema/column.d.ts +71 -0
  76. package/dist/migrations/schema/column.d.ts.map +1 -0
  77. package/dist/migrations/schema/column.js +123 -0
  78. package/dist/migrations/schema/define.d.ts +24 -0
  79. package/dist/migrations/schema/define.d.ts.map +1 -0
  80. package/dist/migrations/schema/define.js +47 -0
  81. package/dist/migrations/schema/index.d.ts +4 -0
  82. package/dist/migrations/schema/index.d.ts.map +1 -0
  83. package/dist/migrations/schema/index.js +2 -0
  84. package/dist/migrations/schema/types.d.ts +74 -0
  85. package/dist/migrations/schema/types.d.ts.map +1 -0
  86. package/dist/migrations/schema/types.js +1 -0
  87. package/dist/migrations/snapshot/index.d.ts +3 -0
  88. package/dist/migrations/snapshot/index.d.ts.map +1 -0
  89. package/dist/migrations/snapshot/index.js +1 -0
  90. package/dist/migrations/snapshot/serialize.d.ts +21 -0
  91. package/dist/migrations/snapshot/serialize.d.ts.map +1 -0
  92. package/dist/migrations/snapshot/serialize.js +127 -0
  93. package/dist/migrations/snapshot/types.d.ts +47 -0
  94. package/dist/migrations/snapshot/types.d.ts.map +1 -0
  95. package/dist/migrations/snapshot/types.js +1 -0
  96. package/dist/migrations/sql/index.d.ts +4 -0
  97. package/dist/migrations/sql/index.d.ts.map +1 -0
  98. package/dist/migrations/sql/index.js +2 -0
  99. package/dist/migrations/sql/render.d.ts +11 -0
  100. package/dist/migrations/sql/render.d.ts.map +1 -0
  101. package/dist/migrations/sql/render.js +334 -0
  102. package/dist/migrations/sql/types.d.ts +48 -0
  103. package/dist/migrations/sql/types.d.ts.map +1 -0
  104. package/dist/migrations/sql/types.js +1 -0
  105. package/dist/migrations/sql/write.d.ts +9 -0
  106. package/dist/migrations/sql/write.d.ts.map +1 -0
  107. package/dist/migrations/sql/write.js +31 -0
  108. package/dist/types/base.d.ts +2 -1
  109. package/dist/types/base.d.ts.map +1 -1
  110. package/dist/types/clickhouse-types.d.ts +3 -1
  111. package/dist/types/clickhouse-types.d.ts.map +1 -1
  112. package/package.json +3 -3
@@ -0,0 +1,48 @@
1
+ import type { MigrationOperation, SnapshotDiffResult } from '../diff/types.js';
2
+ import type { Snapshot, SnapshotMaterializedView } from '../snapshot/types.js';
3
+ export interface MigrationMeta {
4
+ name: string;
5
+ timestamp: string;
6
+ operations: Array<{
7
+ kind: MigrationOperation['kind'];
8
+ }>;
9
+ sourceSnapshotHash: string;
10
+ targetSnapshotHash: string;
11
+ custom: boolean;
12
+ unsafe: boolean;
13
+ containsManualSteps: boolean;
14
+ }
15
+ export interface RenderMigrationArtifactsOptions {
16
+ name: string;
17
+ timestamp: string;
18
+ cluster?: string;
19
+ }
20
+ export interface RenderMigrationArtifactsResult {
21
+ upSql: string;
22
+ downSql: string;
23
+ meta: MigrationMeta;
24
+ }
25
+ export interface RenderSqlContext {
26
+ diff: SnapshotDiffResult;
27
+ cluster?: string;
28
+ }
29
+ export interface MaterializedViewRenderContext {
30
+ view: SnapshotMaterializedView;
31
+ cluster?: string;
32
+ }
33
+ export interface WriteMigrationArtifactsOptions {
34
+ outDir: string;
35
+ migrationName: string;
36
+ artifacts: RenderMigrationArtifactsResult;
37
+ }
38
+ export interface WriteMigrationArtifactsResult {
39
+ migrationDir: string;
40
+ upPath: string;
41
+ downPath: string;
42
+ metaPath: string;
43
+ }
44
+ export interface SnapshotLookup {
45
+ previousSnapshot: Snapshot;
46
+ nextSnapshot: Snapshot;
47
+ }
48
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/migrations/sql/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,KAAK,EAAE,QAAQ,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAE/E,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC,CAAC;IACxD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,+BAA+B;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,8BAA8B;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,aAAa,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,kBAAkB,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,wBAAwB,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,8BAA8B;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,8BAA8B,CAAC;CAC3C;AAED,MAAM,WAAW,6BAA6B;IAC5C,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,gBAAgB,EAAE,QAAQ,CAAC;IAC3B,YAAY,EAAE,QAAQ,CAAC;CACxB"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,9 @@
1
+ import type { WriteMigrationArtifactsOptions, WriteMigrationArtifactsResult } from './types.js';
2
+ /**
3
+ * Writes rendered migration artifacts to a migration directory.
4
+ *
5
+ * The migration name must be a single safe path segment. The writer creates
6
+ * `up.sql`, `down.sql`, and `meta.json` files under `outDir/migrationName`.
7
+ */
8
+ export declare function writeMigrationArtifacts(options: WriteMigrationArtifactsOptions): Promise<WriteMigrationArtifactsResult>;
9
+ //# sourceMappingURL=write.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../../src/migrations/sql/write.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,8BAA8B,EAC9B,6BAA6B,EAC9B,MAAM,YAAY,CAAC;AAEpB;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,6BAA6B,CAAC,CAoBxC"}
@@ -0,0 +1,31 @@
1
+ import { mkdir, writeFile } from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ /**
4
+ * Writes rendered migration artifacts to a migration directory.
5
+ *
6
+ * The migration name must be a single safe path segment. The writer creates
7
+ * `up.sql`, `down.sql`, and `meta.json` files under `outDir/migrationName`.
8
+ */
9
+ export async function writeMigrationArtifacts(options) {
10
+ assertValidMigrationName(options.migrationName);
11
+ const migrationDir = path.join(options.outDir, options.migrationName);
12
+ await mkdir(migrationDir, { recursive: true });
13
+ const upPath = path.join(migrationDir, 'up.sql');
14
+ const downPath = path.join(migrationDir, 'down.sql');
15
+ const metaPath = path.join(migrationDir, 'meta.json');
16
+ await writeFile(upPath, `${options.artifacts.upSql}\n`, 'utf8');
17
+ await writeFile(downPath, `${options.artifacts.downSql}\n`, 'utf8');
18
+ await writeFile(metaPath, `${JSON.stringify(options.artifacts.meta, null, 2)}\n`, 'utf8');
19
+ return {
20
+ migrationDir,
21
+ upPath,
22
+ downPath,
23
+ metaPath,
24
+ };
25
+ }
26
+ function assertValidMigrationName(migrationName) {
27
+ if (!/^[A-Za-z0-9][A-Za-z0-9_-]*$/.test(migrationName)) {
28
+ throw new Error(`Invalid migration name "${migrationName}". ` +
29
+ 'Migration names must be a single path segment containing only letters, numbers, underscores, and hyphens.');
30
+ }
31
+ }
@@ -1,3 +1,4 @@
1
+ import type { ClickHouseSettings } from '@clickhouse/client-common';
1
2
  import { FilterOperator } from "./filters.js";
2
3
  import type { TableColumn } from './schema.js';
3
4
  export interface QueryConfig<T, Schema> {
@@ -16,7 +17,7 @@ export interface QueryConfig<T, Schema> {
16
17
  parameters?: any[];
17
18
  ctes?: string[];
18
19
  unionQueries?: string[];
19
- settings?: string;
20
+ settings?: ClickHouseSettings;
20
21
  }
21
22
  export type { ColumnType, TableSchema, DatabaseSchema, TableRecord, InferColumnType, TableColumn } from './schema.js';
22
23
  export type WhereExpression = string;
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/types/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/types/base.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  export type ClickHouseInteger = 'Int8' | 'Int16' | 'Int32' | 'Int64' | 'Int128' | 'Int256' | 'UInt8' | 'UInt16' | 'UInt32' | 'UInt64' | 'UInt128' | 'UInt256';
2
+ export type ClickHouseJsSafeInteger = 'Int8' | 'Int16' | 'Int32' | 'UInt8' | 'UInt16' | 'UInt32';
3
+ export type ClickHouseJsUnsafeInteger = Exclude<ClickHouseInteger, ClickHouseJsSafeInteger>;
2
4
  export type ClickHouseFloat = 'Float32' | 'Float64';
3
5
  export type ClickHouseDecimal = 'Decimal32' | 'Decimal64' | 'Decimal128' | 'Decimal256' | `Decimal(${number}, ${number})`;
4
6
  export type ClickHouseDateTime = 'Date' | 'Date32' | 'DateTime' | `DateTime('${string}')` | `DateTime64(${number})` | `DateTime64(${number}, '${string}')`;
@@ -7,7 +9,7 @@ export type ClickHouseBoolean = 'Bool' | 'Boolean';
7
9
  export type ClickHouseEnum = `Enum8(${string})` | `Enum16(${string})`;
8
10
  export type ClickHouseBaseType = ClickHouseInteger | ClickHouseFloat | ClickHouseDecimal | ClickHouseDateTime | ClickHouseString | ClickHouseBoolean | ClickHouseEnum;
9
11
  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 ? string : 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;
12
+ export type InferClickHouseType<T extends ClickHouseType, 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 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
13
  type Add1<T extends number> = T extends 0 ? 1 : T extends 1 ? 2 : T extends 2 ? 3 : T extends 3 ? 4 : 5;
12
14
  export type ClickHouseSchema = Record<string, ClickHouseType>;
13
15
  export type InferSchemaType<T extends ClickHouseSchema> = {
@@ -1 +1 @@
1
- {"version":3,"file":"clickhouse-types.d.ts","sourceRoot":"","sources":["../../src/types/clickhouse-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clickhouse-types.d.ts","sourceRoot":"","sources":["../../src/types/clickhouse-types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hypequery/clickhouse",
3
- "version": "1.6.0",
3
+ "version": "1.6.1",
4
4
  "description": "ClickHouse typescript query builder",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -71,8 +71,8 @@
71
71
  "scripts": {
72
72
  "build": "npm run build:main && npm run build:cli && npm run verify-build || npm run diagnose-ci",
73
73
  "build:main": "tsc --project tsconfig.json",
74
- "build:cli": "node scripts/ensure-core-files.js && node scripts/handle-cli-files.js",
75
- "build:ci": "npm run build:main && node scripts/ensure-core-files.js && node scripts/handle-cli-files.js && npm run verify-build || npm run diagnose-ci",
74
+ "build:cli": "node scripts/handle-cli-files.js",
75
+ "build:ci": "npm run build:main && node scripts/handle-cli-files.js && npm run verify-build || npm run diagnose-ci",
76
76
  "verify-build": "node scripts/verify-build.js",
77
77
  "diagnose-ci": "node scripts/diagnose-ci.js",
78
78
  "dev": "tsc --watch",