UNPKG

flexmonster-mongo-connector

Version:

Custom data source API implementation for MongoDB

39 lines 1.39 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MapDataObject = void 0; const MemoryCalculator_1 = require("../../../utils/MemoryCalculator"); class MapDataObject { constructor(parsedData, startDate) { this.data = parsedData; this.dataSize = MemoryCalculator_1.MemoryCalculator.calculateMapDataSize(this.data); this.timeForCalculation = new Date().getTime() - startDate.getTime(); } getIterationKeys() { return this.data.keys(); } getChunk(iterator, chunkSize) { let dataChunk = null; let isFinished = false; if (chunkSize >= this.data.size) { dataChunk = Array.from(this.data, ([key, value]) => value); isFinished = true; } else { dataChunk = []; let dataItem = iterator.next(); let currentChunkSize = 0; while (!dataItem.done && currentChunkSize < chunkSize) { dataChunk.push(this.data.get(dataItem.value)); currentChunkSize++; dataItem = iterator.next(); } isFinished = dataItem.done; } return { data: dataChunk, isFinished: isFinished }; } } exports.MapDataObject = MapDataObject; //# sourceMappingURL=MapDataObject.js.map