UNPKG

@pujansrt/data-genie

Version:

High performant ETL engine written in TypeScript

25 lines (24 loc) 829 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.JsonReader = void 0; const fs_1 = require("fs"); class JsonReader { constructor(filePath) { this.filePath = filePath; } async *read() { const data = await new Promise((resolve, reject) => { const stream = (0, fs_1.createReadStream)(this.filePath, { encoding: 'utf8' }); let content = ''; stream.on('data', (chunk) => (content += chunk)); stream.on('end', () => resolve(content)); stream.on('error', (err) => reject(err)); }); // Assuming the JSON file contains an array of objects const records = JSON.parse(data); for (const record of records) { yield record; } } } exports.JsonReader = JsonReader;