2.0.0 • Published 18 days ago

mhtml-stream v2.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
18 days ago

MHTML Stream

build docs npm license

Zero-dependency library for parsing MHTML data as streams using modern WHATWG streams and async iterators. Because it relies on modern cross javascript standards it works out-of-the-box in all javascript environments, with only a little tweaking necessary for module definitions.

Usage

import { parseMhtml } from "mhtml-stream";

for await (const { headers, content } of parseMhtml(...)) {
  // ... : an async iterable of ArrayBuffers. This is very similar to the
  //   interface of a ReadableStream, but is a little more platform agnostic
  //   given that node handles streams significantly differently.

  // headers : a key-value object with the header information

  // content : a Uint8Array of the raw data, if you want as a string, `new
  //   TextDecoder().decode(content)` should work if the contents were utf-8 /
  //   ascii encoded

  // NOTE in many MHTML files, the initial file is empty and contains headers
  // for how to parse each individual included file.
}

Notes

  • As far as I can tell, header folding behavior is not well defined when it comes to whether whitespace should be added when unfolding. This currently uses the first whitespace character to indicate folding, and preservers any others.
2.0.0

18 days ago

1.0.4

10 months ago

1.0.3

10 months ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

2 years ago

0.0.3

2 years ago

0.0.4

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago