@effect/sql-sqlite-bun 4.0.0-beta.70 → 4.0.0-beta.72

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.
@@ -35,7 +35,11 @@ export interface SqliteClient extends Client.SqlClient {
35
35
  readonly updateValues: never;
36
36
  }
37
37
  /**
38
- * Context tag used to access the Bun `SqliteClient` service.
38
+ * Service tag for the Bun SQLite client service.
39
+ *
40
+ * **When to use**
41
+ *
42
+ * Use to access or provide a Bun SQLite client through the Effect context.
39
43
  *
40
44
  * @category tags
41
45
  * @since 4.0.0
@@ -1 +1 @@
1
- {"version":3,"file":"SqliteClient.d.ts","sourceRoot":"","sources":["../src/SqliteClient.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC,OAAO,KAAK,UAAU,MAAM,uCAAuC,CAAA;AACnE,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAA;AAEvD,OAAO,EAAuB,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAQ5E;;;;;GAKG;AACH,eAAO,MAAM,MAAM,EAAE,MAA+C,CAAA;AAEpE;;;;;GAKG;AACH,MAAM,MAAM,MAAM,GAAG,sCAAsC,CAAA;AAE3D;;;;;GAKG;AACH,MAAM,WAAW,YAAa,SAAQ,MAAM,CAAC,SAAS;IACpD,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAA;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IACpD,QAAQ,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAEvE,8BAA8B;IAC9B,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAA;CAC7B;AAED;;;;;GAKG;AACH,eAAO,MAAM,YAAY,6CAAiE,CAAA;AAE1F;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAEzC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IAE7D,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,SAAS,CAAA;IACrE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,SAAS,CAAA;CACrE;AAOD;;;;;GAKG;AACH,eAAO,MAAM,IAAI,GACf,SAAS,kBAAkB,KAC1B,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,UAAU,CAsHrE,CAAA;AAEJ;;;;;GAKG;AACH,eAAO,MAAM,WAAW,GACtB,QAAQ,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,KACtC,KAAK,CAAC,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,CAUzB,CAAA;AAEzC;;;;;GAKG;AACH,eAAO,MAAM,KAAK,GAChB,QAAQ,kBAAkB,KACzB,KAAK,CAAC,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,SAAS,CAML,CAAA"}
1
+ {"version":3,"file":"SqliteClient.d.ts","sourceRoot":"","sources":["../src/SqliteClient.ts"],"names":[],"mappings":"AA+CA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC,OAAO,KAAK,UAAU,MAAM,uCAAuC,CAAA;AACnE,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAA;AAEvD,OAAO,EAAuB,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAQ5E;;;;;GAKG;AACH,eAAO,MAAM,MAAM,EAAE,MAA+C,CAAA;AAEpE;;;;;GAKG;AACH,MAAM,MAAM,MAAM,GAAG,sCAAsC,CAAA;AAE3D;;;;;GAKG;AACH,MAAM,WAAW,YAAa,SAAQ,MAAM,CAAC,SAAS;IACpD,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAA;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IACpD,QAAQ,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAEvE,8BAA8B;IAC9B,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAA;CAC7B;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,6CAAiE,CAAA;AAE1F;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAEzC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IAE7D,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,SAAS,CAAA;IACrE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,SAAS,CAAA;CACrE;AAOD;;;;;GAKG;AACH,eAAO,MAAM,IAAI,GACf,SAAS,kBAAkB,KAC1B,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,UAAU,CAsHrE,CAAA;AAEJ;;;;;GAKG;AACH,eAAO,MAAM,WAAW,GACtB,QAAQ,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,KACtC,KAAK,CAAC,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,CAUzB,CAAA;AAEzC;;;;;GAKG;AACH,eAAO,MAAM,KAAK,GAChB,QAAQ,kBAAkB,KACzB,KAAK,CAAC,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,SAAS,CAML,CAAA"}
@@ -1,20 +1,46 @@
1
1
  /**
2
2
  * Bun SQLite client implementation for Effect SQL, backed by `bun:sqlite`.
3
3
  *
4
- * This module provides constructors and layers for using a Bun-managed SQLite database as both the
5
- * SQLite-specific `SqliteClient` service and the generic `SqlClient` service. It is intended for
6
- * file-backed or in-memory databases in Bun applications, local development tools, migrations,
7
- * integration tests, and embedded persistence use cases that need Effect SQL query compilation plus
8
- * SQLite-specific helpers such as database export and native extension loading.
9
- *
10
- * Each client owns one scoped `bun:sqlite` `Database` handle and serializes access through it, which
11
- * is important because Bun executes SQLite statements synchronously. WAL mode is enabled by default,
12
- * so set `disableWAL` when opening read-only databases or when the database file or directory cannot
13
- * be updated with SQLite's WAL side files. A transaction holds the serialized connection permit for
14
- * the transaction scope, so concurrent fibers using the same client wait until it completes, while
15
- * separate database handles or processes can still contend for SQLite write locks. Safe integer
16
- * handling follows the `SqlClient` fiber-local setting, `executeStream` is not implemented, and
17
- * SQLite does not support `updateValues`.
4
+ * This module provides the Bun-specific SQLite driver used by Effect SQL. It
5
+ * can create a scoped {@link SqliteClient} directly with {@link make}, or
6
+ * provide both the SQLite-specific client and the generic `SqlClient` service
7
+ * with {@link layer} or {@link layerConfig}. It is intended for Bun
8
+ * applications, local tools, migrations, integration tests, and embedded
9
+ * persistence that use file-backed or in-memory SQLite databases.
10
+ *
11
+ * ## Mental model
12
+ *
13
+ * A client owns one scoped `bun:sqlite` `Database` handle. Because Bun's SQLite
14
+ * API executes statements synchronously, this implementation serializes access
15
+ * to that handle. A transaction keeps the serialized connection permit for the
16
+ * transaction scope, so other fibers using the same client wait until the
17
+ * transaction completes.
18
+ *
19
+ * The client uses the Effect SQL statement compiler and result-name transforms,
20
+ * then adds SQLite-specific capabilities such as database export and native
21
+ * extension loading.
22
+ *
23
+ * ## Common tasks
24
+ *
25
+ * - Use {@link layer} when a Bun service should provide both `SqliteClient` and
26
+ * the generic `SqlClient` from a concrete configuration.
27
+ * - Use {@link layerConfig} when the filename or open flags should come from
28
+ * Effect `Config`.
29
+ * - Use {@link make} inside a custom scoped layer when the surrounding runtime
30
+ * needs to manage the client lifecycle explicitly.
31
+ * - Use `client.export` to serialize the database, or `client.loadExtension` to
32
+ * load a native SQLite extension.
33
+ *
34
+ * ## Gotchas
35
+ *
36
+ * WAL mode is enabled by default. Set `disableWAL` for read-only databases or
37
+ * when the database file or directory cannot be updated with SQLite WAL side
38
+ * files. Separate database handles or processes can still contend for SQLite
39
+ * write locks even though access through a single client is serialized.
40
+ *
41
+ * Safe integer handling follows the generic `SqlClient` fiber-local setting.
42
+ * `executeStream` is not implemented for this driver, and SQLite does not
43
+ * support `updateValues`.
18
44
  *
19
45
  * @since 4.0.0
20
46
  */
@@ -45,7 +71,11 @@ const classifyError = (cause, message, operation) => classifySqliteError(cause,
45
71
  */
46
72
  export const TypeId = "~@effect/sql-sqlite-bun/SqliteClient";
47
73
  /**
48
- * Context tag used to access the Bun `SqliteClient` service.
74
+ * Service tag for the Bun SQLite client service.
75
+ *
76
+ * **When to use**
77
+ *
78
+ * Use to access or provide a Bun SQLite client through the Effect context.
49
79
  *
50
80
  * @category tags
51
81
  * @since 4.0.0
@@ -1 +1 @@
1
- {"version":3,"file":"SqliteClient.js","names":["Database","Config","Context","Effect","Fiber","identity","Layer","Scope","Semaphore","Stream","Reactivity","Client","classifySqliteError","SqlError","Statement","ATTR_DB_SYSTEM_NAME","classifyError","cause","message","operation","TypeId","SqliteClient","Service","make","options","gen","compiler","makeCompilerSqlite","transformQueryNames","transformRows","transformResultNames","defaultTransforms","array","undefined","makeConnection","db","filename","readonly","readwrite","create","addFinalizer","sync","close","disableWAL","run","sql","params","withFiber","fiber","statement","query","useSafeIntegers","get","context","SafeIntegers","safeIntegers","succeed","all","fail","reason","runValues","values","execute","map","executeRaw","executeValues","executeUnprepared","executeStream","_sql","_params","die","export","try","serialize","catch","loadExtension","path","semaphore","connection","acquirer","withPermits","transactionAcquirer","uninterruptibleMask","restore","getCurrent","scope","getUnsafe","as","tap","take","release","Object","assign","spanAttributes","entries","config","flatMap","_","layerConfig","effectContext","unwrap","pipe","client","add","SqlClient","provide","layer"],"sources":["../src/SqliteClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SqliteClient.js","names":["Database","Config","Context","Effect","Fiber","identity","Layer","Scope","Semaphore","Stream","Reactivity","Client","classifySqliteError","SqlError","Statement","ATTR_DB_SYSTEM_NAME","classifyError","cause","message","operation","TypeId","SqliteClient","Service","make","options","gen","compiler","makeCompilerSqlite","transformQueryNames","transformRows","transformResultNames","defaultTransforms","array","undefined","makeConnection","db","filename","readonly","readwrite","create","addFinalizer","sync","close","disableWAL","run","sql","params","withFiber","fiber","statement","query","useSafeIntegers","get","context","SafeIntegers","safeIntegers","succeed","all","fail","reason","runValues","values","execute","map","executeRaw","executeValues","executeUnprepared","executeStream","_sql","_params","die","export","try","serialize","catch","loadExtension","path","semaphore","connection","acquirer","withPermits","transactionAcquirer","uninterruptibleMask","restore","getCurrent","scope","getUnsafe","as","tap","take","release","Object","assign","spanAttributes","entries","config","flatMap","_","layerConfig","effectContext","unwrap","pipe","client","add","SqlClient","provide","layer"],"sources":["../src/SqliteClient.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CA,SAASA,QAAQ,QAAQ,YAAY;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,SAASC,QAAQ,QAAQ,iBAAiB;AAC1C,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,SAAS,MAAM,kBAAkB;AAC7C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,UAAU,MAAM,uCAAuC;AACnE,OAAO,KAAKC,MAAM,MAAM,+BAA+B;AAEvD,SAASC,mBAAmB,EAAEC,QAAQ,QAAQ,8BAA8B;AAC5E,OAAO,KAAKC,SAAS,MAAM,+BAA+B;AAE1D,MAAMC,mBAAmB,GAAG,gBAAgB;AAE5C,MAAMC,aAAa,GAAGA,CAACC,KAAc,EAAEC,OAAe,EAAEC,SAAiB,KACvEP,mBAAmB,CAACK,KAAK,EAAE;EAAEC,OAAO;EAAEC;AAAS,CAAE,CAAC;AAEpD;;;;;;AAMA,OAAO,MAAMC,MAAM,GAAW,sCAAsC;AA0BpE;;;;;;;;;;AAUA,OAAO,MAAMC,YAAY,gBAAGnB,OAAO,CAACoB,OAAO,CAAe,+BAA+B,CAAC;AA0B1F;;;;;;AAMA,OAAO,MAAMC,IAAI,GACfC,OAA2B,IAE3BrB,MAAM,CAACsB,GAAG,CAAC,aAAS;EAClB,MAAMC,QAAQ,GAAGZ,SAAS,CAACa,kBAAkB,CAACH,OAAO,CAACI,mBAAmB,CAAC;EAC1E,MAAMC,aAAa,GAAGL,OAAO,CAACM,oBAAoB,GAChDhB,SAAS,CAACiB,iBAAiB,CACzBP,OAAO,CAACM,oBAAoB,CAC7B,CAACE,KAAK,GACPC,SAAS;EAEX,MAAMC,cAAc,GAAG/B,MAAM,CAACsB,GAAG,CAAC,aAAS;IACzC,MAAMU,EAAE,GAAG,IAAInC,QAAQ,CAACwB,OAAO,CAACY,QAAQ,EAAE;MACxCC,QAAQ,EAAEb,OAAO,CAACa,QAAQ;MAC1BC,SAAS,EAAEd,OAAO,CAACc,SAAS,IAAI,IAAI;MACpCC,MAAM,EAAEf,OAAO,CAACe,MAAM,IAAI;KACpB,CAAC;IACT,OAAOpC,MAAM,CAACqC,YAAY,CAAC,MAAMrC,MAAM,CAACsC,IAAI,CAAC,MAAMN,EAAE,CAACO,KAAK,EAAE,CAAC,CAAC;IAE/D,IAAIlB,OAAO,CAACmB,UAAU,KAAK,IAAI,EAAE;MAC/BR,EAAE,CAACS,GAAG,CAAC,4BAA4B,CAAC;IACtC;IAEA,MAAMA,GAAG,GAAGA,CACVC,GAAW,EACXC,MAAA,GAAiC,EAAE,KAEnC3C,MAAM,CAAC4C,SAAS,CAAwBC,KAAK,IAAI;MAC/C,MAAMC,SAAS,GAAGd,EAAE,CAACe,KAAK,CAACL,GAAG,CAAC;MAC/B,MAAMM,eAAe,GAAGjD,OAAO,CAACkD,GAAG,CAACJ,KAAK,CAACK,OAAO,EAAE1C,MAAM,CAAC2C,YAAY,CAAC;MACvE;MACAL,SAAS,CAACM,YAAY,CAACJ,eAAe,CAAC;MACvC,IAAI;QACF,OAAOhD,MAAM,CAACqD,OAAO,CAAEP,SAAS,CAACQ,GAAG,CAAC,GAAIX,MAAc,CAAC,IAAI,EAAiB,CAAC;MAChF,CAAC,CAAC,OAAO7B,KAAK,EAAE;QACd,OAAOd,MAAM,CAACuD,IAAI,CAAC,IAAI7C,QAAQ,CAAC;UAAE8C,MAAM,EAAE3C,aAAa,CAACC,KAAK,EAAE,6BAA6B,EAAE,SAAS;QAAC,CAAE,CAAC,CAAC;MAC9G;IACF,CAAC,CAAC;IAEJ,MAAM2C,SAAS,GAAGA,CAChBf,GAAW,EACXC,MAAA,GAAiC,EAAE,KAEnC3C,MAAM,CAAC4C,SAAS,CAAwBC,KAAK,IAAI;MAC/C,MAAMC,SAAS,GAAGd,EAAE,CAACe,KAAK,CAACL,GAAG,CAAC;MAC/B,MAAMM,eAAe,GAAGjD,OAAO,CAACkD,GAAG,CAACJ,KAAK,CAACK,OAAO,EAAE1C,MAAM,CAAC2C,YAAY,CAAC;MACvE;MACAL,SAAS,CAACM,YAAY,CAACJ,eAAe,CAAC;MACvC,IAAI;QACF,OAAOhD,MAAM,CAACqD,OAAO,CAAEP,SAAS,CAACY,MAAM,CAAC,GAAIf,MAAc,CAAC,IAAI,EAAiB,CAAC;MACnF,CAAC,CAAC,OAAO7B,KAAK,EAAE;QACd,OAAOd,MAAM,CAACuD,IAAI,CAAC,IAAI7C,QAAQ,CAAC;UAAE8C,MAAM,EAAE3C,aAAa,CAACC,KAAK,EAAE,6BAA6B,EAAE,SAAS;QAAC,CAAE,CAAC,CAAC;MAC9G;IACF,CAAC,CAAC;IAEJ,OAAOZ,QAAQ,CAAmB;MAChCyD,OAAOA,CAACjB,GAAG,EAAEC,MAAM,EAAEjB,aAAa;QAChC,OAAOA,aAAa,GAChB1B,MAAM,CAAC4D,GAAG,CAACnB,GAAG,CAACC,GAAG,EAAEC,MAAM,CAAC,EAAEjB,aAAa,CAAC,GAC3Ce,GAAG,CAACC,GAAG,EAAEC,MAAM,CAAC;MACtB,CAAC;MACDkB,UAAUA,CAACnB,GAAG,EAAEC,MAAM;QACpB,OAAOF,GAAG,CAACC,GAAG,EAAEC,MAAM,CAAC;MACzB,CAAC;MACDmB,aAAaA,CAACpB,GAAG,EAAEC,MAAM;QACvB,OAAOc,SAAS,CAACf,GAAG,EAAEC,MAAM,CAAC;MAC/B,CAAC;MACDoB,iBAAiBA,CAACrB,GAAG,EAAEC,MAAM,EAAEjB,aAAa;QAC1C,OAAO,IAAI,CAACiC,OAAO,CAACjB,GAAG,EAAEC,MAAM,EAAEjB,aAAa,CAAC;MACjD,CAAC;MACDsC,aAAaA,CAACC,IAAI,EAAEC,OAAO;QACzB,OAAO5D,MAAM,CAAC6D,GAAG,CAAC,+BAA+B,CAAC;MACpD,CAAC;MACDC,MAAM,EAAEpE,MAAM,CAACqE,GAAG,CAAC;QACjBA,GAAG,EAAEA,CAAA,KAAMrC,EAAE,CAACsC,SAAS,EAAE;QACzBC,KAAK,EAAGzD,KAAK,IAAK,IAAIJ,QAAQ,CAAC;UAAE8C,MAAM,EAAE3C,aAAa,CAACC,KAAK,EAAE,2BAA2B,EAAE,QAAQ;QAAC,CAAE;OACvG,CAAC;MACF0D,aAAa,EAAGC,IAAI,IAClBzE,MAAM,CAACqE,GAAG,CAAC;QACTA,GAAG,EAAEA,CAAA,KAAMrC,EAAE,CAACwC,aAAa,CAACC,IAAI,CAAC;QACjCF,KAAK,EAAGzD,KAAK,IACX,IAAIJ,QAAQ,CAAC;UAAE8C,MAAM,EAAE3C,aAAa,CAACC,KAAK,EAAE,0BAA0B,EAAE,eAAe;QAAC,CAAE;OAC7F;KACJ,CAAC;EACJ,CAAC,CAAC;EAEF,MAAM4D,SAAS,GAAG,OAAOrE,SAAS,CAACe,IAAI,CAAC,CAAC,CAAC;EAC1C,MAAMuD,UAAU,GAAG,OAAO5C,cAAc;EAExC,MAAM6C,QAAQ,GAAGF,SAAS,CAACG,WAAW,CAAC,CAAC,CAAC,CAAC7E,MAAM,CAACqD,OAAO,CAACsB,UAAU,CAAC,CAAC;EACrE,MAAMG,mBAAmB,GAAG9E,MAAM,CAAC+E,mBAAmB,CAAEC,OAAO,IAAI;IACjE,MAAMnC,KAAK,GAAG5C,KAAK,CAACgF,UAAU,EAAG;IACjC,MAAMC,KAAK,GAAGnF,OAAO,CAACoF,SAAS,CAACtC,KAAK,CAACK,OAAO,EAAE9C,KAAK,CAACA,KAAK,CAAC;IAC3D,OAAOJ,MAAM,CAACoF,EAAE,CACdpF,MAAM,CAACqF,GAAG,CACRL,OAAO,CAACN,SAAS,CAACY,IAAI,CAAC,CAAC,CAAC,CAAC,EAC1B,MAAMlF,KAAK,CAACiC,YAAY,CAAC6C,KAAK,EAAER,SAAS,CAACa,OAAO,CAAC,CAAC,CAAC,CAAC,CACtD,EACDZ,UAAU,CACX;EACH,CAAC,CAAC;EAEF,OAAOa,MAAM,CAACC,MAAM,CACjB,OAAOjF,MAAM,CAACY,IAAI,CAAC;IAClBwD,QAAQ;IACRrD,QAAQ;IACRuD,mBAAmB;IACnBY,cAAc,EAAE,CACd,IAAIrE,OAAO,CAACqE,cAAc,GAAGF,MAAM,CAACG,OAAO,CAACtE,OAAO,CAACqE,cAAc,CAAC,GAAG,EAAE,CAAC,EACzE,CAAC9E,mBAAmB,EAAE,QAAQ,CAAC,CAChC;IACDc;GACD,CAAC,EACF;IACE,CAACT,MAAM,GAAGA,MAAgB;IAC1B2E,MAAM,EAAEvE,OAAO;IACf+C,MAAM,EAAEpE,MAAM,CAAC6F,OAAO,CAACjB,QAAQ,EAAGkB,CAAC,IAAKA,CAAC,CAAC1B,MAAM,CAAC;IACjDI,aAAa,EAAGC,IAAY,IAAKzE,MAAM,CAAC6F,OAAO,CAACjB,QAAQ,EAAGkB,CAAC,IAAKA,CAAC,CAACtB,aAAa,CAACC,IAAI,CAAC;GACvF,CACF;AACH,CAAC,CAAC;AAEJ;;;;;;AAMA,OAAO,MAAMsB,WAAW,GACtBH,MAAuC,IAEvCzF,KAAK,CAAC6F,aAAa,CACjBlG,MAAM,CAACmG,MAAM,CAACL,MAAM,CAAC,CAACM,IAAI,CACxBlG,MAAM,CAAC6F,OAAO,CAACzE,IAAI,CAAC,EACpBpB,MAAM,CAAC4D,GAAG,CAAEuC,MAAM,IAChBpG,OAAO,CAACqB,IAAI,CAACF,YAAY,EAAEiF,MAAM,CAAC,CAACD,IAAI,CACrCnG,OAAO,CAACqG,GAAG,CAAC5F,MAAM,CAAC6F,SAAS,EAAEF,MAAM,CAAC,CACtC,CACF,CACF,CACF,CAACD,IAAI,CAAC/F,KAAK,CAACmG,OAAO,CAAC/F,UAAU,CAACgG,KAAK,CAAC,CAAC;AAEzC;;;;;;AAMA,OAAO,MAAMA,KAAK,GAChBX,MAA0B,IAE1BzF,KAAK,CAAC6F,aAAa,CACjBhG,MAAM,CAAC4D,GAAG,CAACxC,IAAI,CAACwE,MAAM,CAAC,EAAGO,MAAM,IAC9BpG,OAAO,CAACqB,IAAI,CAACF,YAAY,EAAEiF,MAAM,CAAC,CAACD,IAAI,CACrCnG,OAAO,CAACqG,GAAG,CAAC5F,MAAM,CAAC6F,SAAS,EAAEF,MAAM,CAAC,CACtC,CAAC,CACL,CAACD,IAAI,CAAC/F,KAAK,CAACmG,OAAO,CAAC/F,UAAU,CAACgG,KAAK,CAAC,CAAC","ignoreList":[]}
package/dist/index.d.ts CHANGED
@@ -2,47 +2,10 @@
2
2
  * @since 4.0.0
3
3
  */
4
4
  /**
5
- * Bun SQLite client implementation for Effect SQL, backed by `bun:sqlite`.
6
- *
7
- * This module provides constructors and layers for using a Bun-managed SQLite database as both the
8
- * SQLite-specific `SqliteClient` service and the generic `SqlClient` service. It is intended for
9
- * file-backed or in-memory databases in Bun applications, local development tools, migrations,
10
- * integration tests, and embedded persistence use cases that need Effect SQL query compilation plus
11
- * SQLite-specific helpers such as database export and native extension loading.
12
- *
13
- * Each client owns one scoped `bun:sqlite` `Database` handle and serializes access through it, which
14
- * is important because Bun executes SQLite statements synchronously. WAL mode is enabled by default,
15
- * so set `disableWAL` when opening read-only databases or when the database file or directory cannot
16
- * be updated with SQLite's WAL side files. A transaction holds the serialized connection permit for
17
- * the transaction scope, so concurrent fibers using the same client wait until it completes, while
18
- * separate database handles or processes can still contend for SQLite write locks. Safe integer
19
- * handling follows the `SqlClient` fiber-local setting, `executeStream` is not implemented, and
20
- * SQLite does not support `updateValues`.
21
- *
22
5
  * @since 4.0.0
23
6
  */
24
7
  export * as SqliteClient from "./SqliteClient.ts";
25
8
  /**
26
- * Utilities for applying Effect SQL migrations to Bun SQLite databases.
27
- *
28
- * This module re-exports the shared `Migrator` loaders and error types, then
29
- * provides `run` and `layer` helpers for applying ordered migrations through
30
- * the current Bun-backed SQLite `SqlClient`. It is typically used at
31
- * application startup, in deployment or setup scripts that prepare a local
32
- * SQLite file, in integration tests with temporary database files, or in layer
33
- * graphs that must install the schema before dependent services are acquired.
34
- *
35
- * Migrations are recorded in `effect_sql_migrations` by default and are loaded
36
- * using the shared `<id>_<name>` file or record-key convention. Only migrations
37
- * with an id greater than the latest recorded id are applied, so every client
38
- * involved in startup should point at the same SQLite filename and use a
39
- * writable Bun SQLite configuration. The Bun client enables WAL by default and
40
- * serializes access through a single `bun:sqlite` database handle, but separate
41
- * handles or processes can still contend for SQLite write locks. Bun's SQLite
42
- * driver runs statements synchronously, so large migration sets can block the
43
- * invoking runtime thread, and this adapter does not currently write SQLite
44
- * schema dumps for `schemaDirectory`.
45
- *
46
9
  * @since 4.0.0
47
10
  */
48
11
  export * as SqliteMigrator from "./SqliteMigrator.ts";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAEjD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAEjD;;GAEG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA"}
package/dist/index.js CHANGED
@@ -3,47 +3,10 @@
3
3
  */
4
4
  // @barrel: Auto-generated exports. Do not edit manually.
5
5
  /**
6
- * Bun SQLite client implementation for Effect SQL, backed by `bun:sqlite`.
7
- *
8
- * This module provides constructors and layers for using a Bun-managed SQLite database as both the
9
- * SQLite-specific `SqliteClient` service and the generic `SqlClient` service. It is intended for
10
- * file-backed or in-memory databases in Bun applications, local development tools, migrations,
11
- * integration tests, and embedded persistence use cases that need Effect SQL query compilation plus
12
- * SQLite-specific helpers such as database export and native extension loading.
13
- *
14
- * Each client owns one scoped `bun:sqlite` `Database` handle and serializes access through it, which
15
- * is important because Bun executes SQLite statements synchronously. WAL mode is enabled by default,
16
- * so set `disableWAL` when opening read-only databases or when the database file or directory cannot
17
- * be updated with SQLite's WAL side files. A transaction holds the serialized connection permit for
18
- * the transaction scope, so concurrent fibers using the same client wait until it completes, while
19
- * separate database handles or processes can still contend for SQLite write locks. Safe integer
20
- * handling follows the `SqlClient` fiber-local setting, `executeStream` is not implemented, and
21
- * SQLite does not support `updateValues`.
22
- *
23
6
  * @since 4.0.0
24
7
  */
25
8
  export * as SqliteClient from "./SqliteClient.js";
26
9
  /**
27
- * Utilities for applying Effect SQL migrations to Bun SQLite databases.
28
- *
29
- * This module re-exports the shared `Migrator` loaders and error types, then
30
- * provides `run` and `layer` helpers for applying ordered migrations through
31
- * the current Bun-backed SQLite `SqlClient`. It is typically used at
32
- * application startup, in deployment or setup scripts that prepare a local
33
- * SQLite file, in integration tests with temporary database files, or in layer
34
- * graphs that must install the schema before dependent services are acquired.
35
- *
36
- * Migrations are recorded in `effect_sql_migrations` by default and are loaded
37
- * using the shared `<id>_<name>` file or record-key convention. Only migrations
38
- * with an id greater than the latest recorded id are applied, so every client
39
- * involved in startup should point at the same SQLite filename and use a
40
- * writable Bun SQLite configuration. The Bun client enables WAL by default and
41
- * serializes access through a single `bun:sqlite` database handle, but separate
42
- * handles or processes can still contend for SQLite write locks. Bun's SQLite
43
- * driver runs statements synchronously, so large migration sets can block the
44
- * invoking runtime thread, and this adapter does not currently write SQLite
45
- * schema dumps for `schemaDirectory`.
46
- *
47
10
  * @since 4.0.0
48
11
  */
49
12
  export * as SqliteMigrator from "./SqliteMigrator.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["SqliteClient","SqliteMigrator"],"sources":["../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAIA;AAEA;;;;;;;;;;;;;;;;;;;;AAoBA,OAAO,KAAKA,YAAY,MAAM,mBAAmB;AAEjD;;;;;;;;;;;;;;;;;;;;;;;AAuBA,OAAO,KAAKC,cAAc,MAAM,qBAAqB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["SqliteClient","SqliteMigrator"],"sources":["../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAIA;AAEA;;;AAGA,OAAO,KAAKA,YAAY,MAAM,mBAAmB;AAEjD;;;AAGA,OAAO,KAAKC,cAAc,MAAM,qBAAqB","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/sql-sqlite-bun",
3
- "version": "4.0.0-beta.70",
3
+ "version": "4.0.0-beta.72",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "description": "A SQLite toolkit for Effect",
@@ -44,11 +44,11 @@
44
44
  },
45
45
  "devDependencies": {
46
46
  "@types/bun": "^1.3.13",
47
- "@effect/platform-bun": "^4.0.0-beta.70",
48
- "effect": "^4.0.0-beta.70"
47
+ "@effect/platform-bun": "^4.0.0-beta.72",
48
+ "effect": "^4.0.0-beta.72"
49
49
  },
50
50
  "peerDependencies": {
51
- "effect": "^4.0.0-beta.70"
51
+ "effect": "^4.0.0-beta.72"
52
52
  },
53
53
  "scripts": {
54
54
  "codegen": "effect-utils codegen",
@@ -1,20 +1,46 @@
1
1
  /**
2
2
  * Bun SQLite client implementation for Effect SQL, backed by `bun:sqlite`.
3
3
  *
4
- * This module provides constructors and layers for using a Bun-managed SQLite database as both the
5
- * SQLite-specific `SqliteClient` service and the generic `SqlClient` service. It is intended for
6
- * file-backed or in-memory databases in Bun applications, local development tools, migrations,
7
- * integration tests, and embedded persistence use cases that need Effect SQL query compilation plus
8
- * SQLite-specific helpers such as database export and native extension loading.
4
+ * This module provides the Bun-specific SQLite driver used by Effect SQL. It
5
+ * can create a scoped {@link SqliteClient} directly with {@link make}, or
6
+ * provide both the SQLite-specific client and the generic `SqlClient` service
7
+ * with {@link layer} or {@link layerConfig}. It is intended for Bun
8
+ * applications, local tools, migrations, integration tests, and embedded
9
+ * persistence that use file-backed or in-memory SQLite databases.
9
10
  *
10
- * Each client owns one scoped `bun:sqlite` `Database` handle and serializes access through it, which
11
- * is important because Bun executes SQLite statements synchronously. WAL mode is enabled by default,
12
- * so set `disableWAL` when opening read-only databases or when the database file or directory cannot
13
- * be updated with SQLite's WAL side files. A transaction holds the serialized connection permit for
14
- * the transaction scope, so concurrent fibers using the same client wait until it completes, while
15
- * separate database handles or processes can still contend for SQLite write locks. Safe integer
16
- * handling follows the `SqlClient` fiber-local setting, `executeStream` is not implemented, and
17
- * SQLite does not support `updateValues`.
11
+ * ## Mental model
12
+ *
13
+ * A client owns one scoped `bun:sqlite` `Database` handle. Because Bun's SQLite
14
+ * API executes statements synchronously, this implementation serializes access
15
+ * to that handle. A transaction keeps the serialized connection permit for the
16
+ * transaction scope, so other fibers using the same client wait until the
17
+ * transaction completes.
18
+ *
19
+ * The client uses the Effect SQL statement compiler and result-name transforms,
20
+ * then adds SQLite-specific capabilities such as database export and native
21
+ * extension loading.
22
+ *
23
+ * ## Common tasks
24
+ *
25
+ * - Use {@link layer} when a Bun service should provide both `SqliteClient` and
26
+ * the generic `SqlClient` from a concrete configuration.
27
+ * - Use {@link layerConfig} when the filename or open flags should come from
28
+ * Effect `Config`.
29
+ * - Use {@link make} inside a custom scoped layer when the surrounding runtime
30
+ * needs to manage the client lifecycle explicitly.
31
+ * - Use `client.export` to serialize the database, or `client.loadExtension` to
32
+ * load a native SQLite extension.
33
+ *
34
+ * ## Gotchas
35
+ *
36
+ * WAL mode is enabled by default. Set `disableWAL` for read-only databases or
37
+ * when the database file or directory cannot be updated with SQLite WAL side
38
+ * files. Separate database handles or processes can still contend for SQLite
39
+ * write locks even though access through a single client is serialized.
40
+ *
41
+ * Safe integer handling follows the generic `SqlClient` fiber-local setting.
42
+ * `executeStream` is not implemented for this driver, and SQLite does not
43
+ * support `updateValues`.
18
44
  *
19
45
  * @since 4.0.0
20
46
  */
@@ -72,7 +98,11 @@ export interface SqliteClient extends Client.SqlClient {
72
98
  }
73
99
 
74
100
  /**
75
- * Context tag used to access the Bun `SqliteClient` service.
101
+ * Service tag for the Bun SQLite client service.
102
+ *
103
+ * **When to use**
104
+ *
105
+ * Use to access or provide a Bun SQLite client through the Effect context.
76
106
  *
77
107
  * @category tags
78
108
  * @since 4.0.0
package/src/index.ts CHANGED
@@ -5,48 +5,11 @@
5
5
  // @barrel: Auto-generated exports. Do not edit manually.
6
6
 
7
7
  /**
8
- * Bun SQLite client implementation for Effect SQL, backed by `bun:sqlite`.
9
- *
10
- * This module provides constructors and layers for using a Bun-managed SQLite database as both the
11
- * SQLite-specific `SqliteClient` service and the generic `SqlClient` service. It is intended for
12
- * file-backed or in-memory databases in Bun applications, local development tools, migrations,
13
- * integration tests, and embedded persistence use cases that need Effect SQL query compilation plus
14
- * SQLite-specific helpers such as database export and native extension loading.
15
- *
16
- * Each client owns one scoped `bun:sqlite` `Database` handle and serializes access through it, which
17
- * is important because Bun executes SQLite statements synchronously. WAL mode is enabled by default,
18
- * so set `disableWAL` when opening read-only databases or when the database file or directory cannot
19
- * be updated with SQLite's WAL side files. A transaction holds the serialized connection permit for
20
- * the transaction scope, so concurrent fibers using the same client wait until it completes, while
21
- * separate database handles or processes can still contend for SQLite write locks. Safe integer
22
- * handling follows the `SqlClient` fiber-local setting, `executeStream` is not implemented, and
23
- * SQLite does not support `updateValues`.
24
- *
25
8
  * @since 4.0.0
26
9
  */
27
10
  export * as SqliteClient from "./SqliteClient.ts"
28
11
 
29
12
  /**
30
- * Utilities for applying Effect SQL migrations to Bun SQLite databases.
31
- *
32
- * This module re-exports the shared `Migrator` loaders and error types, then
33
- * provides `run` and `layer` helpers for applying ordered migrations through
34
- * the current Bun-backed SQLite `SqlClient`. It is typically used at
35
- * application startup, in deployment or setup scripts that prepare a local
36
- * SQLite file, in integration tests with temporary database files, or in layer
37
- * graphs that must install the schema before dependent services are acquired.
38
- *
39
- * Migrations are recorded in `effect_sql_migrations` by default and are loaded
40
- * using the shared `<id>_<name>` file or record-key convention. Only migrations
41
- * with an id greater than the latest recorded id are applied, so every client
42
- * involved in startup should point at the same SQLite filename and use a
43
- * writable Bun SQLite configuration. The Bun client enables WAL by default and
44
- * serializes access through a single `bun:sqlite` database handle, but separate
45
- * handles or processes can still contend for SQLite write locks. Bun's SQLite
46
- * driver runs statements synchronously, so large migration sets can block the
47
- * invoking runtime thread, and this adapter does not currently write SQLite
48
- * schema dumps for `schemaDirectory`.
49
- *
50
13
  * @since 4.0.0
51
14
  */
52
15
  export * as SqliteMigrator from "./SqliteMigrator.ts"