@dxos/sql-sqlite 0.0.0 → 0.8.4-main.59c2e9b

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 (92) hide show
  1. package/dist/lib/browser/OpfsWorker.mjs +8 -0
  2. package/dist/lib/browser/OpfsWorker.mjs.map +7 -0
  3. package/dist/lib/browser/SqlExport.mjs +8 -0
  4. package/dist/lib/browser/SqlExport.mjs.map +7 -0
  5. package/dist/lib/browser/SqlTransaction.mjs +17 -0
  6. package/dist/lib/browser/SqlTransaction.mjs.map +7 -0
  7. package/dist/lib/browser/SqliteClient.mjs +26 -0
  8. package/dist/lib/browser/SqliteClient.mjs.map +7 -0
  9. package/dist/lib/browser/SqliteMigrator.mjs +22 -0
  10. package/dist/lib/browser/SqliteMigrator.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-FIQQSOZM.mjs +9 -0
  12. package/dist/lib/browser/chunk-FIQQSOZM.mjs.map +7 -0
  13. package/dist/lib/browser/chunk-IEP6GGEX.mjs +23 -0
  14. package/dist/lib/browser/chunk-IEP6GGEX.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-QH6DIOHW.mjs +310 -0
  16. package/dist/lib/browser/chunk-QH6DIOHW.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-S6DY53DJ.mjs +24 -0
  18. package/dist/lib/browser/chunk-S6DY53DJ.mjs.map +7 -0
  19. package/dist/lib/browser/chunk-YGAFWXGL.mjs +93 -0
  20. package/dist/lib/browser/chunk-YGAFWXGL.mjs.map +7 -0
  21. package/dist/lib/browser/index.mjs +16 -0
  22. package/dist/lib/browser/index.mjs.map +7 -0
  23. package/dist/lib/browser/meta.json +1 -0
  24. package/dist/lib/browser/platform/browser.mjs +24 -0
  25. package/dist/lib/browser/platform/browser.mjs.map +7 -0
  26. package/dist/lib/browser/platform/bun.mjs +23 -0
  27. package/dist/lib/browser/platform/bun.mjs.map +7 -0
  28. package/dist/lib/browser/platform/node.mjs +23 -0
  29. package/dist/lib/browser/platform/node.mjs.map +7 -0
  30. package/dist/lib/node-esm/OpfsWorker.mjs +9 -0
  31. package/dist/lib/node-esm/OpfsWorker.mjs.map +7 -0
  32. package/dist/lib/node-esm/SqlExport.mjs +9 -0
  33. package/dist/lib/node-esm/SqlExport.mjs.map +7 -0
  34. package/dist/lib/node-esm/SqlTransaction.mjs +18 -0
  35. package/dist/lib/node-esm/SqlTransaction.mjs.map +7 -0
  36. package/dist/lib/node-esm/SqliteClient.mjs +27 -0
  37. package/dist/lib/node-esm/SqliteClient.mjs.map +7 -0
  38. package/dist/lib/node-esm/SqliteMigrator.mjs +23 -0
  39. package/dist/lib/node-esm/SqliteMigrator.mjs.map +7 -0
  40. package/dist/lib/node-esm/chunk-2SZHAWBN.mjs +24 -0
  41. package/dist/lib/node-esm/chunk-2SZHAWBN.mjs.map +7 -0
  42. package/dist/lib/node-esm/chunk-B2CW3GJX.mjs +11 -0
  43. package/dist/lib/node-esm/chunk-B2CW3GJX.mjs.map +7 -0
  44. package/dist/lib/node-esm/chunk-JHEN2PHZ.mjs +25 -0
  45. package/dist/lib/node-esm/chunk-JHEN2PHZ.mjs.map +7 -0
  46. package/dist/lib/node-esm/chunk-JOE7MZKS.mjs +94 -0
  47. package/dist/lib/node-esm/chunk-JOE7MZKS.mjs.map +7 -0
  48. package/dist/lib/node-esm/chunk-L52WOGD2.mjs +311 -0
  49. package/dist/lib/node-esm/chunk-L52WOGD2.mjs.map +7 -0
  50. package/dist/lib/node-esm/index.mjs +17 -0
  51. package/dist/lib/node-esm/index.mjs.map +7 -0
  52. package/dist/lib/node-esm/meta.json +1 -0
  53. package/dist/lib/node-esm/platform/browser.mjs +25 -0
  54. package/dist/lib/node-esm/platform/browser.mjs.map +7 -0
  55. package/dist/lib/node-esm/platform/bun.mjs +24 -0
  56. package/dist/lib/node-esm/platform/bun.mjs.map +7 -0
  57. package/dist/lib/node-esm/platform/node.mjs +24 -0
  58. package/dist/lib/node-esm/platform/node.mjs.map +7 -0
  59. package/dist/types/src/OpfsWorker.d.ts +2 -0
  60. package/dist/types/src/OpfsWorker.d.ts.map +1 -0
  61. package/dist/types/src/SqlExport.d.ts +11 -0
  62. package/dist/types/src/SqlExport.d.ts.map +1 -0
  63. package/dist/types/src/SqlTransaction.d.ts +33 -0
  64. package/dist/types/src/SqlTransaction.d.ts.map +1 -0
  65. package/dist/types/src/SqliteClient.d.ts +2 -0
  66. package/dist/types/src/SqliteClient.d.ts.map +1 -0
  67. package/dist/types/src/SqliteMigrator.d.ts +2 -0
  68. package/dist/types/src/SqliteMigrator.d.ts.map +1 -0
  69. package/dist/types/src/index.d.ts +5 -0
  70. package/dist/types/src/index.d.ts.map +1 -0
  71. package/dist/types/src/platform/browser.d.ts +9 -0
  72. package/dist/types/src/platform/browser.d.ts.map +1 -0
  73. package/dist/types/src/platform/bun.d.ts +9 -0
  74. package/dist/types/src/platform/bun.d.ts.map +1 -0
  75. package/dist/types/src/platform/node.d.ts +9 -0
  76. package/dist/types/src/platform/node.d.ts.map +1 -0
  77. package/dist/types/src/testing/opfs-worker.browser.test.d.ts +2 -0
  78. package/dist/types/src/testing/opfs-worker.browser.test.d.ts.map +1 -0
  79. package/dist/types/src/testing/opfs-worker.d.ts +2 -0
  80. package/dist/types/src/testing/opfs-worker.d.ts.map +1 -0
  81. package/dist/types/src/testing/sqlite-effect-idb.browser.test.d.ts +28 -0
  82. package/dist/types/src/testing/sqlite-effect-idb.browser.test.d.ts.map +1 -0
  83. package/dist/types/src/testing/sqlite-idb.browser.test.d.ts +2 -0
  84. package/dist/types/src/testing/sqlite-idb.browser.test.d.ts.map +1 -0
  85. package/dist/types/src/testing/sqlite-memory.browser.test.d.ts +2 -0
  86. package/dist/types/src/testing/sqlite-memory.browser.test.d.ts.map +1 -0
  87. package/dist/types/tsconfig.tsbuildinfo +1 -0
  88. package/package.json +10 -1
  89. package/src/SqlTransaction.ts +44 -0
  90. package/src/platform/browser.ts +11 -10
  91. package/src/platform/bun.ts +11 -10
  92. package/src/platform/node.ts +11 -10
package/package.json CHANGED
@@ -1,9 +1,13 @@
1
1
  {
2
2
  "name": "@dxos/sql-sqlite",
3
- "version": "0.0.0",
3
+ "version": "0.8.4-main.59c2e9b",
4
4
  "description": "Sqlite client",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/dxos/dxos"
10
+ },
7
11
  "license": "MIT",
8
12
  "author": "info@dxos.org",
9
13
  "sideEffects": true,
@@ -39,6 +43,11 @@
39
43
  "types": "./dist/types/src/SqlExport.d.ts",
40
44
  "browser": "./dist/lib/browser/SqlExport.mjs",
41
45
  "node": "./dist/lib/node-esm/SqlExport.mjs"
46
+ },
47
+ "./SqlTransaction": {
48
+ "types": "./dist/types/src/SqlTransaction.d.ts",
49
+ "browser": "./dist/lib/browser/SqlTransaction.mjs",
50
+ "node": "./dist/lib/node-esm/SqlTransaction.mjs"
42
51
  }
43
52
  },
44
53
  "files": [
@@ -0,0 +1,44 @@
1
+ //
2
+ // Copyright 2026 DXOS.org
3
+ //
4
+
5
+ import * as SqlClient from '@effect/sql/SqlClient';
6
+ import type * as SqlError from '@effect/sql/SqlError';
7
+ import * as Context from 'effect/Context';
8
+ import * as Effect from 'effect/Effect';
9
+ import * as Layer from 'effect/Layer';
10
+
11
+ export interface Service {
12
+ withTransaction: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E | SqlError.SqlError, R>;
13
+ }
14
+
15
+ /**
16
+ * Provide a SQL transaction context.
17
+ *
18
+ * Should be used instead of SqlClient.withTransaction() or SQL native transaction syntaxes (e.g. `BEGIN; COMMIT;`).
19
+ *
20
+ * Platform runtimes (e.g. edge, Durable Objects) can provide alternative implementations by supplying a custom
21
+ * `SqlTransaction` layer.
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * const transaction = yield* SqlTransaction;
26
+ * yield* transaction.withTransaction(Effect.gen(function* () {
27
+ * yield* sql.execute('SELECT * FROM users');
28
+ * }));
29
+ * ```
30
+ */
31
+ export class SqlTransaction extends Context.Tag('@dxos/sql-sqlite/SqlTransaction')<SqlTransaction, Service>() {}
32
+
33
+ /**
34
+ * Default `SqlTransaction` layer backed by `SqlClient.withTransaction`.
35
+ */
36
+ export const layer: Layer.Layer<SqlTransaction, never, SqlClient.SqlClient> = Layer.effect(
37
+ SqlTransaction,
38
+ Effect.map(
39
+ SqlClient.SqlClient,
40
+ (sql: SqlClient.SqlClient): Context.Tag.Service<SqlTransaction> => ({
41
+ withTransaction: (self) => sql.withTransaction(self),
42
+ }),
43
+ ),
44
+ );
@@ -11,17 +11,18 @@ import * as Layer from 'effect/Layer';
11
11
 
12
12
  import * as SqlExport from '../SqlExport';
13
13
 
14
- const sqlExportBrowser: Layer.Layer<SqlExport.SqlExport, SqlError.SqlError, SqliteClient.SqliteClient> = Layer.effect(
15
- SqlExport.SqlExport,
16
- Effect.gen(function* () {
17
- const sql = yield* SqliteClient.SqliteClient;
18
- return {
19
- export: sql.export,
20
- } satisfies SqlExport.Service;
21
- }),
22
- );
14
+ export const sqlExportLayer: Layer.Layer<SqlExport.SqlExport, SqlError.SqlError, SqliteClient.SqliteClient> =
15
+ Layer.effect(
16
+ SqlExport.SqlExport,
17
+ Effect.gen(function* () {
18
+ const sql = yield* SqliteClient.SqliteClient;
19
+ return {
20
+ export: sql.export,
21
+ } satisfies SqlExport.Service;
22
+ }),
23
+ );
23
24
 
24
25
  export const layerMemory: Layer.Layer<
25
26
  SqlClient.SqlClient | SqlExport.SqlExport,
26
27
  ConfigError.ConfigError | SqlError.SqlError
27
- > = sqlExportBrowser.pipe(Layer.provideMerge(SqliteClient.layerMemory({})));
28
+ > = sqlExportLayer.pipe(Layer.provideMerge(SqliteClient.layerMemory({})));
@@ -11,20 +11,21 @@ import * as Layer from 'effect/Layer';
11
11
 
12
12
  import * as SqlExport from '../SqlExport';
13
13
 
14
- const sqlExportBun: Layer.Layer<SqlExport.SqlExport, SqlError.SqlError, SqliteClient.SqliteClient> = Layer.effect(
15
- SqlExport.SqlExport,
16
- Effect.gen(function* () {
17
- const sql = yield* SqliteClient.SqliteClient;
18
- return {
19
- export: sql.export,
20
- } satisfies SqlExport.Service;
21
- }),
22
- );
14
+ export const sqlExportLayer: Layer.Layer<SqlExport.SqlExport, SqlError.SqlError, SqliteClient.SqliteClient> =
15
+ Layer.effect(
16
+ SqlExport.SqlExport,
17
+ Effect.gen(function* () {
18
+ const sql = yield* SqliteClient.SqliteClient;
19
+ return {
20
+ export: sql.export,
21
+ } satisfies SqlExport.Service;
22
+ }),
23
+ );
23
24
 
24
25
  export const layerMemory: Layer.Layer<
25
26
  SqlClient.SqlClient | SqliteClient.SqliteClient | SqlExport.SqlExport,
26
27
  ConfigError.ConfigError | SqlError.SqlError
27
- > = sqlExportBun.pipe(
28
+ > = sqlExportLayer.pipe(
28
29
  Layer.provideMerge(
29
30
  SqliteClient.layer({
30
31
  filename: ':memory:',
@@ -11,20 +11,21 @@ import * as Layer from 'effect/Layer';
11
11
 
12
12
  import * as SqlExport from '../SqlExport';
13
13
 
14
- const sqlExportNode: Layer.Layer<SqlExport.SqlExport, SqlError.SqlError, SqliteClient.SqliteClient> = Layer.effect(
15
- SqlExport.SqlExport,
16
- Effect.gen(function* () {
17
- const sql = yield* SqliteClient.SqliteClient;
18
- return {
19
- export: sql.export,
20
- } satisfies SqlExport.Service;
21
- }),
22
- );
14
+ export const sqlExportLayer: Layer.Layer<SqlExport.SqlExport, SqlError.SqlError, SqliteClient.SqliteClient> =
15
+ Layer.effect(
16
+ SqlExport.SqlExport,
17
+ Effect.gen(function* () {
18
+ const sql = yield* SqliteClient.SqliteClient;
19
+ return {
20
+ export: sql.export,
21
+ } satisfies SqlExport.Service;
22
+ }),
23
+ );
23
24
 
24
25
  export const layerMemory: Layer.Layer<
25
26
  SqlClient.SqlClient | SqliteClient.SqliteClient,
26
27
  ConfigError.ConfigError | SqlError.SqlError
27
- > = sqlExportNode.pipe(
28
+ > = sqlExportLayer.pipe(
28
29
  Layer.provideMerge(
29
30
  SqliteClient.layer({
30
31
  filename: ':memory:',