@remix-run/data-table 0.0.0 → 0.1.0
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/LICENSE +21 -0
- package/README.md +298 -2
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/lib/adapter.d.ts +180 -0
- package/dist/lib/adapter.d.ts.map +1 -0
- package/dist/lib/adapter.js +1 -0
- package/dist/lib/database.d.ts +361 -0
- package/dist/lib/database.d.ts.map +1 -0
- package/dist/lib/database.js +1368 -0
- package/dist/lib/errors.d.ts +50 -0
- package/dist/lib/errors.d.ts.map +1 -0
- package/dist/lib/errors.js +67 -0
- package/dist/lib/inflection.d.ts +3 -0
- package/dist/lib/inflection.d.ts.map +1 -0
- package/dist/lib/inflection.js +56 -0
- package/dist/lib/operators.d.ts +151 -0
- package/dist/lib/operators.d.ts.map +1 -0
- package/dist/lib/operators.js +218 -0
- package/dist/lib/references.d.ts +42 -0
- package/dist/lib/references.d.ts.map +1 -0
- package/dist/lib/references.js +33 -0
- package/dist/lib/sql.d.ts +28 -0
- package/dist/lib/sql.d.ts.map +1 -0
- package/dist/lib/sql.js +51 -0
- package/dist/lib/table.d.ts +254 -0
- package/dist/lib/table.d.ts.map +1 -0
- package/dist/lib/table.js +496 -0
- package/dist/lib/types.d.ts +4 -0
- package/dist/lib/types.d.ts.map +1 -0
- package/dist/lib/types.js +1 -0
- package/package.json +41 -7
- package/src/index.ts +115 -0
- package/src/lib/adapter.ts +209 -0
- package/src/lib/database.ts +2458 -0
- package/src/lib/errors.ts +109 -0
- package/src/lib/inflection.ts +69 -0
- package/src/lib/operators.ts +433 -0
- package/src/lib/references.ts +79 -0
- package/src/lib/sql.ts +67 -0
- package/src/lib/table.ts +981 -0
- package/src/lib/types.ts +3 -0
|
@@ -0,0 +1,361 @@
|
|
|
1
|
+
import type { Schema } from '@remix-run/data-schema';
|
|
2
|
+
import type { AdapterResult, DatabaseAdapter, JoinClause, JoinType, SelectColumn, TransactionOptions, TransactionToken } from './adapter.ts';
|
|
3
|
+
import type { AnyRelation, AnyTable, LoadedRelationMap, OrderByClause, OrderDirection, PrimaryKeyInput, TableName, TablePrimaryKey, TableRow, TableRowWith, TimestampConfig, tableMetadataKey } from './table.ts';
|
|
4
|
+
import type { Predicate, WhereInput } from './operators.ts';
|
|
5
|
+
import type { SqlStatement } from './sql.ts';
|
|
6
|
+
import type { AdapterStatement } from './adapter.ts';
|
|
7
|
+
import type { Pretty } from './types.ts';
|
|
8
|
+
import type { ColumnInput, NormalizeColumnInput, TableMetadataLike } from './references.ts';
|
|
9
|
+
type QueryState = {
|
|
10
|
+
select: '*' | SelectColumn[];
|
|
11
|
+
distinct: boolean;
|
|
12
|
+
joins: JoinClause[];
|
|
13
|
+
where: Predicate<string>[];
|
|
14
|
+
groupBy: string[];
|
|
15
|
+
having: Predicate<string>[];
|
|
16
|
+
orderBy: OrderByClause[];
|
|
17
|
+
limit?: number;
|
|
18
|
+
offset?: number;
|
|
19
|
+
with: Record<string, AnyRelation>;
|
|
20
|
+
};
|
|
21
|
+
type TableColumnName<table extends AnyTable> = keyof TableRow<table> & string;
|
|
22
|
+
type QualifiedTableColumnName<table extends AnyTable> = `${TableName<table>}.${TableColumnName<table>}`;
|
|
23
|
+
type QueryColumnName<table extends AnyTable> = TableColumnName<table> | QualifiedTableColumnName<table>;
|
|
24
|
+
type RowColumnName<row extends Record<string, unknown>> = keyof row & string;
|
|
25
|
+
type QualifiedRowColumnName<tableName extends string, row extends Record<string, unknown>> = `${tableName}.${RowColumnName<row>}`;
|
|
26
|
+
type QueryColumnTypeMapFromRow<tableName extends string, row extends Record<string, unknown>> = {
|
|
27
|
+
[column in RowColumnName<row> | QualifiedRowColumnName<tableName, row>]: column extends RowColumnName<row> ? row[column] : column extends `${tableName}.${infer name extends RowColumnName<row>}` ? row[name] : never;
|
|
28
|
+
};
|
|
29
|
+
type QueryColumnTypeMap<table extends AnyTable> = Pretty<QueryColumnTypeMapFromRow<TableName<table>, TableRow<table>>>;
|
|
30
|
+
type MergeColumnTypeMaps<left extends Record<string, unknown>, right extends Record<string, unknown>> = Pretty<{
|
|
31
|
+
[column in Extract<keyof left | keyof right, string>]: column extends keyof right ? column extends keyof left ? left[column] | right[column] : right[column] : column extends keyof left ? left[column] : never;
|
|
32
|
+
}>;
|
|
33
|
+
type QueryColumns<columnTypes extends Record<string, unknown>> = Extract<keyof columnTypes, string>;
|
|
34
|
+
type QueryColumnInput<columnTypes extends Record<string, unknown>> = ColumnInput<QueryColumns<columnTypes>>;
|
|
35
|
+
type SelectedAliasRow<columnTypes extends Record<string, unknown>, selection extends Record<string, QueryColumnInput<columnTypes>>> = Pretty<{
|
|
36
|
+
[alias in keyof selection]: NormalizeColumnInput<selection[alias]> extends keyof columnTypes ? columnTypes[NormalizeColumnInput<selection[alias]>] : never;
|
|
37
|
+
}>;
|
|
38
|
+
type SavepointCounter = {
|
|
39
|
+
value: number;
|
|
40
|
+
};
|
|
41
|
+
declare const executeStatement: unique symbol;
|
|
42
|
+
type RelationMapForSourceName<tableName extends string> = Record<string, AnyRelation & {
|
|
43
|
+
sourceTable: {
|
|
44
|
+
[tableMetadataKey]: {
|
|
45
|
+
name: tableName;
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
}>;
|
|
49
|
+
type PrimaryKeyInputForRow<row extends Record<string, unknown>, primaryKey extends readonly string[]> = primaryKey extends readonly [infer column extends keyof row & string] ? row[column] : {
|
|
50
|
+
[column in primaryKey[number] & keyof row]: row[column];
|
|
51
|
+
};
|
|
52
|
+
type ReturningInput<row extends Record<string, unknown>> = '*' | (keyof row & string)[];
|
|
53
|
+
export type QueryTableInput<tableName extends string, row extends Record<string, unknown>, primaryKey extends readonly (keyof row & string)[]> = TableMetadataLike<tableName, {
|
|
54
|
+
[column in keyof row & string]: Schema<any, row[column]>;
|
|
55
|
+
}, primaryKey, TimestampConfig | null> & {
|
|
56
|
+
'~standard': Schema<unknown, Partial<row>>['~standard'];
|
|
57
|
+
} & Record<string, unknown>;
|
|
58
|
+
export type QueryBuilderFor<tableName extends string, row extends Record<string, unknown>, primaryKey extends readonly (keyof row & string)[], loaded extends Record<string, unknown> = {}> = QueryBuilder<Pretty<QueryColumnTypeMapFromRow<tableName, row>>, row, loaded, tableName, primaryKey>;
|
|
59
|
+
export type QueryMethod = <tableName extends string, row extends Record<string, unknown>, primaryKey extends readonly (keyof row & string)[]>(table: QueryTableInput<tableName, row, primaryKey>) => QueryBuilderFor<tableName, row, primaryKey>;
|
|
60
|
+
export type WriteResult = {
|
|
61
|
+
affectedRows: number;
|
|
62
|
+
insertId?: unknown;
|
|
63
|
+
};
|
|
64
|
+
export type WriteRowsResult<row> = {
|
|
65
|
+
affectedRows: number;
|
|
66
|
+
insertId?: unknown;
|
|
67
|
+
rows: row[];
|
|
68
|
+
};
|
|
69
|
+
export type WriteRowResult<row> = {
|
|
70
|
+
affectedRows: number;
|
|
71
|
+
insertId?: unknown;
|
|
72
|
+
row: row | null;
|
|
73
|
+
};
|
|
74
|
+
export type QueryColumnTypesForTable<table extends AnyTable> = QueryColumnTypeMap<table>;
|
|
75
|
+
export type QueryForTable<table extends AnyTable, loaded extends Record<string, unknown> = {}> = QueryBuilder<QueryColumnTypesForTable<table>, TableRow<table>, loaded, TableName<table>, TablePrimaryKey<table>>;
|
|
76
|
+
export type SingleTableColumn<table extends AnyTable> = QueryColumns<QueryColumnTypeMap<table>>;
|
|
77
|
+
export type SingleTableWhere<table extends AnyTable> = WhereInput<SingleTableColumn<table>>;
|
|
78
|
+
export type OrderByTuple<table extends AnyTable> = [
|
|
79
|
+
column: SingleTableColumn<table>,
|
|
80
|
+
direction?: OrderDirection
|
|
81
|
+
];
|
|
82
|
+
export type OrderByInput<table extends AnyTable> = OrderByTuple<table> | OrderByTuple<table>[];
|
|
83
|
+
export type FindManyOptions<table extends AnyTable, relations extends RelationMapForSourceName<TableName<table>> = {}> = {
|
|
84
|
+
where?: SingleTableWhere<table>;
|
|
85
|
+
orderBy?: OrderByInput<table>;
|
|
86
|
+
limit?: number;
|
|
87
|
+
offset?: number;
|
|
88
|
+
with?: relations;
|
|
89
|
+
};
|
|
90
|
+
export type FindOneOptions<table extends AnyTable, relations extends RelationMapForSourceName<TableName<table>> = {}> = Omit<FindManyOptions<table, relations>, 'limit' | 'offset'> & {
|
|
91
|
+
where: SingleTableWhere<table>;
|
|
92
|
+
};
|
|
93
|
+
export type UpdateOptions<table extends AnyTable, relations extends RelationMapForSourceName<TableName<table>> = {}> = {
|
|
94
|
+
touch?: boolean;
|
|
95
|
+
with?: relations;
|
|
96
|
+
};
|
|
97
|
+
export type UpdateManyOptions<table extends AnyTable> = {
|
|
98
|
+
where: SingleTableWhere<table>;
|
|
99
|
+
orderBy?: OrderByInput<table>;
|
|
100
|
+
limit?: number;
|
|
101
|
+
offset?: number;
|
|
102
|
+
touch?: boolean;
|
|
103
|
+
};
|
|
104
|
+
export type DeleteManyOptions<table extends AnyTable> = {
|
|
105
|
+
where: SingleTableWhere<table>;
|
|
106
|
+
orderBy?: OrderByInput<table>;
|
|
107
|
+
limit?: number;
|
|
108
|
+
offset?: number;
|
|
109
|
+
};
|
|
110
|
+
export type CountOptions<table extends AnyTable> = {
|
|
111
|
+
where?: SingleTableWhere<table>;
|
|
112
|
+
};
|
|
113
|
+
export type CreateResultOptions = {
|
|
114
|
+
touch?: boolean;
|
|
115
|
+
returnRow?: false;
|
|
116
|
+
};
|
|
117
|
+
export type CreateRowOptions<table extends AnyTable, relations extends RelationMapForSourceName<TableName<table>> = {}> = {
|
|
118
|
+
touch?: boolean;
|
|
119
|
+
with?: relations;
|
|
120
|
+
returnRow: true;
|
|
121
|
+
};
|
|
122
|
+
export type CreateManyResultOptions = {
|
|
123
|
+
touch?: boolean;
|
|
124
|
+
returnRows?: false;
|
|
125
|
+
};
|
|
126
|
+
export type CreateManyRowsOptions = {
|
|
127
|
+
touch?: boolean;
|
|
128
|
+
returnRows: true;
|
|
129
|
+
};
|
|
130
|
+
export type Database = {
|
|
131
|
+
adapter: DatabaseAdapter;
|
|
132
|
+
now(): unknown;
|
|
133
|
+
query: QueryMethod;
|
|
134
|
+
create<table extends AnyTable>(table: table, values: Partial<TableRow<table>>, options?: CreateResultOptions): Promise<WriteResult>;
|
|
135
|
+
create<table extends AnyTable, relations extends RelationMapForSourceName<TableName<table>> = {}>(table: table, values: Partial<TableRow<table>>, options: CreateRowOptions<table, relations>): Promise<TableRowWith<table, LoadedRelationMap<relations>>>;
|
|
136
|
+
createMany<table extends AnyTable>(table: table, values: Array<Partial<TableRow<table>>>, options?: CreateManyResultOptions): Promise<WriteResult>;
|
|
137
|
+
createMany<table extends AnyTable>(table: table, values: Array<Partial<TableRow<table>>>, options: CreateManyRowsOptions): Promise<TableRow<table>[]>;
|
|
138
|
+
find<table extends AnyTable, relations extends RelationMapForSourceName<TableName<table>> = {}>(table: table, value: PrimaryKeyInput<table>, options?: {
|
|
139
|
+
with?: relations;
|
|
140
|
+
}): Promise<TableRowWith<table, LoadedRelationMap<relations>> | null>;
|
|
141
|
+
findOne<table extends AnyTable, relations extends RelationMapForSourceName<TableName<table>> = {}>(table: table, options: FindOneOptions<table, relations>): Promise<TableRowWith<table, LoadedRelationMap<relations>> | null>;
|
|
142
|
+
findMany<table extends AnyTable, relations extends RelationMapForSourceName<TableName<table>> = {}>(table: table, options?: FindManyOptions<table, relations>): Promise<Array<TableRowWith<table, LoadedRelationMap<relations>>>>;
|
|
143
|
+
count<table extends AnyTable>(table: table, options?: CountOptions<table>): Promise<number>;
|
|
144
|
+
update<table extends AnyTable, relations extends RelationMapForSourceName<TableName<table>> = {}>(table: table, value: PrimaryKeyInput<table>, changes: Partial<TableRow<table>>, options?: UpdateOptions<table, relations>): Promise<TableRowWith<table, LoadedRelationMap<relations>>>;
|
|
145
|
+
updateMany<table extends AnyTable>(table: table, changes: Partial<TableRow<table>>, options: UpdateManyOptions<table>): Promise<WriteResult>;
|
|
146
|
+
delete<table extends AnyTable>(table: table, value: PrimaryKeyInput<table>): Promise<boolean>;
|
|
147
|
+
deleteMany<table extends AnyTable>(table: table, options: DeleteManyOptions<table>): Promise<WriteResult>;
|
|
148
|
+
exec(statement: string | SqlStatement, values?: unknown[]): Promise<AdapterResult>;
|
|
149
|
+
transaction<result>(callback: (database: Database) => Promise<result>, options?: TransactionOptions): Promise<result>;
|
|
150
|
+
};
|
|
151
|
+
declare class DatabaseRuntime implements Database {
|
|
152
|
+
#private;
|
|
153
|
+
constructor(options: {
|
|
154
|
+
adapter: DatabaseAdapter;
|
|
155
|
+
token?: TransactionToken;
|
|
156
|
+
now: () => unknown;
|
|
157
|
+
savepointCounter: SavepointCounter;
|
|
158
|
+
});
|
|
159
|
+
get adapter(): DatabaseAdapter;
|
|
160
|
+
now(): unknown;
|
|
161
|
+
query: QueryMethod;
|
|
162
|
+
create<table extends AnyTable>(table: table, values: Partial<TableRow<table>>, options?: CreateResultOptions): Promise<WriteResult>;
|
|
163
|
+
create<table extends AnyTable, relations extends RelationMapForSourceName<TableName<table>> = {}>(table: table, values: Partial<TableRow<table>>, options: CreateRowOptions<table, relations>): Promise<TableRowWith<table, LoadedRelationMap<relations>>>;
|
|
164
|
+
createMany<table extends AnyTable>(table: table, values: Array<Partial<TableRow<table>>>, options?: CreateManyResultOptions): Promise<WriteResult>;
|
|
165
|
+
createMany<table extends AnyTable>(table: table, values: Array<Partial<TableRow<table>>>, options: CreateManyRowsOptions): Promise<TableRow<table>[]>;
|
|
166
|
+
find<table extends AnyTable, relations extends RelationMapForSourceName<TableName<table>> = {}>(table: table, value: PrimaryKeyInput<table>, options?: {
|
|
167
|
+
with?: relations;
|
|
168
|
+
}): Promise<TableRowWith<table, LoadedRelationMap<relations>> | null>;
|
|
169
|
+
findOne<table extends AnyTable, relations extends RelationMapForSourceName<TableName<table>> = {}>(table: table, options: FindOneOptions<table, relations>): Promise<TableRowWith<table, LoadedRelationMap<relations>> | null>;
|
|
170
|
+
findMany<table extends AnyTable, relations extends RelationMapForSourceName<TableName<table>> = {}>(table: table, options?: FindManyOptions<table, relations>): Promise<Array<TableRowWith<table, LoadedRelationMap<relations>>>>;
|
|
171
|
+
count<table extends AnyTable>(table: table, options?: CountOptions<table>): Promise<number>;
|
|
172
|
+
update<table extends AnyTable, relations extends RelationMapForSourceName<TableName<table>> = {}>(table: table, value: PrimaryKeyInput<table>, changes: Partial<TableRow<table>>, options?: UpdateOptions<table, relations>): Promise<TableRowWith<table, LoadedRelationMap<relations>>>;
|
|
173
|
+
updateMany<table extends AnyTable>(table: table, changes: Partial<TableRow<table>>, options: UpdateManyOptions<table>): Promise<WriteResult>;
|
|
174
|
+
delete<table extends AnyTable>(table: table, value: PrimaryKeyInput<table>): Promise<boolean>;
|
|
175
|
+
deleteMany<table extends AnyTable>(table: table, options: DeleteManyOptions<table>): Promise<WriteResult>;
|
|
176
|
+
exec(statement: string | SqlStatement, values?: unknown[]): Promise<AdapterResult>;
|
|
177
|
+
transaction<result>(callback: (database: Database) => Promise<result>, options?: TransactionOptions): Promise<result>;
|
|
178
|
+
[executeStatement](statement: AdapterStatement): Promise<AdapterResult>;
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Creates a database runtime from an adapter.
|
|
182
|
+
* @param adapter Adapter implementation responsible for SQL execution.
|
|
183
|
+
* @param options Optional runtime options.
|
|
184
|
+
* @param options.now Clock function used for auto-managed timestamps.
|
|
185
|
+
* @returns A `Database` API instance.
|
|
186
|
+
*/
|
|
187
|
+
export declare function createDatabase(adapter: DatabaseAdapter, options?: {
|
|
188
|
+
now?: () => unknown;
|
|
189
|
+
}): Database;
|
|
190
|
+
/**
|
|
191
|
+
* Immutable query builder used by `db.query(table)`.
|
|
192
|
+
*/
|
|
193
|
+
export declare class QueryBuilder<columnTypes extends Record<string, unknown>, row extends Record<string, unknown>, loaded extends Record<string, unknown> = {}, tableName extends string = string, primaryKey extends readonly string[] = readonly string[]> {
|
|
194
|
+
#private;
|
|
195
|
+
constructor(database: DatabaseRuntime, table: AnyTable, state: QueryState);
|
|
196
|
+
/**
|
|
197
|
+
* Narrows selected columns, optionally with aliases.
|
|
198
|
+
*/
|
|
199
|
+
select<selection extends (keyof row & string)[]>(...columns: selection): QueryBuilder<columnTypes, Pick<row, selection[number]>, loaded, tableName, primaryKey>;
|
|
200
|
+
select<selection extends Record<string, QueryColumnInput<columnTypes>>>(selection: selection): QueryBuilder<columnTypes, SelectedAliasRow<columnTypes, selection>, loaded, tableName, primaryKey>;
|
|
201
|
+
/**
|
|
202
|
+
* Toggles `distinct` selection.
|
|
203
|
+
* @param value When `true`, eliminates duplicate rows.
|
|
204
|
+
* @returns A cloned query builder with updated distinct state.
|
|
205
|
+
*/
|
|
206
|
+
distinct(value?: boolean): QueryBuilder<columnTypes, row, loaded, tableName, primaryKey>;
|
|
207
|
+
/**
|
|
208
|
+
* Adds a where predicate.
|
|
209
|
+
* @param input Predicate expression or column-value shorthand.
|
|
210
|
+
* @returns A cloned query builder with the appended where predicate.
|
|
211
|
+
*/
|
|
212
|
+
where(input: WhereInput<QueryColumns<columnTypes>>): QueryBuilder<columnTypes, row, loaded, tableName, primaryKey>;
|
|
213
|
+
/**
|
|
214
|
+
* Adds a having predicate.
|
|
215
|
+
* @param input Predicate expression or aggregate filter shorthand.
|
|
216
|
+
* @returns A cloned query builder with the appended having predicate.
|
|
217
|
+
*/
|
|
218
|
+
having(input: WhereInput<QueryColumns<columnTypes>>): QueryBuilder<columnTypes, row, loaded, tableName, primaryKey>;
|
|
219
|
+
/**
|
|
220
|
+
* Adds a join clause.
|
|
221
|
+
* @param target Target table to join.
|
|
222
|
+
* @param on Join predicate.
|
|
223
|
+
* @param type Join type.
|
|
224
|
+
* @returns A query builder whose column map includes joined table columns.
|
|
225
|
+
*/
|
|
226
|
+
join<target extends AnyTable>(target: target, on: Predicate<QueryColumns<columnTypes> | QueryColumnName<target>>, type?: JoinType): QueryBuilder<MergeColumnTypeMaps<columnTypes, QueryColumnTypeMap<target>>, row, loaded, tableName, primaryKey>;
|
|
227
|
+
/**
|
|
228
|
+
* Adds a left join clause.
|
|
229
|
+
* @param target Target table to join.
|
|
230
|
+
* @param on Join predicate.
|
|
231
|
+
* @returns A query builder whose column map includes joined table columns.
|
|
232
|
+
*/
|
|
233
|
+
leftJoin<target extends AnyTable>(target: target, on: Predicate<QueryColumns<columnTypes> | QueryColumnName<target>>): QueryBuilder<MergeColumnTypeMaps<columnTypes, QueryColumnTypeMap<target>>, row, loaded, tableName, primaryKey>;
|
|
234
|
+
/**
|
|
235
|
+
* Adds a right join clause.
|
|
236
|
+
* @param target Target table to join.
|
|
237
|
+
* @param on Join predicate.
|
|
238
|
+
* @returns A query builder whose column map includes joined table columns.
|
|
239
|
+
*/
|
|
240
|
+
rightJoin<target extends AnyTable>(target: target, on: Predicate<QueryColumns<columnTypes> | QueryColumnName<target>>): QueryBuilder<MergeColumnTypeMaps<columnTypes, QueryColumnTypeMap<target>>, row, loaded, tableName, primaryKey>;
|
|
241
|
+
/**
|
|
242
|
+
* Appends an order-by clause.
|
|
243
|
+
* @param column Column to sort by.
|
|
244
|
+
* @param direction Sort direction.
|
|
245
|
+
* @returns A cloned query builder with the appended order-by clause.
|
|
246
|
+
*/
|
|
247
|
+
orderBy(column: QueryColumnInput<columnTypes>, direction?: OrderDirection): QueryBuilder<columnTypes, row, loaded, tableName, primaryKey>;
|
|
248
|
+
/**
|
|
249
|
+
* Appends group-by columns.
|
|
250
|
+
* @param columns Columns to include in the grouping set.
|
|
251
|
+
* @returns A cloned query builder with appended group-by columns.
|
|
252
|
+
*/
|
|
253
|
+
groupBy(...columns: QueryColumnInput<columnTypes>[]): QueryBuilder<columnTypes, row, loaded, tableName, primaryKey>;
|
|
254
|
+
/**
|
|
255
|
+
* Limits returned rows.
|
|
256
|
+
* @param value Maximum number of rows to return.
|
|
257
|
+
* @returns A cloned query builder with a row limit.
|
|
258
|
+
*/
|
|
259
|
+
limit(value: number): QueryBuilder<columnTypes, row, loaded, tableName, primaryKey>;
|
|
260
|
+
/**
|
|
261
|
+
* Skips returned rows.
|
|
262
|
+
* @param value Number of rows to skip.
|
|
263
|
+
* @returns A cloned query builder with a row offset.
|
|
264
|
+
*/
|
|
265
|
+
offset(value: number): QueryBuilder<columnTypes, row, loaded, tableName, primaryKey>;
|
|
266
|
+
/**
|
|
267
|
+
* Configures eager-loaded relations.
|
|
268
|
+
* @param relations Relation map describing nested eager-load behavior.
|
|
269
|
+
* @returns A cloned query builder with relation loading configuration.
|
|
270
|
+
*/
|
|
271
|
+
with<relations extends RelationMapForSourceName<tableName>>(relations: relations): QueryBuilder<columnTypes, row, loaded & LoadedRelationMap<relations>, tableName, primaryKey>;
|
|
272
|
+
/**
|
|
273
|
+
* Executes the query and returns all rows.
|
|
274
|
+
* @returns All matching rows with requested eager-loaded relations.
|
|
275
|
+
*/
|
|
276
|
+
all(): Promise<Array<row & loaded>>;
|
|
277
|
+
/**
|
|
278
|
+
* Executes the query and returns the first row.
|
|
279
|
+
* @returns The first matching row, or `null` when no rows match.
|
|
280
|
+
*/
|
|
281
|
+
first(): Promise<(row & loaded) | null>;
|
|
282
|
+
/**
|
|
283
|
+
* Loads a single row by primary key.
|
|
284
|
+
* @param value Primary-key value or composite-key object.
|
|
285
|
+
* @returns The matching row, or `null` when no row exists.
|
|
286
|
+
*/
|
|
287
|
+
find(value: PrimaryKeyInputForRow<row, primaryKey>): Promise<(row & loaded) | null>;
|
|
288
|
+
/**
|
|
289
|
+
* Executes a count query.
|
|
290
|
+
* @returns Number of rows that match the current query scope.
|
|
291
|
+
*/
|
|
292
|
+
count(): Promise<number>;
|
|
293
|
+
/**
|
|
294
|
+
* Executes an existence query.
|
|
295
|
+
* @returns `true` when at least one row matches the current query scope.
|
|
296
|
+
*/
|
|
297
|
+
exists(): Promise<boolean>;
|
|
298
|
+
/**
|
|
299
|
+
* Inserts one row.
|
|
300
|
+
* @param values Values to insert.
|
|
301
|
+
* @param options Insert options.
|
|
302
|
+
* @param options.returning Optional return selection for adapters that support returning.
|
|
303
|
+
* @param options.touch When `true`, manages timestamp columns automatically.
|
|
304
|
+
* @returns Insert metadata, and optionally the returned row.
|
|
305
|
+
*/
|
|
306
|
+
insert(values: Partial<row>, options?: {
|
|
307
|
+
returning?: ReturningInput<row>;
|
|
308
|
+
touch?: boolean;
|
|
309
|
+
}): Promise<WriteResult | WriteRowResult<row>>;
|
|
310
|
+
/**
|
|
311
|
+
* Inserts many rows.
|
|
312
|
+
* @param values Values to insert.
|
|
313
|
+
* @param options Insert options.
|
|
314
|
+
* @param options.returning Optional return selection for adapters that support returning.
|
|
315
|
+
* @param options.touch When `true`, manages timestamp columns automatically.
|
|
316
|
+
* @returns Insert metadata, and optionally the returned rows.
|
|
317
|
+
*/
|
|
318
|
+
insertMany(values: Partial<row>[], options?: {
|
|
319
|
+
returning?: ReturningInput<row>;
|
|
320
|
+
touch?: boolean;
|
|
321
|
+
}): Promise<WriteResult | WriteRowsResult<row>>;
|
|
322
|
+
/**
|
|
323
|
+
* Updates scoped rows.
|
|
324
|
+
* @param changes Column changes to apply.
|
|
325
|
+
* @param options Update options.
|
|
326
|
+
* @param options.returning Optional return selection for adapters that support returning.
|
|
327
|
+
* @param options.touch When `true`, updates timestamp columns automatically.
|
|
328
|
+
* @returns Update metadata, and optionally the returned rows.
|
|
329
|
+
*/
|
|
330
|
+
update(changes: Partial<row>, options?: {
|
|
331
|
+
returning?: ReturningInput<row>;
|
|
332
|
+
touch?: boolean;
|
|
333
|
+
}): Promise<WriteResult | WriteRowsResult<row>>;
|
|
334
|
+
/**
|
|
335
|
+
* Deletes scoped rows.
|
|
336
|
+
* @param options Delete options.
|
|
337
|
+
* @param options.returning Optional return selection for adapters that support returning.
|
|
338
|
+
* @returns Delete metadata, and optionally the returned rows.
|
|
339
|
+
*/
|
|
340
|
+
delete(options?: {
|
|
341
|
+
returning?: ReturningInput<row>;
|
|
342
|
+
}): Promise<WriteResult | WriteRowsResult<row>>;
|
|
343
|
+
/**
|
|
344
|
+
* Performs an upsert operation.
|
|
345
|
+
* @param values Values to insert.
|
|
346
|
+
* @param options Upsert options.
|
|
347
|
+
* @param options.returning Optional return selection for adapters that support returning.
|
|
348
|
+
* @param options.touch When `true`, manages timestamp columns automatically.
|
|
349
|
+
* @param options.conflictTarget Conflict target columns for adapters that require them.
|
|
350
|
+
* @param options.update Optional update payload used when a conflict occurs.
|
|
351
|
+
* @returns Upsert metadata, and optionally the returned row.
|
|
352
|
+
*/
|
|
353
|
+
upsert(values: Partial<row>, options?: {
|
|
354
|
+
returning?: ReturningInput<row>;
|
|
355
|
+
touch?: boolean;
|
|
356
|
+
conflictTarget?: (keyof row & string)[];
|
|
357
|
+
update?: Partial<row>;
|
|
358
|
+
}): Promise<WriteResult | WriteRowResult<row>>;
|
|
359
|
+
}
|
|
360
|
+
export {};
|
|
361
|
+
//# sourceMappingURL=database.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/lib/database.ts"],"names":[],"mappings":"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"}
|