@remix-run/data-table 0.2.1 → 0.4.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 (113) hide show
  1. package/README.md +251 -123
  2. package/dist/cli.d.ts +54 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/cli.js +53 -0
  5. package/dist/index.d.ts +5 -4
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +7 -7
  8. package/dist/lib/column.d.ts +1 -1
  9. package/dist/lib/column.d.ts.map +1 -1
  10. package/dist/lib/column.js +10 -1
  11. package/dist/lib/database/execution-context.d.ts +5 -5
  12. package/dist/lib/database/execution-context.d.ts.map +1 -1
  13. package/dist/lib/database/execution-context.js +1 -0
  14. package/dist/lib/database/helpers.js +6 -6
  15. package/dist/lib/database/query-execution.d.ts.map +1 -1
  16. package/dist/lib/database/query-execution.js +17 -17
  17. package/dist/lib/database/relations.js +5 -5
  18. package/dist/lib/database/write-lifecycle.d.ts +2 -2
  19. package/dist/lib/database/write-lifecycle.d.ts.map +1 -1
  20. package/dist/lib/database/write-lifecycle.js +5 -5
  21. package/dist/lib/database.d.ts +74 -59
  22. package/dist/lib/database.d.ts.map +1 -1
  23. package/dist/lib/database.js +176 -83
  24. package/dist/lib/driver.d.ts +287 -0
  25. package/dist/lib/driver.d.ts.map +1 -0
  26. package/dist/lib/errors.d.ts +2 -2
  27. package/dist/lib/errors.d.ts.map +1 -1
  28. package/dist/lib/errors.js +4 -4
  29. package/dist/lib/migrations/directive.d.ts +12 -0
  30. package/dist/lib/migrations/directive.d.ts.map +1 -0
  31. package/dist/lib/migrations/directive.js +28 -0
  32. package/dist/lib/migrations/directory-name.d.ts +12 -0
  33. package/dist/lib/migrations/directory-name.d.ts.map +1 -0
  34. package/dist/lib/migrations/directory-name.js +18 -0
  35. package/dist/lib/migrations/journal-store.d.ts +7 -7
  36. package/dist/lib/migrations/journal-store.d.ts.map +1 -1
  37. package/dist/lib/migrations/journal-store.js +37 -28
  38. package/dist/lib/migrations/registry.d.ts +1 -1
  39. package/dist/lib/migrations/registry.js +1 -1
  40. package/dist/lib/migrations/runner.d.ts +12 -19
  41. package/dist/lib/migrations/runner.d.ts.map +1 -1
  42. package/dist/lib/migrations/runner.js +170 -175
  43. package/dist/lib/migrations-node.d.ts +26 -5
  44. package/dist/lib/migrations-node.d.ts.map +1 -1
  45. package/dist/lib/migrations-node.js +73 -41
  46. package/dist/lib/migrations.d.ts +63 -209
  47. package/dist/lib/migrations.d.ts.map +1 -1
  48. package/dist/lib/migrations.js +1 -38
  49. package/dist/lib/operators.d.ts +1 -1
  50. package/dist/lib/operators.js +1 -1
  51. package/dist/lib/query.d.ts +34 -1
  52. package/dist/lib/query.d.ts.map +1 -1
  53. package/dist/lib/query.js +32 -4
  54. package/dist/lib/sql-helpers.d.ts +1 -7
  55. package/dist/lib/sql-helpers.d.ts.map +1 -1
  56. package/dist/lib/sql-helpers.js +0 -16
  57. package/dist/lib/sql.d.ts +1 -1
  58. package/dist/lib/sql.js +1 -1
  59. package/dist/lib/table.d.ts +1 -1
  60. package/dist/lib/table.d.ts.map +1 -1
  61. package/dist/lib/table.js +5 -5
  62. package/dist/migrations/node.d.ts +1 -1
  63. package/dist/migrations/node.d.ts.map +1 -1
  64. package/dist/migrations/node.js +1 -1
  65. package/dist/migrations.d.ts +2 -6
  66. package/dist/migrations.d.ts.map +1 -1
  67. package/dist/migrations.js +2 -5
  68. package/dist/operators.js +1 -1
  69. package/dist/sql-helpers.d.ts +1 -1
  70. package/dist/sql-helpers.d.ts.map +1 -1
  71. package/dist/sql-helpers.js +1 -1
  72. package/package.json +13 -9
  73. package/src/cli.ts +120 -0
  74. package/src/index.ts +20 -54
  75. package/src/lib/column.ts +14 -2
  76. package/src/lib/database/execution-context.ts +10 -6
  77. package/src/lib/database/helpers.ts +1 -1
  78. package/src/lib/database/query-execution.ts +15 -11
  79. package/src/lib/database/write-lifecycle.ts +4 -4
  80. package/src/lib/database.ts +223 -96
  81. package/src/lib/driver.ts +333 -0
  82. package/src/lib/errors.ts +4 -4
  83. package/src/lib/migrations/directive.ts +38 -0
  84. package/src/lib/migrations/directory-name.ts +23 -0
  85. package/src/lib/migrations/journal-store.ts +42 -28
  86. package/src/lib/migrations/registry.ts +1 -1
  87. package/src/lib/migrations/runner.ts +224 -205
  88. package/src/lib/migrations-node.ts +80 -38
  89. package/src/lib/migrations.ts +62 -228
  90. package/src/lib/operators.ts +1 -1
  91. package/src/lib/query.ts +34 -1
  92. package/src/lib/sql-helpers.ts +1 -22
  93. package/src/lib/sql.ts +1 -1
  94. package/src/lib/table.ts +1 -1
  95. package/src/migrations/node.ts +1 -1
  96. package/src/migrations.ts +5 -16
  97. package/src/sql-helpers.ts +0 -1
  98. package/dist/lib/adapter.d.ts +0 -550
  99. package/dist/lib/adapter.d.ts.map +0 -1
  100. package/dist/lib/migrations/filename.d.ts +0 -12
  101. package/dist/lib/migrations/filename.d.ts.map +0 -1
  102. package/dist/lib/migrations/filename.js +0 -20
  103. package/dist/lib/migrations/helpers.d.ts +0 -11
  104. package/dist/lib/migrations/helpers.d.ts.map +0 -1
  105. package/dist/lib/migrations/helpers.js +0 -77
  106. package/dist/lib/migrations/schema-api.d.ts +0 -7
  107. package/dist/lib/migrations/schema-api.d.ts.map +0 -1
  108. package/dist/lib/migrations/schema-api.js +0 -326
  109. package/src/lib/adapter.ts +0 -653
  110. package/src/lib/migrations/filename.ts +0 -25
  111. package/src/lib/migrations/helpers.ts +0 -108
  112. package/src/lib/migrations/schema-api.ts +0 -417
  113. /package/dist/lib/{adapter.js → driver.js} +0 -0
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
- export { DataTableAdapterError, DataTableConstraintError, DataTableError, DataTableQueryError, DataTableValidationError, } from "./lib/errors.js";
2
- export { belongsTo, columnMetadataKey, fail, getTableColumns, getTableColumnDefinitions, getTableBeforeDelete, getTableBeforeWrite, getTableAfterDelete, getTableAfterRead, getTableAfterWrite, getTableName, getTablePrimaryKey, getTableReference, getTableTimestamps, getTableValidator, hasMany, hasManyThrough, hasOne, table, tableMetadataKey, timestamps, } from "./lib/table.js";
3
- export { ColumnBuilder, column } from "./lib/column.js";
4
- export { and, between, eq, gt, gte, ilike, inList, isNull, like, lt, lte, ne, notInList, notNull, or, } from "./lib/operators.js";
5
- export { rawSql, sql } from "./lib/sql.js";
6
- export { createDatabase, Database } from "./lib/database.js";
7
- export { Query, query } from "./lib/query.js";
1
+ export { DataTableDatabaseError, DataTableConstraintError, DataTableError, DataTableQueryError, DataTableValidationError, } from './lib/errors.js';
2
+ export { belongsTo, columnMetadataKey, fail, getTableColumns, getTableColumnDefinitions, getTableBeforeDelete, getTableBeforeWrite, getTableAfterDelete, getTableAfterRead, getTableAfterWrite, getTableName, getTablePrimaryKey, getTableReference, getTableTimestamps, getTableValidator, hasMany, hasManyThrough, hasOne, table, tableMetadataKey, timestamps, } from './lib/table.js';
3
+ export { ColumnBuilder, column } from './lib/column.js';
4
+ export { and, between, eq, gt, gte, ilike, inList, isNull, like, lt, lte, ne, notInList, notNull, or, } from './lib/operators.js';
5
+ export { rawSql, sql } from './lib/sql.js';
6
+ export { Database } from './lib/database.js';
7
+ export { Query, query } from './lib/query.js';
@@ -1,4 +1,4 @@
1
- import type { ColumnDefinition, ForeignKeyAction, IdentityOptions } from './adapter.ts';
1
+ import type { ColumnDefinition, ForeignKeyAction, IdentityOptions } from './driver.ts';
2
2
  /**
3
3
  * Chainable builder used to describe physical column definitions.
4
4
  */
@@ -1 +1 @@
1
- {"version":3,"file":"column.d.ts","sourceRoot":"","sources":["../../src/lib/column.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"column.d.ts","sourceRoot":"","sources":["../../src/lib/column.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,13 @@
1
- import { toTableRef } from "./migrations/helpers.js";
1
+ function toTableRef(name) {
2
+ let segments = name.split('.');
3
+ if (segments.length === 1) {
4
+ return { name };
5
+ }
6
+ return {
7
+ schema: segments[0],
8
+ name: segments.slice(1).join('.'),
9
+ };
10
+ }
2
11
  /**
3
12
  * Chainable builder used to describe physical column definitions.
4
13
  */
@@ -1,10 +1,10 @@
1
- import type { DataManipulationOperation, DataManipulationResult, DatabaseAdapter } from '../adapter.ts';
2
- import type { Database } from '../database.ts';
1
+ import type { DatabaseCapabilities, DataManipulationOperation, DataManipulationResult, TransactionOptions } from '../driver.ts';
3
2
  export declare const executeOperation: unique symbol;
4
- export type QueryExecutionContext = {
5
- adapter: DatabaseAdapter;
3
+ export declare const runInTransaction: unique symbol;
4
+ export type QueryExecutionContext<dialect extends string = string> = {
5
+ capabilities: DatabaseCapabilities;
6
6
  now(): unknown;
7
- transaction<result>(callback: (database: Database) => Promise<result>): Promise<result>;
8
7
  [executeOperation](operation: DataManipulationOperation): Promise<DataManipulationResult>;
8
+ [runInTransaction]<result>(callback: (database: QueryExecutionContext<dialect>) => Promise<result>, options?: TransactionOptions): Promise<result>;
9
9
  };
10
10
  //# sourceMappingURL=execution-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"execution-context.d.ts","sourceRoot":"","sources":["../../../src/lib/database/execution-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EACzB,sBAAsB,EACtB,eAAe,EAChB,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAE9C,eAAO,MAAM,gBAAgB,eAA6B,CAAA;AAE1D,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,eAAe,CAAA;IACxB,GAAG,IAAI,OAAO,CAAA;IACd,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACvF,CAAC,gBAAgB,CAAC,CAAC,SAAS,EAAE,yBAAyB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAA;CAC1F,CAAA"}
1
+ {"version":3,"file":"execution-context.d.ts","sourceRoot":"","sources":["../../../src/lib/database/execution-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,yBAAyB,EACzB,sBAAsB,EACtB,kBAAkB,EACnB,MAAM,cAAc,CAAA;AAErB,eAAO,MAAM,gBAAgB,eAA6B,CAAA;AAC1D,eAAO,MAAM,gBAAgB,eAA6B,CAAA;AAE1D,MAAM,MAAM,qBAAqB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,IAAI;IACnE,YAAY,EAAE,oBAAoB,CAAA;IAClC,GAAG,IAAI,OAAO,CAAA;IACd,CAAC,gBAAgB,CAAC,CAAC,SAAS,EAAE,yBAAyB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAA;IACzF,CAAC,gBAAgB,CAAC,CAAC,MAAM,EACvB,QAAQ,EAAE,CAAC,QAAQ,EAAE,qBAAqB,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,EACvE,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,MAAM,CAAC,CAAA;CACnB,CAAA"}
@@ -1 +1,2 @@
1
1
  export const executeOperation = Symbol('executeOperation');
2
+ export const runInTransaction = Symbol('runInTransaction');
@@ -1,8 +1,8 @@
1
- import { DataTableQueryError } from "../errors.js";
2
- import { and, eq, inList, or } from "../operators.js";
3
- import { query as createQuery } from "../query.js";
4
- import { getPrimaryKeyObject, getTableName, getTablePrimaryKey } from "../table.js";
5
- import { loadRowsWithRelationsForQuery } from "./query-execution.js";
1
+ import { DataTableQueryError } from '../errors.js';
2
+ import { and, eq, inList, or } from '../operators.js';
3
+ import { query as createQuery } from '../query.js';
4
+ import { getPrimaryKeyObject, getTableName, getTablePrimaryKey } from '../table.js';
5
+ import { loadRowsWithRelationsForQuery } from './query-execution.js';
6
6
  export function asQueryTableInput(table) {
7
7
  return table;
8
8
  }
@@ -36,7 +36,7 @@ export function resolveCreateRowWhere(table, values, insertId) {
36
36
  if (!Object.prototype.hasOwnProperty.call(values, key)) {
37
37
  throw new DataTableQueryError('create({ returnRow: true }) requires primary key values for table "' +
38
38
  getTableName(table) +
39
- '" when adapter does not support RETURNING');
39
+ '" when the database does not support RETURNING');
40
40
  }
41
41
  where[key] = values[key];
42
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"query-execution.d.ts","sourceRoot":"","sources":["../../../src/lib/database/query-execution.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,QAAQ,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAG3C,OAAO,EAAoB,KAAK,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAmBrF,wBAAsB,YAAY,CAAC,KAAK,SAAS,QAAQ,EACvD,QAAQ,EAAE,qBAAqB,EAC/B,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CA0EtC;AAED,wBAAsB,6BAA6B,CACjD,QAAQ,EAAE,qBAAqB,EAC/B,KAAK,EAAE,QAAQ,GACd,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAGpC;AAED,wBAAsB,6BAA6B,CACjD,QAAQ,EAAE,qBAAqB,EAC/B,KAAK,EAAE,QAAQ,EACf,KAAK,EAAE,UAAU,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAUpC"}
1
+ {"version":3,"file":"query-execution.d.ts","sourceRoot":"","sources":["../../../src/lib/database/query-execution.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,QAAQ,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAG3C,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,wBAAwB,CAAA;AAmB/B,wBAAsB,YAAY,CAAC,KAAK,SAAS,QAAQ,EACvD,QAAQ,EAAE,qBAAqB,EAC/B,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CA0EtC;AAED,wBAAsB,6BAA6B,CACjD,QAAQ,EAAE,qBAAqB,EAC/B,KAAK,EAAE,QAAQ,GACd,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAGpC;AAED,wBAAsB,6BAA6B,CACjD,QAAQ,EAAE,qBAAqB,EAC/B,KAAK,EAAE,QAAQ,EACf,KAAK,EAAE,UAAU,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAUpC"}
@@ -1,11 +1,11 @@
1
- import { DataTableQueryError } from "../errors.js";
2
- import { normalizeWhereInput } from "../operators.js";
3
- import { cloneQueryState, querySnapshot } from "../query.js";
4
- import { getPrimaryKeyObject, getTableName } from "../table.js";
5
- import { executeOperation } from "./execution-context.js";
6
- import { buildPrimaryKeyPredicate, hasScopedWriteModifiers, loadPrimaryKeyRowsForScope, } from "./helpers.js";
7
- import { loadRelationsForRows } from "./relations.js";
8
- import { applyAfterReadHooksToLoadedRows, applyAfterReadHooksToRows, assertReturningCapability, normalizeReturningSelection, prepareInsertValues, prepareUpdateValues, runAfterDeleteHook, runAfterWriteHook, runBeforeDeleteHook, } from "./write-lifecycle.js";
1
+ import { DataTableQueryError } from '../errors.js';
2
+ import { normalizeWhereInput } from '../operators.js';
3
+ import { cloneQueryState, querySnapshot } from '../query.js';
4
+ import { getPrimaryKeyObject, getTableName } from '../table.js';
5
+ import { executeOperation, runInTransaction, } from './execution-context.js';
6
+ import { buildPrimaryKeyPredicate, hasScopedWriteModifiers, loadPrimaryKeyRowsForScope, } from './helpers.js';
7
+ import { loadRelationsForRows } from './relations.js';
8
+ import { applyAfterReadHooksToLoadedRows, applyAfterReadHooksToRows, assertReturningCapability, normalizeReturningSelection, prepareInsertValues, prepareUpdateValues, runAfterDeleteHook, runAfterWriteHook, runBeforeDeleteHook, } from './write-lifecycle.js';
9
9
  export async function executeQuery(database, input) {
10
10
  let snapshot = input[querySnapshot]();
11
11
  switch (snapshot.plan.kind) {
@@ -101,7 +101,7 @@ async function executeExists(database, table, state) {
101
101
  async function executeInsert(database, table, values, options) {
102
102
  let preparedValues = prepareInsertValues(table, values, database.now(), options?.touch ?? true);
103
103
  let returning = options?.returning;
104
- assertReturningCapability(database.adapter, 'insert', returning);
104
+ assertReturningCapability(database.capabilities, 'insert', returning);
105
105
  if (returning) {
106
106
  let operation = {
107
107
  kind: 'insert',
@@ -151,7 +151,7 @@ async function executeInsertMany(database, table, values, options) {
151
151
  throw new DataTableQueryError('insertMany() requires at least one explicit value across the batch');
152
152
  }
153
153
  let returning = options?.returning;
154
- assertReturningCapability(database.adapter, 'insertMany', returning);
154
+ assertReturningCapability(database.capabilities, 'insertMany', returning);
155
155
  if (returning) {
156
156
  let operation = {
157
157
  kind: 'insertMany',
@@ -195,14 +195,14 @@ async function executeInsertMany(database, table, values, options) {
195
195
  }
196
196
  async function executeUpdate(database, table, state, changes, options) {
197
197
  let returning = options?.returning;
198
- assertReturningCapability(database.adapter, 'update', returning);
198
+ assertReturningCapability(database.capabilities, 'update', returning);
199
199
  let preparedChanges = prepareUpdateValues(table, changes, database.now(), options?.touch ?? true);
200
200
  if (Object.keys(preparedChanges).length === 0) {
201
201
  throw new DataTableQueryError('update() requires at least one change');
202
202
  }
203
203
  let result;
204
204
  if (hasScopedWriteModifiers(state)) {
205
- result = await database.transaction(async (tx) => {
205
+ result = await database[runInTransaction](async (tx) => {
206
206
  let primaryKeys = await loadPrimaryKeyRowsForScope(tx, table, state);
207
207
  let primaryKeyPredicate = buildPrimaryKeyPredicate(table, primaryKeys);
208
208
  if (!primaryKeyPredicate) {
@@ -253,7 +253,7 @@ async function executeUpdate(database, table, state, changes, options) {
253
253
  }
254
254
  async function executeDelete(database, table, state, options) {
255
255
  let returning = options?.returning;
256
- assertReturningCapability(database.adapter, 'delete', returning);
256
+ assertReturningCapability(database.capabilities, 'delete', returning);
257
257
  let tableName = getTableName(table);
258
258
  let deleteContext = {
259
259
  tableName,
@@ -265,7 +265,7 @@ async function executeDelete(database, table, state, options) {
265
265
  runBeforeDeleteHook(table, deleteContext);
266
266
  let result;
267
267
  if (hasScopedWriteModifiers(state)) {
268
- result = await database.transaction(async (tx) => {
268
+ result = await database[runInTransaction](async (tx) => {
269
269
  let primaryKeys = await loadPrimaryKeyRowsForScope(tx, table, state);
270
270
  let primaryKeyPredicate = buildPrimaryKeyPredicate(table, primaryKeys);
271
271
  if (!primaryKeyPredicate) {
@@ -314,15 +314,15 @@ async function executeDelete(database, table, state, options) {
314
314
  };
315
315
  }
316
316
  async function executeUpsert(database, table, values, options) {
317
- if (!database.adapter.capabilities.upsert) {
318
- throw new DataTableQueryError('Adapter does not support upsert');
317
+ if (!database.capabilities.upsert) {
318
+ throw new DataTableQueryError('Database does not support upsert');
319
319
  }
320
320
  let preparedValues = prepareInsertValues(table, values, database.now(), options?.touch ?? true);
321
321
  let updateChanges = options?.update
322
322
  ? prepareUpdateValues(table, options.update, database.now(), options?.touch ?? true, 'create')
323
323
  : undefined;
324
324
  let returning = options?.returning;
325
- assertReturningCapability(database.adapter, 'upsert', returning);
325
+ assertReturningCapability(database.capabilities, 'upsert', returning);
326
326
  if (returning) {
327
327
  let operation = {
328
328
  kind: 'upsert',
@@ -1,8 +1,8 @@
1
- import { DataTableQueryError } from "../errors.js";
2
- import { and, eq, inList, or } from "../operators.js";
3
- import { query as createQuery } from "../query.js";
4
- import { getCompositeKey, getTableName, getTablePrimaryKey } from "../table.js";
5
- import { loadRowsWithRelationsForQuery } from "./query-execution.js";
1
+ import { DataTableQueryError } from '../errors.js';
2
+ import { and, eq, inList, or } from '../operators.js';
3
+ import { query as createQuery } from '../query.js';
4
+ import { getCompositeKey, getTableName, getTablePrimaryKey } from '../table.js';
5
+ import { loadRowsWithRelationsForQuery } from './query-execution.js';
6
6
  export async function loadRelationsForRows(database, sourceTable, rows, relationMap) {
7
7
  let output = rows.map((row) => ({ ...row }));
8
8
  let relationNames = Object.keys(relationMap);
@@ -1,4 +1,4 @@
1
- import type { DatabaseAdapter, ReturningSelection } from '../adapter.ts';
1
+ import type { DatabaseCapabilities, ReturningSelection } from '../driver.ts';
2
2
  import type { ReturningInput } from '../database.ts';
3
3
  import type { AnyRelation, AnyTable, TableAfterDeleteContext, TableAfterWriteContext, TableBeforeDeleteContext, TableRow, TableWriteOperation } from '../table.ts';
4
4
  export declare function prepareInsertValues<table extends AnyTable>(table: table, values: Partial<TableRow<table>>, now: unknown, touch: boolean): Record<string, unknown>;
@@ -8,6 +8,6 @@ export declare function applyAfterReadHooksToLoadedRows(table: AnyTable, rows: R
8
8
  export declare function runBeforeDeleteHook<table extends AnyTable>(table: table, context: TableBeforeDeleteContext): void;
9
9
  export declare function runAfterWriteHook<table extends AnyTable>(table: table, context: TableAfterWriteContext<TableRow<table>>): void;
10
10
  export declare function runAfterDeleteHook<table extends AnyTable>(table: table, context: TableAfterDeleteContext): void;
11
- export declare function assertReturningCapability<row extends Record<string, unknown>>(adapter: DatabaseAdapter, operation: 'insert' | 'insertMany' | 'update' | 'delete' | 'upsert', returning: ReturningInput<row> | undefined): void;
11
+ export declare function assertReturningCapability<row extends Record<string, unknown>>(capabilities: DatabaseCapabilities, operation: 'insert' | 'insertMany' | 'update' | 'delete' | 'upsert', returning: ReturningInput<row> | undefined): void;
12
12
  export declare function normalizeReturningSelection<row extends Record<string, unknown>>(returning: ReturningInput<row>): ReturningSelection;
13
13
  //# sourceMappingURL=write-lifecycle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"write-lifecycle.d.ts","sourceRoot":"","sources":["../../../src/lib/database/write-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAExE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EACV,WAAW,EACX,QAAQ,EACR,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,EAExB,QAAQ,EACR,mBAAmB,EAEpB,MAAM,aAAa,CAAA;AAqBpB,wBAAgB,mBAAmB,CAAC,KAAK,SAAS,QAAQ,EACxD,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAChC,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,OAAO,GACb,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAyBzB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,SAAS,QAAQ,EACxD,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAChC,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,OAAO,EACd,SAAS,GAAE,mBAA8B,GACxC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiBzB;AAED,wBAAgB,yBAAyB,CAAC,KAAK,SAAS,QAAQ,EAC9D,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAC9B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAoC3B;AAED,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,QAAQ,EACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC/B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GACvC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CA6C3B;AAED,wBAAgB,mBAAmB,CAAC,KAAK,SAAS,QAAQ,EACxD,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,wBAAwB,GAChC,IAAI,CA6BN;AAED,wBAAgB,iBAAiB,CAAC,KAAK,SAAS,QAAQ,EACtD,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAC/C,IAAI,CAcN;AAED,wBAAgB,kBAAkB,CAAC,KAAK,SAAS,QAAQ,EACvD,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,uBAAuB,GAC/B,IAAI,CASN;AAED,wBAAgB,yBAAyB,CAAC,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3E,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,QAAQ,GAAG,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,EACnE,SAAS,EAAE,cAAc,CAAC,GAAG,CAAC,GAAG,SAAS,GACzC,IAAI,CAIN;AAED,wBAAgB,2BAA2B,CAAC,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7E,SAAS,EAAE,cAAc,CAAC,GAAG,CAAC,GAC7B,kBAAkB,CAMpB"}
1
+ {"version":3,"file":"write-lifecycle.d.ts","sourceRoot":"","sources":["../../../src/lib/database/write-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAE5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EACV,WAAW,EACX,QAAQ,EACR,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,EAExB,QAAQ,EACR,mBAAmB,EAEpB,MAAM,aAAa,CAAA;AAqBpB,wBAAgB,mBAAmB,CAAC,KAAK,SAAS,QAAQ,EACxD,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAChC,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,OAAO,GACb,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAyBzB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,SAAS,QAAQ,EACxD,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAChC,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,OAAO,EACd,SAAS,GAAE,mBAA8B,GACxC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiBzB;AAED,wBAAgB,yBAAyB,CAAC,KAAK,SAAS,QAAQ,EAC9D,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAC9B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAoC3B;AAED,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,QAAQ,EACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC/B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GACvC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CA6C3B;AAED,wBAAgB,mBAAmB,CAAC,KAAK,SAAS,QAAQ,EACxD,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,wBAAwB,GAChC,IAAI,CA6BN;AAED,wBAAgB,iBAAiB,CAAC,KAAK,SAAS,QAAQ,EACtD,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAC/C,IAAI,CAcN;AAED,wBAAgB,kBAAkB,CAAC,KAAK,SAAS,QAAQ,EACvD,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,uBAAuB,GAC/B,IAAI,CASN;AAED,wBAAgB,yBAAyB,CAAC,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3E,YAAY,EAAE,oBAAoB,EAClC,SAAS,EAAE,QAAQ,GAAG,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,EACnE,SAAS,EAAE,cAAc,CAAC,GAAG,CAAC,GAAG,SAAS,GACzC,IAAI,CAIN;AAED,wBAAgB,2BAA2B,CAAC,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7E,SAAS,EAAE,cAAc,CAAC,GAAG,CAAC,GAC7B,kBAAkB,CAMpB"}
@@ -1,5 +1,5 @@
1
- import { DataTableQueryError, DataTableValidationError } from "../errors.js";
2
- import { getTableAfterDelete, getTableAfterRead, getTableAfterWrite, getTableBeforeDelete, getTableBeforeWrite, getTableColumns, getTableName, getTableTimestamps, getTableValidator, } from "../table.js";
1
+ import { DataTableQueryError, DataTableValidationError } from '../errors.js';
2
+ import { getTableAfterDelete, getTableAfterRead, getTableAfterWrite, getTableBeforeDelete, getTableBeforeWrite, getTableColumns, getTableName, getTableTimestamps, getTableValidator, } from '../table.js';
3
3
  export function prepareInsertValues(table, values, now, touch) {
4
4
  let output = validateWriteValues(table, values, 'create');
5
5
  let timestamps = getTableTimestamps(table);
@@ -125,9 +125,9 @@ export function runAfterDeleteHook(table, context) {
125
125
  let callbackResult = callback(context);
126
126
  assertSynchronousCallbackResult(context.tableName, 'delete', 'afterDelete', callbackResult);
127
127
  }
128
- export function assertReturningCapability(adapter, operation, returning) {
129
- if (returning && !adapter.capabilities.returning) {
130
- throw new DataTableQueryError(operation + '() returning is not supported by this adapter');
128
+ export function assertReturningCapability(capabilities, operation, returning) {
129
+ if (returning && !capabilities.returning) {
130
+ throw new DataTableQueryError(operation + '() returning is not supported by this database');
131
131
  }
132
132
  }
133
133
  export function normalizeReturningSelection(returning) {
@@ -1,8 +1,8 @@
1
- import type { ColumnDefinition, DataManipulationOperation, DataManipulationResult, DatabaseAdapter, TransactionOptions, TransactionToken } from './adapter.ts';
1
+ import type { ColumnDefinition, DataManipulationResult, DatabaseCapabilities, DatabaseDriver, TableRef, TransactionOptions } from './driver.ts';
2
2
  import type { ColumnBuilder } from './column.ts';
3
- import { executeOperation, type QueryExecutionContext } from './database/execution-context.ts';
4
3
  import type { AnyQuery, BoundQueryPhase, Query as QueryObject, QueryExecutionResult } from './query.ts';
5
4
  import type { ColumnInput, NormalizeColumnInput, TableMetadataLike } from './references.ts';
5
+ import type { DatabaseMigrateOptions, DatabaseMigrationStatusOptions, DatabaseResetOptions, MigrateResult, Migrations, MigrationStatusEntry } from './migrations.ts';
6
6
  import type { SqlStatement } from './sql.ts';
7
7
  import type { AnyRelation, AnyTable, LoadedRelationMap, OrderDirection, PrimaryKeyInput, TableName, TablePrimaryKey, TableRow, TableRowWith, TableValidate, tableMetadataKey, TimestampConfig } from './table.ts';
8
8
  import type { Pretty } from './types.ts';
@@ -179,28 +179,82 @@ export type CreateManyRowsOptions = {
179
179
  touch?: boolean;
180
180
  returnRows: true;
181
181
  };
182
- type SavepointCounter = {
183
- value: number;
184
- };
185
- type DatabaseOptions = {
182
+ /** Options shared by database instances. */
183
+ export interface DatabaseOptions {
184
+ /** Clock function used for auto-managed timestamps. */
186
185
  now?: () => unknown;
187
- };
188
- type DatabaseInternalState = {
189
- token?: TransactionToken;
190
- savepointCounter: SavepointCounter;
191
- };
192
- declare const createInternalDatabase: unique symbol;
186
+ }
193
187
  /**
194
- * High-level database runtime used to build and execute data manipulation operations.
188
+ * High-level database runtime used to query and manage a database.
195
189
  *
196
- * Create instances directly with `new Database(adapter, options)` or use
197
- * `createDatabase(adapter, options)` as a thin wrapper.
190
+ * Database dialects extend this class and provide a {@link DatabaseDriver} to the constructor.
191
+ * The driver owns SQL execution, transactions, and connection lifecycle while this class provides
192
+ * the shared query, persistence, and migration APIs.
198
193
  */
199
- export declare class Database implements QueryExecutionContext {
194
+ export declare class Database<dialect extends string = string> {
200
195
  #private;
201
- constructor(adapter: DatabaseAdapter, options?: DatabaseOptions);
202
- static [createInternalDatabase](adapter: DatabaseAdapter, options: DatabaseOptions | undefined, internal: DatabaseInternalState): Database;
203
- get adapter(): DatabaseAdapter;
196
+ /**
197
+ * Creates a database backed by a driver.
198
+ * @param driver Low-level database engine integration.
199
+ * @param options Database runtime options.
200
+ */
201
+ constructor(driver: DatabaseDriver<dialect>, options?: DatabaseOptions);
202
+ /** Stable identifier for the SQL dialect. */
203
+ get dialect(): dialect;
204
+ /** Immutable feature flags used by shared query and migration behavior. */
205
+ get capabilities(): DatabaseCapabilities;
206
+ /**
207
+ * Executes a migration or raw multi-statement SQL script.
208
+ * @param sql SQL script to execute.
209
+ * @returns A promise that resolves when execution completes.
210
+ */
211
+ executeScript(sql: string): Promise<void>;
212
+ /**
213
+ * Reports whether a table exists.
214
+ * @param table Table to inspect.
215
+ * @returns A promise that resolves to `true` when the table exists.
216
+ */
217
+ hasTable(table: TableRef): Promise<boolean>;
218
+ /**
219
+ * Reports whether a column exists on a table.
220
+ * @param table Table to inspect.
221
+ * @param column Column name to inspect.
222
+ * @returns A promise that resolves to `true` when the column exists.
223
+ */
224
+ hasColumn(table: TableRef, column: string): Promise<boolean>;
225
+ /**
226
+ * Closes resources owned by this database.
227
+ * @returns A promise that resolves when owned resources have been released.
228
+ */
229
+ close(): Promise<void>;
230
+ /**
231
+ * Destructively recreates the configured database.
232
+ * @returns A promise that resolves when the database is ready for use.
233
+ */
234
+ wipe(): Promise<void>;
235
+ /**
236
+ * Applies or reverts migrations in order.
237
+ *
238
+ * @param migrations Migration descriptors or registry to apply.
239
+ * @param options Migration direction, bound, dry-run, and journal configuration.
240
+ * @returns The migrations applied or reverted by this run and their SQL scripts.
241
+ */
242
+ migrate(migrations: Migrations, options?: DatabaseMigrateOptions): Promise<MigrateResult>;
243
+ /**
244
+ * Reports the current state of the provided migrations.
245
+ *
246
+ * @param migrations Migration descriptors or registry to inspect.
247
+ * @param options Migration journal configuration.
248
+ * @returns Status entries for the provided migrations.
249
+ */
250
+ migrationStatus(migrations: Migrations, options?: DatabaseMigrationStatusOptions): Promise<MigrationStatusEntry[]>;
251
+ /**
252
+ * Wipes the database, applies migrations, and optionally seeds data.
253
+ *
254
+ * @param options Migrations and optional seed function used to rebuild the database.
255
+ * @returns A promise that resolves when the database has been rebuilt.
256
+ */
257
+ reset(options: DatabaseResetOptions): Promise<void>;
204
258
  now(): unknown;
205
259
  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'>>;
206
260
  create<table extends AnyTable>(table: table, values: Partial<TableRow<table>>, options?: CreateResultOptions): Promise<WriteResult>;
@@ -219,46 +273,7 @@ export declare class Database implements QueryExecutionContext {
219
273
  deleteMany<table extends AnyTable>(table: table, options: DeleteManyOptions<table>): Promise<WriteResult>;
220
274
  exec(statement: string | SqlStatement, values?: unknown[]): Promise<DataManipulationResult>;
221
275
  exec<input extends AnyQuery>(input: input): Promise<QueryExecutionResult<input>>;
222
- transaction<result>(callback: (database: Database) => Promise<result>, options?: TransactionOptions): Promise<result>;
223
- [executeOperation](operation: DataManipulationOperation): Promise<DataManipulationResult>;
276
+ transaction<result>(callback: (database: Database<dialect>) => Promise<result>, options?: TransactionOptions): Promise<result>;
224
277
  }
225
- /**
226
- * Creates a database runtime from an adapter.
227
- * Thin wrapper around `new Database(adapter, options)`.
228
- * @param adapter Adapter implementation responsible for SQL execution.
229
- * @param options Optional runtime options.
230
- * @param options.now Clock function used for auto-managed timestamps.
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
- * ```
247
- */
248
- export declare function createDatabase(adapter: DatabaseAdapter, options?: {
249
- now?: () => unknown;
250
- }): Database;
251
- /**
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.
259
- */
260
- export declare function createDatabaseWithTransaction(adapter: DatabaseAdapter, token: TransactionToken, options?: {
261
- now?: () => unknown;
262
- }): Database;
263
278
  export {};
264
279
  //# 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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"}