@remix-run/data-table 0.1.0 → 0.2.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.
Files changed (111) hide show
  1. package/README.md +306 -55
  2. package/dist/index.d.ts +9 -5
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +4 -2
  5. package/dist/lib/adapter.d.ts +386 -16
  6. package/dist/lib/adapter.d.ts.map +1 -1
  7. package/dist/lib/column.d.ts +193 -0
  8. package/dist/lib/column.d.ts.map +1 -0
  9. package/dist/lib/column.js +302 -0
  10. package/dist/lib/database/execution-context.d.ts +10 -0
  11. package/dist/lib/database/execution-context.d.ts.map +1 -0
  12. package/dist/lib/database/execution-context.js +1 -0
  13. package/dist/lib/database/helpers.d.ts +26 -0
  14. package/dist/lib/database/helpers.d.ts.map +1 -0
  15. package/dist/lib/database/helpers.js +116 -0
  16. package/dist/lib/database/query-execution.d.ts +7 -0
  17. package/dist/lib/database/query-execution.d.ts.map +1 -0
  18. package/dist/lib/database/query-execution.js +401 -0
  19. package/dist/lib/database/relations.d.ts +4 -0
  20. package/dist/lib/database/relations.d.ts.map +1 -0
  21. package/dist/lib/database/relations.js +207 -0
  22. package/dist/lib/database/write-lifecycle.d.ts +13 -0
  23. package/dist/lib/database/write-lifecycle.d.ts.map +1 -0
  24. package/dist/lib/database/write-lifecycle.js +279 -0
  25. package/dist/lib/database.d.ts +141 -238
  26. package/dist/lib/database.d.ts.map +1 -1
  27. package/dist/lib/database.js +73 -1122
  28. package/dist/lib/errors.d.ts +9 -0
  29. package/dist/lib/errors.d.ts.map +1 -1
  30. package/dist/lib/errors.js +9 -0
  31. package/dist/lib/migrations/filename.d.ts +12 -0
  32. package/dist/lib/migrations/filename.d.ts.map +1 -0
  33. package/dist/lib/migrations/filename.js +20 -0
  34. package/dist/lib/migrations/helpers.d.ts +11 -0
  35. package/dist/lib/migrations/helpers.d.ts.map +1 -0
  36. package/dist/lib/migrations/helpers.js +77 -0
  37. package/dist/lib/migrations/journal-store.d.ts +15 -0
  38. package/dist/lib/migrations/journal-store.d.ts.map +1 -0
  39. package/dist/lib/migrations/journal-store.js +83 -0
  40. package/dist/lib/migrations/registry.d.ts +27 -0
  41. package/dist/lib/migrations/registry.d.ts.map +1 -0
  42. package/dist/lib/migrations/registry.js +51 -0
  43. package/dist/lib/migrations/runner.d.ts +20 -0
  44. package/dist/lib/migrations/runner.d.ts.map +1 -0
  45. package/dist/lib/migrations/runner.js +273 -0
  46. package/dist/lib/migrations/schema-api.d.ts +7 -0
  47. package/dist/lib/migrations/schema-api.d.ts.map +1 -0
  48. package/dist/lib/migrations/schema-api.js +326 -0
  49. package/dist/lib/migrations-node.d.ts +17 -0
  50. package/dist/lib/migrations-node.d.ts.map +1 -0
  51. package/dist/lib/migrations-node.js +65 -0
  52. package/dist/lib/migrations.d.ts +292 -0
  53. package/dist/lib/migrations.d.ts.map +1 -0
  54. package/dist/lib/migrations.js +38 -0
  55. package/dist/lib/operators.d.ts +3 -0
  56. package/dist/lib/operators.d.ts.map +1 -1
  57. package/dist/lib/query.d.ts +159 -0
  58. package/dist/lib/query.d.ts.map +1 -0
  59. package/dist/lib/query.js +401 -0
  60. package/dist/lib/references.d.ts +0 -1
  61. package/dist/lib/references.d.ts.map +1 -1
  62. package/dist/lib/sql-helpers.d.ts +50 -0
  63. package/dist/lib/sql-helpers.d.ts.map +1 -0
  64. package/dist/lib/sql-helpers.js +111 -0
  65. package/dist/lib/sql.d.ts +23 -6
  66. package/dist/lib/sql.d.ts.map +1 -1
  67. package/dist/lib/sql.js +19 -5
  68. package/dist/lib/table.d.ts +355 -40
  69. package/dist/lib/table.d.ts.map +1 -1
  70. package/dist/lib/table.js +113 -90
  71. package/dist/migrations/node.d.ts +2 -0
  72. package/dist/migrations/node.d.ts.map +1 -0
  73. package/dist/migrations/node.js +1 -0
  74. package/dist/migrations.d.ts +8 -0
  75. package/dist/migrations.d.ts.map +1 -0
  76. package/dist/migrations.js +5 -0
  77. package/dist/operators.d.ts +3 -0
  78. package/dist/operators.d.ts.map +1 -0
  79. package/dist/operators.js +1 -0
  80. package/dist/sql-helpers.d.ts +3 -0
  81. package/dist/sql-helpers.d.ts.map +1 -0
  82. package/dist/sql-helpers.js +1 -0
  83. package/package.json +23 -8
  84. package/src/index.ts +93 -10
  85. package/src/lib/adapter.ts +469 -25
  86. package/src/lib/column.ts +384 -0
  87. package/src/lib/database/execution-context.ts +15 -0
  88. package/src/lib/database/helpers.ts +216 -0
  89. package/src/lib/database/query-execution.ts +638 -0
  90. package/src/lib/database/relations.ts +332 -0
  91. package/src/lib/database/write-lifecycle.ts +487 -0
  92. package/src/lib/database.ts +246 -1848
  93. package/src/lib/errors.ts +10 -0
  94. package/src/lib/migrations/filename.ts +25 -0
  95. package/src/lib/migrations/helpers.ts +108 -0
  96. package/src/lib/migrations/journal-store.ts +122 -0
  97. package/src/lib/migrations/registry.ts +62 -0
  98. package/src/lib/migrations/runner.ts +374 -0
  99. package/src/lib/migrations/schema-api.ts +417 -0
  100. package/src/lib/migrations-node.ts +71 -0
  101. package/src/lib/migrations.ts +328 -0
  102. package/src/lib/operators.ts +3 -0
  103. package/src/lib/query.ts +958 -0
  104. package/src/lib/references.ts +0 -1
  105. package/src/lib/sql-helpers.ts +146 -0
  106. package/src/lib/sql.ts +23 -6
  107. package/src/lib/table.ts +484 -156
  108. package/src/migrations/node.ts +1 -0
  109. package/src/migrations.ts +26 -0
  110. package/src/operators.ts +18 -0
  111. package/src/sql-helpers.ts +9 -0
@@ -1,85 +1,110 @@
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';
1
+ import type { ColumnDefinition, DataManipulationOperation, DataManipulationResult, DatabaseAdapter, TransactionOptions, TransactionToken } from './adapter.ts';
2
+ import type { ColumnBuilder } from './column.ts';
3
+ import { executeOperation, type QueryExecutionContext } from './database/execution-context.ts';
4
+ import type { AnyQuery, BoundQueryPhase, Query as QueryObject, QueryExecutionResult } from './query.ts';
5
+ import type { ColumnInput, NormalizeColumnInput, TableMetadataLike } from './references.ts';
5
6
  import type { SqlStatement } from './sql.ts';
6
- import type { AdapterStatement } from './adapter.ts';
7
+ import type { AnyRelation, AnyTable, LoadedRelationMap, OrderDirection, PrimaryKeyInput, TableName, TablePrimaryKey, TableRow, TableRowWith, TableValidate, tableMetadataKey, TimestampConfig } from './table.ts';
7
8
  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>;
9
+ import type { WhereInput } from './operators.ts';
10
+ export type TableColumnName<table extends AnyTable> = keyof TableRow<table> & string;
11
+ export type QualifiedTableColumnName<table extends AnyTable> = `${TableName<table>}.${TableColumnName<table>}`;
12
+ export type QueryColumnName<table extends AnyTable> = TableColumnName<table> | QualifiedTableColumnName<table>;
24
13
  type RowColumnName<row extends Record<string, unknown>> = keyof row & string;
25
14
  type QualifiedRowColumnName<tableName extends string, row extends Record<string, unknown>> = `${tableName}.${RowColumnName<row>}`;
26
- type QueryColumnTypeMapFromRow<tableName extends string, row extends Record<string, unknown>> = {
15
+ export type QueryColumnTypeMapFromRow<tableName extends string, row extends Record<string, unknown>> = {
27
16
  [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
17
  };
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<{
18
+ export type QueryColumnTypeMap<table extends AnyTable> = Pretty<QueryColumnTypeMapFromRow<TableName<table>, TableRow<table>>>;
19
+ export type MergeColumnTypeMaps<left extends Record<string, unknown>, right extends Record<string, unknown>> = Pretty<{
31
20
  [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
21
  }>;
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<{
22
+ export type QueryColumns<columnTypes extends Record<string, unknown>> = Extract<keyof columnTypes, string>;
23
+ export type QueryColumnInput<columnTypes extends Record<string, unknown>> = ColumnInput<QueryColumns<columnTypes>>;
24
+ export type SelectedAliasRow<columnTypes extends Record<string, unknown>, selection extends Record<string, QueryColumnInput<columnTypes>>> = Pretty<{
36
25
  [alias in keyof selection]: NormalizeColumnInput<selection[alias]> extends keyof columnTypes ? columnTypes[NormalizeColumnInput<selection[alias]>] : never;
37
26
  }>;
38
- type SavepointCounter = {
39
- value: number;
40
- };
41
- declare const executeStatement: unique symbol;
42
- type RelationMapForSourceName<tableName extends string> = Record<string, AnyRelation & {
27
+ export type RelationMapForSourceName<tableName extends string> = Record<string, AnyRelation & {
43
28
  sourceTable: {
44
29
  [tableMetadataKey]: {
45
30
  name: tableName;
46
31
  };
47
32
  };
48
33
  }>;
49
- type PrimaryKeyInputForRow<row extends Record<string, unknown>, primaryKey extends readonly string[]> = primaryKey extends readonly [infer column extends keyof row & string] ? row[column] : {
34
+ export type PrimaryKeyInputForRow<row extends Record<string, unknown>, primaryKey extends readonly string[]> = primaryKey extends readonly [infer column extends keyof row & string] ? row[column] : {
50
35
  [column in primaryKey[number] & keyof row]: row[column];
51
36
  };
52
- type ReturningInput<row extends Record<string, unknown>> = '*' | (keyof row & string)[];
37
+ export type ReturningInput<row extends Record<string, unknown>> = '*' | (keyof row & string)[];
38
+ /**
39
+ * Table-like metadata accepted by `database.query()`.
40
+ */
53
41
  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]>;
42
+ [column in keyof row & string]: ColumnBuilder<row[column]>;
55
43
  }, primaryKey, TimestampConfig | null> & {
56
- '~standard': Schema<unknown, Partial<row>>['~standard'];
44
+ [tableMetadataKey]: {
45
+ name: tableName;
46
+ columns: {
47
+ [column in keyof row & string]: ColumnBuilder<row[column]>;
48
+ };
49
+ primaryKey: primaryKey;
50
+ timestamps: TimestampConfig | null;
51
+ columnDefinitions: Record<string, ColumnDefinition>;
52
+ validate?: TableValidate<Record<string, unknown>>;
53
+ };
57
54
  } & 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>;
55
+ /**
56
+ * Result metadata for write operations that do not return rows.
57
+ */
60
58
  export type WriteResult = {
61
59
  affectedRows: number;
62
60
  insertId?: unknown;
63
61
  };
62
+ /**
63
+ * Result metadata for write operations that return multiple rows.
64
+ */
64
65
  export type WriteRowsResult<row> = {
65
66
  affectedRows: number;
66
67
  insertId?: unknown;
67
68
  rows: row[];
68
69
  };
70
+ /**
71
+ * Result metadata for write operations that return a single row.
72
+ */
69
73
  export type WriteRowResult<row> = {
70
74
  affectedRows: number;
71
75
  insertId?: unknown;
72
76
  row: row | null;
73
77
  };
78
+ /**
79
+ * Queryable column type map for a concrete table.
80
+ */
74
81
  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>>;
82
+ /**
83
+ * Query type produced for a concrete table.
84
+ */
85
+ export type QueryForTable<table extends AnyTable, loaded extends Record<string, unknown> = {}> = QueryObject<QueryTableInput<TableName<table>, TableRow<table>, TablePrimaryKey<table>>, QueryColumnTypesForTable<table>, TableRow<table>, loaded, BoundQueryPhase<'all'>>;
86
+ /**
87
+ * Column names accepted in single-table queries.
88
+ */
76
89
  export type SingleTableColumn<table extends AnyTable> = QueryColumns<QueryColumnTypeMap<table>>;
90
+ /**
91
+ * `where` input accepted in single-table queries.
92
+ */
77
93
  export type SingleTableWhere<table extends AnyTable> = WhereInput<SingleTableColumn<table>>;
94
+ /**
95
+ * Tuple form accepted by `orderBy` for a single table.
96
+ */
78
97
  export type OrderByTuple<table extends AnyTable> = [
79
98
  column: SingleTableColumn<table>,
80
99
  direction?: OrderDirection
81
100
  ];
101
+ /**
102
+ * `orderBy` input accepted in single-table queries.
103
+ */
82
104
  export type OrderByInput<table extends AnyTable> = OrderByTuple<table> | OrderByTuple<table>[];
105
+ /**
106
+ * Options for loading many rows from a table.
107
+ */
83
108
  export type FindManyOptions<table extends AnyTable, relations extends RelationMapForSourceName<TableName<table>> = {}> = {
84
109
  where?: SingleTableWhere<table>;
85
110
  orderBy?: OrderByInput<table>;
@@ -87,13 +112,22 @@ export type FindManyOptions<table extends AnyTable, relations extends RelationMa
87
112
  offset?: number;
88
113
  with?: relations;
89
114
  };
115
+ /**
116
+ * Options for loading a single row from a table.
117
+ */
90
118
  export type FindOneOptions<table extends AnyTable, relations extends RelationMapForSourceName<TableName<table>> = {}> = Omit<FindManyOptions<table, relations>, 'limit' | 'offset'> & {
91
119
  where: SingleTableWhere<table>;
92
120
  };
121
+ /**
122
+ * Options for updating a single row.
123
+ */
93
124
  export type UpdateOptions<table extends AnyTable, relations extends RelationMapForSourceName<TableName<table>> = {}> = {
94
125
  touch?: boolean;
95
126
  with?: relations;
96
127
  };
128
+ /**
129
+ * Options for updating many rows.
130
+ */
97
131
  export type UpdateManyOptions<table extends AnyTable> = {
98
132
  where: SingleTableWhere<table>;
99
133
  orderBy?: OrderByInput<table>;
@@ -101,64 +135,74 @@ export type UpdateManyOptions<table extends AnyTable> = {
101
135
  offset?: number;
102
136
  touch?: boolean;
103
137
  };
138
+ /**
139
+ * Options for deleting many rows.
140
+ */
104
141
  export type DeleteManyOptions<table extends AnyTable> = {
105
142
  where: SingleTableWhere<table>;
106
143
  orderBy?: OrderByInput<table>;
107
144
  limit?: number;
108
145
  offset?: number;
109
146
  };
147
+ /**
148
+ * Options for counting rows.
149
+ */
110
150
  export type CountOptions<table extends AnyTable> = {
111
151
  where?: SingleTableWhere<table>;
112
152
  };
153
+ /**
154
+ * Options for create operations that return only write metadata.
155
+ */
113
156
  export type CreateResultOptions = {
114
157
  touch?: boolean;
115
158
  returnRow?: false;
116
159
  };
160
+ /**
161
+ * Options for create operations that return the inserted row.
162
+ */
117
163
  export type CreateRowOptions<table extends AnyTable, relations extends RelationMapForSourceName<TableName<table>> = {}> = {
118
164
  touch?: boolean;
119
165
  with?: relations;
120
166
  returnRow: true;
121
167
  };
168
+ /**
169
+ * Options for bulk-create operations that return only write metadata.
170
+ */
122
171
  export type CreateManyResultOptions = {
123
172
  touch?: boolean;
124
173
  returnRows?: false;
125
174
  };
175
+ /**
176
+ * Options for bulk-create operations that return inserted rows.
177
+ */
126
178
  export type CreateManyRowsOptions = {
127
179
  touch?: boolean;
128
180
  returnRows: true;
129
181
  };
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>;
182
+ type SavepointCounter = {
183
+ value: number;
184
+ };
185
+ type DatabaseOptions = {
186
+ now?: () => unknown;
150
187
  };
151
- declare class DatabaseRuntime implements Database {
188
+ type DatabaseInternalState = {
189
+ token?: TransactionToken;
190
+ savepointCounter: SavepointCounter;
191
+ };
192
+ declare const createInternalDatabase: unique symbol;
193
+ /**
194
+ * High-level database runtime used to build and execute data manipulation operations.
195
+ *
196
+ * Create instances directly with `new Database(adapter, options)` or use
197
+ * `createDatabase(adapter, options)` as a thin wrapper.
198
+ */
199
+ export declare class Database implements QueryExecutionContext {
152
200
  #private;
153
- constructor(options: {
154
- adapter: DatabaseAdapter;
155
- token?: TransactionToken;
156
- now: () => unknown;
157
- savepointCounter: SavepointCounter;
158
- });
201
+ constructor(adapter: DatabaseAdapter, options?: DatabaseOptions);
202
+ static [createInternalDatabase](adapter: DatabaseAdapter, options: DatabaseOptions | undefined, internal: DatabaseInternalState): Database;
159
203
  get adapter(): DatabaseAdapter;
160
204
  now(): unknown;
161
- query: QueryMethod;
205
+ query<tableName extends string, row extends Record<string, unknown>, primaryKey extends readonly (keyof row & string)[]>(table: QueryTableInput<tableName, row, primaryKey>): QueryObject<QueryTableInput<tableName, row, primaryKey>, Pretty<QueryColumnTypeMapFromRow<tableName, row>>, row, {}, BoundQueryPhase<'all'>>;
162
206
  create<table extends AnyTable>(table: table, values: Partial<TableRow<table>>, options?: CreateResultOptions): Promise<WriteResult>;
163
207
  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
208
  createMany<table extends AnyTable>(table: table, values: Array<Partial<TableRow<table>>>, options?: CreateManyResultOptions): Promise<WriteResult>;
@@ -173,189 +217,48 @@ declare class DatabaseRuntime implements Database {
173
217
  updateMany<table extends AnyTable>(table: table, changes: Partial<TableRow<table>>, options: UpdateManyOptions<table>): Promise<WriteResult>;
174
218
  delete<table extends AnyTable>(table: table, value: PrimaryKeyInput<table>): Promise<boolean>;
175
219
  deleteMany<table extends AnyTable>(table: table, options: DeleteManyOptions<table>): Promise<WriteResult>;
176
- exec(statement: string | SqlStatement, values?: unknown[]): Promise<AdapterResult>;
220
+ exec(statement: string | SqlStatement, values?: unknown[]): Promise<DataManipulationResult>;
221
+ exec<input extends AnyQuery>(input: input): Promise<QueryExecutionResult<input>>;
177
222
  transaction<result>(callback: (database: Database) => Promise<result>, options?: TransactionOptions): Promise<result>;
178
- [executeStatement](statement: AdapterStatement): Promise<AdapterResult>;
223
+ [executeOperation](operation: DataManipulationOperation): Promise<DataManipulationResult>;
179
224
  }
180
225
  /**
181
226
  * Creates a database runtime from an adapter.
227
+ * Thin wrapper around `new Database(adapter, options)`.
182
228
  * @param adapter Adapter implementation responsible for SQL execution.
183
229
  * @param options Optional runtime options.
184
230
  * @param options.now Clock function used for auto-managed timestamps.
185
- * @returns A `Database` API instance.
231
+ * @returns A {@link Database} API instance.
232
+ * @example
233
+ * ```ts
234
+ * import { column as c, createDatabase, table } from 'remix/data-table'
235
+ *
236
+ * let users = table({
237
+ * name: 'users',
238
+ * columns: {
239
+ * id: c.integer(),
240
+ * email: c.varchar(255),
241
+ * },
242
+ * })
243
+ *
244
+ * let db = createDatabase(adapter)
245
+ * let rows = await db.query(users).where({ id: 1 }).all()
246
+ * ```
186
247
  */
187
248
  export declare function createDatabase(adapter: DatabaseAdapter, options?: {
188
249
  now?: () => unknown;
189
250
  }): Database;
190
251
  /**
191
- * Immutable query builder used by `db.query(table)`.
252
+ * Creates a database runtime bound to an existing adapter transaction token.
253
+ * This is an internal helper used by the migration runner.
254
+ * @param adapter Adapter implementation responsible for SQL execution.
255
+ * @param token Active adapter transaction token.
256
+ * @param options Optional runtime options.
257
+ * @param options.now Clock function used for auto-managed timestamps.
258
+ * @returns A {@link Database} API instance bound to the provided transaction.
192
259
  */
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
- }
260
+ export declare function createDatabaseWithTransaction(adapter: DatabaseAdapter, token: TransactionToken, options?: {
261
+ now?: () => unknown;
262
+ }): Database;
360
263
  export {};
361
264
  //# sourceMappingURL=database.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/lib/database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/lib/database.ts"],"names":[],"mappings":"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"}