@enonic/js-utils
Version:
Enonic XP JavaScript Utils
45 lines (39 loc) • 1.21 kB
JavaScript
// value/isObject.ts
var isObject = (value) => Object.prototype.toString.call(value).slice(8, -1) === "Object";
// value/isStringLiteral.ts
var isStringLiteral = (value) => typeof value === "string";
// value/isStringObject.ts
var isStringObject = (value) => value instanceof String;
// value/isString.ts
var isString = (value) => isStringLiteral(value) || isStringObject(value);
// string/includes.ts
function includes(string, searchString, position) {
if (searchString instanceof RegExp) {
throw new TypeError("second argument must not be a RegExp");
}
if (position === void 0) {
position = 0;
}
return string.indexOf(searchString, position) !== -1;
}
// storage/query/dsl/fieldsContainBoost.ts
function fieldsContainBoost(fields) {
if (Array.isArray(fields)) {
return fields.some((field) => fieldsContainBoost(field));
} else if (isObject(fields)) {
const { boost } = fields;
if (boost && boost !== 1) {
return true;
}
} else if (isString(fields)) {
if (includes(fields, "^")) {
return true;
}
} else {
throw new Error(`fieldsContainBoost: fields is not array, object or string!`);
}
return false;
}
export {
fieldsContainBoost
};