@fncts/node 0.0.33 → 0.0.35

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.
@@ -3,18 +3,37 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.WritableError = exports.TransformError = exports.ReadableError = void 0;
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/base/collection/immutable/Conc/constructors"));
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/base/data/Maybe/constructors"));
13
- var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Stream/api"));
14
- var tsplus_module_5 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Sink/definition"));
15
- var tsplus_module_6 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/Conc/api"));
16
- var tsplus_module_7 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/api"));
17
- var tsplus_module_8 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/acquireRelease"));
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,112 @@ class ReadableError {
25
44
  }
26
45
  }
27
46
  exports.ReadableError = ReadableError;
28
- function fromReadable(readable) {
29
- return tsplus_module_4.flatMap(readable => tsplus_module_4.async(cb => {
30
- readable.on("data", chunk => {
31
- cb(tsplus_module_2.succeedNow(tsplus_module_1.fromBuffer(chunk), fileName_1 + ":17:25"));
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
- cb(tsplus_module_2.failNow(tsplus_module_3.just(new ReadableError(err), fileName_1 + ":20:27"), fileName_1 + ":20:22"));
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
- cb(tsplus_module_2.failNow(tsplus_module_3.nothing(fileName_1 + ":23:30"), fileName_1 + ":23:22"));
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
- }), fileName_1 + ":14:12")(tsplus_module_4.acquireRelease(tsplus_module_2.tryCatch(readable, err => new ReadableError(err), fileName_1 + ":12:16"), readable => tsplus_module_2.succeed(() => readable.destroy(), fileName_1 + ":13:21"), fileName_1 + ":11:31"));
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
- class WritableError {
42
- constructor(error) {
43
- this.error = error;
44
- this._tag = "ReadableError";
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({
80
+ Left: exit => tsplus_module_10.match(cause => tsplus_module_9.failCauseNow(cause), () => tsplus_module_4.unit)(exit),
81
+ Right: () => tsplus_module_9.flatMap(() => loop)(read)
82
+ })(either))(tsplus_module_4.fromIO(() => tsplus_module_3.take(queue, fileName_1 + ":69:100")));
83
+ return loop;
84
+ }
85
+ function readChunkChannel(readable, chunkSize) {
86
+ return tsplus_module_4.defer(() => {
87
+ const arr = [];
88
+ let chunk = readable.read(chunkSize);
89
+ while (chunk !== null) {
90
+ arr.push(chunk);
91
+ chunk = readable.read(chunkSize);
92
+ }
93
+ return tsplus_module_4.write(() => tsplus_module_12.fromArray(arr));
94
+ });
95
+ }
96
+ function fromWritable(writable, onError, options) {
97
+ return tsplus_module_13.fromChannel(fromWritableChannel(writable, onError, options), fileName_1 + ":105:26");
98
+ }
99
+ function fromWritableChannel(writable, onError, options) {
100
+ 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"))));
101
+ }
102
+ function writeInput(writable, onFailure, {
103
+ encoding,
104
+ endOnDone = true
105
+ } = {}, onDone = tsplus_module_2.unit) {
106
+ const write = writeIO(writable, encoding);
107
+ const close = endOnDone ? tsplus_module_2.async(resume => {
108
+ if ("closed" in writable && writable.closed) {
109
+ resume(tsplus_module_2.unit);
110
+ } else {
111
+ writable.once("finish", () => resume(tsplus_module_2.unit));
112
+ }
113
+ }) : tsplus_module_2.unit;
114
+ return {
115
+ awaitRead: tsplus_module_2.unit,
116
+ emit: write,
117
+ error: cause => tsplus_module_2.zipRight(onFailure(cause), fileName_1 + ":140:30")(close),
118
+ done: _ => tsplus_module_2.zipRight(onDone, fileName_1 + ":141:25")(close)
119
+ };
46
120
  }
47
- exports.WritableError = WritableError;
48
- function fromWritable(writable) {
49
- return new tsplus_module_5.Sink(tsplus_module_7.unwrapScoped(() => tsplus_module_2.map(writable => {
50
- const reader = tsplus_module_7.readWith(chunk => tsplus_module_7.unwrap(() => tsplus_module_2.async(cb => {
51
- writable.write(tsplus_module_6.toBuffer(chunk), err => {
52
- err ? cb(tsplus_module_2.failNow(new WritableError(err), fileName_1 + ":57:40")) : cb(tsplus_module_2.succeedNow(reader, fileName_1 + ":57:84"));
121
+ function writeIO(writable, encoding) {
122
+ return chunk => {
123
+ if (chunk.length === 0) {
124
+ return tsplus_module_2.unit;
125
+ } else {
126
+ return tsplus_module_2.async(resume => {
127
+ const iterator = chunk[Symbol.iterator]();
128
+ const next = iterator.next();
129
+ function loop() {
130
+ const item = next;
131
+ const success = writable.write(item.value, encoding);
132
+ if (next.done) {
133
+ resume(tsplus_module_2.unit);
134
+ } else if (success) {
135
+ loop();
136
+ } else {
137
+ writable.once("drain", loop);
138
+ }
139
+ }
140
+ loop();
53
141
  });
54
- })), tsplus_module_7.failNow, () => tsplus_module_7.unit);
55
- return reader;
56
- }, fileName_1 + ":51:13")(tsplus_module_8.acquireRelease(() => tsplus_module_2.async(cb => {
57
- let handle = undefined;
58
- const onError = err => {
59
- clearImmediate(handle);
60
- cb(tsplus_module_2.haltNow(err, fileName_1 + ":41:24"));
61
- };
62
- const writable0 = writable().once("error", onError);
63
- handle = setImmediate(() => {
64
- writable0.removeListener("error", onError);
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"))));
142
+ }
143
+ };
144
+ }
145
+ function writableOutput(writable, future, onError) {
146
+ return tsplus_module_4.fromIO(() => tsplus_module_2.defer(() => {
147
+ function handleError(err) {
148
+ tsplus_module_14.unsafeDone(tsplus_module_2.failNow(onError(err), fileName_1 + ":178:37"), fileName_1 + ":178:26")(future);
149
+ }
150
+ writable.on("error", handleError);
151
+ 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"));
152
+ }, fileName_1 + ":176:13"));
68
153
  }
69
154
  class TransformError {
70
155
  constructor(error) {
@@ -79,25 +164,79 @@ exports.TransformError = TransformError;
79
164
  function transform(transform) {
80
165
  return self => {
81
166
  const scopedSink = tsplus_module_2.map(transform => {
82
- const endTransform = tsplus_module_2.succeed(() => transform.end(), fileName_1 + ":83:40");
83
- const reader = tsplus_module_7.readWith(inp => tsplus_module_7.unwrap(() => tsplus_module_2.async(cb => {
84
- transform.write(tsplus_module_6.toBuffer(inp), err => {
85
- err ? cb(tsplus_module_2.failNow(new TransformError(err), fileName_1 + ":89:38")) : tsplus_module_2.succeedNow(reader, fileName_1 + ":89:80");
167
+ const endTransform = tsplus_module_2.succeed(() => transform.end(), fileName_1 + ":199:40");
168
+ const reader = tsplus_module_4.readWith(inp => tsplus_module_4.unwrap(() => tsplus_module_2.async(cb => {
169
+ transform.write(tsplus_module_17.toBuffer(inp), err => {
170
+ err ? cb(tsplus_module_2.failNow(new TransformError(err), fileName_1 + ":205:38")) : tsplus_module_2.succeedNow(reader, fileName_1 + ":205:80");
86
171
  });
87
- })), err => tsplus_module_7.unwrap(() => tsplus_module_2.map(() => tsplus_module_7.failNow(err), fileName_1 + ":93:51")(endTransform)), () => tsplus_module_7.unwrap(() => tsplus_module_2.map(() => tsplus_module_7.unit, fileName_1 + ":94:48")(endTransform)));
88
- return [transform, new tsplus_module_5.Sink(reader)];
89
- }, fileName_1 + ":82:11")(tsplus_module_8.acquireRelease(() => tsplus_module_2.succeed(transform, fileName_1 + ":80:34"), transform => tsplus_module_2.succeed(() => transform.destroy(), fileName_1 + ":81:48"), fileName_1 + ":81:22"));
90
- return tsplus_module_4.flatMap(([transform, sink]) => tsplus_module_4.ensuring(tsplus_module_2.succeed(() => transform.removeAllListeners(), fileName_1 + ":111:20"), fileName_1 + ":111:17")(tsplus_module_4.asyncIO(cb => tsplus_module_2.zipRight(tsplus_module_4.run(sink, fileName_1 + ":110:29")(self), fileName_1 + ":110:20")(tsplus_module_2.succeed(() => {
172
+ })), 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)));
173
+ return [transform, new tsplus_module_18.Sink(reader)];
174
+ }, 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"));
175
+ 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
176
  transform.on("data", chunk => {
92
- cb(tsplus_module_2.succeed(() => tsplus_module_1.fromBuffer(chunk), fileName_1 + ":102:26"));
177
+ cb(tsplus_module_2.succeed(() => tsplus_module_21.fromBuffer(chunk), fileName_1 + ":218:26"));
93
178
  });
94
179
  transform.on("error", err => {
95
- cb(tsplus_module_2.failNow(tsplus_module_3.just(new TransformError(err), fileName_1 + ":105:31"), fileName_1 + ":105:26"));
180
+ cb(tsplus_module_2.failNow(tsplus_module_22.just(new TransformError(err), fileName_1 + ":221:31"), fileName_1 + ":221:26"));
96
181
  });
97
182
  transform.on("end", () => {
98
- cb(tsplus_module_2.failNow(tsplus_module_3.nothing(fileName_1 + ":108:34"), fileName_1 + ":108:26"));
183
+ cb(tsplus_module_2.failNow(tsplus_module_22.nothing(fileName_1 + ":224:34"), fileName_1 + ":224:26"));
99
184
  });
100
- }, fileName_1 + ":100:19")))), fileName_1 + ":98:45")(tsplus_module_4.scoped(() => scopedSink, fileName_1 + ":98:25"));
185
+ }, fileName_1 + ":216:19")))), fileName_1 + ":214:45")(tsplus_module_20.scoped(() => scopedSink, fileName_1 + ":214:25"));
101
186
  };
102
187
  }
188
+ function toString(readable, onFailure, options) {
189
+ const maxBytes = options?.maxBytes ? Number(options.maxBytes) : undefined;
190
+ return tsplus_module_23.scoped(tsplus_module_2.flatMap(stream => tsplus_module_2.async(resume => {
191
+ let string = "";
192
+ let bytes = 0;
193
+ stream.once("error", err => {
194
+ resume(tsplus_module_2.failNow(onFailure(err), fileName_1 + ":259:28"));
195
+ });
196
+ stream.once("end", () => {
197
+ resume(tsplus_module_2.succeedNow(string, fileName_1 + ":262:31"));
198
+ });
199
+ stream.on("data", chunk => {
200
+ string += chunk;
201
+ bytes += Buffer.byteLength(chunk);
202
+ if (maxBytes && bytes > maxBytes) {
203
+ resume(tsplus_module_2.failNow(onFailure(new Error("maxBytes exceeded")), fileName_1 + ":268:30"));
204
+ }
205
+ });
206
+ }), fileName_1 + ":254:13")(tsplus_module_19.acquireRelease(() => tsplus_module_2.succeed(() => {
207
+ const stream = readable();
208
+ stream.setEncoding(options?.encoding ?? "utf8");
209
+ return stream;
210
+ }, fileName_1 + ":241:12"), stream => tsplus_module_2.succeed(() => {
211
+ stream.removeAllListeners();
212
+ if ("closed" in stream && !stream.closed) {
213
+ stream.destroy();
214
+ }
215
+ }, fileName_1 + ":247:9"), fileName_1 + ":246:20")), fileName_1 + ":272:6");
216
+ }
217
+ function toUint8Array(readable, onFailure, options = {}) {
218
+ const maxBytes = options.maxBytes ? Number(options.maxBytes) : undefined;
219
+ return tsplus_module_23.scoped(tsplus_module_2.flatMap(stream => tsplus_module_2.async(resume => {
220
+ let buffer = Buffer.alloc(0);
221
+ let bytes = 0;
222
+ stream.once("error", err => {
223
+ resume(tsplus_module_2.failNow(onFailure(err), fileName_1 + ":297:28"));
224
+ });
225
+ stream.once("end", () => {
226
+ resume(tsplus_module_2.succeedNow(buffer, fileName_1 + ":300:31"));
227
+ });
228
+ stream.on("data", chunk => {
229
+ buffer = Buffer.concat([buffer, chunk]);
230
+ bytes += chunk.length;
231
+ if (maxBytes && bytes > maxBytes) {
232
+ resume(tsplus_module_2.failNow(onFailure(new Error("maxBytes exceeded")), fileName_1 + ":306:30"));
233
+ }
234
+ });
235
+ }), fileName_1 + ":292:13")(tsplus_module_19.acquireRelease(() => tsplus_module_2.succeed(readable, fileName_1 + ":283:12"), stream => tsplus_module_2.succeed(() => {
236
+ stream.removeAllListeners();
237
+ if ("closed" in stream && !stream.closed) {
238
+ stream.destroy();
239
+ }
240
+ }, fileName_1 + ":285:9"), fileName_1 + ":284:20")), fileName_1 + ":310:6");
241
+ }
103
242
  //# sourceMappingURL=api.cjs.map
@@ -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":"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"}
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","Left","exit","tsplus_module_10","cause","failCauseNow","Right","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,CAAa;IACXC,IAAI,EAAGC,IAAI,IACTC,gBAAA,CAAAH,KAAA,CACGI,KAAK,IAAKR,eAAA,CAAAS,YAAA,CAAqBD,KAAK,CAAC,EACtC,MAAK9C,eAAA,CAAAkC,IAAa,EAFpBU,IAAI,CAGH;IACHI,KAAK,EAAEA,CAAA,KAAMV,eAAA,CAAAC,OAAA,CAAa,MAAMF,IAAI,EAAvBF,IAAI;GAClB,EAPDK,MAAM,CAOJ,EATuExC,eAAA,CAAAiD,MAAA,OAAApC,eAAA,CAAAqC,IAAA,CAAe9C,KAAK,EAAAE,UAAA,cAAM,CAUtG;EACD,OAAO+B,IAAI;AACb;AAEA,SAASD,gBAAgBA,CAAI1C,QAAiD,EAAEE,SAA6B;EAC3G,OAAOI,eAAA,CAAAmD,KAAA,CAAc,MAAK;IACxB,MAAMC,GAAG,GAAa,EAAE;IACxB,IAAIC,KAAK,GAAa3D,QAAQ,CAACyC,IAAI,CAACvC,SAAS,CAAC;IAC9C,OAAOyD,KAAK,KAAK,IAAI,EAAE;MACrBD,GAAG,CAACE,IAAI,CAACD,KAAK,CAAC;MACfA,KAAK,GAAG3D,QAAQ,CAACyC,IAAI,CAACvC,SAAS,CAAC;IAClC;IACA,OAAOI,eAAA,CAAAuD,KAAA,OAAcC,gBAAA,CAAAC,SAAA,CAAeL,GAAG,CAAC,CAAC;EAC3C,CAAC,CAAC;AACJ;AAOM,SAAUM,YAAYA,CAC1BC,QAAuD,EACvDhE,OAA8B,EAC9BiE,OAA6B;EAE7B,OAAOC,gBAAA,CAAAC,WAAA,CAAiBC,mBAAmB,CAACJ,QAAQ,EAAEhE,OAAO,EAAEiE,OAAO,CAAC,EAAAtD,UAAA,aAAC;AAC1E;AAEM,SAAUyD,mBAAmBA,CACjCJ,QAAuD,EACvDhE,OAA+B,EAC/BiE,OAA6B;EAE7B,OAAOtB,eAAA,CAAAC,OAAA,CAAuE,CAAC,CAACoB,QAAQ,EAAEK,MAAM,CAAC,KAC/FhE,eAAA,CAAAiE,UAAA,CACEC,UAAU,CAAQP,QAAQ,EAAGb,KAAK,IAAKqB,gBAAA,CAAAC,SAAA,CAAiBtB,KAAK,EAAAxC,UAAA,cAAtB0D,MAAM,CAAiB,EAAEJ,OAAO,EAAEO,gBAAA,CAAAE,OAAA,CAAAnE,eAAA,CAAAgC,IAAA,EAAA5B,UAAA,cAAA0D,MAAM,CAAiB,CAAC,EADnGM,cAAc,CAACX,QAAQ,EAAEK,MAAM,EAAErE,OAAO,CAAC,CAExC,EAHIK,eAAA,CAAAiD,MAAA,OAAe/C,eAAA,CAAAK,GAAA,CAAiBgE,gBAAA,CAAAC,IAAA,CAAAlE,UAAA,aAA4B,EAAAA,UAAA,cAA7CJ,eAAA,CAAAQ,OAAA,CAAGiD,QAAQ,EAAArD,UAAA,aAAC,CAAkC,CAAC,CAIpE;AACH;AAEA,SAAS4D,UAAUA,CACjBP,QAAiD,EACjDc,SAA0C,EAC1C;EAAEC,QAAQ;EAAEC,SAAS,GAAG;AAAI,IAA0B,EAAE,EACxDC,MAAM,GAAA1E,eAAA,CAAAgC,IAAU;EAEhB,MAAMqB,KAAK,GAAGsB,OAAO,CAAClB,QAAQ,EAAEe,QAAQ,CAAC;EACzC,MAAMI,KAAK,GAAGH,SAAS,GACnBzE,eAAA,CAAA6E,KAAA,CAA8BC,MAAM,IAAI;IACtC,IAAI,QAAQ,IAAIrB,QAAQ,IAAIA,QAAQ,CAAC3C,MAAM,EAAE;MAC3CgE,MAAM,CAAA9E,eAAA,CAAAgC,IAAA,CAAS;IACjB,CAAC,MAAM;MACLyB,QAAQ,CAACsB,IAAI,CAAC,QAAQ,EAAE,MAAMD,MAAM,CAAA9E,eAAA,CAAAgC,IAAA,CAAS,CAAC;IAChD;EACF,CAAC,CAAC,GACHhC,eAAA,CAAAgC,IAAQ;EAEX,OAAO;IACLgD,SAAS,EAAAhF,eAAA,CAAAgC,IAAS;IAClBiD,IAAI,EAAE5B,KAAK;IACXjE,KAAK,EAAGwD,KAAK,IAAI5C,eAAA,CAAAU,QAAA,CAAS6D,SAAS,CAAC3B,KAAK,CAAC,EAAAxC,UAAA,cAAxBwE,KAAK,CAAmB;IAC1CM,IAAI,EAAGC,CAAC,IAAInF,eAAA,CAAAU,QAAA,CAASgE,MAAM,EAAAtE,UAAA,cAAdwE,KAAK;GACnB;AACH;AAEA,SAASD,OAAOA,CAAIlB,QAAiD,EAAEe,QAAyB;EAC9F,OAAQrB,KAAc,IAAI;IACxB,IAAIA,KAAK,CAACiC,MAAM,KAAK,CAAC,EAAE;MACtB,OAAApF,eAAA,CAAAgC,IAAA;IACF,CAAC,MAAM;MACL,OAAOhC,eAAA,CAAA6E,KAAA,CAA8BC,MAAM,IAAI;QAC7C,MAAMO,QAAQ,GAAGlC,KAAK,CAACmC,MAAM,CAACD,QAAQ,CAAC,EAAE;QACzC,MAAME,IAAI,GAAOF,QAAQ,CAACE,IAAI,EAAE;QAChC,SAASpD,IAAIA,CAAA;UACX,MAAMqD,IAAI,GAAMD,IAAI;UACpB,MAAME,OAAO,GAAGhC,QAAQ,CAACJ,KAAK,CAACmC,IAAI,CAACnE,KAAK,EAAEmD,QAAe,CAAC;UAC3D,IAAIe,IAAI,CAACL,IAAI,EAAE;YACbJ,MAAM,CAAA9E,eAAA,CAAAgC,IAAA,CAAS;UACjB,CAAC,MAAM,IAAIyD,OAAO,EAAE;YAClBtD,IAAI,EAAE;UACR,CAAC,MAAM;YACLsB,QAAQ,CAACsB,IAAI,CAAC,OAAO,EAAE5C,IAAI,CAAC;UAC9B;QACF;QACAA,IAAI,EAAE;MACR,CAAC,CAAC;IACJ;EACF,CAAC;AACH;AAEA,SAASiC,cAAcA,CACrBX,QAAiD,EACjDK,MAA6B,EAC7BrE,OAA+B;EAE/B,OAAOK,eAAA,CAAAiD,MAAA,OACL/C,eAAA,CAAAiD,KAAA,CAAS,MAAK;IACZ,SAASyC,WAAWA,CAAC/D,GAAY;MAC/BsC,gBAAA,CAAA0B,UAAA,CAAkB3F,eAAA,CAAA4F,OAAA,CAAWnG,OAAO,CAACkC,GAAG,CAAC,EAAAvB,UAAA,aAAC,EAAAA,UAAA,cAA1C0D,MAAM,CAAqC;IAC7C;IACAL,QAAQ,CAACzC,EAAE,CAAC,OAAO,EAAE0E,WAAW,CAAC;IACjC,OAAOG,gBAAA,CAAAC,QAAA,CAAsB9F,eAAA,CAAAQ,OAAA,OAAGiD,QAAQ,CAACsC,cAAc,CAAC,OAAO,EAAEL,WAAW,CAAC,EAAAtF,UAAA,aAAC,EAAAA,UAAA,cAAA6D,gBAAA,CAAA+B,IAAA,CAAvElC,MAAM,EAAA1D,UAAA,cAAkE;EACjF,CAAC,EAAAA,UAAA,aAAC,CACH;AACH;AAEM,MAAO6F,cAAc;EAEzB9G,YAAqBC,KAAY;IAAZ,KAAAA,KAAK,GAALA,KAAK;IADjB,KAAAC,IAAI,GAAG,gBAAgB;EACI;;AAGtC;;;AAAAC,OAAA,CAAA2G,cAAA,GAAAA,cAAA;AAGM,SAAUC,SAASA,CAACA,SAAiC;EACzD,OAAcC,IAAwB,IAAyC;IAC7E,MAAMC,UAAU,GAAGpG,eAAA,CAAAqG,GAAA,CAEXH,SAAS,IAAI;MACjB,MAAMI,YAAY,GAAGtG,eAAA,CAAAQ,OAAA,OAAW0F,SAAS,CAACK,GAAG,EAAE,EAAAnG,UAAA,aAAC;MAChD,MAAMoG,MAAM,GAAiF1G,eAAA,CAAA2G,QAAA,CAC1FC,GAAe,IACd5G,eAAA,CAAA6G,MAAA,OACE3G,eAAA,CAAA6E,KAAA,CAAgD+B,EAAE,IAAI;QACpDV,SAAS,CAAC7C,KAAK,CAAAwD,gBAAA,CAAAC,QAAA,CAACJ,GAAG,GAAY/E,GAAG,IAAI;UACpCA,GAAG,GAAGiF,EAAE,CAAC5G,eAAA,CAAA4F,OAAA,CAAW,IAAIK,cAAc,CAACtE,GAAG,CAAC,EAAAvB,UAAA,aAAC,CAAC,GAAGJ,eAAA,CAAA+G,UAAA,CAAcP,MAAM,EAAApG,UAAA,aAAC;QACvE,CAAC,CAAC;MACJ,CAAC,CAAC,CACH,EACFuB,GAAG,IAAK7B,eAAA,CAAA6G,MAAA,OAAe3G,eAAA,CAAAqG,GAAA,CAAiB,MAAMvG,eAAA,CAAA8F,OAAA,CAAgBjE,GAAG,CAAC,EAAAvB,UAAA,cAA3CkG,YAAY,CAAgC,CAAC,EACrE,MAAMxG,eAAA,CAAA6G,MAAA,OAAe3G,eAAA,CAAAqG,GAAA,CAAiB,MAAKvG,eAAA,CAAAkC,IAAa,EAAA5B,UAAA,cAAnCkG,YAAY,CAAwB,CAAC,CAC3D;MACD,OAAO,CAACJ,SAAS,EAAE,IAAAc,gBAAA,CAAIC,IAAI,CAACT,MAAM,CAAC,CAAU;IAC/C,CAAC,EAAApG,UAAA,cAjBgB8G,gBAAA,CAAAC,cAAA,OAAAnH,eAAA,CAAAQ,OAAA,CAAW0F,SAAS,EAAA9F,UAAA,aAAC,EACrB8F,SAAS,IAAKlG,eAAA,CAAAQ,OAAA,OAAW0F,SAAS,CAACnF,OAAO,EAAE,EAAAX,UAAA,aAAC,EAAAA,UAAA,aAAC,CAgB7D;IACJ,OAAOgH,gBAAA,CAAA/E,OAAA,CAAkC,CAAC,CAAC6D,SAAS,EAAEmB,IAAI,CAAC,KACzDD,gBAAA,CAAAtB,QAAA,CAYW9F,eAAA,CAAAQ,OAAA,OAAG0F,SAAS,CAACrF,kBAAkB,EAAE,EAAAT,UAAA,aAAC,EAAAA,UAAA,cAZ7CgH,gBAAA,CAAAE,OAAA,CAAoEV,EAAE,IACpE5G,eAAA,CAAAU,QAAA,CAUY0G,gBAAA,CAAAG,GAAA,CAASF,IAAI,EAAAjH,UAAA,cAAb+F,IAAI,CAAU,EAAA/F,UAAA,cAV1BJ,eAAA,CAAAQ,OAAA,CAAW,MAAK;MACd0F,SAAS,CAAClF,EAAE,CAAC,MAAM,EAAGmC,KAAK,IAAI;QAC7ByD,EAAE,CAAC5G,eAAA,CAAAQ,OAAA,OAAWgH,gBAAA,CAAAC,UAAA,CAAgBtE,KAAK,CAAC,EAAA/C,UAAA,aAAC,CAAC;MACxC,CAAC,CAAC;MACF8F,SAAS,CAAClF,EAAE,CAAC,OAAO,EAAGW,GAAG,IAAI;QAC5BiF,EAAE,CAAC5G,eAAA,CAAA4F,OAAA,CAAW8B,gBAAA,CAAAC,IAAA,CAAK,IAAI1B,cAAc,CAACtE,GAAG,CAAC,EAAAvB,UAAA,aAAC,EAAAA,UAAA,aAAC,CAAC;MAC/C,CAAC,CAAC;MACF8F,SAAS,CAAClF,EAAE,CAAC,KAAK,EAAE,MAAK;QACvB4F,EAAE,CAAC5G,eAAA,CAAA4F,OAAA,CAAW8B,gBAAA,CAAAE,OAAA,CAAAxH,UAAA,aAAS,EAAAA,UAAA,aAAC,CAAC;MAC3B,CAAC,CAAC;IACJ,CAAC,EAAAA,UAAA,aAAC,CAAyB,CAC5B,CAA6C,EAAAA,UAAA,cAbzCgH,gBAAA,CAAAS,MAAA,OAAczB,UAAU,EAAAhG,UAAA,aAAC,CAc/B;EACH,CAAC;AACH;AAEM,SAAU0H,QAAQA,CACtBtI,QAAuD,EACvD+E,SAAgC,EAChCb,OAGC;EAED,MAAMqE,QAAQ,GAAGrE,OAAO,EAAEqE,QAAQ,GAAGC,MAAM,CAACtE,OAAO,CAACqE,QAAQ,CAAC,GAAGE,SAAS;EACzE,OAAAC,gBAAA,CAAAL,MAAA,CAAO7H,eAAA,CAAAqC,OAAA,CAaK8F,MAAM,IACdnI,eAAA,CAAA6E,KAAA,CAA4BC,MAAM,IAAI;IACpC,IAAIsD,MAAM,GAAG,EAAE;IACf,IAAIC,KAAK,GAAI,CAAC;IACdF,MAAM,CAACpD,IAAI,CAAC,OAAO,EAAGpD,GAAG,IAAI;MAC3BmD,MAAM,CAAC9E,eAAA,CAAA4F,OAAA,CAAWrB,SAAS,CAAC5C,GAAG,CAAC,EAAAvB,UAAA,aAAC,CAAC;IACpC,CAAC,CAAC;IACF+H,MAAM,CAACpD,IAAI,CAAC,KAAK,EAAE,MAAK;MACtBD,MAAM,CAAC9E,eAAA,CAAA+G,UAAA,CAAcqB,MAAM,EAAAhI,UAAA,aAAC,CAAC;IAC/B,CAAC,CAAC;IACF+H,MAAM,CAACnH,EAAE,CAAC,MAAM,EAAGmC,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,CAAC9E,eAAA,CAAA4F,OAAA,CAAWrB,SAAS,CAAC,IAAIiE,KAAK,CAAC,mBAAmB,CAAC,CAAC,EAAApI,UAAA,aAAC,CAAC;MAC/D;IACF,CAAC,CAAC;EACJ,CAAC,CAAC,EAAAA,UAAA,cA9BC8G,gBAAA,CAAAC,cAAA,OAAAnH,eAAA,CAAAQ,OAAA,CAAG,MAAK;IACb,MAAM2H,MAAM,GAAG3I,QAAQ,EAAE;IACzB2I,MAAM,CAACM,WAAW,CAAC/E,OAAO,EAAEc,QAAQ,IAAI,MAAM,CAAC;IAC/C,OAAO2D,MAAM;EACf,CAAC,EAAA/H,UAAA,aAAC,EACiB+H,MAAM,IACrBnI,eAAA,CAAAQ,OAAA,CAAG,MAAK;IACN2H,MAAM,CAACtH,kBAAkB,EAAE;IAC3B,IAAI,QAAQ,IAAIsH,MAAM,IAAI,CAACA,MAAM,CAACrH,MAAM,EAAE;MACxCqH,MAAM,CAACpH,OAAO,EAAE;IAClB;EACF,CAAC,EAAAX,UAAA,YAAC,EAAAA,UAAA,aACH,CAmBA,EAAAA,UAAA;AACL;AAEM,SAAUsI,YAAYA,CAC1BlJ,QAAuD,EACvD+E,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,CAAO7H,eAAA,CAAAqC,OAAA,CASK8F,MAAM,IACdnI,eAAA,CAAA6E,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,EAAGpD,GAAG,IAAI;MAC3BmD,MAAM,CAAC9E,eAAA,CAAA4F,OAAA,CAAWrB,SAAS,CAAC5C,GAAG,CAAC,EAAAvB,UAAA,aAAC,CAAC;IACpC,CAAC,CAAC;IACF+H,MAAM,CAACpD,IAAI,CAAC,KAAK,EAAE,MAAK;MACtBD,MAAM,CAAC9E,eAAA,CAAA+G,UAAA,CAAc4B,MAAM,EAAAvI,UAAA,aAAC,CAAC;IAC/B,CAAC,CAAC;IACF+H,MAAM,CAACnH,EAAE,CAAC,MAAM,EAAGmC,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,CAAC9E,eAAA,CAAA4F,OAAA,CAAWrB,SAAS,CAAC,IAAIiE,KAAK,CAAC,mBAAmB,CAAC,CAAC,EAAApI,UAAA,aAAC,CAAC;MAC/D;IACF,CAAC,CAAC;EACJ,CAAC,CAAC,EAAAA,UAAA,cA1BC8G,gBAAA,CAAAC,cAAA,OAAAnH,eAAA,CAAAQ,OAAA,CAAGhB,QAAQ,EAAAY,UAAA,aAAC,EACA+H,MAAM,IACrBnI,eAAA,CAAAQ,OAAA,CAAG,MAAK;IACN2H,MAAM,CAACtH,kBAAkB,EAAE;IAC3B,IAAI,QAAQ,IAAIsH,MAAM,IAAI,CAACA,MAAM,CAACrH,MAAM,EAAE;MACxCqH,MAAM,CAACpH,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,194 @@
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
+ import { ResponseError } from "@fncts/http/ResponseError";
20
+ import { Server } from "@fncts/http/Server";
21
+ import { clientAbortFiberId, ServeError } from "@fncts/http/ServerError";
22
+ import { ServerRequestImpl } from "@fncts/node/http/ServerRequest";
23
+ import * as NodeStream from "@fncts/node/stream";
24
+ import * as Http from "node:http";
25
+ import { Readable } from "node:stream";
26
+ import { pipeline } from "node:stream/promises";
27
+ import * as ws from "ws";
28
+ export function make(evaluate, options) {
29
+ return tsplus_module_1.flatMap(scope => tsplus_module_1.flatMap(server => tsplus_module_1.flatMap(() => {
30
+ const address = server.address();
31
+ return tsplus_module_1.map(wss => tsplus_module_3.make({
32
+ address: typeof address === "string" ? {
33
+ _tag: "UnixAddress",
34
+ path: address
35
+ } : {
36
+ _tag: "TcpAddress",
37
+ hostname: address.address === "::" ? "0.0.0.0" : address.address,
38
+ port: address.port
39
+ },
40
+ 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 + ":85:12")(tsplus_module_1.succeed(() => server.on("upgrade", upgradeHandler), fileName_1 + ":85:15")), fileName_1 + ":84:12")(tsplus_module_1.succeed(() => server.on("request", handler), fileName_1 + ":84:15")), fileName_1 + ":76:12")(tsplus_module_2.addFinalizer(() => tsplus_module_1.succeed(() => {
41
+ server.off("request", handler);
42
+ server.off("upgrade", upgradeHandler);
43
+ }, fileName_1 + ":78:17"), fileName_1 + ":77:28")), fileName_1 + ":75:35")(makeUpgradeHandler(wss, httpApp, middleware)), fileName_1 + ":74:35")(makeHandler(httpApp, middleware))
44
+ }), fileName_1 + ":53:18")(tsplus_module_6.memoize(tsplus_module_5.extend(() => tsplus_module_4.acquireRelease(() => tsplus_module_1.succeed(() => new ws.WebSocketServer({
45
+ noServer: true
46
+ }), fileName_1 + ":55:29"), wss => tsplus_module_1.async(resume => {
47
+ wss.close(() => resume(tsplus_module_1.unit));
48
+ }), fileName_1 + ":55:26"), fileName_1 + ":54:19")(scope), fileName_1 + ":60:8"));
49
+ }, fileName_1 + ":40:6")(tsplus_module_1.async(resume => {
50
+ server.on("error", error => {
51
+ resume(tsplus_module_1.failNow(new ServeError(error), fileName_1 + ":43:28"));
52
+ });
53
+ server.listen(options, () => {
54
+ resume(tsplus_module_1.unit);
55
+ });
56
+ })), fileName_1 + ":26:21")(tsplus_module_4.acquireRelease(() => tsplus_module_1.succeed(evaluate, fileName_1 + ":27:27"), server => tsplus_module_1.async(resume => {
57
+ server.close(error => {
58
+ if (error) {
59
+ resume(tsplus_module_1.haltNow(error, fileName_1 + ":31:32"));
60
+ } else {
61
+ resume(tsplus_module_1.unit);
62
+ }
63
+ });
64
+ }), fileName_1 + ":27:24")), fileName_1 + ":24:20")(tsplus_module_7.scope);
65
+ }
66
+ export function makeHandler(httpApp, middleware) {
67
+ const handledApp = tsplus_module_9.toHandled((request, exit) => {
68
+ if (tsplus_module_8.isSuccess(exit)) {
69
+ return tsplus_module_1.catchAllCause(cause => handleCause(request, cause), fileName_1 + ":116:63")(handleResponse(request, exit.value));
70
+ }
71
+ return handleCause(request, exit.cause);
72
+ }, middleware)(httpApp);
73
+ return tsplus_module_1.map(runFork => {
74
+ return function handler(nodeRequest, nodeResponse) {
75
+ const fiber = runFork(tsplus_module_11.provideSomeService(new ServerRequestImpl(nodeRequest, nodeResponse), tsplus_module_10.ServerRequestTag, fileName_1 + ":124:38")(handledApp));
76
+ nodeResponse.on("close", () => {
77
+ if (!nodeResponse.writableEnded) {
78
+ if (!nodeResponse.headersSent) {
79
+ nodeResponse.writeHead(499);
80
+ }
81
+ nodeResponse.end();
82
+ tsplus_module_12.unsafeRunOrFork(fiber.interruptAsFork(clientAbortFiberId));
83
+ }
84
+ });
85
+ };
86
+ }, fileName_1 + ":121:49")(tsplus_module_13.makeRuntime());
87
+ }
88
+ export function makeUpgradeHandler(wss, httpApp, middleware) {
89
+ const handledApp = tsplus_module_9.toHandled((request, exit) => {
90
+ if (tsplus_module_8.isSuccess(exit)) {
91
+ return tsplus_module_1.catchAllCause(cause => handleCause(request, cause), fileName_1 + ":150:63")(handleResponse(request, exit.value));
92
+ }
93
+ return handleCause(request, exit.cause);
94
+ }, middleware)(httpApp);
95
+ return tsplus_module_1.map(runFork => {
96
+ return function handler(nodeRequest, socket, head) {
97
+ let nodeResponse_ = undefined;
98
+ const nodeResponse = () => {
99
+ if (nodeResponse_ === undefined) {
100
+ nodeResponse_ = new Http.ServerResponse(nodeRequest);
101
+ nodeResponse_.assignSocket(socket);
102
+ }
103
+ return nodeResponse_;
104
+ };
105
+ const upgradeEffect = tsplus_module_14.fromWebSocket(tsplus_module_1.flatMap(wss => tsplus_module_4.acquireRelease(() => tsplus_module_1.async(resume => {
106
+ wss.handleUpgrade(nodeRequest, socket, head, ws => {
107
+ resume(tsplus_module_1.succeedNow(ws, fileName_1 + ":172:37"));
108
+ });
109
+ }), ws => tsplus_module_1.succeed(() => ws.close(), fileName_1 + ":175:23"), fileName_1 + ":169:28"), fileName_1 + ":168:20")(wss));
110
+ const fiber = runFork(tsplus_module_11.provideSomeService(new ServerRequestImpl(nodeRequest, nodeResponse, upgradeEffect), tsplus_module_10.ServerRequestTag, fileName_1 + ":181:38")(handledApp));
111
+ socket.on("close", () => {
112
+ const res = nodeResponse();
113
+ if (!socket.writableEnded) {
114
+ if (!res.headersSent) {
115
+ res.writeHead(499);
116
+ }
117
+ res.end();
118
+ tsplus_module_12.unsafeRunOrFork(fiber.interruptAsFork(clientAbortFiberId));
119
+ }
120
+ });
121
+ };
122
+ }, fileName_1 + ":155:49")(tsplus_module_13.makeRuntime());
123
+ }
124
+ function handleCause(request, cause) {
125
+ return tsplus_module_1.succeed(() => {
126
+ const nodeResponse = request.resolvedResponse;
127
+ if (!nodeResponse.headersSent) {
128
+ nodeResponse.writeHead(tsplus_module_15.isInterruptedOnly(cause) ? 503 : 500);
129
+ }
130
+ if (!nodeResponse.writableEnded) {
131
+ nodeResponse.end();
132
+ }
133
+ }, fileName_1 + ":202:12");
134
+ }
135
+ export function handleResponse(request, response) {
136
+ return tsplus_module_1.defer(() => {
137
+ const nodeResponse = request.resolvedResponse;
138
+ if (nodeResponse.writableEnded) {
139
+ return tsplus_module_1.unit;
140
+ } else if (request.method === "HEAD") {
141
+ nodeResponse.writeHead(response.status, response.headers.toHeadersInit());
142
+ nodeResponse.end();
143
+ return tsplus_module_1.unit;
144
+ }
145
+ tsplus_module_16.concrete(response.body);
146
+ switch (response.body._tag) {
147
+ case 0 /* BodyTag.Empty */:
148
+ {
149
+ nodeResponse.writeHead(response.status, response.headers.toHeadersInit());
150
+ nodeResponse.end();
151
+ return tsplus_module_1.unit;
152
+ }
153
+ case 1 /* BodyTag.Raw */:
154
+ {
155
+ nodeResponse.writeHead(response.status, response.headers.toHeadersInit());
156
+ if (typeof response.body.body === "object" && response.body.body !== null && "pipe" in response.body.body && typeof response.body.body.pipe === "function") {
157
+ return tsplus_module_1.fromPromiseCatch(() => pipeline(response.body.body, nodeResponse, {
158
+ end: true
159
+ }), error => new ResponseError(request, response, "Decode", error), fileName_1 + ":238:37");
160
+ }
161
+ nodeResponse.end(response.body.body);
162
+ return tsplus_module_1.unit;
163
+ }
164
+ case 2 /* BodyTag.Uint8Array */:
165
+ {
166
+ nodeResponse.writeHead(response.status, response.headers.toHeadersInit());
167
+ nodeResponse.end(response.body.body);
168
+ return tsplus_module_1.unit;
169
+ }
170
+ case 3 /* BodyTag.FormData */:
171
+ {
172
+ return tsplus_module_1.async(resume => {
173
+ const r = new Response(response.body.formData);
174
+ const headers = {
175
+ ...response.headers,
176
+ ...Object.fromEntries(r.headers)
177
+ };
178
+ nodeResponse.writeHead(response.status, headers);
179
+ Readable.fromWeb(r.body).pipe(nodeResponse).on("error", error => {
180
+ resume(tsplus_module_1.failNow(new ResponseError(request, response, "Decode", error), fileName_1 + ":262:32"));
181
+ }).once("finish", () => {
182
+ resume(tsplus_module_1.unit);
183
+ });
184
+ });
185
+ }
186
+ case 4 /* BodyTag.Stream */:
187
+ {
188
+ nodeResponse.writeHead(response.status, response.headers.toHeadersInit());
189
+ return tsplus_module_17.run(NodeStream.fromWritable(() => nodeResponse, error => new ResponseError(request, response, "Decode", error)), fileName_1 + ":273:15")(tsplus_module_17.mapError(error => new ResponseError(request, response, "Decode", error), fileName_1 + ":272:20")(response.body.stream));
190
+ }
191
+ }
192
+ }, fileName_1 + ":214:18");
193
+ }
194
+ //# sourceMappingURL=Server.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Server.mjs","names":["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","makeHandler","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":"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"}