@type32/tauri-sqlite-orm 0.1.18-2 → 0.1.18-20
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/README.md +0 -156
- package/dist/index.d.mts +223 -89
- package/dist/index.d.ts +223 -89
- package/dist/index.js +761 -206
- package/dist/index.mjs +740 -204
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import Database from '@tauri-apps/plugin-sql';
|
|
2
2
|
|
|
3
|
-
type ColumnDataType =
|
|
4
|
-
type Mode =
|
|
5
|
-
type ColumnValueTypes<TType extends ColumnDataType, TMode extends Mode> = TType extends
|
|
6
|
-
interface ColumnOptions<TData> {
|
|
3
|
+
type ColumnDataType = 'TEXT' | 'INTEGER' | 'REAL' | 'BLOB' | 'BOOLEAN' | 'NUMERIC';
|
|
4
|
+
type Mode = 'default' | 'timestamp' | 'timestamp_ms' | 'json' | 'boolean' | 'bigint';
|
|
5
|
+
type ColumnValueTypes<TType extends ColumnDataType, TMode extends Mode> = TType extends 'TEXT' ? TMode extends 'json' ? any : string : TType extends 'INTEGER' ? TMode extends 'timestamp' | 'timestamp_ms' ? Date : TMode extends 'boolean' ? boolean : number : TType extends 'REAL' ? number : TType extends 'BOOLEAN' ? boolean : TType extends 'BLOB' ? TMode extends 'json' ? any : TMode extends 'bigint' ? bigint : Uint8Array : TType extends 'NUMERIC' ? TMode extends 'bigint' ? bigint : number : never;
|
|
6
|
+
interface ColumnOptions<TData, TEnum extends readonly string[] = readonly string[]> {
|
|
7
7
|
notNull?: boolean;
|
|
8
8
|
default?: TData;
|
|
9
9
|
$defaultFn?: () => TData;
|
|
@@ -16,82 +16,32 @@ interface ColumnOptions<TData> {
|
|
|
16
16
|
};
|
|
17
17
|
mode?: Mode;
|
|
18
18
|
$onUpdateFn?: () => TData;
|
|
19
|
+
enum?: TEnum;
|
|
19
20
|
}
|
|
20
|
-
type ExtractColumnType<T extends AnySQLiteColumn> = T extends SQLiteColumn<infer _, infer TType, infer TMode, infer TNotNull, infer THasDefault> ? THasDefault extends true ? TNotNull extends true ? ColumnValueTypes<TType, TMode> : ColumnValueTypes<TType, TMode> | null | undefined : TNotNull extends true ? ColumnValueTypes<TType, TMode> : ColumnValueTypes<TType, TMode> | null | undefined : never;
|
|
21
|
-
|
|
22
|
-
type: TType;
|
|
23
|
-
options: ColumnOptions<ColumnValueTypes<TType, TMode>>;
|
|
24
|
-
_: {
|
|
25
|
-
name: TName;
|
|
26
|
-
dataType: TType;
|
|
27
|
-
mode: TMode;
|
|
28
|
-
notNull: TNotNull;
|
|
29
|
-
hasDefault: THasDefault;
|
|
30
|
-
autoincrement: TAutoincrement;
|
|
31
|
-
};
|
|
32
|
-
constructor(name: TName, type: TType, options?: ColumnOptions<ColumnValueTypes<TType, TMode>>, mode?: TMode);
|
|
33
|
-
notNull(): SQLiteColumn<TName, TType, TMode, true, THasDefault, TAutoincrement>;
|
|
34
|
-
default(value: ColumnValueTypes<TType, TMode>): SQLiteColumn<TName, TType, TMode, TNotNull, true, TAutoincrement>;
|
|
35
|
-
$defaultFn(fn: () => ColumnValueTypes<TType, TMode>): SQLiteColumn<TName, TType, TMode, TNotNull, true, TAutoincrement>;
|
|
36
|
-
primaryKey(): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, TAutoincrement>;
|
|
37
|
-
autoincrement(): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, true>;
|
|
38
|
-
unique(): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, TAutoincrement>;
|
|
39
|
-
references<T extends AnyTable, K extends keyof T["_"]["columns"] & string>(ref: T, column: K): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, TAutoincrement>;
|
|
40
|
-
$onUpdateFn(fn: () => ColumnValueTypes<TType, TMode>): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, TAutoincrement>;
|
|
41
|
-
}
|
|
42
|
-
declare const text: <TName extends string>(name: TName) => SQLiteColumn<TName, "TEXT", "default", false, false, false>;
|
|
43
|
-
declare const integer: <TName extends string, TMode extends Mode = "default">(name: TName, config?: {
|
|
44
|
-
mode?: TMode;
|
|
45
|
-
}) => SQLiteColumn<TName, "INTEGER", "default" | TMode, false, false, false>;
|
|
46
|
-
declare const real: <TName extends string>(name: TName) => SQLiteColumn<TName, "REAL", "default", false, false, false>;
|
|
47
|
-
declare const blob: <TName extends string>(name: TName) => SQLiteColumn<TName, "BLOB", "default", false, false, false>;
|
|
48
|
-
declare const boolean: <TName extends string>(name: TName) => SQLiteColumn<TName, "BOOLEAN", "default", false, false, false>;
|
|
49
|
-
type AnySQLiteColumn = SQLiteColumn<any, any, any, any, any, any>;
|
|
21
|
+
type ExtractColumnType<T extends AnySQLiteColumn> = T['_']['customType'] extends never ? T['_']['enum'] extends readonly string[] ? T['_']['enum'][number] : T extends SQLiteColumn<infer _, infer TType, infer TMode, infer TNotNull, infer THasDefault> ? THasDefault extends true ? TNotNull extends true ? ColumnValueTypes<TType, TMode> : ColumnValueTypes<TType, TMode> | null | undefined : TNotNull extends true ? ColumnValueTypes<TType, TMode> : ColumnValueTypes<TType, TMode> | null | undefined : never : T['_']['customType'];
|
|
22
|
+
type AnySQLiteColumn = SQLiteColumn<any, any, any, any, any, any, any, any>;
|
|
50
23
|
type AnyTable = Table<Record<string, AnySQLiteColumn>, string>;
|
|
51
24
|
type InferSelectModel<T extends AnyTable> = {
|
|
52
|
-
[K in keyof T[
|
|
53
|
-
};
|
|
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];
|
|
57
|
-
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;
|
|
59
|
-
}[keyof TColumns];
|
|
60
|
-
type InferInsertModel<T extends AnyTable> = {
|
|
61
|
-
[K in RequiredColumns<T["_"]["columns"]>]: ExtractColumnType<T["_"]["columns"][K]>;
|
|
62
|
-
} & {
|
|
63
|
-
[K in OptionalColumns<T["_"]["columns"]>]?: ExtractColumnType<T["_"]["columns"][K]>;
|
|
25
|
+
[K in keyof T['_']['columns']]: ExtractColumnType<T['_']['columns'][K]>;
|
|
64
26
|
};
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
27
|
+
type RelationType = 'one' | 'many';
|
|
28
|
+
interface RelationConfig {
|
|
29
|
+
type: RelationType;
|
|
30
|
+
foreignTable: AnyTable;
|
|
31
|
+
fields?: AnySQLiteColumn[];
|
|
32
|
+
references?: AnySQLiteColumn[];
|
|
71
33
|
}
|
|
72
|
-
|
|
73
|
-
type SQLCondition = {
|
|
74
|
-
sql: string;
|
|
75
|
-
params: any[];
|
|
76
|
-
};
|
|
77
|
-
declare const eq: <T>(column: AnySQLiteColumn, value: T) => SQLCondition;
|
|
78
|
-
declare const and: (...conditions: SQLCondition[]) => SQLCondition;
|
|
79
|
-
declare const or: (...conditions: SQLCondition[]) => SQLCondition;
|
|
80
|
-
declare const gt: <T>(column: AnySQLiteColumn, value: T) => SQLCondition;
|
|
81
|
-
declare const gte: <T>(column: AnySQLiteColumn, value: T) => SQLCondition;
|
|
82
|
-
declare const lt: <T>(column: AnySQLiteColumn, value: T) => SQLCondition;
|
|
83
|
-
declare const lte: <T>(column: AnySQLiteColumn, value: T) => SQLCondition;
|
|
84
|
-
declare const like: (column: AnySQLiteColumn, pattern: string) => SQLCondition;
|
|
85
|
-
declare const isNull: (column: AnySQLiteColumn) => SQLCondition;
|
|
86
|
-
declare const isNotNull: (column: AnySQLiteColumn) => SQLCondition;
|
|
87
|
-
declare const inArray: <T>(column: AnySQLiteColumn, values: T[]) => SQLCondition;
|
|
34
|
+
|
|
88
35
|
declare class BaseQueryBuilder {
|
|
89
36
|
protected db: Database;
|
|
90
37
|
protected query: string;
|
|
91
38
|
protected params: any[];
|
|
92
39
|
constructor(db: Database);
|
|
93
40
|
where(condition: SQLCondition): this;
|
|
94
|
-
orderBy(column: AnySQLiteColumn
|
|
41
|
+
orderBy(column: AnySQLiteColumn | {
|
|
42
|
+
sql: string;
|
|
43
|
+
params: any[];
|
|
44
|
+
}, direction?: "ASC" | "DESC"): this;
|
|
95
45
|
limit(count: number): this;
|
|
96
46
|
offset(count: number): this;
|
|
97
47
|
build(): {
|
|
@@ -99,45 +49,177 @@ declare class BaseQueryBuilder {
|
|
|
99
49
|
params: any[];
|
|
100
50
|
};
|
|
101
51
|
}
|
|
102
|
-
|
|
52
|
+
|
|
53
|
+
declare class SelectQueryBuilder<TTable extends AnyTable, TSelectedColumns extends (keyof TTable['_']['columns'])[] | undefined = undefined> extends BaseQueryBuilder {
|
|
103
54
|
private table;
|
|
104
55
|
private columns?;
|
|
56
|
+
private isDistinct;
|
|
57
|
+
private groupByColumns;
|
|
58
|
+
private havingCondition;
|
|
59
|
+
private joins;
|
|
60
|
+
private includeRelations;
|
|
61
|
+
private selectedTableAlias;
|
|
62
|
+
private selectedColumns;
|
|
105
63
|
constructor(db: Database, table: TTable, columns?: TSelectedColumns | undefined);
|
|
106
|
-
|
|
64
|
+
distinct(): this;
|
|
65
|
+
groupBy(...columns: AnySQLiteColumn[]): this;
|
|
66
|
+
having(condition: SQLCondition): this;
|
|
67
|
+
leftJoin<T extends AnyTable>(table: T, condition: SQLCondition, alias: string): this;
|
|
68
|
+
innerJoin<T extends AnyTable>(table: T, condition: SQLCondition, alias: string): this;
|
|
69
|
+
include(relations: Partial<Record<keyof TTable['relations'], boolean>>): this;
|
|
70
|
+
private buildJoins;
|
|
71
|
+
execute(): Promise<any[]>;
|
|
72
|
+
private processRelationResults;
|
|
73
|
+
all(): Promise<any[]>;
|
|
74
|
+
get(): Promise<any | undefined>;
|
|
107
75
|
}
|
|
76
|
+
|
|
77
|
+
declare class UpdateQueryBuilder<T extends AnyTable> extends BaseQueryBuilder {
|
|
78
|
+
private table;
|
|
79
|
+
private updateData;
|
|
80
|
+
private returningColumns;
|
|
81
|
+
constructor(db: Database, table: T);
|
|
82
|
+
set(data: Partial<InferInsertModel<T>>): this;
|
|
83
|
+
returning(...columns: (keyof T["_"]["columns"])[]): this;
|
|
84
|
+
private buildUpdateClause;
|
|
85
|
+
execute(): Promise<T extends AnyTable ? (InferSelectModel<T> & Record<string, any>)[] : never>;
|
|
86
|
+
returningAll(): Promise<InferSelectModel<T>[]>;
|
|
87
|
+
}
|
|
88
|
+
|
|
108
89
|
declare class InsertQueryBuilder<T extends AnyTable> extends BaseQueryBuilder {
|
|
109
90
|
private table;
|
|
110
91
|
private dataSets;
|
|
92
|
+
private returningColumns;
|
|
93
|
+
private onConflictAction;
|
|
94
|
+
private conflictTarget;
|
|
95
|
+
private updateSet;
|
|
111
96
|
constructor(db: Database, table: T);
|
|
112
|
-
values(data:
|
|
113
|
-
|
|
97
|
+
values(data: InferInsertModel<T> | InferInsertModel<T>[]): this;
|
|
98
|
+
returning(...columns: (keyof T["_"]["columns"])[]): this;
|
|
99
|
+
onConflictDoNothing(target?: AnySQLiteColumn | AnySQLiteColumn[]): this;
|
|
100
|
+
onConflictDoUpdate(config: {
|
|
101
|
+
target: AnySQLiteColumn | AnySQLiteColumn[];
|
|
102
|
+
set: Partial<InferInsertModel<T>>;
|
|
103
|
+
}): this;
|
|
104
|
+
private processDefaultValues;
|
|
105
|
+
private buildConflictClause;
|
|
106
|
+
execute(): Promise<T extends AnyTable ? (InferSelectModel<T> & Record<string, any>)[] : never>;
|
|
107
|
+
returningAll(): Promise<InferSelectModel<T>[]>;
|
|
114
108
|
}
|
|
115
|
-
|
|
109
|
+
|
|
110
|
+
declare class DeleteQueryBuilder<T extends AnyTable> extends BaseQueryBuilder {
|
|
116
111
|
private table;
|
|
117
|
-
private
|
|
112
|
+
private returningColumns;
|
|
118
113
|
constructor(db: Database, table: T);
|
|
119
|
-
|
|
120
|
-
|
|
114
|
+
returning(...columns: (keyof T['_']['columns'])[]): this;
|
|
115
|
+
execute(): Promise<T extends AnyTable ? (InferSelectModel<T> & Record<string, any>)[] : never>;
|
|
116
|
+
returningAll(): Promise<InferSelectModel<T>[]>;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
declare class WithQueryBuilder {
|
|
120
|
+
private db;
|
|
121
|
+
private ctes;
|
|
122
|
+
constructor(db: Database);
|
|
123
|
+
with(alias: string, query: {
|
|
121
124
|
sql: string;
|
|
122
125
|
params: any[];
|
|
126
|
+
}): this;
|
|
127
|
+
select<T extends AnyTable, C extends (keyof T["_"]["columns"])[] | undefined = undefined>(table: T, columns?: C): SelectQueryBuilder<T, C>;
|
|
128
|
+
insert<T extends AnyTable>(table: T): InsertQueryBuilder<T>;
|
|
129
|
+
update<T extends AnyTable>(table: T): UpdateQueryBuilder<T>;
|
|
130
|
+
delete<T extends AnyTable>(table: T): DeleteQueryBuilder<T>;
|
|
131
|
+
private applyWithClause;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
type RelationsBuilder = {
|
|
135
|
+
one: <U extends AnyTable>(table: U, config?: {
|
|
136
|
+
fields: AnySQLiteColumn[];
|
|
137
|
+
references: AnySQLiteColumn[];
|
|
138
|
+
}) => OneRelation<U>;
|
|
139
|
+
many: <U extends AnyTable>(table: U) => ManyRelation<U>;
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
declare class SQLiteColumn<TName extends string = string, TType extends ColumnDataType = ColumnDataType, TMode extends Mode = 'default', TNotNull extends boolean = false, THasDefault extends boolean = false, TAutoincrement extends boolean = false, TEnum extends readonly string[] = never, TCustomType = never> {
|
|
143
|
+
type: TType;
|
|
144
|
+
options: ColumnOptions<ColumnValueTypes<TType, TMode>, TEnum>;
|
|
145
|
+
_: {
|
|
146
|
+
name: TName;
|
|
147
|
+
dataType: TType;
|
|
148
|
+
mode: TMode;
|
|
149
|
+
notNull: TNotNull;
|
|
150
|
+
hasDefault: THasDefault;
|
|
151
|
+
autoincrement: TAutoincrement;
|
|
152
|
+
enum: TEnum;
|
|
153
|
+
customType: TCustomType;
|
|
123
154
|
};
|
|
124
|
-
|
|
155
|
+
constructor(name: TName, type: TType, options?: ColumnOptions<ColumnValueTypes<TType, TMode>, TEnum>, mode?: TMode);
|
|
156
|
+
notNull(): SQLiteColumn<TName, TType, TMode, true, THasDefault, TAutoincrement, TEnum, TCustomType>;
|
|
157
|
+
default(value: ColumnValueTypes<TType, TMode>): SQLiteColumn<TName, TType, TMode, TNotNull, true, TAutoincrement, TEnum, TCustomType>;
|
|
158
|
+
$defaultFn(fn: () => ColumnValueTypes<TType, TMode>): SQLiteColumn<TName, TType, TMode, TNotNull, true, TAutoincrement, TEnum, TCustomType>;
|
|
159
|
+
primaryKey(): SQLiteColumn<TName, TType, TMode, true, THasDefault, TAutoincrement, TEnum, TCustomType>;
|
|
160
|
+
autoincrement(): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, true, TEnum, TCustomType>;
|
|
161
|
+
unique(): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, TAutoincrement, TEnum, TCustomType>;
|
|
162
|
+
references<T extends AnyTable, K extends keyof T['_']['columns'] & string>(ref: T, column: K): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, TAutoincrement, TEnum, TCustomType>;
|
|
163
|
+
$onUpdateFn(fn: () => ColumnValueTypes<TType, TMode>): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, TAutoincrement, TEnum, TCustomType>;
|
|
164
|
+
$type<T>(): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, TAutoincrement, TEnum, T>;
|
|
165
|
+
as(alias: string): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, TAutoincrement, TEnum, TCustomType>;
|
|
125
166
|
}
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
167
|
+
type IsOptionalOnInsert<C extends AnySQLiteColumn> = C['_']['notNull'] extends false ? true : C['_']['hasDefault'] extends true ? true : C['_']['autoincrement'] extends true ? true : false;
|
|
168
|
+
type OptionalColumns<TColumns extends Record<string, AnySQLiteColumn>> = {
|
|
169
|
+
[K in keyof TColumns]: IsOptionalOnInsert<TColumns[K]> extends true ? K : never;
|
|
170
|
+
}[keyof TColumns];
|
|
171
|
+
type RequiredColumns<TColumns extends Record<string, AnySQLiteColumn>> = {
|
|
172
|
+
[K in keyof TColumns]: IsOptionalOnInsert<TColumns[K]> extends true ? never : K;
|
|
173
|
+
}[keyof TColumns];
|
|
174
|
+
type InferInsertModel<T extends AnyTable> = {
|
|
175
|
+
[K in RequiredColumns<T['_']['columns']>]: ExtractColumnType<T['_']['columns'][K]>;
|
|
176
|
+
} & {
|
|
177
|
+
[K in OptionalColumns<T['_']['columns']>]?: ExtractColumnType<T['_']['columns'][K]>;
|
|
178
|
+
};
|
|
179
|
+
declare class Table<TColumns extends Record<string, AnySQLiteColumn>, TTableName extends string> {
|
|
180
|
+
_: {
|
|
181
|
+
name: TTableName;
|
|
182
|
+
columns: TColumns;
|
|
183
|
+
};
|
|
184
|
+
relations: Record<string, RelationConfig>;
|
|
185
|
+
constructor(name: TTableName, columns: TColumns);
|
|
130
186
|
}
|
|
187
|
+
declare const sqliteTable: <TTableName extends string, TColumns extends Record<string, AnySQLiteColumn>>(tableName: TTableName, columns: TColumns) => Table<TColumns, TTableName>;
|
|
188
|
+
type SQLCondition = {
|
|
189
|
+
sql: string;
|
|
190
|
+
params: any[];
|
|
191
|
+
};
|
|
192
|
+
declare const asc: (column: AnySQLiteColumn) => {
|
|
193
|
+
sql: string;
|
|
194
|
+
params: never[];
|
|
195
|
+
};
|
|
196
|
+
declare const desc: (column: AnySQLiteColumn) => {
|
|
197
|
+
sql: string;
|
|
198
|
+
params: never[];
|
|
199
|
+
};
|
|
200
|
+
declare const sql: <T = unknown>(strings: TemplateStringsArray, ...values: any[]) => {
|
|
201
|
+
sql: string;
|
|
202
|
+
params: any[];
|
|
203
|
+
mapWith?: (value: any) => T;
|
|
204
|
+
};
|
|
131
205
|
declare class TauriORM {
|
|
132
206
|
private db;
|
|
133
207
|
private tables;
|
|
134
|
-
constructor(db: Database, schema?: Record<string, AnyTable
|
|
208
|
+
constructor(db: Database, schema?: Record<string, AnyTable | Record<string, Relation>> | undefined);
|
|
209
|
+
private buildColumnDefinition;
|
|
135
210
|
migrate(): Promise<void>;
|
|
136
|
-
select<T extends AnyTable, C extends (keyof T[
|
|
211
|
+
select<T extends AnyTable, C extends (keyof T['_']['columns'])[] | undefined = undefined>(table: T, columns?: C): SelectQueryBuilder<T, C>;
|
|
137
212
|
insert<T extends AnyTable>(table: T): InsertQueryBuilder<T>;
|
|
138
213
|
update<T extends AnyTable>(table: T): UpdateQueryBuilder<T>;
|
|
139
214
|
delete<T extends AnyTable>(table: T): DeleteQueryBuilder<T>;
|
|
215
|
+
$with(alias: string): {
|
|
216
|
+
as: (query: {
|
|
217
|
+
sql: string;
|
|
218
|
+
params: any[];
|
|
219
|
+
}) => WithQueryBuilder;
|
|
220
|
+
};
|
|
140
221
|
transaction<T>(callback: (tx: TauriORM) => Promise<T>): Promise<T>;
|
|
222
|
+
rollback(): never;
|
|
141
223
|
private ensureSchemaMeta;
|
|
142
224
|
private getSchemaMeta;
|
|
143
225
|
private setSchemaMeta;
|
|
@@ -151,9 +233,61 @@ declare class TauriORM {
|
|
|
151
233
|
}>;
|
|
152
234
|
migrateIfDirty(): Promise<boolean>;
|
|
153
235
|
}
|
|
154
|
-
declare
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
}
|
|
236
|
+
declare class Relation<T extends AnyTable = AnyTable> {
|
|
237
|
+
foreignTable: T;
|
|
238
|
+
constructor(foreignTable: T);
|
|
239
|
+
}
|
|
240
|
+
declare class OneRelation<T extends AnyTable = AnyTable> extends Relation<T> {
|
|
241
|
+
config?: {
|
|
242
|
+
fields: AnySQLiteColumn[];
|
|
243
|
+
references: AnySQLiteColumn[];
|
|
244
|
+
} | undefined;
|
|
245
|
+
constructor(foreignTable: T, config?: {
|
|
246
|
+
fields: AnySQLiteColumn[];
|
|
247
|
+
references: AnySQLiteColumn[];
|
|
248
|
+
} | undefined);
|
|
249
|
+
}
|
|
250
|
+
declare class ManyRelation<T extends AnyTable = AnyTable> extends Relation<T> {
|
|
251
|
+
constructor(foreignTable: T);
|
|
252
|
+
}
|
|
253
|
+
declare const relations: <T extends AnyTable, R extends Record<string, Relation>>(table: T, relationsCallback: (helpers: RelationsBuilder) => R) => R;
|
|
254
|
+
declare const getTableColumns: <T extends AnyTable>(table: T) => Record<string, AnySQLiteColumn>;
|
|
255
|
+
declare const alias: <T extends AnyTable>(table: T, alias: string) => Table<T["_"]["columns"], T["_"]["name"]>;
|
|
256
|
+
|
|
257
|
+
declare const eq: <T>(column: AnySQLiteColumn, value: T, tableAlias?: string) => SQLCondition;
|
|
258
|
+
declare const and: (...conditions: SQLCondition[]) => SQLCondition;
|
|
259
|
+
declare const or: (...conditions: SQLCondition[]) => SQLCondition;
|
|
260
|
+
declare const not: (condition: SQLCondition) => SQLCondition;
|
|
261
|
+
declare const gt: <T>(column: AnySQLiteColumn, value: T) => SQLCondition;
|
|
262
|
+
declare const gte: <T>(column: AnySQLiteColumn, value: T) => SQLCondition;
|
|
263
|
+
declare const lt: <T>(column: AnySQLiteColumn, value: T) => SQLCondition;
|
|
264
|
+
declare const lte: <T>(column: AnySQLiteColumn, value: T) => SQLCondition;
|
|
265
|
+
declare const like: (column: AnySQLiteColumn, pattern: string) => SQLCondition;
|
|
266
|
+
declare const isNull: (column: AnySQLiteColumn) => SQLCondition;
|
|
267
|
+
declare const isNotNull: (column: AnySQLiteColumn) => SQLCondition;
|
|
268
|
+
declare const inArray: <T>(column: AnySQLiteColumn, values: T[]) => SQLCondition;
|
|
269
|
+
declare const count: (column?: AnySQLiteColumn) => SQLCondition;
|
|
270
|
+
declare const countDistinct: (column: AnySQLiteColumn) => SQLCondition;
|
|
271
|
+
declare const sum: (column: AnySQLiteColumn) => SQLCondition;
|
|
272
|
+
declare const avg: (column: AnySQLiteColumn) => SQLCondition;
|
|
273
|
+
declare const max: (column: AnySQLiteColumn) => SQLCondition;
|
|
274
|
+
declare const min: (column: AnySQLiteColumn) => SQLCondition;
|
|
275
|
+
|
|
276
|
+
declare const text: <TName extends string, TEnum extends readonly string[]>(name: TName, config?: {
|
|
277
|
+
mode?: "json";
|
|
278
|
+
enum?: TEnum;
|
|
279
|
+
}) => SQLiteColumn<TName, "TEXT", "json", false, false, false, TEnum, never>;
|
|
280
|
+
declare const integer: <TName extends string, TMode extends Mode = "default">(name: TName, config?: {
|
|
281
|
+
mode?: TMode;
|
|
282
|
+
}) => SQLiteColumn<TName, "INTEGER", "default" | TMode, false, false, false, never, never>;
|
|
283
|
+
declare const real: <TName extends string>(name: TName) => SQLiteColumn<TName, "REAL", "default", false, false, false, never, never>;
|
|
284
|
+
declare const blob: <TName extends string>(name: TName, config?: {
|
|
285
|
+
mode: "json" | "bigint";
|
|
286
|
+
}) => SQLiteColumn<TName, "BLOB", "bigint" | "json", false, false, false, never, never>;
|
|
287
|
+
declare const boolean: <TName extends string>(name: TName) => SQLiteColumn<TName, "BOOLEAN", "default", false, false, false, never, never>;
|
|
288
|
+
declare const numeric: <TName extends string>(name: TName, config?: {
|
|
289
|
+
mode?: "bigint";
|
|
290
|
+
}) => SQLiteColumn<TName, "NUMERIC", "bigint", false, false, false, never, never>;
|
|
291
|
+
declare const enumType: <TName extends string, TValues extends readonly [string, ...string[]]>(name: TName, values: TValues) => SQLiteColumn<TName, "TEXT", "json", false, false, false, TValues, never>;
|
|
158
292
|
|
|
159
|
-
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 };
|
|
293
|
+
export { type AnySQLiteColumn, type AnyTable, BaseQueryBuilder, type ColumnDataType, type ColumnOptions, type ColumnValueTypes, DeleteQueryBuilder, type ExtractColumnType, type InferInsertModel, type InferSelectModel, InsertQueryBuilder, ManyRelation, type Mode, OneRelation, Relation, type RelationConfig, type RelationType, type RelationsBuilder, type SQLCondition, SQLiteColumn, SelectQueryBuilder, Table, TauriORM, UpdateQueryBuilder, WithQueryBuilder, alias, and, asc, avg, blob, boolean, count, countDistinct, desc, enumType, eq, getTableColumns, gt, gte, inArray, integer, isNotNull, isNull, like, lt, lte, max, min, not, numeric, or, real, relations, sql, sqliteTable, sum, text };
|