@effect/sql-drizzle 0.33.1 → 0.34.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/Mysql.js CHANGED
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.make = exports.layer = exports.MysqlDrizzle = void 0;
6
+ exports.makeWithConfig = exports.make = exports.layerWithConfig = exports.layer = exports.MysqlDrizzle = void 0;
7
7
  var Client = _interopRequireWildcard(require("@effect/sql/SqlClient"));
8
8
  var _mysqlCore = require("drizzle-orm/mysql-core");
9
9
  var _mysqlProxy = require("drizzle-orm/mysql-proxy");
@@ -22,9 +22,20 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
22
22
  * @since 1.0.0
23
23
  * @category constructors
24
24
  */
25
- const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
25
+ const make = config => Effect.gen(function* () {
26
26
  const client = yield* Client.SqlClient;
27
- const db = (0, _mysqlProxy.drizzle)(yield* _patch.makeRemoteCallback);
27
+ const db = (0, _mysqlProxy.drizzle)(yield* _patch.makeRemoteCallback, config);
28
+ (0, _patch.registerDialect)(db.dialect, client);
29
+ return db;
30
+ });
31
+ /**
32
+ * @since 1.0.0
33
+ * @category constructors
34
+ */
35
+ exports.make = make;
36
+ const makeWithConfig = config => Effect.gen(function* () {
37
+ const client = yield* Client.SqlClient;
38
+ const db = (0, _mysqlProxy.drizzle)(yield* _patch.makeRemoteCallback, config);
28
39
  (0, _patch.registerDialect)(db.dialect, client);
29
40
  return db;
30
41
  });
@@ -32,13 +43,20 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
32
43
  * @since 1.0.0
33
44
  * @category tags
34
45
  */
46
+ exports.makeWithConfig = makeWithConfig;
35
47
  class MysqlDrizzle extends /*#__PURE__*/Context.Tag("@effect/sql-drizzle/Mysql")() {}
36
48
  /**
37
49
  * @since 1.0.0
38
50
  * @category layers
39
51
  */
40
52
  exports.MysqlDrizzle = MysqlDrizzle;
41
- const layer = exports.layer = /*#__PURE__*/Layer.effect(MysqlDrizzle, make);
53
+ const layer = exports.layer = /*#__PURE__*/Layer.effect(MysqlDrizzle, /*#__PURE__*/make());
54
+ /**
55
+ * @since 1.0.0
56
+ * @category layers
57
+ */
58
+ const layerWithConfig = config => Layer.effect(MysqlDrizzle, makeWithConfig(config));
59
+ exports.layerWithConfig = layerWithConfig;
42
60
  (0, _patch.patch)(_queryPromise.QueryPromise.prototype);
43
61
  (0, _patch.patch)(_mysqlCore.MySqlSelectBase.prototype);
44
62
  //# sourceMappingURL=Mysql.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Mysql.js","names":["Client","_interopRequireWildcard","require","_mysqlCore","_mysqlProxy","_queryPromise","Context","Effect","Layer","_patch","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","make","exports","gen","client","SqlClient","db","drizzle","makeRemoteCallback","registerDialect","dialect","MysqlDrizzle","Tag","layer","effect","patch","QueryPromise","prototype","MySqlSelectBase"],"sources":["../../src/Mysql.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAD,OAAA;AAEA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAL,uBAAA,CAAAC,OAAA;AACA,IAAAK,MAAA,GAAAN,uBAAA,CAAAC,OAAA;AACA,IAAAM,KAAA,GAAAP,uBAAA,CAAAC,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AAAgF,SAAAQ,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAV,wBAAAU,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAZhF;;;;AAcA;;;;AAIO,MAAMW,IAAI,GAAAC,OAAA,CAAAD,IAAA,gBAAgEvB,MAAM,CAACyB,GAAG,CAAC,aAAS;EACnG,MAAMC,MAAM,GAAG,OAAOjC,MAAM,CAACkC,SAAS;EACtC,MAAMC,EAAE,GAAG,IAAAC,mBAAO,EAAC,OAAOC,yBAAkB,CAAC;EAC7C,IAAAC,sBAAe,EAAEH,EAAU,CAACI,OAAO,EAAEN,MAAM,CAAC;EAC5C,OAAOE,EAAE;AACX,CAAC,CAAC;AAEF;;;;AAIM,MAAOK,YAAa,sBAAQlC,OAAO,CAACmC,GAAG,CAAC,2BAA2B,CAAC,EAGvE;AAEH;;;;AAAAV,OAAA,CAAAS,YAAA,GAAAA,YAAA;AAIO,MAAME,KAAK,GAAAX,OAAA,CAAAW,KAAA,gBAAuDlC,KAAK,CAACmC,MAAM,CAACH,YAAY,EAAEV,IAAI,CAAC;AAOzG,IAAAc,YAAK,EAACC,0BAAY,CAACC,SAAS,CAAC;AAC7B,IAAAF,YAAK,EAACG,0BAAe,CAACD,SAAS,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"Mysql.js","names":["Client","_interopRequireWildcard","require","_mysqlCore","_mysqlProxy","_queryPromise","Context","Effect","Layer","_patch","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","make","config","gen","client","SqlClient","db","drizzle","makeRemoteCallback","registerDialect","dialect","exports","makeWithConfig","MysqlDrizzle","Tag","layer","effect","layerWithConfig","patch","QueryPromise","prototype","MySqlSelectBase"],"sources":["../../src/Mysql.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/dist/cjs/Pg.js CHANGED
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.make = exports.layer = exports.PgDrizzle = void 0;
6
+ exports.makeWithConfig = exports.make = exports.layerWithConfig = exports.layer = exports.PgDrizzle = void 0;
7
7
  var Client = _interopRequireWildcard(require("@effect/sql/SqlClient"));
8
8
  var _pgCore = require("drizzle-orm/pg-core");
9
9
  var _pgProxy = require("drizzle-orm/pg-proxy");
@@ -22,9 +22,20 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
22
22
  * @since 1.0.0
23
23
  * @category constructors
24
24
  */
25
- const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
25
+ const make = config => Effect.gen(function* () {
26
26
  const client = yield* Client.SqlClient;
27
- const db = (0, _pgProxy.drizzle)(yield* _patch.makeRemoteCallback);
27
+ const db = (0, _pgProxy.drizzle)(yield* _patch.makeRemoteCallback, config);
28
+ (0, _patch.registerDialect)(db.dialect, client);
29
+ return db;
30
+ });
31
+ /**
32
+ * @since 1.0.0
33
+ * @category constructors
34
+ */
35
+ exports.make = make;
36
+ const makeWithConfig = config => Effect.gen(function* () {
37
+ const client = yield* Client.SqlClient;
38
+ const db = (0, _pgProxy.drizzle)(yield* _patch.makeRemoteCallback, config);
28
39
  (0, _patch.registerDialect)(db.dialect, client);
29
40
  return db;
30
41
  });
@@ -32,13 +43,20 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
32
43
  * @since 1.0.0
33
44
  * @category tags
34
45
  */
46
+ exports.makeWithConfig = makeWithConfig;
35
47
  class PgDrizzle extends /*#__PURE__*/Context.Tag("@effect/sql-drizzle/Pg")() {}
36
48
  /**
37
49
  * @since 1.0.0
38
50
  * @category layers
39
51
  */
40
52
  exports.PgDrizzle = PgDrizzle;
41
- const layer = exports.layer = /*#__PURE__*/Layer.effect(PgDrizzle, make);
53
+ const layer = exports.layer = /*#__PURE__*/Layer.effect(PgDrizzle, /*#__PURE__*/make());
54
+ /**
55
+ * @since 1.0.0
56
+ * @category layers
57
+ */
58
+ const layerWithConfig = config => Layer.effect(PgDrizzle, makeWithConfig(config));
59
+ exports.layerWithConfig = layerWithConfig;
42
60
  (0, _patch.patch)(_queryPromise.QueryPromise.prototype);
43
61
  (0, _patch.patch)(_pgCore.PgSelectBase.prototype);
44
62
  //# sourceMappingURL=Pg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Pg.js","names":["Client","_interopRequireWildcard","require","_pgCore","_pgProxy","_queryPromise","Context","Effect","Layer","_patch","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","make","exports","gen","client","SqlClient","db","drizzle","makeRemoteCallback","registerDialect","dialect","PgDrizzle","Tag","layer","effect","patch","QueryPromise","prototype","PgSelectBase"],"sources":["../../src/Pg.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAEA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAL,uBAAA,CAAAC,OAAA;AACA,IAAAK,MAAA,GAAAN,uBAAA,CAAAC,OAAA;AACA,IAAAM,KAAA,GAAAP,uBAAA,CAAAC,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AAAgF,SAAAQ,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAV,wBAAAU,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAZhF;;;;AAcA;;;;AAIO,MAAMW,IAAI,GAAAC,OAAA,CAAAD,IAAA,gBAA6DvB,MAAM,CAACyB,GAAG,CAAC,aAAS;EAChG,MAAMC,MAAM,GAAG,OAAOjC,MAAM,CAACkC,SAAS;EACtC,MAAMC,EAAE,GAAG,IAAAC,gBAAO,EAAC,OAAOC,yBAAkB,CAAC;EAC7C,IAAAC,sBAAe,EAAEH,EAAU,CAACI,OAAO,EAAEN,MAAM,CAAC;EAC5C,OAAOE,EAAE;AACX,CAAC,CAAC;AAEF;;;;AAIM,MAAOK,SAAU,sBAAQlC,OAAO,CAACmC,GAAG,CAAC,wBAAwB,CAAC,EAGjE;AAEH;;;;AAAAV,OAAA,CAAAS,SAAA,GAAAA,SAAA;AAIO,MAAME,KAAK,GAAAX,OAAA,CAAAW,KAAA,gBAAoDlC,KAAK,CAACmC,MAAM,CAACH,SAAS,EAAEV,IAAI,CAAC;AAOnG,IAAAc,YAAK,EAACC,0BAAY,CAACC,SAAS,CAAC;AAC7B,IAAAF,YAAK,EAACG,oBAAY,CAACD,SAAS,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"Pg.js","names":["Client","_interopRequireWildcard","require","_pgCore","_pgProxy","_queryPromise","Context","Effect","Layer","_patch","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","make","config","gen","client","SqlClient","db","drizzle","makeRemoteCallback","registerDialect","dialect","exports","makeWithConfig","PgDrizzle","Tag","layer","effect","layerWithConfig","patch","QueryPromise","prototype","PgSelectBase"],"sources":["../../src/Pg.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.make = exports.layer = exports.SqliteDrizzle = void 0;
6
+ exports.makeWithConfig = exports.make = exports.layerWithConfig = exports.layer = exports.SqliteDrizzle = void 0;
7
7
  var Client = _interopRequireWildcard(require("@effect/sql/SqlClient"));
8
8
  var _queryPromise = require("drizzle-orm/query-promise");
9
9
  var _sqliteCore = require("drizzle-orm/sqlite-core");
@@ -22,9 +22,20 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
22
22
  * @since 1.0.0
23
23
  * @category constructors
24
24
  */
25
- const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
25
+ const make = config => Effect.gen(function* () {
26
26
  const client = yield* Client.SqlClient;
27
- const db = (0, _sqliteProxy.drizzle)(yield* _patch.makeRemoteCallback);
27
+ const db = (0, _sqliteProxy.drizzle)(yield* _patch.makeRemoteCallback, config);
28
+ (0, _patch.registerDialect)(db.dialect, client);
29
+ return db;
30
+ });
31
+ /**
32
+ * @since 1.0.0
33
+ * @category constructors
34
+ */
35
+ exports.make = make;
36
+ const makeWithConfig = config => Effect.gen(function* () {
37
+ const client = yield* Client.SqlClient;
38
+ const db = (0, _sqliteProxy.drizzle)(yield* _patch.makeRemoteCallback, config);
28
39
  (0, _patch.registerDialect)(db.dialect, client);
29
40
  return db;
30
41
  });
@@ -32,13 +43,20 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
32
43
  * @since 1.0.0
33
44
  * @category tags
34
45
  */
46
+ exports.makeWithConfig = makeWithConfig;
35
47
  class SqliteDrizzle extends /*#__PURE__*/Context.Tag("@effect/sql-drizzle/Sqlite")() {}
36
48
  /**
37
49
  * @since 1.0.0
38
50
  * @category layers
39
51
  */
40
52
  exports.SqliteDrizzle = SqliteDrizzle;
41
- const layer = exports.layer = /*#__PURE__*/Layer.scoped(SqliteDrizzle, make);
53
+ const layer = exports.layer = /*#__PURE__*/Layer.scoped(SqliteDrizzle, /*#__PURE__*/make());
54
+ /**
55
+ * @since 1.0.0
56
+ * @category layers
57
+ */
58
+ const layerWithConfig = config => Layer.effect(SqliteDrizzle, makeWithConfig(config));
59
+ exports.layerWithConfig = layerWithConfig;
42
60
  (0, _patch.patch)(_queryPromise.QueryPromise.prototype);
43
61
  (0, _patch.patch)(_sqliteCore.SQLiteSelectBase.prototype);
44
62
  //# sourceMappingURL=Sqlite.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Sqlite.js","names":["Client","_interopRequireWildcard","require","_queryPromise","_sqliteCore","_sqliteProxy","Context","Effect","Layer","_patch","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","make","exports","gen","client","SqlClient","db","drizzle","makeRemoteCallback","registerDialect","dialect","SqliteDrizzle","Tag","layer","scoped","patch","QueryPromise","prototype","SQLiteSelectBase"],"sources":["../../src/Sqlite.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAEA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAL,uBAAA,CAAAC,OAAA;AACA,IAAAK,MAAA,GAAAN,uBAAA,CAAAC,OAAA;AACA,IAAAM,KAAA,GAAAP,uBAAA,CAAAC,OAAA;AAEA,IAAAO,MAAA,GAAAP,OAAA;AAAgF,SAAAQ,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAV,wBAAAU,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAbhF;;;;AAeA;;;;AAIO,MAAMW,IAAI,GAAAC,OAAA,CAAAD,IAAA,gBAAyEvB,MAAM,CAACyB,GAAG,CAAC,aAAS;EAC5G,MAAMC,MAAM,GAAG,OAAOjC,MAAM,CAACkC,SAAS;EACtC,MAAMC,EAAE,GAAG,IAAAC,oBAAO,EAAC,OAAOC,yBAAkB,CAAC;EAC7C,IAAAC,sBAAe,EAAEH,EAAU,CAACI,OAAO,EAAEN,MAAM,CAAC;EAC5C,OAAOE,EAAE;AACX,CAAC,CAAC;AAEF;;;;AAIM,MAAOK,aAAc,sBAAQlC,OAAO,CAACmC,GAAG,CAAC,4BAA4B,CAAC,EAGzE;AAEH;;;;AAAAV,OAAA,CAAAS,aAAA,GAAAA,aAAA;AAIO,MAAME,KAAK,GAAAX,OAAA,CAAAW,KAAA,gBAAwDlC,KAAK,CAACmC,MAAM,CAACH,aAAa,EAAEV,IAAI,CAAC;AAO3G,IAAAc,YAAK,EAACC,0BAAY,CAACC,SAAS,CAAC;AAC7B,IAAAF,YAAK,EAACG,4BAAgB,CAACD,SAAS,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"Sqlite.js","names":["Client","_interopRequireWildcard","require","_queryPromise","_sqliteCore","_sqliteProxy","Context","Effect","Layer","_patch","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","make","config","gen","client","SqlClient","db","drizzle","makeRemoteCallback","registerDialect","dialect","exports","makeWithConfig","SqliteDrizzle","Tag","layer","scoped","layerWithConfig","effect","patch","QueryPromise","prototype","SQLiteSelectBase"],"sources":["../../src/Sqlite.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -46,7 +46,12 @@ const PatchProto = {
46
46
  } = this.toSQL();
47
47
  statement = client.unsafe(sql, params);
48
48
  }
49
- return Effect.map(statement.values, rows => rows.map(row => mapResultRow(prepared.fields, row, prepared.joinsNotNullableMap)));
49
+ return Effect.map(statement.values, rows => {
50
+ if (prepared.customResultMapper) {
51
+ return prepared.customResultMapper(rows);
52
+ }
53
+ return rows.map(row => mapResultRow(prepared.fields, row, prepared.joinsNotNullableMap));
54
+ });
50
55
  }
51
56
  };
52
57
  /** @internal */
@@ -64,6 +69,11 @@ const makeRemoteCallback = exports.makeRemoteCallback = /*#__PURE__*/Effect.gen(
64
69
  const runPromise = Runtime.runPromise(runtime);
65
70
  return (sql, params, method) => {
66
71
  const statement = client.unsafe(sql, params);
72
+ if (method === "execute") {
73
+ return runPromise(Effect.map(statement.raw, header => ({
74
+ rows: [header]
75
+ })));
76
+ }
67
77
  let effect = method === "all" || method === "values" ? statement.values : statement.withoutTransform;
68
78
  if (method === "get") {
69
79
  effect = Effect.map(effect, rows => rows[0] ?? []);
@@ -1 +1 @@
1
- {"version":3,"file":"patch.js","names":["Client","_interopRequireWildcard","require","_SqlError","DUtils","Effect","Effectable","_GlobalValue","Runtime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","clientRegistry","globalValue","registerDialect","dialect","client","exports","mapResultRow","PatchProto","CommitPrototype","commit","undefined","tryPromise","try","execute","catch","cause","SqlError","message","prepared","prepare","statement","unsafe","query","sql","params","queryString","toSQL","map","values","rows","row","fields","joinsNotNullableMap","patch","prototype","EffectTypeId","assign","makeRemoteCallback","gen","SqlClient","runtime","runPromise","method","effect","withoutTransform"],"sources":["../../../src/internal/patch.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"patch.js","names":["Client","_interopRequireWildcard","require","_SqlError","DUtils","Effect","Effectable","_GlobalValue","Runtime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","clientRegistry","globalValue","registerDialect","dialect","client","exports","mapResultRow","PatchProto","CommitPrototype","commit","undefined","tryPromise","try","execute","catch","cause","SqlError","message","prepared","prepare","statement","unsafe","query","sql","params","queryString","toSQL","map","values","rows","customResultMapper","row","fields","joinsNotNullableMap","patch","prototype","EffectTypeId","assign","makeRemoteCallback","gen","SqlClient","runtime","runPromise","method","raw","header","effect","withoutTransform"],"sources":["../../../src/internal/patch.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -3,6 +3,7 @@
3
3
  */
4
4
  import * as Client from "@effect/sql/SqlClient";
5
5
  import type { SqlError } from "@effect/sql/SqlError";
6
+ import type { DrizzleConfig } from "drizzle-orm";
6
7
  import type { MySqlRemoteDatabase } from "drizzle-orm/mysql-proxy";
7
8
  import * as Context from "effect/Context";
8
9
  import * as Effect from "effect/Effect";
@@ -11,8 +12,13 @@ import * as Layer from "effect/Layer";
11
12
  * @since 1.0.0
12
13
  * @category constructors
13
14
  */
14
- export declare const make: Effect.Effect<MySqlRemoteDatabase, never, Client.SqlClient>;
15
- declare const MysqlDrizzle_base: Context.TagClass<MysqlDrizzle, "@effect/sql-drizzle/Mysql", MySqlRemoteDatabase>;
15
+ export declare const make: <TSchema extends Record<string, unknown> = Record<string, never>>(config?: Omit<DrizzleConfig<TSchema>, "logger">) => Effect.Effect<MySqlRemoteDatabase<TSchema>, never, Client.SqlClient>;
16
+ /**
17
+ * @since 1.0.0
18
+ * @category constructors
19
+ */
20
+ export declare const makeWithConfig: (config: DrizzleConfig) => Effect.Effect<MySqlRemoteDatabase, never, Client.SqlClient>;
21
+ declare const MysqlDrizzle_base: Context.TagClass<MysqlDrizzle, "@effect/sql-drizzle/Mysql", MySqlRemoteDatabase<Record<string, never>>>;
16
22
  /**
17
23
  * @since 1.0.0
18
24
  * @category tags
@@ -24,6 +30,11 @@ export declare class MysqlDrizzle extends MysqlDrizzle_base {
24
30
  * @category layers
25
31
  */
26
32
  export declare const layer: Layer.Layer<MysqlDrizzle, never, Client.SqlClient>;
33
+ /**
34
+ * @since 1.0.0
35
+ * @category layers
36
+ */
37
+ export declare const layerWithConfig: (config: DrizzleConfig) => Layer.Layer<MysqlDrizzle, never, Client.SqlClient>;
27
38
  declare module "drizzle-orm" {
28
39
  interface QueryPromise<T> extends Effect.Effect<T, SqlError> {
29
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Mysql.d.ts","sourceRoot":"","sources":["../../src/Mysql.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAEpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAGlE,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAK3E,CAAA;;AAEF;;;GAGG;AACH,qBAAa,YAAa,SAAQ,iBAG/B;CAAG;AAEN;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAAoC,CAAA;AAIzG,OAAO,QAAQ,aAAa,CAAC;IAC3B,UAAiB,YAAY,CAAC,CAAC,CAAE,SAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC;KAAG;CACvE"}
1
+ {"version":3,"file":"Mysql.d.ts","sourceRoot":"","sources":["../../src/Mysql.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAGlE,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC;;;GAGG;AACH,eAAO,MAAM,IAAI,GAAI,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,mCACjD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,KAC9C,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAMlE,CAAA;AAEJ;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAQ9G,CAAA;;AAEJ;;;GAGG;AACH,qBAAa,YAAa,SAAQ,iBAG/B;CAAG;AAEN;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAAsC,CAAA;AAE3G;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAEnD,CAAA;AAIvD,OAAO,QAAQ,aAAa,CAAC;IAC3B,UAAiB,YAAY,CAAC,CAAC,CAAE,SAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC;KAAG;CACvE"}
package/dist/dts/Pg.d.ts CHANGED
@@ -3,6 +3,7 @@
3
3
  */
4
4
  import * as Client from "@effect/sql/SqlClient";
5
5
  import type { SqlError } from "@effect/sql/SqlError";
6
+ import type { DrizzleConfig } from "drizzle-orm";
6
7
  import type { PgRemoteDatabase } from "drizzle-orm/pg-proxy";
7
8
  import * as Context from "effect/Context";
8
9
  import * as Effect from "effect/Effect";
@@ -11,8 +12,13 @@ import * as Layer from "effect/Layer";
11
12
  * @since 1.0.0
12
13
  * @category constructors
13
14
  */
14
- export declare const make: Effect.Effect<PgRemoteDatabase, never, Client.SqlClient>;
15
- declare const PgDrizzle_base: Context.TagClass<PgDrizzle, "@effect/sql-drizzle/Pg", PgRemoteDatabase>;
15
+ export declare const make: <TSchema extends Record<string, unknown> = Record<string, never>>(config?: Omit<DrizzleConfig<TSchema>, "logger">) => Effect.Effect<PgRemoteDatabase<TSchema>, never, Client.SqlClient>;
16
+ /**
17
+ * @since 1.0.0
18
+ * @category constructors
19
+ */
20
+ export declare const makeWithConfig: (config: DrizzleConfig) => Effect.Effect<PgRemoteDatabase, never, Client.SqlClient>;
21
+ declare const PgDrizzle_base: Context.TagClass<PgDrizzle, "@effect/sql-drizzle/Pg", PgRemoteDatabase<Record<string, never>>>;
16
22
  /**
17
23
  * @since 1.0.0
18
24
  * @category tags
@@ -24,6 +30,11 @@ export declare class PgDrizzle extends PgDrizzle_base {
24
30
  * @category layers
25
31
  */
26
32
  export declare const layer: Layer.Layer<PgDrizzle, never, Client.SqlClient>;
33
+ /**
34
+ * @since 1.0.0
35
+ * @category layers
36
+ */
37
+ export declare const layerWithConfig: (config: DrizzleConfig) => Layer.Layer<PgDrizzle, never, Client.SqlClient>;
27
38
  declare module "drizzle-orm" {
28
39
  interface QueryPromise<T> extends Effect.Effect<T, SqlError> {
29
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Pg.d.ts","sourceRoot":"","sources":["../../src/Pg.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAGpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAE5D,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAKxE,CAAA;;AAEF;;;GAGG;AACH,qBAAa,SAAU,SAAQ,cAG5B;CAAG;AAEN;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAAiC,CAAA;AAInG,OAAO,QAAQ,aAAa,CAAC;IAC3B,UAAiB,YAAY,CAAC,CAAC,CAAE,SAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC;KAAG;CACvE"}
1
+ {"version":3,"file":"Pg.d.ts","sourceRoot":"","sources":["../../src/Pg.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAGhD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAE5D,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC;;;GAGG;AACH,eAAO,MAAM,IAAI,GAAI,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,mCACjD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,KAC9C,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAM/D,CAAA;AAEJ;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAQ3G,CAAA;;AAEJ;;;GAGG;AACH,qBAAa,SAAU,SAAQ,cAG5B;CAAG;AAEN;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAAmC,CAAA;AAErG;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CACtD,CAAA;AAIjD,OAAO,QAAQ,aAAa,CAAC;IAC3B,UAAiB,YAAY,CAAC,CAAC,CAAE,SAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC;KAAG;CACvE"}
@@ -3,16 +3,21 @@
3
3
  */
4
4
  import * as Client from "@effect/sql/SqlClient";
5
5
  import type { SqlError } from "@effect/sql/SqlError";
6
+ import type { DrizzleConfig } from "drizzle-orm";
6
7
  import type { SqliteRemoteDatabase } from "drizzle-orm/sqlite-proxy";
7
8
  import * as Context from "effect/Context";
8
9
  import * as Effect from "effect/Effect";
9
10
  import * as Layer from "effect/Layer";
10
- import type { Scope } from "effect/Scope";
11
11
  /**
12
12
  * @since 1.0.0
13
13
  * @category constructors
14
14
  */
15
- export declare const make: Effect.Effect<SqliteRemoteDatabase, never, Client.SqlClient | Scope>;
15
+ export declare const make: <TSchema extends Record<string, unknown> = Record<string, never>>(config?: Omit<DrizzleConfig<TSchema>, "logger">) => Effect.Effect<SqliteRemoteDatabase<TSchema>, never, Client.SqlClient>;
16
+ /**
17
+ * @since 1.0.0
18
+ * @category constructors
19
+ */
20
+ export declare const makeWithConfig: (config: DrizzleConfig) => Effect.Effect<SqliteRemoteDatabase, never, Client.SqlClient>;
16
21
  declare const SqliteDrizzle_base: Context.TagClass<SqliteDrizzle, "@effect/sql-drizzle/Sqlite", SqliteRemoteDatabase<Record<string, never>>>;
17
22
  /**
18
23
  * @since 1.0.0
@@ -25,6 +30,11 @@ export declare class SqliteDrizzle extends SqliteDrizzle_base {
25
30
  * @category layers
26
31
  */
27
32
  export declare const layer: Layer.Layer<SqliteDrizzle, never, Client.SqlClient>;
33
+ /**
34
+ * @since 1.0.0
35
+ * @category layers
36
+ */
37
+ export declare const layerWithConfig: (config: DrizzleConfig) => Layer.Layer<SqliteDrizzle, never, Client.SqlClient>;
28
38
  declare module "drizzle-orm" {
29
39
  interface QueryPromise<T> extends Effect.Effect<T, SqlError> {
30
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Sqlite.d.ts","sourceRoot":"","sources":["../../src/Sqlite.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAGpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAEpE,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAGzC;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,GAAG,KAAK,CAKpF,CAAA;;AAEF;;;GAGG;AACH,qBAAa,aAAc,SAAQ,kBAGhC;CAAG;AAEN;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAAqC,CAAA;AAI3G,OAAO,QAAQ,aAAa,CAAC;IAC3B,UAAiB,YAAY,CAAC,CAAC,CAAE,SAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC;KAAG;CACvE"}
1
+ {"version":3,"file":"Sqlite.d.ts","sourceRoot":"","sources":["../../src/Sqlite.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAGhD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAEpE,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC;;;GAGG;AACH,eAAO,MAAM,IAAI,GAAI,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,mCACjD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,KAC9C,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAMnE,CAAA;AAEJ;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAQ/G,CAAA;;AAEJ;;;GAGG;AACH,qBAAa,aAAc,SAAQ,kBAGhC;CAAG;AAEN;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAAuC,CAAA;AAE7G;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAEnD,CAAA;AAIxD,OAAO,QAAQ,aAAa,CAAC;IAC3B,UAAiB,YAAY,CAAC,CAAC,CAAE,SAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC;KAAG;CACvE"}
package/dist/esm/Mysql.js CHANGED
@@ -13,9 +13,19 @@ import { makeRemoteCallback, patch, registerDialect } from "./internal/patch.js"
13
13
  * @since 1.0.0
14
14
  * @category constructors
15
15
  */
16
- export const make = /*#__PURE__*/Effect.gen(function* () {
16
+ export const make = config => Effect.gen(function* () {
17
17
  const client = yield* Client.SqlClient;
18
- const db = drizzle(yield* makeRemoteCallback);
18
+ const db = drizzle(yield* makeRemoteCallback, config);
19
+ registerDialect(db.dialect, client);
20
+ return db;
21
+ });
22
+ /**
23
+ * @since 1.0.0
24
+ * @category constructors
25
+ */
26
+ export const makeWithConfig = config => Effect.gen(function* () {
27
+ const client = yield* Client.SqlClient;
28
+ const db = drizzle(yield* makeRemoteCallback, config);
19
29
  registerDialect(db.dialect, client);
20
30
  return db;
21
31
  });
@@ -28,7 +38,12 @@ export class MysqlDrizzle extends /*#__PURE__*/Context.Tag("@effect/sql-drizzle/
28
38
  * @since 1.0.0
29
39
  * @category layers
30
40
  */
31
- export const layer = /*#__PURE__*/Layer.effect(MysqlDrizzle, make);
41
+ export const layer = /*#__PURE__*/Layer.effect(MysqlDrizzle, /*#__PURE__*/make());
42
+ /**
43
+ * @since 1.0.0
44
+ * @category layers
45
+ */
46
+ export const layerWithConfig = config => Layer.effect(MysqlDrizzle, makeWithConfig(config));
32
47
  patch(QueryPromise.prototype);
33
48
  patch(MySqlSelectBase.prototype);
34
49
  //# sourceMappingURL=Mysql.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Mysql.js","names":["Client","MySqlSelectBase","drizzle","QueryPromise","Context","Effect","Layer","makeRemoteCallback","patch","registerDialect","make","gen","client","SqlClient","db","dialect","MysqlDrizzle","Tag","layer","effect","prototype"],"sources":["../../src/Mysql.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,MAAM,MAAM,uBAAuB;AAE/C,SAASC,eAAe,QAAQ,wBAAwB;AAExD,SAASC,OAAO,QAAQ,yBAAyB;AACjD,SAASC,YAAY,QAAQ,2BAA2B;AACxD,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,SAASC,kBAAkB,EAAEC,KAAK,EAAEC,eAAe,QAAQ,qBAAqB;AAEhF;;;;AAIA,OAAO,MAAMC,IAAI,gBAAgEL,MAAM,CAACM,GAAG,CAAC,aAAS;EACnG,MAAMC,MAAM,GAAG,OAAOZ,MAAM,CAACa,SAAS;EACtC,MAAMC,EAAE,GAAGZ,OAAO,CAAC,OAAOK,kBAAkB,CAAC;EAC7CE,eAAe,CAAEK,EAAU,CAACC,OAAO,EAAEH,MAAM,CAAC;EAC5C,OAAOE,EAAE;AACX,CAAC,CAAC;AAEF;;;;AAIA,OAAM,MAAOE,YAAa,sBAAQZ,OAAO,CAACa,GAAG,CAAC,2BAA2B,CAAC,EAGvE;AAEH;;;;AAIA,OAAO,MAAMC,KAAK,gBAAuDZ,KAAK,CAACa,MAAM,CAACH,YAAY,EAAEN,IAAI,CAAC;AAOzGF,KAAK,CAACL,YAAY,CAACiB,SAAS,CAAC;AAC7BZ,KAAK,CAACP,eAAe,CAACmB,SAAS,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"Mysql.js","names":["Client","MySqlSelectBase","drizzle","QueryPromise","Context","Effect","Layer","makeRemoteCallback","patch","registerDialect","make","config","gen","client","SqlClient","db","dialect","makeWithConfig","MysqlDrizzle","Tag","layer","effect","layerWithConfig","prototype"],"sources":["../../src/Mysql.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,MAAM,MAAM,uBAAuB;AAG/C,SAASC,eAAe,QAAQ,wBAAwB;AAExD,SAASC,OAAO,QAAQ,yBAAyB;AACjD,SAASC,YAAY,QAAQ,2BAA2B;AACxD,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,SAASC,kBAAkB,EAAEC,KAAK,EAAEC,eAAe,QAAQ,qBAAqB;AAEhF;;;;AAIA,OAAO,MAAMC,IAAI,GACfC,MAA+C,IAE/CN,MAAM,CAACO,GAAG,CAAC,aAAS;EAClB,MAAMC,MAAM,GAAG,OAAOb,MAAM,CAACc,SAAS;EACtC,MAAMC,EAAE,GAAGb,OAAO,CAAC,OAAOK,kBAAkB,EAAEI,MAAM,CAAC;EACrDF,eAAe,CAAEM,EAAU,CAACC,OAAO,EAAEH,MAAM,CAAC;EAC5C,OAAOE,EAAE;AACX,CAAC,CAAC;AAEJ;;;;AAIA,OAAO,MAAME,cAAc,GACzBN,MAAM,IAENN,MAAM,CAACO,GAAG,CAAC,aAAS;EAClB,MAAMC,MAAM,GAAG,OAAOb,MAAM,CAACc,SAAS;EACtC,MAAMC,EAAE,GAAGb,OAAO,CAAC,OAAOK,kBAAkB,EAAEI,MAAM,CAAC;EACrDF,eAAe,CAAEM,EAAU,CAACC,OAAO,EAAEH,MAAM,CAAC;EAC5C,OAAOE,EAAE;AACX,CAAC,CAAC;AAEJ;;;;AAIA,OAAM,MAAOG,YAAa,sBAAQd,OAAO,CAACe,GAAG,CAAC,2BAA2B,CAAC,EAGvE;AAEH;;;;AAIA,OAAO,MAAMC,KAAK,gBAAuDd,KAAK,CAACe,MAAM,CAACH,YAAY,eAAER,IAAI,EAAE,CAAC;AAE3G;;;;AAIA,OAAO,MAAMY,eAAe,GAC1BX,MAAM,IACHL,KAAK,CAACe,MAAM,CAACH,YAAY,EAAED,cAAc,CAACN,MAAM,CAAC,CAAC;AAOvDH,KAAK,CAACL,YAAY,CAACoB,SAAS,CAAC;AAC7Bf,KAAK,CAACP,eAAe,CAACsB,SAAS,CAAC","ignoreList":[]}
package/dist/esm/Pg.js CHANGED
@@ -13,9 +13,19 @@ import { makeRemoteCallback, patch, registerDialect } from "./internal/patch.js"
13
13
  * @since 1.0.0
14
14
  * @category constructors
15
15
  */
16
- export const make = /*#__PURE__*/Effect.gen(function* () {
16
+ export const make = config => Effect.gen(function* () {
17
17
  const client = yield* Client.SqlClient;
18
- const db = drizzle(yield* makeRemoteCallback);
18
+ const db = drizzle(yield* makeRemoteCallback, config);
19
+ registerDialect(db.dialect, client);
20
+ return db;
21
+ });
22
+ /**
23
+ * @since 1.0.0
24
+ * @category constructors
25
+ */
26
+ export const makeWithConfig = config => Effect.gen(function* () {
27
+ const client = yield* Client.SqlClient;
28
+ const db = drizzle(yield* makeRemoteCallback, config);
19
29
  registerDialect(db.dialect, client);
20
30
  return db;
21
31
  });
@@ -28,7 +38,12 @@ export class PgDrizzle extends /*#__PURE__*/Context.Tag("@effect/sql-drizzle/Pg"
28
38
  * @since 1.0.0
29
39
  * @category layers
30
40
  */
31
- export const layer = /*#__PURE__*/Layer.effect(PgDrizzle, make);
41
+ export const layer = /*#__PURE__*/Layer.effect(PgDrizzle, /*#__PURE__*/make());
42
+ /**
43
+ * @since 1.0.0
44
+ * @category layers
45
+ */
46
+ export const layerWithConfig = config => Layer.effect(PgDrizzle, makeWithConfig(config));
32
47
  patch(QueryPromise.prototype);
33
48
  patch(PgSelectBase.prototype);
34
49
  //# sourceMappingURL=Pg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Pg.js","names":["Client","PgSelectBase","drizzle","QueryPromise","Context","Effect","Layer","makeRemoteCallback","patch","registerDialect","make","gen","client","SqlClient","db","dialect","PgDrizzle","Tag","layer","effect","prototype"],"sources":["../../src/Pg.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,MAAM,MAAM,uBAAuB;AAE/C,SAASC,YAAY,QAAQ,qBAAqB;AAClD,SAASC,OAAO,QAAQ,sBAAsB;AAE9C,SAASC,YAAY,QAAQ,2BAA2B;AACxD,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,SAASC,kBAAkB,EAAEC,KAAK,EAAEC,eAAe,QAAQ,qBAAqB;AAEhF;;;;AAIA,OAAO,MAAMC,IAAI,gBAA6DL,MAAM,CAACM,GAAG,CAAC,aAAS;EAChG,MAAMC,MAAM,GAAG,OAAOZ,MAAM,CAACa,SAAS;EACtC,MAAMC,EAAE,GAAGZ,OAAO,CAAC,OAAOK,kBAAkB,CAAC;EAC7CE,eAAe,CAAEK,EAAU,CAACC,OAAO,EAAEH,MAAM,CAAC;EAC5C,OAAOE,EAAE;AACX,CAAC,CAAC;AAEF;;;;AAIA,OAAM,MAAOE,SAAU,sBAAQZ,OAAO,CAACa,GAAG,CAAC,wBAAwB,CAAC,EAGjE;AAEH;;;;AAIA,OAAO,MAAMC,KAAK,gBAAoDZ,KAAK,CAACa,MAAM,CAACH,SAAS,EAAEN,IAAI,CAAC;AAOnGF,KAAK,CAACL,YAAY,CAACiB,SAAS,CAAC;AAC7BZ,KAAK,CAACP,YAAY,CAACmB,SAAS,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"Pg.js","names":["Client","PgSelectBase","drizzle","QueryPromise","Context","Effect","Layer","makeRemoteCallback","patch","registerDialect","make","config","gen","client","SqlClient","db","dialect","makeWithConfig","PgDrizzle","Tag","layer","effect","layerWithConfig","prototype"],"sources":["../../src/Pg.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,MAAM,MAAM,uBAAuB;AAG/C,SAASC,YAAY,QAAQ,qBAAqB;AAClD,SAASC,OAAO,QAAQ,sBAAsB;AAE9C,SAASC,YAAY,QAAQ,2BAA2B;AACxD,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,SAASC,kBAAkB,EAAEC,KAAK,EAAEC,eAAe,QAAQ,qBAAqB;AAEhF;;;;AAIA,OAAO,MAAMC,IAAI,GACfC,MAA+C,IAE/CN,MAAM,CAACO,GAAG,CAAC,aAAS;EAClB,MAAMC,MAAM,GAAG,OAAOb,MAAM,CAACc,SAAS;EACtC,MAAMC,EAAE,GAAGb,OAAO,CAAC,OAAOK,kBAAkB,EAAEI,MAAM,CAAC;EACrDF,eAAe,CAAEM,EAAU,CAACC,OAAO,EAAEH,MAAM,CAAC;EAC5C,OAAOE,EAAE;AACX,CAAC,CAAC;AAEJ;;;;AAIA,OAAO,MAAME,cAAc,GACzBN,MAAM,IAENN,MAAM,CAACO,GAAG,CAAC,aAAS;EAClB,MAAMC,MAAM,GAAG,OAAOb,MAAM,CAACc,SAAS;EACtC,MAAMC,EAAE,GAAGb,OAAO,CAAC,OAAOK,kBAAkB,EAAEI,MAAM,CAAC;EACrDF,eAAe,CAAEM,EAAU,CAACC,OAAO,EAAEH,MAAM,CAAC;EAC5C,OAAOE,EAAE;AACX,CAAC,CAAC;AAEJ;;;;AAIA,OAAM,MAAOG,SAAU,sBAAQd,OAAO,CAACe,GAAG,CAAC,wBAAwB,CAAC,EAGjE;AAEH;;;;AAIA,OAAO,MAAMC,KAAK,gBAAoDd,KAAK,CAACe,MAAM,CAACH,SAAS,eAAER,IAAI,EAAE,CAAC;AAErG;;;;AAIA,OAAO,MAAMY,eAAe,GAAgFX,MAAM,IAChHL,KAAK,CAACe,MAAM,CAACH,SAAS,EAAED,cAAc,CAACN,MAAM,CAAC,CAAC;AAOjDH,KAAK,CAACL,YAAY,CAACoB,SAAS,CAAC;AAC7Bf,KAAK,CAACP,YAAY,CAACsB,SAAS,CAAC","ignoreList":[]}
@@ -13,9 +13,19 @@ import { makeRemoteCallback, patch, registerDialect } from "./internal/patch.js"
13
13
  * @since 1.0.0
14
14
  * @category constructors
15
15
  */
16
- export const make = /*#__PURE__*/Effect.gen(function* () {
16
+ export const make = config => Effect.gen(function* () {
17
17
  const client = yield* Client.SqlClient;
18
- const db = drizzle(yield* makeRemoteCallback);
18
+ const db = drizzle(yield* makeRemoteCallback, config);
19
+ registerDialect(db.dialect, client);
20
+ return db;
21
+ });
22
+ /**
23
+ * @since 1.0.0
24
+ * @category constructors
25
+ */
26
+ export const makeWithConfig = config => Effect.gen(function* () {
27
+ const client = yield* Client.SqlClient;
28
+ const db = drizzle(yield* makeRemoteCallback, config);
19
29
  registerDialect(db.dialect, client);
20
30
  return db;
21
31
  });
@@ -28,7 +38,12 @@ export class SqliteDrizzle extends /*#__PURE__*/Context.Tag("@effect/sql-drizzle
28
38
  * @since 1.0.0
29
39
  * @category layers
30
40
  */
31
- export const layer = /*#__PURE__*/Layer.scoped(SqliteDrizzle, make);
41
+ export const layer = /*#__PURE__*/Layer.scoped(SqliteDrizzle, /*#__PURE__*/make());
42
+ /**
43
+ * @since 1.0.0
44
+ * @category layers
45
+ */
46
+ export const layerWithConfig = config => Layer.effect(SqliteDrizzle, makeWithConfig(config));
32
47
  patch(QueryPromise.prototype);
33
48
  patch(SQLiteSelectBase.prototype);
34
49
  //# sourceMappingURL=Sqlite.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Sqlite.js","names":["Client","QueryPromise","SQLiteSelectBase","drizzle","Context","Effect","Layer","makeRemoteCallback","patch","registerDialect","make","gen","client","SqlClient","db","dialect","SqliteDrizzle","Tag","layer","scoped","prototype"],"sources":["../../src/Sqlite.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,MAAM,MAAM,uBAAuB;AAE/C,SAASC,YAAY,QAAQ,2BAA2B;AACxD,SAASC,gBAAgB,QAAQ,yBAAyB;AAE1D,SAASC,OAAO,QAAQ,0BAA0B;AAClD,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AAErC,SAASC,kBAAkB,EAAEC,KAAK,EAAEC,eAAe,QAAQ,qBAAqB;AAEhF;;;;AAIA,OAAO,MAAMC,IAAI,gBAAyEL,MAAM,CAACM,GAAG,CAAC,aAAS;EAC5G,MAAMC,MAAM,GAAG,OAAOZ,MAAM,CAACa,SAAS;EACtC,MAAMC,EAAE,GAAGX,OAAO,CAAC,OAAOI,kBAAkB,CAAC;EAC7CE,eAAe,CAAEK,EAAU,CAACC,OAAO,EAAEH,MAAM,CAAC;EAC5C,OAAOE,EAAE;AACX,CAAC,CAAC;AAEF;;;;AAIA,OAAM,MAAOE,aAAc,sBAAQZ,OAAO,CAACa,GAAG,CAAC,4BAA4B,CAAC,EAGzE;AAEH;;;;AAIA,OAAO,MAAMC,KAAK,gBAAwDZ,KAAK,CAACa,MAAM,CAACH,aAAa,EAAEN,IAAI,CAAC;AAO3GF,KAAK,CAACP,YAAY,CAACmB,SAAS,CAAC;AAC7BZ,KAAK,CAACN,gBAAgB,CAACkB,SAAS,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"Sqlite.js","names":["Client","QueryPromise","SQLiteSelectBase","drizzle","Context","Effect","Layer","makeRemoteCallback","patch","registerDialect","make","config","gen","client","SqlClient","db","dialect","makeWithConfig","SqliteDrizzle","Tag","layer","scoped","layerWithConfig","effect","prototype"],"sources":["../../src/Sqlite.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,MAAM,MAAM,uBAAuB;AAG/C,SAASC,YAAY,QAAQ,2BAA2B;AACxD,SAASC,gBAAgB,QAAQ,yBAAyB;AAE1D,SAASC,OAAO,QAAQ,0BAA0B;AAClD,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,SAASC,kBAAkB,EAAEC,KAAK,EAAEC,eAAe,QAAQ,qBAAqB;AAEhF;;;;AAIA,OAAO,MAAMC,IAAI,GACfC,MAA+C,IAE/CN,MAAM,CAACO,GAAG,CAAC,aAAS;EAClB,MAAMC,MAAM,GAAG,OAAOb,MAAM,CAACc,SAAS;EACtC,MAAMC,EAAE,GAAGZ,OAAO,CAAC,OAAOI,kBAAkB,EAAEI,MAAM,CAAC;EACrDF,eAAe,CAAEM,EAAU,CAACC,OAAO,EAAEH,MAAM,CAAC;EAC5C,OAAOE,EAAE;AACX,CAAC,CAAC;AAEJ;;;;AAIA,OAAO,MAAME,cAAc,GACzBN,MAAM,IAENN,MAAM,CAACO,GAAG,CAAC,aAAS;EAClB,MAAMC,MAAM,GAAG,OAAOb,MAAM,CAACc,SAAS;EACtC,MAAMC,EAAE,GAAGZ,OAAO,CAAC,OAAOI,kBAAkB,EAAEI,MAAM,CAAC;EACrDF,eAAe,CAAEM,EAAU,CAACC,OAAO,EAAEH,MAAM,CAAC;EAC5C,OAAOE,EAAE;AACX,CAAC,CAAC;AAEJ;;;;AAIA,OAAM,MAAOG,aAAc,sBAAQd,OAAO,CAACe,GAAG,CAAC,4BAA4B,CAAC,EAGzE;AAEH;;;;AAIA,OAAO,MAAMC,KAAK,gBAAwDd,KAAK,CAACe,MAAM,CAACH,aAAa,eAAER,IAAI,EAAE,CAAC;AAE7G;;;;AAIA,OAAO,MAAMY,eAAe,GAC1BX,MAAM,IACHL,KAAK,CAACiB,MAAM,CAACL,aAAa,EAAED,cAAc,CAACN,MAAM,CAAC,CAAC;AAOxDH,KAAK,CAACP,YAAY,CAACuB,SAAS,CAAC;AAC7BhB,KAAK,CAACN,gBAAgB,CAACsB,SAAS,CAAC","ignoreList":[]}
@@ -37,7 +37,12 @@ const PatchProto = {
37
37
  } = this.toSQL();
38
38
  statement = client.unsafe(sql, params);
39
39
  }
40
- return Effect.map(statement.values, rows => rows.map(row => mapResultRow(prepared.fields, row, prepared.joinsNotNullableMap)));
40
+ return Effect.map(statement.values, rows => {
41
+ if (prepared.customResultMapper) {
42
+ return prepared.customResultMapper(rows);
43
+ }
44
+ return rows.map(row => mapResultRow(prepared.fields, row, prepared.joinsNotNullableMap));
45
+ });
41
46
  }
42
47
  };
43
48
  /** @internal */
@@ -54,6 +59,11 @@ export const makeRemoteCallback = /*#__PURE__*/Effect.gen(function* () {
54
59
  const runPromise = Runtime.runPromise(runtime);
55
60
  return (sql, params, method) => {
56
61
  const statement = client.unsafe(sql, params);
62
+ if (method === "execute") {
63
+ return runPromise(Effect.map(statement.raw, header => ({
64
+ rows: [header]
65
+ })));
66
+ }
57
67
  let effect = method === "all" || method === "values" ? statement.values : statement.withoutTransform;
58
68
  if (method === "get") {
59
69
  effect = Effect.map(effect, rows => rows[0] ?? []);
@@ -1 +1 @@
1
- {"version":3,"file":"patch.js","names":["Client","SqlError","DUtils","Effect","Effectable","globalValue","Runtime","clientRegistry","WeakMap","registerDialect","dialect","client","set","mapResultRow","PatchProto","CommitPrototype","commit","get","undefined","tryPromise","try","execute","catch","cause","message","prepared","prepare","statement","unsafe","query","sql","params","queryString","toSQL","map","values","rows","row","fields","joinsNotNullableMap","patch","prototype","EffectTypeId","Object","assign","makeRemoteCallback","gen","SqlClient","runtime","runPromise","method","effect","withoutTransform"],"sources":["../../../src/internal/patch.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"patch.js","names":["Client","SqlError","DUtils","Effect","Effectable","globalValue","Runtime","clientRegistry","WeakMap","registerDialect","dialect","client","set","mapResultRow","PatchProto","CommitPrototype","commit","get","undefined","tryPromise","try","execute","catch","cause","message","prepared","prepare","statement","unsafe","query","sql","params","queryString","toSQL","map","values","rows","customResultMapper","row","fields","joinsNotNullableMap","patch","prototype","EffectTypeId","Object","assign","makeRemoteCallback","gen","SqlClient","runtime","runPromise","method","raw","header","effect","withoutTransform"],"sources":["../../../src/internal/patch.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,MAAM,MAAM,uBAAuB;AAC/C,SAASC,QAAQ,QAAQ,sBAAsB;AAG/C,OAAO,KAAKC,MAAM,MAAM,mBAAmB;AAC3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,UAAU,MAAM,mBAAmB;AAC/C,SAASC,WAAW,QAAQ,oBAAoB;AAChD,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AAEzC,MAAMC,cAAc,gBAAGF,WAAW,CAChC,oCAAoC,EACpC,MAAM,IAAIG,OAAO,EAAyB,CAC3C;AAED;AACA,OAAO,MAAMC,eAAe,GAAGA,CAACC,OAAgB,EAAEC,MAAwB,KAAI;EAC5EJ,cAAc,CAACK,GAAG,CAACF,OAAO,EAAEC,MAAM,CAAC;AACrC,CAAC;AAED,MAAME,YAAY,GAAIX,MAAc,CAACW,YAAY;AAEjD,MAAMC,UAAU,GAAG;EACjB,GAAGV,UAAU,CAACW,eAAe;EAC7BC,MAAMA,CAAA;IAOJ,MAAML,MAAM,GAAGJ,cAAc,CAACU,GAAG,CAAC,IAAI,CAACP,OAAO,CAAC;IAC/C,IAAIC,MAAM,KAAKO,SAAS,EAAE;MACxB,OAAOf,MAAM,CAACgB,UAAU,CAAC;QACvBC,GAAG,EAAEA,CAAA,KAAM,IAAI,CAACC,OAAO,EAAE;QACzBC,KAAK,EAAGC,KAAK,IAAK,IAAItB,QAAQ,CAAC;UAAEsB,KAAK;UAAEC,OAAO,EAAE;QAAgC,CAAE;OACpF,CAAC;IACJ;IACA,MAAMC,QAAQ,GAAG,IAAI,CAACC,OAAO,EAAE;IAC/B,IAAIC,SAAyB;IAC7B,IAAI,OAAO,IAAIF,QAAQ,EAAE;MACvBE,SAAS,GAAGhB,MAAM,CAACiB,MAAM,CAACH,QAAQ,CAACI,KAAK,CAACC,GAAG,EAAEL,QAAQ,CAACI,KAAK,CAACE,MAAM,CAAC;IACtE,CAAC,MAAM,IAAI,aAAa,IAAIN,QAAQ,EAAE;MACpCE,SAAS,GAAGhB,MAAM,CAACiB,MAAM,CAACH,QAAQ,CAACO,WAAW,EAAEP,QAAQ,CAACM,MAAM,CAAC;IAClE,CAAC,MAAM;MACL,MAAM;QAAEA,MAAM;QAAED;MAAG,CAAE,GAAG,IAAI,CAACG,KAAK,EAAE;MACpCN,SAAS,GAAGhB,MAAM,CAACiB,MAAM,CAACE,GAAG,EAAEC,MAAM,CAAC;IACxC;IACA,OAAO5B,MAAM,CAAC+B,GAAG,CACfP,SAAS,CAACQ,MAAM,EACfC,IAAI,IAAI;MACP,IAAIX,QAAQ,CAACY,kBAAkB,EAAE;QAC/B,OAAOZ,QAAQ,CAACY,kBAAkB,CAACD,IAAI,CAAC;MAC1C;MACA,OAAOA,IAAI,CAACF,GAAG,CAAEI,GAAG,IAAKzB,YAAY,CAACY,QAAQ,CAACc,MAAM,EAAED,GAAG,EAAEb,QAAQ,CAACe,mBAAmB,CAAC,CAAC;IAC5F,CAAC,CACF;EACH;CACD;AAED;AACA,OAAO,MAAMC,KAAK,GAAIC,SAAc,IAAI;EACtC,IAAIvC,MAAM,CAACwC,YAAY,IAAID,SAAS,EAAE;IACpC;EACF;EACAE,MAAM,CAACC,MAAM,CAACH,SAAS,EAAE5B,UAAU,CAAC;AACtC,CAAC;AAED;AACA,OAAO,MAAMgC,kBAAkB,gBAAG3C,MAAM,CAAC4C,GAAG,CAAC,aAAS;EACpD,MAAMpC,MAAM,GAAG,OAAOX,MAAM,CAACgD,SAAS;EACtC,MAAMC,OAAO,GAAG,OAAO9C,MAAM,CAAC8C,OAAO,EAAS;EAC9C,MAAMC,UAAU,GAAG5C,OAAO,CAAC4C,UAAU,CAACD,OAAO,CAAC;EAC9C,OAAO,CAACnB,GAAW,EAAEC,MAAkB,EAAEoB,MAAoD,KAAI;IAC/F,MAAMxB,SAAS,GAAGhB,MAAM,CAACiB,MAAM,CAACE,GAAG,EAAEC,MAAM,CAAC;IAC5C,IAAIoB,MAAM,KAAK,SAAS,EAAE;MACxB,OAAOD,UAAU,CAAC/C,MAAM,CAAC+B,GAAG,CAACP,SAAS,CAACyB,GAAG,EAAGC,MAAM,KAAM;QAAEjB,IAAI,EAAE,CAACiB,MAAM;MAAC,CAAE,CAAC,CAAC,CAAC;IAChF;IACA,IAAIC,MAAM,GAAiCH,MAAM,KAAK,KAAK,IAAIA,MAAM,KAAK,QAAQ,GAC9ExB,SAAS,CAACQ,MAAM,GAChBR,SAAS,CAAC4B,gBAAgB;IAC9B,IAAIJ,MAAM,KAAK,KAAK,EAAE;MACpBG,MAAM,GAAGnD,MAAM,CAAC+B,GAAG,CAACoB,MAAM,EAAGlB,IAAI,IAAKA,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACtD;IACA,OAAOc,UAAU,CAAC/C,MAAM,CAAC+B,GAAG,CAACoB,MAAM,EAAGlB,IAAI,KAAM;MAAEA;IAAI,CAAE,CAAC,CAAC,CAAC;EAC7D,CAAC;AACH,CAAC,CAAC","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/sql-drizzle",
3
- "version": "0.33.1",
3
+ "version": "0.34.0",
4
4
  "description": "Drizzle integration for @effect/sql",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -18,9 +18,9 @@
18
18
  ],
19
19
  "homepage": "https://effect.website",
20
20
  "peerDependencies": {
21
- "drizzle-orm": "^0.31",
22
- "@effect/sql": "^0.34.1",
23
- "effect": "^3.14.22"
21
+ "drizzle-orm": ">=0.43.1 <0.50",
22
+ "@effect/sql": "^0.35.0",
23
+ "effect": "^3.15.0"
24
24
  },
25
25
  "publishConfig": {
26
26
  "provenance": true
package/src/Mysql.ts CHANGED
@@ -3,6 +3,7 @@
3
3
  */
4
4
  import * as Client from "@effect/sql/SqlClient"
5
5
  import type { SqlError } from "@effect/sql/SqlError"
6
+ import type { DrizzleConfig } from "drizzle-orm"
6
7
  import { MySqlSelectBase } from "drizzle-orm/mysql-core"
7
8
  import type { MySqlRemoteDatabase } from "drizzle-orm/mysql-proxy"
8
9
  import { drizzle } from "drizzle-orm/mysql-proxy"
@@ -16,12 +17,29 @@ import { makeRemoteCallback, patch, registerDialect } from "./internal/patch.js"
16
17
  * @since 1.0.0
17
18
  * @category constructors
18
19
  */
19
- export const make: Effect.Effect<MySqlRemoteDatabase, never, Client.SqlClient> = Effect.gen(function*() {
20
- const client = yield* Client.SqlClient
21
- const db = drizzle(yield* makeRemoteCallback)
22
- registerDialect((db as any).dialect, client)
23
- return db
24
- })
20
+ export const make = <TSchema extends Record<string, unknown> = Record<string, never>>(
21
+ config?: Omit<DrizzleConfig<TSchema>, "logger">
22
+ ): Effect.Effect<MySqlRemoteDatabase<TSchema>, never, Client.SqlClient> =>
23
+ Effect.gen(function*() {
24
+ const client = yield* Client.SqlClient
25
+ const db = drizzle(yield* makeRemoteCallback, config)
26
+ registerDialect((db as any).dialect, client)
27
+ return db
28
+ })
29
+
30
+ /**
31
+ * @since 1.0.0
32
+ * @category constructors
33
+ */
34
+ export const makeWithConfig: (config: DrizzleConfig) => Effect.Effect<MySqlRemoteDatabase, never, Client.SqlClient> = (
35
+ config
36
+ ) =>
37
+ Effect.gen(function*() {
38
+ const client = yield* Client.SqlClient
39
+ const db = drizzle(yield* makeRemoteCallback, config)
40
+ registerDialect((db as any).dialect, client)
41
+ return db
42
+ })
25
43
 
26
44
  /**
27
45
  * @since 1.0.0
@@ -36,7 +54,15 @@ export class MysqlDrizzle extends Context.Tag("@effect/sql-drizzle/Mysql")<
36
54
  * @since 1.0.0
37
55
  * @category layers
38
56
  */
39
- export const layer: Layer.Layer<MysqlDrizzle, never, Client.SqlClient> = Layer.effect(MysqlDrizzle, make)
57
+ export const layer: Layer.Layer<MysqlDrizzle, never, Client.SqlClient> = Layer.effect(MysqlDrizzle, make())
58
+
59
+ /**
60
+ * @since 1.0.0
61
+ * @category layers
62
+ */
63
+ export const layerWithConfig: (config: DrizzleConfig) => Layer.Layer<MysqlDrizzle, never, Client.SqlClient> = (
64
+ config
65
+ ) => Layer.effect(MysqlDrizzle, makeWithConfig(config))
40
66
 
41
67
  // patch
42
68
 
package/src/Pg.ts CHANGED
@@ -3,6 +3,7 @@
3
3
  */
4
4
  import * as Client from "@effect/sql/SqlClient"
5
5
  import type { SqlError } from "@effect/sql/SqlError"
6
+ import type { DrizzleConfig } from "drizzle-orm"
6
7
  import { PgSelectBase } from "drizzle-orm/pg-core"
7
8
  import { drizzle } from "drizzle-orm/pg-proxy"
8
9
  import type { PgRemoteDatabase } from "drizzle-orm/pg-proxy"
@@ -16,12 +17,29 @@ import { makeRemoteCallback, patch, registerDialect } from "./internal/patch.js"
16
17
  * @since 1.0.0
17
18
  * @category constructors
18
19
  */
19
- export const make: Effect.Effect<PgRemoteDatabase, never, Client.SqlClient> = Effect.gen(function*() {
20
- const client = yield* Client.SqlClient
21
- const db = drizzle(yield* makeRemoteCallback)
22
- registerDialect((db as any).dialect, client)
23
- return db
24
- })
20
+ export const make = <TSchema extends Record<string, unknown> = Record<string, never>>(
21
+ config?: Omit<DrizzleConfig<TSchema>, "logger">
22
+ ): Effect.Effect<PgRemoteDatabase<TSchema>, never, Client.SqlClient> =>
23
+ Effect.gen(function*() {
24
+ const client = yield* Client.SqlClient
25
+ const db = drizzle(yield* makeRemoteCallback, config)
26
+ registerDialect((db as any).dialect, client)
27
+ return db
28
+ })
29
+
30
+ /**
31
+ * @since 1.0.0
32
+ * @category constructors
33
+ */
34
+ export const makeWithConfig: (config: DrizzleConfig) => Effect.Effect<PgRemoteDatabase, never, Client.SqlClient> = (
35
+ config
36
+ ) =>
37
+ Effect.gen(function*() {
38
+ const client = yield* Client.SqlClient
39
+ const db = drizzle(yield* makeRemoteCallback, config)
40
+ registerDialect((db as any).dialect, client)
41
+ return db
42
+ })
25
43
 
26
44
  /**
27
45
  * @since 1.0.0
@@ -36,7 +54,14 @@ export class PgDrizzle extends Context.Tag("@effect/sql-drizzle/Pg")<
36
54
  * @since 1.0.0
37
55
  * @category layers
38
56
  */
39
- export const layer: Layer.Layer<PgDrizzle, never, Client.SqlClient> = Layer.effect(PgDrizzle, make)
57
+ export const layer: Layer.Layer<PgDrizzle, never, Client.SqlClient> = Layer.effect(PgDrizzle, make())
58
+
59
+ /**
60
+ * @since 1.0.0
61
+ * @category layers
62
+ */
63
+ export const layerWithConfig: (config: DrizzleConfig) => Layer.Layer<PgDrizzle, never, Client.SqlClient> = (config) =>
64
+ Layer.effect(PgDrizzle, makeWithConfig(config))
40
65
 
41
66
  // patch
42
67
 
package/src/Sqlite.ts CHANGED
@@ -3,6 +3,7 @@
3
3
  */
4
4
  import * as Client from "@effect/sql/SqlClient"
5
5
  import type { SqlError } from "@effect/sql/SqlError"
6
+ import type { DrizzleConfig } from "drizzle-orm"
6
7
  import { QueryPromise } from "drizzle-orm/query-promise"
7
8
  import { SQLiteSelectBase } from "drizzle-orm/sqlite-core"
8
9
  import type { SqliteRemoteDatabase } from "drizzle-orm/sqlite-proxy"
@@ -10,19 +11,35 @@ import { drizzle } from "drizzle-orm/sqlite-proxy"
10
11
  import * as Context from "effect/Context"
11
12
  import * as Effect from "effect/Effect"
12
13
  import * as Layer from "effect/Layer"
13
- import type { Scope } from "effect/Scope"
14
14
  import { makeRemoteCallback, patch, registerDialect } from "./internal/patch.js"
15
15
 
16
16
  /**
17
17
  * @since 1.0.0
18
18
  * @category constructors
19
19
  */
20
- export const make: Effect.Effect<SqliteRemoteDatabase, never, Client.SqlClient | Scope> = Effect.gen(function*() {
21
- const client = yield* Client.SqlClient
22
- const db = drizzle(yield* makeRemoteCallback)
23
- registerDialect((db as any).dialect, client)
24
- return db
25
- })
20
+ export const make = <TSchema extends Record<string, unknown> = Record<string, never>>(
21
+ config?: Omit<DrizzleConfig<TSchema>, "logger">
22
+ ): Effect.Effect<SqliteRemoteDatabase<TSchema>, never, Client.SqlClient> =>
23
+ Effect.gen(function*() {
24
+ const client = yield* Client.SqlClient
25
+ const db = drizzle(yield* makeRemoteCallback, config)
26
+ registerDialect((db as any).dialect, client)
27
+ return db
28
+ })
29
+
30
+ /**
31
+ * @since 1.0.0
32
+ * @category constructors
33
+ */
34
+ export const makeWithConfig: (config: DrizzleConfig) => Effect.Effect<SqliteRemoteDatabase, never, Client.SqlClient> = (
35
+ config
36
+ ) =>
37
+ Effect.gen(function*() {
38
+ const client = yield* Client.SqlClient
39
+ const db = drizzle(yield* makeRemoteCallback, config)
40
+ registerDialect((db as any).dialect, client)
41
+ return db
42
+ })
26
43
 
27
44
  /**
28
45
  * @since 1.0.0
@@ -37,7 +54,15 @@ export class SqliteDrizzle extends Context.Tag("@effect/sql-drizzle/Sqlite")<
37
54
  * @since 1.0.0
38
55
  * @category layers
39
56
  */
40
- export const layer: Layer.Layer<SqliteDrizzle, never, Client.SqlClient> = Layer.scoped(SqliteDrizzle, make)
57
+ export const layer: Layer.Layer<SqliteDrizzle, never, Client.SqlClient> = Layer.scoped(SqliteDrizzle, make())
58
+
59
+ /**
60
+ * @since 1.0.0
61
+ * @category layers
62
+ */
63
+ export const layerWithConfig: (config: DrizzleConfig) => Layer.Layer<SqliteDrizzle, never, Client.SqlClient> = (
64
+ config
65
+ ) => Layer.effect(SqliteDrizzle, makeWithConfig(config))
41
66
 
42
67
  // patch
43
68
 
@@ -48,7 +48,12 @@ const PatchProto = {
48
48
  }
49
49
  return Effect.map(
50
50
  statement.values,
51
- (rows) => rows.map((row) => mapResultRow(prepared.fields, row, prepared.joinsNotNullableMap))
51
+ (rows) => {
52
+ if (prepared.customResultMapper) {
53
+ return prepared.customResultMapper(rows)
54
+ }
55
+ return rows.map((row) => mapResultRow(prepared.fields, row, prepared.joinsNotNullableMap))
56
+ }
52
57
  )
53
58
  }
54
59
  }
@@ -68,6 +73,9 @@ export const makeRemoteCallback = Effect.gen(function*() {
68
73
  const runPromise = Runtime.runPromise(runtime)
69
74
  return (sql: string, params: Array<any>, method: "all" | "execute" | "get" | "values" | "run") => {
70
75
  const statement = client.unsafe(sql, params)
76
+ if (method === "execute") {
77
+ return runPromise(Effect.map(statement.raw, (header) => ({ rows: [header] })))
78
+ }
71
79
  let effect: Effect.Effect<any, SqlError> = method === "all" || method === "values"
72
80
  ? statement.values
73
81
  : statement.withoutTransform