@type32/tauri-sqlite-orm 0.1.18-12 → 0.1.18-14
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 +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +10 -13
- package/dist/index.mjs +10 -13
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -58,6 +58,7 @@ declare class SelectQueryBuilder<TTable extends AnyTable, TSelectedColumns exten
|
|
|
58
58
|
private joins;
|
|
59
59
|
private includeRelations;
|
|
60
60
|
private selectedTableAlias;
|
|
61
|
+
private selectedColumns;
|
|
61
62
|
constructor(db: Database, table: TTable, columns?: TSelectedColumns | undefined);
|
|
62
63
|
distinct(): this;
|
|
63
64
|
groupBy(...columns: AnySQLiteColumn[]): this;
|
|
@@ -109,7 +110,7 @@ declare class DeleteQueryBuilder<T extends AnyTable> extends BaseQueryBuilder {
|
|
|
109
110
|
private table;
|
|
110
111
|
private returningColumns;
|
|
111
112
|
constructor(db: Database, table: T);
|
|
112
|
-
returning(...columns: (keyof T[
|
|
113
|
+
returning(...columns: (keyof T['_']['columns'])[]): this;
|
|
113
114
|
execute(): Promise<T extends AnyTable ? (InferSelectModel<T> & Record<string, any>)[] : never>;
|
|
114
115
|
returningAll(): Promise<InferSelectModel<T>[]>;
|
|
115
116
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -58,6 +58,7 @@ declare class SelectQueryBuilder<TTable extends AnyTable, TSelectedColumns exten
|
|
|
58
58
|
private joins;
|
|
59
59
|
private includeRelations;
|
|
60
60
|
private selectedTableAlias;
|
|
61
|
+
private selectedColumns;
|
|
61
62
|
constructor(db: Database, table: TTable, columns?: TSelectedColumns | undefined);
|
|
62
63
|
distinct(): this;
|
|
63
64
|
groupBy(...columns: AnySQLiteColumn[]): this;
|
|
@@ -109,7 +110,7 @@ declare class DeleteQueryBuilder<T extends AnyTable> extends BaseQueryBuilder {
|
|
|
109
110
|
private table;
|
|
110
111
|
private returningColumns;
|
|
111
112
|
constructor(db: Database, table: T);
|
|
112
|
-
returning(...columns: (keyof T[
|
|
113
|
+
returning(...columns: (keyof T['_']['columns'])[]): this;
|
|
113
114
|
execute(): Promise<T extends AnyTable ? (InferSelectModel<T> & Record<string, any>)[] : never>;
|
|
114
115
|
returningAll(): Promise<InferSelectModel<T>[]>;
|
|
115
116
|
}
|
package/dist/index.js
CHANGED
|
@@ -186,9 +186,8 @@ var SelectQueryBuilder = class extends BaseQueryBuilder {
|
|
|
186
186
|
this.table = table;
|
|
187
187
|
this.columns = columns;
|
|
188
188
|
this.selectedTableAlias = table._.name;
|
|
189
|
-
|
|
190
|
-
this.query = `
|
|
191
|
-
FROM ${table._.name} ${this.selectedTableAlias}`;
|
|
189
|
+
this.selectedColumns = columns ? columns.map((c) => `${this.selectedTableAlias}.${table._.columns[c]._.name}`) : [`${this.selectedTableAlias}.*`];
|
|
190
|
+
this.query = `FROM ${table._.name} ${this.selectedTableAlias}`;
|
|
192
191
|
}
|
|
193
192
|
isDistinct = false;
|
|
194
193
|
groupByColumns = [];
|
|
@@ -196,9 +195,9 @@ var SelectQueryBuilder = class extends BaseQueryBuilder {
|
|
|
196
195
|
joins = [];
|
|
197
196
|
includeRelations = {};
|
|
198
197
|
selectedTableAlias;
|
|
198
|
+
selectedColumns = [];
|
|
199
199
|
distinct() {
|
|
200
200
|
this.isDistinct = true;
|
|
201
|
-
this.query = this.query.replace("SELECT", "SELECT DISTINCT");
|
|
202
201
|
return this;
|
|
203
202
|
}
|
|
204
203
|
groupBy(...columns) {
|
|
@@ -215,10 +214,12 @@ var SelectQueryBuilder = class extends BaseQueryBuilder {
|
|
|
215
214
|
}
|
|
216
215
|
leftJoin(table, condition, alias2) {
|
|
217
216
|
this.joins.push({ type: "LEFT", table, condition, alias: alias2 });
|
|
217
|
+
this.selectedColumns.push(`${alias2}.*`);
|
|
218
218
|
return this;
|
|
219
219
|
}
|
|
220
220
|
innerJoin(table, condition, alias2) {
|
|
221
221
|
this.joins.push({ type: "INNER", table, condition, alias: alias2 });
|
|
222
|
+
this.selectedColumns.push(`${alias2}.*`);
|
|
222
223
|
return this;
|
|
223
224
|
}
|
|
224
225
|
include(relations2) {
|
|
@@ -238,6 +239,7 @@ var SelectQueryBuilder = class extends BaseQueryBuilder {
|
|
|
238
239
|
if (!relation) continue;
|
|
239
240
|
const foreignTable = relation.foreignTable;
|
|
240
241
|
const foreignAlias = `${this.selectedTableAlias}_${relationName}`;
|
|
242
|
+
this.selectedColumns.push(`${foreignAlias}.*`);
|
|
241
243
|
if (relation.type === "one" && relation.fields && relation.references) {
|
|
242
244
|
const conditions = relation.fields.map((field, i) => {
|
|
243
245
|
const localColumn = `${this.selectedTableAlias}.${field._.name}`;
|
|
@@ -267,10 +269,6 @@ var SelectQueryBuilder = class extends BaseQueryBuilder {
|
|
|
267
269
|
const condition = conditions.length > 1 ? and(...conditions) : conditions[0];
|
|
268
270
|
sql2 += ` LEFT JOIN ${foreignTable._.name} ${foreignAlias} ON ${condition.sql}`;
|
|
269
271
|
params.push(...condition.params);
|
|
270
|
-
this.query = this.query.replace("SELECT ", `SELECT ${this.selectedTableAlias}.*, ${foreignAlias}.* `).replace(
|
|
271
|
-
`SELECT ${this.selectedTableAlias}.*, `,
|
|
272
|
-
`SELECT ${this.selectedTableAlias}.*, ${foreignAlias}.*, `
|
|
273
|
-
);
|
|
274
272
|
}
|
|
275
273
|
}
|
|
276
274
|
}
|
|
@@ -279,6 +277,8 @@ var SelectQueryBuilder = class extends BaseQueryBuilder {
|
|
|
279
277
|
// Enhanced execute method that handles relation data mapping
|
|
280
278
|
async execute() {
|
|
281
279
|
const { sql: joinSql, params: joinParams } = this.buildJoins();
|
|
280
|
+
const distinct = this.isDistinct ? "DISTINCT " : "";
|
|
281
|
+
this.query = `SELECT ${distinct}${this.selectedColumns.join(", ")} ${this.query}`;
|
|
282
282
|
this.query += joinSql;
|
|
283
283
|
this.params.push(...joinParams);
|
|
284
284
|
const { sql: sql2, params } = this.build();
|
|
@@ -539,8 +539,7 @@ var DeleteQueryBuilder = class extends BaseQueryBuilder {
|
|
|
539
539
|
constructor(db, table) {
|
|
540
540
|
super(db);
|
|
541
541
|
this.table = table;
|
|
542
|
-
this.query = `DELETE
|
|
543
|
-
FROM ${table._.name}`;
|
|
542
|
+
this.query = `DELETE FROM ${table._.name}`;
|
|
544
543
|
}
|
|
545
544
|
returningColumns = [];
|
|
546
545
|
returning(...columns) {
|
|
@@ -559,9 +558,7 @@ var DeleteQueryBuilder = class extends BaseQueryBuilder {
|
|
|
559
558
|
}
|
|
560
559
|
}
|
|
561
560
|
async returningAll() {
|
|
562
|
-
const allColumns = Object.keys(
|
|
563
|
-
this.table._.columns
|
|
564
|
-
);
|
|
561
|
+
const allColumns = Object.keys(this.table._.columns);
|
|
565
562
|
return this.returning(...allColumns).execute();
|
|
566
563
|
}
|
|
567
564
|
};
|
package/dist/index.mjs
CHANGED
|
@@ -119,9 +119,8 @@ var SelectQueryBuilder = class extends BaseQueryBuilder {
|
|
|
119
119
|
this.table = table;
|
|
120
120
|
this.columns = columns;
|
|
121
121
|
this.selectedTableAlias = table._.name;
|
|
122
|
-
|
|
123
|
-
this.query = `
|
|
124
|
-
FROM ${table._.name} ${this.selectedTableAlias}`;
|
|
122
|
+
this.selectedColumns = columns ? columns.map((c) => `${this.selectedTableAlias}.${table._.columns[c]._.name}`) : [`${this.selectedTableAlias}.*`];
|
|
123
|
+
this.query = `FROM ${table._.name} ${this.selectedTableAlias}`;
|
|
125
124
|
}
|
|
126
125
|
isDistinct = false;
|
|
127
126
|
groupByColumns = [];
|
|
@@ -129,9 +128,9 @@ var SelectQueryBuilder = class extends BaseQueryBuilder {
|
|
|
129
128
|
joins = [];
|
|
130
129
|
includeRelations = {};
|
|
131
130
|
selectedTableAlias;
|
|
131
|
+
selectedColumns = [];
|
|
132
132
|
distinct() {
|
|
133
133
|
this.isDistinct = true;
|
|
134
|
-
this.query = this.query.replace("SELECT", "SELECT DISTINCT");
|
|
135
134
|
return this;
|
|
136
135
|
}
|
|
137
136
|
groupBy(...columns) {
|
|
@@ -148,10 +147,12 @@ var SelectQueryBuilder = class extends BaseQueryBuilder {
|
|
|
148
147
|
}
|
|
149
148
|
leftJoin(table, condition, alias2) {
|
|
150
149
|
this.joins.push({ type: "LEFT", table, condition, alias: alias2 });
|
|
150
|
+
this.selectedColumns.push(`${alias2}.*`);
|
|
151
151
|
return this;
|
|
152
152
|
}
|
|
153
153
|
innerJoin(table, condition, alias2) {
|
|
154
154
|
this.joins.push({ type: "INNER", table, condition, alias: alias2 });
|
|
155
|
+
this.selectedColumns.push(`${alias2}.*`);
|
|
155
156
|
return this;
|
|
156
157
|
}
|
|
157
158
|
include(relations2) {
|
|
@@ -171,6 +172,7 @@ var SelectQueryBuilder = class extends BaseQueryBuilder {
|
|
|
171
172
|
if (!relation) continue;
|
|
172
173
|
const foreignTable = relation.foreignTable;
|
|
173
174
|
const foreignAlias = `${this.selectedTableAlias}_${relationName}`;
|
|
175
|
+
this.selectedColumns.push(`${foreignAlias}.*`);
|
|
174
176
|
if (relation.type === "one" && relation.fields && relation.references) {
|
|
175
177
|
const conditions = relation.fields.map((field, i) => {
|
|
176
178
|
const localColumn = `${this.selectedTableAlias}.${field._.name}`;
|
|
@@ -200,10 +202,6 @@ var SelectQueryBuilder = class extends BaseQueryBuilder {
|
|
|
200
202
|
const condition = conditions.length > 1 ? and(...conditions) : conditions[0];
|
|
201
203
|
sql2 += ` LEFT JOIN ${foreignTable._.name} ${foreignAlias} ON ${condition.sql}`;
|
|
202
204
|
params.push(...condition.params);
|
|
203
|
-
this.query = this.query.replace("SELECT ", `SELECT ${this.selectedTableAlias}.*, ${foreignAlias}.* `).replace(
|
|
204
|
-
`SELECT ${this.selectedTableAlias}.*, `,
|
|
205
|
-
`SELECT ${this.selectedTableAlias}.*, ${foreignAlias}.*, `
|
|
206
|
-
);
|
|
207
205
|
}
|
|
208
206
|
}
|
|
209
207
|
}
|
|
@@ -212,6 +210,8 @@ var SelectQueryBuilder = class extends BaseQueryBuilder {
|
|
|
212
210
|
// Enhanced execute method that handles relation data mapping
|
|
213
211
|
async execute() {
|
|
214
212
|
const { sql: joinSql, params: joinParams } = this.buildJoins();
|
|
213
|
+
const distinct = this.isDistinct ? "DISTINCT " : "";
|
|
214
|
+
this.query = `SELECT ${distinct}${this.selectedColumns.join(", ")} ${this.query}`;
|
|
215
215
|
this.query += joinSql;
|
|
216
216
|
this.params.push(...joinParams);
|
|
217
217
|
const { sql: sql2, params } = this.build();
|
|
@@ -472,8 +472,7 @@ var DeleteQueryBuilder = class extends BaseQueryBuilder {
|
|
|
472
472
|
constructor(db, table) {
|
|
473
473
|
super(db);
|
|
474
474
|
this.table = table;
|
|
475
|
-
this.query = `DELETE
|
|
476
|
-
FROM ${table._.name}`;
|
|
475
|
+
this.query = `DELETE FROM ${table._.name}`;
|
|
477
476
|
}
|
|
478
477
|
returningColumns = [];
|
|
479
478
|
returning(...columns) {
|
|
@@ -492,9 +491,7 @@ var DeleteQueryBuilder = class extends BaseQueryBuilder {
|
|
|
492
491
|
}
|
|
493
492
|
}
|
|
494
493
|
async returningAll() {
|
|
495
|
-
const allColumns = Object.keys(
|
|
496
|
-
this.table._.columns
|
|
497
|
-
);
|
|
494
|
+
const allColumns = Object.keys(this.table._.columns);
|
|
498
495
|
return this.returning(...allColumns).execute();
|
|
499
496
|
}
|
|
500
497
|
};
|