@housekit/orm 0.1.23 → 0.1.25
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/builders/select.d.ts +3 -5
- package/dist/table.d.ts +9 -3
- package/package.json +1 -1
|
@@ -219,11 +219,9 @@ export declare class ClickHouseQueryBuilder<TTable extends TableDefinition<any>
|
|
|
219
219
|
kind: "cte";
|
|
220
220
|
query?: string;
|
|
221
221
|
}>;
|
|
222
|
-
readonly $inferSelect:
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
readonly $inferInsert: import("..").TableInsert<TSelection extends SelectionShape ? { [K in keyof (TSelection extends infer T_2 ? T_2 extends TSelection ? T_2 extends SelectionShape ? SelectResult<T_2> : Record<string, any> : never : never)]: ClickHouseColumn<(TSelection extends infer T_3 ? T_3 extends TSelection ? T_3 extends SelectionShape ? SelectResult<T_3> : Record<string, any> : never : never)[K], true, false>; } : Record<string, ClickHouseColumn<any, true, false>>>;
|
|
226
|
-
} & (TSelection extends SelectionShape ? { [K in keyof (TSelection extends infer T_3 ? T_3 extends TSelection ? T_3 extends SelectionShape ? SelectResult<T_3> : Record<string, any> : never : never)]: ClickHouseColumn<(TSelection extends infer T_4 ? T_4 extends TSelection ? T_4 extends SelectionShape ? SelectResult<T_4> : Record<string, any> : never : never)[K], true, false>; } : Record<string, ClickHouseColumn<any, true, false>>);
|
|
222
|
+
readonly $inferSelect: { [K_2 in keyof (TSelection extends SelectionShape ? { [K in keyof (TSelection extends infer T_2 ? T_2 extends TSelection ? T_2 extends SelectionShape ? SelectResult<T_2> : Record<string, any> : never : never)]: ClickHouseColumn<(TSelection extends infer T_3 ? T_3 extends TSelection ? T_3 extends SelectionShape ? SelectResult<T_3> : Record<string, any> : never : never)[K], true, false>; } : Record<string, ClickHouseColumn<any, true, false>>)]: (TSelection extends SelectionShape ? { [K in keyof (TSelection extends infer T_3 ? T_3 extends TSelection ? T_3 extends SelectionShape ? SelectResult<T_3> : Record<string, any> : never : never)]: ClickHouseColumn<(TSelection extends infer T_4 ? T_4 extends TSelection ? T_4 extends SelectionShape ? SelectResult<T_4> : Record<string, any> : never : never)[K], true, false>; } : Record<string, ClickHouseColumn<any, true, false>>)[K_2] extends infer T_4 ? T_4 extends (TSelection extends SelectionShape ? { [K in keyof (TSelection extends infer T_5 ? T_5 extends TSelection ? T_5 extends SelectionShape ? SelectResult<T_5> : Record<string, any> : never : never)]: ClickHouseColumn<(TSelection extends infer T_6 ? T_6 extends TSelection ? T_6 extends SelectionShape ? SelectResult<T_6> : Record<string, any> : never : never)[K], true, false>; } : Record<string, ClickHouseColumn<any, true, false>>)[K_2] ? T_4 extends ClickHouseColumn<infer Type, infer IsNotNull extends boolean, any> ? IsNotNull extends true ? Type : Type | null : never : never : never; } extends infer T_1 ? { [K_1 in keyof T_1]: T_1[K_1]; } : never;
|
|
223
|
+
readonly $inferInsert: import("..").TableInsert<TSelection extends SelectionShape ? { [K in keyof (TSelection extends infer T_4 ? T_4 extends TSelection ? T_4 extends SelectionShape ? SelectResult<T_4> : Record<string, any> : never : never)]: ClickHouseColumn<(TSelection extends infer T_5 ? T_5 extends TSelection ? T_5 extends SelectionShape ? SelectResult<T_5> : Record<string, any> : never : never)[K], true, false>; } : Record<string, ClickHouseColumn<any, true, false>>> extends infer T_3 ? { [K_3 in keyof T_3]: T_3[K_3]; } : never;
|
|
224
|
+
} & (TSelection extends SelectionShape ? { [K in keyof (TSelection extends infer T_5 ? T_5 extends TSelection ? T_5 extends SelectionShape ? SelectResult<T_5> : Record<string, any> : never : never)]: ClickHouseColumn<(TSelection extends infer T_6 ? T_6 extends TSelection ? T_6 extends SelectionShape ? SelectResult<T_6> : Record<string, any> : never : never)[K], true, false>; } : Record<string, ClickHouseColumn<any, true, false>>);
|
|
227
225
|
register: (mainQuery: ClickHouseQueryBuilder<any, any, any>) => ClickHouseQueryBuilder<any, any, any>;
|
|
228
226
|
};
|
|
229
227
|
final(): this;
|
package/dist/table.d.ts
CHANGED
|
@@ -67,6 +67,12 @@ export type RelationDefinition<TTarget extends TableDefinition<any> = TableDefin
|
|
|
67
67
|
references?: ClickHouseColumn[];
|
|
68
68
|
};
|
|
69
69
|
export type TableColumns = Record<string, ClickHouseColumn<any, any, any>>;
|
|
70
|
+
/**
|
|
71
|
+
* Utility to force TypeScript to expand computed types for cleaner tooltips.
|
|
72
|
+
*/
|
|
73
|
+
export type Prettify<T> = {
|
|
74
|
+
[K in keyof T]: T[K];
|
|
75
|
+
} & {};
|
|
70
76
|
export type TableRow<TCols extends TableColumns> = {
|
|
71
77
|
[K in keyof TCols]: TCols[K] extends ClickHouseColumn<infer T, infer NotNull, any> ? NotNull extends true ? T : T | null : never;
|
|
72
78
|
};
|
|
@@ -76,12 +82,12 @@ export type TableInsert<TCols extends TableColumns> = {
|
|
|
76
82
|
type GetColumnType<T extends ClickHouseColumn> = T extends ClickHouseColumn<infer Type, infer IsNotNull, any> ? IsNotNull extends true ? Type : Type | null : never;
|
|
77
83
|
export type InferSelectModel<T extends {
|
|
78
84
|
$columns: TableColumns;
|
|
79
|
-
}> = {
|
|
85
|
+
}> = Prettify<{
|
|
80
86
|
[K in keyof T['$columns']]: GetColumnType<T['$columns'][K]>;
|
|
81
|
-
}
|
|
87
|
+
}>;
|
|
82
88
|
export type InferInsertModel<T extends {
|
|
83
89
|
$columns: TableColumns;
|
|
84
|
-
}> = TableInsert<T['$columns']
|
|
90
|
+
}> = Prettify<TableInsert<T['$columns']>>;
|
|
85
91
|
type InferInsertFromColumns<T> = T extends {
|
|
86
92
|
$columns: infer TCols extends TableColumns;
|
|
87
93
|
} ? TableInsert<TCols> : never;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@housekit/orm",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.25",
|
|
4
4
|
"description": "Type-safe ClickHouse ORM with modern DX and ClickHouse-specific optimizations. Features Turbo Mode (RowBinary), full engine support, and advanced query capabilities.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|