UNPKG

@icon-solutions/balthazar-query-builder

Version:

This package is a query-builder used to convert data from the segment-builder into SQL-queries.

80 lines (79 loc) 3.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.dataHandler = void 0; const addDataHandler_1 = require("./addDataHandler/addDataHandler"); /** * Funksjon som brukes til å gjøre om data fra Title | JobFunction | TitleLevel osv. * til Parameter, slik at det blir enklere å benytte dataene i de ulike queryBuilderne * @param {Array<any> | Object} data Inneholder Array av Title | JobFunction | TitleLevel osv. * Dersom det ikke er en tabell er det et Object (f.eks. ved valg av land). * @returns {Array<Array<Parameter> | Parameter>} Tabell som inneholder ferdig håndtert data. */ const dataHandler = (data) => { const handledData = []; // Data er en array av objekter if (data instanceof Array && data !== null) { for (var i = 0; i < data.length; i++) { // AND-kombinasjon if (data[i].length > 1) { const andCombination = []; for (var j = 0; j < data[i].length; j++) { const dataToAdd = (0, addDataHandler_1.addDataHandler)(data[i][j]); if (dataToAdd !== undefined) { andCombination.push(dataToAdd); } else { throw 'Data contained invalid ID.'; } ; } ; handledData.push(andCombination); // OR-kombinasjon } else { if (data[i] instanceof Array) { for (var j = 0; j < data[i].length; j++) { const dataToAdd = (0, addDataHandler_1.addDataHandler)(data[i][j]); if (dataToAdd !== undefined) { handledData.push(dataToAdd); } else { throw 'Data contained invalid ID.'; } ; } ; } else { const dataToAdd = (0, addDataHandler_1.addDataHandler)(data[i]); if (dataToAdd !== undefined) { handledData.push(dataToAdd); } else { throw 'Data contained invalid ID.'; } ; } ; } ; } ; // Data er kun et objekt, er dermed country (i første omgang, det kun er denne som ikke sendes // som array) } else if (data instanceof Object && data !== null) { // Array inneholder country /*if(checkObjectType(data, 'CountryID')) { var parameter: Parameter = { name: 'country' + parameters.length, value: (data as Country).CountryID, }; parameters.push(parameter); };*/ } ; return handledData; }; exports.dataHandler = dataHandler;