UNPKG

@goatlab/fluent

Version:

Readable query Interface & API generator for TS and Node

40 lines 1.77 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.nestQueryResults = void 0; const js_utils_1 = require("@goatlab/js-utils"); const nestQueryResults = (results, keyToNestedKeyMap) => { const nestableObject = {}; let currentLevel = 0; // For each of the keys that we need to map for (const key of Object.keys(keyToNestedKeyMap)) { if (!key.endsWith('_id')) { continue; } const currentLevelMetadata = keyToNestedKeyMap[key]; currentLevel = currentLevelMetadata.level; // We only group by Ids of the current level const grouped = js_utils_1.Arrays.groupBy(results, r => r[key]); const _resultCount = Object.keys(grouped)?.length || 0; // ForEach Id of the grouped results for (const [index, k] of Object.keys(grouped).entries()) { const prefixindex = currentLevelMetadata.nestableKey.lastIndexOf('.'); const prefix = currentLevelMetadata.nestableKey.substring(0, prefixindex); const currentIndex = `${prefix}.${index}.${currentLevelMetadata.keyName}`; const results = grouped[k]; console.log(currentLevelMetadata); // Get current level values if (currentLevelMetadata.level === currentLevel) { // Get value of the id nestableObject[`${currentIndex}`] = k; } // TODO: Process results when implementation is needed for (const _result of results) { // Implementation pending } } // currentLevel = currentLevelMetadata.level } return results; }; exports.nestQueryResults = nestQueryResults; //# sourceMappingURL=nestQueryResults.js.map