@sysdoc/sharepoint-utils
Version:
Sysdoc's core Sharepoint utilities
46 lines (45 loc) • 1.92 kB
JavaScript
;
/*!
* Copyright Sysdoc @ 2019
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.SPSearchQueryBuilder = void 0;
var RefinerType_1 = require("../../search/RefinerType");
var SPSearchQueryBuilder = /** @class */ (function () {
function SPSearchQueryBuilder() {
}
SPSearchQueryBuilder.prototype.constructKQLRefinersString = function (refiners) {
return refiners.map(function (e) {
switch (e.type) {
case RefinerType_1.RefinerType.Date:
return e.key + ":" + new Date(e.value).format("yyyy-MM-dd");
case RefinerType_1.RefinerType.DateTime:
return e.key + ":" + new Date(e.value).format("yyyy-MM-ddThh:mm:ss");
case RefinerType_1.RefinerType.String:
if (e.isExact) {
return e.key + ":\"" + e.value + "\" ";
}
else {
return e.key + ":" + e.value + " ";
}
case RefinerType_1.RefinerType.User:
case RefinerType_1.RefinerType.Taxonomy:
return " (" + e.value.map(function () {
return e.key + ":" + e.value;
}).join(" OR ") + ") ";
case RefinerType_1.RefinerType.Number:
default:
return e.key + ":" + e.value + " ";
}
});
};
SPSearchQueryBuilder.prototype.constructFQLRefinersString = function (refiners) {
return "";
};
SPSearchQueryBuilder.prototype.getQuery = function (query, refiners) {
var str = query.trim();
return str + (" " + this.constructKQLRefinersString(refiners).join(" AND "));
};
return SPSearchQueryBuilder;
}());
exports.SPSearchQueryBuilder = SPSearchQueryBuilder;