@effect/platform 0.61.4 → 0.61.5

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,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.withLogAddress = exports.serveEffect = exports.serve = exports.make = exports.logAddress = exports.formatAddress = exports.addressWith = exports.addressFormattedWith = exports.TypeId = exports.HttpServer = void 0;
6
+ exports.withLogAddress = exports.serveEffect = exports.serve = exports.make = exports.logAddress = exports.layerTestClient = exports.formatAddress = exports.addressWith = exports.addressFormattedWith = exports.TypeId = exports.HttpServer = void 0;
7
7
  var internal = _interopRequireWildcard(require("./internal/httpServer.js"));
8
8
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
9
9
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -57,4 +57,11 @@ const logAddress = exports.logAddress = internal.logAddress;
57
57
  * @category address
58
58
  */
59
59
  const withLogAddress = exports.withLogAddress = internal.withLogAddress;
60
+ /**
61
+ * Layer producing an `HttpClient` with prepended url of the running http server.
62
+ *
63
+ * @since 1.0.0
64
+ * @category layers
65
+ */
66
+ const layerTestClient = exports.layerTestClient = internal.layerTestClient;
60
67
  //# sourceMappingURL=HttpServer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HttpServer.js","names":["internal","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TypeId","exports","HttpServer","serverTag","make","serve","serveEffect","formatAddress","addressWith","addressFormattedWith","logAddress","withLogAddress"],"sources":["../../src/HttpServer.ts"],"sourcesContent":[null],"mappings":";;;;;;AAUA,IAAAA,QAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAoD,SAAAC,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,SAAAH,wBAAAG,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;AAEpD;;;;AAIO,MAAMW,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAkBvB,QAAQ,CAACuB,MAAM;AAiEpD;;;;AAIO,MAAME,UAAU,GAAAD,OAAA,CAAAC,UAAA,GAAwCzB,QAAQ,CAAC0B,SAAS;AAEjF;;;;AAIO,MAAMC,IAAI,GAAAH,OAAA,CAAAG,IAAA,GAQC3B,QAAQ,CAAC2B,IAAI;AAE/B;;;;AAIO,MAAMC,KAAK,GAAAJ,OAAA,CAAAI,KAAA,GAwBd5B,QAAQ,CAAC4B,KAAK;AAElB;;;;AAIO,MAAMC,WAAW,GAAAL,OAAA,CAAAK,WAAA,GAwBpB7B,QAAQ,CAAC6B,WAAW;AAExB;;;;AAIO,MAAMC,aAAa,GAAAN,OAAA,CAAAM,aAAA,GAAiC9B,QAAQ,CAAC8B,aAAa;AAEjF;;;;AAIO,MAAMC,WAAW,GAAAP,OAAA,CAAAO,WAAA,GAEmB/B,QAAQ,CAAC+B,WAAW;AAE/D;;;;AAIO,MAAMC,oBAAoB,GAAAR,OAAA,CAAAQ,oBAAA,GAEUhC,QAAQ,CAACgC,oBAAoB;AAExE;;;;AAIO,MAAMC,UAAU,GAAAT,OAAA,CAAAS,UAAA,GAA2CjC,QAAQ,CAACiC,UAAU;AAErF;;;;AAIO,MAAMC,cAAc,GAAAV,OAAA,CAAAU,cAAA,GACzBlC,QAAQ,CAACkC,cAAc","ignoreList":[]}
1
+ {"version":3,"file":"HttpServer.js","names":["internal","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TypeId","exports","HttpServer","serverTag","make","serve","serveEffect","formatAddress","addressWith","addressFormattedWith","logAddress","withLogAddress","layerTestClient"],"sources":["../../src/HttpServer.ts"],"sourcesContent":[null],"mappings":";;;;;;AAWA,IAAAA,QAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAoD,SAAAC,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,SAAAH,wBAAAG,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;AAEpD;;;;AAIO,MAAMW,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAkBvB,QAAQ,CAACuB,MAAM;AAiEpD;;;;AAIO,MAAME,UAAU,GAAAD,OAAA,CAAAC,UAAA,GAAwCzB,QAAQ,CAAC0B,SAAS;AAEjF;;;;AAIO,MAAMC,IAAI,GAAAH,OAAA,CAAAG,IAAA,GAQC3B,QAAQ,CAAC2B,IAAI;AAE/B;;;;AAIO,MAAMC,KAAK,GAAAJ,OAAA,CAAAI,KAAA,GAwBd5B,QAAQ,CAAC4B,KAAK;AAElB;;;;AAIO,MAAMC,WAAW,GAAAL,OAAA,CAAAK,WAAA,GAwBpB7B,QAAQ,CAAC6B,WAAW;AAExB;;;;AAIO,MAAMC,aAAa,GAAAN,OAAA,CAAAM,aAAA,GAAiC9B,QAAQ,CAAC8B,aAAa;AAEjF;;;;AAIO,MAAMC,WAAW,GAAAP,OAAA,CAAAO,WAAA,GAEmB/B,QAAQ,CAAC+B,WAAW;AAE/D;;;;AAIO,MAAMC,oBAAoB,GAAAR,OAAA,CAAAQ,oBAAA,GAEUhC,QAAQ,CAACgC,oBAAoB;AAExE;;;;AAIO,MAAMC,UAAU,GAAAT,OAAA,CAAAS,UAAA,GAA2CjC,QAAQ,CAACiC,UAAU;AAErF;;;;AAIO,MAAMC,cAAc,GAAAV,OAAA,CAAAU,cAAA,GACzBlC,QAAQ,CAACkC,cAAc;AAEzB;;;;;;AAMO,MAAMC,eAAe,GAAAX,OAAA,CAAAW,eAAA,GAC1BnC,QAAQ,CAACmC,eAAe","ignoreList":[]}
@@ -3,11 +3,13 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.withLogAddress = exports.serverTag = exports.serveEffect = exports.serve = exports.make = exports.logAddress = exports.isServer = exports.formatAddress = exports.addressWith = exports.addressFormattedWith = exports.TypeId = void 0;
6
+ exports.withLogAddress = exports.serverTag = exports.serveEffect = exports.serve = exports.makeTestClient = exports.make = exports.logAddress = exports.layerTestClient = exports.isServer = exports.formatAddress = exports.addressWith = exports.addressFormattedWith = exports.TypeId = void 0;
7
7
  var Context = _interopRequireWildcard(require("effect/Context"));
8
8
  var Effect = _interopRequireWildcard(require("effect/Effect"));
9
9
  var _Function = require("effect/Function");
10
10
  var Layer = _interopRequireWildcard(require("effect/Layer"));
11
+ var Client = _interopRequireWildcard(require("../HttpClient.js"));
12
+ var ClientRequest = _interopRequireWildcard(require("../HttpClientRequest.js"));
11
13
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
14
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
15
  /** @internal */
@@ -47,5 +49,16 @@ exports.addressFormattedWith = addressFormattedWith;
47
49
  const logAddress = exports.logAddress = /*#__PURE__*/addressFormattedWith(_ => Effect.log(`Listening on ${_}`));
48
50
  /** @internal */
49
51
  const withLogAddress = layer => Layer.effectDiscard(logAddress).pipe(Layer.provideMerge(layer));
52
+ /** @internal */
50
53
  exports.withLogAddress = withLogAddress;
54
+ const makeTestClient = exports.makeTestClient = /*#__PURE__*/addressWith(address => Effect.flatMap(Client.HttpClient, client => {
55
+ if (address._tag === "UnixAddress") {
56
+ return Effect.die(new Error("HttpServer.layerTestClient: UnixAddress not supported"));
57
+ }
58
+ const host = address.hostname === "0.0.0.0" ? "127.0.0.1" : address.hostname;
59
+ const url = `http://${host}:${address.port}`;
60
+ return Effect.succeed(Client.mapRequest(client, ClientRequest.prependUrl(url)));
61
+ }));
62
+ /** @internal */
63
+ const layerTestClient = exports.layerTestClient = /*#__PURE__*/Layer.effect(Client.HttpClient, makeTestClient);
51
64
  //# sourceMappingURL=httpServer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"httpServer.js","names":["Context","_interopRequireWildcard","require","Effect","_Function","Layer","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TypeId","exports","Symbol","for","serverTag","GenericTag","serverProto","isServer","make","options","assign","create","serve","dual","args","isEffect","httpApp","middleware","scopedDiscard","flatMap","server","serveEffect","formatAddress","address","_tag","path","hostname","port","addressWith","effect","addressFormattedWith","logAddress","_","log","withLogAddress","layer","effectDiscard","pipe","provideMerge"],"sources":["../../../src/internal/httpServer.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,uBAAA,CAAAC,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAJ,uBAAA,CAAAC,OAAA;AAAqC,SAAAI,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,SAAAN,wBAAAM,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;AAOrC;AACO,MAAMW,MAAM,GAAAC,OAAA,CAAAD,MAAA,gBAAkBE,MAAM,CAACC,GAAG,CAAC,6BAA6B,CAAkB;AAE/F;AACO,MAAMC,SAAS,GAAAH,OAAA,CAAAG,SAAA,gBAAG9B,OAAO,CAAC+B,UAAU,CAAoB,6BAA6B,CAAC;AAE7F,MAAMC,WAAW,GAAG;EAClB,CAACN,MAAM,GAAGA;CACX;AAED;AACO,MAAMO,QAAQ,GAAIZ,CAAU,IAA6B,OAAOA,CAAC,KAAK,QAAQ,IAAIA,CAAC,KAAK,IAAI,IAAIK,MAAM,IAAIL,CAAC;AAElH;AAAAM,OAAA,CAAAM,QAAA,GAAAA,QAAA;AACO,MAAMC,IAAI,GACfC,OAMC,IACqBjB,MAAM,CAACkB,MAAM,CAAClB,MAAM,CAACmB,MAAM,CAACL,WAAW,CAAC,EAAEG,OAAO,CAAC;AAE1E;AAAAR,OAAA,CAAAO,IAAA,GAAAA,IAAA;AACO,MAAMI,KAAK,GAAAX,OAAA,CAAAW,KAAA,gBAAG,IAAAC,cAAI,EA2BtBC,IAAI,IAAKrC,MAAM,CAACsC,QAAQ,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EAClC,CACEE,OAA0B,EAC1BC,UAAyD,KAMzDtC,KAAK,CAACuC,aAAa,CACjBzC,MAAM,CAAC0C,OAAO,CACZf,SAAS,EACRgB,MAAM,IAAKA,MAAM,CAACR,KAAK,CAACI,OAAO,EAAEC,UAAW,CAAC,CAC/C,CACK,CACX;AAED;AACO,MAAMI,WAAW,GAAApB,OAAA,CAAAoB,WAAA,gBAAG,IAAAR,cAAI,EA+B5BC,IAAI,IAAKrC,MAAM,CAACsC,QAAQ,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EACjC,CACCE,OAA0B,EAC1BC,UAAwD,KAMxDxC,MAAM,CAAC0C,OAAO,CACZf,SAAS,EACRgB,MAAM,IAAKA,MAAM,CAACR,KAAK,CAACI,OAAO,EAAEC,UAAU,CAAC,CACtC,CACZ;AAED;AACO,MAAMK,aAAa,GAAIC,OAAuB,IAAY;EAC/D,QAAQA,OAAO,CAACC,IAAI;IAClB,KAAK,aAAa;MAChB,OAAO,UAAUD,OAAO,CAACE,IAAI,EAAE;IACjC,KAAK,YAAY;MACf,OAAO,UAAUF,OAAO,CAACG,QAAQ,IAAIH,OAAO,CAACI,IAAI,EAAE;EACvD;AACF,CAAC;AAED;AAAA1B,OAAA,CAAAqB,aAAA,GAAAA,aAAA;AACO,MAAMM,WAAW,GACtBC,MAA2D,IAE3DpD,MAAM,CAAC0C,OAAO,CACZf,SAAS,EACRgB,MAAM,IAAKS,MAAM,CAACT,MAAM,CAACG,OAAO,CAAC,CACnC;AAEH;AAAAtB,OAAA,CAAA2B,WAAA,GAAAA,WAAA;AACO,MAAME,oBAAoB,GAC/BD,MAAmD,IAEnDpD,MAAM,CAAC0C,OAAO,CACZf,SAAS,EACRgB,MAAM,IAAKS,MAAM,CAACP,aAAa,CAACF,MAAM,CAACG,OAAO,CAAC,CAAC,CAClD;AAEH;AAAAtB,OAAA,CAAA6B,oBAAA,GAAAA,oBAAA;AACO,MAAMC,UAAU,GAAA9B,OAAA,CAAA8B,UAAA,gBAAkDD,oBAAoB,CAAEE,CAAC,IAC9FvD,MAAM,CAACwD,GAAG,CAAC,gBAAgBD,CAAC,EAAE,CAAC,CAChC;AAED;AACO,MAAME,cAAc,GACzBC,KAA2B,IAE3BxD,KAAK,CAACyD,aAAa,CAACL,UAAU,CAAC,CAACM,IAAI,CAClC1D,KAAK,CAAC2D,YAAY,CAACH,KAAK,CAAC,CAC1B;AAAAlC,OAAA,CAAAiC,cAAA,GAAAA,cAAA","ignoreList":[]}
1
+ {"version":3,"file":"httpServer.js","names":["Context","_interopRequireWildcard","require","Effect","_Function","Layer","Client","ClientRequest","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TypeId","exports","Symbol","for","serverTag","GenericTag","serverProto","isServer","make","options","assign","create","serve","dual","args","isEffect","httpApp","middleware","scopedDiscard","flatMap","server","serveEffect","formatAddress","address","_tag","path","hostname","port","addressWith","effect","addressFormattedWith","logAddress","_","log","withLogAddress","layer","effectDiscard","pipe","provideMerge","makeTestClient","HttpClient","client","die","Error","host","url","succeed","mapRequest","prependUrl","layerTestClient"],"sources":["../../../src/internal/httpServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -6,6 +6,7 @@ import type * as Effect from "effect/Effect";
6
6
  import type * as Layer from "effect/Layer";
7
7
  import type * as Scope from "effect/Scope";
8
8
  import type * as App from "./HttpApp.js";
9
+ import type * as Client from "./HttpClient.js";
9
10
  import type * as Middleware from "./HttpMiddleware.js";
10
11
  import type * as ServerRequest from "./HttpServerRequest.js";
11
12
  /**
@@ -117,4 +118,11 @@ export declare const logAddress: Effect.Effect<void, never, HttpServer>;
117
118
  * @category address
118
119
  */
119
120
  export declare const withLogAddress: <A, E, R>(layer: Layer.Layer<A, E, R>) => Layer.Layer<A, E, R | Exclude<HttpServer, A>>;
121
+ /**
122
+ * Layer producing an `HttpClient` with prepended url of the running http server.
123
+ *
124
+ * @since 1.0.0
125
+ * @category layers
126
+ */
127
+ export declare const layerTestClient: Layer.Layer<Client.HttpClient.Default, never, Client.HttpClient.Default | HttpServer>;
120
128
  //# sourceMappingURL=HttpServer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HttpServer.d.ts","sourceRoot":"","sources":["../../src/HttpServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HttpServer.d.ts","sourceRoot":"","sources":["../../src/HttpServer.ts"],"names":[],"mappings":"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"}
@@ -49,4 +49,11 @@ export const logAddress = internal.logAddress;
49
49
  * @category address
50
50
  */
51
51
  export const withLogAddress = internal.withLogAddress;
52
+ /**
53
+ * Layer producing an `HttpClient` with prepended url of the running http server.
54
+ *
55
+ * @since 1.0.0
56
+ * @category layers
57
+ */
58
+ export const layerTestClient = internal.layerTestClient;
52
59
  //# sourceMappingURL=HttpServer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HttpServer.js","names":["internal","TypeId","HttpServer","serverTag","make","serve","serveEffect","formatAddress","addressWith","addressFormattedWith","logAddress","withLogAddress"],"sources":["../../src/HttpServer.ts"],"sourcesContent":[null],"mappings":"AAUA,OAAO,KAAKA,QAAQ,MAAM,0BAA0B;AAEpD;;;;AAIA,OAAO,MAAMC,MAAM,GAAkBD,QAAQ,CAACC,MAAM;AAiEpD;;;;AAIA,OAAO,MAAMC,UAAU,GAAwCF,QAAQ,CAACG,SAAS;AAEjF;;;;AAIA,OAAO,MAAMC,IAAI,GAQCJ,QAAQ,CAACI,IAAI;AAE/B;;;;AAIA,OAAO,MAAMC,KAAK,GAwBdL,QAAQ,CAACK,KAAK;AAElB;;;;AAIA,OAAO,MAAMC,WAAW,GAwBpBN,QAAQ,CAACM,WAAW;AAExB;;;;AAIA,OAAO,MAAMC,aAAa,GAAiCP,QAAQ,CAACO,aAAa;AAEjF;;;;AAIA,OAAO,MAAMC,WAAW,GAEmBR,QAAQ,CAACQ,WAAW;AAE/D;;;;AAIA,OAAO,MAAMC,oBAAoB,GAEUT,QAAQ,CAACS,oBAAoB;AAExE;;;;AAIA,OAAO,MAAMC,UAAU,GAA2CV,QAAQ,CAACU,UAAU;AAErF;;;;AAIA,OAAO,MAAMC,cAAc,GACzBX,QAAQ,CAACW,cAAc","ignoreList":[]}
1
+ {"version":3,"file":"HttpServer.js","names":["internal","TypeId","HttpServer","serverTag","make","serve","serveEffect","formatAddress","addressWith","addressFormattedWith","logAddress","withLogAddress","layerTestClient"],"sources":["../../src/HttpServer.ts"],"sourcesContent":[null],"mappings":"AAWA,OAAO,KAAKA,QAAQ,MAAM,0BAA0B;AAEpD;;;;AAIA,OAAO,MAAMC,MAAM,GAAkBD,QAAQ,CAACC,MAAM;AAiEpD;;;;AAIA,OAAO,MAAMC,UAAU,GAAwCF,QAAQ,CAACG,SAAS;AAEjF;;;;AAIA,OAAO,MAAMC,IAAI,GAQCJ,QAAQ,CAACI,IAAI;AAE/B;;;;AAIA,OAAO,MAAMC,KAAK,GAwBdL,QAAQ,CAACK,KAAK;AAElB;;;;AAIA,OAAO,MAAMC,WAAW,GAwBpBN,QAAQ,CAACM,WAAW;AAExB;;;;AAIA,OAAO,MAAMC,aAAa,GAAiCP,QAAQ,CAACO,aAAa;AAEjF;;;;AAIA,OAAO,MAAMC,WAAW,GAEmBR,QAAQ,CAACQ,WAAW;AAE/D;;;;AAIA,OAAO,MAAMC,oBAAoB,GAEUT,QAAQ,CAACS,oBAAoB;AAExE;;;;AAIA,OAAO,MAAMC,UAAU,GAA2CV,QAAQ,CAACU,UAAU;AAErF;;;;AAIA,OAAO,MAAMC,cAAc,GACzBX,QAAQ,CAACW,cAAc;AAEzB;;;;;;AAMA,OAAO,MAAMC,eAAe,GAC1BZ,QAAQ,CAACY,eAAe","ignoreList":[]}
@@ -2,6 +2,8 @@ import * as Context from "effect/Context";
2
2
  import * as Effect from "effect/Effect";
3
3
  import { dual } from "effect/Function";
4
4
  import * as Layer from "effect/Layer";
5
+ import * as Client from "../HttpClient.js";
6
+ import * as ClientRequest from "../HttpClientRequest.js";
5
7
  /** @internal */
6
8
  export const TypeId = /*#__PURE__*/Symbol.for("@effect/platform/HttpServer");
7
9
  /** @internal */
@@ -34,4 +36,15 @@ export const addressFormattedWith = effect => Effect.flatMap(serverTag, server =
34
36
  export const logAddress = /*#__PURE__*/addressFormattedWith(_ => Effect.log(`Listening on ${_}`));
35
37
  /** @internal */
36
38
  export const withLogAddress = layer => Layer.effectDiscard(logAddress).pipe(Layer.provideMerge(layer));
39
+ /** @internal */
40
+ export const makeTestClient = /*#__PURE__*/addressWith(address => Effect.flatMap(Client.HttpClient, client => {
41
+ if (address._tag === "UnixAddress") {
42
+ return Effect.die(new Error("HttpServer.layerTestClient: UnixAddress not supported"));
43
+ }
44
+ const host = address.hostname === "0.0.0.0" ? "127.0.0.1" : address.hostname;
45
+ const url = `http://${host}:${address.port}`;
46
+ return Effect.succeed(Client.mapRequest(client, ClientRequest.prependUrl(url)));
47
+ }));
48
+ /** @internal */
49
+ export const layerTestClient = /*#__PURE__*/Layer.effect(Client.HttpClient, makeTestClient);
37
50
  //# sourceMappingURL=httpServer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"httpServer.js","names":["Context","Effect","dual","Layer","TypeId","Symbol","for","serverTag","GenericTag","serverProto","isServer","u","make","options","Object","assign","create","serve","args","isEffect","httpApp","middleware","scopedDiscard","flatMap","server","serveEffect","formatAddress","address","_tag","path","hostname","port","addressWith","effect","addressFormattedWith","logAddress","_","log","withLogAddress","layer","effectDiscard","pipe","provideMerge"],"sources":["../../../src/internal/httpServer.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SAASC,IAAI,QAAQ,iBAAiB;AACtC,OAAO,KAAKC,KAAK,MAAM,cAAc;AAOrC;AACA,OAAO,MAAMC,MAAM,gBAAkBC,MAAM,CAACC,GAAG,CAAC,6BAA6B,CAAkB;AAE/F;AACA,OAAO,MAAMC,SAAS,gBAAGP,OAAO,CAACQ,UAAU,CAAoB,6BAA6B,CAAC;AAE7F,MAAMC,WAAW,GAAG;EAClB,CAACL,MAAM,GAAGA;CACX;AAED;AACA,OAAO,MAAMM,QAAQ,GAAIC,CAAU,IAA6B,OAAOA,CAAC,KAAK,QAAQ,IAAIA,CAAC,KAAK,IAAI,IAAIP,MAAM,IAAIO,CAAC;AAElH;AACA,OAAO,MAAMC,IAAI,GACfC,OAMC,IACqBC,MAAM,CAACC,MAAM,CAACD,MAAM,CAACE,MAAM,CAACP,WAAW,CAAC,EAAEI,OAAO,CAAC;AAE1E;AACA,OAAO,MAAMI,KAAK,gBAAGf,IAAI,CA2BtBgB,IAAI,IAAKjB,MAAM,CAACkB,QAAQ,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EAClC,CACEE,OAA0B,EAC1BC,UAAyD,KAMzDlB,KAAK,CAACmB,aAAa,CACjBrB,MAAM,CAACsB,OAAO,CACZhB,SAAS,EACRiB,MAAM,IAAKA,MAAM,CAACP,KAAK,CAACG,OAAO,EAAEC,UAAW,CAAC,CAC/C,CACK,CACX;AAED;AACA,OAAO,MAAMI,WAAW,gBAAGvB,IAAI,CA+B5BgB,IAAI,IAAKjB,MAAM,CAACkB,QAAQ,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EACjC,CACCE,OAA0B,EAC1BC,UAAwD,KAMxDpB,MAAM,CAACsB,OAAO,CACZhB,SAAS,EACRiB,MAAM,IAAKA,MAAM,CAACP,KAAK,CAACG,OAAO,EAAEC,UAAU,CAAC,CACtC,CACZ;AAED;AACA,OAAO,MAAMK,aAAa,GAAIC,OAAuB,IAAY;EAC/D,QAAQA,OAAO,CAACC,IAAI;IAClB,KAAK,aAAa;MAChB,OAAO,UAAUD,OAAO,CAACE,IAAI,EAAE;IACjC,KAAK,YAAY;MACf,OAAO,UAAUF,OAAO,CAACG,QAAQ,IAAIH,OAAO,CAACI,IAAI,EAAE;EACvD;AACF,CAAC;AAED;AACA,OAAO,MAAMC,WAAW,GACtBC,MAA2D,IAE3DhC,MAAM,CAACsB,OAAO,CACZhB,SAAS,EACRiB,MAAM,IAAKS,MAAM,CAACT,MAAM,CAACG,OAAO,CAAC,CACnC;AAEH;AACA,OAAO,MAAMO,oBAAoB,GAC/BD,MAAmD,IAEnDhC,MAAM,CAACsB,OAAO,CACZhB,SAAS,EACRiB,MAAM,IAAKS,MAAM,CAACP,aAAa,CAACF,MAAM,CAACG,OAAO,CAAC,CAAC,CAClD;AAEH;AACA,OAAO,MAAMQ,UAAU,gBAAkDD,oBAAoB,CAAEE,CAAC,IAC9FnC,MAAM,CAACoC,GAAG,CAAC,gBAAgBD,CAAC,EAAE,CAAC,CAChC;AAED;AACA,OAAO,MAAME,cAAc,GACzBC,KAA2B,IAE3BpC,KAAK,CAACqC,aAAa,CAACL,UAAU,CAAC,CAACM,IAAI,CAClCtC,KAAK,CAACuC,YAAY,CAACH,KAAK,CAAC,CAC1B","ignoreList":[]}
1
+ {"version":3,"file":"httpServer.js","names":["Context","Effect","dual","Layer","Client","ClientRequest","TypeId","Symbol","for","serverTag","GenericTag","serverProto","isServer","u","make","options","Object","assign","create","serve","args","isEffect","httpApp","middleware","scopedDiscard","flatMap","server","serveEffect","formatAddress","address","_tag","path","hostname","port","addressWith","effect","addressFormattedWith","logAddress","_","log","withLogAddress","layer","effectDiscard","pipe","provideMerge","makeTestClient","HttpClient","client","die","Error","host","url","succeed","mapRequest","prependUrl","layerTestClient"],"sources":["../../../src/internal/httpServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/platform",
3
- "version": "0.61.4",
3
+ "version": "0.61.5",
4
4
  "description": "Unified interfaces for common platform-specific services",
5
5
  "license": "MIT",
6
6
  "repository": {
package/src/HttpServer.ts CHANGED
@@ -6,6 +6,7 @@ import type * as Effect from "effect/Effect"
6
6
  import type * as Layer from "effect/Layer"
7
7
  import type * as Scope from "effect/Scope"
8
8
  import type * as App from "./HttpApp.js"
9
+ import type * as Client from "./HttpClient.js"
9
10
  import type * as Middleware from "./HttpMiddleware.js"
10
11
  import type * as ServerRequest from "./HttpServerRequest.js"
11
12
  import * as internal from "./internal/httpServer.js"
@@ -193,3 +194,12 @@ export const logAddress: Effect.Effect<void, never, HttpServer> = internal.logAd
193
194
  */
194
195
  export const withLogAddress: <A, E, R>(layer: Layer.Layer<A, E, R>) => Layer.Layer<A, E, R | Exclude<HttpServer, A>> =
195
196
  internal.withLogAddress
197
+
198
+ /**
199
+ * Layer producing an `HttpClient` with prepended url of the running http server.
200
+ *
201
+ * @since 1.0.0
202
+ * @category layers
203
+ */
204
+ export const layerTestClient: Layer.Layer<Client.HttpClient.Default, never, Client.HttpClient.Default | HttpServer> =
205
+ internal.layerTestClient
@@ -4,6 +4,8 @@ import { dual } from "effect/Function"
4
4
  import * as Layer from "effect/Layer"
5
5
  import type * as Scope from "effect/Scope"
6
6
  import type * as App from "../HttpApp.js"
7
+ import * as Client from "../HttpClient.js"
8
+ import * as ClientRequest from "../HttpClientRequest.js"
7
9
  import type * as Middleware from "../HttpMiddleware.js"
8
10
  import type * as Server from "../HttpServer.js"
9
11
  import type * as ServerRequest from "../HttpServerRequest.js"
@@ -164,3 +166,18 @@ export const withLogAddress = <A, E, R>(
164
166
  Layer.effectDiscard(logAddress).pipe(
165
167
  Layer.provideMerge(layer)
166
168
  )
169
+
170
+ /** @internal */
171
+ export const makeTestClient = addressWith((address) =>
172
+ Effect.flatMap(Client.HttpClient, (client) => {
173
+ if (address._tag === "UnixAddress") {
174
+ return Effect.die(new Error("HttpServer.layerTestClient: UnixAddress not supported"))
175
+ }
176
+ const host = address.hostname === "0.0.0.0" ? "127.0.0.1" : address.hostname
177
+ const url = `http://${host}:${address.port}`
178
+ return Effect.succeed(Client.mapRequest(client, ClientRequest.prependUrl(url)))
179
+ })
180
+ )
181
+
182
+ /** @internal */
183
+ export const layerTestClient = Layer.effect(Client.HttpClient, makeTestClient)