@fncts/node 0.0.34 → 0.0.36
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/_cjs/http/IncomingMessage.cjs +59 -0
- package/_cjs/http/IncomingMessage.cjs.map +1 -0
- package/_cjs/http/Server.cjs +209 -0
- package/_cjs/http/Server.cjs.map +1 -0
- package/_cjs/http/ServerRequest.cjs +43 -0
- package/_cjs/http/ServerRequest.cjs.map +1 -0
- package/_cjs/stream/api.cjs +188 -52
- package/_cjs/stream/api.cjs.map +1 -1
- package/_mjs/http/IncomingMessage.mjs +50 -0
- package/_mjs/http/IncomingMessage.mjs.map +1 -0
- package/_mjs/http/Server.mjs +198 -0
- package/_mjs/http/Server.mjs.map +1 -0
- package/_mjs/http/ServerRequest.mjs +34 -0
- package/_mjs/http/ServerRequest.mjs.map +1 -0
- package/_mjs/stream/api.mjs +184 -50
- package/_mjs/stream/api.mjs.map +1 -1
- package/_src/http/IncomingMessage.ts +60 -0
- package/_src/http/Server.ts +293 -0
- package/_src/http/ServerRequest.ts +54 -0
- package/_src/stream/api.ts +247 -50
- package/http/IncomingMessage.d.ts +23 -0
- package/http/Server.d.ts +38 -0
- package/http/ServerRequest.d.ts +29 -0
- package/package.json +3 -2
- package/stream/api.d.ts +23 -8
package/_cjs/stream/api.cjs
CHANGED
@@ -3,18 +3,37 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.
|
6
|
+
exports.TransformError = exports.ReadableError = void 0;
|
7
7
|
exports.fromReadable = fromReadable;
|
8
8
|
exports.fromWritable = fromWritable;
|
9
|
+
exports.fromWritableChannel = fromWritableChannel;
|
10
|
+
exports.toString = toString;
|
11
|
+
exports.toUint8Array = toUint8Array;
|
9
12
|
exports.transform = transform;
|
10
|
-
var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/
|
13
|
+
var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Queue/constructors"));
|
11
14
|
var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api"));
|
12
|
-
var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/
|
13
|
-
var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/
|
14
|
-
var tsplus_module_5 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/
|
15
|
-
var tsplus_module_6 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/
|
16
|
-
var tsplus_module_7 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/
|
17
|
-
var tsplus_module_8 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/
|
15
|
+
var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Queue/api/operations"));
|
16
|
+
var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/api"));
|
17
|
+
var tsplus_module_5 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Maybe/definition"));
|
18
|
+
var tsplus_module_6 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Either/constructors"));
|
19
|
+
var tsplus_module_7 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/runtime"));
|
20
|
+
var tsplus_module_8 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Exit/constructors"));
|
21
|
+
var tsplus_module_9 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/core-api"));
|
22
|
+
var tsplus_module_10 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Exit/api"));
|
23
|
+
var tsplus_module_11 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Either/destructors"));
|
24
|
+
var tsplus_module_12 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/Conc/definition"));
|
25
|
+
var tsplus_module_13 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Sink/api"));
|
26
|
+
var tsplus_module_14 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Future/api"));
|
27
|
+
var tsplus_module_15 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Future/constructors"));
|
28
|
+
var tsplus_module_16 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/interrupt"));
|
29
|
+
var tsplus_module_17 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/Conc/api"));
|
30
|
+
var tsplus_module_18 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Sink/definition"));
|
31
|
+
var tsplus_module_19 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/acquireRelease"));
|
32
|
+
var tsplus_module_20 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Stream/api"));
|
33
|
+
var tsplus_module_21 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/Conc/constructors"));
|
34
|
+
var tsplus_module_22 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Maybe/constructors"));
|
35
|
+
var tsplus_module_23 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/scoped"));
|
36
|
+
var _Stream = /*#__PURE__*/require("@fncts/io/Stream");
|
18
37
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
19
38
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
20
39
|
const fileName_1 = "(@fncts/node) src/stream/api.ts";
|
@@ -25,46 +44,109 @@ class ReadableError {
|
|
25
44
|
}
|
26
45
|
}
|
27
46
|
exports.ReadableError = ReadableError;
|
28
|
-
function fromReadable(readable) {
|
29
|
-
return
|
30
|
-
|
31
|
-
|
47
|
+
function fromReadable(readable, onError, chunkSize) {
|
48
|
+
return new _Stream.Stream(fromReadableChannel(readable, onError, chunkSize));
|
49
|
+
}
|
50
|
+
function fromReadableChannel(evaluate, onError, chunkSize) {
|
51
|
+
return tsplus_module_4.acquireReleaseWith(tsplus_module_2.tap(([readable, queue]) => readableOffer(readable, queue, onError), fileName_1 + ":27:11")(tsplus_module_2.zip(tsplus_module_1.makeUnbounded(fileName_1 + ":26:31"), fileName_1 + ":26:11")(tsplus_module_2.succeed(evaluate, fileName_1 + ":25:7"))), ([readable, queue]) => readableTake(readable, queue, chunkSize), ([readable, queue]) => tsplus_module_2.zipRight(tsplus_module_3.shutdown(queue, fileName_1 + ":35:17"), fileName_1 + ":35:11")(tsplus_module_2.succeed(() => {
|
52
|
+
readable.removeAllListeners();
|
53
|
+
if ("closed" in readable && !readable.closed) {
|
54
|
+
readable.destroy();
|
55
|
+
}
|
56
|
+
}, fileName_1 + ":30:9")));
|
57
|
+
}
|
58
|
+
function readableOffer(readable, queue, onError) {
|
59
|
+
return tsplus_module_2.succeed(() => {
|
60
|
+
readable.on("readable", () => {
|
61
|
+
const size = tsplus_module_3.unsafeSize(queue, fileName_1 + ":46:25");
|
62
|
+
if (tsplus_module_5.isJust(size) && size.value <= 0) {
|
63
|
+
tsplus_module_7.unsafeRun(tsplus_module_3.offer(tsplus_module_6.right(void 0, fileName_1 + ":48:33"), fileName_1 + ":48:20")(queue));
|
64
|
+
}
|
32
65
|
});
|
33
66
|
readable.on("error", err => {
|
34
|
-
|
67
|
+
tsplus_module_3.unsafeOffer(tsplus_module_6.left(tsplus_module_8.fail(onError(err), fileName_1 + ":52:46"), fileName_1 + ":52:36"), fileName_1 + ":52:24")(queue);
|
35
68
|
});
|
36
69
|
readable.on("end", () => {
|
37
|
-
|
70
|
+
tsplus_module_3.unsafeOffer(tsplus_module_6.left(tsplus_module_8.unit, fileName_1 + ":55:36"), fileName_1 + ":55:24")(queue);
|
38
71
|
});
|
39
|
-
|
72
|
+
if (readable.readable) {
|
73
|
+
tsplus_module_3.unsafeOffer(tsplus_module_6.right(void 0, fileName_1 + ":58:37"), fileName_1 + ":58:24")(queue);
|
74
|
+
}
|
75
|
+
}, fileName_1 + ":44:12");
|
40
76
|
}
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
77
|
+
function readableTake(readable, queue, chunkSize) {
|
78
|
+
const read = readChunkChannel(readable, chunkSize);
|
79
|
+
const loop = tsplus_module_9.flatMap(either => tsplus_module_11.match(exit => tsplus_module_10.match(cause => tsplus_module_9.failCauseNow(cause), () => tsplus_module_4.unit)(exit), () => tsplus_module_9.flatMap(() => loop)(read))(either))(tsplus_module_4.fromIO(() => tsplus_module_3.take(queue, fileName_1 + ":69:100")));
|
80
|
+
return loop;
|
81
|
+
}
|
82
|
+
function readChunkChannel(readable, chunkSize) {
|
83
|
+
return tsplus_module_4.defer(() => {
|
84
|
+
const arr = [];
|
85
|
+
let chunk = readable.read(chunkSize);
|
86
|
+
while (chunk !== null) {
|
87
|
+
arr.push(chunk);
|
88
|
+
chunk = readable.read(chunkSize);
|
89
|
+
}
|
90
|
+
return tsplus_module_4.write(() => tsplus_module_12.fromArray(arr));
|
91
|
+
});
|
92
|
+
}
|
93
|
+
function fromWritable(writable, onError, options) {
|
94
|
+
return tsplus_module_13.fromChannel(fromWritableChannel(writable, onError, options), fileName_1 + ":105:26");
|
95
|
+
}
|
96
|
+
function fromWritableChannel(writable, onError, options) {
|
97
|
+
return tsplus_module_9.flatMap(([writable, future]) => tsplus_module_4.embedInput(writeInput(writable, cause => tsplus_module_14.failCause(cause, fileName_1 + ":115:62")(future), options, tsplus_module_14.fulfill(tsplus_module_2.unit, fileName_1 + ":115:94")(future)))(writableOutput(writable, future, onError)))(tsplus_module_4.fromIO(() => tsplus_module_2.zip(tsplus_module_15.make(fileName_1 + ":113:53"), fileName_1 + ":113:41")(tsplus_module_2.succeed(writable, fileName_1 + ":113:27"))));
|
98
|
+
}
|
99
|
+
function writeInput(writable, onFailure, {
|
100
|
+
encoding,
|
101
|
+
endOnDone = true
|
102
|
+
} = {}, onDone = tsplus_module_2.unit) {
|
103
|
+
const write = writeIO(writable, encoding);
|
104
|
+
const close = endOnDone ? tsplus_module_2.async(resume => {
|
105
|
+
if ("closed" in writable && writable.closed) {
|
106
|
+
resume(tsplus_module_2.unit);
|
107
|
+
} else {
|
108
|
+
writable.once("finish", () => resume(tsplus_module_2.unit));
|
109
|
+
}
|
110
|
+
}) : tsplus_module_2.unit;
|
111
|
+
return {
|
112
|
+
awaitRead: tsplus_module_2.unit,
|
113
|
+
emit: write,
|
114
|
+
error: cause => tsplus_module_2.zipRight(onFailure(cause), fileName_1 + ":140:30")(close),
|
115
|
+
done: _ => tsplus_module_2.zipRight(onDone, fileName_1 + ":141:25")(close)
|
116
|
+
};
|
46
117
|
}
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
118
|
+
function writeIO(writable, encoding) {
|
119
|
+
return chunk => {
|
120
|
+
if (chunk.length === 0) {
|
121
|
+
return tsplus_module_2.unit;
|
122
|
+
} else {
|
123
|
+
return tsplus_module_2.async(resume => {
|
124
|
+
const iterator = chunk[Symbol.iterator]();
|
125
|
+
const next = iterator.next();
|
126
|
+
function loop() {
|
127
|
+
const item = next;
|
128
|
+
const success = writable.write(item.value, encoding);
|
129
|
+
if (next.done) {
|
130
|
+
resume(tsplus_module_2.unit);
|
131
|
+
} else if (success) {
|
132
|
+
loop();
|
133
|
+
} else {
|
134
|
+
writable.once("drain", loop);
|
135
|
+
}
|
136
|
+
}
|
137
|
+
loop();
|
53
138
|
});
|
54
|
-
}
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
}
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
cb(tsplus_module_2.succeedNow(writable0, fileName_1 + ":47:27"));
|
66
|
-
});
|
67
|
-
}), writable => tsplus_module_2.succeed(() => writable.destroy(), fileName_1 + ":50:41"), fileName_1 + ":50:24"))));
|
139
|
+
}
|
140
|
+
};
|
141
|
+
}
|
142
|
+
function writableOutput(writable, future, onError) {
|
143
|
+
return tsplus_module_4.fromIO(() => tsplus_module_2.defer(() => {
|
144
|
+
function handleError(err) {
|
145
|
+
tsplus_module_14.unsafeDone(tsplus_module_2.failNow(onError(err), fileName_1 + ":178:37"), fileName_1 + ":178:26")(future);
|
146
|
+
}
|
147
|
+
writable.on("error", handleError);
|
148
|
+
return tsplus_module_16.ensuring(tsplus_module_2.succeed(() => writable.removeListener("error", handleError), fileName_1 + ":181:38"), fileName_1 + ":181:35")(tsplus_module_14.wait(future, fileName_1 + ":181:20"));
|
149
|
+
}, fileName_1 + ":176:13"));
|
68
150
|
}
|
69
151
|
class TransformError {
|
70
152
|
constructor(error) {
|
@@ -79,25 +161,79 @@ exports.TransformError = TransformError;
|
|
79
161
|
function transform(transform) {
|
80
162
|
return self => {
|
81
163
|
const scopedSink = tsplus_module_2.map(transform => {
|
82
|
-
const endTransform = tsplus_module_2.succeed(() => transform.end(), fileName_1 + ":
|
83
|
-
const reader =
|
84
|
-
transform.write(
|
85
|
-
err ? cb(tsplus_module_2.failNow(new TransformError(err), fileName_1 + ":
|
164
|
+
const endTransform = tsplus_module_2.succeed(() => transform.end(), fileName_1 + ":199:40");
|
165
|
+
const reader = tsplus_module_4.readWith(inp => tsplus_module_4.unwrap(() => tsplus_module_2.async(cb => {
|
166
|
+
transform.write(tsplus_module_17.toBuffer(inp), err => {
|
167
|
+
err ? cb(tsplus_module_2.failNow(new TransformError(err), fileName_1 + ":205:38")) : tsplus_module_2.succeedNow(reader, fileName_1 + ":205:80");
|
86
168
|
});
|
87
|
-
})), err =>
|
88
|
-
return [transform, new
|
89
|
-
}, fileName_1 + ":
|
90
|
-
return
|
169
|
+
})), err => tsplus_module_4.unwrap(() => tsplus_module_2.map(() => tsplus_module_4.failNow(err), fileName_1 + ":209:51")(endTransform)), () => tsplus_module_4.unwrap(() => tsplus_module_2.map(() => tsplus_module_4.unit, fileName_1 + ":210:48")(endTransform)));
|
170
|
+
return [transform, new tsplus_module_18.Sink(reader)];
|
171
|
+
}, fileName_1 + ":198:11")(tsplus_module_19.acquireRelease(() => tsplus_module_2.succeed(transform, fileName_1 + ":196:34"), transform => tsplus_module_2.succeed(() => transform.destroy(), fileName_1 + ":197:48"), fileName_1 + ":197:22"));
|
172
|
+
return tsplus_module_20.flatMap(([transform, sink]) => tsplus_module_20.ensuring(tsplus_module_2.succeed(() => transform.removeAllListeners(), fileName_1 + ":227:20"), fileName_1 + ":227:17")(tsplus_module_20.asyncIO(cb => tsplus_module_2.zipRight(tsplus_module_20.run(sink, fileName_1 + ":226:29")(self), fileName_1 + ":226:20")(tsplus_module_2.succeed(() => {
|
91
173
|
transform.on("data", chunk => {
|
92
|
-
cb(tsplus_module_2.succeed(() =>
|
174
|
+
cb(tsplus_module_2.succeed(() => tsplus_module_21.fromBuffer(chunk), fileName_1 + ":218:26"));
|
93
175
|
});
|
94
176
|
transform.on("error", err => {
|
95
|
-
cb(tsplus_module_2.failNow(
|
177
|
+
cb(tsplus_module_2.failNow(tsplus_module_22.just(new TransformError(err), fileName_1 + ":221:31"), fileName_1 + ":221:26"));
|
96
178
|
});
|
97
179
|
transform.on("end", () => {
|
98
|
-
cb(tsplus_module_2.failNow(
|
180
|
+
cb(tsplus_module_2.failNow(tsplus_module_22.nothing(fileName_1 + ":224:34"), fileName_1 + ":224:26"));
|
99
181
|
});
|
100
|
-
}, fileName_1 + ":
|
182
|
+
}, fileName_1 + ":216:19")))), fileName_1 + ":214:45")(tsplus_module_20.scoped(() => scopedSink, fileName_1 + ":214:25"));
|
101
183
|
};
|
102
184
|
}
|
185
|
+
function toString(readable, onFailure, options) {
|
186
|
+
const maxBytes = options?.maxBytes ? Number(options.maxBytes) : undefined;
|
187
|
+
return tsplus_module_23.scoped(tsplus_module_2.flatMap(stream => tsplus_module_2.async(resume => {
|
188
|
+
let string = "";
|
189
|
+
let bytes = 0;
|
190
|
+
stream.once("error", err => {
|
191
|
+
resume(tsplus_module_2.failNow(onFailure(err), fileName_1 + ":259:28"));
|
192
|
+
});
|
193
|
+
stream.once("end", () => {
|
194
|
+
resume(tsplus_module_2.succeedNow(string, fileName_1 + ":262:31"));
|
195
|
+
});
|
196
|
+
stream.on("data", chunk => {
|
197
|
+
string += chunk;
|
198
|
+
bytes += Buffer.byteLength(chunk);
|
199
|
+
if (maxBytes && bytes > maxBytes) {
|
200
|
+
resume(tsplus_module_2.failNow(onFailure(new Error("maxBytes exceeded")), fileName_1 + ":268:30"));
|
201
|
+
}
|
202
|
+
});
|
203
|
+
}), fileName_1 + ":254:13")(tsplus_module_19.acquireRelease(() => tsplus_module_2.succeed(() => {
|
204
|
+
const stream = readable();
|
205
|
+
stream.setEncoding(options?.encoding ?? "utf8");
|
206
|
+
return stream;
|
207
|
+
}, fileName_1 + ":241:12"), stream => tsplus_module_2.succeed(() => {
|
208
|
+
stream.removeAllListeners();
|
209
|
+
if ("closed" in stream && !stream.closed) {
|
210
|
+
stream.destroy();
|
211
|
+
}
|
212
|
+
}, fileName_1 + ":247:9"), fileName_1 + ":246:20")), fileName_1 + ":272:6");
|
213
|
+
}
|
214
|
+
function toUint8Array(readable, onFailure, options = {}) {
|
215
|
+
const maxBytes = options.maxBytes ? Number(options.maxBytes) : undefined;
|
216
|
+
return tsplus_module_23.scoped(tsplus_module_2.flatMap(stream => tsplus_module_2.async(resume => {
|
217
|
+
let buffer = Buffer.alloc(0);
|
218
|
+
let bytes = 0;
|
219
|
+
stream.once("error", err => {
|
220
|
+
resume(tsplus_module_2.failNow(onFailure(err), fileName_1 + ":297:28"));
|
221
|
+
});
|
222
|
+
stream.once("end", () => {
|
223
|
+
resume(tsplus_module_2.succeedNow(buffer, fileName_1 + ":300:31"));
|
224
|
+
});
|
225
|
+
stream.on("data", chunk => {
|
226
|
+
buffer = Buffer.concat([buffer, chunk]);
|
227
|
+
bytes += chunk.length;
|
228
|
+
if (maxBytes && bytes > maxBytes) {
|
229
|
+
resume(tsplus_module_2.failNow(onFailure(new Error("maxBytes exceeded")), fileName_1 + ":306:30"));
|
230
|
+
}
|
231
|
+
});
|
232
|
+
}), fileName_1 + ":292:13")(tsplus_module_19.acquireRelease(() => tsplus_module_2.succeed(readable, fileName_1 + ":283:12"), stream => tsplus_module_2.succeed(() => {
|
233
|
+
stream.removeAllListeners();
|
234
|
+
if ("closed" in stream && !stream.closed) {
|
235
|
+
stream.destroy();
|
236
|
+
}
|
237
|
+
}, fileName_1 + ":285:9"), fileName_1 + ":284:20")), fileName_1 + ":310:6");
|
238
|
+
}
|
103
239
|
//# sourceMappingURL=api.cjs.map
|
package/_cjs/stream/api.cjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"api.cjs","names":["ReadableError","constructor","error","_tag","exports","fromReadable","readable","tsplus_module_4","flatMap","async","cb","on","chunk","tsplus_module_2","succeedNow","tsplus_module_1","fromBuffer","fileName_1","err","failNow","tsplus_module_3","just","nothing","acquireRelease","tryCatch","succeed","destroy","WritableError","fromWritable","writable","tsplus_module_5","Sink","tsplus_module_7","unwrapScoped","map","reader","readWith","unwrap","write","tsplus_module_6","toBuffer","unit","tsplus_module_8","handle","undefined","onError","clearImmediate","haltNow","writable0","once","setImmediate","removeListener","TransformError","transform","self","scopedSink","endTransform","end","inp","sink","ensuring","removeAllListeners","asyncIO","zipRight","run","scoped"],"sources":["../../_src/stream/api.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;AAIM,MAAOA,aAAa;EAExBC,YAAqBC,KAAY;IAAZ,KAAAA,KAAK,GAALA,KAAK;IADjB,KAAAC,IAAI,GAAG,eAAe;EACK;;AACrCC,OAAA,CAAAJ,aAAA,GAAAA,aAAA;AAEK,SAAUK,YAAYA,CAACC,QAA+B;EAC1D,OAAOC,eAAA,CAAAC,OAAA,CAGIF,QAAQ,IACjBC,eAAA,CAAAE,KAAA,CAAcC,EAAE,IAAI;IAClBJ,QAAQ,CAACK,EAAE,CAAC,MAAM,EAAGC,KAAK,IAAI;MAC5BF,EAAE,CAACG,eAAA,CAAAC,UAAA,CAAcC,eAAA,CAAAC,UAAA,CAAgBJ,KAAK,CAAC,EAAAK,UAAA,YAAC,CAAC;IAC3C,CAAC,CAAC;IACFX,QAAQ,CAACK,EAAE,CAAC,OAAO,EAAGO,GAAG,IAAI;MAC3BR,EAAE,CAACG,eAAA,CAAAM,OAAA,CAAWC,eAAA,CAAAC,IAAA,CAAK,IAAIrB,aAAa,CAACkB,GAAG,CAAC,EAAAD,UAAA,YAAC,EAAAA,UAAA,YAAC,CAAC;IAC9C,CAAC,CAAC;IACFX,QAAQ,CAACK,EAAE,CAAC,KAAK,EAAE,MAAK;MACtBD,EAAE,CAACG,eAAA,CAAAM,OAAA,CAAWC,eAAA,CAAAE,OAAA,CAAAL,UAAA,YAAS,EAAAA,UAAA,YAAC,CAAC;IAC3B,CAAC,CAAC;EACJ,CAAC,CAAC,EAAAA,UAAA,aAdGV,eAAA,CAAAgB,cAAA,CACLV,eAAA,CAAAW,QAAA,CAAYlB,QAAQ,EAAGY,GAAG,IAAK,IAAIlB,aAAa,CAACkB,GAAY,CAAC,EAAAD,UAAA,YAAC,EAC9DX,QAAQ,IAAKO,eAAA,CAAAY,OAAA,OAAGnB,QAAQ,CAACoB,OAAO,EAAE,EAAAT,UAAA,YAAC,EAAAA,UAAA,YACrC,CAYA;AACH;AAEM,MAAOU,aAAa;EAExB1B,YAAqBC,KAAY;IAAZ,KAAAA,KAAK,GAALA,KAAK;IADjB,KAAAC,IAAI,GAAG,eAAe;EACK;;AACrCC,OAAA,CAAAuB,aAAA,GAAAA,aAAA;AAEK,SAAUC,YAAYA,CAACC,QAA+B;EAC1D,OAAO,IAAAC,eAAA,CAAIC,IAAI,CACbC,eAAA,CAAAC,YAAA,OACEpB,eAAA,CAAAqB,GAAA,CAcQL,QAAQ,IAAI;IAChB,MAAMM,MAAM,GAA2EH,eAAA,CAAAI,QAAA,CACpFxB,KAAiB,IAChBoB,eAAA,CAAAK,MAAA,OACExB,eAAA,CAAAJ,KAAA,CAA+CC,EAAE,IAAI;MACnDmB,QAAQ,CAACS,KAAK,CAAAC,eAAA,CAAAC,QAAA,CAAC5B,KAAK,GAAYM,GAAG,IAAI;QACrCA,GAAG,GAAGR,EAAE,CAACG,eAAA,CAAAM,OAAA,CAAW,IAAIQ,aAAa,CAACT,GAAG,CAAC,EAAAD,UAAA,YAAC,CAAC,GAAGP,EAAE,CAACG,eAAA,CAAAC,UAAA,CAAcqB,MAAM,EAAAlB,UAAA,YAAC,CAAC;MAC1E,CAAC,CAAC;IACJ,CAAC,CAAC,CACH,EAAAe,eAAA,CAAAb,OAAA,EAEH,MAAKa,eAAA,CAAAS,IAAa,CACnB;IACD,OAAON,MAAM;EACf,CAAC,EAAAlB,UAAA,aA5BHyB,eAAA,CAAAnB,cAAA,OAAAV,eAAA,CAAAJ,KAAA,CAAyCC,EAAE,IAAI;IAC7C,IAAIiC,MAAM,GAAiCC,SAAS;IACpD,MAAMC,OAAO,GAAI3B,GAAU,IAAI;MAC7B4B,cAAc,CAACH,MAAM,CAAC;MACtBjC,EAAE,CAACG,eAAA,CAAAkC,OAAA,CAAW7B,GAAG,EAAAD,UAAA,YAAC,CAAC;IACrB,CAAC;IAED,MAAM+B,SAAS,GAAGnB,QAAQ,EAAE,CAACoB,IAAI,CAAC,OAAO,EAAEJ,OAAO,CAAC;IACnDF,MAAM,GAAYO,YAAY,CAAC,MAAK;MAClCF,SAAS,CAACG,cAAc,CAAC,OAAO,EAAEN,OAAO,CAAC;MAC1CnC,EAAE,CAACG,eAAA,CAAAC,UAAA,CAAckC,SAAS,EAAA/B,UAAA,YAAC,CAAC;IAC9B,CAAC,CAAC;EACJ,CAAC,CAAC,EACiBY,QAAQ,IAAKhB,eAAA,CAAAY,OAAA,OAAGI,QAAQ,CAACH,OAAO,EAAE,EAAAT,UAAA,YAAC,EAAAA,UAAA,YAAC,CAenD,CACL,CACF;AACH;AAEM,MAAOmC,cAAc;EAEzBnD,YAAqBC,KAAY;IAAZ,KAAAA,KAAK,GAALA,KAAK;IADjB,KAAAC,IAAI,GAAG,gBAAgB;EACI;;AAGtC;;;AAAAC,OAAA,CAAAgD,cAAA,GAAAA,cAAA;AAGM,SAAUC,SAASA,CAACA,SAAiC;EACzD,OAAcC,IAAwB,IAAyC;IAC7E,MAAMC,UAAU,GAAG1C,eAAA,CAAAqB,GAAA,CAEXmB,SAAS,IAAI;MACjB,MAAMG,YAAY,GAAG3C,eAAA,CAAAY,OAAA,OAAW4B,SAAS,CAACI,GAAG,EAAE,EAAAxC,UAAA,YAAC;MAChD,MAAMkB,MAAM,GAAiFH,eAAA,CAAAI,QAAA,CAC1FsB,GAAe,IACd1B,eAAA,CAAAK,MAAA,OACExB,eAAA,CAAAJ,KAAA,CAAgDC,EAAE,IAAI;QACpD2C,SAAS,CAACf,KAAK,CAAAC,eAAA,CAAAC,QAAA,CAACkB,GAAG,GAAYxC,GAAG,IAAI;UACpCA,GAAG,GAAGR,EAAE,CAACG,eAAA,CAAAM,OAAA,CAAW,IAAIiC,cAAc,CAAClC,GAAG,CAAC,EAAAD,UAAA,YAAC,CAAC,GAAGJ,eAAA,CAAAC,UAAA,CAAcqB,MAAM,EAAAlB,UAAA,YAAC;QACvE,CAAC,CAAC;MACJ,CAAC,CAAC,CACH,EACFC,GAAG,IAAKc,eAAA,CAAAK,MAAA,OAAexB,eAAA,CAAAqB,GAAA,CAAiB,MAAMF,eAAA,CAAAb,OAAA,CAAgBD,GAAG,CAAC,EAAAD,UAAA,aAA3CuC,YAAY,CAAgC,CAAC,EACrE,MAAMxB,eAAA,CAAAK,MAAA,OAAexB,eAAA,CAAAqB,GAAA,CAAiB,MAAKF,eAAA,CAAAS,IAAa,EAAAxB,UAAA,aAAnCuC,YAAY,CAAwB,CAAC,CAC3D;MACD,OAAO,CAACH,SAAS,EAAE,IAAAvB,eAAA,CAAIC,IAAI,CAACI,MAAM,CAAC,CAAU;IAC/C,CAAC,EAAAlB,UAAA,aAjBgByB,eAAA,CAAAnB,cAAA,OAAAV,eAAA,CAAAY,OAAA,CAAW4B,SAAS,EAAApC,UAAA,YAAC,EACrBoC,SAAS,IAAKxC,eAAA,CAAAY,OAAA,OAAW4B,SAAS,CAAC3B,OAAO,EAAE,EAAAT,UAAA,YAAC,EAAAA,UAAA,YAAC,CAgB7D;IACJ,OAAOV,eAAA,CAAAC,OAAA,CAAkC,CAAC,CAAC6C,SAAS,EAAEM,IAAI,CAAC,KACzDpD,eAAA,CAAAqD,QAAA,CAYW/C,eAAA,CAAAY,OAAA,OAAG4B,SAAS,CAACQ,kBAAkB,EAAE,EAAA5C,UAAA,aAAC,EAAAA,UAAA,cAZ7CV,eAAA,CAAAuD,OAAA,CAAoEpD,EAAE,IACpEG,eAAA,CAAAkD,QAAA,CAUYxD,eAAA,CAAAyD,GAAA,CAASL,IAAI,EAAA1C,UAAA,cAAbqC,IAAI,CAAU,EAAArC,UAAA,cAV1BJ,eAAA,CAAAY,OAAA,CAAW,MAAK;MACd4B,SAAS,CAAC1C,EAAE,CAAC,MAAM,EAAGC,KAAK,IAAI;QAC7BF,EAAE,CAACG,eAAA,CAAAY,OAAA,OAAWV,eAAA,CAAAC,UAAA,CAAgBJ,KAAK,CAAC,EAAAK,UAAA,aAAC,CAAC;MACxC,CAAC,CAAC;MACFoC,SAAS,CAAC1C,EAAE,CAAC,OAAO,EAAGO,GAAG,IAAI;QAC5BR,EAAE,CAACG,eAAA,CAAAM,OAAA,CAAWC,eAAA,CAAAC,IAAA,CAAK,IAAI+B,cAAc,CAAClC,GAAG,CAAC,EAAAD,UAAA,aAAC,EAAAA,UAAA,aAAC,CAAC;MAC/C,CAAC,CAAC;MACFoC,SAAS,CAAC1C,EAAE,CAAC,KAAK,EAAE,MAAK;QACvBD,EAAE,CAACG,eAAA,CAAAM,OAAA,CAAWC,eAAA,CAAAE,OAAA,CAAAL,UAAA,aAAS,EAAAA,UAAA,aAAC,CAAC;MAC3B,CAAC,CAAC;IACJ,CAAC,EAAAA,UAAA,aAAC,CAAyB,CAC5B,CAA6C,EAAAA,UAAA,aAbzCV,eAAA,CAAA0D,MAAA,OAAcV,UAAU,EAAAtC,UAAA,YAAC,CAc/B;EACH,CAAC;AACH"}
|
1
|
+
{"version":3,"file":"api.cjs","names":["_Stream","require","_getRequireWildcardCache","e","WeakMap","r","t","_interopRequireWildcard","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","ReadableError","constructor","error","_tag","exports","fromReadable","readable","onError","chunkSize","Stream","fromReadableChannel","evaluate","tsplus_module_4","acquireReleaseWith","tsplus_module_2","tap","queue","readableOffer","fileName_1","zip","tsplus_module_1","makeUnbounded","succeed","readableTake","zipRight","tsplus_module_3","shutdown","removeAllListeners","closed","destroy","on","size","unsafeSize","tsplus_module_5","isJust","value","tsplus_module_7","unsafeRun","offer","tsplus_module_6","right","err","unsafeOffer","left","tsplus_module_8","fail","unit","read","readChunkChannel","loop","tsplus_module_9","flatMap","either","tsplus_module_11","match","exit","tsplus_module_10","cause","failCauseNow","fromIO","take","defer","arr","chunk","push","write","tsplus_module_12","fromArray","fromWritable","writable","options","tsplus_module_13","fromChannel","fromWritableChannel","future","embedInput","writeInput","tsplus_module_14","failCause","fulfill","writableOutput","tsplus_module_15","make","onFailure","encoding","endOnDone","onDone","writeIO","close","async","resume","once","awaitRead","emit","done","_","length","iterator","Symbol","next","item","success","handleError","unsafeDone","failNow","tsplus_module_16","ensuring","removeListener","wait","TransformError","transform","self","scopedSink","map","endTransform","end","reader","readWith","inp","unwrap","cb","tsplus_module_17","toBuffer","succeedNow","tsplus_module_18","Sink","tsplus_module_19","acquireRelease","tsplus_module_20","sink","asyncIO","run","tsplus_module_21","fromBuffer","tsplus_module_22","just","nothing","scoped","toString","maxBytes","Number","undefined","tsplus_module_23","stream","string","bytes","Buffer","byteLength","Error","setEncoding","toUint8Array","buffer","alloc","concat"],"sources":["../../_src/stream/api.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,IAAAA,OAAA,gBAAAC,OAAA;AAA0C,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAI,wBAAAJ,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAM,OAAA,EAAAN,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAI,GAAA,CAAAP,CAAA,UAAAG,CAAA,CAAAK,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAf,CAAA,oBAAAe,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAlB,CAAA,EAAAe,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAe,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAf,CAAA,CAAAe,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAN,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAiB,GAAA,CAAApB,CAAA,EAAAS,CAAA,GAAAA,CAAA;;AAEpC,MAAOY,aAAa;EAExBC,YAAqBC,KAAY;IAAZ,KAAAA,KAAK,GAALA,KAAK;IADjB,KAAAC,IAAI,GAAG,eAAe;EACK;;AACrCC,OAAA,CAAAJ,aAAA,GAAAA,aAAA;AAEK,SAAUK,YAAYA,CAC1BC,QAAuD,EACvDC,OAA8B,EAC9BC,SAAkB;EAElB,OAAO,IAAIC,cAAM,CAAcC,mBAAmB,CAAOJ,QAAQ,EAAEC,OAAO,EAAEC,SAAS,CAAC,CAAC;AACzF;AAEA,SAASE,mBAAmBA,CAC1BC,QAAuD,EACvDJ,OAA8B,EAC9BC,SAA6B;EAE7B,OAAOI,eAAA,CAAAC,kBAAA,CACLC,eAAA,CAAAC,GAAA,CAEO,CAAC,CAACT,QAAQ,EAAEU,KAAK,CAAC,KAAKC,aAAa,CAACX,QAAQ,EAAEU,KAAK,EAAET,OAAO,CAAC,EAAAW,UAAA,aAFrEJ,eAAA,CAAAK,GAAA,CACOC,eAAA,CAAAC,aAAA,CAAAH,UAAA,YAAkD,EAAAA,UAAA,aADzDJ,eAAA,CAAAQ,OAAA,CAAGX,QAAQ,EAAAO,UAAA,WAAC,CAC8C,CACY,EACtE,CAAC,CAACZ,QAAQ,EAAEU,KAAK,CAAC,KAAKO,YAAY,CAACjB,QAAQ,EAAEU,KAAK,EAAER,SAAS,CAAC,EAC/D,CAAC,CAACF,QAAQ,EAAEU,KAAK,CAAC,KAAIF,eAAA,CAAAU,QAAA,CAAAC,eAAA,CAAAC,QAAA,CAMfV,KAAK,EAAAE,UAAA,cAAAA,UAAA,aALVJ,eAAA,CAAAQ,OAAA,CAAG,MAAK;IACNhB,QAAQ,CAACqB,kBAAkB,EAAE;IAC7B,IAAI,QAAQ,IAAIrB,QAAQ,IAAI,CAACA,QAAQ,CAACsB,MAAM,EAAE;MAC5CtB,QAAQ,CAACuB,OAAO,EAAE;IACpB;EACF,CAAC,EAAAX,UAAA,WAAC,CAAiB,CACtB;AACH;AAEA,SAASD,aAAaA,CACpBX,QAAiD,EACjDU,KAAyC,EACzCT,OAA8B;EAE9B,OAAOO,eAAA,CAAAQ,OAAA,CAAG,MAAK;IACbhB,QAAQ,CAACwB,EAAE,CAAC,UAAU,EAAE,MAAK;MAC3B,MAAMC,IAAI,GAAAN,eAAA,CAAAO,UAAA,CAAGhB,KAAK,EAAAE,UAAA,YAAW;MAC7B,IAAIe,eAAA,CAAAC,MAAA,CAAAH,IAAI,CAAS,IAAIA,IAAI,CAACI,KAAK,IAAI,CAAC,EAAE;QACpCC,eAAA,CAAAC,SAAA,CAAAZ,eAAA,CAAAa,KAAA,CAAYC,eAAA,CAAAC,KAAA,CAAa,KAAK,CAAC,EAAAtB,UAAA,YAAC,EAAAA,UAAA,aAAhCF,KAAK,CAA4B;MACnC;IACF,CAAC,CAAC;IACFV,QAAQ,CAACwB,EAAE,CAAC,OAAO,EAAGW,GAAG,IAAI;MAC3BhB,eAAA,CAAAiB,WAAA,CAAkBH,eAAA,CAAAI,IAAA,CAAYC,eAAA,CAAAC,IAAA,CAAUtC,OAAO,CAACkC,GAAG,CAAC,EAAAvB,UAAA,YAAC,EAAAA,UAAA,YAAC,EAAAA,UAAA,aAAtDF,KAAK,CAAkD;IACzD,CAAC,CAAC;IACFV,QAAQ,CAACwB,EAAE,CAAC,KAAK,EAAE,MAAK;MACtBL,eAAA,CAAAiB,WAAA,CAAkBH,eAAA,CAAAI,IAAA,CAAAC,eAAA,CAAAE,IAAA,EAAA5B,UAAA,YAAsB,EAAAA,UAAA,aAAxCF,KAAK,CAAoC;IAC3C,CAAC,CAAC;IACF,IAAIV,QAAQ,CAACA,QAAQ,EAAE;MACrBmB,eAAA,CAAAiB,WAAA,CAAkBH,eAAA,CAAAC,KAAA,CAAa,KAAK,CAAC,EAAAtB,UAAA,YAAC,EAAAA,UAAA,aAAtCF,KAAK,CAAkC;IACzC;EACF,CAAC,EAAAE,UAAA,YAAC;AACJ;AAEA,SAASK,YAAYA,CACnBjB,QAAiD,EACjDU,KAAyC,EACzCR,SAA6B;EAE7B,MAAMuC,IAAI,GAAGC,gBAAgB,CAAI1C,QAAQ,EAAEE,SAAS,CAAC;EACrD,MAAMyC,IAAI,GAAmEC,eAAA,CAAAC,OAAA,CAC1EC,MAAM,IACLC,gBAAA,CAAAC,KAAA,CACGC,IAAI,IACHC,gBAAA,CAAAF,KAAA,CACGG,KAAK,IAAKP,eAAA,CAAAQ,YAAA,CAAqBD,KAAK,CAAC,EACtC,MAAK7C,eAAA,CAAAkC,IAAa,EAFpBS,IAAI,CAGH,EACH,MAAML,eAAA,CAAAC,OAAA,CAAa,MAAMF,IAAI,EAAvBF,IAAI,CAAoB,EANhCK,MAAM,CAOL,EATwExC,eAAA,CAAA+C,MAAA,OAAAlC,eAAA,CAAAmC,IAAA,CAAe5C,KAAK,EAAAE,UAAA,cAAM,CAUtG;EACD,OAAO+B,IAAI;AACb;AAEA,SAASD,gBAAgBA,CAAI1C,QAAiD,EAAEE,SAA6B;EAC3G,OAAOI,eAAA,CAAAiD,KAAA,CAAc,MAAK;IACxB,MAAMC,GAAG,GAAa,EAAE;IACxB,IAAIC,KAAK,GAAazD,QAAQ,CAACyC,IAAI,CAACvC,SAAS,CAAC;IAC9C,OAAOuD,KAAK,KAAK,IAAI,EAAE;MACrBD,GAAG,CAACE,IAAI,CAACD,KAAK,CAAC;MACfA,KAAK,GAAGzD,QAAQ,CAACyC,IAAI,CAACvC,SAAS,CAAC;IAClC;IACA,OAAOI,eAAA,CAAAqD,KAAA,OAAcC,gBAAA,CAAAC,SAAA,CAAeL,GAAG,CAAC,CAAC;EAC3C,CAAC,CAAC;AACJ;AAOM,SAAUM,YAAYA,CAC1BC,QAAuD,EACvD9D,OAA8B,EAC9B+D,OAA6B;EAE7B,OAAOC,gBAAA,CAAAC,WAAA,CAAiBC,mBAAmB,CAACJ,QAAQ,EAAE9D,OAAO,EAAE+D,OAAO,CAAC,EAAApD,UAAA,aAAC;AAC1E;AAEM,SAAUuD,mBAAmBA,CACjCJ,QAAuD,EACvD9D,OAA+B,EAC/B+D,OAA6B;EAE7B,OAAOpB,eAAA,CAAAC,OAAA,CAAuE,CAAC,CAACkB,QAAQ,EAAEK,MAAM,CAAC,KAC/F9D,eAAA,CAAA+D,UAAA,CACEC,UAAU,CAAQP,QAAQ,EAAGZ,KAAK,IAAKoB,gBAAA,CAAAC,SAAA,CAAiBrB,KAAK,EAAAvC,UAAA,cAAtBwD,MAAM,CAAiB,EAAEJ,OAAO,EAAEO,gBAAA,CAAAE,OAAA,CAAAjE,eAAA,CAAAgC,IAAA,EAAA5B,UAAA,cAAAwD,MAAM,CAAiB,CAAC,EADnGM,cAAc,CAACX,QAAQ,EAAEK,MAAM,EAAEnE,OAAO,CAAC,CAExC,EAHIK,eAAA,CAAA+C,MAAA,OAAe7C,eAAA,CAAAK,GAAA,CAAiB8D,gBAAA,CAAAC,IAAA,CAAAhE,UAAA,aAA4B,EAAAA,UAAA,cAA7CJ,eAAA,CAAAQ,OAAA,CAAG+C,QAAQ,EAAAnD,UAAA,aAAC,CAAkC,CAAC,CAIpE;AACH;AAEA,SAAS0D,UAAUA,CACjBP,QAAiD,EACjDc,SAA0C,EAC1C;EAAEC,QAAQ;EAAEC,SAAS,GAAG;AAAI,IAA0B,EAAE,EACxDC,MAAM,GAAAxE,eAAA,CAAAgC,IAAU;EAEhB,MAAMmB,KAAK,GAAGsB,OAAO,CAAClB,QAAQ,EAAEe,QAAQ,CAAC;EACzC,MAAMI,KAAK,GAAGH,SAAS,GACnBvE,eAAA,CAAA2E,KAAA,CAA8BC,MAAM,IAAI;IACtC,IAAI,QAAQ,IAAIrB,QAAQ,IAAIA,QAAQ,CAACzC,MAAM,EAAE;MAC3C8D,MAAM,CAAA5E,eAAA,CAAAgC,IAAA,CAAS;IACjB,CAAC,MAAM;MACLuB,QAAQ,CAACsB,IAAI,CAAC,QAAQ,EAAE,MAAMD,MAAM,CAAA5E,eAAA,CAAAgC,IAAA,CAAS,CAAC;IAChD;EACF,CAAC,CAAC,GACHhC,eAAA,CAAAgC,IAAQ;EAEX,OAAO;IACL8C,SAAS,EAAA9E,eAAA,CAAAgC,IAAS;IAClB+C,IAAI,EAAE5B,KAAK;IACX/D,KAAK,EAAGuD,KAAK,IAAI3C,eAAA,CAAAU,QAAA,CAAS2D,SAAS,CAAC1B,KAAK,CAAC,EAAAvC,UAAA,cAAxBsE,KAAK,CAAmB;IAC1CM,IAAI,EAAGC,CAAC,IAAIjF,eAAA,CAAAU,QAAA,CAAS8D,MAAM,EAAApE,UAAA,cAAdsE,KAAK;GACnB;AACH;AAEA,SAASD,OAAOA,CAAIlB,QAAiD,EAAEe,QAAyB;EAC9F,OAAQrB,KAAc,IAAI;IACxB,IAAIA,KAAK,CAACiC,MAAM,KAAK,CAAC,EAAE;MACtB,OAAAlF,eAAA,CAAAgC,IAAA;IACF,CAAC,MAAM;MACL,OAAOhC,eAAA,CAAA2E,KAAA,CAA8BC,MAAM,IAAI;QAC7C,MAAMO,QAAQ,GAAGlC,KAAK,CAACmC,MAAM,CAACD,QAAQ,CAAC,EAAE;QACzC,MAAME,IAAI,GAAOF,QAAQ,CAACE,IAAI,EAAE;QAChC,SAASlD,IAAIA,CAAA;UACX,MAAMmD,IAAI,GAAMD,IAAI;UACpB,MAAME,OAAO,GAAGhC,QAAQ,CAACJ,KAAK,CAACmC,IAAI,CAACjE,KAAK,EAAEiD,QAAe,CAAC;UAC3D,IAAIe,IAAI,CAACL,IAAI,EAAE;YACbJ,MAAM,CAAA5E,eAAA,CAAAgC,IAAA,CAAS;UACjB,CAAC,MAAM,IAAIuD,OAAO,EAAE;YAClBpD,IAAI,EAAE;UACR,CAAC,MAAM;YACLoB,QAAQ,CAACsB,IAAI,CAAC,OAAO,EAAE1C,IAAI,CAAC;UAC9B;QACF;QACAA,IAAI,EAAE;MACR,CAAC,CAAC;IACJ;EACF,CAAC;AACH;AAEA,SAAS+B,cAAcA,CACrBX,QAAiD,EACjDK,MAA6B,EAC7BnE,OAA+B;EAE/B,OAAOK,eAAA,CAAA+C,MAAA,OACL7C,eAAA,CAAA+C,KAAA,CAAS,MAAK;IACZ,SAASyC,WAAWA,CAAC7D,GAAY;MAC/BoC,gBAAA,CAAA0B,UAAA,CAAkBzF,eAAA,CAAA0F,OAAA,CAAWjG,OAAO,CAACkC,GAAG,CAAC,EAAAvB,UAAA,aAAC,EAAAA,UAAA,cAA1CwD,MAAM,CAAqC;IAC7C;IACAL,QAAQ,CAACvC,EAAE,CAAC,OAAO,EAAEwE,WAAW,CAAC;IACjC,OAAOG,gBAAA,CAAAC,QAAA,CAAsB5F,eAAA,CAAAQ,OAAA,OAAG+C,QAAQ,CAACsC,cAAc,CAAC,OAAO,EAAEL,WAAW,CAAC,EAAApF,UAAA,aAAC,EAAAA,UAAA,cAAA2D,gBAAA,CAAA+B,IAAA,CAAvElC,MAAM,EAAAxD,UAAA,cAAkE;EACjF,CAAC,EAAAA,UAAA,aAAC,CACH;AACH;AAEM,MAAO2F,cAAc;EAEzB5G,YAAqBC,KAAY;IAAZ,KAAAA,KAAK,GAALA,KAAK;IADjB,KAAAC,IAAI,GAAG,gBAAgB;EACI;;AAGtC;;;AAAAC,OAAA,CAAAyG,cAAA,GAAAA,cAAA;AAGM,SAAUC,SAASA,CAACA,SAAiC;EACzD,OAAcC,IAAwB,IAAyC;IAC7E,MAAMC,UAAU,GAAGlG,eAAA,CAAAmG,GAAA,CAEXH,SAAS,IAAI;MACjB,MAAMI,YAAY,GAAGpG,eAAA,CAAAQ,OAAA,OAAWwF,SAAS,CAACK,GAAG,EAAE,EAAAjG,UAAA,aAAC;MAChD,MAAMkG,MAAM,GAAiFxG,eAAA,CAAAyG,QAAA,CAC1FC,GAAe,IACd1G,eAAA,CAAA2G,MAAA,OACEzG,eAAA,CAAA2E,KAAA,CAAgD+B,EAAE,IAAI;QACpDV,SAAS,CAAC7C,KAAK,CAAAwD,gBAAA,CAAAC,QAAA,CAACJ,GAAG,GAAY7E,GAAG,IAAI;UACpCA,GAAG,GAAG+E,EAAE,CAAC1G,eAAA,CAAA0F,OAAA,CAAW,IAAIK,cAAc,CAACpE,GAAG,CAAC,EAAAvB,UAAA,aAAC,CAAC,GAAGJ,eAAA,CAAA6G,UAAA,CAAcP,MAAM,EAAAlG,UAAA,aAAC;QACvE,CAAC,CAAC;MACJ,CAAC,CAAC,CACH,EACFuB,GAAG,IAAK7B,eAAA,CAAA2G,MAAA,OAAezG,eAAA,CAAAmG,GAAA,CAAiB,MAAMrG,eAAA,CAAA4F,OAAA,CAAgB/D,GAAG,CAAC,EAAAvB,UAAA,cAA3CgG,YAAY,CAAgC,CAAC,EACrE,MAAMtG,eAAA,CAAA2G,MAAA,OAAezG,eAAA,CAAAmG,GAAA,CAAiB,MAAKrG,eAAA,CAAAkC,IAAa,EAAA5B,UAAA,cAAnCgG,YAAY,CAAwB,CAAC,CAC3D;MACD,OAAO,CAACJ,SAAS,EAAE,IAAAc,gBAAA,CAAIC,IAAI,CAACT,MAAM,CAAC,CAAU;IAC/C,CAAC,EAAAlG,UAAA,cAjBgB4G,gBAAA,CAAAC,cAAA,OAAAjH,eAAA,CAAAQ,OAAA,CAAWwF,SAAS,EAAA5F,UAAA,aAAC,EACrB4F,SAAS,IAAKhG,eAAA,CAAAQ,OAAA,OAAWwF,SAAS,CAACjF,OAAO,EAAE,EAAAX,UAAA,aAAC,EAAAA,UAAA,aAAC,CAgB7D;IACJ,OAAO8G,gBAAA,CAAA7E,OAAA,CAAkC,CAAC,CAAC2D,SAAS,EAAEmB,IAAI,CAAC,KACzDD,gBAAA,CAAAtB,QAAA,CAYW5F,eAAA,CAAAQ,OAAA,OAAGwF,SAAS,CAACnF,kBAAkB,EAAE,EAAAT,UAAA,aAAC,EAAAA,UAAA,cAZ7C8G,gBAAA,CAAAE,OAAA,CAAoEV,EAAE,IACpE1G,eAAA,CAAAU,QAAA,CAUYwG,gBAAA,CAAAG,GAAA,CAASF,IAAI,EAAA/G,UAAA,cAAb6F,IAAI,CAAU,EAAA7F,UAAA,cAV1BJ,eAAA,CAAAQ,OAAA,CAAW,MAAK;MACdwF,SAAS,CAAChF,EAAE,CAAC,MAAM,EAAGiC,KAAK,IAAI;QAC7ByD,EAAE,CAAC1G,eAAA,CAAAQ,OAAA,OAAW8G,gBAAA,CAAAC,UAAA,CAAgBtE,KAAK,CAAC,EAAA7C,UAAA,aAAC,CAAC;MACxC,CAAC,CAAC;MACF4F,SAAS,CAAChF,EAAE,CAAC,OAAO,EAAGW,GAAG,IAAI;QAC5B+E,EAAE,CAAC1G,eAAA,CAAA0F,OAAA,CAAW8B,gBAAA,CAAAC,IAAA,CAAK,IAAI1B,cAAc,CAACpE,GAAG,CAAC,EAAAvB,UAAA,aAAC,EAAAA,UAAA,aAAC,CAAC;MAC/C,CAAC,CAAC;MACF4F,SAAS,CAAChF,EAAE,CAAC,KAAK,EAAE,MAAK;QACvB0F,EAAE,CAAC1G,eAAA,CAAA0F,OAAA,CAAW8B,gBAAA,CAAAE,OAAA,CAAAtH,UAAA,aAAS,EAAAA,UAAA,aAAC,CAAC;MAC3B,CAAC,CAAC;IACJ,CAAC,EAAAA,UAAA,aAAC,CAAyB,CAC5B,CAA6C,EAAAA,UAAA,cAbzC8G,gBAAA,CAAAS,MAAA,OAAczB,UAAU,EAAA9F,UAAA,aAAC,CAc/B;EACH,CAAC;AACH;AAEM,SAAUwH,QAAQA,CACtBpI,QAAuD,EACvD6E,SAAgC,EAChCb,OAGC;EAED,MAAMqE,QAAQ,GAAGrE,OAAO,EAAEqE,QAAQ,GAAGC,MAAM,CAACtE,OAAO,CAACqE,QAAQ,CAAC,GAAGE,SAAS;EACzE,OAAAC,gBAAA,CAAAL,MAAA,CAAO3H,eAAA,CAAAqC,OAAA,CAaK4F,MAAM,IACdjI,eAAA,CAAA2E,KAAA,CAA4BC,MAAM,IAAI;IACpC,IAAIsD,MAAM,GAAG,EAAE;IACf,IAAIC,KAAK,GAAI,CAAC;IACdF,MAAM,CAACpD,IAAI,CAAC,OAAO,EAAGlD,GAAG,IAAI;MAC3BiD,MAAM,CAAC5E,eAAA,CAAA0F,OAAA,CAAWrB,SAAS,CAAC1C,GAAG,CAAC,EAAAvB,UAAA,aAAC,CAAC;IACpC,CAAC,CAAC;IACF6H,MAAM,CAACpD,IAAI,CAAC,KAAK,EAAE,MAAK;MACtBD,MAAM,CAAC5E,eAAA,CAAA6G,UAAA,CAAcqB,MAAM,EAAA9H,UAAA,aAAC,CAAC;IAC/B,CAAC,CAAC;IACF6H,MAAM,CAACjH,EAAE,CAAC,MAAM,EAAGiC,KAAK,IAAI;MAC1BiF,MAAM,IAAIjF,KAAK;MACfkF,KAAK,IAAKC,MAAM,CAACC,UAAU,CAACpF,KAAK,CAAC;MAClC,IAAI4E,QAAQ,IAAIM,KAAK,GAAGN,QAAQ,EAAE;QAChCjD,MAAM,CAAC5E,eAAA,CAAA0F,OAAA,CAAWrB,SAAS,CAAC,IAAIiE,KAAK,CAAC,mBAAmB,CAAC,CAAC,EAAAlI,UAAA,aAAC,CAAC;MAC/D;IACF,CAAC,CAAC;EACJ,CAAC,CAAC,EAAAA,UAAA,cA9BC4G,gBAAA,CAAAC,cAAA,OAAAjH,eAAA,CAAAQ,OAAA,CAAG,MAAK;IACb,MAAMyH,MAAM,GAAGzI,QAAQ,EAAE;IACzByI,MAAM,CAACM,WAAW,CAAC/E,OAAO,EAAEc,QAAQ,IAAI,MAAM,CAAC;IAC/C,OAAO2D,MAAM;EACf,CAAC,EAAA7H,UAAA,aAAC,EACiB6H,MAAM,IACrBjI,eAAA,CAAAQ,OAAA,CAAG,MAAK;IACNyH,MAAM,CAACpH,kBAAkB,EAAE;IAC3B,IAAI,QAAQ,IAAIoH,MAAM,IAAI,CAACA,MAAM,CAACnH,MAAM,EAAE;MACxCmH,MAAM,CAAClH,OAAO,EAAE;IAClB;EACF,CAAC,EAAAX,UAAA,YAAC,EAAAA,UAAA,aACH,CAmBA,EAAAA,UAAA;AACL;AAEM,SAAUoI,YAAYA,CAC1BhJ,QAAuD,EACvD6E,SAAgC,EAChCb,OAAA,GAEI,EAAE;EAEN,MAAMqE,QAAQ,GAAGrE,OAAO,CAACqE,QAAQ,GAAGC,MAAM,CAACtE,OAAO,CAACqE,QAAQ,CAAC,GAAGE,SAAS;EACxE,OAAAC,gBAAA,CAAAL,MAAA,CAAO3H,eAAA,CAAAqC,OAAA,CASK4F,MAAM,IACdjI,eAAA,CAAA2E,KAAA,CAAgCC,MAAM,IAAI;IACxC,IAAI6D,MAAM,GAAGL,MAAM,CAACM,KAAK,CAAC,CAAC,CAAC;IAC5B,IAAIP,KAAK,GAAI,CAAC;IACdF,MAAM,CAACpD,IAAI,CAAC,OAAO,EAAGlD,GAAG,IAAI;MAC3BiD,MAAM,CAAC5E,eAAA,CAAA0F,OAAA,CAAWrB,SAAS,CAAC1C,GAAG,CAAC,EAAAvB,UAAA,aAAC,CAAC;IACpC,CAAC,CAAC;IACF6H,MAAM,CAACpD,IAAI,CAAC,KAAK,EAAE,MAAK;MACtBD,MAAM,CAAC5E,eAAA,CAAA6G,UAAA,CAAc4B,MAAM,EAAArI,UAAA,aAAC,CAAC;IAC/B,CAAC,CAAC;IACF6H,MAAM,CAACjH,EAAE,CAAC,MAAM,EAAGiC,KAAK,IAAI;MAC1BwF,MAAM,GAAGL,MAAM,CAACO,MAAM,CAAC,CAACF,MAAM,EAAExF,KAAK,CAAC,CAAC;MACvCkF,KAAK,IAAIlF,KAAK,CAACiC,MAAM;MACrB,IAAI2C,QAAQ,IAAIM,KAAK,GAAGN,QAAQ,EAAE;QAChCjD,MAAM,CAAC5E,eAAA,CAAA0F,OAAA,CAAWrB,SAAS,CAAC,IAAIiE,KAAK,CAAC,mBAAmB,CAAC,CAAC,EAAAlI,UAAA,aAAC,CAAC;MAC/D;IACF,CAAC,CAAC;EACJ,CAAC,CAAC,EAAAA,UAAA,cA1BC4G,gBAAA,CAAAC,cAAA,OAAAjH,eAAA,CAAAQ,OAAA,CAAGhB,QAAQ,EAAAY,UAAA,aAAC,EACA6H,MAAM,IACrBjI,eAAA,CAAAQ,OAAA,CAAG,MAAK;IACNyH,MAAM,CAACpH,kBAAkB,EAAE;IAC3B,IAAI,QAAQ,IAAIoH,MAAM,IAAI,CAACA,MAAM,CAACnH,MAAM,EAAE;MACxCmH,MAAM,CAAClH,OAAO,EAAE;IAClB;EACF,CAAC,EAAAX,UAAA,YAAC,EAAAA,UAAA,aACH,CAmBA,EAAAA,UAAA;AACL"}
|
@@ -0,0 +1,50 @@
|
|
1
|
+
const fileName_1 = "(@fncts/node) src/http/IncomingMessage.ts";
|
2
|
+
import * as tsplus_module_1 from "@fncts/http/Headers";
|
3
|
+
import * as tsplus_module_2 from "@fncts/base/data/Maybe/constructors";
|
4
|
+
import * as tsplus_module_3 from "@fncts/io/IO/api/memoize";
|
5
|
+
import * as tsplus_module_4 from "@fncts/io/IO/runtime";
|
6
|
+
import * as tsplus_module_5 from "@fncts/base/data/Exit/api";
|
7
|
+
import * as tsplus_module_6 from "@fncts/io/IO/api";
|
8
|
+
import * as tsplus_module_7 from "@fncts/http/UrlParams";
|
9
|
+
import { Headers } from "@fncts/http/Headers";
|
10
|
+
import { IncomingMessage } from "@fncts/http/IncomingMessage";
|
11
|
+
import { UrlParams } from "@fncts/http/UrlParams";
|
12
|
+
import * as NodeStream from "../stream.mjs";
|
13
|
+
export class IncomingMessageImpl extends IncomingMessage {
|
14
|
+
constructor(source, onError, remoteAddressOverride) {
|
15
|
+
super();
|
16
|
+
this.source = source;
|
17
|
+
this.onError = onError;
|
18
|
+
this.remoteAddressOverride = remoteAddressOverride;
|
19
|
+
}
|
20
|
+
get headers() {
|
21
|
+
return tsplus_module_1.make(this.source.headers);
|
22
|
+
}
|
23
|
+
get remoteAddress() {
|
24
|
+
return tsplus_module_2.fromNullable(this.remoteAddressOverride ?? this.source.socket.remoteAddress);
|
25
|
+
}
|
26
|
+
get text() {
|
27
|
+
if (this.textIO) {
|
28
|
+
return this.textIO;
|
29
|
+
}
|
30
|
+
this.textIO = tsplus_module_5.getOrThrow(tsplus_module_4.unsafeRun(tsplus_module_3.memoize(NodeStream.toString(() => this.source, this.onError), fileName_1 + ":33:65")));
|
31
|
+
return this.textIO;
|
32
|
+
}
|
33
|
+
get json() {
|
34
|
+
return tsplus_module_6.flatMap(text => tsplus_module_6.tryCatch(() => JSON.parse(text), this.onError, fileName_1 + ":39:51"), fileName_1 + ":39:29")(this.text);
|
35
|
+
}
|
36
|
+
get urlParamsBody() {
|
37
|
+
return tsplus_module_6.flatMap(text => tsplus_module_6.tryCatch(() => tsplus_module_7.make(new URLSearchParams(text)), this.onError, fileName_1 + ":43:51"), fileName_1 + ":43:29")(this.text);
|
38
|
+
}
|
39
|
+
get arrayBuffer() {
|
40
|
+
if (this.arrayBufferIO) {
|
41
|
+
return this.arrayBufferIO;
|
42
|
+
}
|
43
|
+
this.arrayBufferIO = tsplus_module_5.getOrThrow(tsplus_module_4.unsafeRun(tsplus_module_3.memoize(NodeStream.toUint8Array(() => this.source, this.onError), fileName_1 + ":52:76")));
|
44
|
+
return this.arrayBufferIO;
|
45
|
+
}
|
46
|
+
get stream() {
|
47
|
+
return NodeStream.fromReadable(() => this.source, this.onError);
|
48
|
+
}
|
49
|
+
}
|
50
|
+
//# sourceMappingURL=IncomingMessage.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"IncomingMessage.mjs","names":["Headers","IncomingMessage","UrlParams","NodeStream","IncomingMessageImpl","constructor","source","onError","remoteAddressOverride","headers","tsplus_module_1","make","remoteAddress","tsplus_module_2","fromNullable","socket","text","textIO","tsplus_module_5","getOrThrow","tsplus_module_4","unsafeRun","tsplus_module_3","memoize","toString","fileName_1","json","tsplus_module_6","flatMap","tryCatch","JSON","parse","urlParamsBody","tsplus_module_7","URLSearchParams","arrayBuffer","arrayBufferIO","toUint8Array","stream","fromReadable"],"sources":["../../_src/http/IncomingMessage.ts"],"sourcesContent":[null],"mappings":";;;;;;;;AAGA,SAASA,OAAO,QAAQ,qBAAqB;AAC7C,SAASC,eAAe,QAAQ,6BAA6B;AAC7D,SAASC,SAAS,QAAQ,uBAAuB;AAEjD,OAAO,KAAKC,UAAU,MAAM,eAAc;AAE1C,OAAM,MAAgBC,mBAAuB,SAAQH,eAAkB;EACrEI,YACWC,MAA4B,EAC5BC,OAA8B,EAC9BC,qBAA8B;IAEvC,KAAK,EAAE;IAJE,KAAAF,MAAM,GAANA,MAAM;IACN,KAAAC,OAAO,GAAPA,OAAO;IACP,KAAAC,qBAAqB,GAArBA,qBAAqB;EAGhC;EAEA,IAAIC,OAAOA,CAAA;IACT,OAAOC,eAAA,CAAAC,IAAA,CAAQ,IAAI,CAACL,MAAM,CAACG,OAAc,CAAC;EAC5C;EAEA,IAAIG,aAAaA,CAAA;IACf,OAAOC,eAAA,CAAAC,YAAA,CAAmB,IAAI,CAACN,qBAAqB,IAAI,IAAI,CAACF,MAAM,CAACS,MAAM,CAACH,aAAa,CAAC;EAC3F;EAGA,IAAII,IAAIA,CAAA;IACN,IAAI,IAAI,CAACC,MAAM,EAAE;MACf,OAAO,IAAI,CAACA,MAAM;IACpB;IAEA,IAAI,CAACA,MAAM,GAAAC,eAAA,CAAAC,UAAA,CAAAC,eAAA,CAAAC,SAAA,CAAAC,eAAA,CAAAC,OAAA,CAAGpB,UAAU,CAACqB,QAAQ,OAAC,IAAI,CAAClB,MAAM,EAAE,IAAI,CAACC,OAAO,CAAC,EAAAkB,UAAA,cAA6B;IAEzF,OAAO,IAAI,CAACR,MAAM;EACpB;EAEA,IAAIS,IAAIA,CAAA;IACN,OAAOC,eAAA,CAAAC,OAAA,CAAmBZ,IAAI,IAAKW,eAAA,CAAAE,QAAA,CAAY,MAAMC,IAAI,CAACC,KAAK,CAACf,IAAI,CAAC,EAAE,IAAI,CAACT,OAAO,EAAAkB,UAAA,YAAC,EAAAA,UAAA,aAA7E,IAAI,CAACT,IAAI,CAAqE;EACvF;EAEA,IAAIgB,aAAaA,CAAA;IACf,OAAOL,eAAA,CAAAC,OAAA,CAAmBZ,IAAI,IAAKW,eAAA,CAAAE,QAAA,CAAY,MAAMI,eAAA,CAAAtB,IAAA,CAAU,IAAIuB,eAAe,CAAClB,IAAI,CAAC,CAAC,EAAE,IAAI,CAACT,OAAO,EAAAkB,UAAA,YAAC,EAAAA,UAAA,aAAjG,IAAI,CAACT,IAAI,CAAyF;EAC3G;EAGA,IAAImB,WAAWA,CAAA;IACb,IAAI,IAAI,CAACC,aAAa,EAAE;MACtB,OAAO,IAAI,CAACA,aAAa;IAC3B;IAEA,IAAI,CAACA,aAAa,GAAAlB,eAAA,CAAAC,UAAA,CAAAC,eAAA,CAAAC,SAAA,CAAAC,eAAA,CAAAC,OAAA,CAAGpB,UAAU,CAACkC,YAAY,OAAC,IAAI,CAAC/B,MAAM,EAAE,IAAI,CAACC,OAAO,CAAC,EAAAkB,UAAA,cAA6B;IAEpG,OAAO,IAAI,CAACW,aAAa;EAC3B;EAEA,IAAIE,MAAMA,CAAA;IACR,OAAOnC,UAAU,CAACoC,YAAY,OAAgB,IAAI,CAACjC,MAAM,EAAE,IAAI,CAACC,OAAO,CAAC;EAC1E"}
|
@@ -0,0 +1,198 @@
|
|
1
|
+
const fileName_1 = "(@fncts/node) src/http/Server.ts";
|
2
|
+
import * as tsplus_module_1 from "@fncts/io/IO/api";
|
3
|
+
import * as tsplus_module_2 from "@fncts/io/IO/api/addFinalizer";
|
4
|
+
import * as tsplus_module_3 from "@fncts/http/Server";
|
5
|
+
import * as tsplus_module_4 from "@fncts/io/IO/api/acquireRelease";
|
6
|
+
import * as tsplus_module_5 from "@fncts/io/Scope/api";
|
7
|
+
import * as tsplus_module_6 from "@fncts/io/IO/api/memoize";
|
8
|
+
import * as tsplus_module_7 from "@fncts/io/IO/api/scope";
|
9
|
+
import * as tsplus_module_8 from "@fncts/base/data/Exit/definition";
|
10
|
+
import * as tsplus_module_9 from "@fncts/http/HttpApp";
|
11
|
+
import * as tsplus_module_10 from "@fncts/http/ServerRequest/definition";
|
12
|
+
import * as tsplus_module_11 from "@fncts/io/IO/api/environment";
|
13
|
+
import * as tsplus_module_12 from "@fncts/io/IO/runtime";
|
14
|
+
import * as tsplus_module_13 from "@fncts/io/FiberSet";
|
15
|
+
import * as tsplus_module_14 from "@fncts/http/Socket";
|
16
|
+
import * as tsplus_module_15 from "@fncts/base/data/Cause/api";
|
17
|
+
import * as tsplus_module_16 from "@fncts/http/Body/definition";
|
18
|
+
import * as tsplus_module_17 from "@fncts/io/Stream/api";
|
19
|
+
export const makeHandler = makeHandler_1;
|
20
|
+
import { ResponseError } from "@fncts/http/ResponseError";
|
21
|
+
import { Server } from "@fncts/http/Server";
|
22
|
+
import { clientAbortFiberId, ServeError } from "@fncts/http/ServerError";
|
23
|
+
import { ServerRequestImpl } from "@fncts/node/http/ServerRequest";
|
24
|
+
import * as NodeStream from "@fncts/node/stream";
|
25
|
+
import * as Http from "node:http";
|
26
|
+
import { Readable } from "node:stream";
|
27
|
+
import { pipeline } from "node:stream/promises";
|
28
|
+
import * as ws from "ws";
|
29
|
+
/**
|
30
|
+
* @tsplus static fncts.node.http.ServerOps make
|
31
|
+
*/
|
32
|
+
export function make(evaluate, options) {
|
33
|
+
return tsplus_module_1.flatMap(scope => tsplus_module_1.flatMap(server => tsplus_module_1.flatMap(() => {
|
34
|
+
const address = server.address();
|
35
|
+
return tsplus_module_1.map(wss => tsplus_module_3.make({
|
36
|
+
address: typeof address === "string" ? {
|
37
|
+
_tag: "UnixAddress",
|
38
|
+
path: address
|
39
|
+
} : {
|
40
|
+
_tag: "TcpAddress",
|
41
|
+
hostname: address.address === "::" ? "0.0.0.0" : address.address,
|
42
|
+
port: address.port
|
43
|
+
},
|
44
|
+
serve: (httpApp, middleware) => tsplus_module_1.flatMap(handler => tsplus_module_1.flatMap(upgradeHandler => tsplus_module_1.flatMap(() => tsplus_module_1.flatMap(() => tsplus_module_1.map(() => void 0, fileName_1 + ":93:12")(tsplus_module_1.succeed(() => server.on("upgrade", upgradeHandler), fileName_1 + ":93:15")), fileName_1 + ":92:12")(tsplus_module_1.succeed(() => server.on("request", handler), fileName_1 + ":92:15")), fileName_1 + ":84:12")(tsplus_module_2.addFinalizer(() => tsplus_module_1.succeed(() => {
|
45
|
+
server.off("request", handler);
|
46
|
+
server.off("upgrade", upgradeHandler);
|
47
|
+
}, fileName_1 + ":86:17"), fileName_1 + ":85:28")), fileName_1 + ":83:35")(makeUpgradeHandler(wss, httpApp, middleware)), fileName_1 + ":82:35")(makeHandler_1(httpApp, middleware))
|
48
|
+
}), fileName_1 + ":61:18")(tsplus_module_6.memoize(tsplus_module_5.extend(() => tsplus_module_4.acquireRelease(() => tsplus_module_1.succeed(() => new ws.WebSocketServer({
|
49
|
+
noServer: true
|
50
|
+
}), fileName_1 + ":63:29"), wss => tsplus_module_1.async(resume => {
|
51
|
+
wss.close(() => resume(tsplus_module_1.unit));
|
52
|
+
}), fileName_1 + ":63:26"), fileName_1 + ":62:19")(scope), fileName_1 + ":68:8"));
|
53
|
+
}, fileName_1 + ":48:6")(tsplus_module_1.async(resume => {
|
54
|
+
server.on("error", error => {
|
55
|
+
resume(tsplus_module_1.failNow(new ServeError(error), fileName_1 + ":51:28"));
|
56
|
+
});
|
57
|
+
server.listen(options, () => {
|
58
|
+
resume(tsplus_module_1.unit);
|
59
|
+
});
|
60
|
+
})), fileName_1 + ":34:21")(tsplus_module_4.acquireRelease(() => tsplus_module_1.succeed(evaluate, fileName_1 + ":35:27"), server => tsplus_module_1.async(resume => {
|
61
|
+
server.close(error => {
|
62
|
+
if (error) {
|
63
|
+
resume(tsplus_module_1.haltNow(error, fileName_1 + ":39:32"));
|
64
|
+
} else {
|
65
|
+
resume(tsplus_module_1.unit);
|
66
|
+
}
|
67
|
+
});
|
68
|
+
}), fileName_1 + ":35:24")), fileName_1 + ":32:20")(tsplus_module_7.scope);
|
69
|
+
}
|
70
|
+
function makeHandler_1(httpApp, middleware) {
|
71
|
+
const handledApp = tsplus_module_9.toHandled((request, exit) => {
|
72
|
+
if (tsplus_module_8.isSuccess(exit)) {
|
73
|
+
return tsplus_module_1.catchAllCause(cause => handleCause(request, cause), fileName_1 + ":127:63")(handleResponse(request, exit.value));
|
74
|
+
}
|
75
|
+
return handleCause(request, exit.cause);
|
76
|
+
}, middleware)(httpApp);
|
77
|
+
return tsplus_module_1.map(runFork => {
|
78
|
+
return function handler(nodeRequest, nodeResponse) {
|
79
|
+
const fiber = runFork(tsplus_module_11.provideSomeService(new ServerRequestImpl(nodeRequest, nodeResponse), tsplus_module_10.ServerRequestTag, fileName_1 + ":135:38")(handledApp));
|
80
|
+
nodeResponse.on("close", () => {
|
81
|
+
if (!nodeResponse.writableEnded) {
|
82
|
+
if (!nodeResponse.headersSent) {
|
83
|
+
nodeResponse.writeHead(499);
|
84
|
+
}
|
85
|
+
nodeResponse.end();
|
86
|
+
tsplus_module_12.unsafeRunOrFork(fiber.interruptAsFork(clientAbortFiberId));
|
87
|
+
}
|
88
|
+
});
|
89
|
+
};
|
90
|
+
}, fileName_1 + ":132:49")(tsplus_module_13.makeRuntime());
|
91
|
+
}
|
92
|
+
export function makeUpgradeHandler(wss, httpApp, middleware) {
|
93
|
+
const handledApp = tsplus_module_9.toHandled((request, exit) => {
|
94
|
+
if (tsplus_module_8.isSuccess(exit)) {
|
95
|
+
return tsplus_module_1.catchAllCause(cause => handleCause(request, cause), fileName_1 + ":161:63")(handleResponse(request, exit.value));
|
96
|
+
}
|
97
|
+
return handleCause(request, exit.cause);
|
98
|
+
}, middleware)(httpApp);
|
99
|
+
return tsplus_module_1.map(runFork => {
|
100
|
+
return function handler(nodeRequest, socket, head) {
|
101
|
+
let nodeResponse_ = undefined;
|
102
|
+
const nodeResponse = () => {
|
103
|
+
if (nodeResponse_ === undefined) {
|
104
|
+
nodeResponse_ = new Http.ServerResponse(nodeRequest);
|
105
|
+
nodeResponse_.assignSocket(socket);
|
106
|
+
}
|
107
|
+
return nodeResponse_;
|
108
|
+
};
|
109
|
+
const upgradeEffect = tsplus_module_14.fromWebSocket(tsplus_module_1.flatMap(wss => tsplus_module_4.acquireRelease(() => tsplus_module_1.async(resume => {
|
110
|
+
wss.handleUpgrade(nodeRequest, socket, head, ws => {
|
111
|
+
resume(tsplus_module_1.succeedNow(ws, fileName_1 + ":183:37"));
|
112
|
+
});
|
113
|
+
}), ws => tsplus_module_1.succeed(() => ws.close(), fileName_1 + ":186:23"), fileName_1 + ":180:28"), fileName_1 + ":179:20")(wss));
|
114
|
+
const fiber = runFork(tsplus_module_11.provideSomeService(new ServerRequestImpl(nodeRequest, nodeResponse, upgradeEffect), tsplus_module_10.ServerRequestTag, fileName_1 + ":192:38")(handledApp));
|
115
|
+
socket.on("close", () => {
|
116
|
+
const res = nodeResponse();
|
117
|
+
if (!socket.writableEnded) {
|
118
|
+
if (!res.headersSent) {
|
119
|
+
res.writeHead(499);
|
120
|
+
}
|
121
|
+
res.end();
|
122
|
+
tsplus_module_12.unsafeRunOrFork(fiber.interruptAsFork(clientAbortFiberId));
|
123
|
+
}
|
124
|
+
});
|
125
|
+
};
|
126
|
+
}, fileName_1 + ":166:49")(tsplus_module_13.makeRuntime());
|
127
|
+
}
|
128
|
+
function handleCause(request, cause) {
|
129
|
+
return tsplus_module_1.succeed(() => {
|
130
|
+
const nodeResponse = request.resolvedResponse;
|
131
|
+
if (!nodeResponse.headersSent) {
|
132
|
+
nodeResponse.writeHead(tsplus_module_15.isInterruptedOnly(cause) ? 503 : 500);
|
133
|
+
}
|
134
|
+
if (!nodeResponse.writableEnded) {
|
135
|
+
nodeResponse.end();
|
136
|
+
}
|
137
|
+
}, fileName_1 + ":213:12");
|
138
|
+
}
|
139
|
+
export function handleResponse(request, response) {
|
140
|
+
return tsplus_module_1.defer(() => {
|
141
|
+
const nodeResponse = request.resolvedResponse;
|
142
|
+
if (nodeResponse.writableEnded) {
|
143
|
+
return tsplus_module_1.unit;
|
144
|
+
} else if (request.method === "HEAD") {
|
145
|
+
nodeResponse.writeHead(response.status, response.headers.toHeadersInit());
|
146
|
+
nodeResponse.end();
|
147
|
+
return tsplus_module_1.unit;
|
148
|
+
}
|
149
|
+
tsplus_module_16.concrete(response.body);
|
150
|
+
switch (response.body._tag) {
|
151
|
+
case 0 /* BodyTag.Empty */:
|
152
|
+
{
|
153
|
+
nodeResponse.writeHead(response.status, response.headers.toHeadersInit());
|
154
|
+
nodeResponse.end();
|
155
|
+
return tsplus_module_1.unit;
|
156
|
+
}
|
157
|
+
case 1 /* BodyTag.Raw */:
|
158
|
+
{
|
159
|
+
nodeResponse.writeHead(response.status, response.headers.toHeadersInit());
|
160
|
+
if (typeof response.body.body === "object" && response.body.body !== null && "pipe" in response.body.body && typeof response.body.body.pipe === "function") {
|
161
|
+
return tsplus_module_1.fromPromiseCatch(() => pipeline(response.body.body, nodeResponse, {
|
162
|
+
end: true
|
163
|
+
}), error => new ResponseError(request, response, "Decode", error), fileName_1 + ":249:37");
|
164
|
+
}
|
165
|
+
nodeResponse.end(response.body.body);
|
166
|
+
return tsplus_module_1.unit;
|
167
|
+
}
|
168
|
+
case 2 /* BodyTag.Uint8Array */:
|
169
|
+
{
|
170
|
+
nodeResponse.writeHead(response.status, response.headers.toHeadersInit());
|
171
|
+
nodeResponse.end(response.body.body);
|
172
|
+
return tsplus_module_1.unit;
|
173
|
+
}
|
174
|
+
case 3 /* BodyTag.FormData */:
|
175
|
+
{
|
176
|
+
return tsplus_module_1.async(resume => {
|
177
|
+
const r = new Response(response.body.formData);
|
178
|
+
const headers = {
|
179
|
+
...response.headers,
|
180
|
+
...Object.fromEntries(r.headers)
|
181
|
+
};
|
182
|
+
nodeResponse.writeHead(response.status, headers);
|
183
|
+
Readable.fromWeb(r.body).pipe(nodeResponse).on("error", error => {
|
184
|
+
resume(tsplus_module_1.failNow(new ResponseError(request, response, "Decode", error), fileName_1 + ":273:32"));
|
185
|
+
}).once("finish", () => {
|
186
|
+
resume(tsplus_module_1.unit);
|
187
|
+
});
|
188
|
+
});
|
189
|
+
}
|
190
|
+
case 4 /* BodyTag.Stream */:
|
191
|
+
{
|
192
|
+
nodeResponse.writeHead(response.status, response.headers.toHeadersInit());
|
193
|
+
return tsplus_module_17.run(NodeStream.fromWritable(() => nodeResponse, error => new ResponseError(request, response, "Decode", error)), fileName_1 + ":284:15")(tsplus_module_17.mapError(error => new ResponseError(request, response, "Decode", error), fileName_1 + ":283:20")(response.body.stream));
|
194
|
+
}
|
195
|
+
}
|
196
|
+
}, fileName_1 + ":225:18");
|
197
|
+
}
|
198
|
+
//# sourceMappingURL=Server.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Server.mjs","names":["makeHandler","makeHandler_1","ResponseError","Server","clientAbortFiberId","ServeError","ServerRequestImpl","NodeStream","Http","Readable","pipeline","ws","make","evaluate","options","tsplus_module_1","flatMap","scope","server","address","wss","tsplus_module_3","_tag","path","hostname","port","serve","httpApp","middleware","handler","upgradeHandler","map","fileName_1","succeed","on","tsplus_module_2","addFinalizer","off","makeUpgradeHandler","tsplus_module_6","memoize","tsplus_module_5","extend","tsplus_module_4","acquireRelease","WebSocketServer","noServer","async","resume","close","unit","error","failNow","listen","haltNow","tsplus_module_7","handledApp","tsplus_module_9","toHandled","request","exit","tsplus_module_8","isSuccess","catchAllCause","cause","handleCause","handleResponse","value","runFork","nodeRequest","nodeResponse","fiber","tsplus_module_11","provideSomeService","tsplus_module_10","ServerRequestTag","writableEnded","headersSent","writeHead","end","tsplus_module_12","unsafeRunOrFork","interruptAsFork","tsplus_module_13","makeRuntime","socket","head","nodeResponse_","undefined","ServerResponse","assignSocket","upgradeEffect","tsplus_module_14","fromWebSocket","handleUpgrade","succeedNow","res","resolvedResponse","tsplus_module_15","isInterruptedOnly","response","defer","method","status","headers","toHeadersInit","tsplus_module_16","concrete","body","pipe","fromPromiseCatch","r","Response","formData","Object","fromEntries","fromWeb","once","tsplus_module_17","run","fromWritable","mapError","stream"],"sources":["../../_src/http/Server.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;aAoHgBA,WAAW,GAAAC,aAAA;AA3G3B,SAASC,aAAa,QAAQ,2BAA2B;AACzD,SAASC,MAAM,QAAQ,oBAAoB;AAC3C,SAASC,kBAAkB,EAAEC,UAAU,QAAQ,yBAAyB;AAGxE,SAASC,iBAAiB,QAAQ,gCAAgC;AAClE,OAAO,KAAKC,UAAU,MAAM,oBAAoB;AAChD,OAAO,KAAKC,IAAI,MAAM,WAAW;AACjC,SAASC,QAAQ,QAAQ,aAAa;AACtC,SAASC,QAAQ,QAAQ,sBAAsB;AAC/C,OAAO,KAAKC,EAAE,MAAM,IAAI;AAOxB;;;AAGA,OAAM,SAAUC,IAAIA,CAACC,QAA2B,EAAEC,OAA0B;EAC1E,OAAAC,eAAA,CAAAC,OAAA,CACQC,KAAK,IAAAF,eAAA,CAAAC,OAAA,CAELE,MAAM,IAAAH,eAAA,CAAAC,OAAA;IAyBZ,MAAMG,OAAO,GAAGD,MAAM,CAACC,OAAO,EAAG;+BAE3BC,GAAG,IAUFC,eAAA,CAAAT,IAAA,CAAO;MACZO,OAAO,EACL,OAAOA,OAAO,KAAK,QAAQ,GACvB;QAAEG,IAAI,EAAE,aAAa;QAAEC,IAAI,EAAEJ;MAAO,CAAE,GACtC;QACEG,IAAI,EAAE,YAAY;QAClBE,QAAQ,EAAEL,OAAO,CAACA,OAAO,KAAK,IAAI,GAAG,SAAS,GAAGA,OAAO,CAACA,OAAO;QAChEM,IAAI,EAAEN,OAAO,CAACM;OACf;MACPC,KAAK,EAAEA,CAACC,OAAO,EAAEC,UAAU,KAAIb,eAAA,CAAAC,OAAA,CAErBa,OAAO,IAAAd,eAAA,CAAAC,OAAA,CACPc,cAAc,IAAAf,eAAA,CAAAC,OAAA,OAAAD,eAAA,CAAAC,OAAA,OAAAD,eAAA,CAAAgB,GAAA,eAAAC,UAAA,aAUlBjB,eAAA,CAAAkB,OAAA,OAAGf,MAAM,CAACgB,EAAE,CAAC,SAAS,EAAEJ,cAAc,CAAC,EAAAE,UAAA,YAAC,GAAAA,UAAA,aADxCjB,eAAA,CAAAkB,OAAA,OAAGf,MAAM,CAACgB,EAAE,CAAC,SAAS,EAAEL,OAAO,CAAC,EAAAG,UAAA,YAAC,GAAAA,UAAA,aAPjCG,eAAA,CAAAC,YAAA,OACErB,eAAA,CAAAkB,OAAA,CAAG,MAAK;QACNf,MAAM,CAACmB,GAAG,CAAC,SAAS,EAAER,OAAO,CAAC;QAC9BX,MAAM,CAACmB,GAAG,CAAC,SAAS,EAAEP,cAAc,CAAC;MACvC,CAAC,EAAAE,UAAA,YAAC,EAAAA,UAAA,YACH,GAAAA,UAAA,aAPsBM,kBAAkB,CAAClB,GAAG,EAAEO,OAAO,EAAEC,UAAW,CAAC,GAAAI,UAAA,aAD7C/B,aAAA,CAAY0B,OAAO,EAAEC,UAAW,CAAC;KAa/D,CAAC,EAAAI,UAAA,aAAAO,eAAA,CAAAC,OAAA,CAjCAC,eAAA,CAAAC,MAAA,OACEC,eAAA,CAAAC,cAAA,OAAkB7B,eAAA,CAAAkB,OAAA,OAAG,IAAItB,EAAE,CAACkC,eAAe,CAAC;MAAEC,QAAQ,EAAE;IAAI,CAAE,CAAC,EAAAd,UAAA,YAAC,EAAGZ,GAAG,IACpEL,eAAA,CAAAgC,KAAA,CAA8BC,MAAM,IAAI;MACtC5B,GAAG,CAAC6B,KAAK,CAAC,MAAMD,MAAM,CAAAjC,eAAA,CAAAmC,IAAA,CAAS,CAAC;IAClC,CAAC,CAAC,EAAAlB,UAAA,YACH,EAAAA,UAAA,aALHf,KAAK,CAMJ,EAAAe,UAAA;2BAnBDjB,eAAA,CAAAgC,KAAA,CAAmCC,MAAM,IAAI;IAC3C9B,MAAM,CAACgB,EAAE,CAAC,OAAO,EAAGiB,KAAK,IAAI;MAC3BH,MAAM,CAACjC,eAAA,CAAAqC,OAAA,CAAW,IAAI/C,UAAU,CAAC8C,KAAK,CAAC,EAAAnB,UAAA,YAAC,CAAC;IAC3C,CAAC,CAAC;IACFd,MAAM,CAACmC,MAAM,CAACvC,OAAO,EAAE,MAAK;MAC1BkC,MAAM,CAAAjC,eAAA,CAAAmC,IAAA,CAAS;IACjB,CAAC,CAAC;EACJ,CAAC,CAAC,GAAAlB,UAAA,aArBFW,eAAA,CAAAC,cAAA,OAAkB7B,eAAA,CAAAkB,OAAA,CAAGpB,QAAQ,EAAAmB,UAAA,YAAC,EAAGd,MAAM,IACrCH,eAAA,CAAAgC,KAAA,CAA8BC,MAAM,IAAI;IACtC9B,MAAM,CAAC+B,KAAK,CAAEE,KAAK,IAAI;MACrB,IAAIA,KAAK,EAAE;QACTH,MAAM,CAACjC,eAAA,CAAAuC,OAAA,CAAWH,KAAK,EAAAnB,UAAA,YAAC,CAAC;MAC3B,CAAC,MAAM;QACLgB,MAAM,CAAAjC,eAAA,CAAAmC,IAAA,CAAS;MACjB;IACF,CAAC,CAAC;EACJ,CAAC,CAAC,EAAAlB,UAAA,YACH,GAAAA,UAAA,aAAAuB,eAAA,CAAAtC,KAAA;AAoDP;AAoBA,SAAAhB,cACE0B,OAA8B,EAC9BC,UAA0D;EAM1D,MAAM4B,UAAU,GAAGC,eAAA,CAAAC,SAAA,CAAkB,CAACC,OAAO,EAAEC,IAAI,KAAI;IACrD,IAAIC,eAAA,CAAAC,SAAA,CAAAF,IAAI,CAAY,EAAE;MACpB,OAAO7C,eAAA,CAAAgD,aAAA,CAAmDC,KAAK,IAAKC,WAAW,CAACN,OAAO,EAAEK,KAAK,CAAC,EAAAhC,UAAA,cAAxFkC,cAAc,CAACP,OAAO,EAAEC,IAAI,CAACO,KAAK,CAAC,CAAsD;IAClG;IACA,OAAOF,WAAW,CAACN,OAAO,EAAEC,IAAI,CAACI,KAAK,CAAC;EACzC,CAAC,EAAEpC,UAAwB,EALRD,OAAO,CAKE;EAE5B,OAAOZ,eAAA,CAAAgB,GAAA,CAAyCqC,OAAO,IAAI;IACzD,OAAO,SAASvC,OAAOA,CAACwC,WAAiC,EAAEC,YAAiC;MAC1F,MAAMC,KAAK,GAAGH,OAAO,CACnBI,gBAAA,CAAAC,kBAAA,CAA8B,IAAInE,iBAAiB,CAAC+D,WAAW,EAAEC,YAAY,CAAC,EAAAI,gBAAA,CAAAC,gBAAA,EAAA3C,UAAA,cAA9EwB,UAAU,CAAwF,CACnG;MACDc,YAAY,CAACpC,EAAE,CAAC,OAAO,EAAE,MAAK;QAC5B,IAAI,CAACoC,YAAY,CAACM,aAAa,EAAE;UAC/B,IAAI,CAACN,YAAY,CAACO,WAAW,EAAE;YAC7BP,YAAY,CAACQ,SAAS,CAAC,GAAG,CAAC;UAC7B;UACAR,YAAY,CAACS,GAAG,EAAE;UAClBC,gBAAA,CAAAC,eAAA,CAAAV,KAAK,CAACW,eAAe,CAAC9E,kBAAkB,CAAC;QAC3C;MACF,CAAC,CAAC;IACJ,CAAC;EACH,CAAC,EAAA4B,UAAA,cAfMmD,gBAAA,CAAAC,WAAA,EAAmC,CAmBzC;AACH;AAEA,OAAM,SAAU9C,kBAAkBA,CAChClB,GAA4B,EAC5BO,OAA8B,EAC9BC,UAAuB;EAEvB,MAAM4B,UAAU,GAAGC,eAAA,CAAAC,SAAA,CAAkB,CAACC,OAAO,EAAEC,IAAI,KAAI;IACrD,IAAIC,eAAA,CAAAC,SAAA,CAAAF,IAAI,CAAY,EAAE;MACpB,OAAO7C,eAAA,CAAAgD,aAAA,CAAmDC,KAAK,IAAKC,WAAW,CAACN,OAAO,EAAEK,KAAK,CAAC,EAAAhC,UAAA,cAAxFkC,cAAc,CAACP,OAAO,EAAEC,IAAI,CAACO,KAAK,CAAC,CAAsD;IAClG;IACA,OAAOF,WAAW,CAACN,OAAO,EAAEC,IAAI,CAACI,KAAK,CAAC;EACzC,CAAC,EAAEpC,UAAU,EALMD,OAAO,CAKZ;EAEd,OAAOZ,eAAA,CAAAgB,GAAA,CAAyCqC,OAAO,IAAI;IACzD,OAAO,SAASvC,OAAOA,CAACwC,WAAiC,EAAEgB,MAAc,EAAEC,IAAY;MACrF,IAAIC,aAAa,GAAoCC,SAAS;MAE9D,MAAMlB,YAAY,GAAGA,CAAA,KAAK;QACxB,IAAIiB,aAAa,KAAKC,SAAS,EAAE;UAC/BD,aAAa,GAAG,IAAI/E,IAAI,CAACiF,cAAc,CAACpB,WAAW,CAAC;UACpDkB,aAAa,CAACG,YAAY,CAACL,MAAa,CAAC;QAC3C;QACA,OAAOE,aAAa;MACtB,CAAC;MAED,MAAMI,aAAa,GAAGC,gBAAA,CAAAC,aAAA,CACpB9E,eAAA,CAAAC,OAAA,CAAaI,GAAG,IACduB,eAAA,CAAAC,cAAA,OACE7B,eAAA,CAAAgC,KAAA,CAA8CC,MAAM,IAAI;QACtD5B,GAAG,CAAC0E,aAAa,CAACzB,WAAW,EAAEgB,MAAM,EAAEC,IAAI,EAAG3E,EAAE,IAAI;UAClDqC,MAAM,CAACjC,eAAA,CAAAgF,UAAA,CAAcpF,EAAS,EAAAqB,UAAA,aAAC,CAAC;QAClC,CAAC,CAAC;MACJ,CAAC,CAAC,EACDrB,EAAE,IAAKI,eAAA,CAAAkB,OAAA,OAAGtB,EAAE,CAACsC,KAAK,EAAE,EAAAjB,UAAA,aAAC,EAAAA,UAAA,aACvB,EAAAA,UAAA,cARHZ,GAAG,CASF,CACF;MAED,MAAMmD,KAAK,GAAGH,OAAO,CACnBI,gBAAA,CAAAC,kBAAA,CACE,IAAInE,iBAAiB,CAAC+D,WAAW,EAAEC,YAAY,EAAEqB,aAAa,CAAC,EAAAjB,gBAAA,CAAAC,gBAAA,EAAA3C,UAAA,cADjEwB,UAAU,CAGT,CACF;MAED6B,MAAM,CAACnD,EAAE,CAAC,OAAO,EAAE,MAAK;QACtB,MAAM8D,GAAG,GAAG1B,YAAY,EAAE;QAC1B,IAAI,CAACe,MAAM,CAACT,aAAa,EAAE;UACzB,IAAI,CAACoB,GAAG,CAACnB,WAAW,EAAE;YACpBmB,GAAG,CAAClB,SAAS,CAAC,GAAG,CAAC;UACpB;UACAkB,GAAG,CAACjB,GAAG,EAAE;UACTC,gBAAA,CAAAC,eAAA,CAAAV,KAAK,CAACW,eAAe,CAAC9E,kBAAkB,CAAC;QAC3C;MACF,CAAC,CAAC;IACJ,CAAC;EACH,CAAC,EAAA4B,UAAA,cA3CMmD,gBAAA,CAAAC,WAAA,EAAmC,CA2CxC;AACJ;AAEA,SAASnB,WAAWA,CAAIN,OAAsB,EAAEK,KAAe;EAC7D,OAAOjD,eAAA,CAAAkB,OAAA,CAAG,MAAK;IACb,MAAMqC,YAAY,GAAIX,OAA6B,CAACsC,gBAAgB;IACpE,IAAI,CAAC3B,YAAY,CAACO,WAAW,EAAE;MAC7BP,YAAY,CAACQ,SAAS,CAACoB,gBAAA,CAAAC,iBAAA,CAAAnC,KAAK,IAAqB,GAAG,GAAG,GAAG,CAAC;IAC7D;IACA,IAAI,CAACM,YAAY,CAACM,aAAa,EAAE;MAC/BN,YAAY,CAACS,GAAG,EAAE;IACpB;EACF,CAAC,EAAA/C,UAAA,aAAC;AACJ;AAEA,OAAM,SAAUkC,cAAcA,CAACP,OAAsB,EAAEyC,QAAwB;EAC7E,OAAOrF,eAAA,CAAAsF,KAAA,CAAS,MAAqC;IACnD,MAAM/B,YAAY,GAAIX,OAA6B,CAACsC,gBAAgB;IACpE,IAAI3B,YAAY,CAACM,aAAa,EAAE;MAC9B,OAAA7D,eAAA,CAAAmC,IAAA;IACF,CAAC,MAAM,IAAIS,OAAO,CAAC2C,MAAM,KAAK,MAAM,EAAE;MACpChC,YAAY,CAACQ,SAAS,CAACsB,QAAQ,CAACG,MAAM,EAAEH,QAAQ,CAACI,OAAO,CAACC,aAAa,EAAE,CAAC;MACzEnC,YAAY,CAACS,GAAG,EAAE;MAClB,OAAAhE,eAAA,CAAAmC,IAAA;IACF;IACAwD,gBAAA,CAAAC,QAAA,CAAAP,QAAQ,CAACQ,IAAI,CAAW;IACxB,QAAQR,QAAQ,CAACQ,IAAI,CAACtF,IAAI;MACxB;QAAoB;UAClBgD,YAAY,CAACQ,SAAS,CAACsB,QAAQ,CAACG,MAAM,EAAEH,QAAQ,CAACI,OAAO,CAACC,aAAa,EAAE,CAAC;UACzEnC,YAAY,CAACS,GAAG,EAAE;UAClB,OAAAhE,eAAA,CAAAmC,IAAA;QACF;MACA;QAAkB;UAChBoB,YAAY,CAACQ,SAAS,CAACsB,QAAQ,CAACG,MAAM,EAAEH,QAAQ,CAACI,OAAO,CAACC,aAAa,EAAE,CAAC;UACzE,IACE,OAAOL,QAAQ,CAACQ,IAAI,CAACA,IAAI,KAAK,QAAQ,IACtCR,QAAQ,CAACQ,IAAI,CAACA,IAAI,KAAK,IAAI,IAC3B,MAAM,IAAIR,QAAQ,CAACQ,IAAI,CAACA,IAAI,IAC5B,OAAOR,QAAQ,CAACQ,IAAI,CAACA,IAAI,CAACC,IAAI,KAAK,UAAU,EAC7C;YACA,OAAO9F,eAAA,CAAA+F,gBAAA,OACLpG,QAAQ,CAAC0F,QAAQ,CAACQ,IAAI,CAACA,IAAW,EAAEtC,YAAY,EAAE;cAAES,GAAG,EAAE;YAAI,CAAE,CAAC,EAC/D5B,KAAK,IAAK,IAAIjD,aAAa,CAACyD,OAAO,EAAEyC,QAAQ,EAAE,QAAQ,EAAEjD,KAAK,CAAC,EAAAnB,UAAA,aACjE;UACH;UACAsC,YAAY,CAACS,GAAG,CAACqB,QAAQ,CAACQ,IAAI,CAACA,IAAI,CAAC;UACpC,OAAA7F,eAAA,CAAAmC,IAAA;QACF;MACA;QAAyB;UACvBoB,YAAY,CAACQ,SAAS,CAACsB,QAAQ,CAACG,MAAM,EAAEH,QAAQ,CAACI,OAAO,CAACC,aAAa,EAAE,CAAC;UACzEnC,YAAY,CAACS,GAAG,CAACqB,QAAQ,CAACQ,IAAI,CAACA,IAAI,CAAC;UACpC,OAAA7F,eAAA,CAAAmC,IAAA;QACF;MACA;QAAuB;UACrB,OAAOnC,eAAA,CAAAgC,KAAA,CAAsCC,MAAM,IAAI;YACrD,MAAM+D,CAAC,GAAS,IAAIC,QAAQ,CAAEZ,QAAQ,CAACQ,IAAiB,CAACK,QAAQ,CAAC;YAClE,MAAMT,OAAO,GAAG;cACd,GAAGJ,QAAQ,CAACI,OAAO;cACnB,GAAGU,MAAM,CAACC,WAAW,CAACJ,CAAC,CAACP,OAAc;aACvC;YACDlC,YAAY,CAACQ,SAAS,CAACsB,QAAQ,CAACG,MAAM,EAAEC,OAAc,CAAC;YACvD/F,QAAQ,CAAC2G,OAAO,CAACL,CAAC,CAACH,IAAW,CAAC,CAC5BC,IAAI,CAACvC,YAAY,CAAC,CAClBpC,EAAE,CAAC,OAAO,EAAGiB,KAAK,IAAI;cACrBH,MAAM,CAACjC,eAAA,CAAAqC,OAAA,CAAW,IAAIlD,aAAa,CAACyD,OAAO,EAAEyC,QAAQ,EAAE,QAAQ,EAAEjD,KAAK,CAAC,EAAAnB,UAAA,aAAC,CAAC;YAC3E,CAAC,CAAC,CACDqF,IAAI,CAAC,QAAQ,EAAE,MAAK;cACnBrE,MAAM,CAAAjC,eAAA,CAAAmC,IAAA,CAAS;YACjB,CAAC,CAAC;UACN,CAAC,CAAC;QACJ;MACA;QAAqB;UACnBoB,YAAY,CAACQ,SAAS,CAACsB,QAAQ,CAACG,MAAM,EAAEH,QAAQ,CAACI,OAAO,CAACC,aAAa,EAAE,CAAC;UACzE,OAAOa,gBAAA,CAAAC,GAAA,CAGHhH,UAAU,CAACiH,YAAY,CACrB,MAAMlD,YAAY,EACjBnB,KAAK,IAAK,IAAIjD,aAAa,CAACyD,OAAO,EAAEyC,QAAQ,EAAE,QAAQ,EAAEjD,KAAK,CAAC,CACjE,EAAAnB,UAAA,cANEsF,gBAAA,CAAAG,QAAA,CACMtE,KAAK,IAAK,IAAIjD,aAAa,CAACyD,OAAO,EAAEyC,QAAQ,EAAE,QAAQ,EAAEjD,KAAK,CAAC,EAAAnB,UAAA,cADrEoE,QAAQ,CAACQ,IAAI,CAACc,MAAM,CACkD,CAM1E;QACL;IACF;EACF,CAAC,EAAA1F,UAAA,aAAC;AACJ"}
|