UNPKG

single-byte

Version:

Transforms for single-byte encodings

60 lines (47 loc) 1.12 kB
/* @flow */ declare var stream: $Exports<'stream'>; const { encode, decode } = require('./index'); /** */ class Encoder extends stream.Transform { constructor(encoding: string, options?: *) { super(options); this._encoding = encoding; } _encoding: string; _transform( chunk: Buffer | string, encoding: string, callback: (error: ?Error, data?: Buffer | string) => void ): void { callback(null, encode(this._encoding, chunk.toString())); } /** */ setSingleByteEncoding(encoding: string) { this._encoding = encoding; } } module.exports.Encoder = Encoder; /** */ class Decoder extends stream.Transform { constructor(encoding: string, options?: *) { super(options); this._encoding = encoding; } _encoding: string; _transform( chunk: Buffer | string, encoding: string, callback: (error: ?Error, data?: Buffer | string) => void ): void { callback(null, decode(this._encoding, Buffer.from(chunk))); } /** */ setSingleByteEncoding(encoding: string) { this._encoding = encoding; } } module.exports.Decoder = Decoder;