@type32/tauri-sqlite-orm 0.1.18-5 → 0.1.18-7
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/index.d.mts +87 -15
- package/dist/index.d.ts +87 -15
- package/dist/index.js +325 -45
- package/dist/index.mjs +310 -43
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -33,11 +33,12 @@ declare class SQLiteColumn<TName extends string = string, TType extends ColumnDa
|
|
|
33
33
|
notNull(): SQLiteColumn<TName, TType, TMode, true, THasDefault, TAutoincrement>;
|
|
34
34
|
default(value: ColumnValueTypes<TType, TMode>): SQLiteColumn<TName, TType, TMode, TNotNull, true, TAutoincrement>;
|
|
35
35
|
$defaultFn(fn: () => ColumnValueTypes<TType, TMode>): SQLiteColumn<TName, TType, TMode, TNotNull, true, TAutoincrement>;
|
|
36
|
-
primaryKey(): SQLiteColumn<TName, TType, TMode,
|
|
36
|
+
primaryKey(): SQLiteColumn<TName, TType, TMode, true, THasDefault, TAutoincrement>;
|
|
37
37
|
autoincrement(): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, true>;
|
|
38
38
|
unique(): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, TAutoincrement>;
|
|
39
39
|
references<T extends AnyTable, K extends keyof T["_"]["columns"] & string>(ref: T, column: K): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, TAutoincrement>;
|
|
40
40
|
$onUpdateFn(fn: () => ColumnValueTypes<TType, TMode>): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, TAutoincrement>;
|
|
41
|
+
as(alias: string): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, TAutoincrement>;
|
|
41
42
|
}
|
|
42
43
|
declare const text: <TName extends string>(name: TName) => SQLiteColumn<TName, "TEXT", "default", false, false, false>;
|
|
43
44
|
declare const integer: <TName extends string, TMode extends Mode = "default">(name: TName, config?: {
|
|
@@ -51,11 +52,12 @@ type AnyTable = Table<Record<string, AnySQLiteColumn>, string>;
|
|
|
51
52
|
type InferSelectModel<T extends AnyTable> = {
|
|
52
53
|
[K in keyof T["_"]["columns"]]: ExtractColumnType<T["_"]["columns"][K]>;
|
|
53
54
|
};
|
|
54
|
-
type
|
|
55
|
-
[K in keyof TColumns]: TColumns[K]["_"]["notNull"] extends true ? TColumns[K]["_"]["hasDefault"] extends true ? never : K : never;
|
|
56
|
-
}[keyof TColumns];
|
|
55
|
+
type IsOptionalOnInsert<C extends AnySQLiteColumn> = C["_"]["notNull"] extends false ? true : C["_"]["hasDefault"] extends true ? true : C["_"]["autoincrement"] extends true ? true : false;
|
|
57
56
|
type OptionalColumns<TColumns extends Record<string, AnySQLiteColumn>> = {
|
|
58
|
-
[K in keyof TColumns]: TColumns[K]
|
|
57
|
+
[K in keyof TColumns]: IsOptionalOnInsert<TColumns[K]> extends true ? K : never;
|
|
58
|
+
}[keyof TColumns];
|
|
59
|
+
type RequiredColumns<TColumns extends Record<string, AnySQLiteColumn>> = {
|
|
60
|
+
[K in keyof TColumns]: IsOptionalOnInsert<TColumns[K]> extends true ? never : K;
|
|
59
61
|
}[keyof TColumns];
|
|
60
62
|
type InferInsertModel<T extends AnyTable> = {
|
|
61
63
|
[K in RequiredColumns<T["_"]["columns"]>]: ExtractColumnType<T["_"]["columns"][K]>;
|
|
@@ -77,6 +79,7 @@ type SQLCondition = {
|
|
|
77
79
|
declare const eq: <T>(column: AnySQLiteColumn, value: T) => SQLCondition;
|
|
78
80
|
declare const and: (...conditions: SQLCondition[]) => SQLCondition;
|
|
79
81
|
declare const or: (...conditions: SQLCondition[]) => SQLCondition;
|
|
82
|
+
declare const not: (condition: SQLCondition) => SQLCondition;
|
|
80
83
|
declare const gt: <T>(column: AnySQLiteColumn, value: T) => SQLCondition;
|
|
81
84
|
declare const gte: <T>(column: AnySQLiteColumn, value: T) => SQLCondition;
|
|
82
85
|
declare const lt: <T>(column: AnySQLiteColumn, value: T) => SQLCondition;
|
|
@@ -85,13 +88,35 @@ declare const like: (column: AnySQLiteColumn, pattern: string) => SQLCondition;
|
|
|
85
88
|
declare const isNull: (column: AnySQLiteColumn) => SQLCondition;
|
|
86
89
|
declare const isNotNull: (column: AnySQLiteColumn) => SQLCondition;
|
|
87
90
|
declare const inArray: <T>(column: AnySQLiteColumn, values: T[]) => SQLCondition;
|
|
91
|
+
declare const asc: (column: AnySQLiteColumn) => {
|
|
92
|
+
sql: string;
|
|
93
|
+
params: never[];
|
|
94
|
+
};
|
|
95
|
+
declare const desc: (column: AnySQLiteColumn) => {
|
|
96
|
+
sql: string;
|
|
97
|
+
params: never[];
|
|
98
|
+
};
|
|
99
|
+
declare const count: (column?: AnySQLiteColumn) => SQLCondition;
|
|
100
|
+
declare const countDistinct: (column: AnySQLiteColumn) => SQLCondition;
|
|
101
|
+
declare const sum: (column: AnySQLiteColumn) => SQLCondition;
|
|
102
|
+
declare const avg: (column: AnySQLiteColumn) => SQLCondition;
|
|
103
|
+
declare const max: (column: AnySQLiteColumn) => SQLCondition;
|
|
104
|
+
declare const min: (column: AnySQLiteColumn) => SQLCondition;
|
|
105
|
+
declare const sql: <T = unknown>(strings: TemplateStringsArray, ...values: any[]) => {
|
|
106
|
+
sql: string;
|
|
107
|
+
params: any[];
|
|
108
|
+
mapWith?: (value: any) => T;
|
|
109
|
+
};
|
|
88
110
|
declare class BaseQueryBuilder {
|
|
89
111
|
protected db: Database;
|
|
90
112
|
protected query: string;
|
|
91
113
|
protected params: any[];
|
|
92
114
|
constructor(db: Database);
|
|
93
115
|
where(condition: SQLCondition): this;
|
|
94
|
-
orderBy(column: AnySQLiteColumn
|
|
116
|
+
orderBy(column: AnySQLiteColumn | {
|
|
117
|
+
sql: string;
|
|
118
|
+
params: any[];
|
|
119
|
+
}, direction?: "ASC" | "DESC"): this;
|
|
95
120
|
limit(count: number): this;
|
|
96
121
|
offset(count: number): this;
|
|
97
122
|
build(): {
|
|
@@ -102,31 +127,69 @@ declare class BaseQueryBuilder {
|
|
|
102
127
|
declare class SelectQueryBuilder<TTable extends AnyTable, TSelectedColumns extends (keyof TTable["_"]["columns"])[] | undefined = undefined> extends BaseQueryBuilder {
|
|
103
128
|
private table;
|
|
104
129
|
private columns?;
|
|
130
|
+
private isDistinct;
|
|
131
|
+
private groupByColumns;
|
|
132
|
+
private havingCondition;
|
|
105
133
|
constructor(db: Database, table: TTable, columns?: TSelectedColumns | undefined);
|
|
134
|
+
distinct(): this;
|
|
135
|
+
groupBy(...columns: AnySQLiteColumn[]): this;
|
|
136
|
+
having(condition: SQLCondition): this;
|
|
106
137
|
execute(): Promise<TSelectedColumns extends (keyof TTable["_"]["columns"])[] ? Pick<InferSelectModel<TTable>, TSelectedColumns[number]>[] : InferSelectModel<TTable>[]>;
|
|
138
|
+
all(): Promise<TSelectedColumns extends (keyof TTable["_"]["columns"])[] ? Pick<InferSelectModel<TTable>, TSelectedColumns[number]>[] : InferSelectModel<TTable>[]>;
|
|
139
|
+
get(): Promise<TSelectedColumns extends (keyof TTable["_"]["columns"])[] ? Pick<InferSelectModel<TTable>, TSelectedColumns[number]> | undefined : InferSelectModel<TTable> | undefined>;
|
|
107
140
|
}
|
|
108
141
|
declare class InsertQueryBuilder<T extends AnyTable> extends BaseQueryBuilder {
|
|
109
142
|
private table;
|
|
110
143
|
private dataSets;
|
|
144
|
+
private returningColumns;
|
|
145
|
+
private onConflictAction;
|
|
146
|
+
private conflictTarget;
|
|
147
|
+
private updateSet;
|
|
111
148
|
constructor(db: Database, table: T);
|
|
112
|
-
values(data:
|
|
113
|
-
|
|
149
|
+
values(data: InferInsertModel<T> | InferInsertModel<T>[]): this;
|
|
150
|
+
returning(...columns: (keyof T["_"]["columns"])[]): this;
|
|
151
|
+
onConflictDoNothing(target?: AnySQLiteColumn | AnySQLiteColumn[]): this;
|
|
152
|
+
onConflictDoUpdate(config: {
|
|
153
|
+
target: AnySQLiteColumn | AnySQLiteColumn[];
|
|
154
|
+
set: Partial<InferInsertModel<T>>;
|
|
155
|
+
}): this;
|
|
156
|
+
private processDefaultValues;
|
|
157
|
+
private buildConflictClause;
|
|
158
|
+
execute(): Promise<T extends AnyTable ? (InferSelectModel<T> & Record<string, any>)[] : never>;
|
|
159
|
+
returningAll(): Promise<InferSelectModel<T>[]>;
|
|
114
160
|
}
|
|
115
161
|
declare class UpdateQueryBuilder<T extends AnyTable> extends BaseQueryBuilder {
|
|
116
162
|
private table;
|
|
117
163
|
private updateData;
|
|
164
|
+
private returningColumns;
|
|
118
165
|
constructor(db: Database, table: T);
|
|
119
166
|
set(data: Partial<InferInsertModel<T>>): this;
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
execute(): Promise<number>;
|
|
167
|
+
returning(...columns: (keyof T["_"]["columns"])[]): this;
|
|
168
|
+
private buildUpdateClause;
|
|
169
|
+
execute(): Promise<T extends AnyTable ? (InferSelectModel<T> & Record<string, any>)[] : never>;
|
|
170
|
+
returningAll(): Promise<InferSelectModel<T>[]>;
|
|
125
171
|
}
|
|
126
172
|
declare class DeleteQueryBuilder<T extends AnyTable> extends BaseQueryBuilder {
|
|
127
173
|
private table;
|
|
174
|
+
private returningColumns;
|
|
128
175
|
constructor(db: Database, table: T);
|
|
129
|
-
|
|
176
|
+
returning(...columns: (keyof T["_"]["columns"])[]): this;
|
|
177
|
+
execute(): Promise<T extends AnyTable ? (InferSelectModel<T> & Record<string, any>)[] : never>;
|
|
178
|
+
returningAll(): Promise<InferSelectModel<T>[]>;
|
|
179
|
+
}
|
|
180
|
+
declare class WithQueryBuilder {
|
|
181
|
+
private db;
|
|
182
|
+
private ctes;
|
|
183
|
+
constructor(db: Database);
|
|
184
|
+
with(alias: string, query: {
|
|
185
|
+
sql: string;
|
|
186
|
+
params: any[];
|
|
187
|
+
}): this;
|
|
188
|
+
select<T extends AnyTable, C extends (keyof T["_"]["columns"])[] | undefined = undefined>(table: T, columns?: C): SelectQueryBuilder<T, C>;
|
|
189
|
+
insert<T extends AnyTable>(table: T): InsertQueryBuilder<T>;
|
|
190
|
+
update<T extends AnyTable>(table: T): UpdateQueryBuilder<T>;
|
|
191
|
+
delete<T extends AnyTable>(table: T): DeleteQueryBuilder<T>;
|
|
192
|
+
private applyWithClause;
|
|
130
193
|
}
|
|
131
194
|
declare class TauriORM {
|
|
132
195
|
private db;
|
|
@@ -138,7 +201,14 @@ declare class TauriORM {
|
|
|
138
201
|
insert<T extends AnyTable>(table: T): InsertQueryBuilder<T>;
|
|
139
202
|
update<T extends AnyTable>(table: T): UpdateQueryBuilder<T>;
|
|
140
203
|
delete<T extends AnyTable>(table: T): DeleteQueryBuilder<T>;
|
|
204
|
+
$with(alias: string): {
|
|
205
|
+
as: (query: {
|
|
206
|
+
sql: string;
|
|
207
|
+
params: any[];
|
|
208
|
+
}) => WithQueryBuilder;
|
|
209
|
+
};
|
|
141
210
|
transaction<T>(callback: (tx: TauriORM) => Promise<T>): Promise<T>;
|
|
211
|
+
rollback(): never;
|
|
142
212
|
private ensureSchemaMeta;
|
|
143
213
|
private getSchemaMeta;
|
|
144
214
|
private setSchemaMeta;
|
|
@@ -156,5 +226,7 @@ declare const relations: <T extends AnyTable, R extends Record<string, any>>(tab
|
|
|
156
226
|
one: any;
|
|
157
227
|
many: any;
|
|
158
228
|
}) => R) => R;
|
|
229
|
+
declare const getTableColumns: <T extends AnyTable>(table: T) => Record<string, AnySQLiteColumn>;
|
|
230
|
+
declare const alias: <T extends AnyTable>(table: T, alias: string) => Table<T["_"]["columns"], T["_"]["name"]>;
|
|
159
231
|
|
|
160
|
-
export { type AnySQLiteColumn, type AnyTable, type ColumnDataType, type ColumnOptions, DeleteQueryBuilder, type InferInsertModel, type InferSelectModel, InsertQueryBuilder, type Mode, type SQLCondition, SQLiteColumn, SelectQueryBuilder, Table, TauriORM, UpdateQueryBuilder, and, blob, boolean, eq, gt, gte, inArray, integer, isNotNull, isNull, like, lt, lte, or, real, relations, sqliteTable, text };
|
|
232
|
+
export { type AnySQLiteColumn, type AnyTable, type ColumnDataType, type ColumnOptions, DeleteQueryBuilder, type InferInsertModel, type InferSelectModel, InsertQueryBuilder, type Mode, type SQLCondition, SQLiteColumn, SelectQueryBuilder, Table, TauriORM, UpdateQueryBuilder, WithQueryBuilder, alias, and, asc, avg, blob, boolean, count, countDistinct, desc, eq, getTableColumns, gt, gte, inArray, integer, isNotNull, isNull, like, lt, lte, max, min, not, or, real, relations, sql, sqliteTable, sum, text };
|
package/dist/index.d.ts
CHANGED
|
@@ -33,11 +33,12 @@ declare class SQLiteColumn<TName extends string = string, TType extends ColumnDa
|
|
|
33
33
|
notNull(): SQLiteColumn<TName, TType, TMode, true, THasDefault, TAutoincrement>;
|
|
34
34
|
default(value: ColumnValueTypes<TType, TMode>): SQLiteColumn<TName, TType, TMode, TNotNull, true, TAutoincrement>;
|
|
35
35
|
$defaultFn(fn: () => ColumnValueTypes<TType, TMode>): SQLiteColumn<TName, TType, TMode, TNotNull, true, TAutoincrement>;
|
|
36
|
-
primaryKey(): SQLiteColumn<TName, TType, TMode,
|
|
36
|
+
primaryKey(): SQLiteColumn<TName, TType, TMode, true, THasDefault, TAutoincrement>;
|
|
37
37
|
autoincrement(): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, true>;
|
|
38
38
|
unique(): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, TAutoincrement>;
|
|
39
39
|
references<T extends AnyTable, K extends keyof T["_"]["columns"] & string>(ref: T, column: K): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, TAutoincrement>;
|
|
40
40
|
$onUpdateFn(fn: () => ColumnValueTypes<TType, TMode>): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, TAutoincrement>;
|
|
41
|
+
as(alias: string): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, TAutoincrement>;
|
|
41
42
|
}
|
|
42
43
|
declare const text: <TName extends string>(name: TName) => SQLiteColumn<TName, "TEXT", "default", false, false, false>;
|
|
43
44
|
declare const integer: <TName extends string, TMode extends Mode = "default">(name: TName, config?: {
|
|
@@ -51,11 +52,12 @@ type AnyTable = Table<Record<string, AnySQLiteColumn>, string>;
|
|
|
51
52
|
type InferSelectModel<T extends AnyTable> = {
|
|
52
53
|
[K in keyof T["_"]["columns"]]: ExtractColumnType<T["_"]["columns"][K]>;
|
|
53
54
|
};
|
|
54
|
-
type
|
|
55
|
-
[K in keyof TColumns]: TColumns[K]["_"]["notNull"] extends true ? TColumns[K]["_"]["hasDefault"] extends true ? never : K : never;
|
|
56
|
-
}[keyof TColumns];
|
|
55
|
+
type IsOptionalOnInsert<C extends AnySQLiteColumn> = C["_"]["notNull"] extends false ? true : C["_"]["hasDefault"] extends true ? true : C["_"]["autoincrement"] extends true ? true : false;
|
|
57
56
|
type OptionalColumns<TColumns extends Record<string, AnySQLiteColumn>> = {
|
|
58
|
-
[K in keyof TColumns]: TColumns[K]
|
|
57
|
+
[K in keyof TColumns]: IsOptionalOnInsert<TColumns[K]> extends true ? K : never;
|
|
58
|
+
}[keyof TColumns];
|
|
59
|
+
type RequiredColumns<TColumns extends Record<string, AnySQLiteColumn>> = {
|
|
60
|
+
[K in keyof TColumns]: IsOptionalOnInsert<TColumns[K]> extends true ? never : K;
|
|
59
61
|
}[keyof TColumns];
|
|
60
62
|
type InferInsertModel<T extends AnyTable> = {
|
|
61
63
|
[K in RequiredColumns<T["_"]["columns"]>]: ExtractColumnType<T["_"]["columns"][K]>;
|
|
@@ -77,6 +79,7 @@ type SQLCondition = {
|
|
|
77
79
|
declare const eq: <T>(column: AnySQLiteColumn, value: T) => SQLCondition;
|
|
78
80
|
declare const and: (...conditions: SQLCondition[]) => SQLCondition;
|
|
79
81
|
declare const or: (...conditions: SQLCondition[]) => SQLCondition;
|
|
82
|
+
declare const not: (condition: SQLCondition) => SQLCondition;
|
|
80
83
|
declare const gt: <T>(column: AnySQLiteColumn, value: T) => SQLCondition;
|
|
81
84
|
declare const gte: <T>(column: AnySQLiteColumn, value: T) => SQLCondition;
|
|
82
85
|
declare const lt: <T>(column: AnySQLiteColumn, value: T) => SQLCondition;
|
|
@@ -85,13 +88,35 @@ declare const like: (column: AnySQLiteColumn, pattern: string) => SQLCondition;
|
|
|
85
88
|
declare const isNull: (column: AnySQLiteColumn) => SQLCondition;
|
|
86
89
|
declare const isNotNull: (column: AnySQLiteColumn) => SQLCondition;
|
|
87
90
|
declare const inArray: <T>(column: AnySQLiteColumn, values: T[]) => SQLCondition;
|
|
91
|
+
declare const asc: (column: AnySQLiteColumn) => {
|
|
92
|
+
sql: string;
|
|
93
|
+
params: never[];
|
|
94
|
+
};
|
|
95
|
+
declare const desc: (column: AnySQLiteColumn) => {
|
|
96
|
+
sql: string;
|
|
97
|
+
params: never[];
|
|
98
|
+
};
|
|
99
|
+
declare const count: (column?: AnySQLiteColumn) => SQLCondition;
|
|
100
|
+
declare const countDistinct: (column: AnySQLiteColumn) => SQLCondition;
|
|
101
|
+
declare const sum: (column: AnySQLiteColumn) => SQLCondition;
|
|
102
|
+
declare const avg: (column: AnySQLiteColumn) => SQLCondition;
|
|
103
|
+
declare const max: (column: AnySQLiteColumn) => SQLCondition;
|
|
104
|
+
declare const min: (column: AnySQLiteColumn) => SQLCondition;
|
|
105
|
+
declare const sql: <T = unknown>(strings: TemplateStringsArray, ...values: any[]) => {
|
|
106
|
+
sql: string;
|
|
107
|
+
params: any[];
|
|
108
|
+
mapWith?: (value: any) => T;
|
|
109
|
+
};
|
|
88
110
|
declare class BaseQueryBuilder {
|
|
89
111
|
protected db: Database;
|
|
90
112
|
protected query: string;
|
|
91
113
|
protected params: any[];
|
|
92
114
|
constructor(db: Database);
|
|
93
115
|
where(condition: SQLCondition): this;
|
|
94
|
-
orderBy(column: AnySQLiteColumn
|
|
116
|
+
orderBy(column: AnySQLiteColumn | {
|
|
117
|
+
sql: string;
|
|
118
|
+
params: any[];
|
|
119
|
+
}, direction?: "ASC" | "DESC"): this;
|
|
95
120
|
limit(count: number): this;
|
|
96
121
|
offset(count: number): this;
|
|
97
122
|
build(): {
|
|
@@ -102,31 +127,69 @@ declare class BaseQueryBuilder {
|
|
|
102
127
|
declare class SelectQueryBuilder<TTable extends AnyTable, TSelectedColumns extends (keyof TTable["_"]["columns"])[] | undefined = undefined> extends BaseQueryBuilder {
|
|
103
128
|
private table;
|
|
104
129
|
private columns?;
|
|
130
|
+
private isDistinct;
|
|
131
|
+
private groupByColumns;
|
|
132
|
+
private havingCondition;
|
|
105
133
|
constructor(db: Database, table: TTable, columns?: TSelectedColumns | undefined);
|
|
134
|
+
distinct(): this;
|
|
135
|
+
groupBy(...columns: AnySQLiteColumn[]): this;
|
|
136
|
+
having(condition: SQLCondition): this;
|
|
106
137
|
execute(): Promise<TSelectedColumns extends (keyof TTable["_"]["columns"])[] ? Pick<InferSelectModel<TTable>, TSelectedColumns[number]>[] : InferSelectModel<TTable>[]>;
|
|
138
|
+
all(): Promise<TSelectedColumns extends (keyof TTable["_"]["columns"])[] ? Pick<InferSelectModel<TTable>, TSelectedColumns[number]>[] : InferSelectModel<TTable>[]>;
|
|
139
|
+
get(): Promise<TSelectedColumns extends (keyof TTable["_"]["columns"])[] ? Pick<InferSelectModel<TTable>, TSelectedColumns[number]> | undefined : InferSelectModel<TTable> | undefined>;
|
|
107
140
|
}
|
|
108
141
|
declare class InsertQueryBuilder<T extends AnyTable> extends BaseQueryBuilder {
|
|
109
142
|
private table;
|
|
110
143
|
private dataSets;
|
|
144
|
+
private returningColumns;
|
|
145
|
+
private onConflictAction;
|
|
146
|
+
private conflictTarget;
|
|
147
|
+
private updateSet;
|
|
111
148
|
constructor(db: Database, table: T);
|
|
112
|
-
values(data:
|
|
113
|
-
|
|
149
|
+
values(data: InferInsertModel<T> | InferInsertModel<T>[]): this;
|
|
150
|
+
returning(...columns: (keyof T["_"]["columns"])[]): this;
|
|
151
|
+
onConflictDoNothing(target?: AnySQLiteColumn | AnySQLiteColumn[]): this;
|
|
152
|
+
onConflictDoUpdate(config: {
|
|
153
|
+
target: AnySQLiteColumn | AnySQLiteColumn[];
|
|
154
|
+
set: Partial<InferInsertModel<T>>;
|
|
155
|
+
}): this;
|
|
156
|
+
private processDefaultValues;
|
|
157
|
+
private buildConflictClause;
|
|
158
|
+
execute(): Promise<T extends AnyTable ? (InferSelectModel<T> & Record<string, any>)[] : never>;
|
|
159
|
+
returningAll(): Promise<InferSelectModel<T>[]>;
|
|
114
160
|
}
|
|
115
161
|
declare class UpdateQueryBuilder<T extends AnyTable> extends BaseQueryBuilder {
|
|
116
162
|
private table;
|
|
117
163
|
private updateData;
|
|
164
|
+
private returningColumns;
|
|
118
165
|
constructor(db: Database, table: T);
|
|
119
166
|
set(data: Partial<InferInsertModel<T>>): this;
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
execute(): Promise<number>;
|
|
167
|
+
returning(...columns: (keyof T["_"]["columns"])[]): this;
|
|
168
|
+
private buildUpdateClause;
|
|
169
|
+
execute(): Promise<T extends AnyTable ? (InferSelectModel<T> & Record<string, any>)[] : never>;
|
|
170
|
+
returningAll(): Promise<InferSelectModel<T>[]>;
|
|
125
171
|
}
|
|
126
172
|
declare class DeleteQueryBuilder<T extends AnyTable> extends BaseQueryBuilder {
|
|
127
173
|
private table;
|
|
174
|
+
private returningColumns;
|
|
128
175
|
constructor(db: Database, table: T);
|
|
129
|
-
|
|
176
|
+
returning(...columns: (keyof T["_"]["columns"])[]): this;
|
|
177
|
+
execute(): Promise<T extends AnyTable ? (InferSelectModel<T> & Record<string, any>)[] : never>;
|
|
178
|
+
returningAll(): Promise<InferSelectModel<T>[]>;
|
|
179
|
+
}
|
|
180
|
+
declare class WithQueryBuilder {
|
|
181
|
+
private db;
|
|
182
|
+
private ctes;
|
|
183
|
+
constructor(db: Database);
|
|
184
|
+
with(alias: string, query: {
|
|
185
|
+
sql: string;
|
|
186
|
+
params: any[];
|
|
187
|
+
}): this;
|
|
188
|
+
select<T extends AnyTable, C extends (keyof T["_"]["columns"])[] | undefined = undefined>(table: T, columns?: C): SelectQueryBuilder<T, C>;
|
|
189
|
+
insert<T extends AnyTable>(table: T): InsertQueryBuilder<T>;
|
|
190
|
+
update<T extends AnyTable>(table: T): UpdateQueryBuilder<T>;
|
|
191
|
+
delete<T extends AnyTable>(table: T): DeleteQueryBuilder<T>;
|
|
192
|
+
private applyWithClause;
|
|
130
193
|
}
|
|
131
194
|
declare class TauriORM {
|
|
132
195
|
private db;
|
|
@@ -138,7 +201,14 @@ declare class TauriORM {
|
|
|
138
201
|
insert<T extends AnyTable>(table: T): InsertQueryBuilder<T>;
|
|
139
202
|
update<T extends AnyTable>(table: T): UpdateQueryBuilder<T>;
|
|
140
203
|
delete<T extends AnyTable>(table: T): DeleteQueryBuilder<T>;
|
|
204
|
+
$with(alias: string): {
|
|
205
|
+
as: (query: {
|
|
206
|
+
sql: string;
|
|
207
|
+
params: any[];
|
|
208
|
+
}) => WithQueryBuilder;
|
|
209
|
+
};
|
|
141
210
|
transaction<T>(callback: (tx: TauriORM) => Promise<T>): Promise<T>;
|
|
211
|
+
rollback(): never;
|
|
142
212
|
private ensureSchemaMeta;
|
|
143
213
|
private getSchemaMeta;
|
|
144
214
|
private setSchemaMeta;
|
|
@@ -156,5 +226,7 @@ declare const relations: <T extends AnyTable, R extends Record<string, any>>(tab
|
|
|
156
226
|
one: any;
|
|
157
227
|
many: any;
|
|
158
228
|
}) => R) => R;
|
|
229
|
+
declare const getTableColumns: <T extends AnyTable>(table: T) => Record<string, AnySQLiteColumn>;
|
|
230
|
+
declare const alias: <T extends AnyTable>(table: T, alias: string) => Table<T["_"]["columns"], T["_"]["name"]>;
|
|
159
231
|
|
|
160
|
-
export { type AnySQLiteColumn, type AnyTable, type ColumnDataType, type ColumnOptions, DeleteQueryBuilder, type InferInsertModel, type InferSelectModel, InsertQueryBuilder, type Mode, type SQLCondition, SQLiteColumn, SelectQueryBuilder, Table, TauriORM, UpdateQueryBuilder, and, blob, boolean, eq, gt, gte, inArray, integer, isNotNull, isNull, like, lt, lte, or, real, relations, sqliteTable, text };
|
|
232
|
+
export { type AnySQLiteColumn, type AnyTable, type ColumnDataType, type ColumnOptions, DeleteQueryBuilder, type InferInsertModel, type InferSelectModel, InsertQueryBuilder, type Mode, type SQLCondition, SQLiteColumn, SelectQueryBuilder, Table, TauriORM, UpdateQueryBuilder, WithQueryBuilder, alias, and, asc, avg, blob, boolean, count, countDistinct, desc, eq, getTableColumns, gt, gte, inArray, integer, isNotNull, isNull, like, lt, lte, max, min, not, or, real, relations, sql, sqliteTable, sum, text };
|