@effect/sql-sqlite-node 4.0.0-beta.5 → 4.0.0-beta.50

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.
@@ -1,9 +1,9 @@
1
1
  import * as Config from "effect/Config";
2
+ import * as Context from "effect/Context";
2
3
  import * as Duration from "effect/Duration";
3
4
  import * as Effect from "effect/Effect";
4
5
  import * as Layer from "effect/Layer";
5
6
  import * as Scope from "effect/Scope";
6
- import * as ServiceMap from "effect/ServiceMap";
7
7
  import * as Reactivity from "effect/unstable/reactivity/Reactivity";
8
8
  import * as Client from "effect/unstable/sql/SqlClient";
9
9
  import { SqlError } from "effect/unstable/sql/SqlError";
@@ -42,7 +42,7 @@ export interface BackupMetadata {
42
42
  * @category tags
43
43
  * @since 1.0.0
44
44
  */
45
- export declare const SqliteClient: ServiceMap.Service<SqliteClient, SqliteClient>;
45
+ export declare const SqliteClient: Context.Service<SqliteClient, SqliteClient>;
46
46
  /**
47
47
  * @category models
48
48
  * @since 1.0.0
@@ -51,7 +51,7 @@ export interface SqliteClientConfig {
51
51
  readonly filename: string;
52
52
  readonly readonly?: boolean | undefined;
53
53
  readonly prepareCacheSize?: number | undefined;
54
- readonly prepareCacheTTL?: Duration.DurationInput | undefined;
54
+ readonly prepareCacheTTL?: Duration.Input | undefined;
55
55
  readonly disableWAL?: boolean | undefined;
56
56
  readonly spanAttributes?: Record<string, unknown> | undefined;
57
57
  readonly transformResultNames?: ((str: string) => string) | undefined;
@@ -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":"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"}
@@ -4,19 +4,24 @@
4
4
  import Sqlite from "better-sqlite3";
5
5
  import * as Cache from "effect/Cache";
6
6
  import * as Config from "effect/Config";
7
+ import * as Context from "effect/Context";
7
8
  import * as Duration from "effect/Duration";
8
9
  import * as Effect from "effect/Effect";
9
10
  import * as Fiber from "effect/Fiber";
10
11
  import { identity } from "effect/Function";
11
12
  import * as Layer from "effect/Layer";
12
13
  import * as Scope from "effect/Scope";
13
- import * as ServiceMap from "effect/ServiceMap";
14
+ import * as Semaphore from "effect/Semaphore";
14
15
  import * as Stream from "effect/Stream";
15
16
  import * as Reactivity from "effect/unstable/reactivity/Reactivity";
16
17
  import * as Client from "effect/unstable/sql/SqlClient";
17
- import { SqlError } from "effect/unstable/sql/SqlError";
18
+ import { classifySqliteError, SqlError } from "effect/unstable/sql/SqlError";
18
19
  import * as Statement from "effect/unstable/sql/Statement";
19
20
  const ATTR_DB_SYSTEM_NAME = "db.system.name";
21
+ const classifyError = (cause, message, operation) => classifySqliteError(cause, {
22
+ message,
23
+ operation
24
+ });
20
25
  /**
21
26
  * @category type ids
22
27
  * @since 1.0.0
@@ -26,7 +31,7 @@ export const TypeId = "~@effect/sql-sqlite-node/SqliteClient";
26
31
  * @category tags
27
32
  * @since 1.0.0
28
33
  */
29
- export const SqliteClient = /*#__PURE__*/ServiceMap.Service("@effect/sql-sqlite-node/SqliteClient");
34
+ export const SqliteClient = /*#__PURE__*/Context.Service("@effect/sql-sqlite-node/SqliteClient");
30
35
  /**
31
36
  * @category constructor
32
37
  * @since 1.0.0
@@ -49,13 +54,12 @@ export const make = options => Effect.gen(function* () {
49
54
  lookup: sql => Effect.try({
50
55
  try: () => db.prepare(sql),
51
56
  catch: cause => new SqlError({
52
- cause,
53
- message: "Failed to prepare statement "
57
+ reason: classifyError(cause, "Failed to prepare statement", "prepare")
54
58
  })
55
59
  })
56
60
  });
57
61
  const runStatement = (statement, params, raw) => Effect.withFiber(fiber => {
58
- if (ServiceMap.get(fiber.services, Client.SafeIntegers)) {
62
+ if (Context.get(fiber.context, Client.SafeIntegers)) {
59
63
  statement.safeIntegers(true);
60
64
  }
61
65
  try {
@@ -66,8 +70,7 @@ export const make = options => Effect.gen(function* () {
66
70
  return Effect.succeed(raw ? result : []);
67
71
  } catch (cause) {
68
72
  return Effect.fail(new SqlError({
69
- cause,
70
- message: "Failed to execute statement"
73
+ reason: classifyError(cause, "Failed to execute statement", "execute")
71
74
  }));
72
75
  }
73
76
  });
@@ -82,8 +85,7 @@ export const make = options => Effect.gen(function* () {
82
85
  return [];
83
86
  },
84
87
  catch: cause => new SqlError({
85
- cause,
86
- message: "Failed to execute statement"
88
+ reason: classifyError(cause, "Failed to execute statement", "execute")
87
89
  })
88
90
  }), statement => Effect.sync(() => statement.reader && statement.raw(false)));
89
91
  return identity({
@@ -106,16 +108,14 @@ export const make = options => Effect.gen(function* () {
106
108
  export: Effect.try({
107
109
  try: () => db.serialize(),
108
110
  catch: cause => new SqlError({
109
- cause,
110
- message: "Failed to export database"
111
+ reason: classifyError(cause, "Failed to export database", "export")
111
112
  })
112
113
  }),
113
114
  backup(destination) {
114
115
  return Effect.tryPromise({
115
116
  try: () => db.backup(destination),
116
117
  catch: cause => new SqlError({
117
- cause,
118
- message: "Failed to backup database"
118
+ reason: classifyError(cause, "Failed to backup database", "backup")
119
119
  })
120
120
  });
121
121
  },
@@ -123,19 +123,18 @@ export const make = options => Effect.gen(function* () {
123
123
  return Effect.try({
124
124
  try: () => db.loadExtension(path),
125
125
  catch: cause => new SqlError({
126
- cause,
127
- message: "Failed to load extension"
126
+ reason: classifyError(cause, "Failed to load extension", "loadExtension")
128
127
  })
129
128
  });
130
129
  }
131
130
  });
132
131
  });
133
- const semaphore = yield* Effect.makeSemaphore(1);
132
+ const semaphore = yield* Semaphore.make(1);
134
133
  const connection = yield* makeConnection;
135
134
  const acquirer = semaphore.withPermits(1)(Effect.succeed(connection));
136
135
  const transactionAcquirer = Effect.uninterruptibleMask(restore => {
137
136
  const fiber = Fiber.getCurrent();
138
- const scope = ServiceMap.getUnsafe(fiber.services, Scope.Scope);
137
+ const scope = Context.getUnsafe(fiber.context, Scope.Scope);
139
138
  return Effect.as(Effect.tap(restore(semaphore.take(1)), () => Scope.addFinalizer(scope, semaphore.release(1))), connection);
140
139
  });
141
140
  return Object.assign(yield* Client.make({
@@ -156,10 +155,10 @@ export const make = options => Effect.gen(function* () {
156
155
  * @category layers
157
156
  * @since 1.0.0
158
157
  */
159
- export const layerConfig = config => Layer.effectServices(Config.unwrap(config).asEffect().pipe(Effect.flatMap(make), Effect.map(client => ServiceMap.make(SqliteClient, client).pipe(ServiceMap.add(Client.SqlClient, client))))).pipe(Layer.provide(Reactivity.layer));
158
+ export const layerConfig = config => Layer.effectContext(Config.unwrap(config).asEffect().pipe(Effect.flatMap(make), Effect.map(client => Context.make(SqliteClient, client).pipe(Context.add(Client.SqlClient, client))))).pipe(Layer.provide(Reactivity.layer));
160
159
  /**
161
160
  * @category layers
162
161
  * @since 1.0.0
163
162
  */
164
- export const layer = config => Layer.effectServices(Effect.map(make(config), client => ServiceMap.make(SqliteClient, client).pipe(ServiceMap.add(Client.SqlClient, client)))).pipe(Layer.provide(Reactivity.layer));
163
+ export const layer = config => Layer.effectContext(Effect.map(make(config), client => Context.make(SqliteClient, client).pipe(Context.add(Client.SqlClient, client)))).pipe(Layer.provide(Reactivity.layer));
165
164
  //# sourceMappingURL=SqliteClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SqliteClient.js","names":["Sqlite","Cache","Config","Duration","Effect","Fiber","identity","Layer","Scope","ServiceMap","Stream","Reactivity","Client","SqlError","Statement","ATTR_DB_SYSTEM_NAME","TypeId","SqliteClient","Service","make","options","gen","compiler","makeCompilerSqlite","transformQueryNames","transformRows","transformResultNames","defaultTransforms","array","undefined","makeConnection","scope","db","filename","readonly","addFinalizer","sync","close","disableWAL","pragma","prepareCache","capacity","prepareCacheSize","timeToLive","prepareCacheTTL","minutes","lookup","sql","try","prepare","catch","cause","message","runStatement","statement","params","raw","withFiber","fiber","get","services","SafeIntegers","safeIntegers","reader","succeed","all","result","run","fail","flatMap","s","runValues","acquireUseRelease","execute","map","executeRaw","executeValues","executeUnprepared","effect","executeStream","_sql","_params","die","export","serialize","backup","destination","tryPromise","loadExtension","path","semaphore","makeSemaphore","connection","acquirer","withPermits","transactionAcquirer","uninterruptibleMask","restore","getCurrent","getUnsafe","as","tap","take","release","Object","assign","spanAttributes","entries","config","_","layerConfig","effectServices","unwrap","asEffect","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":["Sqlite","Cache","Config","Context","Duration","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","scope","db","filename","readonly","addFinalizer","sync","close","disableWAL","pragma","prepareCache","capacity","prepareCacheSize","timeToLive","prepareCacheTTL","minutes","lookup","sql","try","prepare","catch","reason","runStatement","statement","params","raw","withFiber","fiber","get","context","SafeIntegers","safeIntegers","reader","succeed","all","result","run","fail","flatMap","s","runValues","acquireUseRelease","execute","map","executeRaw","executeValues","executeUnprepared","effect","executeStream","_sql","_params","die","export","serialize","backup","destination","tryPromise","loadExtension","path","semaphore","connection","acquirer","withPermits","transactionAcquirer","uninterruptibleMask","restore","getCurrent","getUnsafe","as","tap","take","release","Object","assign","spanAttributes","entries","config","_","layerConfig","effectContext","unwrap","asEffect","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-node",
3
- "version": "4.0.0-beta.5",
3
+ "version": "4.0.0-beta.50",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "description": "A SQLite toolkit for Effect",
@@ -44,14 +44,14 @@
44
44
  },
45
45
  "devDependencies": {
46
46
  "@types/better-sqlite3": "^7.6.13",
47
- "@effect/platform-node": "^4.0.0-beta.5",
48
- "effect": "^4.0.0-beta.5"
47
+ "@effect/platform-node": "^4.0.0-beta.50",
48
+ "effect": "^4.0.0-beta.50"
49
49
  },
50
50
  "peerDependencies": {
51
- "effect": "^4.0.0-beta.5"
51
+ "effect": "^4.0.0-beta.50"
52
52
  },
53
53
  "dependencies": {
54
- "better-sqlite3": "^12.6.2"
54
+ "better-sqlite3": "^12.8.0"
55
55
  },
56
56
  "scripts": {
57
57
  "codegen": "effect-utils codegen",
@@ -4,22 +4,26 @@
4
4
  import Sqlite from "better-sqlite3"
5
5
  import * as Cache from "effect/Cache"
6
6
  import * as Config from "effect/Config"
7
+ import * as Context from "effect/Context"
7
8
  import * as Duration from "effect/Duration"
8
9
  import * as Effect from "effect/Effect"
9
10
  import * as Fiber from "effect/Fiber"
10
11
  import { identity } from "effect/Function"
11
12
  import * as Layer from "effect/Layer"
12
13
  import * as Scope from "effect/Scope"
13
- import * as ServiceMap from "effect/ServiceMap"
14
+ import * as Semaphore from "effect/Semaphore"
14
15
  import * as Stream from "effect/Stream"
15
16
  import * as Reactivity from "effect/unstable/reactivity/Reactivity"
16
17
  import * as Client from "effect/unstable/sql/SqlClient"
17
18
  import type { Connection } from "effect/unstable/sql/SqlConnection"
18
- import { SqlError } from "effect/unstable/sql/SqlError"
19
+ import { classifySqliteError, SqlError } from "effect/unstable/sql/SqlError"
19
20
  import * as Statement from "effect/unstable/sql/Statement"
20
21
 
21
22
  const ATTR_DB_SYSTEM_NAME = "db.system.name"
22
23
 
24
+ const classifyError = (cause: unknown, message: string, operation: string) =>
25
+ classifySqliteError(cause, { message, operation })
26
+
23
27
  /**
24
28
  * @category type ids
25
29
  * @since 1.0.0
@@ -60,7 +64,7 @@ export interface BackupMetadata {
60
64
  * @category tags
61
65
  * @since 1.0.0
62
66
  */
63
- export const SqliteClient = ServiceMap.Service<SqliteClient>("@effect/sql-sqlite-node/SqliteClient")
67
+ export const SqliteClient = Context.Service<SqliteClient>("@effect/sql-sqlite-node/SqliteClient")
64
68
 
65
69
  /**
66
70
  * @category models
@@ -70,7 +74,7 @@ export interface SqliteClientConfig {
70
74
  readonly filename: string
71
75
  readonly readonly?: boolean | undefined
72
76
  readonly prepareCacheSize?: number | undefined
73
- readonly prepareCacheTTL?: Duration.DurationInput | undefined
77
+ readonly prepareCacheTTL?: Duration.Input | undefined
74
78
  readonly disableWAL?: boolean | undefined
75
79
  readonly spanAttributes?: Record<string, unknown> | undefined
76
80
 
@@ -116,7 +120,7 @@ export const make = (
116
120
  lookup: (sql: string) =>
117
121
  Effect.try({
118
122
  try: () => db.prepare(sql),
119
- catch: (cause) => new SqlError({ cause, message: "Failed to prepare statement " })
123
+ catch: (cause) => new SqlError({ reason: classifyError(cause, "Failed to prepare statement", "prepare") })
120
124
  })
121
125
  })
122
126
 
@@ -126,7 +130,7 @@ export const make = (
126
130
  raw: boolean
127
131
  ) =>
128
132
  Effect.withFiber<ReadonlyArray<any>, SqlError>((fiber) => {
129
- if (ServiceMap.get(fiber.services, Client.SafeIntegers)) {
133
+ if (Context.get(fiber.context, Client.SafeIntegers)) {
130
134
  statement.safeIntegers(true)
131
135
  }
132
136
  try {
@@ -136,7 +140,7 @@ export const make = (
136
140
  const result = statement.run(...params)
137
141
  return Effect.succeed(raw ? result as unknown as ReadonlyArray<any> : [])
138
142
  } catch (cause) {
139
- return Effect.fail(new SqlError({ cause, message: "Failed to execute statement" }))
143
+ return Effect.fail(new SqlError({ reason: classifyError(cause, "Failed to execute statement", "execute") }))
140
144
  }
141
145
  })
142
146
 
@@ -168,7 +172,7 @@ export const make = (
168
172
  statement.run(...params)
169
173
  return []
170
174
  },
171
- catch: (cause) => new SqlError({ cause, message: "Failed to execute statement" })
175
+ catch: (cause) => new SqlError({ reason: classifyError(cause, "Failed to execute statement", "execute") })
172
176
  }),
173
177
  (statement) => Effect.sync(() => statement.reader && statement.raw(false))
174
178
  )
@@ -194,30 +198,31 @@ export const make = (
194
198
  },
195
199
  export: Effect.try({
196
200
  try: () => db.serialize(),
197
- catch: (cause) => new SqlError({ cause, message: "Failed to export database" })
201
+ catch: (cause) => new SqlError({ reason: classifyError(cause, "Failed to export database", "export") })
198
202
  }),
199
203
  backup(destination) {
200
204
  return Effect.tryPromise({
201
205
  try: () => db.backup(destination),
202
- catch: (cause) => new SqlError({ cause, message: "Failed to backup database" })
206
+ catch: (cause) => new SqlError({ reason: classifyError(cause, "Failed to backup database", "backup") })
203
207
  })
204
208
  },
205
209
  loadExtension(path) {
206
210
  return Effect.try({
207
211
  try: () => db.loadExtension(path),
208
- catch: (cause) => new SqlError({ cause, message: "Failed to load extension" })
212
+ catch: (cause) =>
213
+ new SqlError({ reason: classifyError(cause, "Failed to load extension", "loadExtension") })
209
214
  })
210
215
  }
211
216
  })
212
217
  })
213
218
 
214
- const semaphore = yield* Effect.makeSemaphore(1)
219
+ const semaphore = yield* Semaphore.make(1)
215
220
  const connection = yield* makeConnection
216
221
 
217
222
  const acquirer = semaphore.withPermits(1)(Effect.succeed(connection))
218
223
  const transactionAcquirer = Effect.uninterruptibleMask((restore) => {
219
224
  const fiber = Fiber.getCurrent()!
220
- const scope = ServiceMap.getUnsafe(fiber.services, Scope.Scope)
225
+ const scope = Context.getUnsafe(fiber.context, Scope.Scope)
221
226
  return Effect.as(
222
227
  Effect.tap(
223
228
  restore(semaphore.take(1)),
@@ -255,12 +260,12 @@ export const make = (
255
260
  export const layerConfig = (
256
261
  config: Config.Wrap<SqliteClientConfig>
257
262
  ): Layer.Layer<SqliteClient | Client.SqlClient, Config.ConfigError> =>
258
- Layer.effectServices(
263
+ Layer.effectContext(
259
264
  Config.unwrap(config).asEffect().pipe(
260
265
  Effect.flatMap(make),
261
266
  Effect.map((client) =>
262
- ServiceMap.make(SqliteClient, client).pipe(
263
- ServiceMap.add(Client.SqlClient, client)
267
+ Context.make(SqliteClient, client).pipe(
268
+ Context.add(Client.SqlClient, client)
264
269
  )
265
270
  )
266
271
  )
@@ -273,9 +278,9 @@ export const layerConfig = (
273
278
  export const layer = (
274
279
  config: SqliteClientConfig
275
280
  ): Layer.Layer<SqliteClient | Client.SqlClient> =>
276
- Layer.effectServices(
281
+ Layer.effectContext(
277
282
  Effect.map(make(config), (client) =>
278
- ServiceMap.make(SqliteClient, client).pipe(
279
- ServiceMap.add(Client.SqlClient, client)
283
+ Context.make(SqliteClient, client).pipe(
284
+ Context.add(Client.SqlClient, client)
280
285
  ))
281
286
  ).pipe(Layer.provide(Reactivity.layer))