apisearch
Version:
Javascript client for Apisearch.
74 lines (73 loc) • 1.86 kB
JavaScript
;
exports.__esModule = true;
exports.Range = exports.RANGE_SEPARATOR = exports.RANGE_INFINITE = exports.RANGE_MINUS_INFINITE = void 0;
/**
* Aggregation constants
*/
exports.RANGE_MINUS_INFINITE = null;
exports.RANGE_INFINITE = null;
exports.RANGE_SEPARATOR = "..";
/**
* Filter class
*/
var Range = /** @class */ (function () {
function Range() {
}
/**
* Strong to array
*
* @param string
*
* @returns {[number, number]}
*/
Range.stringToArray = function (string) {
var parts = string.split(exports.RANGE_SEPARATOR);
var from = parts[0];
var to = parts[1];
var finalFrom = exports.RANGE_MINUS_INFINITE;
var finalTo = exports.RANGE_INFINITE;
if (from != "") {
finalFrom = parseInt(from);
}
if (to != "") {
finalTo = parseInt(to);
}
return [finalFrom, finalTo];
};
/**
* Array to string
*
* @param values
*
* @return {string}
*/
Range.arrayToString = function (values) {
var finalValues = ["", ""];
if (values[0] != exports.RANGE_MINUS_INFINITE) {
finalValues[0] = String(values[0]);
}
if (values[1] != exports.RANGE_INFINITE) {
finalValues[1] = String(values[1]);
}
return finalValues.join(exports.RANGE_SEPARATOR);
};
/**
* Create ranges
*
* @param from
* @param to
* @param incremental
*/
Range.createRanges = function (from, to, incremental) {
var ranges = [];
var nextTo;
while (from < to) {
nextTo = from + incremental;
ranges.push(from + exports.RANGE_SEPARATOR + nextTo);
from = nextTo;
}
return ranges;
};
return Range;
}());
exports.Range = Range;