diff options
Diffstat (limited to 'includes/external/addressbook/node_modules/htmlparser2/lib/esm/WritableStream.js')
-rw-r--r-- | includes/external/addressbook/node_modules/htmlparser2/lib/esm/WritableStream.js | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/includes/external/addressbook/node_modules/htmlparser2/lib/esm/WritableStream.js b/includes/external/addressbook/node_modules/htmlparser2/lib/esm/WritableStream.js new file mode 100644 index 0000000..bf6093e --- /dev/null +++ b/includes/external/addressbook/node_modules/htmlparser2/lib/esm/WritableStream.js @@ -0,0 +1,32 @@ +import { Parser } from "./Parser.js"; +/* + * NOTE: If either of these two imports produces a type error, + * please update your @types/node dependency! + */ +import { Writable } from "node:stream"; +import { StringDecoder } from "node:string_decoder"; +// Following the example in https://nodejs.org/api/stream.html#stream_decoding_buffers_in_a_writable_stream +function isBuffer(_chunk, encoding) { + return encoding === "buffer"; +} +/** + * WritableStream makes the `Parser` interface available as a NodeJS stream. + * + * @see Parser + */ +export class WritableStream extends Writable { + constructor(cbs, options) { + super({ decodeStrings: false }); + this._decoder = new StringDecoder(); + this._parser = new Parser(cbs, options); + } + _write(chunk, encoding, callback) { + this._parser.write(isBuffer(chunk, encoding) ? this._decoder.write(chunk) : chunk); + callback(); + } + _final(callback) { + this._parser.end(this._decoder.end()); + callback(); + } +} +//# sourceMappingURL=WritableStream.js.map
\ No newline at end of file |