@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
JavaScript
;
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;