@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 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["_"]["columns"])[]): this;
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["_"]["columns"])[]): this;
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
- const columnNames = columns ? columns.map((c) => `${this.selectedTableAlias}.${table._.columns[c]._.name}`) : [`${this.selectedTableAlias}.*`];
190
- this.query = `SELECT ${columnNames.join(", ")}
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
- const columnNames = columns ? columns.map((c) => `${this.selectedTableAlias}.${table._.columns[c]._.name}`) : [`${this.selectedTableAlias}.*`];
123
- this.query = `SELECT ${columnNames.join(", ")}
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
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@type32/tauri-sqlite-orm",
3
- "version": "0.1.18-12",
3
+ "version": "0.1.18-14",
4
4
  "description": "A Drizzle-like ORM for Tauri v2's SQL JS API plugin.",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",