UNPKG

@omnia/fx-models

Version:
48 lines (47 loc) 2.77 kB
"use strict"; 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 = {}));