@effect/platform-node 0.22.1 → 0.23.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/CommandExecutor/dist/effect-platform-node-CommandExecutor.cjs.dev.js +3 -2
- package/CommandExecutor/dist/effect-platform-node-CommandExecutor.cjs.prod.js +3 -2
- package/CommandExecutor/dist/effect-platform-node-CommandExecutor.esm.js +3 -2
- package/Http/FormData/dist/effect-platform-node-Http-FormData.cjs.dev.js +3 -3
- package/Http/FormData/dist/effect-platform-node-Http-FormData.cjs.prod.js +3 -3
- package/Http/FormData/dist/effect-platform-node-Http-FormData.esm.js +3 -3
- package/Http/NodeClient/dist/effect-platform-node-Http-NodeClient.cjs.dev.js +5 -4
- package/Http/NodeClient/dist/effect-platform-node-Http-NodeClient.cjs.prod.js +5 -4
- package/Http/NodeClient/dist/effect-platform-node-Http-NodeClient.esm.js +5 -4
- package/Http/Server/dist/effect-platform-node-Http-Server.cjs.dev.js +6 -5
- package/Http/Server/dist/effect-platform-node-Http-Server.cjs.prod.js +6 -5
- package/Http/Server/dist/effect-platform-node-Http-Server.esm.js +6 -5
- package/HttpClient/dist/effect-platform-node-HttpClient.cjs.dev.js +5 -4
- package/HttpClient/dist/effect-platform-node-HttpClient.cjs.prod.js +5 -4
- package/HttpClient/dist/effect-platform-node-HttpClient.esm.js +5 -4
- package/HttpServer/dist/effect-platform-node-HttpServer.cjs.dev.js +7 -6
- package/HttpServer/dist/effect-platform-node-HttpServer.cjs.prod.js +7 -6
- package/HttpServer/dist/effect-platform-node-HttpServer.esm.js +7 -6
- package/NodeContext/dist/effect-platform-node-NodeContext.cjs.dev.js +3 -2
- package/NodeContext/dist/effect-platform-node-NodeContext.cjs.prod.js +3 -2
- package/NodeContext/dist/effect-platform-node-NodeContext.esm.js +3 -2
- package/Sink/dist/effect-platform-node-Sink.cjs.dev.js +3 -2
- package/Sink/dist/effect-platform-node-Sink.cjs.prod.js +3 -2
- package/Sink/dist/effect-platform-node-Sink.esm.js +3 -2
- package/Stream/dist/effect-platform-node-Stream.cjs.dev.js +1 -1
- package/Stream/dist/effect-platform-node-Stream.cjs.prod.js +1 -1
- package/Stream/dist/effect-platform-node-Stream.esm.js +1 -1
- package/dist/{FormData-b905ea51.cjs.dev.js → FormData-1b197f9f.cjs.dev.js} +1 -1
- package/dist/{FormData-aba95773.esm.js → FormData-9c8077af.esm.js} +1 -1
- package/dist/{FormData-33600671.cjs.prod.js → FormData-b4b59ecb.cjs.prod.js} +1 -1
- package/dist/{NodeClient-f1038dc6.esm.js → NodeClient-25aa9b30.esm.js} +2 -2
- package/dist/{NodeClient-174ebaf2.cjs.prod.js → NodeClient-4a5a22a9.cjs.prod.js} +2 -2
- package/dist/{NodeClient-86d70074.cjs.dev.js → NodeClient-9eb46e81.cjs.dev.js} +2 -2
- package/dist/{Server-d00836e3.cjs.dev.js → Server-6257bf68.cjs.dev.js} +3 -3
- package/dist/{Server-015ebdb2.cjs.prod.js → Server-94a686e6.cjs.prod.js} +3 -3
- package/dist/{Server-07db176b.esm.js → Server-a565a430.esm.js} +3 -3
- package/dist/declarations/src/Sink.d.ts +2 -1
- package/dist/declarations/src/Sink.d.ts.map +1 -1
- package/dist/declarations/src/Stream.d.ts +9 -10
- package/dist/declarations/src/Stream.d.ts.map +1 -1
- package/dist/{formData-59e5f494.cjs.prod.js → formData-2d4168a3.cjs.prod.js} +1 -2
- package/dist/{formData-00b767b9.cjs.dev.js → formData-5d873a90.cjs.dev.js} +1 -2
- package/dist/{formData-3a02d09f.esm.js → formData-b50a3c9f.esm.js} +1 -2
- package/dist/{incomingMessage-890fef7a.cjs.prod.js → incomingMessage-4526b216.cjs.prod.js} +2 -4
- package/dist/{incomingMessage-6970f455.esm.js → incomingMessage-a56317f6.esm.js} +2 -4
- package/dist/{incomingMessage-587c8285.cjs.dev.js → incomingMessage-ac1817d4.cjs.dev.js} +2 -4
- package/dist/{sink-5526bd6c.cjs.prod.js → sink-00a7f5a4.cjs.dev.js} +16 -18
- package/dist/{sink-a2069d86.cjs.dev.js → sink-8f5eb47c.cjs.prod.js} +16 -18
- package/dist/sink-f4bcb905.esm.js +25 -0
- package/dist/{stream-c01737c4.cjs.prod.js → stream-1667e8bf.cjs.prod.js} +29 -30
- package/dist/{stream-c0c7bc20.cjs.dev.js → stream-8bbecb96.cjs.dev.js} +29 -30
- package/dist/{stream-36ca9d0a.esm.js → stream-faaffb40.esm.js} +29 -30
- package/package.json +5 -3
- package/src/Sink.ts +2 -2
- package/src/Stream.ts +7 -10
- package/src/internal/http/formData.ts +1 -2
- package/src/internal/http/incomingMessage.ts +2 -4
- package/src/internal/http/nodeClient.ts +1 -1
- package/src/internal/http/server.ts +3 -1
- package/src/internal/sink.ts +39 -23
- package/src/internal/stream.ts +57 -57
- package/dist/sink-f7795af1.esm.js +0 -28
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var stream = require('../../dist/stream-
|
|
5
|
+
var stream = require('../../dist/stream-1667e8bf.cjs.prod.js');
|
|
6
6
|
require('effect/Channel');
|
|
7
7
|
require('effect/Chunk');
|
|
8
8
|
require('effect/Effect');
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { f as fromReadable$1, a as fromDuplex$1, p as pipeThroughDuplex$1, b as pipeThroughSimple$1, t as toString$1, c as toUint8Array$1 } from '../../dist/stream-
|
|
1
|
+
import { f as fromReadable$1, a as fromDuplex$1, p as pipeThroughDuplex$1, b as pipeThroughSimple$1, t as toString$1, c as toUint8Array$1 } from '../../dist/stream-faaffb40.esm.js';
|
|
2
2
|
import 'effect/Channel';
|
|
3
3
|
import 'effect/Chunk';
|
|
4
4
|
import 'effect/Effect';
|
|
@@ -12,7 +12,7 @@ import * as Https from 'node:https';
|
|
|
12
12
|
import { Readable } from 'node:stream';
|
|
13
13
|
import { pipeline } from 'node:stream/promises';
|
|
14
14
|
import { fromWritable } from '../Sink/dist/effect-platform-node-Sink.esm.js';
|
|
15
|
-
import { I as IncomingMessageImpl } from './incomingMessage-
|
|
15
|
+
import { I as IncomingMessageImpl } from './incomingMessage-a56317f6.esm.js';
|
|
16
16
|
|
|
17
17
|
/** @internal */
|
|
18
18
|
const HttpAgentTypeId$1 = /*#__PURE__*/Symbol.for("@effect/platform-node/Http/NodeClient/HttpAgent");
|
|
@@ -32,7 +32,7 @@ const makeAgentLayer$1 = options => Layer.scoped(HttpAgent$1, makeAgent$1(option
|
|
|
32
32
|
|
|
33
33
|
/** @internal */
|
|
34
34
|
const agentLayer$1 = /*#__PURE__*/makeAgentLayer$1();
|
|
35
|
-
const fromAgent = agent => Client.
|
|
35
|
+
const fromAgent = agent => Client.makeDefault(request => Effect.flatMap(UrlParams.makeUrl(request.url, request.urlParams, _ => Error.RequestError({
|
|
36
36
|
request,
|
|
37
37
|
reason: "InvalidUrl",
|
|
38
38
|
error: _
|
|
@@ -14,7 +14,7 @@ var Https = require('node:https');
|
|
|
14
14
|
var node_stream = require('node:stream');
|
|
15
15
|
var NodeStreamP = require('node:stream/promises');
|
|
16
16
|
var Sink_dist_effectPlatformNodeSink = require('../Sink/dist/effect-platform-node-Sink.cjs.prod.js');
|
|
17
|
-
var incomingMessage = require('./incomingMessage-
|
|
17
|
+
var incomingMessage = require('./incomingMessage-4526b216.cjs.prod.js');
|
|
18
18
|
|
|
19
19
|
function _interopNamespace(e) {
|
|
20
20
|
if (e && e.__esModule) return e;
|
|
@@ -63,7 +63,7 @@ const makeAgentLayer$1 = options => Layer__namespace.scoped(HttpAgent$1, makeAge
|
|
|
63
63
|
|
|
64
64
|
/** @internal */
|
|
65
65
|
const agentLayer$1 = /*#__PURE__*/makeAgentLayer$1();
|
|
66
|
-
const fromAgent = agent => Client__namespace.
|
|
66
|
+
const fromAgent = agent => Client__namespace.makeDefault(request => Effect__namespace.flatMap(UrlParams__namespace.makeUrl(request.url, request.urlParams, _ => Error__namespace.RequestError({
|
|
67
67
|
request,
|
|
68
68
|
reason: "InvalidUrl",
|
|
69
69
|
error: _
|
|
@@ -14,7 +14,7 @@ var Https = require('node:https');
|
|
|
14
14
|
var node_stream = require('node:stream');
|
|
15
15
|
var NodeStreamP = require('node:stream/promises');
|
|
16
16
|
var Sink_dist_effectPlatformNodeSink = require('../Sink/dist/effect-platform-node-Sink.cjs.dev.js');
|
|
17
|
-
var incomingMessage = require('./incomingMessage-
|
|
17
|
+
var incomingMessage = require('./incomingMessage-ac1817d4.cjs.dev.js');
|
|
18
18
|
|
|
19
19
|
function _interopNamespace(e) {
|
|
20
20
|
if (e && e.__esModule) return e;
|
|
@@ -63,7 +63,7 @@ const makeAgentLayer$1 = options => Layer__namespace.scoped(HttpAgent$1, makeAge
|
|
|
63
63
|
|
|
64
64
|
/** @internal */
|
|
65
65
|
const agentLayer$1 = /*#__PURE__*/makeAgentLayer$1();
|
|
66
|
-
const fromAgent = agent => Client__namespace.
|
|
66
|
+
const fromAgent = agent => Client__namespace.makeDefault(request => Effect__namespace.flatMap(UrlParams__namespace.makeUrl(request.url, request.urlParams, _ => Error__namespace.RequestError({
|
|
67
67
|
request,
|
|
68
68
|
reason: "InvalidUrl",
|
|
69
69
|
error: _
|
|
@@ -17,8 +17,8 @@ var Stream = require('effect/Stream');
|
|
|
17
17
|
var node_stream = require('node:stream');
|
|
18
18
|
var NodeStreamP = require('node:stream/promises');
|
|
19
19
|
var Sink_dist_effectPlatformNodeSink = require('../Sink/dist/effect-platform-node-Sink.cjs.dev.js');
|
|
20
|
-
var formData = require('./formData-
|
|
21
|
-
var incomingMessage = require('./incomingMessage-
|
|
20
|
+
var formData = require('./formData-5d873a90.cjs.dev.js');
|
|
21
|
+
var incomingMessage = require('./incomingMessage-ac1817d4.cjs.dev.js');
|
|
22
22
|
var platform = require('./platform-5b27475e.cjs.dev.js');
|
|
23
23
|
|
|
24
24
|
function _interopNamespace(e) {
|
|
@@ -103,7 +103,7 @@ const make$1 = (evaluate, options) => Effect__namespace.gen(function* (_) {
|
|
|
103
103
|
port: address.port
|
|
104
104
|
},
|
|
105
105
|
serve: (httpApp, middleware) => {
|
|
106
|
-
const handledApp = middleware ? middleware(respond(httpApp)) : respond(httpApp);
|
|
106
|
+
const handledApp = middleware ? middleware(App__namespace.withDefaultMiddleware(respond(httpApp))) : App__namespace.withDefaultMiddleware(respond(httpApp));
|
|
107
107
|
return Effect__namespace.flatMap(Effect__namespace.all([Effect__namespace.runtime(), Effect__namespace.fiberId]), ([runtime, fiberId]) => {
|
|
108
108
|
const runFork = Runtime__namespace.runFork(runtime);
|
|
109
109
|
function handler(nodeRequest, nodeResponse) {
|
|
@@ -17,8 +17,8 @@ var Stream = require('effect/Stream');
|
|
|
17
17
|
var node_stream = require('node:stream');
|
|
18
18
|
var NodeStreamP = require('node:stream/promises');
|
|
19
19
|
var Sink_dist_effectPlatformNodeSink = require('../Sink/dist/effect-platform-node-Sink.cjs.prod.js');
|
|
20
|
-
var formData = require('./formData-
|
|
21
|
-
var incomingMessage = require('./incomingMessage-
|
|
20
|
+
var formData = require('./formData-2d4168a3.cjs.prod.js');
|
|
21
|
+
var incomingMessage = require('./incomingMessage-4526b216.cjs.prod.js');
|
|
22
22
|
var platform = require('./platform-80b90f07.cjs.prod.js');
|
|
23
23
|
|
|
24
24
|
function _interopNamespace(e) {
|
|
@@ -103,7 +103,7 @@ const make$1 = (evaluate, options) => Effect__namespace.gen(function* (_) {
|
|
|
103
103
|
port: address.port
|
|
104
104
|
},
|
|
105
105
|
serve: (httpApp, middleware) => {
|
|
106
|
-
const handledApp = middleware ? middleware(respond(httpApp)) : respond(httpApp);
|
|
106
|
+
const handledApp = middleware ? middleware(App__namespace.withDefaultMiddleware(respond(httpApp))) : App__namespace.withDefaultMiddleware(respond(httpApp));
|
|
107
107
|
return Effect__namespace.flatMap(Effect__namespace.all([Effect__namespace.runtime(), Effect__namespace.fiberId]), ([runtime, fiberId]) => {
|
|
108
108
|
const runFork = Runtime__namespace.runFork(runtime);
|
|
109
109
|
function handler(nodeRequest, nodeResponse) {
|
|
@@ -15,8 +15,8 @@ import * as Stream from 'effect/Stream';
|
|
|
15
15
|
import { Readable } from 'node:stream';
|
|
16
16
|
import { pipeline } from 'node:stream/promises';
|
|
17
17
|
import { fromWritable } from '../Sink/dist/effect-platform-node-Sink.esm.js';
|
|
18
|
-
import { f as formData, s as stream } from './formData-
|
|
19
|
-
import { I as IncomingMessageImpl } from './incomingMessage-
|
|
18
|
+
import { f as formData, s as stream } from './formData-b50a3c9f.esm.js';
|
|
19
|
+
import { I as IncomingMessageImpl } from './incomingMessage-a56317f6.esm.js';
|
|
20
20
|
import { l as layer$2 } from './platform-2c00c2c5.esm.js';
|
|
21
21
|
|
|
22
22
|
function _mergeNamespaces(n, m) {
|
|
@@ -68,7 +68,7 @@ const make$1 = (evaluate, options) => Effect.gen(function* (_) {
|
|
|
68
68
|
port: address.port
|
|
69
69
|
},
|
|
70
70
|
serve: (httpApp, middleware) => {
|
|
71
|
-
const handledApp = middleware ? middleware(respond(httpApp)) : respond(httpApp);
|
|
71
|
+
const handledApp = middleware ? middleware(App.withDefaultMiddleware(respond(httpApp))) : App.withDefaultMiddleware(respond(httpApp));
|
|
72
72
|
return Effect.flatMap(Effect.all([Effect.runtime(), Effect.fiberId]), ([runtime, fiberId]) => {
|
|
73
73
|
const runFork = Runtime.runFork(runtime);
|
|
74
74
|
function handler(nodeRequest, nodeResponse) {
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* @since 1.0.0
|
|
3
3
|
*/
|
|
4
4
|
/// <reference types="node" />
|
|
5
|
+
/// <reference types="node" />
|
|
5
6
|
import type { LazyArg } from "effect/Function";
|
|
6
7
|
import type { Sink } from "effect/Sink";
|
|
7
8
|
import type { Writable } from "stream";
|
|
@@ -10,5 +11,5 @@ import type { FromWritableOptions } from "./Stream.js";
|
|
|
10
11
|
* @category constructor
|
|
11
12
|
* @since 1.0.0
|
|
12
13
|
*/
|
|
13
|
-
export declare const fromWritable: <E, A>(evaluate: LazyArg<Writable>, onError: (error: unknown) => E, options?: FromWritableOptions) => Sink<never, E, A, never, void>;
|
|
14
|
+
export declare const fromWritable: <E, A = string | Uint8Array>(evaluate: LazyArg<Writable | NodeJS.WritableStream>, onError: (error: unknown) => E, options?: FromWritableOptions) => Sink<never, E, A, never, void>;
|
|
14
15
|
//# sourceMappingURL=Sink.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sink.d.ts","sourceRoot":"../../../src","sources":["Sink.ts"],"names":[],"mappings":"AAAA;;GAEG
|
|
1
|
+
{"version":3,"file":"Sink.d.ts","sourceRoot":"../../../src","sources":["Sink.ts"],"names":[],"mappings":"AAAA;;GAEG;;;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAEtC,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAgB;AAEnD;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,UAAU,EACpD,QAAQ,EAAE,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC,EACnD,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,EAC9B,OAAO,CAAC,EAAE,mBAAmB,KAC1B,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAyB,CAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
/// <reference types="node" />
|
|
3
|
+
/// <reference types="node" />
|
|
3
4
|
/**
|
|
4
5
|
* @since 1.0.0
|
|
5
6
|
*/
|
|
@@ -31,7 +32,7 @@ export interface FromWritableOptions {
|
|
|
31
32
|
* @category constructors
|
|
32
33
|
* @since 1.0.0
|
|
33
34
|
*/
|
|
34
|
-
export declare const fromReadable: <E, A = Uint8Array>(evaluate: LazyArg<Readable>, onError: (error: unknown) => E, { chunkSize }?: FromReadableOptions) => Stream<never, E, A>;
|
|
35
|
+
export declare const fromReadable: <E, A = Uint8Array>(evaluate: LazyArg<Readable | NodeJS.ReadableStream>, onError: (error: unknown) => E, { chunkSize }?: FromReadableOptions) => Stream<never, E, A>;
|
|
35
36
|
/**
|
|
36
37
|
* @category constructors
|
|
37
38
|
* @since 1.0.0
|
|
@@ -57,19 +58,17 @@ export declare const pipeThroughSimple: {
|
|
|
57
58
|
* @since 1.0.0
|
|
58
59
|
* @category conversions
|
|
59
60
|
*/
|
|
60
|
-
export declare const toString: <E>(options: {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
maxBytes?: SizeInput;
|
|
61
|
+
export declare const toString: <E>(readable: LazyArg<Readable | NodeJS.ReadableStream>, options: {
|
|
62
|
+
readonly onFailure: (error: unknown) => E;
|
|
63
|
+
readonly encoding?: BufferEncoding | undefined;
|
|
64
|
+
readonly maxBytes?: SizeInput | undefined;
|
|
65
65
|
}) => Effect<never, E, string>;
|
|
66
66
|
/**
|
|
67
67
|
* @since 1.0.0
|
|
68
68
|
* @category conversions
|
|
69
69
|
*/
|
|
70
|
-
export declare const toUint8Array: <E>(options: {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
maxBytes?: SizeInput;
|
|
70
|
+
export declare const toUint8Array: <E>(readable: LazyArg<Readable | NodeJS.ReadableStream>, options: {
|
|
71
|
+
readonly onFailure: (error: unknown) => E;
|
|
72
|
+
readonly maxBytes?: SizeInput | undefined;
|
|
74
73
|
}) => Effect<never, E, Uint8Array>;
|
|
75
74
|
//# sourceMappingURL=Stream.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stream.d.ts","sourceRoot":"../../../src","sources":["Stream.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Stream.d.ts","sourceRoot":"../../../src","sources":["Stream.ts"],"names":[],"mappings":"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"}
|
|
@@ -90,8 +90,7 @@ const stream = (source, headers) => Function.pipe(Effect__namespace.Do, Effect__
|
|
|
90
90
|
emit.end();
|
|
91
91
|
});
|
|
92
92
|
source.pipe(busboy);
|
|
93
|
-
}), part => part._tag === "File" && Chunk__namespace.some(fieldMimeTypes, _ => part.contentType.includes(_)) ? Effect__namespace.map(Stream_dist_effectPlatformNodeStream.toString({
|
|
94
|
-
readable: () => part.source,
|
|
93
|
+
}), part => part._tag === "File" && Chunk__namespace.some(fieldMimeTypes, _ => part.contentType.includes(_)) ? Effect__namespace.map(Stream_dist_effectPlatformNodeStream.toString(() => part.source, {
|
|
95
94
|
onFailure: error => FormData__namespace.FormDataError("InternalError", error)
|
|
96
95
|
}), content => new FieldImpl(part.key, part.contentType, content)) : Effect__namespace.succeed(part))), Stream__namespace.unwrapScoped);
|
|
97
96
|
class FieldImpl {
|
|
@@ -90,8 +90,7 @@ const stream = (source, headers) => Function.pipe(Effect__namespace.Do, Effect__
|
|
|
90
90
|
emit.end();
|
|
91
91
|
});
|
|
92
92
|
source.pipe(busboy);
|
|
93
|
-
}), part => part._tag === "File" && Chunk__namespace.some(fieldMimeTypes, _ => part.contentType.includes(_)) ? Effect__namespace.map(Stream_dist_effectPlatformNodeStream.toString({
|
|
94
|
-
readable: () => part.source,
|
|
93
|
+
}), part => part._tag === "File" && Chunk__namespace.some(fieldMimeTypes, _ => part.contentType.includes(_)) ? Effect__namespace.map(Stream_dist_effectPlatformNodeStream.toString(() => part.source, {
|
|
95
94
|
onFailure: error => FormData__namespace.FormDataError("InternalError", error)
|
|
96
95
|
}), content => new FieldImpl(part.key, part.contentType, content)) : Effect__namespace.succeed(part))), Stream__namespace.unwrapScoped);
|
|
97
96
|
class FieldImpl {
|
|
@@ -56,8 +56,7 @@ const stream = (source, headers) => pipe(Effect.Do, Effect.bind("maxParts", () =
|
|
|
56
56
|
emit.end();
|
|
57
57
|
});
|
|
58
58
|
source.pipe(busboy);
|
|
59
|
-
}), part => part._tag === "File" && Chunk.some(fieldMimeTypes, _ => part.contentType.includes(_)) ? Effect.map(toString({
|
|
60
|
-
readable: () => part.source,
|
|
59
|
+
}), part => part._tag === "File" && Chunk.some(fieldMimeTypes, _ => part.contentType.includes(_)) ? Effect.map(toString(() => part.source, {
|
|
61
60
|
onFailure: error => FormData.FormDataError("InternalError", error)
|
|
62
61
|
}), content => new FieldImpl(part.key, part.contentType, content)) : Effect.succeed(part))), Stream.unwrapScoped);
|
|
63
62
|
class FieldImpl {
|
|
@@ -51,8 +51,7 @@ class IncomingMessageImpl {
|
|
|
51
51
|
if (this.textEffect) {
|
|
52
52
|
return this.textEffect;
|
|
53
53
|
}
|
|
54
|
-
this.textEffect = Effect__namespace.runSync(Effect__namespace.cached(Effect__namespace.flatMap(FiberRef__namespace.get(IncomingMessage__namespace.maxBodySize), maxBodySize => Stream_dist_effectPlatformNodeStream.toString({
|
|
55
|
-
readable: () => this.source,
|
|
54
|
+
this.textEffect = Effect__namespace.runSync(Effect__namespace.cached(Effect__namespace.flatMap(FiberRef__namespace.get(IncomingMessage__namespace.maxBodySize), maxBodySize => Stream_dist_effectPlatformNodeStream.toString(() => this.source, {
|
|
56
55
|
onFailure: this.onError,
|
|
57
56
|
maxBytes: Option__namespace.getOrUndefined(maxBodySize)
|
|
58
57
|
}))));
|
|
@@ -74,8 +73,7 @@ class IncomingMessageImpl {
|
|
|
74
73
|
return Stream_dist_effectPlatformNodeStream.fromReadable(() => this.source, this.onError);
|
|
75
74
|
}
|
|
76
75
|
get arrayBuffer() {
|
|
77
|
-
return Effect__namespace.flatMap(FiberRef__namespace.get(IncomingMessage__namespace.maxBodySize), maxBodySize => Stream_dist_effectPlatformNodeStream.toUint8Array({
|
|
78
|
-
readable: () => this.source,
|
|
76
|
+
return Effect__namespace.flatMap(FiberRef__namespace.get(IncomingMessage__namespace.maxBodySize), maxBodySize => Stream_dist_effectPlatformNodeStream.toUint8Array(() => this.source, {
|
|
79
77
|
onFailure: this.onError,
|
|
80
78
|
maxBytes: Option__namespace.getOrUndefined(maxBodySize)
|
|
81
79
|
}));
|
|
@@ -24,8 +24,7 @@ class IncomingMessageImpl {
|
|
|
24
24
|
if (this.textEffect) {
|
|
25
25
|
return this.textEffect;
|
|
26
26
|
}
|
|
27
|
-
this.textEffect = Effect.runSync(Effect.cached(Effect.flatMap(FiberRef.get(IncomingMessage.maxBodySize), maxBodySize => toString({
|
|
28
|
-
readable: () => this.source,
|
|
27
|
+
this.textEffect = Effect.runSync(Effect.cached(Effect.flatMap(FiberRef.get(IncomingMessage.maxBodySize), maxBodySize => toString(() => this.source, {
|
|
29
28
|
onFailure: this.onError,
|
|
30
29
|
maxBytes: Option.getOrUndefined(maxBodySize)
|
|
31
30
|
}))));
|
|
@@ -47,8 +46,7 @@ class IncomingMessageImpl {
|
|
|
47
46
|
return fromReadable(() => this.source, this.onError);
|
|
48
47
|
}
|
|
49
48
|
get arrayBuffer() {
|
|
50
|
-
return Effect.flatMap(FiberRef.get(IncomingMessage.maxBodySize), maxBodySize => toUint8Array({
|
|
51
|
-
readable: () => this.source,
|
|
49
|
+
return Effect.flatMap(FiberRef.get(IncomingMessage.maxBodySize), maxBodySize => toUint8Array(() => this.source, {
|
|
52
50
|
onFailure: this.onError,
|
|
53
51
|
maxBytes: Option.getOrUndefined(maxBodySize)
|
|
54
52
|
}));
|
|
@@ -51,8 +51,7 @@ class IncomingMessageImpl {
|
|
|
51
51
|
if (this.textEffect) {
|
|
52
52
|
return this.textEffect;
|
|
53
53
|
}
|
|
54
|
-
this.textEffect = Effect__namespace.runSync(Effect__namespace.cached(Effect__namespace.flatMap(FiberRef__namespace.get(IncomingMessage__namespace.maxBodySize), maxBodySize => Stream_dist_effectPlatformNodeStream.toString({
|
|
55
|
-
readable: () => this.source,
|
|
54
|
+
this.textEffect = Effect__namespace.runSync(Effect__namespace.cached(Effect__namespace.flatMap(FiberRef__namespace.get(IncomingMessage__namespace.maxBodySize), maxBodySize => Stream_dist_effectPlatformNodeStream.toString(() => this.source, {
|
|
56
55
|
onFailure: this.onError,
|
|
57
56
|
maxBytes: Option__namespace.getOrUndefined(maxBodySize)
|
|
58
57
|
}))));
|
|
@@ -74,8 +73,7 @@ class IncomingMessageImpl {
|
|
|
74
73
|
return Stream_dist_effectPlatformNodeStream.fromReadable(() => this.source, this.onError);
|
|
75
74
|
}
|
|
76
75
|
get arrayBuffer() {
|
|
77
|
-
return Effect__namespace.flatMap(FiberRef__namespace.get(IncomingMessage__namespace.maxBodySize), maxBodySize => Stream_dist_effectPlatformNodeStream.toUint8Array({
|
|
78
|
-
readable: () => this.source,
|
|
76
|
+
return Effect__namespace.flatMap(FiberRef__namespace.get(IncomingMessage__namespace.maxBodySize), maxBodySize => Stream_dist_effectPlatformNodeStream.toUint8Array(() => this.source, {
|
|
79
77
|
onFailure: this.onError,
|
|
80
78
|
maxBytes: Option__namespace.getOrUndefined(maxBodySize)
|
|
81
79
|
}));
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var Channel = require('effect/Channel');
|
|
4
|
+
var Deferred = require('effect/Deferred');
|
|
4
5
|
var Effect = require('effect/Effect');
|
|
5
6
|
var Sink = require('effect/Sink');
|
|
6
|
-
var stream = require('./stream-
|
|
7
|
+
var stream = require('./stream-8bbecb96.cjs.dev.js');
|
|
7
8
|
|
|
8
9
|
function _interopNamespace(e) {
|
|
9
10
|
if (e && e.__esModule) return e;
|
|
@@ -24,29 +25,26 @@ function _interopNamespace(e) {
|
|
|
24
25
|
}
|
|
25
26
|
|
|
26
27
|
var Channel__namespace = /*#__PURE__*/_interopNamespace(Channel);
|
|
28
|
+
var Deferred__namespace = /*#__PURE__*/_interopNamespace(Deferred);
|
|
27
29
|
var Effect__namespace = /*#__PURE__*/_interopNamespace(Effect);
|
|
28
30
|
var Sink__namespace = /*#__PURE__*/_interopNamespace(Sink);
|
|
29
31
|
|
|
30
32
|
/** @internal */
|
|
31
33
|
const fromWritable = (evaluate, onError, options = {}) => Sink__namespace.suspend(() => Sink__namespace.fromChannel(writeChannel(evaluate(), onError, options)));
|
|
32
|
-
const writeChannel = (writable, onError, {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
onInput: chunk => Channel__namespace.flatMap(Channel__namespace.fromEffect(write(chunk)), () => loop),
|
|
46
|
-
onFailure: cause => Channel__namespace.zipRight(close, Channel__namespace.failCause(cause)),
|
|
47
|
-
onDone: _done => close
|
|
34
|
+
const writeChannel = (writable, onError, options = {}) => Channel__namespace.flatMap(Deferred__namespace.make(), deferred => {
|
|
35
|
+
const input = stream.writeInput(writable, _ => Deferred__namespace.failCause(deferred, _), options, Deferred__namespace.complete(deferred, Effect__namespace.unit));
|
|
36
|
+
return Channel__namespace.embedInput(writableOutput(writable, deferred, onError), input);
|
|
37
|
+
});
|
|
38
|
+
const writableOutput = (writable, deferred, onError) => {
|
|
39
|
+
function handleError(err) {
|
|
40
|
+
Deferred__namespace.unsafeDone(deferred, Effect__namespace.fail(onError(err)));
|
|
41
|
+
}
|
|
42
|
+
return Effect__namespace.suspend(() => {
|
|
43
|
+
writable.on("error", handleError);
|
|
44
|
+
return Effect__namespace.ensuring(Deferred__namespace.await(deferred), Effect__namespace.sync(() => {
|
|
45
|
+
writable.removeListener("error", handleError);
|
|
46
|
+
}));
|
|
48
47
|
});
|
|
49
|
-
return loop;
|
|
50
48
|
};
|
|
51
49
|
|
|
52
50
|
exports.fromWritable = fromWritable;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var Channel = require('effect/Channel');
|
|
4
|
+
var Deferred = require('effect/Deferred');
|
|
4
5
|
var Effect = require('effect/Effect');
|
|
5
6
|
var Sink = require('effect/Sink');
|
|
6
|
-
var stream = require('./stream-
|
|
7
|
+
var stream = require('./stream-1667e8bf.cjs.prod.js');
|
|
7
8
|
|
|
8
9
|
function _interopNamespace(e) {
|
|
9
10
|
if (e && e.__esModule) return e;
|
|
@@ -24,29 +25,26 @@ function _interopNamespace(e) {
|
|
|
24
25
|
}
|
|
25
26
|
|
|
26
27
|
var Channel__namespace = /*#__PURE__*/_interopNamespace(Channel);
|
|
28
|
+
var Deferred__namespace = /*#__PURE__*/_interopNamespace(Deferred);
|
|
27
29
|
var Effect__namespace = /*#__PURE__*/_interopNamespace(Effect);
|
|
28
30
|
var Sink__namespace = /*#__PURE__*/_interopNamespace(Sink);
|
|
29
31
|
|
|
30
32
|
/** @internal */
|
|
31
33
|
const fromWritable = (evaluate, onError, options = {}) => Sink__namespace.suspend(() => Sink__namespace.fromChannel(writeChannel(evaluate(), onError, options)));
|
|
32
|
-
const writeChannel = (writable, onError, {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
onInput: chunk => Channel__namespace.flatMap(Channel__namespace.fromEffect(write(chunk)), () => loop),
|
|
46
|
-
onFailure: cause => Channel__namespace.zipRight(close, Channel__namespace.failCause(cause)),
|
|
47
|
-
onDone: _done => close
|
|
34
|
+
const writeChannel = (writable, onError, options = {}) => Channel__namespace.flatMap(Deferred__namespace.make(), deferred => {
|
|
35
|
+
const input = stream.writeInput(writable, _ => Deferred__namespace.failCause(deferred, _), options, Deferred__namespace.complete(deferred, Effect__namespace.unit));
|
|
36
|
+
return Channel__namespace.embedInput(writableOutput(writable, deferred, onError), input);
|
|
37
|
+
});
|
|
38
|
+
const writableOutput = (writable, deferred, onError) => {
|
|
39
|
+
function handleError(err) {
|
|
40
|
+
Deferred__namespace.unsafeDone(deferred, Effect__namespace.fail(onError(err)));
|
|
41
|
+
}
|
|
42
|
+
return Effect__namespace.suspend(() => {
|
|
43
|
+
writable.on("error", handleError);
|
|
44
|
+
return Effect__namespace.ensuring(Deferred__namespace.await(deferred), Effect__namespace.sync(() => {
|
|
45
|
+
writable.removeListener("error", handleError);
|
|
46
|
+
}));
|
|
48
47
|
});
|
|
49
|
-
return loop;
|
|
50
48
|
};
|
|
51
49
|
|
|
52
50
|
exports.fromWritable = fromWritable;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as Channel from 'effect/Channel';
|
|
2
|
+
import * as Deferred from 'effect/Deferred';
|
|
3
|
+
import * as Effect from 'effect/Effect';
|
|
4
|
+
import * as Sink from 'effect/Sink';
|
|
5
|
+
import { w as writeInput } from './stream-faaffb40.esm.js';
|
|
6
|
+
|
|
7
|
+
/** @internal */
|
|
8
|
+
const fromWritable = (evaluate, onError, options = {}) => Sink.suspend(() => Sink.fromChannel(writeChannel(evaluate(), onError, options)));
|
|
9
|
+
const writeChannel = (writable, onError, options = {}) => Channel.flatMap(Deferred.make(), deferred => {
|
|
10
|
+
const input = writeInput(writable, _ => Deferred.failCause(deferred, _), options, Deferred.complete(deferred, Effect.unit));
|
|
11
|
+
return Channel.embedInput(writableOutput(writable, deferred, onError), input);
|
|
12
|
+
});
|
|
13
|
+
const writableOutput = (writable, deferred, onError) => {
|
|
14
|
+
function handleError(err) {
|
|
15
|
+
Deferred.unsafeDone(deferred, Effect.fail(onError(err)));
|
|
16
|
+
}
|
|
17
|
+
return Effect.suspend(() => {
|
|
18
|
+
writable.on("error", handleError);
|
|
19
|
+
return Effect.ensuring(Deferred.await(deferred), Effect.sync(() => {
|
|
20
|
+
writable.removeListener("error", handleError);
|
|
21
|
+
}));
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export { fromWritable as f };
|
|
@@ -42,10 +42,10 @@ const fromReadable = (evaluate, onError, {
|
|
|
42
42
|
} = {}) => Stream__namespace.fromChannel(readChannel(evaluate, onError, chunkSize ? Number(chunkSize) : undefined));
|
|
43
43
|
|
|
44
44
|
/** @internal */
|
|
45
|
-
const toString = options => {
|
|
45
|
+
const toString = (readable, options) => {
|
|
46
46
|
const maxBytesNumber = options.maxBytes ? Number(options.maxBytes) : undefined;
|
|
47
47
|
return Effect__namespace.acquireUseRelease(Effect__namespace.sync(() => {
|
|
48
|
-
const stream =
|
|
48
|
+
const stream = readable();
|
|
49
49
|
stream.setEncoding(options.encoding ?? "utf8");
|
|
50
50
|
return stream;
|
|
51
51
|
}), stream => Effect__namespace.async(resume => {
|
|
@@ -66,16 +66,16 @@ const toString = options => {
|
|
|
66
66
|
});
|
|
67
67
|
}), stream => Effect__namespace.sync(() => {
|
|
68
68
|
stream.removeAllListeners();
|
|
69
|
-
if (!stream.closed) {
|
|
69
|
+
if ("closed" in stream && !stream.closed) {
|
|
70
70
|
stream.destroy();
|
|
71
71
|
}
|
|
72
72
|
}));
|
|
73
73
|
};
|
|
74
74
|
|
|
75
75
|
/** @internal */
|
|
76
|
-
const toUint8Array = options => {
|
|
76
|
+
const toUint8Array = (readable, options) => {
|
|
77
77
|
const maxBytesNumber = options.maxBytes ? Number(options.maxBytes) : undefined;
|
|
78
|
-
return Effect__namespace.acquireUseRelease(Effect__namespace.sync(
|
|
78
|
+
return Effect__namespace.acquireUseRelease(Effect__namespace.sync(readable), stream => Effect__namespace.async(resume => {
|
|
79
79
|
let buffer = Buffer.alloc(0);
|
|
80
80
|
let bytes = 0;
|
|
81
81
|
stream.once("error", err => {
|
|
@@ -93,14 +93,14 @@ const toUint8Array = options => {
|
|
|
93
93
|
});
|
|
94
94
|
}), stream => Effect__namespace.sync(() => {
|
|
95
95
|
stream.removeAllListeners();
|
|
96
|
-
if (!stream.closed) {
|
|
96
|
+
if ("closed" in stream && !stream.closed) {
|
|
97
97
|
stream.destroy();
|
|
98
98
|
}
|
|
99
99
|
}));
|
|
100
100
|
};
|
|
101
101
|
|
|
102
102
|
/** @internal */
|
|
103
|
-
const fromDuplex = (evaluate, onError, options = {}) => Channel__namespace.acquireUseRelease(Effect__namespace.tap(Effect__namespace.zip(Effect__namespace.sync(evaluate), Queue__namespace.unbounded()), ([duplex, queue]) => readableOffer(duplex, queue, onError)), ([duplex, queue]) => Channel__namespace.embedInput(readableTake(duplex, queue, options.chunkSize ? Number(options.chunkSize) : undefined), writeInput(duplex, queue,
|
|
103
|
+
const fromDuplex = (evaluate, onError, options = {}) => Channel__namespace.acquireUseRelease(Effect__namespace.tap(Effect__namespace.zip(Effect__namespace.sync(evaluate), Queue__namespace.unbounded()), ([duplex, queue]) => readableOffer(duplex, queue, onError)), ([duplex, queue]) => Channel__namespace.embedInput(readableTake(duplex, queue, options.chunkSize ? Number(options.chunkSize) : undefined), writeInput(duplex, cause => Queue__namespace.offer(queue, Either__namespace.left(Exit__namespace.failCause(cause))), options)), ([duplex, queue]) => Effect__namespace.zipRight(Effect__namespace.sync(() => {
|
|
104
104
|
duplex.removeAllListeners();
|
|
105
105
|
if (!duplex.closed) {
|
|
106
106
|
duplex.destroy();
|
|
@@ -120,48 +120,47 @@ const pipeThroughSimple = /*#__PURE__*/Function.dual(2, (self, duplex) => Stream
|
|
|
120
120
|
}))));
|
|
121
121
|
const readChannel = (evaluate, onError, chunkSize) => Channel__namespace.acquireUseRelease(Effect__namespace.tap(Effect__namespace.zip(Effect__namespace.sync(evaluate), Queue__namespace.unbounded()), ([readable, queue]) => readableOffer(readable, queue, onError)), ([readable, queue]) => readableTake(readable, queue, chunkSize), ([readable, queue]) => Effect__namespace.zipRight(Effect__namespace.sync(() => {
|
|
122
122
|
readable.removeAllListeners();
|
|
123
|
-
if (!readable.closed) {
|
|
123
|
+
if ("closed" in readable && !readable.closed) {
|
|
124
124
|
readable.destroy();
|
|
125
125
|
}
|
|
126
126
|
}), Queue__namespace.shutdown(queue)));
|
|
127
|
-
|
|
127
|
+
|
|
128
|
+
/** @internal */
|
|
129
|
+
const writeInput = (writable, onFailure, {
|
|
128
130
|
encoding,
|
|
129
131
|
endOnDone = true
|
|
130
|
-
} =
|
|
131
|
-
const write = writeEffect(writable,
|
|
132
|
+
}, onDone = Effect__namespace.unit) => {
|
|
133
|
+
const write = writeEffect(writable, encoding);
|
|
132
134
|
const close = endOnDone ? Effect__namespace.async(resume => {
|
|
133
|
-
if (writable.closed) {
|
|
135
|
+
if ("closed" in writable && writable.closed) {
|
|
134
136
|
resume(Effect__namespace.unit);
|
|
135
137
|
} else {
|
|
136
|
-
writable.
|
|
138
|
+
writable.once("finish", () => resume(Effect__namespace.unit));
|
|
139
|
+
writable.end();
|
|
137
140
|
}
|
|
138
141
|
}) : Effect__namespace.unit;
|
|
139
142
|
return {
|
|
140
143
|
awaitRead: () => Effect__namespace.unit,
|
|
141
|
-
emit:
|
|
142
|
-
error: cause => Effect__namespace.zipRight(close,
|
|
143
|
-
done: _ => close
|
|
144
|
+
emit: write,
|
|
145
|
+
error: cause => Effect__namespace.zipRight(close, onFailure(cause)),
|
|
146
|
+
done: _ => Effect__namespace.zipRight(close, onDone)
|
|
144
147
|
};
|
|
145
148
|
};
|
|
146
149
|
|
|
147
150
|
/** @internal */
|
|
148
|
-
const writeEffect = (writable,
|
|
151
|
+
const writeEffect = (writable, encoding) => chunk => chunk.length === 0 ? Effect__namespace.unit : Effect__namespace.async(resume => {
|
|
149
152
|
const iterator = chunk[Symbol.iterator]();
|
|
153
|
+
let next = iterator.next();
|
|
150
154
|
function loop() {
|
|
151
|
-
const item =
|
|
152
|
-
|
|
155
|
+
const item = next;
|
|
156
|
+
next = iterator.next();
|
|
157
|
+
const success = writable.write(item.value, encoding);
|
|
158
|
+
if (next.done) {
|
|
153
159
|
resume(Effect__namespace.unit);
|
|
154
|
-
} else if (
|
|
155
|
-
writable.write(item.value, encoding, onDone);
|
|
156
|
-
} else {
|
|
157
|
-
writable.write(item.value, onDone);
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
function onDone(err) {
|
|
161
|
-
if (err) {
|
|
162
|
-
resume(Effect__namespace.fail(onError(err)));
|
|
163
|
-
} else {
|
|
160
|
+
} else if (success) {
|
|
164
161
|
loop();
|
|
162
|
+
} else {
|
|
163
|
+
writable.once("drain", loop);
|
|
165
164
|
}
|
|
166
165
|
}
|
|
167
166
|
loop();
|
|
@@ -207,4 +206,4 @@ exports.pipeThroughDuplex = pipeThroughDuplex;
|
|
|
207
206
|
exports.pipeThroughSimple = pipeThroughSimple;
|
|
208
207
|
exports.toString = toString;
|
|
209
208
|
exports.toUint8Array = toUint8Array;
|
|
210
|
-
exports.
|
|
209
|
+
exports.writeInput = writeInput;
|