Options
All
  • Public
  • Public/Protected
  • All
Menu

ObjectStream - v3.1.1

@sergdudko/objectstream

Creates a stream to convert json from string or convert json to drain. The stream is based on the incoming object stream.

npm npm NpmLicense GitHub last commit GitHub release

  • Based on native methods of NodeJS

INSTALL

    npm i @sergdudko/objectstream --save

DOCS

See docs

SUPPORTED ENCODING

Stream incoming stream outgoing stream
Stringifer utf8 (object mode) utf8, base64, latin1, binary, hex
Parser utf8, base64, latin1, binary, hex utf8 (object mode)

USE

// REQUIRE OR IMPORT CLASS

const Stringifer = require("@sergdudko/objectstream").Stringifer;
const Parser = require("@sergdudko/objectstream").Parser;
// or use import
import { Stringifer, Parser } from "@sergdudko/objectstream";

// CREATE STREAM

const firstSeparator = "[";
const middleSeparator = ",";
const endSeparator = "]";
const stringToObject = new Parser(
firstSeparator,
middleSeparator,
endSeparator
);
const objectToString = new Stringifer(
firstSeparator,
middleSeparator,
endSeparator
);

// EVENTS

stringToObject.on("data", (e) => {
// e - is Object
});
stringToObject.on("error", (d) => {
// e - Array of Error
});
stringToObject.on("end", () => {
// end event
});
stringToObject.on("finish", () => {
// finish event
});
objectToString.on("data", (e) => {
// e - is Buffer (deault, if you need a string use setEncoding)
});
objectToString.on("error", (d) => {
// e - Array of Error
});
objectToString.on("end", () => {
// end event
});
objectToString.on("finish", () => {
// finish event
});

// CHANGE ENCODING

stringToObject.setEncoding("latin1");
objectToString.setEncoding("latin1");

// WRITE DATA (example for utf8)

stringToObject.write('{"boolean":true}');
objectToString.write({ boolean: true });

// PIPE

stringToObject.pipe(objectToString);

WARNING

Streams behave unexpectedly when processing errors in versions node 14 and later. In these versions, you need to make sure that in case of an error the stream will be destroyed or the processing of the stream will continue.

EXAMPLE

see test directory

OLDER VERSIONS

LICENSE

MIT