ravendb
Version:
RavenDB client for Node.js
64 lines • 3.56 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.AbstractCsharpIndexCreationTask = void 0;
const DocumentConventions_js_1 = require("../Conventions/DocumentConventions.js");
const IndexDefinition_js_1 = require("./IndexDefinition.js");
const AbstractGenericIndexCreationTask_js_1 = require("./AbstractGenericIndexCreationTask.js");
const Constants_js_1 = require("../../Constants.js");
const ObjectUtil_js_1 = require("../../Utility/ObjectUtil.js");
/**
* Base class for creating indexes using C# code in string.
* If you want to create JavaScript based index, please use:
*
* __AbstractJavaScriptIndexCreationTask__
*/
class AbstractCsharpIndexCreationTask extends AbstractGenericIndexCreationTask_js_1.AbstractGenericIndexCreationTask {
map;
reduce;
/**
* Gets a value indicating whether this instance is map reduce index definition
* @return if index is of type: Map/Reduce
*/
get isMapReduce() {
return !!this.reduce;
}
/**
* Creates the index definition.
*/
createIndexDefinition() {
if (!this.conventions) {
this.conventions = new DocumentConventions_js_1.DocumentConventions();
}
const indexDefinitionBuilder = new IndexDefinition_js_1.IndexDefinitionBuilder(this.getIndexName());
indexDefinitionBuilder.indexesStrings = this.indexesStrings;
indexDefinitionBuilder.analyzersStrings = this.analyzersStrings;
indexDefinitionBuilder.map = this.map;
indexDefinitionBuilder.reduce = this.reduce;
indexDefinitionBuilder.storesStrings = this.storesStrings;
indexDefinitionBuilder.suggestionsOptions = this.indexSuggestions;
indexDefinitionBuilder.termVectorsStrings = this.termVectorsStrings;
indexDefinitionBuilder.spatialIndexesStrings = this.spatialOptionsStrings;
indexDefinitionBuilder.vectorFieldStrings = this.vectorOptionsStrings;
indexDefinitionBuilder.outputReduceToCollection = this.outputReduceToCollection;
indexDefinitionBuilder.patternForOutputReduceToCollectionReferences = this.patternForOutputReduceToCollectionReferences;
indexDefinitionBuilder.patternReferencesCollectionName = this.patternReferencesCollectionName;
indexDefinitionBuilder.additionalSources = this.additionalSources;
indexDefinitionBuilder.additionalAssemblies = this.additionalAssemblies;
indexDefinitionBuilder.configuration = this.configuration;
indexDefinitionBuilder.lockMode = this.lockMode;
indexDefinitionBuilder.priority = this.priority;
indexDefinitionBuilder.state = this.state;
indexDefinitionBuilder.deploymentMode = this.deploymentMode;
indexDefinitionBuilder.compoundFieldsStrings = this.compoundFieldsStrings;
indexDefinitionBuilder.archivedDataProcessingBehavior = this.archivedDataProcessingBehavior;
if (this.searchEngineType && this.searchEngineType !== "None") {
indexDefinitionBuilder.configuration[Constants_js_1.INDEXES.INDEXING_STATIC_SEARCH_ENGINE_TYPE] = this.searchEngineType;
}
else if (!ObjectUtil_js_1.ObjectUtil.isEmpty(this.vectorOptionsStrings)) {
indexDefinitionBuilder.configuration[Constants_js_1.INDEXES.INDEXING_STATIC_SEARCH_ENGINE_TYPE] = "Corax";
}
return indexDefinitionBuilder.toIndexDefinition(this.conventions);
}
}
exports.AbstractCsharpIndexCreationTask = AbstractCsharpIndexCreationTask;
//# sourceMappingURL=AbstractCsharpIndexCreationTask.js.map