@enonic/js-utils
Version:
Enonic XP JavaScript Utils
46 lines (43 loc) • 987 B
JavaScript
// value/isDate.ts
function isDate(value) {
return Object.prototype.toString.call(value).slice(8, -1) === "Date";
}
// storage/query/dsl/term.ts
var DSL_EXPRESSION_VALUE_TYPE_DATE_TIME = "dateTime";
var DSL_EXPRESSION_VALUE_TYPE_TIME = "time";
// storage/query/dsl/range.ts
function ifDateCastToISOString(v) {
if (isDate(v)) {
return v.toISOString();
}
return v;
}
function range(field, limits = {}, boost, type) {
const range2 = {
field
};
if (limits.gt) {
range2.gt = ifDateCastToISOString(limits.gt);
}
if (limits.gte) {
range2.gte = ifDateCastToISOString(limits.gte);
}
if (limits.lt) {
range2.lt = ifDateCastToISOString(limits.lt);
}
if (limits.lte) {
range2.lte = ifDateCastToISOString(limits.lte);
}
if (boost) {
range2.boost = boost;
}
if (type === DSL_EXPRESSION_VALUE_TYPE_TIME || type === DSL_EXPRESSION_VALUE_TYPE_DATE_TIME) {
range2.type = type;
}
return {
range: range2
};
}
export {
range
};