@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.
@@ -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":";;;;;;;;;;;;AAkBA,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,GAGuC/B,QAAQ,CAAC+B,IAAI;AAErE;;;;AAIO,MAAMC,WAAW,GAAApB,OAAA,CAAAoB,WAAA,GAgBpBhC,QAAQ,CAACgC,WAAW;AAExB;;;;AAIO,MAAMC,KAAK,GAAArB,OAAA,CAAAqB,KAAA,GAGkDjC,QAAQ,CAACiC,KAAK;AAElF;;;;AAIO,MAAMC,WAAW,GAAAtB,OAAA,CAAAsB,WAAA,GAG8DlC,QAAQ,CAACkC,WAAW"}
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>, options: Net.ListenOptions) => Effect.Effect<Scope.Scope, never, Server.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<typeof Http.IncomingMessage, typeof Http.ServerResponse>>, options: Net.ListenOptions) => Layer.Layer<never, never, Server.Server | Platform.Platform>;
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<typeof Http.IncomingMessage, typeof Http.ServerResponse>>, options: Config.Config.Wrap<Net.ListenOptions>) => Layer.Layer<never, ConfigError.ConfigError, Server.Server | Platform.Platform>;
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":"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"}
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":"AAkBA,OAAO,KAAKA,QAAQ,MAAM,4BAA4B;AAEtD;;;AAGA,cAAc,8BAA8B;AAE5C;;;;AAIA,OAAO,MAAMC,IAAI,GAGuCD,QAAQ,CAACC,IAAI;AAErE;;;;AAIA,OAAO,MAAMC,WAAW,GAgBpBF,QAAQ,CAACE,WAAW;AAExB;;;;AAIA,OAAO,MAAMC,KAAK,GAGkDH,QAAQ,CAACG,KAAK;AAElF;;;;AAIA,OAAO,MAAMC,WAAW,GAG8DJ,QAAQ,CAACI,WAAW"}
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
- })), Effect.zipRight(Effect.async(resume => {
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.all([Effect.acquireRelease(Effect.sync(() => server.on("request", handler)), () => Effect.sync(() => server.off("request", handler))), Fiber.join(serverFiber)], {
55
- discard: true,
56
- concurrency: "unbounded"
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":"AAAA,OAAO,KAAKA,UAAU,MAAM,6BAA6B;AACzD,OAAO,KAAKC,GAAG,MAAM,2BAA2B;AAGhD,OAAO,KAAKC,eAAe,MAAM,uCAAuC;AAExE,OAAO,KAAKC,UAAU,MAAM,kCAAkC;AAC9D,OAAO,KAAKC,MAAM,MAAM,8BAA8B;AACtD,OAAO,KAAKC,KAAK,MAAM,mCAAmC;AAC1D,OAAO,KAAKC,aAAa,MAAM,qCAAqC;AAGpE,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AAErC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AAEzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAGvC,SAASC,QAAQ,QAAQ,aAAa;AACtC,SAASC,QAAQ,QAAQ,sBAAsB;AAC/C,OAAO,KAAKC,QAAQ,MAAM,eAAe;AACzC,OAAO,KAAKC,gBAAgB,MAAM,eAAe;AACjD,SAASC,mBAAmB,QAAQ,sBAAsB;AAC1D,OAAO,KAAKC,gBAAgB,MAAM,eAAe;AAEjD;AACA,OAAO,MAAMC,IAAI,GAAGA,CAClBC,QAA8B,EAC9BC,OAA0B,KAE1Bd,MAAM,CAACe,GAAG,CAAC,WAAUC,CAAC;EACpB,MAAMC,MAAM,GAAGJ,QAAQ,EAAE;EAEzB,MAAMK,WAAW,GAAG,OAAOF,CAAC,CAC1BhB,MAAM,CAACmB,YAAY,CAAC,MAClBnB,MAAM,CAACoB,KAAK,CAAsBC,MAAM,IAAI;IAC1CJ,MAAM,CAACK,KAAK,CAAEC,KAAK,IAAI;MACrB,IAAIA,KAAK,EAAE;QACTF,MAAM,CAACrB,MAAM,CAACwB,GAAG,CAACD,KAAK,CAAC,CAAC;MAC3B,CAAC,MAAM;QACLF,MAAM,CAACrB,MAAM,CAACyB,IAAI,CAAC;MACrB;IACF,CAAC,CAAC;EACJ,CAAC,CAAC,CACH,EACDzB,MAAM,CAAC0B,QAAQ,CACb1B,MAAM,CAACoB,KAAK,CAAkCC,MAAM,IAAI;IACtDJ,MAAM,CAACU,EAAE,CAAC,OAAO,EAAGJ,KAAK,IAAI;MAC3BF,MAAM,CAACrB,MAAM,CAAC4B,IAAI,CAAC/B,KAAK,CAACgC,UAAU,CAAC;QAAEN;MAAK,CAAE,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC;EACJ,CAAC,CAAC,CACH,EACDvB,MAAM,CAAC8B,MAAM,EACb9B,MAAM,CAAC+B,UAAU,CAClB;EAED,OAAOf,CAAC,CAAChB,MAAM,CAACoB,KAAK,CAAsBC,MAAM,IAAI;IACnDJ,MAAM,CAACe,MAAM,CAAClB,OAAO,EAAE,MAAK;MAC1BO,MAAM,CAACrB,MAAM,CAACyB,IAAI,CAAC;IACrB,CAAC,CAAC;EACJ,CAAC,CAAC,CAAC;EAEH,MAAMQ,OAAO,GAAGhB,MAAM,CAACgB,OAAO,EAAG;EAEjC,OAAOrC,MAAM,CAACgB,IAAI,CAAC;IACjBqB,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,KACzBxC,MAAM,CAACyC,OAAO,CAACC,WAAW,CAACH,OAAO,EAAEC,UAAW,CAAC,EAAGG,OAAO,IACxD3C,MAAM,CAAC4C,GAAG,CAAC,CACT5C,MAAM,CAAC6C,cAAc,CACnB7C,MAAM,CAAC8C,IAAI,CAAC,MAAM7B,MAAM,CAACU,EAAE,CAAC,SAAS,EAAEgB,OAAO,CAAC,CAAC,EAChD,MAAM3C,MAAM,CAAC8C,IAAI,CAAC,MAAM7B,MAAM,CAAC8B,GAAG,CAAC,SAAS,EAAEJ,OAAO,CAAC,CAAC,CACxD,EACD1C,KAAK,CAAC+C,IAAI,CAAC9B,WAAW,CAAC,CACxB,EAAE;MAAE+B,OAAO,EAAE,IAAI;MAAEC,WAAW,EAAE;IAAW,CAAE,CAAkD;GACrG,CAAC;AACJ,CAAC,CAAC,CAACC,IAAI,CACLnD,MAAM,CAACoD,OAAO,CACZ1D,eAAe,CAAC2D,WAAW,EAC3BlD,MAAM,CAACmD,IAAI,CAAC9D,UAAU,CAAC+D,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAC/C,CACF;AAEH,MAAMC,OAAO,gBAAG7D,UAAU,CAACiB,IAAI,CAAE2B,OAAO,IACtCvC,MAAM,CAACyC,OAAO,CAAC3C,aAAa,CAACA,aAAa,EAAG2D,OAAO,IAClDzD,MAAM,CAAC0D,aAAa,CAClB1D,MAAM,CAAC2D,GAAG,CACR3D,MAAM,CAACyC,OAAO,CACZF,OAAO,EACNqB,QAAQ,IAAK5D,MAAM,CAACyC,OAAO,CAAChD,GAAG,CAACoE,kBAAkB,EAAGC,CAAC,IAAKA,CAAC,CAACL,OAAO,EAAEG,QAAQ,CAAC,CAAC,CAClF,EACAA,QAAQ,IAAKG,cAAc,CAACN,OAAO,EAAEG,QAAQ,CAAC,CAChD,EACAI,MAAM,IACLhE,MAAM,CAAC8C,IAAI,CAAC,MAAK;EACf,MAAMmB,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;AACA,OAAO,MAAM3B,WAAW,GAcpBA,CAAOH,OAA0B,EAAEC,UAAkC,KAAI;EAC3E,MAAM8B,UAAU,GAAG9B,UAAU,GACzBA,UAAU,CAAC/C,GAAG,CAAC8E,qBAAqB,CAACf,OAAO,CAACjB,OAAO,CAAC,CAAC,CAAC,GACvD9C,GAAG,CAAC8E,qBAAqB,CAACf,OAAO,CAACjB,OAAO,CAAC,CAAC;EAC/C,OAAOvC,MAAM,CAACwE,GAAG,CACfxE,MAAM,CAACyE,GAAG,CAACzE,MAAM,CAAC0E,OAAO,EAAK,EAAE1E,MAAM,CAAC2E,OAAO,CAAC,EAC/C,CAAC,CAACD,OAAO,EAAEC,OAAO,CAAC,KAAI;IACrB,MAAMC,OAAO,GAAGxE,OAAO,CAACwE,OAAO,CAACF,OAAO,CAAC;IACxC,OAAO,SAAS/B,OAAOA,CAACkC,WAAiC,EAAEZ,YAAiC;MAC1F,MAAMa,KAAK,GAAGF,OAAO,CACnB5E,MAAM,CAAC+E,cAAc,CACnBT,UAAU,EACVxE,aAAa,CAACA,aAAa,EAC3B,IAAIkF,iBAAiB,CAACH,WAAW,EAAEZ,YAAY,CAAC,CACjD,CACF;MACDA,YAAY,CAACtC,EAAE,CAAC,OAAO,EAAE,MAAK;QAC5B,IAAI,CAACsC,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;AAED,MAAMK,iBAAkB,SAAQtE,mBAAuC;EAI1DwE,MAAA;EACAtB,QAAA;EACAuB,GAAA;EACDC,eAAA;EAND,CAACtF,aAAa,CAACuF,MAAM;EAE9BC,YACWJ,MAA4B,EAC5BtB,QAA6B,EAC7BuB,GAAA,GAAMD,MAAM,CAACC,GAAI,EAClBC,eAAiC,EACzCG,qBAA8B;IAE9B,KAAK,CAACL,MAAM,EAAGlE,CAAC,IACdnB,KAAK,CAAC2F,YAAY,CAAC;MACjB/B,OAAO,EAAE,IAAI;MACbgC,MAAM,EAAE,QAAQ;MAChBlE,KAAK,EAAEP;KACR,CAAC,EAAEuE,qBAAqB,CAAC;IAXnB,KAAAL,MAAM,GAANA,MAAM;IACN,KAAAtB,QAAQ,GAARA,QAAQ;IACR,KAAAuB,GAAG,GAAHA,GAAG;IACJ,KAAAC,eAAe,GAAfA,eAAe;IASvB,IAAI,CAACtF,aAAa,CAACuF,MAAM,CAAC,GAAGvF,aAAa,CAACuF,MAAM;EACnD;EAEAK,MAAMA,CACJ5E,OAIC;IAED,OAAO,IAAIkE,iBAAiB,CAC1B,IAAI,CAACE,MAAM,EACX,IAAI,CAACtB,QAAQ,EACb9C,OAAO,CAACqE,GAAG,IAAI,IAAI,CAACA,GAAG,EACvBrE,OAAO,CAAC6E,OAAO,IAAI,IAAI,CAACP,eAAe,EACvCtE,OAAO,CAAC8E,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,GAAGhG,MAAM,CAACkG,OAAO,CAAClG,MAAM,CAACmG,MAAM,CAChD1F,gBAAgB,CAACwF,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,OAAO3F,gBAAgB,CAAC4F,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;MACLrE,IAAI,EAAE,eAAe;MACrB4D,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;AACA,OAAO,MAAMa,KAAK,GAAGA,CACnB3F,QAA8B,EAC9BC,OAA0B,KAE1BZ,KAAK,CAACuG,KAAK,CACTvG,KAAK,CAAC4B,MAAM,CAAClC,MAAM,CAACA,MAAM,EAAEgB,IAAI,CAACC,QAAQ,EAAEC,OAAO,CAAC,CAAC,EACpDH,gBAAgB,CAAC6F,KAAK,CACvB;AAEH;AACA,OAAO,MAAME,WAAW,GAAGA,CACzB7F,QAA8B,EAC9BC,OAA8C,KAE9CZ,KAAK,CAACuG,KAAK,CACTvG,KAAK,CAAC4B,MAAM,CACVlC,MAAM,CAACA,MAAM,EACbI,MAAM,CAACyC,OAAO,CACZzC,MAAM,CAAC2G,MAAM,CAAC5G,MAAM,CAAC6G,MAAM,CAAC9F,OAAO,CAAC,CAAC,EACpCA,OAAO,IAAKF,IAAI,CAACC,QAAQ,EAAEC,OAAO,CAAC,CACrC,CACF,EACDH,gBAAgB,CAAC6F,KAAK,CACvB;AAEH,MAAMzC,cAAc,GAAGA,CAACN,OAAoC,EAAEG,QAAuC,KACnG5D,MAAM,CAAC6G,OAAO,CAAC,MAAsD;EACnE,MAAM5C,YAAY,GAAIR,OAA6B,CAACG,QAAQ;EAC5D,IAAIH,OAAO,CAACqC,MAAM,KAAK,MAAM,EAAE;IAC7B7B,YAAY,CAACE,SAAS,CAACP,QAAQ,CAACkD,MAAM,EAAElD,QAAQ,CAAC+B,OAAO,CAAC;IACzD1B,YAAY,CAACI,GAAG,EAAE;IAClB,OAAOrE,MAAM,CAACyB,IAAI;EACpB;EACA,MAAMsF,IAAI,GAAGnD,QAAQ,CAACmD,IAAI;EAC1B,QAAQA,IAAI,CAAC7E,IAAI;IACf,KAAK,OAAO;MAAE;QACZ+B,YAAY,CAACE,SAAS,CAACP,QAAQ,CAACkD,MAAM,EAAElD,QAAQ,CAAC+B,OAAO,CAAC;QACzD1B,YAAY,CAACI,GAAG,EAAE;QAClB,OAAOrE,MAAM,CAACyB,IAAI;MACpB;IACA,KAAK,KAAK;MAAE;QACVwC,YAAY,CAACE,SAAS,CAACP,QAAQ,CAACkD,MAAM,EAAElD,QAAQ,CAAC+B,OAAO,CAAC;QACzD,IACE,OAAOoB,IAAI,CAACA,IAAI,KAAK,QAAQ,IAAIA,IAAI,CAACA,IAAI,KAAK,IAAI,IAAI,MAAM,IAAIA,IAAI,CAACA,IAAI,IAC1E,OAAOA,IAAI,CAACA,IAAI,CAAC5D,IAAI,KAAK,UAAU,EACpC;UACA,OAAOnD,MAAM,CAACgH,UAAU,CAAC;YACvBC,GAAG,EAAGC,MAAM,IAAK3G,QAAQ,CAACwG,IAAI,CAACA,IAAW,EAAE9C,YAAY,EAAE;cAAEiD,MAAM;cAAE7C,GAAG,EAAE;YAAI,CAAE,CAAC;YAChF8C,KAAK,EAAG5F,KAAK,IACX1B,KAAK,CAACuH,aAAa,CAAC;cAClB3D,OAAO;cACPG,QAAQ;cACR6B,MAAM,EAAE,QAAQ;cAChBlE;aACD;WACJ,CAAC;QACJ;QACA0C,YAAY,CAACI,GAAG,CAAC0C,IAAI,CAACA,IAAI,CAAC;QAC3B,OAAO/G,MAAM,CAACyB,IAAI;MACpB;IACA,KAAK,YAAY;MAAE;QACjBwC,YAAY,CAACE,SAAS,CAACP,QAAQ,CAACkD,MAAM,EAAElD,QAAQ,CAAC+B,OAAO,CAAC;QACzD1B,YAAY,CAACI,GAAG,CAAC0C,IAAI,CAACA,IAAI,CAAC;QAC3B,OAAO/G,MAAM,CAACyB,IAAI;MACpB;IACA,KAAK,UAAU;MAAE;QACf,OAAOzB,MAAM,CAACoB,KAAK,CAAoCC,MAAM,IAAI;UAC/D,MAAMgG,CAAC,GAAG,IAAIC,QAAQ,CAACP,IAAI,CAACd,QAAQ,CAAC;UACrC,MAAMN,OAAO,GAAG;YACd,GAAG/B,QAAQ,CAAC+B,OAAO;YACnB,GAAG4B,MAAM,CAACC,WAAW,CAACH,CAAC,CAAC1B,OAAO;WAChC;UACD1B,YAAY,CAACE,SAAS,CAACP,QAAQ,CAACkD,MAAM,EAAEnB,OAAO,CAAC;UAChDrF,QAAQ,CAACmH,OAAO,CAACJ,CAAC,CAACN,IAAW,CAAC,CAC5B5D,IAAI,CAACc,YAAY,CAAC,CAClBtC,EAAE,CAAC,OAAO,EAAGJ,KAAK,IAAI;YACrBF,MAAM,CAACrB,MAAM,CAAC4B,IAAI,CAAC/B,KAAK,CAACuH,aAAa,CAAC;cACrC3D,OAAO;cACPG,QAAQ;cACR6B,MAAM,EAAE,QAAQ;cAChBlE;aACD,CAAC,CAAC,CAAC;UACN,CAAC,CAAC,CACDmG,IAAI,CAAC,QAAQ,EAAE,MAAK;YACnBrG,MAAM,CAACrB,MAAM,CAACyB,IAAI,CAAC;UACrB,CAAC,CAAC;QACN,CAAC,CAAC;MACJ;IACA,KAAK,QAAQ;MAAE;QACbwC,YAAY,CAACE,SAAS,CAACP,QAAQ,CAACkD,MAAM,EAAElD,QAAQ,CAAC+B,OAAO,CAAC;QACzD,OAAOtF,MAAM,CAACsH,GAAG,CACftH,MAAM,CAACuH,QAAQ,CACbb,IAAI,CAACV,MAAM,EACV9E,KAAK,IACJ1B,KAAK,CAACuH,aAAa,CAAC;UAClB3D,OAAO;UACPG,QAAQ;UACR6B,MAAM,EAAE,QAAQ;UAChBlE;SACD,CAAC,CACL,EACDf,QAAQ,CAACqH,YAAY,CAAC,MAAM5D,YAAY,EAAG1C,KAAK,IAC9C1B,KAAK,CAACuH,aAAa,CAAC;UAClB3D,OAAO;UACPG,QAAQ;UACR6B,MAAM,EAAE,QAAQ;UAChBlE;SACD,CAAC,CAAC,CACN;MACH;EACF;AACF,CAAC,CAAC;AAEJ;AACA,OAAO,MAAMuG,aAAa,GAAIC,IAAiC,IAC5DA,IAA0B,CAAC7C,MAAM"}
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 `readline` interface and use it to force `stdin` to emit
13
- // keypress events
14
- const acquireReadlineInterface = Effect.sync(() => {
15
- const rl = readline.createInterface({
16
- input,
17
- escapeCodeTimeout: 50
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 `readline`
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
- // Close the `readline` interface
49
- const releaseReadlineInterface = rl => Effect.sync(() => {
50
- if (input.isTTY) {
51
- input.setRawMode(false);
52
- }
53
- rl.close();
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","rl","createInterface","escapeCodeTimeout","emitKeypressEvents","isTTY","setRawMode","handleKeypressEvent","async","resume","handleKeypress","userInput","fromNullable","meta","shift","fail","QuitException","succeed","once","removeListener","releaseReadlineInterface","close","readInput","acquireUseRelease","display","prompt","uninterruptible","write","err","BadArgument","module","method","message","String","unit","of","columns","layer","scoped"],"sources":["../../../src/internal/terminal.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,wBAAwB;AAC/C,OAAO,KAAKC,QAAQ,MAAM,2BAA2B;AACrD,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,QAAQ,MAAM,eAAe;AAEzC,MAAMC,iBAAiB,GAAIC,KAAyB,IAClDA,KAAK,CAACC,GAAG,CAACC,IAAI,KAAKF,KAAK,CAACC,GAAG,CAACE,IAAI,KAAK,GAAG,IAAIH,KAAK,CAACC,GAAG,CAACE,IAAI,KAAK,GAAG,CAAC;AAEtE;AACA,OAAO,MAAMC,IAAI,GAAGA,CAClBC,UAAA,GAAqDN,iBAAiB,KAEtEJ,MAAM,CAACW,GAAG,CAAC,WAAUC,CAAC;EACpB,MAAMP,KAAK,GAAG,OAAOO,CAAC,CAACZ,MAAM,CAACa,IAAI,CAAC,MAAMC,UAAU,CAACC,OAAO,CAACC,KAAK,CAAC,CAAC;EACnE,MAAMC,MAAM,GAAG,OAAOL,CAAC,CAACZ,MAAM,CAACa,IAAI,CAAC,MAAMC,UAAU,CAACC,OAAO,CAACG,MAAM,CAAC,CAAC;EAErE;EACA;EACA,MAAMC,wBAAwB,GAAGnB,MAAM,CAACa,IAAI,CAAC,MAAK;IAChD,MAAMO,EAAE,GAAGjB,QAAQ,CAACkB,eAAe,CAAC;MAAEhB,KAAK;MAAEiB,iBAAiB,EAAE;IAAE,CAAE,CAAC;IACrEnB,QAAQ,CAACoB,kBAAkB,CAAClB,KAAK,EAAEe,EAAE,CAAC;IACtC,IAAIf,KAAK,CAACmB,KAAK,EAAE;MACfnB,KAAK,CAACoB,UAAU,CAAC,IAAI,CAAC;IACxB;IACA,OAAOL,EAAE;EACX,CAAC,CAAC;EAEF;EACA,MAAMM,mBAAmB,GAAG1B,MAAM,CAAC2B,KAAK,CAAqDC,MAAM,IAAI;IACrG,MAAMC,cAAc,GAAGA,CAACxB,KAAyB,EAAEC,GAAiB,KAAI;MACtE,MAAMwB,SAAS,GAAuB;QACpCzB,KAAK,EAAEH,MAAM,CAAC6B,YAAY,CAAC1B,KAAK,CAAC;QACjCC,GAAG,EAAE;UACHE,IAAI,EAAEF,GAAG,CAACE,IAAI,IAAI,EAAE;UACpBD,IAAI,EAAED,GAAG,CAACC,IAAI,IAAI,KAAK;UACvByB,IAAI,EAAE1B,GAAG,CAAC0B,IAAI,IAAI,KAAK;UACvBC,KAAK,EAAE3B,GAAG,CAAC2B,KAAK,IAAI;;OAEvB;MACD,IAAIvB,UAAU,CAACoB,SAAS,CAAC,EAAE;QACzBF,MAAM,CAAC5B,MAAM,CAACkC,IAAI,CAAC,IAAInC,QAAQ,CAACoC,aAAa,EAAE,CAAC,CAAC;MACnD,CAAC,MAAM;QACLP,MAAM,CAAC5B,MAAM,CAACoC,OAAO,CAACN,SAAS,CAAC,CAAC;MACnC;IACF,CAAC;IACDzB,KAAK,CAACgC,IAAI,CAAC,UAAU,EAAER,cAAc,CAAC;IACtC,OAAO7B,MAAM,CAACa,IAAI,CAAC,MAAK;MACtBR,KAAK,CAACiC,cAAc,CAAC,UAAU,EAAET,cAAc,CAAC;IAClD,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF;EACA,MAAMU,wBAAwB,GAAInB,EAAsB,IACtDpB,MAAM,CAACa,IAAI,CAAC,MAAK;IACf,IAAIR,KAAK,CAACmB,KAAK,EAAE;MACfnB,KAAK,CAACoB,UAAU,CAAC,KAAK,CAAC;IACzB;IACAL,EAAE,CAACoB,KAAK,EAAE;EACZ,CAAC,CAAC;EAEJ,MAAMC,SAAS,GAAGzC,MAAM,CAAC0C,iBAAiB,CACxCvB,wBAAwB,EACxB,MAAMO,mBAAmB,EACzBa,wBAAwB,CACzB;EAED,MAAMI,OAAO,GAAIC,MAAc,IAC7B5C,MAAM,CAAC6C,eAAe,CACpB7C,MAAM,CAAC2B,KAAK,CAAEC,MAAM,IAAI;IACtBX,MAAM,CAAC6B,KAAK,CAACF,MAAM,EAAGG,GAAG,IAAI;MAC3B,IAAIA,GAAG,EAAE;QACPnB,MAAM,CAAC5B,MAAM,CAACkC,IAAI,CAACpC,KAAK,CAACkD,WAAW,CAAC;UACnCC,MAAM,EAAE,UAAU;UAClBC,MAAM,EAAE,SAAS;UACjBC,OAAO,EAAGJ,GAAa,CAACI,OAAO,IAAIC,MAAM,CAACL,GAAG;SAC9C,CAAC,CAAC,CAAC;MACN;MACAnB,MAAM,CAAC5B,MAAM,CAACqD,IAAI,CAAC;IACrB,CAAC,CAAC;EACJ,CAAC,CAAC,CACH;EAEH,OAAOtD,QAAQ,CAACA,QAAQ,CAACuD,EAAE,CAAC;IAC1B;IACAC,OAAO,EAAEtC,MAAM,CAACsC,OAAO,IAAI,CAAC;IAC5Bd,SAAS;IACTE;GACD,CAAC;AACJ,CAAC,CAAC;AAEJ;AACA,OAAO,MAAMa,KAAK,gBAAiDvD,KAAK,CAACwD,MAAM,CAC7E1D,QAAQ,CAACA,QAAQ,eACjBU,IAAI,CAACL,iBAAiB,CAAC,CACxB"}
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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"}
@@ -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
- })), Effect.zipRight(Effect.async(resume => {
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.all([Effect.acquireRelease(Effect.sync(() => server.on("request", handler)), () => Effect.sync(() => server.off("request", handler))), Fiber.join(serverFiber)], {
86
- discard: true,
87
- concurrency: "unbounded"
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":"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"}
@@ -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 `readline` interface and use it to force `stdin` to emit
44
- // keypress events
45
- const acquireReadlineInterface = Effect.sync(() => {
46
- const rl = readline.createInterface({
47
- input,
48
- escapeCodeTimeout: 50
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 `readline`
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
- // Close the `readline` interface
80
- const releaseReadlineInterface = rl => Effect.sync(() => {
81
- if (input.isTTY) {
82
- input.setRawMode(false);
83
- }
84
- rl.close();
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
  });
@@ -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","rl","createInterface","escapeCodeTimeout","emitKeypressEvents","isTTY","setRawMode","handleKeypressEvent","async","resume","handleKeypress","userInput","fromNullable","meta","shift","fail","QuitException","succeed","once","removeListener","releaseReadlineInterface","close","readInput","acquireUseRelease","display","prompt","uninterruptible","write","err","BadArgument","module","method","message","String","unit","of","columns","exports","layer","scoped"],"sources":["../src/internal/terminal.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,KAAA,gBAAAC,uBAAA,eAAAC,OAAA;AACA,IAAAC,QAAA,gBAAAF,uBAAA,eAAAC,OAAA;AACA,IAAAE,MAAA,gBAAAH,uBAAA,eAAAC,OAAA;AACA,IAAAG,KAAA,gBAAAJ,uBAAA,eAAAC,OAAA;AACA,IAAAI,MAAA,gBAAAL,uBAAA,eAAAC,OAAA;AACA,IAAAK,QAAA,gBAAAN,uBAAA,eAAAC,OAAA;AAAyC,SAAAM,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,SAAAR,wBAAAQ,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;AAEzC,MAAMY,iBAAiB,GAAIC,KAAyB,IAClDA,KAAK,CAACC,GAAG,CAACC,IAAI,KAAKF,KAAK,CAACC,GAAG,CAACE,IAAI,KAAK,GAAG,IAAIH,KAAK,CAACC,GAAG,CAACE,IAAI,KAAK,GAAG,CAAC;AAEtE;AACO,MAAMC,IAAI,GAAGA,CAClBC,UAAA,GAAqDN,iBAAiB,KAEtEzB,MAAM,CAACgC,GAAG,CAAC,WAAUC,CAAC;EACpB,MAAMP,KAAK,GAAG,OAAOO,CAAC,CAACjC,MAAM,CAACkC,IAAI,CAAC,MAAMC,UAAU,CAACC,OAAO,CAACC,KAAK,CAAC,CAAC;EACnE,MAAMC,MAAM,GAAG,OAAOL,CAAC,CAACjC,MAAM,CAACkC,IAAI,CAAC,MAAMC,UAAU,CAACC,OAAO,CAACG,MAAM,CAAC,CAAC;EAErE;EACA;EACA,MAAMC,wBAAwB,GAAGxC,MAAM,CAACkC,IAAI,CAAC,MAAK;IAChD,MAAMO,EAAE,GAAGtC,QAAQ,CAACuC,eAAe,CAAC;MAAEhB,KAAK;MAAEiB,iBAAiB,EAAE;IAAE,CAAE,CAAC;IACrExC,QAAQ,CAACyC,kBAAkB,CAAClB,KAAK,EAAEe,EAAE,CAAC;IACtC,IAAIf,KAAK,CAACmB,KAAK,EAAE;MACfnB,KAAK,CAACoB,UAAU,CAAC,IAAI,CAAC;IACxB;IACA,OAAOL,EAAE;EACX,CAAC,CAAC;EAEF;EACA,MAAMM,mBAAmB,GAAG/C,MAAM,CAACgD,KAAK,CAAqDC,MAAM,IAAI;IACrG,MAAMC,cAAc,GAAGA,CAACxB,KAAyB,EAAEC,GAAiB,KAAI;MACtE,MAAMwB,SAAS,GAAuB;QACpCzB,KAAK,EAAExB,MAAM,CAACkD,YAAY,CAAC1B,KAAK,CAAC;QACjCC,GAAG,EAAE;UACHE,IAAI,EAAEF,GAAG,CAACE,IAAI,IAAI,EAAE;UACpBD,IAAI,EAAED,GAAG,CAACC,IAAI,IAAI,KAAK;UACvByB,IAAI,EAAE1B,GAAG,CAAC0B,IAAI,IAAI,KAAK;UACvBC,KAAK,EAAE3B,GAAG,CAAC2B,KAAK,IAAI;;OAEvB;MACD,IAAIvB,UAAU,CAACoB,SAAS,CAAC,EAAE;QACzBF,MAAM,CAACjD,MAAM,CAACuD,IAAI,CAAC,IAAIxD,QAAQ,CAACyD,aAAa,EAAE,CAAC,CAAC;MACnD,CAAC,MAAM;QACLP,MAAM,CAACjD,MAAM,CAACyD,OAAO,CAACN,SAAS,CAAC,CAAC;MACnC;IACF,CAAC;IACDzB,KAAK,CAACgC,IAAI,CAAC,UAAU,EAAER,cAAc,CAAC;IACtC,OAAOlD,MAAM,CAACkC,IAAI,CAAC,MAAK;MACtBR,KAAK,CAACiC,cAAc,CAAC,UAAU,EAAET,cAAc,CAAC;IAClD,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF;EACA,MAAMU,wBAAwB,GAAInB,EAAsB,IACtDzC,MAAM,CAACkC,IAAI,CAAC,MAAK;IACf,IAAIR,KAAK,CAACmB,KAAK,EAAE;MACfnB,KAAK,CAACoB,UAAU,CAAC,KAAK,CAAC;IACzB;IACAL,EAAE,CAACoB,KAAK,EAAE;EACZ,CAAC,CAAC;EAEJ,MAAMC,SAAS,GAAG9D,MAAM,CAAC+D,iBAAiB,CACxCvB,wBAAwB,EACxB,MAAMO,mBAAmB,EACzBa,wBAAwB,CACzB;EAED,MAAMI,OAAO,GAAIC,MAAc,IAC7BjE,MAAM,CAACkE,eAAe,CACpBlE,MAAM,CAACgD,KAAK,CAAEC,MAAM,IAAI;IACtBX,MAAM,CAAC6B,KAAK,CAACF,MAAM,EAAGG,GAAG,IAAI;MAC3B,IAAIA,GAAG,EAAE;QACPnB,MAAM,CAACjD,MAAM,CAACuD,IAAI,CAAC3D,KAAK,CAACyE,WAAW,CAAC;UACnCC,MAAM,EAAE,UAAU;UAClBC,MAAM,EAAE,SAAS;UACjBC,OAAO,EAAGJ,GAAa,CAACI,OAAO,IAAIC,MAAM,CAACL,GAAG;SAC9C,CAAC,CAAC,CAAC;MACN;MACAnB,MAAM,CAACjD,MAAM,CAAC0E,IAAI,CAAC;IACrB,CAAC,CAAC;EACJ,CAAC,CAAC,CACH;EAEH,OAAO3E,QAAQ,CAACA,QAAQ,CAAC4E,EAAE,CAAC;IAC1B;IACAC,OAAO,EAAEtC,MAAM,CAACsC,OAAO,IAAI,CAAC;IAC5Bd,SAAS;IACTE;GACD,CAAC;AACJ,CAAC,CAAC;AAEJ;AAAAa,OAAA,CAAA/C,IAAA,GAAAA,IAAA;AACO,MAAMgD,KAAK,GAAAD,OAAA,CAAAC,KAAA,gBAAiD7E,KAAK,CAAC8E,MAAM,CAC7EhF,QAAQ,CAACA,QAAQ,eACjB+B,IAAI,CAACL,iBAAiB,CAAC,CACxB"}
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.33.5",
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.32.2"
15
+ "@effect/platform": "0.33.0"
16
16
  },
17
17
  "peerDependencies": {
18
- "effect": "2.0.0-next.58"
18
+ "effect": "2.0.0-next.59"
19
19
  },
20
20
  "main": "./index.js",
21
21
  "module": "./dist/esm/index.js",
@@ -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<Scope.Scope, never, Server.Server> = internal.make
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<typeof Http.IncomingMessage, typeof Http.ServerResponse>>,
67
+ evaluate: LazyArg<Http.Server>,
63
68
  options: Net.ListenOptions
64
- ) => Layer.Layer<never, never, Server.Server | Platform.Platform> = internal.layer
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<typeof Http.IncomingMessage, typeof Http.ServerResponse>>,
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, never, Server.Server> =>
34
+ ): Effect.Effect<Scope.Scope, Error.ServeError, Server.Server> =>
36
35
  Effect.gen(function*(_) {
37
- const server = evaluate()
38
-
39
- const serverFiber = yield* _(
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, never, void>((resume) => {
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.all([
84
- Effect.acquireRelease(
85
- Effect.sync(() => server.on("request", handler)),
86
- () => Effect.sync(() => server.off("request", handler))
87
- ),
88
- Fiber.join(serverFiber)
89
- ], { discard: true, concurrency: "unbounded" }) as Effect.Effect<never, Error.ServeError, never>)
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(
@@ -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 `readline` interface and use it to force `stdin` to emit
20
- // keypress events
21
- const acquireReadlineInterface = Effect.sync(() => {
22
- const rl = readline.createInterface({ input, escapeCodeTimeout: 50 })
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
- () => handleKeypressEvent,
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
  })