nixfilter
Version:
Simplify the development of (UNIX) "Filters"
70 lines (61 loc) • 1.47 kB
JavaScript
;
var byte_writer, bytes_writer, character_writer, characters_writer, json_line_writer, line_writer;
bytes_writer = function() {
return function(write_bytes) {
return function(data) {
if (!Buffer.isBuffer(data)) {
data = Buffer.from(data);
}
write_bytes(data);
};
};
};
byte_writer = function() {
return function(write_bytes) {
var write;
write = bytes_writer()(write_bytes);
return function(data) {
write([data]);
};
};
};
characters_writer = function(encoding) {
encoding = encoding || 'utf8';
return function(write_bytes) {
var write;
write = bytes_writer()(write_bytes);
return function(data) {
write(Buffer.from(data, encoding));
};
};
};
character_writer = characters_writer;
line_writer = function(encoding) {
return function(write_bytes) {
var write;
write = characters_writer(encoding)(write_bytes);
return function(data) {
write(data);
write('\n');
};
};
};
json_line_writer = function(encoding) {
return function(write_bytes) {
var write;
write = line_writer(encoding)(write_bytes);
return function(data) {
write(JSON.stringify(data));
};
};
};
// What this module exports
module.exports = {
byte: byte_writer,
bytes: bytes_writer,
character: character_writer,
characters: characters_writer,
json_line: json_line_writer,
line: line_writer
};
//# sourceMappingURL=writer.js.map