@effect/platform 0.16.1 → 0.17.1
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/Command.js +17 -34
- package/Command.js.map +1 -1
- package/CommandExecutor.js +5 -10
- package/CommandExecutor.js.map +1 -1
- package/Effectify.js +1 -2
- package/Effectify.js.map +1 -1
- package/Error.js +3 -6
- package/Error.js.map +1 -1
- package/FileSystem.js +10 -20
- package/FileSystem.js.map +1 -1
- package/Http/Body.js +15 -30
- package/Http/Body.js.map +1 -1
- package/Http/Client.d.ts +17 -1
- package/Http/Client.d.ts.map +1 -1
- package/Http/Client.js +33 -45
- package/Http/Client.js.map +1 -1
- package/Http/ClientError.js +3 -6
- package/Http/ClientError.js.map +1 -1
- package/Http/ClientRequest.js +36 -72
- package/Http/ClientRequest.js.map +1 -1
- package/Http/ClientResponse.js +3 -6
- package/Http/ClientResponse.js.map +1 -1
- package/Http/Etag.js +3 -6
- package/Http/Etag.js.map +1 -1
- package/Http/FormData.js +19 -38
- package/Http/FormData.js.map +1 -1
- package/Http/Headers.js +6 -12
- package/Http/Headers.js.map +1 -1
- package/Http/IncomingMessage.js +4 -8
- package/Http/IncomingMessage.js.map +1 -1
- package/Http/Middleware.js +6 -12
- package/Http/Middleware.js.map +1 -1
- package/Http/Platform.js +3 -6
- package/Http/Platform.js.map +1 -1
- package/Http/Router.js +30 -60
- package/Http/Router.js.map +1 -1
- package/Http/Server.js +4 -8
- package/Http/Server.js.map +1 -1
- package/Http/ServerError.js +5 -10
- package/Http/ServerError.js.map +1 -1
- package/Http/ServerRequest.js +8 -16
- package/Http/ServerRequest.js.map +1 -1
- package/Http/ServerResponse.js +17 -34
- package/Http/ServerResponse.js.map +1 -1
- package/Http/UrlParams.js +6 -12
- package/Http/UrlParams.js.map +1 -1
- package/KeyValueStore.js +8 -16
- package/KeyValueStore.js.map +1 -1
- package/Path.js +2 -4
- package/Path.js.map +1 -1
- package/internal/command.js +9 -18
- package/internal/command.js.map +1 -1
- package/internal/commandExecutor.js +4 -8
- package/internal/commandExecutor.js.map +1 -1
- package/internal/error.js +3 -6
- package/internal/error.js.map +1 -1
- package/internal/fileSystem.js +1 -2
- package/internal/fileSystem.js.map +1 -1
- package/internal/http/body.js +3 -6
- package/internal/http/body.js.map +1 -1
- package/internal/http/client.d.ts +1 -2
- package/internal/http/client.d.ts.map +1 -1
- package/internal/http/client.js +27 -41
- package/internal/http/client.js.map +1 -1
- package/internal/http/clientError.js +3 -6
- package/internal/http/clientError.js.map +1 -1
- package/internal/http/clientRequest.js +35 -70
- package/internal/http/clientRequest.js.map +1 -1
- package/internal/http/clientResponse.js +1 -2
- package/internal/http/clientResponse.js.map +1 -1
- package/internal/http/etag.js +2 -4
- package/internal/http/etag.js.map +1 -1
- package/internal/http/formData.js +15 -30
- package/internal/http/formData.js.map +1 -1
- package/internal/http/middleware.js +5 -10
- package/internal/http/middleware.js.map +1 -1
- package/internal/http/platform.js +2 -4
- package/internal/http/platform.js.map +1 -1
- package/internal/http/router.js +26 -52
- package/internal/http/router.js.map +1 -1
- package/internal/http/server.js +3 -6
- package/internal/http/server.js.map +1 -1
- package/internal/http/serverError.js +5 -10
- package/internal/http/serverError.js.map +1 -1
- package/internal/http/serverRequest.js +3 -6
- package/internal/http/serverRequest.js.map +1 -1
- package/internal/http/serverResponse.js +5 -10
- package/internal/http/serverResponse.js.map +1 -1
- package/internal/keyValueStore.js +5 -10
- package/internal/keyValueStore.js.map +1 -1
- package/internal/path.js +2 -4
- package/internal/path.js.map +1 -1
- package/mjs/Http/Client.mjs +10 -0
- package/mjs/Http/Client.mjs.map +1 -1
- package/mjs/internal/http/client.mjs +21 -17
- package/mjs/internal/http/client.mjs.map +1 -1
- package/package.json +5 -5
- package/src/Http/Client.ts +30 -5
- package/src/internal/http/client.ts +39 -23
package/mjs/Http/Client.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Client.mjs","names":["internal","TypeId","Client","tag","layer","fetch","fetchOk","catchAll","catchTag","catchTags","filterOrElse","filterOrFail","filterStatus","filterStatusOk","make","map","mapEffect","mapRequest","mapRequestEffect","retry","schemaFunction","withB3Propagation","tap","tapRequest"],"sources":["../../src/Http/Client.ts"],"sourcesContent":[null],"mappings":"AAaA,OAAO,KAAKA,QAAQ,MAAM,uCAAuC;AAIjE;;;;AAIA,OAAO,MAAMC,MAAM,GAAkBD,QAAQ,CAACC,MAAM;AAkCpD;;;;AAIA,OAAO,MAAMC,MAAM,GAAgDF,QAAQ,CAACG,GAAG;AAE/E;;;;AAIA,OAAO,MAAMC,KAAK,GAA8CJ,QAAQ,CAACI,KAAK;AAE9E;;;;AAIA,OAAO,MAAMC,KAAK,GAA8CL,QAAQ,CAACK,KAAK;AAE9E;;;;AAIA,OAAO,MAAMC,OAAO,GAA8CN,QAAQ,CAACM,OAAO;AAElF;;;;AAIA,OAAO,MAAMC,QAAQ,GAGjBP,QAAQ,CAACO,QAAQ;AAErB;;;;AAIA,OAAO,MAAMC,QAAQ,GAUjBR,QAAQ,CAACQ,QAAQ;AAErB;;;;AAIA,OAAO,MAAMC,SAAS,GA4ClBT,QAAQ,CAACS,SAAS;AAEtB;;;;AAIA,OAAO,MAAMC,YAAY,GAUrBV,QAAQ,CAACU,YAAY;AAEzB;;;;AAIA,OAAO,MAAMC,YAAY,GAGrBX,QAAQ,CAACW,YAAY;AAEzB;;;;AAIA,OAAO,MAAMC,YAAY,GAQrBZ,QAAQ,CAACY,YAAY;AAEzB;;;;AAIA,OAAO,MAAMC,cAAc,GAE4Bb,QAAQ,CAACa,cAAc;AAE9E;;;;AAIA,OAAO,MAAMC,IAAI,
|
|
1
|
+
{"version":3,"file":"Client.mjs","names":["internal","TypeId","Client","tag","layer","fetch","fetchOk","catchAll","catchTag","catchTags","filterOrElse","filterOrFail","filterStatus","filterStatusOk","make","transform","transformResponse","map","mapEffect","mapRequest","mapRequestEffect","retry","schemaFunction","withB3Propagation","tap","tapRequest"],"sources":["../../src/Http/Client.ts"],"sourcesContent":[null],"mappings":"AAaA,OAAO,KAAKA,QAAQ,MAAM,uCAAuC;AAIjE;;;;AAIA,OAAO,MAAMC,MAAM,GAAkBD,QAAQ,CAACC,MAAM;AAkCpD;;;;AAIA,OAAO,MAAMC,MAAM,GAAgDF,QAAQ,CAACG,GAAG;AAE/E;;;;AAIA,OAAO,MAAMC,KAAK,GAA8CJ,QAAQ,CAACI,KAAK;AAE9E;;;;AAIA,OAAO,MAAMC,KAAK,GAA8CL,QAAQ,CAACK,KAAK;AAE9E;;;;AAIA,OAAO,MAAMC,OAAO,GAA8CN,QAAQ,CAACM,OAAO;AAElF;;;;AAIA,OAAO,MAAMC,QAAQ,GAGjBP,QAAQ,CAACO,QAAQ;AAErB;;;;AAIA,OAAO,MAAMC,QAAQ,GAUjBR,QAAQ,CAACQ,QAAQ;AAErB;;;;AAIA,OAAO,MAAMC,SAAS,GA4ClBT,QAAQ,CAACS,SAAS;AAEtB;;;;AAIA,OAAO,MAAMC,YAAY,GAUrBV,QAAQ,CAACU,YAAY;AAEzB;;;;AAIA,OAAO,MAAMC,YAAY,GAGrBX,QAAQ,CAACW,YAAY;AAEzB;;;;AAIA,OAAO,MAAMC,YAAY,GAQrBZ,QAAQ,CAACY,YAAY;AAEzB;;;;AAIA,OAAO,MAAMC,cAAc,GAE4Bb,QAAQ,CAACa,cAAc;AAE9E;;;;AAIA,OAAO,MAAMC,IAAI,GACfd,QAAQ,CAACc,IAAI;AAEf;;;;AAIA,OAAO,MAAMC,SAAS,GAQlBf,QAAQ,CAACe,SAAS;AAEtB;;;;AAIA,OAAO,MAAMC,iBAAiB,GAQ1BhB,QAAQ,CAACgB,iBAAiB;AAE9B;;;;AAIA,OAAO,MAAMC,GAAG,GAGZjB,QAAQ,CAACiB,GAAG;AAEhB;;;;AAIA,OAAO,MAAMC,SAAS,GAGlBlB,QAAQ,CAACkB,SAAS;AAEtB;;;;AAIA,OAAO,MAAMC,UAAU,GAKnBnB,QAAQ,CAACmB,UAAU;AAEvB;;;;AAIA,OAAO,MAAMC,gBAAgB,GAQzBpB,QAAQ,CAACoB,gBAAgB;AAE7B;;;;AAIA,OAAO,MAAMC,KAAK,GAGdrB,QAAQ,CAACqB,KAAK;AAElB;;;;AAIA,OAAO,MAAMC,cAAc,GAcvBtB,QAAQ,CAACsB,cAAc;AAE3B;;;;AAIA,OAAO,MAAMC,iBAAiB,GAC5BvB,QAAQ,CAACuB,iBAAiB;AAE5B;;;;AAIA,OAAO,MAAMC,GAAG,GAGZxB,QAAQ,CAACwB,GAAG;AAEhB;;;;AAIA,OAAO,MAAMC,UAAU,GAQnBzB,QAAQ,CAACyB,UAAU"}
|
|
@@ -23,13 +23,12 @@ const clientProto = {
|
|
|
23
23
|
return pipeArguments(this, arguments);
|
|
24
24
|
}
|
|
25
25
|
};
|
|
26
|
-
|
|
26
|
+
/** @internal */
|
|
27
|
+
export const make = f => {
|
|
27
28
|
Object.setPrototypeOf(f, clientProto);
|
|
28
29
|
return f;
|
|
29
30
|
};
|
|
30
31
|
/** @internal */
|
|
31
|
-
export const make = f => setProto(f);
|
|
32
|
-
/** @internal */
|
|
33
32
|
export const fetch = (options = {}) => make(request => Effect.flatMap(UrlParams.makeUrl(request.url, request.urlParams, _ => internalError.requestError({
|
|
34
33
|
request,
|
|
35
34
|
reason: "InvalidUrl",
|
|
@@ -69,21 +68,26 @@ const convertBody = body => {
|
|
|
69
68
|
return Stream.toReadableStream(body.stream);
|
|
70
69
|
}
|
|
71
70
|
};
|
|
71
|
+
/** @internal */
|
|
72
72
|
export const fetchOk = (options = {}) => filterStatusOk(fetch(options));
|
|
73
73
|
/** @internal */
|
|
74
74
|
export const layer = /*#__PURE__*/Layer.succeed(tag, /*#__PURE__*/fetch());
|
|
75
75
|
/** @internal */
|
|
76
|
-
export const
|
|
76
|
+
export const transform = /*#__PURE__*/dual(2, (self, f) => make(f(self)));
|
|
77
|
+
/** @internal */
|
|
78
|
+
export const transformResponse = /*#__PURE__*/dual(2, (self, f) => make(request => f(self(request))));
|
|
79
|
+
/** @internal */
|
|
80
|
+
export const catchTag = /*#__PURE__*/dual(3, (self, tag, f) => make(request => Effect.catchTag(self(request), tag, f)));
|
|
77
81
|
/** @internal */
|
|
78
|
-
export const catchTags = /*#__PURE__*/dual(2, (self, cases) =>
|
|
82
|
+
export const catchTags = /*#__PURE__*/dual(2, (self, cases) => make(request => Effect.catchTags(self(request), cases)));
|
|
79
83
|
/** @internal */
|
|
80
|
-
export const catchAll = /*#__PURE__*/dual(2, (self, f) =>
|
|
84
|
+
export const catchAll = /*#__PURE__*/dual(2, (self, f) => make(request => Effect.catchAll(self(request), f)));
|
|
81
85
|
/** @internal */
|
|
82
|
-
export const filterOrElse = /*#__PURE__*/dual(3, (self, f, orElse) =>
|
|
86
|
+
export const filterOrElse = /*#__PURE__*/dual(3, (self, f, orElse) => make(request => Effect.filterOrElse(self(request), f, orElse)));
|
|
83
87
|
/** @internal */
|
|
84
|
-
export const filterOrFail = /*#__PURE__*/dual(3, (self, f, orFailWith) =>
|
|
88
|
+
export const filterOrFail = /*#__PURE__*/dual(3, (self, f, orFailWith) => make(request => Effect.filterOrFail(self(request), f, orFailWith)));
|
|
85
89
|
/** @internal */
|
|
86
|
-
export const filterStatus = /*#__PURE__*/dual(2, (self, f) =>
|
|
90
|
+
export const filterStatus = /*#__PURE__*/dual(2, (self, f) => make(request => Effect.filterOrFail(self(request), response => f(response.status), response => internalError.responseError({
|
|
87
91
|
request,
|
|
88
92
|
response,
|
|
89
93
|
reason: "StatusCode",
|
|
@@ -92,15 +96,15 @@ export const filterStatus = /*#__PURE__*/dual(2, (self, f) => setProto(request =
|
|
|
92
96
|
/** @internal */
|
|
93
97
|
export const filterStatusOk = /*#__PURE__*/filterStatus(status => status >= 200 && status < 300);
|
|
94
98
|
/** @internal */
|
|
95
|
-
export const map = /*#__PURE__*/dual(2, (self, f) =>
|
|
99
|
+
export const map = /*#__PURE__*/dual(2, (self, f) => make(request => Effect.map(self(request), f)));
|
|
96
100
|
/** @internal */
|
|
97
|
-
export const mapEffect = /*#__PURE__*/dual(2, (self, f) =>
|
|
101
|
+
export const mapEffect = /*#__PURE__*/dual(2, (self, f) => make(request => Effect.flatMap(self(request), f)));
|
|
98
102
|
/** @internal */
|
|
99
|
-
export const mapRequest = /*#__PURE__*/dual(2, (self, f) =>
|
|
103
|
+
export const mapRequest = /*#__PURE__*/dual(2, (self, f) => make(request => self(f(request))));
|
|
100
104
|
/** @internal */
|
|
101
|
-
export const mapRequestEffect = /*#__PURE__*/dual(2, (self, f) =>
|
|
105
|
+
export const mapRequestEffect = /*#__PURE__*/dual(2, (self, f) => make(request => Effect.flatMap(f(request), self)));
|
|
102
106
|
/** @internal */
|
|
103
|
-
export const withB3Propagation = self =>
|
|
107
|
+
export const withB3Propagation = self => make(req => Effect.tap(res => Effect.ignore(Effect.flatMap(IncomingMessage.schemaExternalSpan(res), Effect.withParentSpanScoped)))(Effect.flatMap(self)(Effect.map(Effect.currentSpan, Option.match({
|
|
104
108
|
onNone: () => req,
|
|
105
109
|
onSome: span => {
|
|
106
110
|
const parentId = span.parent._tag === "Some" ? `-${span.parent.value.spanId}` : "";
|
|
@@ -108,7 +112,7 @@ export const withB3Propagation = self => setProto(req => Effect.tap(res => Effec
|
|
|
108
112
|
}
|
|
109
113
|
})))));
|
|
110
114
|
/** @internal */
|
|
111
|
-
export const retry = /*#__PURE__*/dual(2, (self, policy) =>
|
|
115
|
+
export const retry = /*#__PURE__*/dual(2, (self, policy) => make(request => Effect.retry(self(request), policy)));
|
|
112
116
|
/** @internal */
|
|
113
117
|
export const schemaFunction = /*#__PURE__*/dual(2, (self, schema) => {
|
|
114
118
|
const encode = Schema.encode(schema);
|
|
@@ -122,7 +126,7 @@ export const schemaFunction = /*#__PURE__*/dual(2, (self, schema) => {
|
|
|
122
126
|
}), body => self(internalRequest.setBody(request, internalBody.uint8Array(body, "application/json"))));
|
|
123
127
|
});
|
|
124
128
|
/** @internal */
|
|
125
|
-
export const tap = /*#__PURE__*/dual(2, (self, f) =>
|
|
129
|
+
export const tap = /*#__PURE__*/dual(2, (self, f) => make(request => Effect.tap(self(request), f)));
|
|
126
130
|
/** @internal */
|
|
127
|
-
export const tapRequest = /*#__PURE__*/dual(2, (self, f) =>
|
|
131
|
+
export const tapRequest = /*#__PURE__*/dual(2, (self, f) => make(request => Effect.zipRight(f(request), self(request))));
|
|
128
132
|
//# sourceMappingURL=client.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.mjs","names":["Context","dual","Option","pipeArguments","Effect","Layer","IncomingMessage","Method","UrlParams","internalBody","internalError","internalRequest","internalResponse","Schema","Stream","TypeId","Symbol","for","tag","Tag","clientProto","pipe","arguments","
|
|
1
|
+
{"version":3,"file":"client.mjs","names":["Context","dual","Option","pipeArguments","Effect","Layer","IncomingMessage","Method","UrlParams","internalBody","internalError","internalRequest","internalResponse","Schema","Stream","TypeId","Symbol","for","tag","Tag","clientProto","pipe","arguments","make","f","Object","setPrototypeOf","fetch","options","request","flatMap","makeUrl","url","urlParams","_","requestError","reason","error","suspend","headers","Headers","send","body","map","tryPromise","try","signal","globalThis","method","catch","fromWeb","hasBody","convertBody","undefined","_tag","formData","toReadableStream","stream","fetchOk","filterStatusOk","layer","succeed","transform","self","transformResponse","catchTag","catchTags","cases","catchAll","filterOrElse","orElse","filterOrFail","orFailWith","filterStatus","response","status","responseError","mapEffect","mapRequest","mapRequestEffect","withB3Propagation","req","tap","res","ignore","schemaExternalSpan","withParentSpanScoped","currentSpan","match","onNone","onSome","span","parentId","parent","value","spanId","setHeader","traceId","retry","policy","schemaFunction","schema","encode","a","tryMap","TextEncoder","JSON","stringify","setBody","uint8Array","tapRequest","zipRight"],"sources":["../../../src/internal/http/client.ts"],"sourcesContent":[null],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/platform",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.17.1",
|
|
4
4
|
"description": "Unified interfaces for common platform-specific services",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -29,9 +29,9 @@
|
|
|
29
29
|
"path-browserify": "^1.0.1"
|
|
30
30
|
},
|
|
31
31
|
"peerDependencies": {
|
|
32
|
-
"@effect/data": "^0.18.
|
|
33
|
-
"@effect/io": "^0.
|
|
34
|
-
"@effect/schema": "^0.
|
|
35
|
-
"@effect/stream": "^0.
|
|
32
|
+
"@effect/data": "^0.18.6",
|
|
33
|
+
"@effect/io": "^0.41.0",
|
|
34
|
+
"@effect/schema": "^0.37.0",
|
|
35
|
+
"@effect/stream": "^0.37.0"
|
|
36
36
|
}
|
|
37
37
|
}
|
package/src/Http/Client.ts
CHANGED
|
@@ -203,11 +203,36 @@ export const filterStatusOk: <R, E>(
|
|
|
203
203
|
* @since 1.0.0
|
|
204
204
|
* @category constructors
|
|
205
205
|
*/
|
|
206
|
-
export const make: (
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
206
|
+
export const make: <R, E, A>(f: (request: ClientRequest.ClientRequest) => Effect.Effect<R, E, A>) => Client<R, E, A> =
|
|
207
|
+
internal.make
|
|
208
|
+
|
|
209
|
+
/**
|
|
210
|
+
* @since 1.0.0
|
|
211
|
+
* @category mapping & sequencing
|
|
212
|
+
*/
|
|
213
|
+
export const transform: {
|
|
214
|
+
<R, E, A, R1, E1, A1>(
|
|
215
|
+
f: (client: Client<R, E, A>) => (request: ClientRequest.ClientRequest) => Effect.Effect<R1, E1, A1>
|
|
216
|
+
): (self: Client<R, E, A>) => Client<R1, E1, A1>
|
|
217
|
+
<R, E, A, R1, E1, A1>(
|
|
218
|
+
self: Client<R, E, A>,
|
|
219
|
+
f: (client: Client<R, E, A>) => (request: ClientRequest.ClientRequest) => Effect.Effect<R1, E1, A1>
|
|
220
|
+
): Client<R1, E1, A1>
|
|
221
|
+
} = internal.transform
|
|
222
|
+
|
|
223
|
+
/**
|
|
224
|
+
* @since 1.0.0
|
|
225
|
+
* @category mapping & sequencing
|
|
226
|
+
*/
|
|
227
|
+
export const transformResponse: {
|
|
228
|
+
<R, E, A, R1, E1, A1>(
|
|
229
|
+
f: (effect: Effect.Effect<R, E, A>) => Effect.Effect<R1, E1, A1>
|
|
230
|
+
): (self: Client<R, E, A>) => Client<R1, E1, A1>
|
|
231
|
+
<R, E, A, R1, E1, A1>(
|
|
232
|
+
self: Client<R, E, A>,
|
|
233
|
+
f: (effect: Effect.Effect<R, E, A>) => Effect.Effect<R1, E1, A1>
|
|
234
|
+
): Client<R1, E1, A1>
|
|
235
|
+
} = internal.transformResponse
|
|
211
236
|
|
|
212
237
|
/**
|
|
213
238
|
* @since 1.0.0
|
|
@@ -11,7 +11,6 @@ import type * as Body from "@effect/platform/Http/Body"
|
|
|
11
11
|
import type * as Client from "@effect/platform/Http/Client"
|
|
12
12
|
import type * as Error from "@effect/platform/Http/ClientError"
|
|
13
13
|
import type * as ClientRequest from "@effect/platform/Http/ClientRequest"
|
|
14
|
-
import type * as ClientResponse from "@effect/platform/Http/ClientResponse"
|
|
15
14
|
import * as IncomingMessage from "@effect/platform/Http/IncomingMessage"
|
|
16
15
|
import * as Method from "@effect/platform/Http/Method"
|
|
17
16
|
import * as UrlParams from "@effect/platform/Http/UrlParams"
|
|
@@ -36,20 +35,14 @@ const clientProto = {
|
|
|
36
35
|
}
|
|
37
36
|
}
|
|
38
37
|
|
|
39
|
-
|
|
38
|
+
/** @internal */
|
|
39
|
+
export const make = <R, E, A>(
|
|
40
40
|
f: (request: ClientRequest.ClientRequest) => Effect.Effect<R, E, A>
|
|
41
41
|
) => {
|
|
42
42
|
Object.setPrototypeOf(f, clientProto)
|
|
43
43
|
return f as Client.Client<R, E, A>
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
/** @internal */
|
|
47
|
-
export const make = (
|
|
48
|
-
f: (
|
|
49
|
-
request: ClientRequest.ClientRequest
|
|
50
|
-
) => Effect.Effect<never, Error.HttpClientError, ClientResponse.ClientResponse>
|
|
51
|
-
): Client.Client.Default => setProto(f)
|
|
52
|
-
|
|
53
46
|
/** @internal */
|
|
54
47
|
export const fetch = (
|
|
55
48
|
options: RequestInit = {}
|
|
@@ -108,6 +101,7 @@ const convertBody = (body: Body.Body): BodyInit | undefined => {
|
|
|
108
101
|
}
|
|
109
102
|
}
|
|
110
103
|
|
|
104
|
+
/** @internal */
|
|
111
105
|
export const fetchOk = (
|
|
112
106
|
options: RequestInit = {}
|
|
113
107
|
): Client.Client.Default => filterStatusOk(fetch(options))
|
|
@@ -115,6 +109,28 @@ export const fetchOk = (
|
|
|
115
109
|
/** @internal */
|
|
116
110
|
export const layer = Layer.succeed(tag, fetch())
|
|
117
111
|
|
|
112
|
+
/** @internal */
|
|
113
|
+
export const transform = dual<
|
|
114
|
+
<R, E, A, R1, E1, A1>(
|
|
115
|
+
f: (client: Client.Client<R, E, A>) => (request: ClientRequest.ClientRequest) => Effect.Effect<R1, E1, A1>
|
|
116
|
+
) => (self: Client.Client<R, E, A>) => Client.Client<R1, E1, A1>,
|
|
117
|
+
<R, E, A, R1, E1, A1>(
|
|
118
|
+
self: Client.Client<R, E, A>,
|
|
119
|
+
f: (client: Client.Client<R, E, A>) => (request: ClientRequest.ClientRequest) => Effect.Effect<R1, E1, A1>
|
|
120
|
+
) => Client.Client<R1, E1, A1>
|
|
121
|
+
>(2, (self, f) => make(f(self)))
|
|
122
|
+
|
|
123
|
+
/** @internal */
|
|
124
|
+
export const transformResponse = dual<
|
|
125
|
+
<R, E, A, R1, E1, A1>(
|
|
126
|
+
f: (effect: Effect.Effect<R, E, A>) => Effect.Effect<R1, E1, A1>
|
|
127
|
+
) => (self: Client.Client<R, E, A>) => Client.Client<R1, E1, A1>,
|
|
128
|
+
<R, E, A, R1, E1, A1>(
|
|
129
|
+
self: Client.Client<R, E, A>,
|
|
130
|
+
f: (effect: Effect.Effect<R, E, A>) => Effect.Effect<R1, E1, A1>
|
|
131
|
+
) => Client.Client<R1, E1, A1>
|
|
132
|
+
>(2, (self, f) => make((request) => f(self(request))))
|
|
133
|
+
|
|
118
134
|
/** @internal */
|
|
119
135
|
export const catchTag: {
|
|
120
136
|
<K extends (E extends { _tag: string } ? E["_tag"] : never), E, R1, E1, A1>(
|
|
@@ -135,7 +151,7 @@ export const catchTag: {
|
|
|
135
151
|
tag: K,
|
|
136
152
|
f: (e: Extract<E, { _tag: K }>) => Effect.Effect<R1, E1, A1>
|
|
137
153
|
): Client.Client<R1 | R, E1 | Exclude<E, { _tag: K }>, A1 | A> =>
|
|
138
|
-
|
|
154
|
+
make((request) => Effect.catchTag(self(request), tag, f))
|
|
139
155
|
)
|
|
140
156
|
|
|
141
157
|
/** @internal */
|
|
@@ -242,7 +258,7 @@ export const catchTags: {
|
|
|
242
258
|
) => Effect.Effect<any, any, infer A> ? A
|
|
243
259
|
: never
|
|
244
260
|
}[keyof Cases]
|
|
245
|
-
> =>
|
|
261
|
+
> => make((request) => Effect.catchTags(self(request), cases))
|
|
246
262
|
)
|
|
247
263
|
|
|
248
264
|
/** @internal */
|
|
@@ -259,7 +275,7 @@ export const catchAll: {
|
|
|
259
275
|
<R, E, A, R2, E2, A2>(
|
|
260
276
|
self: Client.Client<R, E, A>,
|
|
261
277
|
f: (e: E) => Effect.Effect<R2, E2, A2>
|
|
262
|
-
): Client.Client<R | R2, E2, A2 | A> =>
|
|
278
|
+
): Client.Client<R | R2, E2, A2 | A> => make((request) => Effect.catchAll(self(request), f))
|
|
263
279
|
)
|
|
264
280
|
|
|
265
281
|
/** @internal */
|
|
@@ -272,7 +288,7 @@ export const filterOrElse = dual<
|
|
|
272
288
|
f: Predicate.Predicate<A>,
|
|
273
289
|
orElse: (a: A) => Effect.Effect<R2, E2, B>
|
|
274
290
|
) => Client.Client<R2 | R, E2 | E, A | B>
|
|
275
|
-
>(3, (self, f, orElse) =>
|
|
291
|
+
>(3, (self, f, orElse) => make((request) => Effect.filterOrElse(self(request), f, orElse)))
|
|
276
292
|
|
|
277
293
|
/** @internal */
|
|
278
294
|
export const filterOrFail = dual<
|
|
@@ -284,7 +300,7 @@ export const filterOrFail = dual<
|
|
|
284
300
|
f: Predicate.Predicate<A>,
|
|
285
301
|
orFailWith: (a: A) => E2
|
|
286
302
|
) => Client.Client<R, E2 | E, A>
|
|
287
|
-
>(3, (self, f, orFailWith) =>
|
|
303
|
+
>(3, (self, f, orFailWith) => make((request) => Effect.filterOrFail(self(request), f, orFailWith)))
|
|
288
304
|
|
|
289
305
|
/** @internal */
|
|
290
306
|
export const filterStatus = dual<
|
|
@@ -298,7 +314,7 @@ export const filterStatus = dual<
|
|
|
298
314
|
>(
|
|
299
315
|
2,
|
|
300
316
|
(self, f) =>
|
|
301
|
-
|
|
317
|
+
make((request) =>
|
|
302
318
|
Effect.filterOrFail(
|
|
303
319
|
self(request),
|
|
304
320
|
(response) => f(response.status),
|
|
@@ -327,7 +343,7 @@ export const map = dual<
|
|
|
327
343
|
self: Client.Client<R, E, A>,
|
|
328
344
|
f: (a: A) => B
|
|
329
345
|
) => Client.Client<R, E, B>
|
|
330
|
-
>(2, (self, f) =>
|
|
346
|
+
>(2, (self, f) => make((request) => Effect.map(self(request), f)))
|
|
331
347
|
|
|
332
348
|
/** @internal */
|
|
333
349
|
export const mapEffect = dual<
|
|
@@ -338,7 +354,7 @@ export const mapEffect = dual<
|
|
|
338
354
|
self: Client.Client<R, E, A>,
|
|
339
355
|
f: (a: A) => Effect.Effect<R2, E2, B>
|
|
340
356
|
) => Client.Client<R | R2, E | E2, B>
|
|
341
|
-
>(2, (self, f) =>
|
|
357
|
+
>(2, (self, f) => make((request) => Effect.flatMap(self(request), f)))
|
|
342
358
|
|
|
343
359
|
/** @internal */
|
|
344
360
|
export const mapRequest = dual<
|
|
@@ -349,7 +365,7 @@ export const mapRequest = dual<
|
|
|
349
365
|
self: Client.Client<R, E, A>,
|
|
350
366
|
f: (a: ClientRequest.ClientRequest) => ClientRequest.ClientRequest
|
|
351
367
|
) => Client.Client<R, E, A>
|
|
352
|
-
>(2, (self, f) =>
|
|
368
|
+
>(2, (self, f) => make((request) => self(f(request))))
|
|
353
369
|
|
|
354
370
|
/** @internal */
|
|
355
371
|
export const mapRequestEffect = dual<
|
|
@@ -360,13 +376,13 @@ export const mapRequestEffect = dual<
|
|
|
360
376
|
self: Client.Client<R, E, A>,
|
|
361
377
|
f: (a: ClientRequest.ClientRequest) => Effect.Effect<R2, E2, ClientRequest.ClientRequest>
|
|
362
378
|
) => Client.Client<R | R2, E | E2, A>
|
|
363
|
-
>(2, (self, f) =>
|
|
379
|
+
>(2, (self, f) => make((request) => Effect.flatMap(f(request), self)))
|
|
364
380
|
|
|
365
381
|
/** @internal */
|
|
366
382
|
export const withB3Propagation = <R, E>(
|
|
367
383
|
self: Client.Client.WithResponse<R, E>
|
|
368
384
|
): Client.Client.WithResponse<R | Scope.Scope, E> =>
|
|
369
|
-
|
|
385
|
+
make((req) =>
|
|
370
386
|
pipe(
|
|
371
387
|
Effect.map(
|
|
372
388
|
Effect.currentSpan,
|
|
@@ -405,7 +421,7 @@ export const retry: {
|
|
|
405
421
|
<R, E extends E0, E0, A, R1, B>(
|
|
406
422
|
self: Client.Client<R, E, A>,
|
|
407
423
|
policy: Schedule.Schedule<R1, E0, B>
|
|
408
|
-
): Client.Client<R | R1, E, A> =>
|
|
424
|
+
): Client.Client<R | R1, E, A> => make((request) => Effect.retry(self(request), policy))
|
|
409
425
|
)
|
|
410
426
|
|
|
411
427
|
/** @internal */
|
|
@@ -453,7 +469,7 @@ export const tap = dual<
|
|
|
453
469
|
self: Client.Client<R, E, A>,
|
|
454
470
|
f: (a: A) => Effect.Effect<R2, E2, _>
|
|
455
471
|
) => Client.Client<R | R2, E | E2, A>
|
|
456
|
-
>(2, (self, f) =>
|
|
472
|
+
>(2, (self, f) => make((request) => Effect.tap(self(request), f)))
|
|
457
473
|
|
|
458
474
|
/** @internal */
|
|
459
475
|
export const tapRequest = dual<
|
|
@@ -464,4 +480,4 @@ export const tapRequest = dual<
|
|
|
464
480
|
self: Client.Client<R, E, A>,
|
|
465
481
|
f: (a: ClientRequest.ClientRequest) => Effect.Effect<R2, E2, _>
|
|
466
482
|
) => Client.Client<R | R2, E | E2, A>
|
|
467
|
-
>(2, (self, f) =>
|
|
483
|
+
>(2, (self, f) => make((request) => Effect.zipRight(f(request), self(request))))
|