@brimdata/zealot
Version:
The Javascript Client for Zed Lakes
32 lines (31 loc) • 866 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
NEW_LINE: ()=>NEW_LINE,
pipeJson: ()=>pipeJson
});
const _parse = require("./parse");
const NEW_LINE = "\n";
async function* pipeJson(iterator) {
let leftover = "";
for await (let value of iterator){
let start = 0;
let end = 0;
let chunk = leftover += value;
while((end = chunk.indexOf(NEW_LINE, start)) !== -1){
let line = chunk.substring(start, end);
yield (0, _parse.parse)(line);
start = end + NEW_LINE.length;
}
leftover = chunk.substring(start);
}
if (leftover) yield (0, _parse.parse)(leftover);
}