UNPKG

@dolittle/sdk.projections

Version:

Dolittle is a decentralized, distributed, event-driven microservice platform built to harness the power of events.

36 lines 2.74 kB
"use strict"; // Copyright (c) Dolittle. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. Object.defineProperty(exports, "__esModule", { value: true }); exports.ProjectionStoreBuilder = void 0; const rudiments_1 = require("@dolittle/rudiments"); const ProjectionStore_1 = require("../ProjectionStore"); const IProjectionStoreBuilder_1 = require("./IProjectionStoreBuilder"); /** * Represents an implementation of {@link IProjectionsStoreBuilder}. */ class ProjectionStoreBuilder extends IProjectionStoreBuilder_1.IProjectionStoreBuilder { /** * Initializes a new instance of {@link ProjectionStoreBuilder}. * @param {ProjectionsClient} _projectionsClient - The client for the projections. * @param {ExecutionContext} _executionContext - The execution context. * @param {IProjectionReadModelTypes} _readModelTypes - The projection associations. * @param {Logger} _logger - The logger. */ constructor(_projectionsClient, _executionContext, _readModelTypes, _logger) { super(); this._projectionsClient = _projectionsClient; this._executionContext = _executionContext; this._readModelTypes = _readModelTypes; this._logger = _logger; } /** @inheritdoc */ forTenant(tenantId) { const executionContext = this._executionContext .forTenant(tenantId) .forCorrelation(rudiments_1.Guid.create()); return new ProjectionStore_1.ProjectionStore(this._projectionsClient, executionContext, this._readModelTypes, this._logger); } } exports.ProjectionStoreBuilder = ProjectionStoreBuilder; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvamVjdGlvblN0b3JlQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIuLi8iLCJzb3VyY2VzIjpbIlN0b3JlL0J1aWxkZXJzL1Byb2plY3Rpb25TdG9yZUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLCtDQUErQztBQUMvQyxxR0FBcUc7OztBQUdyRyxtREFBMkM7QUFRM0Msd0RBQXFEO0FBQ3JELHVFQUFvRTtBQUVwRTs7R0FFRztBQUNILE1BQWEsc0JBQXVCLFNBQVEsaURBQXVCO0lBRS9EOzs7Ozs7T0FNRztJQUNILFlBQ3FCLGtCQUFxQyxFQUNyQyxpQkFBbUMsRUFDbkMsZUFBMEMsRUFDMUMsT0FBZTtRQUM1QixLQUFLLEVBQUUsQ0FBQztRQUpLLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUFDckMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQUNuQyxvQkFBZSxHQUFmLGVBQWUsQ0FBMkI7UUFDMUMsWUFBTyxHQUFQLE9BQU8sQ0FBUTtJQUVwQyxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFNBQVMsQ0FBQyxRQUFzQjtRQUM1QixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxpQkFBaUI7YUFDMUMsU0FBUyxDQUFDLFFBQVEsQ0FBQzthQUNuQixjQUFjLENBQUMsZ0JBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRW5DLE9BQU8sSUFBSSxpQ0FBZSxDQUN0QixJQUFJLENBQUMsa0JBQWtCLEVBQ3ZCLGdCQUFnQixFQUNoQixJQUFJLENBQUMsZUFBZSxFQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEIsQ0FBQztDQUNKO0FBN0JELHdEQTZCQyJ9