@effect/sql-d1 4.0.0-beta.6 → 4.0.0-beta.60

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.
@@ -3,11 +3,11 @@
3
3
  */
4
4
  import type { D1Database } from "@cloudflare/workers-types";
5
5
  import * as Config from "effect/Config";
6
+ import * as Context from "effect/Context";
6
7
  import * as Duration from "effect/Duration";
7
8
  import * as Effect from "effect/Effect";
8
9
  import * as Layer from "effect/Layer";
9
10
  import type * as Scope from "effect/Scope";
10
- import * as ServiceMap from "effect/ServiceMap";
11
11
  import * as Reactivity from "effect/unstable/reactivity/Reactivity";
12
12
  import * as Client from "effect/unstable/sql/SqlClient";
13
13
  /**
@@ -34,7 +34,7 @@ export interface D1Client extends Client.SqlClient {
34
34
  * @category tags
35
35
  * @since 1.0.0
36
36
  */
37
- export declare const D1Client: ServiceMap.Service<D1Client, D1Client>;
37
+ export declare const D1Client: Context.Service<D1Client, D1Client>;
38
38
  /**
39
39
  * @category models
40
40
  * @since 1.0.0
@@ -42,7 +42,7 @@ export declare const D1Client: ServiceMap.Service<D1Client, D1Client>;
42
42
  export interface D1ClientConfig {
43
43
  readonly db: D1Database;
44
44
  readonly prepareCacheSize?: number | undefined;
45
- readonly prepareCacheTTL?: Duration.DurationInput | undefined;
45
+ readonly prepareCacheTTL?: Duration.Input | undefined;
46
46
  readonly spanAttributes?: Record<string, unknown> | undefined;
47
47
  readonly transformResultNames?: ((str: string) => string) | undefined;
48
48
  readonly transformQueryNames?: ((str: string) => string) | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"D1Client.d.ts","sourceRoot":"","sources":["../src/D1Client.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,UAAU,EAAuB,MAAM,2BAA2B,CAAA;AAEhF,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAE/C,OAAO,KAAK,UAAU,MAAM,uCAAuC,CAAA;AACnE,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAA;AAOvD;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,MAAmC,CAAA;AAExD;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG,0BAA0B,CAAA;AAE/C;;;GAGG;AACH,MAAM,WAAW,QAAS,SAAQ,MAAM,CAAC,SAAS;IAChD,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;IAE/B,0BAA0B;IAC1B,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAA;CAC7B;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,wCAA0D,CAAA;AAE/E;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAA;IACvB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9C,QAAQ,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,aAAa,GAAG,SAAS,CAAA;IAC7D,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;AAED;;;GAGG;AACH,eAAO,MAAM,IAAI,GACf,SAAS,cAAc,KACtB,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,UAAU,CAgHjE,CAAA;AAEJ;;;GAGG;AACH,eAAO,MAAM,WAAW,GACtB,QAAQ,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,KAClC,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,CAUrB,CAAA;AAEzC;;;GAGG;AACH,eAAO,MAAM,KAAK,GAChB,QAAQ,cAAc,KACrB,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,CAMrB,CAAA"}
1
+ {"version":3,"file":"D1Client.d.ts","sourceRoot":"","sources":["../src/D1Client.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,UAAU,EAAuB,MAAM,2BAA2B,CAAA;AAEhF,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAE1C,OAAO,KAAK,UAAU,MAAM,uCAAuC,CAAA;AACnE,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAA;AAUvD;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,MAAmC,CAAA;AAExD;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG,0BAA0B,CAAA;AAE/C;;;GAGG;AACH,MAAM,WAAW,QAAS,SAAQ,MAAM,CAAC,SAAS;IAChD,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;IAE/B,0BAA0B;IAC1B,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAA;CAC7B;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,qCAAuD,CAAA;AAE5E;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAA;IACvB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9C,QAAQ,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAA;IACrD,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;AAED;;;GAGG;AACH,eAAO,MAAM,IAAI,GACf,SAAS,cAAc,KACtB,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,UAAU,CAgHjE,CAAA;AAEJ;;;GAGG;AACH,eAAO,MAAM,WAAW,GACtB,QAAQ,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,KAClC,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,CAUrB,CAAA;AAEzC;;;GAGG;AACH,eAAO,MAAM,KAAK,GAChB,QAAQ,cAAc,KACrB,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,CAMrB,CAAA"}
package/dist/D1Client.js CHANGED
@@ -1,16 +1,21 @@
1
1
  import * as Cache from "effect/Cache";
2
2
  import * as Config from "effect/Config";
3
+ import * as Context from "effect/Context";
3
4
  import * as Duration from "effect/Duration";
4
5
  import * as Effect from "effect/Effect";
5
6
  import { identity } from "effect/Function";
6
7
  import * as Layer from "effect/Layer";
7
- import * as ServiceMap from "effect/ServiceMap";
8
8
  import * as Stream from "effect/Stream";
9
9
  import * as Reactivity from "effect/unstable/reactivity/Reactivity";
10
10
  import * as Client from "effect/unstable/sql/SqlClient";
11
- import { SqlError } from "effect/unstable/sql/SqlError";
11
+ import { SqlError, UnknownError } from "effect/unstable/sql/SqlError";
12
12
  import * as Statement from "effect/unstable/sql/Statement";
13
13
  const ATTR_DB_SYSTEM_NAME = "db.system.name";
14
+ const classifyError = (cause, message, operation) => new UnknownError({
15
+ cause,
16
+ message,
17
+ operation
18
+ });
14
19
  /**
15
20
  * @category type ids
16
21
  * @since 1.0.0
@@ -20,7 +25,7 @@ export const TypeId = "~@effect/sql-d1/D1Client";
20
25
  * @category tags
21
26
  * @since 1.0.0
22
27
  */
23
- export const D1Client = /*#__PURE__*/ServiceMap.Service("@effect/sql-d1/D1Client");
28
+ export const D1Client = /*#__PURE__*/Context.Service("@effect/sql-d1/D1Client");
24
29
  /**
25
30
  * @category constructor
26
31
  * @since 1.0.0
@@ -36,8 +41,7 @@ export const make = options => Effect.gen(function* () {
36
41
  lookup: sql => Effect.try({
37
42
  try: () => db.prepare(sql),
38
43
  catch: cause => new SqlError({
39
- cause,
40
- message: `Failed to prepare statement`
44
+ reason: classifyError(cause, "Failed to prepare statement", "prepare")
41
45
  })
42
46
  })
43
47
  });
@@ -50,8 +54,7 @@ export const make = options => Effect.gen(function* () {
50
54
  return response.results || [];
51
55
  },
52
56
  catch: cause => new SqlError({
53
- cause,
54
- message: `Failed to execute statement`
57
+ reason: classifyError(cause, "Failed to execute statement", "execute")
55
58
  })
56
59
  });
57
60
  const runRaw = (sql, params = []) => runStatement(db.prepare(sql), params);
@@ -62,8 +65,7 @@ export const make = options => Effect.gen(function* () {
62
65
  return statement.bind(...params).raw();
63
66
  },
64
67
  catch: cause => new SqlError({
65
- cause,
66
- message: `Failed to execute statement`
68
+ reason: classifyError(cause, "Failed to execute statement", "execute")
67
69
  })
68
70
  }));
69
71
  return identity({
@@ -102,10 +104,10 @@ export const make = options => Effect.gen(function* () {
102
104
  * @category layers
103
105
  * @since 1.0.0
104
106
  */
105
- export const layerConfig = config => Layer.effectServices(Config.unwrap(config).asEffect().pipe(Effect.flatMap(make), Effect.map(client => ServiceMap.make(D1Client, client).pipe(ServiceMap.add(Client.SqlClient, client))))).pipe(Layer.provide(Reactivity.layer));
107
+ export const layerConfig = config => Layer.effectContext(Config.unwrap(config).asEffect().pipe(Effect.flatMap(make), Effect.map(client => Context.make(D1Client, client).pipe(Context.add(Client.SqlClient, client))))).pipe(Layer.provide(Reactivity.layer));
106
108
  /**
107
109
  * @category layers
108
110
  * @since 1.0.0
109
111
  */
110
- export const layer = config => Layer.effectServices(Effect.map(make(config), client => ServiceMap.make(D1Client, client).pipe(ServiceMap.add(Client.SqlClient, client)))).pipe(Layer.provide(Reactivity.layer));
112
+ export const layer = config => Layer.effectContext(Effect.map(make(config), client => Context.make(D1Client, client).pipe(Context.add(Client.SqlClient, client)))).pipe(Layer.provide(Reactivity.layer));
111
113
  //# sourceMappingURL=D1Client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"D1Client.js","names":["Cache","Config","Duration","Effect","identity","Layer","ServiceMap","Stream","Reactivity","Client","SqlError","Statement","ATTR_DB_SYSTEM_NAME","TypeId","D1Client","Service","make","options","gen","compiler","makeCompilerSqlite","transformQueryNames","transformRows","transformResultNames","defaultTransforms","array","undefined","makeConnection","db","prepareCache","capacity","prepareCacheSize","timeToLive","prepareCacheTTL","minutes","lookup","sql","try","prepare","catch","cause","message","runStatement","statement","params","tryPromise","response","bind","all","error","results","runRaw","runCached","flatMap","get","s","runUncached","runValues","raw","execute","map","executeRaw","executeValues","executeUnprepared","executeStream","_sql","_params","die","connection","acquirer","succeed","transactionAcquirer","Object","assign","spanAttributes","entries","config","layerConfig","effectServices","unwrap","asEffect","pipe","client","add","SqlClient","provide","layer"],"sources":["../src/D1Client.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"D1Client.js","names":["Cache","Config","Context","Duration","Effect","identity","Layer","Stream","Reactivity","Client","SqlError","UnknownError","Statement","ATTR_DB_SYSTEM_NAME","classifyError","cause","message","operation","TypeId","D1Client","Service","make","options","gen","compiler","makeCompilerSqlite","transformQueryNames","transformRows","transformResultNames","defaultTransforms","array","undefined","makeConnection","db","prepareCache","capacity","prepareCacheSize","timeToLive","prepareCacheTTL","minutes","lookup","sql","try","prepare","catch","reason","runStatement","statement","params","tryPromise","response","bind","all","error","results","runRaw","runCached","flatMap","get","s","runUncached","runValues","raw","execute","map","executeRaw","executeValues","executeUnprepared","executeStream","_sql","_params","die","connection","acquirer","succeed","transactionAcquirer","Object","assign","spanAttributes","entries","config","layerConfig","effectContext","unwrap","asEffect","pipe","client","add","SqlClient","provide","layer"],"sources":["../src/D1Client.ts"],"sourcesContent":[null],"mappings":"AAIA,OAAO,KAAKA,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SAASC,QAAQ,QAAQ,iBAAiB;AAC1C,OAAO,KAAKC,KAAK,MAAM,cAAc;AAErC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,UAAU,MAAM,uCAAuC;AACnE,OAAO,KAAKC,MAAM,MAAM,+BAA+B;AAEvD,SAASC,QAAQ,EAAEC,YAAY,QAAQ,8BAA8B;AACrE,OAAO,KAAKC,SAAS,MAAM,+BAA+B;AAE1D,MAAMC,mBAAmB,GAAG,gBAAgB;AAE5C,MAAMC,aAAa,GAAGA,CAACC,KAAc,EAAEC,OAAe,EAAEC,SAAiB,KACvE,IAAIN,YAAY,CAAC;EAAEI,KAAK;EAAEC,OAAO;EAAEC;AAAS,CAAE,CAAC;AAEjD;;;;AAIA,OAAO,MAAMC,MAAM,GAAW,0BAA0B;AAoBxD;;;;AAIA,OAAO,MAAMC,QAAQ,gBAAGjB,OAAO,CAACkB,OAAO,CAAW,yBAAyB,CAAC;AAgB5E;;;;AAIA,OAAO,MAAMC,IAAI,GACfC,OAAuB,IAEvBlB,MAAM,CAACmB,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,CAACP,OAAO,CAACM,oBAAoB,CAAC,CAACE,KAAK,GAC/DC,SAAS;EAEX,MAAMC,cAAc,GAAG5B,MAAM,CAACmB,GAAG,CAAC,aAAS;IACzC,MAAMU,EAAE,GAAGX,OAAO,CAACW,EAAE;IAErB,MAAMC,YAAY,GAAG,OAAOlC,KAAK,CAACqB,IAAI,CAAC;MACrCc,QAAQ,EAAEb,OAAO,CAACc,gBAAgB,IAAI,GAAG;MACzCC,UAAU,EAAEf,OAAO,CAACgB,eAAe,IAAInC,QAAQ,CAACoC,OAAO,CAAC,EAAE,CAAC;MAC3DC,MAAM,EAAGC,GAAW,IAClBrC,MAAM,CAACsC,GAAG,CAAC;QACTA,GAAG,EAAEA,CAAA,KAAMT,EAAE,CAACU,OAAO,CAACF,GAAG,CAAC;QAC1BG,KAAK,EAAG7B,KAAK,IAAK,IAAIL,QAAQ,CAAC;UAAEmC,MAAM,EAAE/B,aAAa,CAACC,KAAK,EAAE,6BAA6B,EAAE,SAAS;QAAC,CAAE;OAC1G;KACJ,CAAC;IAEF,MAAM+B,YAAY,GAAGA,CACnBC,SAA8B,EAC9BC,MAAA,GAAiC,EAAE,KAEnC5C,MAAM,CAAC6C,UAAU,CAAC;MAChBP,GAAG,EAAE,MAAAA,CAAA,KAAW;QACd,MAAMQ,QAAQ,GAAG,MAAMH,SAAS,CAACI,IAAI,CAAC,GAAGH,MAAM,CAAC,CAACI,GAAG,EAAE;QACtD,IAAIF,QAAQ,CAACG,KAAK,EAAE;UAClB,MAAMH,QAAQ,CAACG,KAAK;QACtB;QACA,OAAOH,QAAQ,CAACI,OAAO,IAAI,EAAE;MAC/B,CAAC;MACDV,KAAK,EAAG7B,KAAK,IAAK,IAAIL,QAAQ,CAAC;QAAEmC,MAAM,EAAE/B,aAAa,CAACC,KAAK,EAAE,6BAA6B,EAAE,SAAS;MAAC,CAAE;KAC1G,CAAC;IAEJ,MAAMwC,MAAM,GAAGA,CACbd,GAAW,EACXO,MAAA,GAAiC,EAAE,KAChCF,YAAY,CAACb,EAAE,CAACU,OAAO,CAACF,GAAG,CAAC,EAAEO,MAAM,CAAC;IAE1C,MAAMQ,SAAS,GAAGA,CAChBf,GAAW,EACXO,MAAA,GAAiC,EAAE,KAChC5C,MAAM,CAACqD,OAAO,CAACzD,KAAK,CAAC0D,GAAG,CAACxB,YAAY,EAAEO,GAAG,CAAC,EAAGkB,CAAC,IAAKb,YAAY,CAACa,CAAC,EAAEX,MAAM,CAAC,CAAC;IAEjF,MAAMY,WAAW,GAAGA,CAClBnB,GAAW,EACXO,MAAA,GAAiC,EAAE,KAChCO,MAAM,CAACd,GAAG,EAAEO,MAAM,CAAC;IAExB,MAAMa,SAAS,GAAGA,CAChBpB,GAAW,EACXO,MAA8B,KAE9B5C,MAAM,CAACqD,OAAO,CACZzD,KAAK,CAAC0D,GAAG,CAACxB,YAAY,EAAEO,GAAG,CAAC,EAC3BM,SAAS,IACR3C,MAAM,CAAC6C,UAAU,CAAC;MAChBP,GAAG,EAAEA,CAAA,KAAK;QACR,OAAOK,SAAS,CAACI,IAAI,CAAC,GAAGH,MAAM,CAAC,CAACc,GAAG,EAInC;MACH,CAAC;MACDlB,KAAK,EAAG7B,KAAK,IAAK,IAAIL,QAAQ,CAAC;QAAEmC,MAAM,EAAE/B,aAAa,CAACC,KAAK,EAAE,6BAA6B,EAAE,SAAS;MAAC,CAAE;KAC1G,CAAC,CACL;IAEH,OAAOV,QAAQ,CAAa;MAC1B0D,OAAOA,CAACtB,GAAG,EAAEO,MAAM,EAAErB,aAAa;QAChC,OAAOA,aAAa,GAChBvB,MAAM,CAAC4D,GAAG,CAACR,SAAS,CAACf,GAAG,EAAEO,MAAM,CAAC,EAAErB,aAAa,CAAC,GACjD6B,SAAS,CAACf,GAAG,EAAEO,MAAM,CAAC;MAC5B,CAAC;MACDiB,UAAUA,CAACxB,GAAG,EAAEO,MAAM;QACpB,OAAOO,MAAM,CAACd,GAAG,EAAEO,MAAM,CAAC;MAC5B,CAAC;MACDkB,aAAaA,CAACzB,GAAG,EAAEO,MAAM;QACvB,OAAOa,SAAS,CAACpB,GAAG,EAAEO,MAAM,CAAC;MAC/B,CAAC;MACDmB,iBAAiBA,CAAC1B,GAAG,EAAEO,MAAM,EAAErB,aAAa;QAC1C,OAAOA,aAAa,GAChBvB,MAAM,CAAC4D,GAAG,CAACJ,WAAW,CAACnB,GAAG,EAAEO,MAAM,CAAC,EAAErB,aAAa,CAAC,GACnDiC,WAAW,CAACnB,GAAG,EAAEO,MAAM,CAAC;MAC9B,CAAC;MACDoB,aAAaA,CAACC,IAAI,EAAEC,OAAO;QACzB,OAAO/D,MAAM,CAACgE,GAAG,CAAC,+BAA+B,CAAC;MACpD;KACD,CAAC;EACJ,CAAC,CAAC;EAEF,MAAMC,UAAU,GAAG,OAAOxC,cAAc;EACxC,MAAMyC,QAAQ,GAAGrE,MAAM,CAACsE,OAAO,CAACF,UAAU,CAAC;EAC3C,MAAMG,mBAAmB,GAAGvE,MAAM,CAACmE,GAAG,CAAC,sCAAsC,CAAC;EAE9E,OAAOK,MAAM,CAACC,MAAM,CACjB,OAAOpE,MAAM,CAACY,IAAI,CAAC;IAClBoD,QAAQ;IACRjD,QAAQ;IACRmD,mBAAmB;IACnBG,cAAc,EAAE,CACd,IAAIxD,OAAO,CAACwD,cAAc,GAAGF,MAAM,CAACG,OAAO,CAACzD,OAAO,CAACwD,cAAc,CAAC,GAAG,EAAE,CAAC,EACzE,CAACjE,mBAAmB,EAAE,QAAQ,CAAC,CAChC;IACDc;GACD,CAAC,EACF;IACE,CAACT,MAAM,GAAGA,MAAgB;IAC1B8D,MAAM,EAAE1D;GACT,CACF;AACH,CAAC,CAAC;AAEJ;;;;AAIA,OAAO,MAAM2D,WAAW,GACtBD,MAAmC,IAEnC1E,KAAK,CAAC4E,aAAa,CACjBjF,MAAM,CAACkF,MAAM,CAACH,MAAM,CAAC,CAACI,QAAQ,EAAE,CAACC,IAAI,CACnCjF,MAAM,CAACqD,OAAO,CAACpC,IAAI,CAAC,EACpBjB,MAAM,CAAC4D,GAAG,CAAEsB,MAAM,IAChBpF,OAAO,CAACmB,IAAI,CAACF,QAAQ,EAAEmE,MAAM,CAAC,CAACD,IAAI,CACjCnF,OAAO,CAACqF,GAAG,CAAC9E,MAAM,CAAC+E,SAAS,EAAEF,MAAM,CAAC,CACtC,CACF,CACF,CACF,CAACD,IAAI,CAAC/E,KAAK,CAACmF,OAAO,CAACjF,UAAU,CAACkF,KAAK,CAAC,CAAC;AAEzC;;;;AAIA,OAAO,MAAMA,KAAK,GAChBV,MAAsB,IAEtB1E,KAAK,CAAC4E,aAAa,CACjB9E,MAAM,CAAC4D,GAAG,CAAC3C,IAAI,CAAC2D,MAAM,CAAC,EAAGM,MAAM,IAC9BpF,OAAO,CAACmB,IAAI,CAACF,QAAQ,EAAEmE,MAAM,CAAC,CAACD,IAAI,CACjCnF,OAAO,CAACqF,GAAG,CAAC9E,MAAM,CAAC+E,SAAS,EAAEF,MAAM,CAAC,CACtC,CAAC,CACL,CAACD,IAAI,CAAC/E,KAAK,CAACmF,OAAO,CAACjF,UAAU,CAACkF,KAAK,CAAC,CAAC","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/sql-d1",
3
- "version": "4.0.0-beta.6",
3
+ "version": "4.0.0-beta.60",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "description": "A Cloudflare D1 integration for Effect",
@@ -47,14 +47,14 @@
47
47
  "provenance": true
48
48
  },
49
49
  "devDependencies": {
50
- "miniflare": "^4.20260128.0",
51
- "effect": "^4.0.0-beta.6"
50
+ "miniflare": "^4.20260409.0",
51
+ "effect": "^4.0.0-beta.60"
52
52
  },
53
53
  "peerDependencies": {
54
- "effect": "^4.0.0-beta.6"
54
+ "effect": "^4.0.0-beta.60"
55
55
  },
56
56
  "dependencies": {
57
- "@cloudflare/workers-types": "^4.20260131.0"
57
+ "@cloudflare/workers-types": "^4.20260412.1"
58
58
  },
59
59
  "scripts": {
60
60
  "codegen": "effect-utils codegen",
package/src/D1Client.ts CHANGED
@@ -4,21 +4,24 @@
4
4
  import type { D1Database, D1PreparedStatement } from "@cloudflare/workers-types"
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 { identity } from "effect/Function"
10
11
  import * as Layer from "effect/Layer"
11
12
  import type * as Scope from "effect/Scope"
12
- import * as ServiceMap from "effect/ServiceMap"
13
13
  import * as Stream from "effect/Stream"
14
14
  import * as Reactivity from "effect/unstable/reactivity/Reactivity"
15
15
  import * as Client from "effect/unstable/sql/SqlClient"
16
16
  import type { Connection } from "effect/unstable/sql/SqlConnection"
17
- import { SqlError } from "effect/unstable/sql/SqlError"
17
+ import { SqlError, UnknownError } from "effect/unstable/sql/SqlError"
18
18
  import * as Statement from "effect/unstable/sql/Statement"
19
19
 
20
20
  const ATTR_DB_SYSTEM_NAME = "db.system.name"
21
21
 
22
+ const classifyError = (cause: unknown, message: string, operation: string) =>
23
+ new UnknownError({ cause, message, operation })
24
+
22
25
  /**
23
26
  * @category type ids
24
27
  * @since 1.0.0
@@ -47,7 +50,7 @@ export interface D1Client extends Client.SqlClient {
47
50
  * @category tags
48
51
  * @since 1.0.0
49
52
  */
50
- export const D1Client = ServiceMap.Service<D1Client>("@effect/sql-d1/D1Client")
53
+ export const D1Client = Context.Service<D1Client>("@effect/sql-d1/D1Client")
51
54
 
52
55
  /**
53
56
  * @category models
@@ -56,7 +59,7 @@ export const D1Client = ServiceMap.Service<D1Client>("@effect/sql-d1/D1Client")
56
59
  export interface D1ClientConfig {
57
60
  readonly db: D1Database
58
61
  readonly prepareCacheSize?: number | undefined
59
- readonly prepareCacheTTL?: Duration.DurationInput | undefined
62
+ readonly prepareCacheTTL?: Duration.Input | undefined
60
63
  readonly spanAttributes?: Record<string, unknown> | undefined
61
64
 
62
65
  readonly transformResultNames?: ((str: string) => string) | undefined
@@ -85,7 +88,7 @@ export const make = (
85
88
  lookup: (sql: string) =>
86
89
  Effect.try({
87
90
  try: () => db.prepare(sql),
88
- catch: (cause) => new SqlError({ cause, message: `Failed to prepare statement` })
91
+ catch: (cause) => new SqlError({ reason: classifyError(cause, "Failed to prepare statement", "prepare") })
89
92
  })
90
93
  })
91
94
 
@@ -101,7 +104,7 @@ export const make = (
101
104
  }
102
105
  return response.results || []
103
106
  },
104
- catch: (cause) => new SqlError({ cause, message: `Failed to execute statement` })
107
+ catch: (cause) => new SqlError({ reason: classifyError(cause, "Failed to execute statement", "execute") })
105
108
  })
106
109
 
107
110
  const runRaw = (
@@ -134,7 +137,7 @@ export const make = (
134
137
  >
135
138
  >
136
139
  },
137
- catch: (cause) => new SqlError({ cause, message: `Failed to execute statement` })
140
+ catch: (cause) => new SqlError({ reason: classifyError(cause, "Failed to execute statement", "execute") })
138
141
  })
139
142
  )
140
143
 
@@ -190,12 +193,12 @@ export const make = (
190
193
  export const layerConfig = (
191
194
  config: Config.Wrap<D1ClientConfig>
192
195
  ): Layer.Layer<D1Client | Client.SqlClient, Config.ConfigError> =>
193
- Layer.effectServices(
196
+ Layer.effectContext(
194
197
  Config.unwrap(config).asEffect().pipe(
195
198
  Effect.flatMap(make),
196
199
  Effect.map((client) =>
197
- ServiceMap.make(D1Client, client).pipe(
198
- ServiceMap.add(Client.SqlClient, client)
200
+ Context.make(D1Client, client).pipe(
201
+ Context.add(Client.SqlClient, client)
199
202
  )
200
203
  )
201
204
  )
@@ -208,9 +211,9 @@ export const layerConfig = (
208
211
  export const layer = (
209
212
  config: D1ClientConfig
210
213
  ): Layer.Layer<D1Client | Client.SqlClient, Config.ConfigError> =>
211
- Layer.effectServices(
214
+ Layer.effectContext(
212
215
  Effect.map(make(config), (client) =>
213
- ServiceMap.make(D1Client, client).pipe(
214
- ServiceMap.add(Client.SqlClient, client)
216
+ Context.make(D1Client, client).pipe(
217
+ Context.add(Client.SqlClient, client)
215
218
  ))
216
219
  ).pipe(Layer.provide(Reactivity.layer))