UNPKG

@sysdoc/sharepoint-utils

Version:

Sysdoc's core Sharepoint utilities

46 lines (45 loc) 1.92 kB
"use strict"; /*! * 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;