(input)
| 16648 | return newParticle |
| 16649 | } |
| 16650 | async appendFromStream(input) { |
| 16651 | var _a, e_1, _b, _c |
| 16652 | const { edgeSymbol, particleBreakSymbol } = this |
| 16653 | let buffer = "" |
| 16654 | const breakRegex = new RegExp(`${particleBreakSymbol}(?!${edgeSymbol})`) |
| 16655 | // Node.js Readable stream |
| 16656 | if (typeof process !== "undefined" && input instanceof require("stream").Readable) { |
| 16657 | try { |
| 16658 | for (var _d = true, input_1 = __asyncValues(input), input_1_1; (input_1_1 = await input_1.next()), (_a = input_1_1.done), !_a; ) { |
| 16659 | _c = input_1_1.value |
| 16660 | _d = false |
| 16661 | try { |
| 16662 | const chunk = _c |
| 16663 | buffer += chunk.toString("utf8") |
| 16664 | while (true) { |
| 16665 | const breakIndex = buffer.search(breakRegex) |
| 16666 | if (breakIndex === -1) break |
| 16667 | const block = buffer.slice(0, breakIndex) |
| 16668 | buffer = buffer.slice(breakIndex + particleBreakSymbol.length) |
| 16669 | await this._transformAndAppendBlockAsync(block) |
| 16670 | } |
| 16671 | } finally { |
| 16672 | _d = true |
| 16673 | } |
| 16674 | } |
| 16675 | } catch (e_1_1) { |
| 16676 | e_1 = { error: e_1_1 } |
| 16677 | } finally { |
| 16678 | try { |
| 16679 | if (!_d && !_a && (_b = input_1.return)) await _b.call(input_1) |
| 16680 | } finally { |
| 16681 | if (e_1) throw e_1.error |
| 16682 | } |
| 16683 | } |
| 16684 | // Process remaining buffer |
| 16685 | await this._transformAndAppendBlockAsync(buffer) |
| 16686 | } |
| 16687 | // Browser ReadableStream |
| 16688 | else if (typeof ReadableStream !== "undefined" && input instanceof ReadableStream) { |
| 16689 | const reader = input.getReader() |
| 16690 | try { |
| 16691 | while (true) { |
| 16692 | const { done, value } = await reader.read() |
| 16693 | if (done) break |
| 16694 | buffer += new TextDecoder().decode(value) // Convert Uint8Array to string |
| 16695 | while (true) { |
| 16696 | const breakIndex = buffer.search(breakRegex) |
| 16697 | if (breakIndex === -1) break |
| 16698 | const block = buffer.slice(0, breakIndex) |
| 16699 | buffer = buffer.slice(breakIndex + particleBreakSymbol.length) |
| 16700 | await this._transformAndAppendBlockAsync(block) |
| 16701 | } |
| 16702 | } |
| 16703 | // Process remaining buffer |
| 16704 | await this._transformAndAppendBlockAsync(buffer) |
| 16705 | } finally { |
| 16706 | reader.releaseLock() |
| 16707 | } |
no test coverage detected