@effect/sql-sqlite-bun 0.21.12 → 0.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/SqliteClient.js +11 -13
- package/dist/cjs/SqliteClient.js.map +1 -1
- package/dist/dts/SqliteClient.d.ts +2 -1
- package/dist/dts/SqliteClient.d.ts.map +1 -1
- package/dist/esm/SqliteClient.js +11 -13
- package/dist/esm/SqliteClient.js.map +1 -1
- package/package.json +3 -3
- package/src/SqliteClient.ts +19 -20
package/dist/cjs/SqliteClient.js
CHANGED
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.make = exports.layerConfig = exports.layer = exports.TypeId = exports.SqliteClient = void 0;
|
|
7
|
+
var Reactivity = _interopRequireWildcard(require("@effect/experimental/Reactivity"));
|
|
7
8
|
var Client = _interopRequireWildcard(require("@effect/sql/SqlClient"));
|
|
8
9
|
var _SqlError = require("@effect/sql/SqlError");
|
|
9
10
|
var Statement = _interopRequireWildcard(require("@effect/sql/Statement"));
|
|
@@ -37,7 +38,7 @@ const SqliteClient = exports.SqliteClient = /*#__PURE__*/Context.GenericTag("@ef
|
|
|
37
38
|
*/
|
|
38
39
|
const make = options => Effect.gen(function* (_) {
|
|
39
40
|
const compiler = Statement.makeCompilerSqlite(options.transformQueryNames);
|
|
40
|
-
const transformRows = Statement.defaultTransforms(options.transformResultNames).array;
|
|
41
|
+
const transformRows = options.transformResultNames ? Statement.defaultTransforms(options.transformResultNames).array : undefined;
|
|
41
42
|
const makeConnection = Effect.gen(function* (_) {
|
|
42
43
|
const db = new _bunSqlite.Database(options.filename, {
|
|
43
44
|
readonly: options.readonly,
|
|
@@ -55,7 +56,6 @@ const make = options => Effect.gen(function* (_) {
|
|
|
55
56
|
message: "Failed to execute statement"
|
|
56
57
|
})
|
|
57
58
|
});
|
|
58
|
-
const runTransform = options.transformResultNames ? (sql, params) => Effect.map(run(sql, params), transformRows) : run;
|
|
59
59
|
const runValues = (sql, params = []) => Effect.try({
|
|
60
60
|
try: () => db.query(sql).values(...params) ?? [],
|
|
61
61
|
catch: cause => new _SqlError.SqlError({
|
|
@@ -64,8 +64,8 @@ const make = options => Effect.gen(function* (_) {
|
|
|
64
64
|
})
|
|
65
65
|
});
|
|
66
66
|
return (0, _Function.identity)({
|
|
67
|
-
execute(sql, params) {
|
|
68
|
-
return
|
|
67
|
+
execute(sql, params, transformRows) {
|
|
68
|
+
return transformRows ? Effect.map(run(sql, params), transformRows) : run(sql, params);
|
|
69
69
|
},
|
|
70
70
|
executeRaw(sql, params) {
|
|
71
71
|
return run(sql, params);
|
|
@@ -73,11 +73,8 @@ const make = options => Effect.gen(function* (_) {
|
|
|
73
73
|
executeValues(sql, params) {
|
|
74
74
|
return runValues(sql, params);
|
|
75
75
|
},
|
|
76
|
-
|
|
77
|
-
return
|
|
78
|
-
},
|
|
79
|
-
executeUnprepared(sql, params) {
|
|
80
|
-
return runTransform(sql, params);
|
|
76
|
+
executeUnprepared(sql, params, transformRows) {
|
|
77
|
+
return this.execute(sql, params, transformRows);
|
|
81
78
|
},
|
|
82
79
|
executeStream(_sql, _params) {
|
|
83
80
|
return Effect.dieMessage("executeStream not implemented");
|
|
@@ -102,11 +99,12 @@ const make = options => Effect.gen(function* (_) {
|
|
|
102
99
|
const connection = yield* _(makeConnection);
|
|
103
100
|
const acquirer = semaphore.withPermits(1)(Effect.succeed(connection));
|
|
104
101
|
const transactionAcquirer = Effect.uninterruptibleMask(restore => Effect.as(Effect.zipRight(restore(semaphore.take(1)), Effect.tap(Effect.scope, scope => Scope.addFinalizer(scope, semaphore.release(1)))), connection));
|
|
105
|
-
return Object.assign(Client.make({
|
|
102
|
+
return Object.assign(yield* Client.make({
|
|
106
103
|
acquirer,
|
|
107
104
|
compiler,
|
|
108
105
|
transactionAcquirer,
|
|
109
|
-
spanAttributes: [...(options.spanAttributes ? Object.entries(options.spanAttributes) : []), [Otel.SEMATTRS_DB_SYSTEM, Otel.DBSYSTEMVALUES_SQLITE]]
|
|
106
|
+
spanAttributes: [...(options.spanAttributes ? Object.entries(options.spanAttributes) : []), [Otel.SEMATTRS_DB_SYSTEM, Otel.DBSYSTEMVALUES_SQLITE]],
|
|
107
|
+
transformRows
|
|
110
108
|
}), {
|
|
111
109
|
[TypeId]: TypeId,
|
|
112
110
|
config: options,
|
|
@@ -119,12 +117,12 @@ const make = options => Effect.gen(function* (_) {
|
|
|
119
117
|
* @since 1.0.0
|
|
120
118
|
*/
|
|
121
119
|
exports.make = make;
|
|
122
|
-
const layerConfig = config => Layer.scopedContext(Config.unwrap(config).pipe(Effect.flatMap(make), Effect.map(client => Context.make(SqliteClient, client).pipe(Context.add(Client.SqlClient, client)))));
|
|
120
|
+
const layerConfig = config => Layer.scopedContext(Config.unwrap(config).pipe(Effect.flatMap(make), Effect.map(client => Context.make(SqliteClient, client).pipe(Context.add(Client.SqlClient, client))))).pipe(Layer.provide(Reactivity.layer));
|
|
123
121
|
/**
|
|
124
122
|
* @category layers
|
|
125
123
|
* @since 1.0.0
|
|
126
124
|
*/
|
|
127
125
|
exports.layerConfig = layerConfig;
|
|
128
|
-
const layer = config => Layer.scopedContext(Effect.map(make(config), client => Context.make(SqliteClient, client).pipe(Context.add(Client.SqlClient, client))));
|
|
126
|
+
const layer = config => Layer.scopedContext(Effect.map(make(config), client => Context.make(SqliteClient, client).pipe(Context.add(Client.SqlClient, client)))).pipe(Layer.provide(Reactivity.layer));
|
|
129
127
|
exports.layer = layer;
|
|
130
128
|
//# sourceMappingURL=SqliteClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SqliteClient.js","names":["
|
|
1
|
+
{"version":3,"file":"SqliteClient.js","names":["Reactivity","_interopRequireWildcard","require","Client","_SqlError","Statement","Otel","_bunSqlite","Config","Context","Effect","_Function","Layer","Scope","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TypeId","exports","Symbol","for","SqliteClient","GenericTag","make","options","gen","_","compiler","makeCompilerSqlite","transformQueryNames","transformRows","transformResultNames","defaultTransforms","array","undefined","makeConnection","db","Database","filename","readonly","readwrite","create","addFinalizer","sync","close","disableWAL","run","sql","params","try","query","all","catch","cause","SqlError","message","runValues","values","identity","execute","map","executeRaw","executeValues","executeUnprepared","executeStream","_sql","_params","dieMessage","export","serialize","loadExtension","path","semaphore","makeSemaphore","connection","acquirer","withPermits","succeed","transactionAcquirer","uninterruptibleMask","restore","as","zipRight","take","tap","scope","release","assign","spanAttributes","entries","SEMATTRS_DB_SYSTEM","DBSYSTEMVALUES_SQLITE","config","flatMap","layerConfig","scopedContext","unwrap","pipe","client","add","SqlClient","provide","layer"],"sources":["../../src/SqliteClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @since 1.0.0
|
|
3
3
|
*/
|
|
4
|
+
import * as Reactivity from "@effect/experimental/Reactivity";
|
|
4
5
|
import * as Client from "@effect/sql/SqlClient";
|
|
5
6
|
import { SqlError } from "@effect/sql/SqlError";
|
|
6
7
|
import * as Config from "effect/Config";
|
|
@@ -54,7 +55,7 @@ export interface SqliteClientConfig {
|
|
|
54
55
|
* @category constructor
|
|
55
56
|
* @since 1.0.0
|
|
56
57
|
*/
|
|
57
|
-
export declare const make: (options: SqliteClientConfig) => Effect.Effect<SqliteClient, never, Scope.Scope>;
|
|
58
|
+
export declare const make: (options: SqliteClientConfig) => Effect.Effect<SqliteClient, never, Scope.Scope | Reactivity.Reactivity>;
|
|
58
59
|
/**
|
|
59
60
|
* @category layers
|
|
60
61
|
* @since 1.0.0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SqliteClient.d.ts","sourceRoot":"","sources":["../../src/SqliteClient.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAE/C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAI/C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,OAAO,MAA0D,CAAA;AAEtF;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAA;AAElC;;;GAGG;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;;;GAGG;AACH,eAAO,MAAM,YAAY,yCAAoE,CAAA;AAE7F;;;GAGG;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;;;GAGG;AACH,eAAO,MAAM,IAAI,YACN,kBAAkB,KAC1B,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"SqliteClient.d.ts","sourceRoot":"","sources":["../../src/SqliteClient.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iCAAiC,CAAA;AAC7D,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAE/C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAI/C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,OAAO,MAA0D,CAAA;AAEtF;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAA;AAElC;;;GAGG;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;;;GAGG;AACH,eAAO,MAAM,YAAY,yCAAoE,CAAA;AAE7F;;;GAGG;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;;;GAGG;AACH,eAAO,MAAM,IAAI,YACN,kBAAkB,KAC1B,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,UAAU,CAwGrE,CAAA;AAEJ;;;GAGG;AACH,eAAO,MAAM,WAAW,WACd,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAC7C,KAAK,CAAC,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,SAAS,EAAE,WAAW,CAUlB,CAAA;AAEzC;;;GAGG;AACH,eAAO,MAAM,KAAK,WACR,kBAAkB,KACzB,KAAK,CAAC,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,SAAS,EAAE,WAAW,CAMlB,CAAA"}
|
package/dist/esm/SqliteClient.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @since 1.0.0
|
|
3
3
|
*/
|
|
4
|
+
import * as Reactivity from "@effect/experimental/Reactivity";
|
|
4
5
|
import * as Client from "@effect/sql/SqlClient";
|
|
5
6
|
import { SqlError } from "@effect/sql/SqlError";
|
|
6
7
|
import * as Statement from "@effect/sql/Statement";
|
|
@@ -28,7 +29,7 @@ export const SqliteClient = /*#__PURE__*/Context.GenericTag("@effect/sql-sqlite-
|
|
|
28
29
|
*/
|
|
29
30
|
export const make = options => Effect.gen(function* (_) {
|
|
30
31
|
const compiler = Statement.makeCompilerSqlite(options.transformQueryNames);
|
|
31
|
-
const transformRows = Statement.defaultTransforms(options.transformResultNames).array;
|
|
32
|
+
const transformRows = options.transformResultNames ? Statement.defaultTransforms(options.transformResultNames).array : undefined;
|
|
32
33
|
const makeConnection = Effect.gen(function* (_) {
|
|
33
34
|
const db = new Database(options.filename, {
|
|
34
35
|
readonly: options.readonly,
|
|
@@ -46,7 +47,6 @@ export const make = options => Effect.gen(function* (_) {
|
|
|
46
47
|
message: "Failed to execute statement"
|
|
47
48
|
})
|
|
48
49
|
});
|
|
49
|
-
const runTransform = options.transformResultNames ? (sql, params) => Effect.map(run(sql, params), transformRows) : run;
|
|
50
50
|
const runValues = (sql, params = []) => Effect.try({
|
|
51
51
|
try: () => db.query(sql).values(...params) ?? [],
|
|
52
52
|
catch: cause => new SqlError({
|
|
@@ -55,8 +55,8 @@ export const make = options => Effect.gen(function* (_) {
|
|
|
55
55
|
})
|
|
56
56
|
});
|
|
57
57
|
return identity({
|
|
58
|
-
execute(sql, params) {
|
|
59
|
-
return
|
|
58
|
+
execute(sql, params, transformRows) {
|
|
59
|
+
return transformRows ? Effect.map(run(sql, params), transformRows) : run(sql, params);
|
|
60
60
|
},
|
|
61
61
|
executeRaw(sql, params) {
|
|
62
62
|
return run(sql, params);
|
|
@@ -64,11 +64,8 @@ export const make = options => Effect.gen(function* (_) {
|
|
|
64
64
|
executeValues(sql, params) {
|
|
65
65
|
return runValues(sql, params);
|
|
66
66
|
},
|
|
67
|
-
|
|
68
|
-
return
|
|
69
|
-
},
|
|
70
|
-
executeUnprepared(sql, params) {
|
|
71
|
-
return runTransform(sql, params);
|
|
67
|
+
executeUnprepared(sql, params, transformRows) {
|
|
68
|
+
return this.execute(sql, params, transformRows);
|
|
72
69
|
},
|
|
73
70
|
executeStream(_sql, _params) {
|
|
74
71
|
return Effect.dieMessage("executeStream not implemented");
|
|
@@ -93,11 +90,12 @@ export const make = options => Effect.gen(function* (_) {
|
|
|
93
90
|
const connection = yield* _(makeConnection);
|
|
94
91
|
const acquirer = semaphore.withPermits(1)(Effect.succeed(connection));
|
|
95
92
|
const transactionAcquirer = Effect.uninterruptibleMask(restore => Effect.as(Effect.zipRight(restore(semaphore.take(1)), Effect.tap(Effect.scope, scope => Scope.addFinalizer(scope, semaphore.release(1)))), connection));
|
|
96
|
-
return Object.assign(Client.make({
|
|
93
|
+
return Object.assign(yield* Client.make({
|
|
97
94
|
acquirer,
|
|
98
95
|
compiler,
|
|
99
96
|
transactionAcquirer,
|
|
100
|
-
spanAttributes: [...(options.spanAttributes ? Object.entries(options.spanAttributes) : []), [Otel.SEMATTRS_DB_SYSTEM, Otel.DBSYSTEMVALUES_SQLITE]]
|
|
97
|
+
spanAttributes: [...(options.spanAttributes ? Object.entries(options.spanAttributes) : []), [Otel.SEMATTRS_DB_SYSTEM, Otel.DBSYSTEMVALUES_SQLITE]],
|
|
98
|
+
transformRows
|
|
101
99
|
}), {
|
|
102
100
|
[TypeId]: TypeId,
|
|
103
101
|
config: options,
|
|
@@ -109,10 +107,10 @@ export const make = options => Effect.gen(function* (_) {
|
|
|
109
107
|
* @category layers
|
|
110
108
|
* @since 1.0.0
|
|
111
109
|
*/
|
|
112
|
-
export const layerConfig = config => Layer.scopedContext(Config.unwrap(config).pipe(Effect.flatMap(make), Effect.map(client => Context.make(SqliteClient, client).pipe(Context.add(Client.SqlClient, client)))));
|
|
110
|
+
export const layerConfig = config => Layer.scopedContext(Config.unwrap(config).pipe(Effect.flatMap(make), Effect.map(client => Context.make(SqliteClient, client).pipe(Context.add(Client.SqlClient, client))))).pipe(Layer.provide(Reactivity.layer));
|
|
113
111
|
/**
|
|
114
112
|
* @category layers
|
|
115
113
|
* @since 1.0.0
|
|
116
114
|
*/
|
|
117
|
-
export const layer = config => Layer.scopedContext(Effect.map(make(config), client => Context.make(SqliteClient, client).pipe(Context.add(Client.SqlClient, client))));
|
|
115
|
+
export const layer = config => Layer.scopedContext(Effect.map(make(config), client => Context.make(SqliteClient, client).pipe(Context.add(Client.SqlClient, client)))).pipe(Layer.provide(Reactivity.layer));
|
|
118
116
|
//# sourceMappingURL=SqliteClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SqliteClient.js","names":["Client","SqlError","Statement","Otel","Database","Config","Context","Effect","identity","Layer","Scope","TypeId","Symbol","for","SqliteClient","GenericTag","make","options","gen","_","compiler","makeCompilerSqlite","transformQueryNames","transformRows","
|
|
1
|
+
{"version":3,"file":"SqliteClient.js","names":["Reactivity","Client","SqlError","Statement","Otel","Database","Config","Context","Effect","identity","Layer","Scope","TypeId","Symbol","for","SqliteClient","GenericTag","make","options","gen","_","compiler","makeCompilerSqlite","transformQueryNames","transformRows","transformResultNames","defaultTransforms","array","undefined","makeConnection","db","filename","readonly","readwrite","create","addFinalizer","sync","close","disableWAL","run","sql","params","try","query","all","catch","cause","message","runValues","values","execute","map","executeRaw","executeValues","executeUnprepared","executeStream","_sql","_params","dieMessage","export","serialize","loadExtension","path","semaphore","makeSemaphore","connection","acquirer","withPermits","succeed","transactionAcquirer","uninterruptibleMask","restore","as","zipRight","take","tap","scope","release","Object","assign","spanAttributes","entries","SEMATTRS_DB_SYSTEM","DBSYSTEMVALUES_SQLITE","config","flatMap","layerConfig","scopedContext","unwrap","pipe","client","add","SqlClient","provide","layer"],"sources":["../../src/SqliteClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/sql-sqlite-bun",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.22.0",
|
|
4
4
|
"description": "A SQLite toolkit for Effect",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
"@opentelemetry/semantic-conventions": "^1.25.1"
|
|
14
14
|
},
|
|
15
15
|
"peerDependencies": {
|
|
16
|
-
"@effect/platform": "^0.69.
|
|
17
|
-
"@effect/sql": "^0.
|
|
16
|
+
"@effect/platform": "^0.69.29",
|
|
17
|
+
"@effect/sql": "^0.21.0",
|
|
18
18
|
"effect": "^3.10.19"
|
|
19
19
|
},
|
|
20
20
|
"publishConfig": {
|
package/src/SqliteClient.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @since 1.0.0
|
|
3
3
|
*/
|
|
4
|
+
import * as Reactivity from "@effect/experimental/Reactivity"
|
|
4
5
|
import * as Client from "@effect/sql/SqlClient"
|
|
5
6
|
import type { Connection } from "@effect/sql/SqlConnection"
|
|
6
7
|
import { SqlError } from "@effect/sql/SqlError"
|
|
@@ -75,12 +76,14 @@ interface SqliteConnection extends Connection {
|
|
|
75
76
|
*/
|
|
76
77
|
export const make = (
|
|
77
78
|
options: SqliteClientConfig
|
|
78
|
-
): Effect.Effect<SqliteClient, never, Scope.Scope> =>
|
|
79
|
+
): Effect.Effect<SqliteClient, never, Scope.Scope | Reactivity.Reactivity> =>
|
|
79
80
|
Effect.gen(function*(_) {
|
|
80
81
|
const compiler = Statement.makeCompilerSqlite(options.transformQueryNames)
|
|
81
|
-
const transformRows =
|
|
82
|
-
|
|
83
|
-
|
|
82
|
+
const transformRows = options.transformResultNames ?
|
|
83
|
+
Statement.defaultTransforms(
|
|
84
|
+
options.transformResultNames
|
|
85
|
+
).array :
|
|
86
|
+
undefined
|
|
84
87
|
|
|
85
88
|
const makeConnection = Effect.gen(function*(_) {
|
|
86
89
|
const db = new Database(options.filename, {
|
|
@@ -103,10 +106,6 @@ export const make = (
|
|
|
103
106
|
catch: (cause) => new SqlError({ cause, message: "Failed to execute statement" })
|
|
104
107
|
})
|
|
105
108
|
|
|
106
|
-
const runTransform = options.transformResultNames
|
|
107
|
-
? (sql: string, params?: ReadonlyArray<Statement.Primitive>) => Effect.map(run(sql, params), transformRows)
|
|
108
|
-
: run
|
|
109
|
-
|
|
110
109
|
const runValues = (
|
|
111
110
|
sql: string,
|
|
112
111
|
params: ReadonlyArray<Statement.Primitive> = []
|
|
@@ -117,8 +116,10 @@ export const make = (
|
|
|
117
116
|
})
|
|
118
117
|
|
|
119
118
|
return identity<SqliteConnection>({
|
|
120
|
-
execute(sql, params) {
|
|
121
|
-
return
|
|
119
|
+
execute(sql, params, transformRows) {
|
|
120
|
+
return transformRows
|
|
121
|
+
? Effect.map(run(sql, params), transformRows)
|
|
122
|
+
: run(sql, params)
|
|
122
123
|
},
|
|
123
124
|
executeRaw(sql, params) {
|
|
124
125
|
return run(sql, params)
|
|
@@ -126,11 +127,8 @@ export const make = (
|
|
|
126
127
|
executeValues(sql, params) {
|
|
127
128
|
return runValues(sql, params)
|
|
128
129
|
},
|
|
129
|
-
|
|
130
|
-
return
|
|
131
|
-
},
|
|
132
|
-
executeUnprepared(sql, params) {
|
|
133
|
-
return runTransform(sql, params)
|
|
130
|
+
executeUnprepared(sql, params, transformRows) {
|
|
131
|
+
return this.execute(sql, params, transformRows)
|
|
134
132
|
},
|
|
135
133
|
executeStream(_sql, _params) {
|
|
136
134
|
return Effect.dieMessage("executeStream not implemented")
|
|
@@ -165,15 +163,16 @@ export const make = (
|
|
|
165
163
|
)
|
|
166
164
|
|
|
167
165
|
return Object.assign(
|
|
168
|
-
Client.make({
|
|
166
|
+
(yield* Client.make({
|
|
169
167
|
acquirer,
|
|
170
168
|
compiler,
|
|
171
169
|
transactionAcquirer,
|
|
172
170
|
spanAttributes: [
|
|
173
171
|
...(options.spanAttributes ? Object.entries(options.spanAttributes) : []),
|
|
174
172
|
[Otel.SEMATTRS_DB_SYSTEM, Otel.DBSYSTEMVALUES_SQLITE]
|
|
175
|
-
]
|
|
176
|
-
|
|
173
|
+
],
|
|
174
|
+
transformRows
|
|
175
|
+
})) as SqliteClient,
|
|
177
176
|
{
|
|
178
177
|
[TypeId]: TypeId as TypeId,
|
|
179
178
|
config: options,
|
|
@@ -199,7 +198,7 @@ export const layerConfig = (
|
|
|
199
198
|
)
|
|
200
199
|
)
|
|
201
200
|
)
|
|
202
|
-
)
|
|
201
|
+
).pipe(Layer.provide(Reactivity.layer))
|
|
203
202
|
|
|
204
203
|
/**
|
|
205
204
|
* @category layers
|
|
@@ -213,4 +212,4 @@ export const layer = (
|
|
|
213
212
|
Context.make(SqliteClient, client).pipe(
|
|
214
213
|
Context.add(Client.SqlClient, client)
|
|
215
214
|
))
|
|
216
|
-
)
|
|
215
|
+
).pipe(Layer.provide(Reactivity.layer))
|