@effect/sql-sqlite-react-native 0.23.11 → 0.24.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.
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.withAsyncQuery = exports.make = exports.layerConfig = exports.layer = exports.asyncQuery = 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"));
@@ -16,9 +17,7 @@ var FiberRef = _interopRequireWildcard(require("effect/FiberRef"));
16
17
  var _Function = require("effect/Function");
17
18
  var _GlobalValue = require("effect/GlobalValue");
18
19
  var Layer = _interopRequireWildcard(require("effect/Layer"));
19
- var Queue = _interopRequireWildcard(require("effect/Queue"));
20
20
  var Scope = _interopRequireWildcard(require("effect/Scope"));
21
- var Stream = _interopRequireWildcard(require("effect/Stream"));
22
21
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
23
22
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
24
23
  /**
@@ -61,7 +60,7 @@ const make = options => Effect.gen(function* (_) {
61
60
  clientOptions.encryptionKey = options.encryptionKey;
62
61
  }
63
62
  const compiler = Statement.makeCompilerSqlite(options.transformQueryNames);
64
- const transformRows = Statement.defaultTransforms(options.transformResultNames).array;
63
+ const transformRows = options.transformResultNames ? Statement.defaultTransforms(options.transformResultNames).array : undefined;
65
64
  const makeConnection = Effect.gen(function* (_) {
66
65
  const db = Sqlite.open(clientOptions);
67
66
  yield* _(Effect.addFinalizer(() => Effect.sync(() => db.close())));
@@ -83,10 +82,9 @@ const make = options => Effect.gen(function* (_) {
83
82
  })
84
83
  });
85
84
  });
86
- const runTransform = options.transformResultNames ? (sql, params) => Effect.map(run(sql, params), transformRows) : run;
87
85
  return (0, _Function.identity)({
88
- execute(sql, params) {
89
- return runTransform(sql, params);
86
+ execute(sql, params, transformRows) {
87
+ return transformRows ? Effect.map(run(sql, params), transformRows) : run(sql, params);
90
88
  },
91
89
  executeRaw(sql, params) {
92
90
  return run(sql, params);
@@ -100,31 +98,11 @@ const make = options => Effect.gen(function* (_) {
100
98
  return results.map(row => columns.map(column => row[column]));
101
99
  });
102
100
  },
103
- executeWithoutTransform(sql, params) {
104
- return run(sql, params);
105
- },
106
- executeUnprepared(sql, params) {
107
- return runTransform(sql, params);
101
+ executeUnprepared(sql, params, transformRows) {
102
+ return this.execute(sql, params, transformRows);
108
103
  },
109
104
  executeStream() {
110
105
  return Effect.dieMessage("executeStream not implemented");
111
- },
112
- reactive(statement, fireOn) {
113
- const [query, params] = statement.compile();
114
- return Queue.sliding(1).pipe(Effect.tap(queue => this.execute(query, params).pipe(Effect.flatMap(rows => queue.offer(rows)))), Effect.tap(queue => Effect.acquireRelease(Effect.try({
115
- try: () => db.reactiveExecute({
116
- query,
117
- arguments: params,
118
- fireOn: fireOn,
119
- callback(data) {
120
- queue.unsafeOffer(data.rows);
121
- }
122
- }),
123
- catch: cause => new _SqlError.SqlError({
124
- cause,
125
- message: "Failed to execute statement (reactive)"
126
- })
127
- }), cancel => Effect.sync(cancel))), Effect.map(Stream.fromQueue), Stream.unwrapScoped);
128
106
  }
129
107
  });
130
108
  });
@@ -132,17 +110,15 @@ const make = options => Effect.gen(function* (_) {
132
110
  const connection = yield* _(makeConnection);
133
111
  const acquirer = semaphore.withPermits(1)(Effect.succeed(connection));
134
112
  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));
135
- return Object.assign(Client.make({
113
+ return Object.assign(yield* Client.make({
136
114
  acquirer,
137
115
  compiler,
138
116
  transactionAcquirer,
139
- spanAttributes: [...(options.spanAttributes ? Object.entries(options.spanAttributes) : []), [Otel.SEMATTRS_DB_SYSTEM, Otel.DBSYSTEMVALUES_SQLITE]]
117
+ spanAttributes: [...(options.spanAttributes ? Object.entries(options.spanAttributes) : []), [Otel.SEMATTRS_DB_SYSTEM, Otel.DBSYSTEMVALUES_SQLITE]],
118
+ transformRows
140
119
  }), {
141
120
  [TypeId]: TypeId,
142
- config: options,
143
- reactive(statement, fireOn) {
144
- return Stream.unwrap(Effect.map(acquirer, connection => connection.reactive(statement, fireOn)));
145
- }
121
+ config: options
146
122
  });
147
123
  });
148
124
  /**
@@ -150,12 +126,12 @@ const make = options => Effect.gen(function* (_) {
150
126
  * @since 1.0.0
151
127
  */
152
128
  exports.make = make;
153
- 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)))));
129
+ 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));
154
130
  /**
155
131
  * @category layers
156
132
  * @since 1.0.0
157
133
  */
158
134
  exports.layerConfig = layerConfig;
159
- const layer = config => Layer.scopedContext(Effect.map(make(config), client => Context.make(SqliteClient, client).pipe(Context.add(Client.SqlClient, client))));
135
+ 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));
160
136
  exports.layer = layer;
161
137
  //# sourceMappingURL=SqliteClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SqliteClient.js","names":["Client","_interopRequireWildcard","require","_SqlError","Statement","Sqlite","Otel","Config","Context","Effect","FiberRef","_Function","_GlobalValue","Layer","Queue","Scope","Stream","_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","asyncQuery","globalValue","unsafeMake","withAsyncQuery","effect","locally","make","options","gen","_","clientOptions","name","filename","location","encryptionKey","compiler","makeCompilerSqlite","transformQueryNames","transformRows","defaultTransforms","transformResultNames","array","makeConnection","db","open","addFinalizer","sync","close","run","sql","params","withFiberRuntime","fiber","getFiberRef","map","tryPromise","try","executeAsync","catch","cause","SqlError","message","result","rows","_array","execute","runTransform","identity","executeRaw","executeValues","results","length","columns","keys","row","column","executeWithoutTransform","executeUnprepared","executeStream","dieMessage","reactive","statement","fireOn","query","compile","sliding","pipe","tap","queue","flatMap","offer","acquireRelease","reactiveExecute","arguments","callback","data","unsafeOffer","cancel","fromQueue","unwrapScoped","semaphore","makeSemaphore","connection","acquirer","withPermits","succeed","transactionAcquirer","uninterruptibleMask","restore","as","zipRight","take","scope","release","assign","spanAttributes","entries","SEMATTRS_DB_SYSTEM","DBSYSTEMVALUES_SQLITE","config","unwrap","layerConfig","scopedContext","client","add","SqlClient","layer"],"sources":["../../src/SqliteClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SqliteClient.js","names":["Reactivity","_interopRequireWildcard","require","Client","_SqlError","Statement","Sqlite","Otel","Config","Context","Effect","FiberRef","_Function","_GlobalValue","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","asyncQuery","globalValue","unsafeMake","withAsyncQuery","effect","locally","make","options","gen","_","clientOptions","name","filename","location","encryptionKey","compiler","makeCompilerSqlite","transformQueryNames","transformRows","transformResultNames","defaultTransforms","array","undefined","makeConnection","db","open","addFinalizer","sync","close","run","sql","params","withFiberRuntime","fiber","getFiberRef","map","tryPromise","try","executeAsync","catch","cause","SqlError","message","result","rows","_array","execute","identity","executeRaw","executeValues","results","length","columns","keys","row","column","executeUnprepared","executeStream","dieMessage","semaphore","makeSemaphore","connection","acquirer","withPermits","succeed","transactionAcquirer","uninterruptibleMask","restore","as","zipRight","take","tap","scope","release","assign","spanAttributes","entries","SEMATTRS_DB_SYSTEM","DBSYSTEMVALUES_SQLITE","config","layerConfig","scopedContext","unwrap","pipe","flatMap","client","add","SqlClient","provide","layer"],"sources":["../../src/SqliteClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,9 +1,8 @@
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
- import { SqlError } from "@effect/sql/SqlError";
6
- import * as Statement from "@effect/sql/Statement";
7
6
  import * as Config from "effect/Config";
8
7
  import type { ConfigError } from "effect/ConfigError";
9
8
  import * as Context from "effect/Context";
@@ -11,7 +10,6 @@ import * as Effect from "effect/Effect";
11
10
  import * as FiberRef from "effect/FiberRef";
12
11
  import * as Layer from "effect/Layer";
13
12
  import * as Scope from "effect/Scope";
14
- import * as Stream from "effect/Stream";
15
13
  /**
16
14
  * @category type ids
17
15
  * @since 1.0.0
@@ -29,10 +27,6 @@ export type TypeId = typeof TypeId;
29
27
  export interface SqliteClient extends Client.SqlClient {
30
28
  readonly [TypeId]: TypeId;
31
29
  readonly config: SqliteClientConfig;
32
- readonly reactive: <A>(statement: Statement.Statement<A>, fireOn: ReadonlyArray<{
33
- readonly table: string;
34
- readonly ids?: ReadonlyArray<number>;
35
- }>) => Stream.Stream<ReadonlyArray<A>, SqlError>;
36
30
  /** Not supported in sqlite */
37
31
  readonly updateValues: never;
38
32
  }
@@ -67,7 +61,7 @@ export declare const withAsyncQuery: <R, E, A>(effect: Effect.Effect<A, E, R>) =
67
61
  * @category constructor
68
62
  * @since 1.0.0
69
63
  */
70
- export declare const make: (options: SqliteClientConfig) => Effect.Effect<SqliteClient, never, Scope.Scope>;
64
+ export declare const make: (options: SqliteClientConfig) => Effect.Effect<SqliteClient, never, Scope.Scope | Reactivity.Reactivity>;
71
65
  /**
72
66
  * @category layers
73
67
  * @since 1.0.0
@@ -1 +1 @@
1
- {"version":3,"file":"SqliteClient.d.ts","sourceRoot":"","sources":["../../src/SqliteClient.ts"],"names":[],"mappings":"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"}
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;AAM/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;AACvC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAG3C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,OAAO,MAAmE,CAAA;AAE/F;;;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;IAEnC,8BAA8B;IAC9B,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAA;CAC7B;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,yCAAmF,CAAA;AAE5G;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3C,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IAC7D,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;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAGjD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,2BAA6C,CAAA;AAInH;;;GAGG;AACH,eAAO,MAAM,IAAI,YACN,kBAAkB,KAC1B,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,UAAU,CAqGrE,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"}
@@ -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";
@@ -13,9 +14,7 @@ import * as FiberRef from "effect/FiberRef";
13
14
  import { identity } from "effect/Function";
14
15
  import { globalValue } from "effect/GlobalValue";
15
16
  import * as Layer from "effect/Layer";
16
- import * as Queue from "effect/Queue";
17
17
  import * as Scope from "effect/Scope";
18
- import * as Stream from "effect/Stream";
19
18
  /**
20
19
  * @category type ids
21
20
  * @since 1.0.0
@@ -51,7 +50,7 @@ export const make = options => Effect.gen(function* (_) {
51
50
  clientOptions.encryptionKey = options.encryptionKey;
52
51
  }
53
52
  const compiler = Statement.makeCompilerSqlite(options.transformQueryNames);
54
- const transformRows = Statement.defaultTransforms(options.transformResultNames).array;
53
+ const transformRows = options.transformResultNames ? Statement.defaultTransforms(options.transformResultNames).array : undefined;
55
54
  const makeConnection = Effect.gen(function* (_) {
56
55
  const db = Sqlite.open(clientOptions);
57
56
  yield* _(Effect.addFinalizer(() => Effect.sync(() => db.close())));
@@ -73,10 +72,9 @@ export const make = options => Effect.gen(function* (_) {
73
72
  })
74
73
  });
75
74
  });
76
- const runTransform = options.transformResultNames ? (sql, params) => Effect.map(run(sql, params), transformRows) : run;
77
75
  return identity({
78
- execute(sql, params) {
79
- return runTransform(sql, params);
76
+ execute(sql, params, transformRows) {
77
+ return transformRows ? Effect.map(run(sql, params), transformRows) : run(sql, params);
80
78
  },
81
79
  executeRaw(sql, params) {
82
80
  return run(sql, params);
@@ -90,31 +88,11 @@ export const make = options => Effect.gen(function* (_) {
90
88
  return results.map(row => columns.map(column => row[column]));
91
89
  });
92
90
  },
93
- executeWithoutTransform(sql, params) {
94
- return run(sql, params);
95
- },
96
- executeUnprepared(sql, params) {
97
- return runTransform(sql, params);
91
+ executeUnprepared(sql, params, transformRows) {
92
+ return this.execute(sql, params, transformRows);
98
93
  },
99
94
  executeStream() {
100
95
  return Effect.dieMessage("executeStream not implemented");
101
- },
102
- reactive(statement, fireOn) {
103
- const [query, params] = statement.compile();
104
- return Queue.sliding(1).pipe(Effect.tap(queue => this.execute(query, params).pipe(Effect.flatMap(rows => queue.offer(rows)))), Effect.tap(queue => Effect.acquireRelease(Effect.try({
105
- try: () => db.reactiveExecute({
106
- query,
107
- arguments: params,
108
- fireOn: fireOn,
109
- callback(data) {
110
- queue.unsafeOffer(data.rows);
111
- }
112
- }),
113
- catch: cause => new SqlError({
114
- cause,
115
- message: "Failed to execute statement (reactive)"
116
- })
117
- }), cancel => Effect.sync(cancel))), Effect.map(Stream.fromQueue), Stream.unwrapScoped);
118
96
  }
119
97
  });
120
98
  });
@@ -122,27 +100,25 @@ export const make = options => Effect.gen(function* (_) {
122
100
  const connection = yield* _(makeConnection);
123
101
  const acquirer = semaphore.withPermits(1)(Effect.succeed(connection));
124
102
  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));
125
- return Object.assign(Client.make({
103
+ return Object.assign(yield* Client.make({
126
104
  acquirer,
127
105
  compiler,
128
106
  transactionAcquirer,
129
- spanAttributes: [...(options.spanAttributes ? Object.entries(options.spanAttributes) : []), [Otel.SEMATTRS_DB_SYSTEM, Otel.DBSYSTEMVALUES_SQLITE]]
107
+ spanAttributes: [...(options.spanAttributes ? Object.entries(options.spanAttributes) : []), [Otel.SEMATTRS_DB_SYSTEM, Otel.DBSYSTEMVALUES_SQLITE]],
108
+ transformRows
130
109
  }), {
131
110
  [TypeId]: TypeId,
132
- config: options,
133
- reactive(statement, fireOn) {
134
- return Stream.unwrap(Effect.map(acquirer, connection => connection.reactive(statement, fireOn)));
135
- }
111
+ config: options
136
112
  });
137
113
  });
138
114
  /**
139
115
  * @category layers
140
116
  * @since 1.0.0
141
117
  */
142
- 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)))));
118
+ 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));
143
119
  /**
144
120
  * @category layers
145
121
  * @since 1.0.0
146
122
  */
147
- export const layer = config => Layer.scopedContext(Effect.map(make(config), client => Context.make(SqliteClient, client).pipe(Context.add(Client.SqlClient, client))));
123
+ 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));
148
124
  //# sourceMappingURL=SqliteClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SqliteClient.js","names":["Client","SqlError","Statement","Sqlite","Otel","Config","Context","Effect","FiberRef","identity","globalValue","Layer","Queue","Scope","Stream","TypeId","Symbol","for","SqliteClient","GenericTag","asyncQuery","unsafeMake","withAsyncQuery","effect","locally","make","options","gen","_","clientOptions","name","filename","location","encryptionKey","compiler","makeCompilerSqlite","transformQueryNames","transformRows","defaultTransforms","transformResultNames","array","makeConnection","db","open","addFinalizer","sync","close","run","sql","params","withFiberRuntime","fiber","getFiberRef","map","tryPromise","try","executeAsync","catch","cause","message","result","rows","_array","execute","runTransform","executeRaw","executeValues","results","length","columns","Object","keys","row","column","executeWithoutTransform","executeUnprepared","executeStream","dieMessage","reactive","statement","fireOn","query","compile","sliding","pipe","tap","queue","flatMap","offer","acquireRelease","reactiveExecute","arguments","callback","data","unsafeOffer","cancel","fromQueue","unwrapScoped","semaphore","makeSemaphore","connection","acquirer","withPermits","succeed","transactionAcquirer","uninterruptibleMask","restore","as","zipRight","take","scope","release","assign","spanAttributes","entries","SEMATTRS_DB_SYSTEM","DBSYSTEMVALUES_SQLITE","config","unwrap","layerConfig","scopedContext","client","add","SqlClient","layer"],"sources":["../../src/SqliteClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SqliteClient.js","names":["Reactivity","Client","SqlError","Statement","Sqlite","Otel","Config","Context","Effect","FiberRef","identity","globalValue","Layer","Scope","TypeId","Symbol","for","SqliteClient","GenericTag","asyncQuery","unsafeMake","withAsyncQuery","effect","locally","make","options","gen","_","clientOptions","name","filename","location","encryptionKey","compiler","makeCompilerSqlite","transformQueryNames","transformRows","transformResultNames","defaultTransforms","array","undefined","makeConnection","db","open","addFinalizer","sync","close","run","sql","params","withFiberRuntime","fiber","getFiberRef","map","tryPromise","try","executeAsync","catch","cause","message","result","rows","_array","execute","executeRaw","executeValues","results","length","columns","Object","keys","row","column","executeUnprepared","executeStream","dieMessage","semaphore","makeSemaphore","connection","acquirer","withPermits","succeed","transactionAcquirer","uninterruptibleMask","restore","as","zipRight","take","tap","scope","release","assign","spanAttributes","entries","SEMATTRS_DB_SYSTEM","DBSYSTEMVALUES_SQLITE","config","layerConfig","scopedContext","unwrap","pipe","flatMap","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-react-native",
3
- "version": "0.23.11",
3
+ "version": "0.24.0",
4
4
  "description": "A SQLite toolkit for Effect",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -14,8 +14,8 @@
14
14
  },
15
15
  "peerDependencies": {
16
16
  "@op-engineering/op-sqlite": "7.1.0",
17
- "@effect/sql": "^0.20.11",
18
- "effect": "^3.10.18"
17
+ "@effect/sql": "^0.21.0",
18
+ "effect": "^3.10.19"
19
19
  },
20
20
  "publishConfig": {
21
21
  "provenance": true
@@ -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"
@@ -15,9 +16,7 @@ import * as FiberRef from "effect/FiberRef"
15
16
  import { identity } from "effect/Function"
16
17
  import { globalValue } from "effect/GlobalValue"
17
18
  import * as Layer from "effect/Layer"
18
- import * as Queue from "effect/Queue"
19
19
  import * as Scope from "effect/Scope"
20
- import * as Stream from "effect/Stream"
21
20
 
22
21
  /**
23
22
  * @category type ids
@@ -38,13 +37,6 @@ export type TypeId = typeof TypeId
38
37
  export interface SqliteClient extends Client.SqlClient {
39
38
  readonly [TypeId]: TypeId
40
39
  readonly config: SqliteClientConfig
41
- readonly reactive: <A>(
42
- statement: Statement.Statement<A>,
43
- fireOn: ReadonlyArray<{
44
- readonly table: string
45
- readonly ids?: ReadonlyArray<number>
46
- }>
47
- ) => Stream.Stream<ReadonlyArray<A>, SqlError>
48
40
 
49
41
  /** Not supported in sqlite */
50
42
  readonly updateValues: never
@@ -84,15 +76,7 @@ export const asyncQuery: FiberRef.FiberRef<boolean> = globalValue(
84
76
  */
85
77
  export const withAsyncQuery = <R, E, A>(effect: Effect.Effect<A, E, R>) => Effect.locally(effect, asyncQuery, true)
86
78
 
87
- interface SqliteConnection extends Connection {
88
- readonly reactive: <A>(
89
- statement: Statement.Statement<A>,
90
- fireOn: ReadonlyArray<{
91
- readonly table: string
92
- readonly ids?: ReadonlyArray<number>
93
- }>
94
- ) => Stream.Stream<ReadonlyArray<A>, SqlError>
95
- }
79
+ interface SqliteConnection extends Connection {}
96
80
 
97
81
  /**
98
82
  * @category constructor
@@ -100,7 +84,7 @@ interface SqliteConnection extends Connection {
100
84
  */
101
85
  export const make = (
102
86
  options: SqliteClientConfig
103
- ): Effect.Effect<SqliteClient, never, Scope.Scope> =>
87
+ ): Effect.Effect<SqliteClient, never, Scope.Scope | Reactivity.Reactivity> =>
104
88
  Effect.gen(function*(_) {
105
89
  const clientOptions: Parameters<typeof Sqlite.open>[0] = {
106
90
  name: options.filename
@@ -113,9 +97,9 @@ export const make = (
113
97
  }
114
98
 
115
99
  const compiler = Statement.makeCompilerSqlite(options.transformQueryNames)
116
- const transformRows = Statement.defaultTransforms(
117
- options.transformResultNames!
118
- ).array
100
+ const transformRows = options.transformResultNames ?
101
+ Statement.defaultTransforms(options.transformResultNames).array :
102
+ undefined
119
103
 
120
104
  const makeConnection = Effect.gen(function*(_) {
121
105
  const db = Sqlite.open(clientOptions)
@@ -141,13 +125,11 @@ export const make = (
141
125
  })
142
126
  })
143
127
 
144
- const runTransform = options.transformResultNames
145
- ? (sql: string, params?: ReadonlyArray<Statement.Primitive>) => Effect.map(run(sql, params), transformRows)
146
- : run
147
-
148
128
  return identity<SqliteConnection>({
149
- execute(sql, params) {
150
- return runTransform(sql, params)
129
+ execute(sql, params, transformRows) {
130
+ return transformRows
131
+ ? Effect.map(run(sql, params), transformRows)
132
+ : run(sql, params)
151
133
  },
152
134
  executeRaw(sql, params) {
153
135
  return run(sql, params)
@@ -161,49 +143,11 @@ export const make = (
161
143
  return results.map((row) => columns.map((column) => row[column]))
162
144
  })
163
145
  },
164
- executeWithoutTransform(sql, params) {
165
- return run(sql, params)
166
- },
167
- executeUnprepared(sql, params) {
168
- return runTransform(sql, params)
146
+ executeUnprepared(sql, params, transformRows) {
147
+ return this.execute(sql, params, transformRows)
169
148
  },
170
149
  executeStream() {
171
150
  return Effect.dieMessage("executeStream not implemented")
172
- },
173
- reactive<A>(
174
- statement: Statement.Statement<A>,
175
- fireOn: ReadonlyArray<{
176
- readonly table: string
177
- readonly ids?: ReadonlyArray<number>
178
- }>
179
- ) {
180
- const [query, params] = statement.compile()
181
- return Queue.sliding<ReadonlyArray<A>>(1).pipe(
182
- Effect.tap((queue) =>
183
- this.execute(query, params).pipe(
184
- Effect.flatMap((rows) => queue.offer(rows))
185
- )
186
- ),
187
- Effect.tap((queue) =>
188
- Effect.acquireRelease(
189
- Effect.try({
190
- try: () =>
191
- db.reactiveExecute({
192
- query,
193
- arguments: params as any,
194
- fireOn: fireOn as any,
195
- callback(data) {
196
- queue.unsafeOffer(data.rows)
197
- }
198
- }),
199
- catch: (cause) => new SqlError({ cause, message: "Failed to execute statement (reactive)" })
200
- }),
201
- (cancel) => Effect.sync(cancel)
202
- )
203
- ),
204
- Effect.map(Stream.fromQueue),
205
- Stream.unwrapScoped
206
- )
207
151
  }
208
152
  })
209
153
  })
@@ -226,30 +170,19 @@ export const make = (
226
170
  )
227
171
 
228
172
  return Object.assign(
229
- Client.make({
173
+ (yield* Client.make({
230
174
  acquirer,
231
175
  compiler,
232
176
  transactionAcquirer,
233
177
  spanAttributes: [
234
178
  ...(options.spanAttributes ? Object.entries(options.spanAttributes) : []),
235
179
  [Otel.SEMATTRS_DB_SYSTEM, Otel.DBSYSTEMVALUES_SQLITE]
236
- ]
237
- }) as SqliteClient,
180
+ ],
181
+ transformRows
182
+ })) as SqliteClient,
238
183
  {
239
184
  [TypeId]: TypeId,
240
- config: options,
241
- reactive<A>(
242
- statement: Statement.Statement<A>,
243
- fireOn: ReadonlyArray<{
244
- readonly table: string
245
- readonly ids?: ReadonlyArray<number>
246
- }>
247
- ) {
248
- return Stream.unwrap(Effect.map(
249
- acquirer,
250
- (connection) => connection.reactive(statement, fireOn)
251
- ))
252
- }
185
+ config: options
253
186
  }
254
187
  )
255
188
  })
@@ -270,7 +203,7 @@ export const layerConfig = (
270
203
  )
271
204
  )
272
205
  )
273
- )
206
+ ).pipe(Layer.provide(Reactivity.layer))
274
207
 
275
208
  /**
276
209
  * @category layers
@@ -284,4 +217,4 @@ export const layer = (
284
217
  Context.make(SqliteClient, client).pipe(
285
218
  Context.add(Client.SqlClient, client)
286
219
  ))
287
- )
220
+ ).pipe(Layer.provide(Reactivity.layer))