@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 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, TNotNull, THasDefault, TAutoincrement>;
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 RequiredColumns<TColumns extends Record<string, AnySQLiteColumn>> = {
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]["_"]["notNull"] extends true ? TColumns[K]["_"]["hasDefault"] extends true ? K : never : 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, direction?: "ASC" | "DESC"): this;
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: Partial<InferInsertModel<T>> | Partial<InferInsertModel<T>>[]): this;
113
- execute(): Promise<number>;
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
- build(): {
121
- sql: string;
122
- params: any[];
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
- execute(): Promise<number>;
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, TNotNull, THasDefault, TAutoincrement>;
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 RequiredColumns<TColumns extends Record<string, AnySQLiteColumn>> = {
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]["_"]["notNull"] extends true ? TColumns[K]["_"]["hasDefault"] extends true ? K : never : 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, direction?: "ASC" | "DESC"): this;
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: Partial<InferInsertModel<T>> | Partial<InferInsertModel<T>>[]): this;
113
- execute(): Promise<number>;
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
- build(): {
121
- sql: string;
122
- params: any[];
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
- execute(): Promise<number>;
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 };