@effect/platform 0.26.1 → 0.26.3

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.
Files changed (24) hide show
  1. package/Http/Client/dist/effect-platform-Http-Client.cjs.dev.js +2 -2
  2. package/Http/Client/dist/effect-platform-Http-Client.cjs.prod.js +2 -2
  3. package/Http/Client/dist/effect-platform-Http-Client.esm.js +2 -2
  4. package/Http/ClientResponse/dist/effect-platform-Http-ClientResponse.cjs.dev.js +2 -2
  5. package/Http/ClientResponse/dist/effect-platform-Http-ClientResponse.cjs.prod.js +2 -2
  6. package/Http/ClientResponse/dist/effect-platform-Http-ClientResponse.esm.js +2 -2
  7. package/HttpClient/dist/effect-platform-HttpClient.cjs.dev.js +3 -3
  8. package/HttpClient/dist/effect-platform-HttpClient.cjs.prod.js +3 -3
  9. package/HttpClient/dist/effect-platform-HttpClient.esm.js +3 -3
  10. package/WorkerRunner/dist/effect-platform-WorkerRunner.cjs.dev.js +5 -1
  11. package/WorkerRunner/dist/effect-platform-WorkerRunner.cjs.prod.js +5 -1
  12. package/WorkerRunner/dist/effect-platform-WorkerRunner.esm.js +5 -1
  13. package/dist/{Client-77da56b5.cjs.dev.js → Client-52f7a6e7.cjs.dev.js} +1 -1
  14. package/dist/{Client-d31ac2bf.cjs.prod.js → Client-669a8097.cjs.prod.js} +1 -1
  15. package/dist/{Client-ed53ec74.esm.js → Client-74166618.esm.js} +1 -1
  16. package/dist/{ClientResponse-fbb89e61.cjs.prod.js → ClientResponse-044a9ddf.cjs.prod.js} +1 -1
  17. package/dist/{ClientResponse-85010856.esm.js → ClientResponse-7b314e3d.esm.js} +1 -1
  18. package/dist/{ClientResponse-25eefa3b.cjs.dev.js → ClientResponse-f7c92fce.cjs.dev.js} +1 -1
  19. package/dist/{clientResponse-e8e1442e.esm.js → clientResponse-613ef549.esm.js} +6 -6
  20. package/dist/{clientResponse-84589d0a.cjs.prod.js → clientResponse-bb91e48f.cjs.prod.js} +6 -6
  21. package/dist/{clientResponse-b269ed37.cjs.dev.js → clientResponse-e65925b7.cjs.dev.js} +6 -6
  22. package/package.json +1 -1
  23. package/src/internal/http/clientResponse.ts +9 -6
  24. package/src/internal/workerRunner.ts +5 -1
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var Http_Client_dist_effectPlatformHttpClient = require('../../../dist/Client-77da56b5.cjs.dev.js');
5
+ var Http_Client_dist_effectPlatformHttpClient = require('../../../dist/Client-52f7a6e7.cjs.dev.js');
6
6
  require('@effect/schema/Schema');
7
7
  require('effect/Context');
8
8
  require('effect/Effect');
@@ -26,7 +26,7 @@ require('../../../dist/clientRequest-07f3c216.cjs.dev.js');
26
26
  require('../../../dist/Headers-f56bc667.cjs.dev.js');
27
27
  require('effect/ReadonlyArray');
28
28
  require('effect/ReadonlyRecord');
29
- require('../../../dist/clientResponse-b269ed37.cjs.dev.js');
29
+ require('../../../dist/clientResponse-e65925b7.cjs.dev.js');
30
30
  require('../../IncomingMessage/dist/effect-platform-Http-IncomingMessage.cjs.dev.js');
31
31
  require('@effect/schema/ParseResult');
32
32
  require('effect/FiberRef');
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var Http_Client_dist_effectPlatformHttpClient = require('../../../dist/Client-d31ac2bf.cjs.prod.js');
5
+ var Http_Client_dist_effectPlatformHttpClient = require('../../../dist/Client-669a8097.cjs.prod.js');
6
6
  require('@effect/schema/Schema');
7
7
  require('effect/Context');
8
8
  require('effect/Effect');
@@ -26,7 +26,7 @@ require('../../../dist/clientRequest-d5011790.cjs.prod.js');
26
26
  require('../../../dist/Headers-122cb877.cjs.prod.js');
27
27
  require('effect/ReadonlyArray');
28
28
  require('effect/ReadonlyRecord');
29
- require('../../../dist/clientResponse-84589d0a.cjs.prod.js');
29
+ require('../../../dist/clientResponse-bb91e48f.cjs.prod.js');
30
30
  require('../../IncomingMessage/dist/effect-platform-Http-IncomingMessage.cjs.prod.js');
31
31
  require('@effect/schema/ParseResult');
32
32
  require('effect/FiberRef');
@@ -1,4 +1,4 @@
1
- export { a as Client, T as TypeId, c as catchAll, d as catchTag, e as catchTags, f as fetch, b as fetchOk, g as filterOrElse, h as filterOrFail, i as filterStatus, j as filterStatusOk, l as layer, m as make, k as makeDefault, o as map, p as mapEffect, q as mapRequest, r as mapRequestEffect, s as retry, u as schemaFunction, v as tap, w as tapRequest, t as transform, n as transformResponse } from '../../../dist/Client-ed53ec74.esm.js';
1
+ export { a as Client, T as TypeId, c as catchAll, d as catchTag, e as catchTags, f as fetch, b as fetchOk, g as filterOrElse, h as filterOrFail, i as filterStatus, j as filterStatusOk, l as layer, m as make, k as makeDefault, o as map, p as mapEffect, q as mapRequest, r as mapRequestEffect, s as retry, u as schemaFunction, v as tap, w as tapRequest, t as transform, n as transformResponse } from '../../../dist/Client-74166618.esm.js';
2
2
  import '@effect/schema/Schema';
3
3
  import 'effect/Context';
4
4
  import 'effect/Effect';
@@ -22,7 +22,7 @@ import '../../../dist/clientRequest-24b9b51c.esm.js';
22
22
  import '../../../dist/Headers-58b56a08.esm.js';
23
23
  import 'effect/ReadonlyArray';
24
24
  import 'effect/ReadonlyRecord';
25
- import '../../../dist/clientResponse-e8e1442e.esm.js';
25
+ import '../../../dist/clientResponse-613ef549.esm.js';
26
26
  import '../../IncomingMessage/dist/effect-platform-Http-IncomingMessage.esm.js';
27
27
  import '@effect/schema/ParseResult';
28
28
  import 'effect/FiberRef';
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- require('../../../dist/clientResponse-b269ed37.cjs.dev.js');
5
+ require('../../../dist/clientResponse-e65925b7.cjs.dev.js');
6
6
  var Http_IncomingMessage_dist_effectPlatformHttpIncomingMessage = require('../../IncomingMessage/dist/effect-platform-Http-IncomingMessage.cjs.dev.js');
7
- var Http_ClientResponse_dist_effectPlatformHttpClientResponse = require('../../../dist/ClientResponse-25eefa3b.cjs.dev.js');
7
+ var Http_ClientResponse_dist_effectPlatformHttpClientResponse = require('../../../dist/ClientResponse-f7c92fce.cjs.dev.js');
8
8
  require('@effect/schema/Schema');
9
9
  require('effect/Effect');
10
10
  require('effect/Option');
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- require('../../../dist/clientResponse-84589d0a.cjs.prod.js');
5
+ require('../../../dist/clientResponse-bb91e48f.cjs.prod.js');
6
6
  var Http_IncomingMessage_dist_effectPlatformHttpIncomingMessage = require('../../IncomingMessage/dist/effect-platform-Http-IncomingMessage.cjs.prod.js');
7
- var Http_ClientResponse_dist_effectPlatformHttpClientResponse = require('../../../dist/ClientResponse-fbb89e61.cjs.prod.js');
7
+ var Http_ClientResponse_dist_effectPlatformHttpClientResponse = require('../../../dist/ClientResponse-044a9ddf.cjs.prod.js');
8
8
  require('@effect/schema/Schema');
9
9
  require('effect/Effect');
10
10
  require('effect/Option');
@@ -1,6 +1,6 @@
1
- import '../../../dist/clientResponse-e8e1442e.esm.js';
1
+ import '../../../dist/clientResponse-613ef549.esm.js';
2
2
  export { schemaBodyJson, schemaBodyUrlParams, schemaHeaders } from '../../IncomingMessage/dist/effect-platform-Http-IncomingMessage.esm.js';
3
- export { T as TypeId, f as fromWeb, s as schemaJson, a as schemaNoBody } from '../../../dist/ClientResponse-85010856.esm.js';
3
+ export { T as TypeId, f as fromWeb, s as schemaJson, a as schemaNoBody } from '../../../dist/ClientResponse-7b314e3d.esm.js';
4
4
  import '@effect/schema/Schema';
5
5
  import 'effect/Effect';
6
6
  import 'effect/Option';
@@ -3,10 +3,10 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var Http_Body_dist_effectPlatformHttpBody = require('../../dist/Body-f4eb1a35.cjs.dev.js');
6
- var Http_Client_dist_effectPlatformHttpClient = require('../../dist/Client-77da56b5.cjs.dev.js');
6
+ var Http_Client_dist_effectPlatformHttpClient = require('../../dist/Client-52f7a6e7.cjs.dev.js');
7
7
  var Http_ClientError_dist_effectPlatformHttpClientError = require('../../dist/ClientError-b7828377.cjs.dev.js');
8
8
  var Http_ClientRequest_dist_effectPlatformHttpClientRequest = require('../../dist/ClientRequest-4c64deb3.cjs.dev.js');
9
- var Http_ClientResponse_dist_effectPlatformHttpClientResponse = require('../../dist/ClientResponse-25eefa3b.cjs.dev.js');
9
+ var Http_ClientResponse_dist_effectPlatformHttpClientResponse = require('../../dist/ClientResponse-f7c92fce.cjs.dev.js');
10
10
  var Http_Headers_dist_effectPlatformHttpHeaders = require('../../dist/Headers-f56bc667.cjs.dev.js');
11
11
  var Http_UrlParams_dist_effectPlatformHttpUrlParams = require('../../dist/UrlParams-5e0910f1.cjs.dev.js');
12
12
  require('../../dist/body-a150eddc.cjs.dev.js');
@@ -28,7 +28,7 @@ require('effect/Pipeable');
28
28
  require('../../Http/Method/dist/effect-platform-Http-Method.cjs.dev.js');
29
29
  require('../../dist/clientError-52d24cd8.cjs.dev.js');
30
30
  require('../../dist/clientRequest-07f3c216.cjs.dev.js');
31
- require('../../dist/clientResponse-b269ed37.cjs.dev.js');
31
+ require('../../dist/clientResponse-e65925b7.cjs.dev.js');
32
32
  require('../../Http/IncomingMessage/dist/effect-platform-Http-IncomingMessage.cjs.dev.js');
33
33
  require('@effect/schema/ParseResult');
34
34
  require('effect/FiberRef');
@@ -3,10 +3,10 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var Http_Body_dist_effectPlatformHttpBody = require('../../dist/Body-bf109de0.cjs.prod.js');
6
- var Http_Client_dist_effectPlatformHttpClient = require('../../dist/Client-d31ac2bf.cjs.prod.js');
6
+ var Http_Client_dist_effectPlatformHttpClient = require('../../dist/Client-669a8097.cjs.prod.js');
7
7
  var Http_ClientError_dist_effectPlatformHttpClientError = require('../../dist/ClientError-22781879.cjs.prod.js');
8
8
  var Http_ClientRequest_dist_effectPlatformHttpClientRequest = require('../../dist/ClientRequest-71df9f94.cjs.prod.js');
9
- var Http_ClientResponse_dist_effectPlatformHttpClientResponse = require('../../dist/ClientResponse-fbb89e61.cjs.prod.js');
9
+ var Http_ClientResponse_dist_effectPlatformHttpClientResponse = require('../../dist/ClientResponse-044a9ddf.cjs.prod.js');
10
10
  var Http_Headers_dist_effectPlatformHttpHeaders = require('../../dist/Headers-122cb877.cjs.prod.js');
11
11
  var Http_UrlParams_dist_effectPlatformHttpUrlParams = require('../../dist/UrlParams-1228a686.cjs.prod.js');
12
12
  require('../../dist/body-c9112f14.cjs.prod.js');
@@ -28,7 +28,7 @@ require('effect/Pipeable');
28
28
  require('../../Http/Method/dist/effect-platform-Http-Method.cjs.prod.js');
29
29
  require('../../dist/clientError-de103d6a.cjs.prod.js');
30
30
  require('../../dist/clientRequest-d5011790.cjs.prod.js');
31
- require('../../dist/clientResponse-84589d0a.cjs.prod.js');
31
+ require('../../dist/clientResponse-bb91e48f.cjs.prod.js');
32
32
  require('../../Http/IncomingMessage/dist/effect-platform-Http-IncomingMessage.cjs.prod.js');
33
33
  require('@effect/schema/ParseResult');
34
34
  require('effect/FiberRef');
@@ -1,8 +1,8 @@
1
1
  export { B as body } from '../../dist/Body-e69a4f4c.esm.js';
2
- export { C as client } from '../../dist/Client-ed53ec74.esm.js';
2
+ export { C as client } from '../../dist/Client-74166618.esm.js';
3
3
  export { C as error } from '../../dist/ClientError-98b5da8c.esm.js';
4
4
  export { C as request } from '../../dist/ClientRequest-dc3e2234.esm.js';
5
- export { C as response } from '../../dist/ClientResponse-85010856.esm.js';
5
+ export { C as response } from '../../dist/ClientResponse-7b314e3d.esm.js';
6
6
  export { H as headers } from '../../dist/Headers-58b56a08.esm.js';
7
7
  export { U as urlParams } from '../../dist/UrlParams-1286c728.esm.js';
8
8
  import '../../dist/body-752ece55.esm.js';
@@ -24,7 +24,7 @@ import 'effect/Pipeable';
24
24
  import '../../Http/Method/dist/effect-platform-Http-Method.esm.js';
25
25
  import '../../dist/clientError-c4e1466c.esm.js';
26
26
  import '../../dist/clientRequest-24b9b51c.esm.js';
27
- import '../../dist/clientResponse-e8e1442e.esm.js';
27
+ import '../../dist/clientResponse-613ef549.esm.js';
28
28
  import '../../Http/IncomingMessage/dist/effect-platform-Http-IncomingMessage.esm.js';
29
29
  import '@effect/schema/ParseResult';
30
30
  import 'effect/FiberRef';
@@ -61,7 +61,11 @@ const make$1 = (process, options) => Effect__namespace.gen(function* (_) {
61
61
  onLeft: error => backing.send([id, 2, error]),
62
62
  onRight: cause => backing.send([id, 3, Cause__namespace.squash(cause)])
63
63
  }),
64
- onSuccess: data => backing.send([id, 1, data])
64
+ onSuccess: data => {
65
+ const transfers = options?.transfers ? options.transfers(data) : undefined;
66
+ const payload = options?.encode ? options.encode(data) : data;
67
+ return backing.send([id, 1, payload], transfers);
68
+ }
65
69
  }) : Function.pipe(stream, Stream__namespace.tap(item => {
66
70
  const transfers = options?.transfers ? options.transfers(item) : undefined;
67
71
  const payload = options?.encode ? options.encode(item) : item;
@@ -61,7 +61,11 @@ const make$1 = (process, options) => Effect__namespace.gen(function* (_) {
61
61
  onLeft: error => backing.send([id, 2, error]),
62
62
  onRight: cause => backing.send([id, 3, Cause__namespace.squash(cause)])
63
63
  }),
64
- onSuccess: data => backing.send([id, 1, data])
64
+ onSuccess: data => {
65
+ const transfers = options?.transfers ? options.transfers(data) : undefined;
66
+ const payload = options?.encode ? options.encode(data) : data;
67
+ return backing.send([id, 1, payload], transfers);
68
+ }
65
69
  }) : Function.pipe(stream, Stream__namespace.tap(item => {
66
70
  const transfers = options?.transfers ? options.transfers(item) : undefined;
67
71
  const payload = options?.encode ? options.encode(item) : item;
@@ -31,7 +31,11 @@ const make$1 = (process, options) => Effect.gen(function* (_) {
31
31
  onLeft: error => backing.send([id, 2, error]),
32
32
  onRight: cause => backing.send([id, 3, Cause.squash(cause)])
33
33
  }),
34
- onSuccess: data => backing.send([id, 1, data])
34
+ onSuccess: data => {
35
+ const transfers = options?.transfers ? options.transfers(data) : undefined;
36
+ const payload = options?.encode ? options.encode(data) : data;
37
+ return backing.send([id, 1, payload], transfers);
38
+ }
35
39
  }) : pipe(stream, Stream.tap(item => {
36
40
  const transfers = options?.transfers ? options.transfers(item) : undefined;
37
41
  const payload = options?.encode ? options.encode(item) : item;
@@ -13,7 +13,7 @@ var Http_UrlParams_dist_effectPlatformHttpUrlParams = require('./UrlParams-5e091
13
13
  var body = require('./body-a150eddc.cjs.dev.js');
14
14
  var clientError = require('./clientError-52d24cd8.cjs.dev.js');
15
15
  var clientRequest = require('./clientRequest-07f3c216.cjs.dev.js');
16
- var clientResponse = require('./clientResponse-b269ed37.cjs.dev.js');
16
+ var clientResponse = require('./clientResponse-e65925b7.cjs.dev.js');
17
17
 
18
18
  function _interopNamespace(e) {
19
19
  if (e && e.__esModule) return e;
@@ -13,7 +13,7 @@ var Http_UrlParams_dist_effectPlatformHttpUrlParams = require('./UrlParams-1228a
13
13
  var body = require('./body-c9112f14.cjs.prod.js');
14
14
  var clientError = require('./clientError-de103d6a.cjs.prod.js');
15
15
  var clientRequest = require('./clientRequest-d5011790.cjs.prod.js');
16
- var clientResponse = require('./clientResponse-84589d0a.cjs.prod.js');
16
+ var clientResponse = require('./clientResponse-bb91e48f.cjs.prod.js');
17
17
 
18
18
  function _interopNamespace(e) {
19
19
  if (e && e.__esModule) return e;
@@ -11,7 +11,7 @@ import { m as makeUrl } from './UrlParams-1286c728.esm.js';
11
11
  import { u as uint8Array } from './body-752ece55.esm.js';
12
12
  import { r as requestError, a as responseError } from './clientError-c4e1466c.esm.js';
13
13
  import { s as setBody, a as setHeader } from './clientRequest-24b9b51c.esm.js';
14
- import { f as fromWeb } from './clientResponse-e8e1442e.esm.js';
14
+ import { f as fromWeb } from './clientResponse-613ef549.esm.js';
15
15
 
16
16
  /** @internal */
17
17
  const TypeId$1 = /*#__PURE__*/Symbol.for("@effect/platform/Http/Client");
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var clientResponse = require('./clientResponse-84589d0a.cjs.prod.js');
3
+ var clientResponse = require('./clientResponse-bb91e48f.cjs.prod.js');
4
4
  var Http_IncomingMessage_dist_effectPlatformHttpIncomingMessage = require('../Http/IncomingMessage/dist/effect-platform-Http-IncomingMessage.cjs.prod.js');
5
5
 
6
6
  /**
@@ -1,4 +1,4 @@
1
- import { T as TypeId$1, f as fromWeb$1, s as schemaJson$1, a as schemaNoBody$1 } from './clientResponse-e8e1442e.esm.js';
1
+ import { T as TypeId$1, f as fromWeb$1, s as schemaJson$1, a as schemaNoBody$1 } from './clientResponse-613ef549.esm.js';
2
2
  import { schemaBodyJson, schemaBodyUrlParams, schemaHeaders } from '../Http/IncomingMessage/dist/effect-platform-Http-IncomingMessage.esm.js';
3
3
 
4
4
  /**
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var clientResponse = require('./clientResponse-b269ed37.cjs.dev.js');
3
+ var clientResponse = require('./clientResponse-e65925b7.cjs.dev.js');
4
4
  var Http_IncomingMessage_dist_effectPlatformHttpIncomingMessage = require('../Http/IncomingMessage/dist/effect-platform-Http-IncomingMessage.cjs.dev.js');
5
5
 
6
6
  /**
@@ -53,7 +53,7 @@ class ClientResponseImpl {
53
53
  });
54
54
  }
55
55
  get text() {
56
- return Effect.tryPromise({
56
+ return this.textBody ??= Effect.tryPromise({
57
57
  try: () => this.source.text(),
58
58
  catch: _ => responseError({
59
59
  request: this.request,
@@ -61,7 +61,7 @@ class ClientResponseImpl {
61
61
  reason: "Decode",
62
62
  error: _
63
63
  })
64
- });
64
+ }).pipe(Effect.cached, Effect.runSync);
65
65
  }
66
66
  get urlParamsBody() {
67
67
  return Effect.flatMap(this.text, _ => Effect.try({
@@ -75,7 +75,7 @@ class ClientResponseImpl {
75
75
  }));
76
76
  }
77
77
  get formData() {
78
- return Effect.tryPromise({
78
+ return this.formDataBody ??= Effect.tryPromise({
79
79
  try: () => this.source.formData(),
80
80
  catch: _ => responseError({
81
81
  request: this.request,
@@ -83,10 +83,10 @@ class ClientResponseImpl {
83
83
  reason: "Decode",
84
84
  error: _
85
85
  })
86
- });
86
+ }).pipe(Effect.cached, Effect.runSync);
87
87
  }
88
88
  get arrayBuffer() {
89
- return Effect.tryPromise({
89
+ return this.arrayBufferBody ??= Effect.tryPromise({
90
90
  try: () => this.source.arrayBuffer(),
91
91
  catch: _ => responseError({
92
92
  request: this.request,
@@ -94,7 +94,7 @@ class ClientResponseImpl {
94
94
  reason: "Decode",
95
95
  error: _
96
96
  })
97
- });
97
+ }).pipe(Effect.cached, Effect.runSync);
98
98
  }
99
99
  }
100
100
 
@@ -78,7 +78,7 @@ class ClientResponseImpl {
78
78
  });
79
79
  }
80
80
  get text() {
81
- return Effect__namespace.tryPromise({
81
+ return this.textBody ??= Effect__namespace.tryPromise({
82
82
  try: () => this.source.text(),
83
83
  catch: _ => clientError.responseError({
84
84
  request: this.request,
@@ -86,7 +86,7 @@ class ClientResponseImpl {
86
86
  reason: "Decode",
87
87
  error: _
88
88
  })
89
- });
89
+ }).pipe(Effect__namespace.cached, Effect__namespace.runSync);
90
90
  }
91
91
  get urlParamsBody() {
92
92
  return Effect__namespace.flatMap(this.text, _ => Effect__namespace.try({
@@ -100,7 +100,7 @@ class ClientResponseImpl {
100
100
  }));
101
101
  }
102
102
  get formData() {
103
- return Effect__namespace.tryPromise({
103
+ return this.formDataBody ??= Effect__namespace.tryPromise({
104
104
  try: () => this.source.formData(),
105
105
  catch: _ => clientError.responseError({
106
106
  request: this.request,
@@ -108,10 +108,10 @@ class ClientResponseImpl {
108
108
  reason: "Decode",
109
109
  error: _
110
110
  })
111
- });
111
+ }).pipe(Effect__namespace.cached, Effect__namespace.runSync);
112
112
  }
113
113
  get arrayBuffer() {
114
- return Effect__namespace.tryPromise({
114
+ return this.arrayBufferBody ??= Effect__namespace.tryPromise({
115
115
  try: () => this.source.arrayBuffer(),
116
116
  catch: _ => clientError.responseError({
117
117
  request: this.request,
@@ -119,7 +119,7 @@ class ClientResponseImpl {
119
119
  reason: "Decode",
120
120
  error: _
121
121
  })
122
- });
122
+ }).pipe(Effect__namespace.cached, Effect__namespace.runSync);
123
123
  }
124
124
  }
125
125
 
@@ -78,7 +78,7 @@ class ClientResponseImpl {
78
78
  });
79
79
  }
80
80
  get text() {
81
- return Effect__namespace.tryPromise({
81
+ return this.textBody ??= Effect__namespace.tryPromise({
82
82
  try: () => this.source.text(),
83
83
  catch: _ => clientError.responseError({
84
84
  request: this.request,
@@ -86,7 +86,7 @@ class ClientResponseImpl {
86
86
  reason: "Decode",
87
87
  error: _
88
88
  })
89
- });
89
+ }).pipe(Effect__namespace.cached, Effect__namespace.runSync);
90
90
  }
91
91
  get urlParamsBody() {
92
92
  return Effect__namespace.flatMap(this.text, _ => Effect__namespace.try({
@@ -100,7 +100,7 @@ class ClientResponseImpl {
100
100
  }));
101
101
  }
102
102
  get formData() {
103
- return Effect__namespace.tryPromise({
103
+ return this.formDataBody ??= Effect__namespace.tryPromise({
104
104
  try: () => this.source.formData(),
105
105
  catch: _ => clientError.responseError({
106
106
  request: this.request,
@@ -108,10 +108,10 @@ class ClientResponseImpl {
108
108
  reason: "Decode",
109
109
  error: _
110
110
  })
111
- });
111
+ }).pipe(Effect__namespace.cached, Effect__namespace.runSync);
112
112
  }
113
113
  get arrayBuffer() {
114
- return Effect__namespace.tryPromise({
114
+ return this.arrayBufferBody ??= Effect__namespace.tryPromise({
115
115
  try: () => this.source.arrayBuffer(),
116
116
  catch: _ => clientError.responseError({
117
117
  request: this.request,
@@ -119,7 +119,7 @@ class ClientResponseImpl {
119
119
  reason: "Decode",
120
120
  error: _
121
121
  })
122
- });
122
+ }).pipe(Effect__namespace.cached, Effect__namespace.runSync);
123
123
  }
124
124
  }
125
125
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/platform",
3
- "version": "0.26.1",
3
+ "version": "0.26.3",
4
4
  "description": "Unified interfaces for common platform-specific services",
5
5
  "main": "dist/effect-platform.cjs.js",
6
6
  "module": "dist/effect-platform.esm.js",
@@ -74,8 +74,9 @@ class ClientResponseImpl implements ClientResponse.ClientResponse {
74
74
  })
75
75
  }
76
76
 
77
+ private textBody?: Effect.Effect<never, Error.ResponseError, string>
77
78
  get text(): Effect.Effect<never, Error.ResponseError, string> {
78
- return Effect.tryPromise({
79
+ return this.textBody ??= Effect.tryPromise({
79
80
  try: () => this.source.text(),
80
81
  catch: (_) =>
81
82
  internalError.responseError({
@@ -84,7 +85,7 @@ class ClientResponseImpl implements ClientResponse.ClientResponse {
84
85
  reason: "Decode",
85
86
  error: _
86
87
  })
87
- })
88
+ }).pipe(Effect.cached, Effect.runSync)
88
89
  }
89
90
 
90
91
  get urlParamsBody(): Effect.Effect<never, Error.ResponseError, UrlParams.UrlParams> {
@@ -101,8 +102,9 @@ class ClientResponseImpl implements ClientResponse.ClientResponse {
101
102
  }))
102
103
  }
103
104
 
105
+ private formDataBody?: Effect.Effect<never, Error.ResponseError, FormData>
104
106
  get formData(): Effect.Effect<never, Error.ResponseError, FormData> {
105
- return Effect.tryPromise({
107
+ return this.formDataBody ??= Effect.tryPromise({
106
108
  try: () => this.source.formData(),
107
109
  catch: (_) =>
108
110
  internalError.responseError({
@@ -111,11 +113,12 @@ class ClientResponseImpl implements ClientResponse.ClientResponse {
111
113
  reason: "Decode",
112
114
  error: _
113
115
  })
114
- })
116
+ }).pipe(Effect.cached, Effect.runSync)
115
117
  }
116
118
 
119
+ private arrayBufferBody?: Effect.Effect<never, Error.ResponseError, ArrayBuffer>
117
120
  get arrayBuffer(): Effect.Effect<never, Error.ResponseError, ArrayBuffer> {
118
- return Effect.tryPromise({
121
+ return this.arrayBufferBody ??= Effect.tryPromise({
119
122
  try: () => this.source.arrayBuffer(),
120
123
  catch: (_) =>
121
124
  internalError.responseError({
@@ -124,7 +127,7 @@ class ClientResponseImpl implements ClientResponse.ClientResponse {
124
127
  reason: "Decode",
125
128
  error: _
126
129
  })
127
- })
130
+ }).pipe(Effect.cached, Effect.runSync)
128
131
  }
129
132
  }
130
133
 
@@ -48,7 +48,11 @@ export const make = <I, R, E, O>(
48
48
  onLeft: (error) => backing.send([id, 2, error]),
49
49
  onRight: (cause) => backing.send([id, 3, Cause.squash(cause)])
50
50
  }),
51
- onSuccess: (data) => backing.send([id, 1, data])
51
+ onSuccess: (data) => {
52
+ const transfers = options?.transfers ? options.transfers(data) : undefined
53
+ const payload = options?.encode ? options.encode(data) : data
54
+ return backing.send([id, 1, payload], transfers)
55
+ }
52
56
  }) :
53
57
  pipe(
54
58
  stream,