@effect/platform 0.64.0 → 0.65.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/FetchHttpClient/package.json +6 -0
- package/README.md +175 -611
- package/dist/cjs/Command.js +3 -3
- package/dist/cjs/Command.js.map +1 -1
- package/dist/cjs/FetchHttpClient.js +32 -0
- package/dist/cjs/FetchHttpClient.js.map +1 -0
- package/dist/cjs/HttpApiClient.js +1 -1
- package/dist/cjs/HttpApiClient.js.map +1 -1
- package/dist/cjs/HttpClient.js +5 -36
- package/dist/cjs/HttpClient.js.map +1 -1
- package/dist/cjs/HttpClientRequest.js +11 -11
- package/dist/cjs/HttpClientRequest.js.map +1 -1
- package/dist/cjs/HttpClientResponse.js +2 -61
- package/dist/cjs/HttpClientResponse.js.map +1 -1
- package/dist/cjs/HttpIncomingMessage.js +2 -29
- package/dist/cjs/HttpIncomingMessage.js.map +1 -1
- package/dist/cjs/Runtime.js +1 -1
- package/dist/cjs/Runtime.js.map +1 -1
- package/dist/cjs/Socket.js +42 -53
- package/dist/cjs/Socket.js.map +1 -1
- package/dist/cjs/index.js +3 -1
- package/dist/cjs/internal/command.js +2 -2
- package/dist/cjs/internal/command.js.map +1 -1
- package/dist/cjs/internal/fetchHttpClient.js +52 -0
- package/dist/cjs/internal/fetchHttpClient.js.map +1 -0
- package/dist/cjs/internal/httpClient.js +82 -71
- package/dist/cjs/internal/httpClient.js.map +1 -1
- package/dist/cjs/internal/httpClientRequest.js +13 -13
- package/dist/cjs/internal/httpClientRequest.js.map +1 -1
- package/dist/cjs/internal/httpClientResponse.js +1 -33
- package/dist/cjs/internal/httpClientResponse.js.map +1 -1
- package/dist/cjs/internal/worker.js +21 -29
- package/dist/cjs/internal/worker.js.map +1 -1
- package/dist/dts/Command.d.ts +4 -4
- package/dist/dts/Command.d.ts.map +1 -1
- package/dist/dts/FetchHttpClient.d.ts +27 -0
- package/dist/dts/FetchHttpClient.d.ts.map +1 -0
- package/dist/dts/HttpApiClient.d.ts +2 -2
- package/dist/dts/HttpClient.d.ts +53 -61
- package/dist/dts/HttpClient.d.ts.map +1 -1
- package/dist/dts/HttpClientRequest.d.ts +11 -11
- package/dist/dts/HttpClientRequest.d.ts.map +1 -1
- package/dist/dts/HttpClientResponse.d.ts +4 -90
- package/dist/dts/HttpClientResponse.d.ts.map +1 -1
- package/dist/dts/HttpIncomingMessage.d.ts +0 -16
- package/dist/dts/HttpIncomingMessage.d.ts.map +1 -1
- package/dist/dts/HttpServer.d.ts +1 -1
- package/dist/dts/Socket.d.ts +3 -3
- package/dist/dts/Socket.d.ts.map +1 -1
- package/dist/dts/index.d.ts +4 -0
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/internal/fetchHttpClient.d.ts +2 -0
- package/dist/dts/internal/fetchHttpClient.d.ts.map +1 -0
- package/dist/esm/Command.js +3 -3
- package/dist/esm/Command.js.map +1 -1
- package/dist/esm/FetchHttpClient.js +21 -0
- package/dist/esm/FetchHttpClient.js.map +1 -0
- package/dist/esm/HttpApiClient.js +1 -1
- package/dist/esm/HttpApiClient.js.map +1 -1
- package/dist/esm/HttpClient.js +4 -35
- package/dist/esm/HttpClient.js.map +1 -1
- package/dist/esm/HttpClientRequest.js +10 -10
- package/dist/esm/HttpClientRequest.js.map +1 -1
- package/dist/esm/HttpClientResponse.js +1 -63
- package/dist/esm/HttpClientResponse.js.map +1 -1
- package/dist/esm/HttpIncomingMessage.js +0 -24
- package/dist/esm/HttpIncomingMessage.js.map +1 -1
- package/dist/esm/Runtime.js +1 -1
- package/dist/esm/Runtime.js.map +1 -1
- package/dist/esm/Socket.js +42 -53
- package/dist/esm/Socket.js.map +1 -1
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/command.js +2 -2
- package/dist/esm/internal/command.js.map +1 -1
- package/dist/esm/internal/fetchHttpClient.js +44 -0
- package/dist/esm/internal/fetchHttpClient.js.map +1 -0
- package/dist/esm/internal/httpClient.js +79 -69
- package/dist/esm/internal/httpClient.js.map +1 -1
- package/dist/esm/internal/httpClientRequest.js +11 -11
- package/dist/esm/internal/httpClientRequest.js.map +1 -1
- package/dist/esm/internal/httpClientResponse.js +0 -24
- package/dist/esm/internal/httpClientResponse.js.map +1 -1
- package/dist/esm/internal/worker.js +21 -29
- package/dist/esm/internal/worker.js.map +1 -1
- package/package.json +11 -3
- package/src/Command.ts +7 -8
- package/src/FetchHttpClient.ts +25 -0
- package/src/HttpApiClient.ts +5 -5
- package/src/HttpClient.ts +79 -85
- package/src/HttpClientRequest.ts +21 -21
- package/src/HttpClientResponse.ts +4 -162
- package/src/HttpIncomingMessage.ts +0 -43
- package/src/HttpServer.ts +1 -1
- package/src/Runtime.ts +1 -1
- package/src/Socket.ts +42 -58
- package/src/index.ts +5 -0
- package/src/internal/command.ts +4 -3
- package/src/internal/fetchHttpClient.ts +53 -0
- package/src/internal/httpClient.ts +149 -125
- package/src/internal/httpClientRequest.ts +12 -12
- package/src/internal/httpClientResponse.ts +6 -96
- package/src/internal/worker.ts +40 -55
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import * as Schema from "@effect/schema/Schema";
|
|
2
2
|
import * as Serializable from "@effect/schema/Serializable";
|
|
3
|
-
import * as Cause from "effect/Cause";
|
|
4
3
|
import * as Channel from "effect/Channel";
|
|
5
|
-
import * as Chunk from "effect/Chunk";
|
|
6
4
|
import * as Context from "effect/Context";
|
|
7
5
|
import * as Deferred from "effect/Deferred";
|
|
8
6
|
import * as Effect from "effect/Effect";
|
|
@@ -11,9 +9,9 @@ import * as FiberRef from "effect/FiberRef";
|
|
|
11
9
|
import * as FiberSet from "effect/FiberSet";
|
|
12
10
|
import { identity, pipe } from "effect/Function";
|
|
13
11
|
import * as Layer from "effect/Layer";
|
|
12
|
+
import * as Mailbox from "effect/Mailbox";
|
|
14
13
|
import * as Option from "effect/Option";
|
|
15
14
|
import * as Pool from "effect/Pool";
|
|
16
|
-
import * as Queue from "effect/Queue";
|
|
17
15
|
import * as Schedule from "effect/Schedule";
|
|
18
16
|
import * as Scope from "effect/Scope";
|
|
19
17
|
import * as Stream from "effect/Stream";
|
|
@@ -53,52 +51,52 @@ export const makeManager = /*#__PURE__*/Effect.gen(function* () {
|
|
|
53
51
|
return Deferred.complete(readyLatch, Effect.void);
|
|
54
52
|
}
|
|
55
53
|
return handleMessage(message[1]);
|
|
56
|
-
}).pipe(Effect.onError(cause => Effect.forEach(requestMap.values(),
|
|
54
|
+
}).pipe(Effect.onError(cause => Effect.forEach(requestMap.values(), mailbox => Deferred.DeferredTypeId in mailbox ? Deferred.failCause(mailbox, cause) : mailbox.failCause(cause))), Effect.retry(Schedule.spaced(1000)), Effect.annotateLogs({
|
|
57
55
|
package: "@effect/platform",
|
|
58
56
|
module: "Worker"
|
|
59
57
|
}), Effect.interruptible, Effect.forkScoped);
|
|
60
|
-
yield* Effect.addFinalizer(() => Effect.zipRight(Effect.forEach(requestMap.values(),
|
|
58
|
+
yield* Effect.addFinalizer(() => Effect.zipRight(Effect.forEach(requestMap.values(), mailbox => Deferred.DeferredTypeId in mailbox ? Deferred.interrupt(mailbox) : mailbox.end, {
|
|
61
59
|
discard: true
|
|
62
60
|
}), Effect.sync(() => requestMap.clear())));
|
|
63
61
|
const handleMessage = response => Effect.suspend(() => {
|
|
64
|
-
const
|
|
65
|
-
if (!
|
|
62
|
+
const mailbox = requestMap.get(response[0]);
|
|
63
|
+
if (!mailbox) return Effect.void;
|
|
66
64
|
switch (response[1]) {
|
|
67
65
|
// data
|
|
68
66
|
case 0:
|
|
69
67
|
{
|
|
70
|
-
return Deferred.DeferredTypeId in
|
|
68
|
+
return Deferred.DeferredTypeId in mailbox ? Deferred.succeed(mailbox, response[2][0]) : mailbox.offerAll(response[2]);
|
|
71
69
|
}
|
|
72
70
|
// end
|
|
73
71
|
case 1:
|
|
74
72
|
{
|
|
75
73
|
if (response.length === 2) {
|
|
76
|
-
return Deferred.DeferredTypeId in
|
|
74
|
+
return Deferred.DeferredTypeId in mailbox ? Deferred.interrupt(mailbox) : mailbox.end;
|
|
77
75
|
}
|
|
78
|
-
return Deferred.DeferredTypeId in
|
|
76
|
+
return Deferred.DeferredTypeId in mailbox ? Deferred.succeed(mailbox, response[2][0]) : Effect.zipRight(mailbox.offerAll(response[2]), mailbox.end);
|
|
79
77
|
}
|
|
80
78
|
// error / defect
|
|
81
79
|
case 2:
|
|
82
80
|
case 3:
|
|
83
81
|
{
|
|
84
82
|
if (response[1] === 2) {
|
|
85
|
-
return Deferred.DeferredTypeId in
|
|
83
|
+
return Deferred.DeferredTypeId in mailbox ? Deferred.fail(mailbox, response[2]) : mailbox.fail(response[2]);
|
|
86
84
|
}
|
|
87
85
|
const cause = WorkerError.decodeCause(response[2]);
|
|
88
|
-
return Deferred.DeferredTypeId in
|
|
86
|
+
return Deferred.DeferredTypeId in mailbox ? Deferred.failCause(mailbox, cause) : mailbox.failCause(cause);
|
|
89
87
|
}
|
|
90
88
|
}
|
|
91
89
|
});
|
|
92
|
-
const executeAcquire = (request,
|
|
90
|
+
const executeAcquire = (request, makeMailbox) => Effect.withFiberRuntime(fiber => {
|
|
93
91
|
const context = fiber.getFiberRef(FiberRef.currentContext);
|
|
94
92
|
const span = Context.getOption(context, Tracer.ParentSpan).pipe(Option.filter(span => span._tag === "Span"));
|
|
95
93
|
const id = requestIdCounter++;
|
|
96
|
-
return
|
|
97
|
-
requestMap.set(id,
|
|
98
|
-
return wrappedEncode(request).pipe(Effect.tap(payload => backing.send([id, 0, payload, span._tag === "Some" ? [span.value.traceId, span.value.spanId, span.value.sampled] : undefined], collector.unsafeRead())), Effect.catchAllCause(cause =>
|
|
99
|
-
}), Effect.map(
|
|
94
|
+
return makeMailbox.pipe(Effect.tap(mailbox => {
|
|
95
|
+
requestMap.set(id, mailbox);
|
|
96
|
+
return wrappedEncode(request).pipe(Effect.tap(payload => backing.send([id, 0, payload, span._tag === "Some" ? [span.value.traceId, span.value.spanId, span.value.sampled] : undefined], collector.unsafeRead())), Effect.catchAllCause(cause => Mailbox.isMailbox(mailbox) ? mailbox.failCause(cause) : Deferred.failCause(mailbox, cause)));
|
|
97
|
+
}), Effect.map(mailbox => ({
|
|
100
98
|
id,
|
|
101
|
-
|
|
99
|
+
mailbox
|
|
102
100
|
})));
|
|
103
101
|
});
|
|
104
102
|
const executeRelease = ({
|
|
@@ -107,18 +105,12 @@ export const makeManager = /*#__PURE__*/Effect.gen(function* () {
|
|
|
107
105
|
const release = Effect.sync(() => requestMap.delete(id));
|
|
108
106
|
return Exit.isFailure(exit) ? Effect.zipRight(Effect.orDie(backing.send([id, 1])), release) : release;
|
|
109
107
|
};
|
|
110
|
-
const execute = request => Stream.fromChannel(Channel.acquireUseRelease(executeAcquire(request,
|
|
111
|
-
|
|
112
|
-
}) =>
|
|
113
|
-
const loop = Channel.flatMap(Queue.take(queue), Exit.match({
|
|
114
|
-
onFailure: cause => Cause.isEmpty(cause) ? Channel.void : Channel.failCause(cause),
|
|
115
|
-
onSuccess: value => Channel.flatMap(Channel.write(Chunk.unsafeFromArray(value)), () => loop)
|
|
116
|
-
}));
|
|
117
|
-
return loop;
|
|
118
|
-
}, executeRelease));
|
|
108
|
+
const execute = request => Stream.fromChannel(Channel.acquireUseRelease(executeAcquire(request, Mailbox.make()), ({
|
|
109
|
+
mailbox
|
|
110
|
+
}) => Mailbox.toChannel(mailbox), executeRelease));
|
|
119
111
|
const executeEffect = request => Effect.acquireUseRelease(executeAcquire(request, Deferred.make()), ({
|
|
120
|
-
|
|
121
|
-
}) => Deferred.await(
|
|
112
|
+
mailbox
|
|
113
|
+
}) => Deferred.await(mailbox), executeRelease);
|
|
122
114
|
yield* Deferred.await(readyLatch);
|
|
123
115
|
if (initialMessage) {
|
|
124
116
|
yield* Effect.sync(initialMessage).pipe(Effect.flatMap(executeEffect), Effect.mapError(cause => new WorkerError({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","names":["Schema","Serializable","Cause","Channel","Chunk","Context","Deferred","Effect","Exit","FiberRef","FiberSet","identity","pipe","Layer","Option","Pool","Queue","Schedule","Scope","Stream","Tracer","Transferable","WorkerError","PlatformWorkerTypeId","Symbol","for","PlatformWorker","GenericTag","WorkerManagerTypeId","WorkerManager","Spawner","makeManager","gen","platform","idCounter","of","spawn","encode","initialMessage","_","id","requestIdCounter","requestMap","Map","collector","unsafeMakeCollector","wrappedEncode","message","zipRight","clear","provideService","Collector","succeed","readyLatch","make","backing","run","complete","void","handleMessage","onError","cause","forEach","values","queue","DeferredTypeId","failCause","offer","retry","spaced","annotateLogs","package","module","interruptible","forkScoped","addFinalizer","interrupt","empty","discard","sync","response","suspend","get","length","fail","decodeCause","executeAcquire","request","makeQueue","withFiberRuntime","fiber","context","getFiberRef","currentContext","span","getOption","ParentSpan","filter","_tag","tap","set","payload","send","value","traceId","spanId","sampled","undefined","unsafeRead","catchAllCause","map","executeRelease","exit","release","delete","isFailure","orDie","execute","fromChannel","acquireUseRelease","unbounded","loop","flatMap","take","match","onFailure","isEmpty","onSuccess","write","unsafeFromArray","executeEffect","await","mapError","reason","layerManager","effect","makePool","options","manager","workers","Set","acquire","worker","acquireRelease","add","onCreate","makeWithTTL","min","minSize","max","maxSize","concurrency","targetUtilization","timeToLive","size","pool","broadcast","unwrapScoped","scoped","makePoolLayer","tag","makeSerialized","serialize","parseSuccess","decode","successSchema","parseFailure","failureSchema","catchAll","error","mapEffect","matchEffect","makePoolSerialized","makePoolSerializedLayer","layerSpawner","spawner","makePlatform","currentPort","buffer","handler","uninterruptibleMask","restore","bindTo","bind","scope","setup","port","extend","fiberSet","runtime","runFork","listen","emit","data","deferred","transfers","postMessage","join","ensuring","close","try","push","catch"],"sources":["../../../src/internal/worker.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"worker.js","names":["Schema","Serializable","Channel","Context","Deferred","Effect","Exit","FiberRef","FiberSet","identity","pipe","Layer","Mailbox","Option","Pool","Schedule","Scope","Stream","Tracer","Transferable","WorkerError","PlatformWorkerTypeId","Symbol","for","PlatformWorker","GenericTag","WorkerManagerTypeId","WorkerManager","Spawner","makeManager","gen","platform","idCounter","of","spawn","encode","initialMessage","_","id","requestIdCounter","requestMap","Map","collector","unsafeMakeCollector","wrappedEncode","message","zipRight","clear","provideService","Collector","succeed","readyLatch","make","backing","run","complete","void","handleMessage","onError","cause","forEach","values","mailbox","DeferredTypeId","failCause","retry","spaced","annotateLogs","package","module","interruptible","forkScoped","addFinalizer","interrupt","end","discard","sync","response","suspend","get","offerAll","length","fail","decodeCause","executeAcquire","request","makeMailbox","withFiberRuntime","fiber","context","getFiberRef","currentContext","span","getOption","ParentSpan","filter","_tag","tap","set","payload","send","value","traceId","spanId","sampled","undefined","unsafeRead","catchAllCause","isMailbox","map","executeRelease","exit","release","delete","isFailure","orDie","execute","fromChannel","acquireUseRelease","toChannel","executeEffect","await","flatMap","mapError","reason","layerManager","effect","makePool","options","manager","workers","Set","acquire","worker","acquireRelease","add","onCreate","makeWithTTL","min","minSize","max","maxSize","concurrency","targetUtilization","timeToLive","size","pool","broadcast","unwrapScoped","scoped","makePoolLayer","tag","makeSerialized","serialize","parseSuccess","decode","successSchema","parseFailure","failureSchema","catchAll","error","mapEffect","matchEffect","onFailure","onSuccess","makePoolSerialized","makePoolSerializedLayer","layerSpawner","spawner","makePlatform","currentPort","buffer","handler","uninterruptibleMask","restore","bindTo","bind","scope","setup","port","extend","fiberSet","runtime","runFork","listen","emit","data","deferred","transfers","postMessage","join","ensuring","close","try","push","catch"],"sources":["../../../src/internal/worker.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.
|
|
3
|
+
"version": "0.65.0",
|
|
4
4
|
"description": "Unified interfaces for common platform-specific services",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
"multipasta": "^0.2.5"
|
|
15
15
|
},
|
|
16
16
|
"peerDependencies": {
|
|
17
|
-
"@effect/schema": "^0.
|
|
18
|
-
"effect": "^3.
|
|
17
|
+
"@effect/schema": "^0.73.0",
|
|
18
|
+
"effect": "^3.8.0"
|
|
19
19
|
},
|
|
20
20
|
"publishConfig": {
|
|
21
21
|
"provenance": true
|
|
@@ -60,6 +60,11 @@
|
|
|
60
60
|
"import": "./dist/esm/Etag.js",
|
|
61
61
|
"default": "./dist/cjs/Etag.js"
|
|
62
62
|
},
|
|
63
|
+
"./FetchHttpClient": {
|
|
64
|
+
"types": "./dist/dts/FetchHttpClient.d.ts",
|
|
65
|
+
"import": "./dist/esm/FetchHttpClient.js",
|
|
66
|
+
"default": "./dist/cjs/FetchHttpClient.js"
|
|
67
|
+
},
|
|
63
68
|
"./FileSystem": {
|
|
64
69
|
"types": "./dist/dts/FileSystem.d.ts",
|
|
65
70
|
"import": "./dist/esm/FileSystem.js",
|
|
@@ -301,6 +306,9 @@
|
|
|
301
306
|
"Etag": [
|
|
302
307
|
"./dist/dts/Etag.d.ts"
|
|
303
308
|
],
|
|
309
|
+
"FetchHttpClient": [
|
|
310
|
+
"./dist/dts/FetchHttpClient.d.ts"
|
|
311
|
+
],
|
|
304
312
|
"FileSystem": [
|
|
305
313
|
"./dist/dts/FileSystem.d.ts"
|
|
306
314
|
],
|
package/src/Command.ts
CHANGED
|
@@ -153,9 +153,9 @@ export const feed: {
|
|
|
153
153
|
/**
|
|
154
154
|
* Flatten this command to a non-empty array of standard commands.
|
|
155
155
|
*
|
|
156
|
-
*
|
|
157
|
-
*
|
|
158
|
-
*
|
|
156
|
+
* For a `StandardCommand`, this simply returns a `1` element array
|
|
157
|
+
* For a `PipedCommand`, all commands in the pipe will be extracted out into
|
|
158
|
+
* a array from left to right
|
|
159
159
|
*
|
|
160
160
|
* @since 1.0.0
|
|
161
161
|
* @category combinators
|
|
@@ -169,10 +169,8 @@ export const flatten: (self: Command) => NonEmptyReadonlyArray<StandardCommand>
|
|
|
169
169
|
* @since 1.0.0
|
|
170
170
|
* @category execution
|
|
171
171
|
*/
|
|
172
|
-
export const lines: (
|
|
173
|
-
|
|
174
|
-
encoding?: string
|
|
175
|
-
) => Effect<Array<string>, PlatformError, CommandExecutor> = internal.lines
|
|
172
|
+
export const lines: (command: Command, encoding?: string) => Effect<Array<string>, PlatformError, CommandExecutor> =
|
|
173
|
+
internal.lines
|
|
176
174
|
|
|
177
175
|
/**
|
|
178
176
|
* Create a command with the specified process name and an optional list of
|
|
@@ -235,7 +233,8 @@ export const stream: (command: Command) => Stream<Uint8Array, PlatformError, Com
|
|
|
235
233
|
* @since 1.0.0
|
|
236
234
|
* @category execution
|
|
237
235
|
*/
|
|
238
|
-
export const streamLines: (command: Command) => Stream<string, PlatformError, CommandExecutor> =
|
|
236
|
+
export const streamLines: (command: Command, encoding?: string) => Stream<string, PlatformError, CommandExecutor> =
|
|
237
|
+
internal.streamLines
|
|
239
238
|
|
|
240
239
|
/**
|
|
241
240
|
* Runs the command returning the entire output as a string with the
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import * as Context from "effect/Context"
|
|
5
|
+
import type * as Layer from "effect/Layer"
|
|
6
|
+
import type { HttpClient } from "./HttpClient.js"
|
|
7
|
+
import * as internal from "./internal/fetchHttpClient.js"
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @since 1.0.0
|
|
11
|
+
* @category tags
|
|
12
|
+
*/
|
|
13
|
+
export class Fetch extends Context.Tag(internal.fetchTagKey)<Fetch, typeof globalThis.fetch>() {}
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* @since 1.0.0
|
|
17
|
+
* @category tags
|
|
18
|
+
*/
|
|
19
|
+
export class RequestInit extends Context.Tag(internal.requestInitTagKey)<RequestInit, globalThis.RequestInit>() {}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* @since 1.0.0
|
|
23
|
+
* @category layers
|
|
24
|
+
*/
|
|
25
|
+
export const layer: Layer.Layer<HttpClient.Service> = internal.layer
|
package/src/HttpApiClient.ts
CHANGED
|
@@ -56,10 +56,10 @@ export type Client<A extends HttpApi.HttpApi.Any> = [A] extends
|
|
|
56
56
|
export const make = <A extends HttpApi.HttpApi.Any>(
|
|
57
57
|
api: A,
|
|
58
58
|
options?: {
|
|
59
|
-
readonly transformClient?: ((client: HttpClient.HttpClient.
|
|
59
|
+
readonly transformClient?: ((client: HttpClient.HttpClient.Service) => HttpClient.HttpClient.Service) | undefined
|
|
60
60
|
readonly baseUrl?: string | undefined
|
|
61
61
|
}
|
|
62
|
-
): Effect.Effect<Simplify<Client<A>>, never, HttpApi.HttpApi.Context<A> | HttpClient.HttpClient.
|
|
62
|
+
): Effect.Effect<Simplify<Client<A>>, never, HttpApi.HttpApi.Context<A> | HttpClient.HttpClient.Service> =>
|
|
63
63
|
Effect.gen(function*() {
|
|
64
64
|
const context = yield* Effect.context<any>()
|
|
65
65
|
const httpClient = (yield* HttpClient.HttpClient).pipe(
|
|
@@ -165,13 +165,13 @@ export const make = <A extends HttpApi.HttpApi.Any>(
|
|
|
165
165
|
const baseRequest = HttpClientRequest.make(endpoint.method)(url)
|
|
166
166
|
return (isMultipart ?
|
|
167
167
|
Effect.succeed(baseRequest.pipe(
|
|
168
|
-
HttpClientRequest.
|
|
168
|
+
HttpClientRequest.bodyFormData(request.payload)
|
|
169
169
|
))
|
|
170
170
|
: encodePayload._tag === "Some"
|
|
171
171
|
? encodePayload.value(request.payload).pipe(
|
|
172
172
|
Effect.flatMap((payload) =>
|
|
173
173
|
HttpMethod.hasBody(endpoint.method)
|
|
174
|
-
? HttpClientRequest.
|
|
174
|
+
? HttpClientRequest.bodyJson(baseRequest, payload)
|
|
175
175
|
: Effect.succeed(HttpClientRequest.setUrlParams(baseRequest, payload as any))
|
|
176
176
|
),
|
|
177
177
|
Effect.orDie
|
|
@@ -186,7 +186,7 @@ export const make = <A extends HttpApi.HttpApi.Any>(
|
|
|
186
186
|
)
|
|
187
187
|
: identity,
|
|
188
188
|
Effect.flatMap((request) =>
|
|
189
|
-
Effect.flatMap(httpClient(request), (response) =>
|
|
189
|
+
Effect.flatMap(httpClient.execute(request), (response) =>
|
|
190
190
|
response.status !== successStatus
|
|
191
191
|
? handleError(request, response)
|
|
192
192
|
: Effect.succeed(response))
|
package/src/HttpClient.ts
CHANGED
|
@@ -9,7 +9,7 @@ import type * as Effect from "effect/Effect"
|
|
|
9
9
|
import type { RuntimeFiber } from "effect/Fiber"
|
|
10
10
|
import type * as FiberRef from "effect/FiberRef"
|
|
11
11
|
import type { Inspectable } from "effect/Inspectable"
|
|
12
|
-
import type
|
|
12
|
+
import type { Layer } from "effect/Layer"
|
|
13
13
|
import type { Pipeable } from "effect/Pipeable"
|
|
14
14
|
import type * as Predicate from "effect/Predicate"
|
|
15
15
|
import type { Ref } from "effect/Ref"
|
|
@@ -38,10 +38,16 @@ export type TypeId = typeof TypeId
|
|
|
38
38
|
* @category models
|
|
39
39
|
*/
|
|
40
40
|
export interface HttpClient<A = ClientResponse.HttpClientResponse, E = never, R = never> extends Pipeable, Inspectable {
|
|
41
|
-
(request: ClientRequest.HttpClientRequest): Effect.Effect<A, E, R>
|
|
42
41
|
readonly [TypeId]: TypeId
|
|
43
|
-
readonly
|
|
44
|
-
|
|
42
|
+
readonly execute: (request: ClientRequest.HttpClientRequest) => Effect.Effect<A, E, R>
|
|
43
|
+
|
|
44
|
+
readonly get: (url: string | URL, options?: ClientRequest.Options.NoBody) => Effect.Effect<A, E, R>
|
|
45
|
+
readonly head: (url: string | URL, options?: ClientRequest.Options.NoBody) => Effect.Effect<A, E, R>
|
|
46
|
+
readonly post: (url: string | URL, options?: ClientRequest.Options.NoUrl) => Effect.Effect<A, E, R>
|
|
47
|
+
readonly patch: (url: string | URL, options?: ClientRequest.Options.NoUrl) => Effect.Effect<A, E, R>
|
|
48
|
+
readonly put: (url: string | URL, options?: ClientRequest.Options.NoUrl) => Effect.Effect<A, E, R>
|
|
49
|
+
readonly del: (url: string | URL, options?: ClientRequest.Options.NoUrl) => Effect.Effect<A, E, R>
|
|
50
|
+
readonly options: (url: string | URL, options?: ClientRequest.Options.NoUrl) => Effect.Effect<A, E, R>
|
|
45
51
|
}
|
|
46
52
|
|
|
47
53
|
/**
|
|
@@ -60,7 +66,7 @@ export declare namespace HttpClient {
|
|
|
60
66
|
* @since 1.0.0
|
|
61
67
|
* @category models
|
|
62
68
|
*/
|
|
63
|
-
export type
|
|
69
|
+
export type Postprocess<A, E = never, R = never> = (
|
|
64
70
|
request: Effect.Effect<ClientRequest.HttpClientRequest, E, R>
|
|
65
71
|
) => Effect.Effect<A, E, R>
|
|
66
72
|
|
|
@@ -74,46 +80,14 @@ export declare namespace HttpClient {
|
|
|
74
80
|
* @since 1.0.0
|
|
75
81
|
* @category models
|
|
76
82
|
*/
|
|
77
|
-
export type
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* @since 1.0.0
|
|
82
|
-
* @category models
|
|
83
|
-
*/
|
|
84
|
-
export interface Fetch {
|
|
85
|
-
readonly _: unique symbol
|
|
83
|
+
export type Service = WithResponse<Error.HttpClientError, Scope.Scope>
|
|
86
84
|
}
|
|
87
85
|
|
|
88
86
|
/**
|
|
89
87
|
* @since 1.0.0
|
|
90
88
|
* @category tags
|
|
91
89
|
*/
|
|
92
|
-
export const HttpClient: Context.Tag<HttpClient.
|
|
93
|
-
|
|
94
|
-
/**
|
|
95
|
-
* @since 1.0.0
|
|
96
|
-
* @category tags
|
|
97
|
-
*/
|
|
98
|
-
export const Fetch: Context.Tag<Fetch, typeof globalThis.fetch> = internal.Fetch
|
|
99
|
-
|
|
100
|
-
/**
|
|
101
|
-
* @since 1.0.0
|
|
102
|
-
* @category layers
|
|
103
|
-
*/
|
|
104
|
-
export const layer: Layer.Layer<HttpClient.Default> = internal.layer
|
|
105
|
-
|
|
106
|
-
/**
|
|
107
|
-
* @since 1.0.0
|
|
108
|
-
* @category constructors
|
|
109
|
-
*/
|
|
110
|
-
export const fetch: HttpClient.Default = internal.fetch
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* @since 1.0.0
|
|
114
|
-
* @category constructors
|
|
115
|
-
*/
|
|
116
|
-
export const fetchOk: HttpClient.Default = internal.fetchOk
|
|
90
|
+
export const HttpClient: Context.Tag<HttpClient.Service, HttpClient.Service> = internal.tag
|
|
117
91
|
|
|
118
92
|
/**
|
|
119
93
|
* @since 1.0.0
|
|
@@ -200,15 +174,26 @@ export const catchTags: {
|
|
|
200
174
|
* @category filters
|
|
201
175
|
*/
|
|
202
176
|
export const filterOrElse: {
|
|
177
|
+
<A, B extends A, C, E2, R2>(
|
|
178
|
+
refinement: Predicate.Refinement<NoInfer<A>, B>,
|
|
179
|
+
orElse: (a: NoInfer<A>) => Effect.Effect<C, E2, R2>
|
|
180
|
+
): <E, R>(self: HttpClient<A, E, R>) => HttpClient<B | C, E | E2, R | R2>
|
|
203
181
|
<A, B, E2, R2>(
|
|
204
|
-
|
|
205
|
-
orElse: (a: A) => Effect.Effect<B, E2, R2>
|
|
206
|
-
): <E, R>(
|
|
182
|
+
predicate: Predicate.Predicate<NoInfer<A>>,
|
|
183
|
+
orElse: (a: NoInfer<A>) => Effect.Effect<B, E2, R2>
|
|
184
|
+
): <E, R>(
|
|
185
|
+
self: HttpClient<A, E, R>
|
|
186
|
+
) => HttpClient<A | B, E2 | E, R2 | R>
|
|
187
|
+
<A, E, R, B extends A, C, E2, R2>(
|
|
188
|
+
self: HttpClient<A, E, R>,
|
|
189
|
+
refinement: Predicate.Refinement<A, B>,
|
|
190
|
+
orElse: (a: A) => Effect.Effect<C, E2, R2>
|
|
191
|
+
): HttpClient<B | C, E | E2, R | R2>
|
|
207
192
|
<A, E, R, B, E2, R2>(
|
|
208
193
|
self: HttpClient<A, E, R>,
|
|
209
|
-
|
|
194
|
+
predicate: Predicate.Predicate<A>,
|
|
210
195
|
orElse: (a: A) => Effect.Effect<B, E2, R2>
|
|
211
|
-
): HttpClient<A | B,
|
|
196
|
+
): HttpClient<A | B, E2 | E, R2 | R>
|
|
212
197
|
} = internal.filterOrElse
|
|
213
198
|
|
|
214
199
|
/**
|
|
@@ -216,15 +201,24 @@ export const filterOrElse: {
|
|
|
216
201
|
* @category filters
|
|
217
202
|
*/
|
|
218
203
|
export const filterOrFail: {
|
|
204
|
+
<A, B extends A, E2>(
|
|
205
|
+
refinement: Predicate.Refinement<NoInfer<A>, B>,
|
|
206
|
+
orFailWith: (a: NoInfer<A>) => E2
|
|
207
|
+
): <E, R>(self: HttpClient<A, E, R>) => HttpClient<B, E | E2, R>
|
|
219
208
|
<A, E2>(
|
|
220
|
-
|
|
221
|
-
orFailWith: (a: A) => E2
|
|
209
|
+
predicate: Predicate.Predicate<NoInfer<A>>,
|
|
210
|
+
orFailWith: (a: NoInfer<A>) => E2
|
|
222
211
|
): <E, R>(self: HttpClient<A, E, R>) => HttpClient<A, E2 | E, R>
|
|
212
|
+
<A, B extends A, E, R, E2>(
|
|
213
|
+
self: HttpClient<A, E, R>,
|
|
214
|
+
refinement: Predicate.Refinement<A, B>,
|
|
215
|
+
orFailWith: (a: A) => E2
|
|
216
|
+
): HttpClient<B, E2 | E, R>
|
|
223
217
|
<A, E, R, E2>(
|
|
224
218
|
self: HttpClient<A, E, R>,
|
|
225
|
-
|
|
219
|
+
predicate: Predicate.Predicate<A>,
|
|
226
220
|
orFailWith: (a: A) => E2
|
|
227
|
-
): HttpClient<A,
|
|
221
|
+
): HttpClient<A, E2 | E, R>
|
|
228
222
|
} = internal.filterOrFail
|
|
229
223
|
|
|
230
224
|
/**
|
|
@@ -262,14 +256,14 @@ export const make: <A, E, R, E2, R2>(
|
|
|
262
256
|
* @since 1.0.0
|
|
263
257
|
* @category constructors
|
|
264
258
|
*/
|
|
265
|
-
export const
|
|
259
|
+
export const makeService: (
|
|
266
260
|
f: (
|
|
267
261
|
request: ClientRequest.HttpClientRequest,
|
|
268
262
|
url: URL,
|
|
269
263
|
signal: AbortSignal,
|
|
270
264
|
fiber: RuntimeFiber<ClientResponse.HttpClientResponse, Error.HttpClientError>
|
|
271
265
|
) => Effect.Effect<ClientResponse.HttpClientResponse, Error.HttpClientError, Scope.Scope>
|
|
272
|
-
) => HttpClient.
|
|
266
|
+
) => HttpClient.Service = internal.makeService
|
|
273
267
|
|
|
274
268
|
/**
|
|
275
269
|
* @since 1.0.0
|
|
@@ -319,20 +313,6 @@ export const mapEffect: {
|
|
|
319
313
|
<A, E, R, B, E2, R2>(self: HttpClient<A, E, R>, f: (a: A) => Effect.Effect<B, E2, R2>): HttpClient<B, E | E2, R2 | R>
|
|
320
314
|
} = internal.mapEffect
|
|
321
315
|
|
|
322
|
-
/**
|
|
323
|
-
* @since 1.0.0
|
|
324
|
-
* @category mapping & sequencing
|
|
325
|
-
*/
|
|
326
|
-
export const mapEffectScoped: {
|
|
327
|
-
<A, B, E2, R2>(
|
|
328
|
-
f: (a: A) => Effect.Effect<B, E2, R2>
|
|
329
|
-
): <E, R>(self: HttpClient<A, E, R>) => HttpClient<B, E2 | E, Exclude<R2, Scope.Scope> | Exclude<R, Scope.Scope>>
|
|
330
|
-
<A, E, R, B, E2, R2>(
|
|
331
|
-
self: HttpClient<A, E, R>,
|
|
332
|
-
f: (a: A) => Effect.Effect<B, E2, R2>
|
|
333
|
-
): HttpClient<B, E | E2, Exclude<R2, Scope.Scope> | Exclude<R, Scope.Scope>>
|
|
334
|
-
} = internal.mapEffectScoped
|
|
335
|
-
|
|
336
316
|
/**
|
|
337
317
|
* @since 1.0.0
|
|
338
318
|
* @category mapping & sequencing
|
|
@@ -365,7 +345,7 @@ export const mapRequestEffect: {
|
|
|
365
345
|
* @since 1.0.0
|
|
366
346
|
* @category mapping & sequencing
|
|
367
347
|
*/
|
|
368
|
-
export const
|
|
348
|
+
export const mapRequestInput: {
|
|
369
349
|
(
|
|
370
350
|
f: (a: ClientRequest.HttpClientRequest) => ClientRequest.HttpClientRequest
|
|
371
351
|
): <A, E, R>(self: HttpClient<A, E, R>) => HttpClient<A, E, R>
|
|
@@ -373,13 +353,13 @@ export const mapInputRequest: {
|
|
|
373
353
|
self: HttpClient<A, E, R>,
|
|
374
354
|
f: (a: ClientRequest.HttpClientRequest) => ClientRequest.HttpClientRequest
|
|
375
355
|
): HttpClient<A, E, R>
|
|
376
|
-
} = internal.
|
|
356
|
+
} = internal.mapRequestInput
|
|
377
357
|
|
|
378
358
|
/**
|
|
379
359
|
* @since 1.0.0
|
|
380
360
|
* @category mapping & sequencing
|
|
381
361
|
*/
|
|
382
|
-
export const
|
|
362
|
+
export const mapRequestInputEffect: {
|
|
383
363
|
<E2, R2>(
|
|
384
364
|
f: (a: ClientRequest.HttpClientRequest) => Effect.Effect<ClientRequest.HttpClientRequest, E2, R2>
|
|
385
365
|
): <A, E, R>(self: HttpClient<A, E, R>) => HttpClient<A, E2 | E, R2 | R>
|
|
@@ -387,20 +367,42 @@ export const mapInputRequestEffect: {
|
|
|
387
367
|
self: HttpClient<A, E, R>,
|
|
388
368
|
f: (a: ClientRequest.HttpClientRequest) => Effect.Effect<ClientRequest.HttpClientRequest, E2, R2>
|
|
389
369
|
): HttpClient<A, E | E2, R2 | R>
|
|
390
|
-
} = internal.
|
|
370
|
+
} = internal.mapRequestInputEffect
|
|
371
|
+
|
|
372
|
+
/**
|
|
373
|
+
* @since 1.0.0
|
|
374
|
+
* @category error handling
|
|
375
|
+
*/
|
|
376
|
+
export declare namespace Retry {
|
|
377
|
+
/**
|
|
378
|
+
* @since 1.0.0
|
|
379
|
+
* @category error handling
|
|
380
|
+
*/
|
|
381
|
+
export type Return<R, E, A, O extends Effect.Retry.Options<E>> = HttpClient<
|
|
382
|
+
A,
|
|
383
|
+
| (O extends { schedule: Schedule.Schedule<infer _O, infer _I, infer _R> } ? E
|
|
384
|
+
: O extends { until: Predicate.Refinement<E, infer E2> } ? E2
|
|
385
|
+
: E)
|
|
386
|
+
| (O extends { while: (...args: Array<any>) => Effect.Effect<infer _A, infer E, infer _R> } ? E : never)
|
|
387
|
+
| (O extends { until: (...args: Array<any>) => Effect.Effect<infer _A, infer E, infer _R> } ? E : never),
|
|
388
|
+
| R
|
|
389
|
+
| (O extends { schedule: Schedule.Schedule<infer _O, infer _I, infer R> } ? R : never)
|
|
390
|
+
| (O extends { while: (...args: Array<any>) => Effect.Effect<infer _A, infer _E, infer R> } ? R : never)
|
|
391
|
+
| (O extends { until: (...args: Array<any>) => Effect.Effect<infer _A, infer _E, infer R> } ? R : never)
|
|
392
|
+
> extends infer Z ? Z : never
|
|
393
|
+
}
|
|
391
394
|
|
|
392
395
|
/**
|
|
393
396
|
* @since 1.0.0
|
|
394
397
|
* @category error handling
|
|
395
398
|
*/
|
|
396
399
|
export const retry: {
|
|
397
|
-
<
|
|
398
|
-
|
|
400
|
+
<E, O extends Effect.Retry.Options<E>>(options: O): <A, R>(self: HttpClient<A, E, R>) => Retry.Return<R, E, A, O>
|
|
401
|
+
<B, E, R1>(
|
|
402
|
+
policy: Schedule.Schedule<B, NoInfer<E>, R1>
|
|
399
403
|
): <A, R>(self: HttpClient<A, E, R>) => HttpClient<A, E, R1 | R>
|
|
400
|
-
<A, E extends
|
|
401
|
-
|
|
402
|
-
policy: Schedule.Schedule<B, E0, R1>
|
|
403
|
-
): HttpClient<A, E, R1 | R>
|
|
404
|
+
<A, E, R, O extends Effect.Retry.Options<E>>(self: HttpClient<A, E, R>, options: O): Retry.Return<R, E, A, O>
|
|
405
|
+
<A, E, R, B, R1>(self: HttpClient<A, E, R>, policy: Schedule.Schedule<B, E, R1>): HttpClient<A, E, R1 | R>
|
|
404
406
|
} = internal.retry
|
|
405
407
|
|
|
406
408
|
/**
|
|
@@ -512,15 +514,7 @@ export const withTracerPropagation: {
|
|
|
512
514
|
|
|
513
515
|
/**
|
|
514
516
|
* @since 1.0.0
|
|
515
|
-
* @category fiber refs
|
|
516
|
-
*/
|
|
517
|
-
export const currentFetchOptions: FiberRef.FiberRef<RequestInit> = internal.currentFetchOptions
|
|
518
|
-
|
|
519
|
-
/**
|
|
520
|
-
* @since 1.0.0
|
|
521
|
-
* @category fiber refs
|
|
522
517
|
*/
|
|
523
|
-
export const
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
} = internal.withFetchOptions
|
|
518
|
+
export const layerMergedContext: <E, R>(
|
|
519
|
+
effect: Effect.Effect<HttpClient.Service, E, R>
|
|
520
|
+
) => Layer<HttpClient.Service, E, R> = internal.layerMergedContext
|