@enonic/js-utils
Version:
Enonic XP JavaScript Utils
44 lines (38 loc) • 1.15 kB
JavaScript
// array/forceArray.ts
function forceArray(data) {
return Array.isArray(data) ? data : [data];
}
// value/isFunction.ts
function isFunction(value) {
return Object.prototype.toString.call(value).slice(8, -1) === "Function";
}
// value/isInt.ts
function isInt(value) {
return typeof value === "number" && isFinite(value) && // TODO Is isFinite() available in Enonic XP?
Math.floor(value) === value;
}
// value/isInteger.ts
var isInteger = "isInteger" in Number && isFunction(Number.isInteger) ? Number.isInteger : isInt;
// value/isObject.ts
var isObject = (value) => Object.prototype.toString.call(value).slice(8, -1) === "Object";
// storage/query/buildFields.ts
function buildFieldsArray(fields) {
return forceArray(fields).map((stringOrObj) => {
let boost;
let field;
if (isObject(stringOrObj)) {
boost = stringOrObj.boost || void 0;
field = stringOrObj.field;
} else {
field = stringOrObj;
}
return `${field}${boost && boost !== 1 ? `^${boost}` : ""}`;
});
}
function buildFields(fields) {
return `'${buildFieldsArray(fields).join(",")}'`;
}
export {
buildFields,
buildFieldsArray
};