@effect/platform-node 0.33.5 → 0.34.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/Http/Server.js.map +1 -1
- package/dist/dts/Http/Server.d.ts +4 -3
- package/dist/dts/Http/Server.d.ts.map +1 -1
- package/dist/esm/Http/Server.js.map +1 -1
- package/dist/esm/internal/http/server.js +11 -10
- package/dist/esm/internal/http/server.js.map +1 -1
- package/dist/esm/internal/terminal.js +29 -17
- package/dist/esm/internal/terminal.js.map +1 -1
- package/internal/http/server.js +11 -10
- package/internal/http/server.js.map +1 -1
- package/internal/terminal.js +29 -17
- package/internal/terminal.js.map +1 -1
- package/package.json +3 -3
- package/src/Http/Server.ts +11 -6
- package/src/internal/http/server.ts +18 -25
- package/src/internal/terminal.ts +57 -31
package/Http/Server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Server.js","names":["internal","_interopRequireWildcard","require","_Server","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","n","__proto__","a","getOwnPropertyDescriptor","u","i","set","make","makeHandler","layer","layerConfig"],"sources":["../src/Http/Server.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"Server.js","names":["internal","_interopRequireWildcard","require","_Server","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","n","__proto__","a","getOwnPropertyDescriptor","u","i","set","make","makeHandler","layer","layerConfig"],"sources":["../src/Http/Server.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;AAmBA,IAAAA,QAAA,gBAAAC,uBAAA,eAAAC,OAAA;AAKA,IAAAC,OAAA,gBAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,OAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,OAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,OAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AAA4C,SAAAS,yBAAAC,CAAA;EAAA,yBAAAC,OAAA;EAAA,IAAAC,CAAA,OAAAD,OAAA;IAAAE,CAAA,OAAAF,OAAA;EAAA,QAAAF,wBAAA,YAAAA,CAAAC,CAAA;IAAA,OAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA;EAAA,GAAAF,CAAA;AAAA;AAAA,SAAAhB,wBAAAgB,CAAA,EAAAE,CAAA;EAAA,KAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA;EAAA,aAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA;IAAAK,OAAA,EAAAL;EAAA;EAAA,IAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA;EAAA,IAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAL,GAAA,CAAAE,CAAA;EAAA,IAAAO,CAAA;MAAAC,SAAA;IAAA;IAAAC,CAAA,GAAAtB,MAAA,CAAAS,cAAA,IAAAT,MAAA,CAAAuB,wBAAA;EAAA,SAAAC,CAAA,IAAAX,CAAA,oBAAAW,CAAA,IAAAxB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAO,CAAA,EAAAW,CAAA;IAAA,IAAAC,CAAA,GAAAH,CAAA,GAAAtB,MAAA,CAAAuB,wBAAA,CAAAV,CAAA,EAAAW,CAAA;IAAAC,CAAA,KAAAA,CAAA,CAAAd,GAAA,IAAAc,CAAA,CAAAC,GAAA,IAAA1B,MAAA,CAAAS,cAAA,CAAAW,CAAA,EAAAI,CAAA,EAAAC,CAAA,IAAAL,CAAA,CAAAI,CAAA,IAAAX,CAAA,CAAAW,CAAA;EAAA;EAAA,OAAAJ,CAAA,CAAAF,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAU,GAAA,CAAAb,CAAA,EAAAO,CAAA,GAAAA,CAAA;AAAA;AAH5C;;;;AAKA;;;;AAIO,MAAMO,IAAI,GAAAnB,OAAA,CAAAmB,IAAA,GAOb/B,QAAQ,CAAC+B,IAAI;AAEjB;;;;AAIO,MAAMC,WAAW,GAAApB,OAAA,CAAAoB,WAAA,GAgBpBhC,QAAQ,CAACgC,WAAW;AAExB;;;;AAIO,MAAMC,KAAK,GAAArB,OAAA,CAAAqB,KAAA,GAGuDjC,QAAQ,CAACiC,KAAK;AAEvF;;;;AAIO,MAAMC,WAAW,GAAAtB,OAAA,CAAAsB,WAAA,GAG2ElC,QAAQ,CAACkC,WAAW"}
|
|
@@ -9,6 +9,7 @@ import type * as App from "@effect/platform/Http/App";
|
|
|
9
9
|
import type * as Middleware from "@effect/platform/Http/Middleware";
|
|
10
10
|
import type * as Platform from "@effect/platform/Http/Platform";
|
|
11
11
|
import type * as Server from "@effect/platform/Http/Server";
|
|
12
|
+
import type { ServeError } from "@effect/platform/Http/ServerError";
|
|
12
13
|
import type * as ServerRequest from "@effect/platform/Http/ServerRequest";
|
|
13
14
|
import type * as Config from "effect/Config";
|
|
14
15
|
import type * as ConfigError from "effect/ConfigError";
|
|
@@ -26,7 +27,7 @@ export * from "@effect/platform/Http/Server";
|
|
|
26
27
|
* @since 1.0.0
|
|
27
28
|
* @category constructors
|
|
28
29
|
*/
|
|
29
|
-
export declare const make: (evaluate: LazyArg<Http.Server
|
|
30
|
+
export declare const make: (evaluate: LazyArg<Http.Server<typeof Http.IncomingMessage, typeof Http.ServerResponse>>, options: Net.ListenOptions) => Effect.Effect<Scope.Scope, ServeError, Server.Server>;
|
|
30
31
|
/**
|
|
31
32
|
* @since 1.0.0
|
|
32
33
|
* @category constructors
|
|
@@ -39,10 +40,10 @@ export declare const makeHandler: {
|
|
|
39
40
|
* @since 1.0.0
|
|
40
41
|
* @category layers
|
|
41
42
|
*/
|
|
42
|
-
export declare const layer: (evaluate: LazyArg<Http.Server
|
|
43
|
+
export declare const layer: (evaluate: LazyArg<Http.Server>, options: Net.ListenOptions) => Layer.Layer<never, ServeError, Server.Server | Platform.Platform>;
|
|
43
44
|
/**
|
|
44
45
|
* @since 1.0.0
|
|
45
46
|
* @category layers
|
|
46
47
|
*/
|
|
47
|
-
export declare const layerConfig: (evaluate: LazyArg<Http.Server
|
|
48
|
+
export declare const layerConfig: (evaluate: LazyArg<Http.Server>, options: Config.Config.Wrap<Net.ListenOptions>) => Layer.Layer<never, ServeError | ConfigError.ConfigError, Server.Server | Platform.Platform>;
|
|
48
49
|
//# sourceMappingURL=Server.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Server.d.ts","sourceRoot":"","sources":["../../../src/Http/Server.ts"],"names":[],"mappings":";;AAAA;;;;GAIG;AACH,OAAO,KAAK,KAAK,GAAG,MAAM,2BAA2B,CAAA;AACrD,OAAO,KAAK,KAAK,UAAU,MAAM,kCAAkC,CAAA;AACnE,OAAO,KAAK,KAAK,QAAQ,MAAM,gCAAgC,CAAA;AAC/D,OAAO,KAAK,KAAK,MAAM,MAAM,8BAA8B,CAAA;AAC3D,OAAO,KAAK,KAAK,aAAa,MAAM,qCAAqC,CAAA;AACzE,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,WAAW,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,KAAK,IAAI,MAAM,WAAW,CAAA;AACtC,OAAO,KAAK,KAAK,GAAG,MAAM,UAAU,CAAA;AAGpC;;GAEG;AACH,cAAc,8BAA8B,CAAA;AAE5C;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE,CACjB,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"Server.d.ts","sourceRoot":"","sources":["../../../src/Http/Server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Server.js","names":["internal","make","makeHandler","layer","layerConfig"],"sources":["../../../src/Http/Server.ts"],"sourcesContent":[null],"mappings":"
|
|
1
|
+
{"version":3,"file":"Server.js","names":["internal","make","makeHandler","layer","layerConfig"],"sources":["../../../src/Http/Server.ts"],"sourcesContent":[null],"mappings":"AAmBA,OAAO,KAAKA,QAAQ,MAAM,4BAA4B;AAEtD;;;AAGA,cAAc,8BAA8B;AAE5C;;;;AAIA,OAAO,MAAMC,IAAI,GAObD,QAAQ,CAACC,IAAI;AAEjB;;;;AAIA,OAAO,MAAMC,WAAW,GAgBpBF,QAAQ,CAACE,WAAW;AAExB;;;;AAIA,OAAO,MAAMC,KAAK,GAGuDH,QAAQ,CAACG,KAAK;AAEvF;;;;AAIA,OAAO,MAAMC,WAAW,GAG2EJ,QAAQ,CAACI,WAAW"}
|
|
@@ -7,7 +7,6 @@ import * as Error from "@effect/platform/Http/ServerError";
|
|
|
7
7
|
import * as ServerRequest from "@effect/platform/Http/ServerRequest";
|
|
8
8
|
import * as Config from "effect/Config";
|
|
9
9
|
import * as Effect from "effect/Effect";
|
|
10
|
-
import * as Fiber from "effect/Fiber";
|
|
11
10
|
import * as Layer from "effect/Layer";
|
|
12
11
|
import * as Option from "effect/Option";
|
|
13
12
|
import * as Runtime from "effect/Runtime";
|
|
@@ -20,8 +19,7 @@ import { IncomingMessageImpl } from "./incomingMessage.js";
|
|
|
20
19
|
import * as internalPlatform from "./platform.js";
|
|
21
20
|
/** @internal */
|
|
22
21
|
export const make = (evaluate, options) => Effect.gen(function* (_) {
|
|
23
|
-
const server = evaluate(
|
|
24
|
-
const serverFiber = yield* _(Effect.addFinalizer(() => Effect.async(resume => {
|
|
22
|
+
const server = yield* _(Effect.acquireRelease(Effect.sync(evaluate), server => Effect.async(resume => {
|
|
25
23
|
server.close(error => {
|
|
26
24
|
if (error) {
|
|
27
25
|
resume(Effect.die(error));
|
|
@@ -29,14 +27,13 @@ export const make = (evaluate, options) => Effect.gen(function* (_) {
|
|
|
29
27
|
resume(Effect.unit);
|
|
30
28
|
}
|
|
31
29
|
});
|
|
32
|
-
}))
|
|
30
|
+
})));
|
|
31
|
+
yield* _(Effect.async(resume => {
|
|
33
32
|
server.on("error", error => {
|
|
34
33
|
resume(Effect.fail(Error.ServeError({
|
|
35
34
|
error
|
|
36
35
|
})));
|
|
37
36
|
});
|
|
38
|
-
})), Effect.scoped, Effect.forkScoped);
|
|
39
|
-
yield* _(Effect.async(resume => {
|
|
40
37
|
server.listen(options, () => {
|
|
41
38
|
resume(Effect.unit);
|
|
42
39
|
});
|
|
@@ -51,10 +48,14 @@ export const make = (evaluate, options) => Effect.gen(function* (_) {
|
|
|
51
48
|
hostname: address.address,
|
|
52
49
|
port: address.port
|
|
53
50
|
},
|
|
54
|
-
serve: (httpApp, middleware) => Effect.flatMap(makeHandler(httpApp, middleware), handler => Effect.
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
51
|
+
serve: (httpApp, middleware) => Effect.flatMap(makeHandler(httpApp, middleware), handler => Effect.zipRight(Effect.addFinalizer(() => Effect.sync(() => server.off("request", handler))), Effect.async(resume => {
|
|
52
|
+
server.on("request", handler);
|
|
53
|
+
server.on("error", error => {
|
|
54
|
+
resume(Effect.fail(Error.ServeError({
|
|
55
|
+
error
|
|
56
|
+
})));
|
|
57
|
+
});
|
|
58
|
+
})))
|
|
58
59
|
});
|
|
59
60
|
}).pipe(Effect.locally(IncomingMessage.maxBodySize, Option.some(FileSystem.Size(1024 * 1024 * 10))));
|
|
60
61
|
const respond = /*#__PURE__*/Middleware.make(httpApp => Effect.flatMap(ServerRequest.ServerRequest, request => Effect.tapErrorCause(Effect.tap(Effect.flatMap(httpApp, response => Effect.flatMap(App.preResponseHandler, f => f(request, response))), response => handleResponse(request, response)), _cause => Effect.sync(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","names":["FileSystem","App","IncomingMessage","Middleware","Server","Error","ServerRequest","Config","Effect","Fiber","Layer","Option","Runtime","Stream","Readable","pipeline","NodeSink","internalFormData","IncomingMessageImpl","internalPlatform","make","evaluate","options","gen","_","server","serverFiber","addFinalizer","async","resume","close","error","die","unit","zipRight","on","fail","ServeError","scoped","forkScoped","listen","address","_tag","path","hostname","port","serve","httpApp","middleware","flatMap","makeHandler","handler","all","acquireRelease","sync","off","join","discard","concurrency","pipe","locally","maxBodySize","some","Size","respond","request","tapErrorCause","tap","response","preResponseHandler","f","handleResponse","_cause","nodeResponse","headersSent","writeHead","writableEnded","end","handledApp","withDefaultMiddleware","map","zip","runtime","fiberId","runFork","nodeRequest","fiber","provideService","ServerRequestImpl","interruptAsFork","source","url","headersOverride","TypeId","constructor","remoteAddressOverride","RequestError","reason","modify","headers","remoteAddress","originalUrl","method","toUpperCase","formDataEffect","formData","runSync","cached","formDataStream","stream","toString","toJSON","layer","merge","layerConfig","config","unwrap","suspend","status","body","tryPromise","try","signal","catch","ResponseError","r","Response","Object","fromEntries","fromWeb","once","run","mapError","fromWritable","requestSource","self"],"sources":["../../../../src/internal/http/server.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","names":["FileSystem","App","IncomingMessage","Middleware","Server","Error","ServerRequest","Config","Effect","Layer","Option","Runtime","Stream","Readable","pipeline","NodeSink","internalFormData","IncomingMessageImpl","internalPlatform","make","evaluate","options","gen","_","server","acquireRelease","sync","async","resume","close","error","die","unit","on","fail","ServeError","listen","address","_tag","path","hostname","port","serve","httpApp","middleware","flatMap","makeHandler","handler","zipRight","addFinalizer","off","pipe","locally","maxBodySize","some","Size","respond","request","tapErrorCause","tap","response","preResponseHandler","f","handleResponse","_cause","nodeResponse","headersSent","writeHead","writableEnded","end","handledApp","withDefaultMiddleware","map","zip","runtime","fiberId","runFork","nodeRequest","fiber","provideService","ServerRequestImpl","interruptAsFork","source","url","headersOverride","TypeId","constructor","remoteAddressOverride","RequestError","reason","modify","headers","remoteAddress","originalUrl","method","toUpperCase","formDataEffect","formData","runSync","cached","formDataStream","stream","toString","toJSON","layer","merge","scoped","layerConfig","config","unwrap","suspend","status","body","tryPromise","try","signal","catch","ResponseError","r","Response","Object","fromEntries","fromWeb","once","run","mapError","fromWritable","requestSource","self"],"sources":["../../../../src/internal/http/server.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -9,21 +9,28 @@ const defaultShouldQuit = input => input.key.ctrl && (input.key.name === "c" ||
|
|
|
9
9
|
export const make = (shouldQuit = defaultShouldQuit) => Effect.gen(function* (_) {
|
|
10
10
|
const input = yield* _(Effect.sync(() => globalThis.process.stdin));
|
|
11
11
|
const output = yield* _(Effect.sync(() => globalThis.process.stdout));
|
|
12
|
-
// Acquire a
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
// Acquire a readline interface
|
|
13
|
+
const acquireReadlineInterface = Effect.sync(() => readline.createInterface({
|
|
14
|
+
input,
|
|
15
|
+
escapeCodeTimeout: 50
|
|
16
|
+
}));
|
|
17
|
+
// Uses the readline interface to force `stdin` to emit keypress events
|
|
18
|
+
const emitKeypressEvents = rl => {
|
|
19
19
|
readline.emitKeypressEvents(input, rl);
|
|
20
20
|
if (input.isTTY) {
|
|
21
21
|
input.setRawMode(true);
|
|
22
22
|
}
|
|
23
23
|
return rl;
|
|
24
|
+
};
|
|
25
|
+
// Close the `readline` interface
|
|
26
|
+
const releaseReadlineInterface = rl => Effect.sync(() => {
|
|
27
|
+
if (input.isTTY) {
|
|
28
|
+
input.setRawMode(false);
|
|
29
|
+
}
|
|
30
|
+
rl.close();
|
|
24
31
|
});
|
|
25
|
-
// Handle the `"keypress"` event emitted by `stdin` forced by
|
|
26
|
-
const handleKeypressEvent = Effect.async(resume => {
|
|
32
|
+
// Handle the `"keypress"` event emitted by `stdin` (forced by readline)
|
|
33
|
+
const handleKeypressEvent = input => Effect.async(resume => {
|
|
27
34
|
const handleKeypress = (input, key) => {
|
|
28
35
|
const userInput = {
|
|
29
36
|
input: Option.fromNullable(input),
|
|
@@ -45,14 +52,18 @@ export const make = (shouldQuit = defaultShouldQuit) => Effect.gen(function* (_)
|
|
|
45
52
|
input.removeListener("keypress", handleKeypress);
|
|
46
53
|
});
|
|
47
54
|
});
|
|
48
|
-
//
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
}
|
|
53
|
-
rl.
|
|
55
|
+
// Handle the `"line"` event emitted by the readline interface
|
|
56
|
+
const handleLineEvent = rl => Effect.async(resume => {
|
|
57
|
+
const handleLine = line => {
|
|
58
|
+
resume(Effect.succeed(line));
|
|
59
|
+
};
|
|
60
|
+
rl.on("line", handleLine);
|
|
61
|
+
return Effect.sync(() => {
|
|
62
|
+
rl.removeListener("line", handleLine);
|
|
63
|
+
});
|
|
54
64
|
});
|
|
55
|
-
const readInput = Effect.acquireUseRelease(acquireReadlineInterface, () => handleKeypressEvent, releaseReadlineInterface);
|
|
65
|
+
const readInput = Effect.acquireUseRelease(acquireReadlineInterface.pipe(Effect.map(emitKeypressEvents)), () => handleKeypressEvent(input), releaseReadlineInterface);
|
|
66
|
+
const readLine = Effect.acquireUseRelease(acquireReadlineInterface, rl => handleLineEvent(rl), releaseReadlineInterface);
|
|
56
67
|
const display = prompt => Effect.uninterruptible(Effect.async(resume => {
|
|
57
68
|
output.write(prompt, err => {
|
|
58
69
|
if (err) {
|
|
@@ -67,8 +78,9 @@ export const make = (shouldQuit = defaultShouldQuit) => Effect.gen(function* (_)
|
|
|
67
78
|
}));
|
|
68
79
|
return Terminal.Terminal.of({
|
|
69
80
|
// The columns property can be undefined if stdout was redirected
|
|
70
|
-
columns: output.columns || 0,
|
|
81
|
+
columns: Effect.sync(() => output.columns || 0),
|
|
71
82
|
readInput,
|
|
83
|
+
readLine,
|
|
72
84
|
display
|
|
73
85
|
});
|
|
74
86
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal.js","names":["Error","Terminal","Effect","Layer","Option","readline","defaultShouldQuit","input","key","ctrl","name","make","shouldQuit","gen","_","sync","globalThis","process","stdin","output","stdout","acquireReadlineInterface","
|
|
1
|
+
{"version":3,"file":"terminal.js","names":["Error","Terminal","Effect","Layer","Option","readline","defaultShouldQuit","input","key","ctrl","name","make","shouldQuit","gen","_","sync","globalThis","process","stdin","output","stdout","acquireReadlineInterface","createInterface","escapeCodeTimeout","emitKeypressEvents","rl","isTTY","setRawMode","releaseReadlineInterface","close","handleKeypressEvent","async","resume","handleKeypress","userInput","fromNullable","meta","shift","fail","QuitException","succeed","once","removeListener","handleLineEvent","handleLine","line","on","readInput","acquireUseRelease","pipe","map","readLine","display","prompt","uninterruptible","write","err","BadArgument","module","method","message","String","unit","of","columns","layer","scoped"],"sources":["../../../src/internal/terminal.ts"],"sourcesContent":[null],"mappings":"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"}
|
package/internal/http/server.js
CHANGED
|
@@ -13,7 +13,6 @@ var Error = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/
|
|
|
13
13
|
var ServerRequest = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/Http/ServerRequest"));
|
|
14
14
|
var Config = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Config"));
|
|
15
15
|
var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
|
|
16
|
-
var Fiber = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Fiber"));
|
|
17
16
|
var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Layer"));
|
|
18
17
|
var Option = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Option"));
|
|
19
18
|
var Runtime = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Runtime"));
|
|
@@ -51,8 +50,7 @@ function _interopRequireWildcard(e, r) {
|
|
|
51
50
|
}
|
|
52
51
|
/** @internal */
|
|
53
52
|
const make = (evaluate, options) => Effect.gen(function* (_) {
|
|
54
|
-
const server = evaluate(
|
|
55
|
-
const serverFiber = yield* _(Effect.addFinalizer(() => Effect.async(resume => {
|
|
53
|
+
const server = yield* _(Effect.acquireRelease(Effect.sync(evaluate), server => Effect.async(resume => {
|
|
56
54
|
server.close(error => {
|
|
57
55
|
if (error) {
|
|
58
56
|
resume(Effect.die(error));
|
|
@@ -60,14 +58,13 @@ const make = (evaluate, options) => Effect.gen(function* (_) {
|
|
|
60
58
|
resume(Effect.unit);
|
|
61
59
|
}
|
|
62
60
|
});
|
|
63
|
-
}))
|
|
61
|
+
})));
|
|
62
|
+
yield* _(Effect.async(resume => {
|
|
64
63
|
server.on("error", error => {
|
|
65
64
|
resume(Effect.fail(Error.ServeError({
|
|
66
65
|
error
|
|
67
66
|
})));
|
|
68
67
|
});
|
|
69
|
-
})), Effect.scoped, Effect.forkScoped);
|
|
70
|
-
yield* _(Effect.async(resume => {
|
|
71
68
|
server.listen(options, () => {
|
|
72
69
|
resume(Effect.unit);
|
|
73
70
|
});
|
|
@@ -82,10 +79,14 @@ const make = (evaluate, options) => Effect.gen(function* (_) {
|
|
|
82
79
|
hostname: address.address,
|
|
83
80
|
port: address.port
|
|
84
81
|
},
|
|
85
|
-
serve: (httpApp, middleware) => Effect.flatMap(makeHandler(httpApp, middleware), handler => Effect.
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
82
|
+
serve: (httpApp, middleware) => Effect.flatMap(makeHandler(httpApp, middleware), handler => Effect.zipRight(Effect.addFinalizer(() => Effect.sync(() => server.off("request", handler))), Effect.async(resume => {
|
|
83
|
+
server.on("request", handler);
|
|
84
|
+
server.on("error", error => {
|
|
85
|
+
resume(Effect.fail(Error.ServeError({
|
|
86
|
+
error
|
|
87
|
+
})));
|
|
88
|
+
});
|
|
89
|
+
})))
|
|
89
90
|
});
|
|
90
91
|
}).pipe(Effect.locally(IncomingMessage.maxBodySize, Option.some(FileSystem.Size(1024 * 1024 * 10))));
|
|
91
92
|
exports.make = make;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","names":["FileSystem","_interopRequireWildcard","require","App","IncomingMessage","Middleware","Server","Error","ServerRequest","Config","Effect","Fiber","Layer","Option","Runtime","Stream","_nodeStream","_promises","NodeSink","internalFormData","_incomingMessage","internalPlatform","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","make","evaluate","options","gen","_","server","serverFiber","addFinalizer","async","resume","close","error","die","unit","zipRight","on","fail","ServeError","scoped","forkScoped","listen","address","_tag","path","hostname","port","serve","httpApp","middleware","flatMap","makeHandler","handler","all","acquireRelease","sync","off","join","discard","concurrency","pipe","locally","maxBodySize","some","Size","exports","respond","request","tapErrorCause","tap","response","preResponseHandler","f","handleResponse","_cause","nodeResponse","headersSent","writeHead","writableEnded","end","handledApp","withDefaultMiddleware","map","zip","runtime","fiberId","runFork","nodeRequest","fiber","provideService","ServerRequestImpl","interruptAsFork","IncomingMessageImpl","source","url","headersOverride","TypeId","constructor","remoteAddressOverride","RequestError","reason","modify","headers","remoteAddress","originalUrl","method","toUpperCase","formDataEffect","formData","runSync","cached","formDataStream","stream","toString","toJSON","layer","merge","layerConfig","config","unwrap","suspend","status","body","tryPromise","try","signal","pipeline","catch","ResponseError","Response","fromEntries","Readable","fromWeb","once","run","mapError","fromWritable","requestSource","self"],"sources":["../../src/internal/http/server.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","names":["FileSystem","_interopRequireWildcard","require","App","IncomingMessage","Middleware","Server","Error","ServerRequest","Config","Effect","Layer","Option","Runtime","Stream","_nodeStream","_promises","NodeSink","internalFormData","_incomingMessage","internalPlatform","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","make","evaluate","options","gen","_","server","acquireRelease","sync","async","resume","close","error","die","unit","on","fail","ServeError","listen","address","_tag","path","hostname","port","serve","httpApp","middleware","flatMap","makeHandler","handler","zipRight","addFinalizer","off","pipe","locally","maxBodySize","some","Size","exports","respond","request","tapErrorCause","tap","response","preResponseHandler","f","handleResponse","_cause","nodeResponse","headersSent","writeHead","writableEnded","end","handledApp","withDefaultMiddleware","map","zip","runtime","fiberId","runFork","nodeRequest","fiber","provideService","ServerRequestImpl","interruptAsFork","IncomingMessageImpl","source","url","headersOverride","TypeId","constructor","remoteAddressOverride","RequestError","reason","modify","headers","remoteAddress","originalUrl","method","toUpperCase","formDataEffect","formData","runSync","cached","formDataStream","stream","toString","toJSON","layer","merge","scoped","layerConfig","config","unwrap","suspend","status","body","tryPromise","try","signal","pipeline","catch","ResponseError","Response","fromEntries","Readable","fromWeb","once","run","mapError","fromWritable","requestSource","self"],"sources":["../../src/internal/http/server.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,UAAA,gBAAAC,uBAAA,eAAAC,OAAA;AACA,IAAAC,GAAA,gBAAAF,uBAAA,eAAAC,OAAA;AAGA,IAAAE,eAAA,gBAAAH,uBAAA,eAAAC,OAAA;AAEA,IAAAG,UAAA,gBAAAJ,uBAAA,eAAAC,OAAA;AACA,IAAAI,MAAA,gBAAAL,uBAAA,eAAAC,OAAA;AACA,IAAAK,KAAA,gBAAAN,uBAAA,eAAAC,OAAA;AACA,IAAAM,aAAA,gBAAAP,uBAAA,eAAAC,OAAA;AAGA,IAAAO,MAAA,gBAAAR,uBAAA,eAAAC,OAAA;AACA,IAAAQ,MAAA,gBAAAT,uBAAA,eAAAC,OAAA;AAEA,IAAAS,KAAA,gBAAAV,uBAAA,eAAAC,OAAA;AACA,IAAAU,MAAA,gBAAAX,uBAAA,eAAAC,OAAA;AACA,IAAAW,OAAA,gBAAAZ,uBAAA,eAAAC,OAAA;AAEA,IAAAY,MAAA,gBAAAb,uBAAA,eAAAC,OAAA;AAGA,IAAAa,WAAA,gBAAAb,OAAA;AACA,IAAAc,SAAA,gBAAAd,OAAA;AACA,IAAAe,QAAA,gBAAAhB,uBAAA,eAAAC,OAAA;AACA,IAAAgB,gBAAA,gBAAAjB,uBAAA,eAAAC,OAAA;AACA,IAAAiB,gBAAA,gBAAAjB,OAAA;AACA,IAAAkB,gBAAA,gBAAAnB,uBAAA,eAAAC,OAAA;AAAiD,SAAAmB,yBAAAC,CAAA;EAAA,yBAAAC,OAAA;EAAA,IAAAC,CAAA,OAAAD,OAAA;IAAAE,CAAA,OAAAF,OAAA;EAAA,QAAAF,wBAAA,YAAAA,CAAAC,CAAA;IAAA,OAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA;EAAA,GAAAF,CAAA;AAAA;AAAA,SAAArB,wBAAAqB,CAAA,EAAAE,CAAA;EAAA,KAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA;EAAA,aAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA;IAAAK,OAAA,EAAAL;EAAA;EAAA,IAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA;EAAA,IAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA;EAAA,IAAAQ,CAAA;MAAAC,SAAA;IAAA;IAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA;EAAA,SAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA;IAAA,IAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA;IAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA;EAAA;EAAA,OAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA;AAEjD;AACO,MAAMY,IAAI,GAAGA,CAClBC,QAA8B,EAC9BC,OAA0B,KAE1BlC,MAAM,CAACmC,GAAG,CAAC,WAAUC,CAAC;EACpB,MAAMC,MAAM,GAAG,OAAOD,CAAC,CAACpC,MAAM,CAACsC,cAAc,CAC3CtC,MAAM,CAACuC,IAAI,CAACN,QAAQ,CAAC,EACpBI,MAAM,IACLrC,MAAM,CAACwC,KAAK,CAAsBC,MAAM,IAAI;IAC1CJ,MAAM,CAACK,KAAK,CAAEC,KAAK,IAAI;MACrB,IAAIA,KAAK,EAAE;QACTF,MAAM,CAACzC,MAAM,CAAC4C,GAAG,CAACD,KAAK,CAAC,CAAC;MAC3B,CAAC,MAAM;QACLF,MAAM,CAACzC,MAAM,CAAC6C,IAAI,CAAC;MACrB;IACF,CAAC,CAAC;EACJ,CAAC,CAAC,CACL,CAAC;EAEF,OAAOT,CAAC,CAACpC,MAAM,CAACwC,KAAK,CAAiCC,MAAM,IAAI;IAC9DJ,MAAM,CAACS,EAAE,CAAC,OAAO,EAAGH,KAAK,IAAI;MAC3BF,MAAM,CAACzC,MAAM,CAAC+C,IAAI,CAAClD,KAAK,CAACmD,UAAU,CAAC;QAAEL;MAAK,CAAE,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC;IACFN,MAAM,CAACY,MAAM,CAACf,OAAO,EAAE,MAAK;MAC1BO,MAAM,CAACzC,MAAM,CAAC6C,IAAI,CAAC;IACrB,CAAC,CAAC;EACJ,CAAC,CAAC,CAAC;EAEH,MAAMK,OAAO,GAAGb,MAAM,CAACa,OAAO,EAAG;EAEjC,OAAOtD,MAAM,CAACoC,IAAI,CAAC;IACjBkB,OAAO,EAAE,OAAOA,OAAO,KAAK,QAAQ,GAClC;MACEC,IAAI,EAAE,aAAa;MACnBC,IAAI,EAAEF;KACP,GACD;MACEC,IAAI,EAAE,YAAY;MAClBE,QAAQ,EAAEH,OAAO,CAACA,OAAO;MACzBI,IAAI,EAAEJ,OAAO,CAACI;KACf;IACHC,KAAK,EAAEA,CAACC,OAAO,EAAEC,UAAU,KACzBzD,MAAM,CAAC0D,OAAO,CAACC,WAAW,CAACH,OAAO,EAAEC,UAAW,CAAC,EAAGG,OAAO,IACxD5D,MAAM,CAAC6D,QAAQ,CACb7D,MAAM,CAAC8D,YAAY,CAAC,MAAM9D,MAAM,CAACuC,IAAI,CAAC,MAAMF,MAAM,CAAC0B,GAAG,CAAC,SAAS,EAAEH,OAAO,CAAC,CAAC,CAAC,EAC5E5D,MAAM,CAACwC,KAAK,CAAkCC,MAAM,IAAI;MACtDJ,MAAM,CAACS,EAAE,CAAC,SAAS,EAAEc,OAAO,CAAC;MAC7BvB,MAAM,CAACS,EAAE,CAAC,OAAO,EAAGH,KAAK,IAAI;QAC3BF,MAAM,CAACzC,MAAM,CAAC+C,IAAI,CAAClD,KAAK,CAACmD,UAAU,CAAC;UAAEL;QAAK,CAAE,CAAC,CAAC,CAAC;MAClD,CAAC,CAAC;IACJ,CAAC,CAAC,CACH;GACN,CAAC;AACJ,CAAC,CAAC,CAACqB,IAAI,CACLhE,MAAM,CAACiE,OAAO,CACZvE,eAAe,CAACwE,WAAW,EAC3BhE,MAAM,CAACiE,IAAI,CAAC7E,UAAU,CAAC8E,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAC/C,CACF;AAAAC,OAAA,CAAArC,IAAA,GAAAA,IAAA;AAEH,MAAMsC,OAAO,gBAAG3E,UAAU,CAACqC,IAAI,CAAEwB,OAAO,IACtCxD,MAAM,CAAC0D,OAAO,CAAC5D,aAAa,CAACA,aAAa,EAAGyE,OAAO,IAClDvE,MAAM,CAACwE,aAAa,CAClBxE,MAAM,CAACyE,GAAG,CACRzE,MAAM,CAAC0D,OAAO,CACZF,OAAO,EACNkB,QAAQ,IAAK1E,MAAM,CAAC0D,OAAO,CAACjE,GAAG,CAACkF,kBAAkB,EAAGC,CAAC,IAAKA,CAAC,CAACL,OAAO,EAAEG,QAAQ,CAAC,CAAC,CAClF,EACAA,QAAQ,IAAKG,cAAc,CAACN,OAAO,EAAEG,QAAQ,CAAC,CAChD,EACAI,MAAM,IACL9E,MAAM,CAACuC,IAAI,CAAC,MAAK;EACf,MAAMwC,YAAY,GAAIR,OAA6B,CAACG,QAAQ;EAC5D,IAAI,CAACK,YAAY,CAACC,WAAW,EAAE;IAC7BD,YAAY,CAACE,SAAS,CAAC,GAAG,CAAC;EAC7B;EACA,IAAI,CAACF,YAAY,CAACG,aAAa,EAAE;IAC/BH,YAAY,CAACI,GAAG,EAAE;EACpB;AACF,CAAC,CAAC,CACL,CAAC,CACL;AAED;AACO,MAAMxB,WAAW,GAcpBA,CAAOH,OAA0B,EAAEC,UAAkC,KAAI;EAC3E,MAAM2B,UAAU,GAAG3B,UAAU,GACzBA,UAAU,CAAChE,GAAG,CAAC4F,qBAAqB,CAACf,OAAO,CAACd,OAAO,CAAC,CAAC,CAAC,GACvD/D,GAAG,CAAC4F,qBAAqB,CAACf,OAAO,CAACd,OAAO,CAAC,CAAC;EAC/C,OAAOxD,MAAM,CAACsF,GAAG,CACftF,MAAM,CAACuF,GAAG,CAACvF,MAAM,CAACwF,OAAO,EAAK,EAAExF,MAAM,CAACyF,OAAO,CAAC,EAC/C,CAAC,CAACD,OAAO,EAAEC,OAAO,CAAC,KAAI;IACrB,MAAMC,OAAO,GAAGvF,OAAO,CAACuF,OAAO,CAACF,OAAO,CAAC;IACxC,OAAO,SAAS5B,OAAOA,CAAC+B,WAAiC,EAAEZ,YAAiC;MAC1F,MAAMa,KAAK,GAAGF,OAAO,CACnB1F,MAAM,CAAC6F,cAAc,CACnBT,UAAU,EACVtF,aAAa,CAACA,aAAa,EAC3B,IAAIgG,iBAAiB,CAACH,WAAW,EAAEZ,YAAY,CAAC,CACjD,CACF;MACDA,YAAY,CAACjC,EAAE,CAAC,OAAO,EAAE,MAAK;QAC5B,IAAI,CAACiC,YAAY,CAACG,aAAa,EAAE;UAC/BQ,OAAO,CAACE,KAAK,CAACG,eAAe,CAACN,OAAO,CAAC,CAAC;QACzC;MACF,CAAC,CAAC;IACJ,CAAC;EACH,CAAC,CACF;AACH,CAAC;AAAApB,OAAA,CAAAV,WAAA,GAAAA,WAAA;AAED,MAAMmC,iBAAkB,SAAQrF,gBAAA,CAAAuF,mBAAuC;EAI1DC,MAAA;EACAvB,QAAA;EACAwB,GAAA;EACDC,eAAA;EAND,CAACrG,aAAa,CAACsG,MAAM;EAE9BC,YACWJ,MAA4B,EAC5BvB,QAA6B,EAC7BwB,GAAA,GAAMD,MAAM,CAACC,GAAI,EAClBC,eAAiC,EACzCG,qBAA8B;IAE9B,KAAK,CAACL,MAAM,EAAG7D,CAAC,IACdvC,KAAK,CAAC0G,YAAY,CAAC;MACjBhC,OAAO,EAAE,IAAI;MACbiC,MAAM,EAAE,QAAQ;MAChB7D,KAAK,EAAEP;KACR,CAAC,EAAEkE,qBAAqB,CAAC;IAXnB,KAAAL,MAAM,GAANA,MAAM;IACN,KAAAvB,QAAQ,GAARA,QAAQ;IACR,KAAAwB,GAAG,GAAHA,GAAG;IACJ,KAAAC,eAAe,GAAfA,eAAe;IASvB,IAAI,CAACrG,aAAa,CAACsG,MAAM,CAAC,GAAGtG,aAAa,CAACsG,MAAM;EACnD;EAEAK,MAAMA,CACJvE,OAIC;IAED,OAAO,IAAI4D,iBAAiB,CAC1B,IAAI,CAACG,MAAM,EACX,IAAI,CAACvB,QAAQ,EACbxC,OAAO,CAACgE,GAAG,IAAI,IAAI,CAACA,GAAG,EACvBhE,OAAO,CAACwE,OAAO,IAAI,IAAI,CAACP,eAAe,EACvCjE,OAAO,CAACyE,aAAa,IAAI,IAAI,CAACL,qBAAqB,CACpD;EACH;EAEA,IAAIM,WAAWA,CAAA;IACb,OAAO,IAAI,CAACX,MAAM,CAACC,GAAI;EACzB;EAEA,IAAIW,MAAMA,CAAA;IACR,OAAO,IAAI,CAACZ,MAAM,CAACY,MAAO,CAACC,WAAW,EAAY;EACpD;EAEA,IAAIJ,OAAOA,CAAA;IACT,IAAI,CAACP,eAAe,KAAK,IAAI,CAACF,MAAM,CAACS,OAA0B;IAC/D,OAAO,IAAI,CAACP,eAAe;EAC7B;EAEQY,cAAc;EAOtB,IAAIC,QAAQA,CAAA;IAKV,IAAI,IAAI,CAACD,cAAc,EAAE;MACvB,OAAO,IAAI,CAACA,cAAc;IAC5B;IACA,IAAI,CAACA,cAAc,GAAG/G,MAAM,CAACiH,OAAO,CAACjH,MAAM,CAACkH,MAAM,CAChD1G,gBAAgB,CAACwG,QAAQ,CAAC,IAAI,CAACf,MAAM,EAAE,IAAI,CAACA,MAAM,CAACS,OAAO,CAAC,CAC5D,CAAC;IACF,OAAO,IAAI,CAACK,cAAc;EAC5B;EAEA,IAAII,cAAcA,CAAA;IAChB,OAAO3G,gBAAgB,CAAC4G,MAAM,CAAC,IAAI,CAACnB,MAAM,EAAE,IAAI,CAACA,MAAM,CAACS,OAAO,CAAC;EAClE;EAEAW,QAAQA,CAAA;IACN,OAAO,iBAAiB,IAAI,CAACR,MAAM,IAAI,IAAI,CAACX,GAAG,GAAG;EACpD;EAEAoB,MAAMA,CAAA;IACJ,OAAO;MACLnE,IAAI,EAAE,eAAe;MACrB0D,MAAM,EAAE,IAAI,CAACA,MAAM;MACnBX,GAAG,EAAE,IAAI,CAACA,GAAG;MACbU,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BF,OAAO,EAAE,IAAI,CAACA;KACf;EACH;;AAGF;AACO,MAAMa,KAAK,GAAGA,CACnBtF,QAA8B,EAC9BC,OAA0B,KAE1BjC,KAAK,CAACuH,KAAK,CACTvH,KAAK,CAACwH,MAAM,CAAC7H,MAAM,CAACA,MAAM,EAAEoC,IAAI,CAACC,QAAQ,EAAEC,OAAO,CAAC,CAAC,EACpDxB,gBAAgB,CAAC6G,KAAK,CACvB;AAEH;AAAAlD,OAAA,CAAAkD,KAAA,GAAAA,KAAA;AACO,MAAMG,WAAW,GAAGA,CACzBzF,QAA8B,EAC9BC,OAA8C,KAE9CjC,KAAK,CAACuH,KAAK,CACTvH,KAAK,CAACwH,MAAM,CACV7H,MAAM,CAACA,MAAM,EACbI,MAAM,CAAC0D,OAAO,CACZ1D,MAAM,CAAC2H,MAAM,CAAC5H,MAAM,CAAC6H,MAAM,CAAC1F,OAAO,CAAC,CAAC,EACpCA,OAAO,IAAKF,IAAI,CAACC,QAAQ,EAAEC,OAAO,CAAC,CACrC,CACF,EACDxB,gBAAgB,CAAC6G,KAAK,CACvB;AAAAlD,OAAA,CAAAqD,WAAA,GAAAA,WAAA;AAEH,MAAM7C,cAAc,GAAGA,CAACN,OAAoC,EAAEG,QAAuC,KACnG1E,MAAM,CAAC6H,OAAO,CAAC,MAAsD;EACnE,MAAM9C,YAAY,GAAIR,OAA6B,CAACG,QAAQ;EAC5D,IAAIH,OAAO,CAACsC,MAAM,KAAK,MAAM,EAAE;IAC7B9B,YAAY,CAACE,SAAS,CAACP,QAAQ,CAACoD,MAAM,EAAEpD,QAAQ,CAACgC,OAAO,CAAC;IACzD3B,YAAY,CAACI,GAAG,EAAE;IAClB,OAAOnF,MAAM,CAAC6C,IAAI;EACpB;EACA,MAAMkF,IAAI,GAAGrD,QAAQ,CAACqD,IAAI;EAC1B,QAAQA,IAAI,CAAC5E,IAAI;IACf,KAAK,OAAO;MAAE;QACZ4B,YAAY,CAACE,SAAS,CAACP,QAAQ,CAACoD,MAAM,EAAEpD,QAAQ,CAACgC,OAAO,CAAC;QACzD3B,YAAY,CAACI,GAAG,EAAE;QAClB,OAAOnF,MAAM,CAAC6C,IAAI;MACpB;IACA,KAAK,KAAK;MAAE;QACVkC,YAAY,CAACE,SAAS,CAACP,QAAQ,CAACoD,MAAM,EAAEpD,QAAQ,CAACgC,OAAO,CAAC;QACzD,IACE,OAAOqB,IAAI,CAACA,IAAI,KAAK,QAAQ,IAAIA,IAAI,CAACA,IAAI,KAAK,IAAI,IAAI,MAAM,IAAIA,IAAI,CAACA,IAAI,IAC1E,OAAOA,IAAI,CAACA,IAAI,CAAC/D,IAAI,KAAK,UAAU,EACpC;UACA,OAAOhE,MAAM,CAACgI,UAAU,CAAC;YACvBC,GAAG,EAAGC,MAAM,IAAK,IAAA5H,SAAA,CAAA6H,QAAQ,EAACJ,IAAI,CAACA,IAAW,EAAEhD,YAAY,EAAE;cAAEmD,MAAM;cAAE/C,GAAG,EAAE;YAAI,CAAE,CAAC;YAChFiD,KAAK,EAAGzF,KAAK,IACX9C,KAAK,CAACwI,aAAa,CAAC;cAClB9D,OAAO;cACPG,QAAQ;cACR8B,MAAM,EAAE,QAAQ;cAChB7D;aACD;WACJ,CAAC;QACJ;QACAoC,YAAY,CAACI,GAAG,CAAC4C,IAAI,CAACA,IAAI,CAAC;QAC3B,OAAO/H,MAAM,CAAC6C,IAAI;MACpB;IACA,KAAK,YAAY;MAAE;QACjBkC,YAAY,CAACE,SAAS,CAACP,QAAQ,CAACoD,MAAM,EAAEpD,QAAQ,CAACgC,OAAO,CAAC;QACzD3B,YAAY,CAACI,GAAG,CAAC4C,IAAI,CAACA,IAAI,CAAC;QAC3B,OAAO/H,MAAM,CAAC6C,IAAI;MACpB;IACA,KAAK,UAAU;MAAE;QACf,OAAO7C,MAAM,CAACwC,KAAK,CAAoCC,MAAM,IAAI;UAC/D,MAAM3B,CAAC,GAAG,IAAIwH,QAAQ,CAACP,IAAI,CAACf,QAAQ,CAAC;UACrC,MAAMN,OAAO,GAAG;YACd,GAAGhC,QAAQ,CAACgC,OAAO;YACnB,GAAGnF,MAAM,CAACgH,WAAW,CAACzH,CAAC,CAAC4F,OAAO;WAChC;UACD3B,YAAY,CAACE,SAAS,CAACP,QAAQ,CAACoD,MAAM,EAAEpB,OAAO,CAAC;UAChDrG,WAAA,CAAAmI,QAAQ,CAACC,OAAO,CAAC3H,CAAC,CAACiH,IAAW,CAAC,CAC5B/D,IAAI,CAACe,YAAY,CAAC,CAClBjC,EAAE,CAAC,OAAO,EAAGH,KAAK,IAAI;YACrBF,MAAM,CAACzC,MAAM,CAAC+C,IAAI,CAAClD,KAAK,CAACwI,aAAa,CAAC;cACrC9D,OAAO;cACPG,QAAQ;cACR8B,MAAM,EAAE,QAAQ;cAChB7D;aACD,CAAC,CAAC,CAAC;UACN,CAAC,CAAC,CACD+F,IAAI,CAAC,QAAQ,EAAE,MAAK;YACnBjG,MAAM,CAACzC,MAAM,CAAC6C,IAAI,CAAC;UACrB,CAAC,CAAC;QACN,CAAC,CAAC;MACJ;IACA,KAAK,QAAQ;MAAE;QACbkC,YAAY,CAACE,SAAS,CAACP,QAAQ,CAACoD,MAAM,EAAEpD,QAAQ,CAACgC,OAAO,CAAC;QACzD,OAAOtG,MAAM,CAACuI,GAAG,CACfvI,MAAM,CAACwI,QAAQ,CACbb,IAAI,CAACX,MAAM,EACVzE,KAAK,IACJ9C,KAAK,CAACwI,aAAa,CAAC;UAClB9D,OAAO;UACPG,QAAQ;UACR8B,MAAM,EAAE,QAAQ;UAChB7D;SACD,CAAC,CACL,EACDpC,QAAQ,CAACsI,YAAY,CAAC,MAAM9D,YAAY,EAAGpC,KAAK,IAC9C9C,KAAK,CAACwI,aAAa,CAAC;UAClB9D,OAAO;UACPG,QAAQ;UACR8B,MAAM,EAAE,QAAQ;UAChB7D;SACD,CAAC,CAAC,CACN;MACH;EACF;AACF,CAAC,CAAC;AAEJ;AACO,MAAMmG,aAAa,GAAIC,IAAiC,IAC5DA,IAA0B,CAAC9C,MAAM;AAAA5B,OAAA,CAAAyE,aAAA,GAAAA,aAAA"}
|
package/internal/terminal.js
CHANGED
|
@@ -40,21 +40,28 @@ const defaultShouldQuit = input => input.key.ctrl && (input.key.name === "c" ||
|
|
|
40
40
|
const make = (shouldQuit = defaultShouldQuit) => Effect.gen(function* (_) {
|
|
41
41
|
const input = yield* _(Effect.sync(() => globalThis.process.stdin));
|
|
42
42
|
const output = yield* _(Effect.sync(() => globalThis.process.stdout));
|
|
43
|
-
// Acquire a
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
43
|
+
// Acquire a readline interface
|
|
44
|
+
const acquireReadlineInterface = Effect.sync(() => readline.createInterface({
|
|
45
|
+
input,
|
|
46
|
+
escapeCodeTimeout: 50
|
|
47
|
+
}));
|
|
48
|
+
// Uses the readline interface to force `stdin` to emit keypress events
|
|
49
|
+
const emitKeypressEvents = rl => {
|
|
50
50
|
readline.emitKeypressEvents(input, rl);
|
|
51
51
|
if (input.isTTY) {
|
|
52
52
|
input.setRawMode(true);
|
|
53
53
|
}
|
|
54
54
|
return rl;
|
|
55
|
+
};
|
|
56
|
+
// Close the `readline` interface
|
|
57
|
+
const releaseReadlineInterface = rl => Effect.sync(() => {
|
|
58
|
+
if (input.isTTY) {
|
|
59
|
+
input.setRawMode(false);
|
|
60
|
+
}
|
|
61
|
+
rl.close();
|
|
55
62
|
});
|
|
56
|
-
// Handle the `"keypress"` event emitted by `stdin` forced by
|
|
57
|
-
const handleKeypressEvent = Effect.async(resume => {
|
|
63
|
+
// Handle the `"keypress"` event emitted by `stdin` (forced by readline)
|
|
64
|
+
const handleKeypressEvent = input => Effect.async(resume => {
|
|
58
65
|
const handleKeypress = (input, key) => {
|
|
59
66
|
const userInput = {
|
|
60
67
|
input: Option.fromNullable(input),
|
|
@@ -76,14 +83,18 @@ const make = (shouldQuit = defaultShouldQuit) => Effect.gen(function* (_) {
|
|
|
76
83
|
input.removeListener("keypress", handleKeypress);
|
|
77
84
|
});
|
|
78
85
|
});
|
|
79
|
-
//
|
|
80
|
-
const
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
}
|
|
84
|
-
rl.
|
|
86
|
+
// Handle the `"line"` event emitted by the readline interface
|
|
87
|
+
const handleLineEvent = rl => Effect.async(resume => {
|
|
88
|
+
const handleLine = line => {
|
|
89
|
+
resume(Effect.succeed(line));
|
|
90
|
+
};
|
|
91
|
+
rl.on("line", handleLine);
|
|
92
|
+
return Effect.sync(() => {
|
|
93
|
+
rl.removeListener("line", handleLine);
|
|
94
|
+
});
|
|
85
95
|
});
|
|
86
|
-
const readInput = Effect.acquireUseRelease(acquireReadlineInterface, () => handleKeypressEvent, releaseReadlineInterface);
|
|
96
|
+
const readInput = Effect.acquireUseRelease(acquireReadlineInterface.pipe(Effect.map(emitKeypressEvents)), () => handleKeypressEvent(input), releaseReadlineInterface);
|
|
97
|
+
const readLine = Effect.acquireUseRelease(acquireReadlineInterface, rl => handleLineEvent(rl), releaseReadlineInterface);
|
|
87
98
|
const display = prompt => Effect.uninterruptible(Effect.async(resume => {
|
|
88
99
|
output.write(prompt, err => {
|
|
89
100
|
if (err) {
|
|
@@ -98,8 +109,9 @@ const make = (shouldQuit = defaultShouldQuit) => Effect.gen(function* (_) {
|
|
|
98
109
|
}));
|
|
99
110
|
return Terminal.Terminal.of({
|
|
100
111
|
// The columns property can be undefined if stdout was redirected
|
|
101
|
-
columns: output.columns || 0,
|
|
112
|
+
columns: Effect.sync(() => output.columns || 0),
|
|
102
113
|
readInput,
|
|
114
|
+
readLine,
|
|
103
115
|
display
|
|
104
116
|
});
|
|
105
117
|
});
|
package/internal/terminal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal.js","names":["Error","_interopRequireWildcard","require","Terminal","Effect","Layer","Option","readline","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","defaultShouldQuit","input","key","ctrl","name","make","shouldQuit","gen","_","sync","globalThis","process","stdin","output","stdout","acquireReadlineInterface","
|
|
1
|
+
{"version":3,"file":"terminal.js","names":["Error","_interopRequireWildcard","require","Terminal","Effect","Layer","Option","readline","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","defaultShouldQuit","input","key","ctrl","name","make","shouldQuit","gen","_","sync","globalThis","process","stdin","output","stdout","acquireReadlineInterface","createInterface","escapeCodeTimeout","emitKeypressEvents","rl","isTTY","setRawMode","releaseReadlineInterface","close","handleKeypressEvent","async","resume","handleKeypress","userInput","fromNullable","meta","shift","fail","QuitException","succeed","once","removeListener","handleLineEvent","handleLine","line","on","readInput","acquireUseRelease","pipe","map","readLine","display","prompt","uninterruptible","write","err","BadArgument","module","method","message","String","unit","of","columns","exports","layer","scoped"],"sources":["../src/internal/terminal.ts"],"sourcesContent":[null],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/platform-node",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.34.1",
|
|
4
4
|
"description": "Unified interfaces for common platform-specific services",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -12,10 +12,10 @@
|
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"mime": "^3.0.0",
|
|
14
14
|
"multipasta": "^0.1.19",
|
|
15
|
-
"@effect/platform": "0.
|
|
15
|
+
"@effect/platform": "0.33.0"
|
|
16
16
|
},
|
|
17
17
|
"peerDependencies": {
|
|
18
|
-
"effect": "2.0.0-next.
|
|
18
|
+
"effect": "2.0.0-next.59"
|
|
19
19
|
},
|
|
20
20
|
"main": "./index.js",
|
|
21
21
|
"module": "./dist/esm/index.js",
|
package/src/Http/Server.ts
CHANGED
|
@@ -7,6 +7,7 @@ import type * as App from "@effect/platform/Http/App"
|
|
|
7
7
|
import type * as Middleware from "@effect/platform/Http/Middleware"
|
|
8
8
|
import type * as Platform from "@effect/platform/Http/Platform"
|
|
9
9
|
import type * as Server from "@effect/platform/Http/Server"
|
|
10
|
+
import type { ServeError } from "@effect/platform/Http/ServerError"
|
|
10
11
|
import type * as ServerRequest from "@effect/platform/Http/ServerRequest"
|
|
11
12
|
import type * as Config from "effect/Config"
|
|
12
13
|
import type * as ConfigError from "effect/ConfigError"
|
|
@@ -28,9 +29,13 @@ export * from "@effect/platform/Http/Server"
|
|
|
28
29
|
* @category constructors
|
|
29
30
|
*/
|
|
30
31
|
export const make: (
|
|
31
|
-
evaluate: LazyArg<Http.Server
|
|
32
|
+
evaluate: LazyArg<Http.Server<typeof Http.IncomingMessage, typeof Http.ServerResponse>>,
|
|
32
33
|
options: Net.ListenOptions
|
|
33
|
-
) => Effect.Effect<
|
|
34
|
+
) => Effect.Effect<
|
|
35
|
+
Scope.Scope,
|
|
36
|
+
ServeError,
|
|
37
|
+
Server.Server
|
|
38
|
+
> = internal.make
|
|
34
39
|
|
|
35
40
|
/**
|
|
36
41
|
* @since 1.0.0
|
|
@@ -59,15 +64,15 @@ export const makeHandler: {
|
|
|
59
64
|
* @category layers
|
|
60
65
|
*/
|
|
61
66
|
export const layer: (
|
|
62
|
-
evaluate: LazyArg<Http.Server
|
|
67
|
+
evaluate: LazyArg<Http.Server>,
|
|
63
68
|
options: Net.ListenOptions
|
|
64
|
-
) => Layer.Layer<never,
|
|
69
|
+
) => Layer.Layer<never, ServeError, Server.Server | Platform.Platform> = internal.layer
|
|
65
70
|
|
|
66
71
|
/**
|
|
67
72
|
* @since 1.0.0
|
|
68
73
|
* @category layers
|
|
69
74
|
*/
|
|
70
75
|
export const layerConfig: (
|
|
71
|
-
evaluate: LazyArg<Http.Server
|
|
76
|
+
evaluate: LazyArg<Http.Server>,
|
|
72
77
|
options: Config.Config.Wrap<Net.ListenOptions>
|
|
73
|
-
) => Layer.Layer<never, ConfigError.ConfigError, Server.Server | Platform.Platform> = internal.layerConfig
|
|
78
|
+
) => Layer.Layer<never, ServeError | ConfigError.ConfigError, Server.Server | Platform.Platform> = internal.layerConfig
|
|
@@ -12,7 +12,6 @@ import type * as ServerResponse from "@effect/platform/Http/ServerResponse"
|
|
|
12
12
|
import type * as Path from "@effect/platform/Path"
|
|
13
13
|
import * as Config from "effect/Config"
|
|
14
14
|
import * as Effect from "effect/Effect"
|
|
15
|
-
import * as Fiber from "effect/Fiber"
|
|
16
15
|
import type { LazyArg } from "effect/Function"
|
|
17
16
|
import * as Layer from "effect/Layer"
|
|
18
17
|
import * as Option from "effect/Option"
|
|
@@ -32,12 +31,11 @@ import * as internalPlatform from "./platform.js"
|
|
|
32
31
|
export const make = (
|
|
33
32
|
evaluate: LazyArg<Http.Server>,
|
|
34
33
|
options: Net.ListenOptions
|
|
35
|
-
): Effect.Effect<Scope.Scope,
|
|
34
|
+
): Effect.Effect<Scope.Scope, Error.ServeError, Server.Server> =>
|
|
36
35
|
Effect.gen(function*(_) {
|
|
37
|
-
const server =
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
Effect.addFinalizer(() =>
|
|
36
|
+
const server = yield* _(Effect.acquireRelease(
|
|
37
|
+
Effect.sync(evaluate),
|
|
38
|
+
(server) =>
|
|
41
39
|
Effect.async<never, never, void>((resume) => {
|
|
42
40
|
server.close((error) => {
|
|
43
41
|
if (error) {
|
|
@@ -47,19 +45,12 @@ export const make = (
|
|
|
47
45
|
}
|
|
48
46
|
})
|
|
49
47
|
})
|
|
50
|
-
|
|
51
|
-
Effect.zipRight(
|
|
52
|
-
Effect.async<never, Error.ServeError, never>((resume) => {
|
|
53
|
-
server.on("error", (error) => {
|
|
54
|
-
resume(Effect.fail(Error.ServeError({ error })))
|
|
55
|
-
})
|
|
56
|
-
})
|
|
57
|
-
),
|
|
58
|
-
Effect.scoped,
|
|
59
|
-
Effect.forkScoped
|
|
60
|
-
)
|
|
48
|
+
))
|
|
61
49
|
|
|
62
|
-
yield* _(Effect.async<never,
|
|
50
|
+
yield* _(Effect.async<never, Error.ServeError, void>((resume) => {
|
|
51
|
+
server.on("error", (error) => {
|
|
52
|
+
resume(Effect.fail(Error.ServeError({ error })))
|
|
53
|
+
})
|
|
63
54
|
server.listen(options, () => {
|
|
64
55
|
resume(Effect.unit)
|
|
65
56
|
})
|
|
@@ -80,13 +71,15 @@ export const make = (
|
|
|
80
71
|
},
|
|
81
72
|
serve: (httpApp, middleware) =>
|
|
82
73
|
Effect.flatMap(makeHandler(httpApp, middleware!), (handler) =>
|
|
83
|
-
Effect.
|
|
84
|
-
Effect.
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
74
|
+
Effect.zipRight(
|
|
75
|
+
Effect.addFinalizer(() => Effect.sync(() => server.off("request", handler))),
|
|
76
|
+
Effect.async<never, Error.ServeError, never>((resume) => {
|
|
77
|
+
server.on("request", handler)
|
|
78
|
+
server.on("error", (error) => {
|
|
79
|
+
resume(Effect.fail(Error.ServeError({ error })))
|
|
80
|
+
})
|
|
81
|
+
})
|
|
82
|
+
))
|
|
90
83
|
})
|
|
91
84
|
}).pipe(
|
|
92
85
|
Effect.locally(
|
package/src/internal/terminal.ts
CHANGED
|
@@ -16,40 +16,22 @@ export const make = (
|
|
|
16
16
|
const input = yield* _(Effect.sync(() => globalThis.process.stdin))
|
|
17
17
|
const output = yield* _(Effect.sync(() => globalThis.process.stdout))
|
|
18
18
|
|
|
19
|
-
// Acquire a
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
// Acquire a readline interface
|
|
20
|
+
const acquireReadlineInterface = Effect.sync(() =>
|
|
21
|
+
readline.createInterface({
|
|
22
|
+
input,
|
|
23
|
+
escapeCodeTimeout: 50
|
|
24
|
+
})
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
// Uses the readline interface to force `stdin` to emit keypress events
|
|
28
|
+
const emitKeypressEvents = (rl: readline.Interface): readline.Interface => {
|
|
23
29
|
readline.emitKeypressEvents(input, rl)
|
|
24
30
|
if (input.isTTY) {
|
|
25
31
|
input.setRawMode(true)
|
|
26
32
|
}
|
|
27
33
|
return rl
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
// Handle the `"keypress"` event emitted by `stdin` forced by `readline`
|
|
31
|
-
const handleKeypressEvent = Effect.async<never, Terminal.QuitException, Terminal.UserInput>((resume) => {
|
|
32
|
-
const handleKeypress = (input: string | undefined, key: readline.Key) => {
|
|
33
|
-
const userInput: Terminal.UserInput = {
|
|
34
|
-
input: Option.fromNullable(input),
|
|
35
|
-
key: {
|
|
36
|
-
name: key.name || "",
|
|
37
|
-
ctrl: key.ctrl || false,
|
|
38
|
-
meta: key.meta || false,
|
|
39
|
-
shift: key.shift || false
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
if (shouldQuit(userInput)) {
|
|
43
|
-
resume(Effect.fail(new Terminal.QuitException()))
|
|
44
|
-
} else {
|
|
45
|
-
resume(Effect.succeed(userInput))
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
input.once("keypress", handleKeypress)
|
|
49
|
-
return Effect.sync(() => {
|
|
50
|
-
input.removeListener("keypress", handleKeypress)
|
|
51
|
-
})
|
|
52
|
-
})
|
|
34
|
+
}
|
|
53
35
|
|
|
54
36
|
// Close the `readline` interface
|
|
55
37
|
const releaseReadlineInterface = (rl: readline.Interface) =>
|
|
@@ -60,9 +42,52 @@ export const make = (
|
|
|
60
42
|
rl.close()
|
|
61
43
|
})
|
|
62
44
|
|
|
45
|
+
// Handle the `"keypress"` event emitted by `stdin` (forced by readline)
|
|
46
|
+
const handleKeypressEvent = (input: typeof globalThis.process.stdin) =>
|
|
47
|
+
Effect.async<never, Terminal.QuitException, Terminal.UserInput>((resume) => {
|
|
48
|
+
const handleKeypress = (input: string | undefined, key: readline.Key) => {
|
|
49
|
+
const userInput: Terminal.UserInput = {
|
|
50
|
+
input: Option.fromNullable(input),
|
|
51
|
+
key: {
|
|
52
|
+
name: key.name || "",
|
|
53
|
+
ctrl: key.ctrl || false,
|
|
54
|
+
meta: key.meta || false,
|
|
55
|
+
shift: key.shift || false
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
if (shouldQuit(userInput)) {
|
|
59
|
+
resume(Effect.fail(new Terminal.QuitException()))
|
|
60
|
+
} else {
|
|
61
|
+
resume(Effect.succeed(userInput))
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
input.once("keypress", handleKeypress)
|
|
65
|
+
return Effect.sync(() => {
|
|
66
|
+
input.removeListener("keypress", handleKeypress)
|
|
67
|
+
})
|
|
68
|
+
})
|
|
69
|
+
|
|
70
|
+
// Handle the `"line"` event emitted by the readline interface
|
|
71
|
+
const handleLineEvent = (rl: readline.Interface) =>
|
|
72
|
+
Effect.async<never, Terminal.QuitException, string>((resume) => {
|
|
73
|
+
const handleLine = (line: string) => {
|
|
74
|
+
resume(Effect.succeed(line))
|
|
75
|
+
}
|
|
76
|
+
rl.on("line", handleLine)
|
|
77
|
+
return Effect.sync(() => {
|
|
78
|
+
rl.removeListener("line", handleLine)
|
|
79
|
+
})
|
|
80
|
+
})
|
|
81
|
+
|
|
63
82
|
const readInput = Effect.acquireUseRelease(
|
|
83
|
+
acquireReadlineInterface.pipe(Effect.map(emitKeypressEvents)),
|
|
84
|
+
() => handleKeypressEvent(input),
|
|
85
|
+
releaseReadlineInterface
|
|
86
|
+
)
|
|
87
|
+
|
|
88
|
+
const readLine = Effect.acquireUseRelease(
|
|
64
89
|
acquireReadlineInterface,
|
|
65
|
-
() =>
|
|
90
|
+
(rl) => handleLineEvent(rl),
|
|
66
91
|
releaseReadlineInterface
|
|
67
92
|
)
|
|
68
93
|
|
|
@@ -84,8 +109,9 @@ export const make = (
|
|
|
84
109
|
|
|
85
110
|
return Terminal.Terminal.of({
|
|
86
111
|
// The columns property can be undefined if stdout was redirected
|
|
87
|
-
columns: output.columns || 0,
|
|
112
|
+
columns: Effect.sync(() => output.columns || 0),
|
|
88
113
|
readInput,
|
|
114
|
+
readLine,
|
|
89
115
|
display
|
|
90
116
|
})
|
|
91
117
|
})
|