UNPKG

@enonic/js-utils

Version:
44 lines (38 loc) 1.15 kB
// 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 };