@omnia/fx-models
Version:
Provide Omnia Fx Models Stuffs.
48 lines (47 loc) • 2.77 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SemanticSearchPropertyDataType = exports.SemanticSearchQueryableEnterpriseProperty = exports.SemanticSearchQueryableProperty = void 0;
const Constants_1 = require("../Constants");
const Enums_1 = require("../Enums");
class SemanticSearchQueryableProperty {
constructor(internalName, dataType) {
this.isEnterpriseProperty = () => this.internalName.startsWith(Constants_1.Constants.aiEngine.semanticSearchEnterprisePropertyPrefix);
this.getProviderInternalName = () => {
if (this.isEnterpriseProperty()) {
return this.internalName.substring(Constants_1.Constants.aiEngine.semanticSearchEnterprisePropertyPrefix.length);
}
return this.internalName;
};
this.internalName = internalName;
this.dataType = dataType;
}
}
exports.SemanticSearchQueryableProperty = SemanticSearchQueryableProperty;
class SemanticSearchQueryableEnterpriseProperty extends SemanticSearchQueryableProperty {
constructor(definition) {
const dataType = SemanticSearchQueryableEnterpriseProperty.getSemanticSearchDataType(definition);
super(Constants_1.Constants.aiEngine.semanticSearchEnterprisePropertyPrefix + definition.internalName, dataType);
}
}
exports.SemanticSearchQueryableEnterpriseProperty = SemanticSearchQueryableEnterpriseProperty;
SemanticSearchQueryableEnterpriseProperty.getSemanticSearchDataType = (definition) => {
switch (definition.enterprisePropertyDataType.indexedType) {
case Enums_1.PropertyIndexedType.Text:
return SemanticSearchPropertyDataType.String;
case Enums_1.PropertyIndexedType.Boolean:
return SemanticSearchPropertyDataType.Int32;
case Enums_1.PropertyIndexedType.Taxonomy:
return SemanticSearchPropertyDataType.StringCollection;
case Enums_1.PropertyIndexedType.DateTime:
return SemanticSearchPropertyDataType.DateTimeOffset;
}
return null;
};
var SemanticSearchPropertyDataType;
(function (SemanticSearchPropertyDataType) {
SemanticSearchPropertyDataType[SemanticSearchPropertyDataType["String"] = 0] = "String";
SemanticSearchPropertyDataType[SemanticSearchPropertyDataType["StringCollection"] = 1] = "StringCollection";
SemanticSearchPropertyDataType[SemanticSearchPropertyDataType["Int32"] = 2] = "Int32";
SemanticSearchPropertyDataType[SemanticSearchPropertyDataType["Int32Collection"] = 3] = "Int32Collection";
SemanticSearchPropertyDataType[SemanticSearchPropertyDataType["DateTimeOffset"] = 4] = "DateTimeOffset";
})(SemanticSearchPropertyDataType = exports.SemanticSearchPropertyDataType || (exports.SemanticSearchPropertyDataType = {}));