@type32/tauri-sqlite-orm 0.1.18-18 → 0.1.18-19
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.js +35 -8
- package/dist/index.mjs +35 -8
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -186,7 +186,10 @@ var SelectQueryBuilder = class extends BaseQueryBuilder {
|
|
|
186
186
|
this.table = table;
|
|
187
187
|
this.columns = columns;
|
|
188
188
|
this.selectedTableAlias = table._.name;
|
|
189
|
-
|
|
189
|
+
const selected = columns ? columns.map((c) => this.table._.columns[c]) : Object.values(this.table._.columns);
|
|
190
|
+
this.selectedColumns = selected.map(
|
|
191
|
+
(col) => `${this.selectedTableAlias}.${col._.name} AS "${this.selectedTableAlias}.${col._.name}"`
|
|
192
|
+
);
|
|
190
193
|
this.query = `FROM ${table._.name} ${this.selectedTableAlias}`;
|
|
191
194
|
}
|
|
192
195
|
isDistinct = false;
|
|
@@ -214,12 +217,18 @@ var SelectQueryBuilder = class extends BaseQueryBuilder {
|
|
|
214
217
|
}
|
|
215
218
|
leftJoin(table, condition, alias2) {
|
|
216
219
|
this.joins.push({ type: "LEFT", table, condition, alias: alias2 });
|
|
217
|
-
|
|
220
|
+
const aliasedColumns = Object.values(table._.columns).map(
|
|
221
|
+
(col) => `${alias2}.${col._.name} AS "${alias2}.${col._.name}"`
|
|
222
|
+
);
|
|
223
|
+
this.selectedColumns.push(...aliasedColumns);
|
|
218
224
|
return this;
|
|
219
225
|
}
|
|
220
226
|
innerJoin(table, condition, alias2) {
|
|
221
227
|
this.joins.push({ type: "INNER", table, condition, alias: alias2 });
|
|
222
|
-
|
|
228
|
+
const aliasedColumns = Object.values(table._.columns).map(
|
|
229
|
+
(col) => `${alias2}.${col._.name} AS "${alias2}.${col._.name}"`
|
|
230
|
+
);
|
|
231
|
+
this.selectedColumns.push(...aliasedColumns);
|
|
223
232
|
return this;
|
|
224
233
|
}
|
|
225
234
|
include(relations2) {
|
|
@@ -244,7 +253,10 @@ var SelectQueryBuilder = class extends BaseQueryBuilder {
|
|
|
244
253
|
}
|
|
245
254
|
const foreignTable = relation.foreignTable;
|
|
246
255
|
const foreignAlias = `${this.selectedTableAlias}_${relationName}`;
|
|
247
|
-
|
|
256
|
+
const aliasedColumns = Object.values(foreignTable._.columns).map(
|
|
257
|
+
(col) => `${foreignAlias}.${col._.name} AS "${foreignAlias}.${col._.name}"`
|
|
258
|
+
);
|
|
259
|
+
this.selectedColumns.push(...aliasedColumns);
|
|
248
260
|
if (relation.type === "one" && relation.fields && relation.references) {
|
|
249
261
|
const conditions = relation.fields.map((field, i) => {
|
|
250
262
|
const localColumn = `${this.selectedTableAlias}.${field._.name}`;
|
|
@@ -289,11 +301,26 @@ var SelectQueryBuilder = class extends BaseQueryBuilder {
|
|
|
289
301
|
const { sql: sql2, params } = this.build();
|
|
290
302
|
console.log("Executing SQL:", sql2, "with params:", params);
|
|
291
303
|
const rawResults = await this.db.select(sql2, params);
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
return
|
|
304
|
+
const hasIncludes = Object.values(this.includeRelations).some((i) => i);
|
|
305
|
+
if (hasIncludes) {
|
|
306
|
+
return this.processRelationResults(rawResults);
|
|
307
|
+
}
|
|
308
|
+
const hasJoins = this.joins.length > 0;
|
|
309
|
+
if (hasJoins) {
|
|
310
|
+
return rawResults;
|
|
295
311
|
}
|
|
296
|
-
|
|
312
|
+
const prefix = `${this.selectedTableAlias}.`;
|
|
313
|
+
return rawResults.map((row) => {
|
|
314
|
+
const newRow = {};
|
|
315
|
+
for (const key in row) {
|
|
316
|
+
if (key.startsWith(prefix)) {
|
|
317
|
+
newRow[key.substring(prefix.length)] = row[key];
|
|
318
|
+
} else {
|
|
319
|
+
newRow[key] = row[key];
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
return newRow;
|
|
323
|
+
});
|
|
297
324
|
}
|
|
298
325
|
processRelationResults(rawResults) {
|
|
299
326
|
if (!rawResults.length) return [];
|
package/dist/index.mjs
CHANGED
|
@@ -119,7 +119,10 @@ var SelectQueryBuilder = class extends BaseQueryBuilder {
|
|
|
119
119
|
this.table = table;
|
|
120
120
|
this.columns = columns;
|
|
121
121
|
this.selectedTableAlias = table._.name;
|
|
122
|
-
|
|
122
|
+
const selected = columns ? columns.map((c) => this.table._.columns[c]) : Object.values(this.table._.columns);
|
|
123
|
+
this.selectedColumns = selected.map(
|
|
124
|
+
(col) => `${this.selectedTableAlias}.${col._.name} AS "${this.selectedTableAlias}.${col._.name}"`
|
|
125
|
+
);
|
|
123
126
|
this.query = `FROM ${table._.name} ${this.selectedTableAlias}`;
|
|
124
127
|
}
|
|
125
128
|
isDistinct = false;
|
|
@@ -147,12 +150,18 @@ var SelectQueryBuilder = class extends BaseQueryBuilder {
|
|
|
147
150
|
}
|
|
148
151
|
leftJoin(table, condition, alias2) {
|
|
149
152
|
this.joins.push({ type: "LEFT", table, condition, alias: alias2 });
|
|
150
|
-
|
|
153
|
+
const aliasedColumns = Object.values(table._.columns).map(
|
|
154
|
+
(col) => `${alias2}.${col._.name} AS "${alias2}.${col._.name}"`
|
|
155
|
+
);
|
|
156
|
+
this.selectedColumns.push(...aliasedColumns);
|
|
151
157
|
return this;
|
|
152
158
|
}
|
|
153
159
|
innerJoin(table, condition, alias2) {
|
|
154
160
|
this.joins.push({ type: "INNER", table, condition, alias: alias2 });
|
|
155
|
-
|
|
161
|
+
const aliasedColumns = Object.values(table._.columns).map(
|
|
162
|
+
(col) => `${alias2}.${col._.name} AS "${alias2}.${col._.name}"`
|
|
163
|
+
);
|
|
164
|
+
this.selectedColumns.push(...aliasedColumns);
|
|
156
165
|
return this;
|
|
157
166
|
}
|
|
158
167
|
include(relations2) {
|
|
@@ -177,7 +186,10 @@ var SelectQueryBuilder = class extends BaseQueryBuilder {
|
|
|
177
186
|
}
|
|
178
187
|
const foreignTable = relation.foreignTable;
|
|
179
188
|
const foreignAlias = `${this.selectedTableAlias}_${relationName}`;
|
|
180
|
-
|
|
189
|
+
const aliasedColumns = Object.values(foreignTable._.columns).map(
|
|
190
|
+
(col) => `${foreignAlias}.${col._.name} AS "${foreignAlias}.${col._.name}"`
|
|
191
|
+
);
|
|
192
|
+
this.selectedColumns.push(...aliasedColumns);
|
|
181
193
|
if (relation.type === "one" && relation.fields && relation.references) {
|
|
182
194
|
const conditions = relation.fields.map((field, i) => {
|
|
183
195
|
const localColumn = `${this.selectedTableAlias}.${field._.name}`;
|
|
@@ -222,11 +234,26 @@ var SelectQueryBuilder = class extends BaseQueryBuilder {
|
|
|
222
234
|
const { sql: sql2, params } = this.build();
|
|
223
235
|
console.log("Executing SQL:", sql2, "with params:", params);
|
|
224
236
|
const rawResults = await this.db.select(sql2, params);
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
return
|
|
237
|
+
const hasIncludes = Object.values(this.includeRelations).some((i) => i);
|
|
238
|
+
if (hasIncludes) {
|
|
239
|
+
return this.processRelationResults(rawResults);
|
|
240
|
+
}
|
|
241
|
+
const hasJoins = this.joins.length > 0;
|
|
242
|
+
if (hasJoins) {
|
|
243
|
+
return rawResults;
|
|
228
244
|
}
|
|
229
|
-
|
|
245
|
+
const prefix = `${this.selectedTableAlias}.`;
|
|
246
|
+
return rawResults.map((row) => {
|
|
247
|
+
const newRow = {};
|
|
248
|
+
for (const key in row) {
|
|
249
|
+
if (key.startsWith(prefix)) {
|
|
250
|
+
newRow[key.substring(prefix.length)] = row[key];
|
|
251
|
+
} else {
|
|
252
|
+
newRow[key] = row[key];
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
return newRow;
|
|
256
|
+
});
|
|
230
257
|
}
|
|
231
258
|
processRelationResults(rawResults) {
|
|
232
259
|
if (!rawResults.length) return [];
|