@configurator/ravendb
Version:
RavenDB client for Node.js
50 lines • 2.73 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.AbstractCsharpMultiMapIndexCreationTask = void 0;
const Exceptions_1 = require("../../Exceptions");
const IndexDefinition_1 = require("./IndexDefinition");
const DocumentConventions_1 = require("../Conventions/DocumentConventions");
const AbstractGenericIndexCreationTask_1 = require("./AbstractGenericIndexCreationTask");
class AbstractCsharpMultiMapIndexCreationTask extends AbstractGenericIndexCreationTask_1.AbstractGenericIndexCreationTask {
constructor() {
super(...arguments);
this.maps = [];
}
get isMapReduce() {
return !!this.reduce;
}
addMap(map) {
if (!map) {
(0, Exceptions_1.throwError)("InvalidArgumentException", "Map cannot be null.");
}
this.maps.push(map);
}
createIndexDefinition() {
if (!this.conventions) {
this.conventions = new DocumentConventions_1.DocumentConventions();
}
const indexDefinitionBuilder = new IndexDefinition_1.IndexDefinitionBuilder(this.getIndexName());
indexDefinitionBuilder.indexesStrings = this.indexesStrings;
indexDefinitionBuilder.analyzersStrings = this.analyzersStrings;
indexDefinitionBuilder.reduce = this.reduce;
indexDefinitionBuilder.storesStrings = this.storesStrings;
indexDefinitionBuilder.suggestionsOptions = this.indexSuggestions;
indexDefinitionBuilder.termVectorsStrings = this.termVectorsStrings;
indexDefinitionBuilder.spatialIndexesStrings = this.spatialOptionsStrings;
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;
const indexDefinition = indexDefinitionBuilder.toIndexDefinition(this.conventions, false);
indexDefinition.maps = new Set(this.maps);
return indexDefinition;
}
}
exports.AbstractCsharpMultiMapIndexCreationTask = AbstractCsharpMultiMapIndexCreationTask;
//# sourceMappingURL=AbstractCsharpMultiMapIndexCreationTask.js.map