@dolittle/sdk.projections
Version:
Dolittle is a decentralized, distributed, event-driven microservice platform built to harness the power of events.
39 lines • 3.04 kB
JavaScript
"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.ProjectionOf = void 0;
const IProjectionOf_1 = require("./IProjectionOf");
/**
* Represents an implementation of {@link IProjectionOf}.
* @template TReadModel The type of the projection read model.
*/
class ProjectionOf extends IProjectionOf_1.IProjectionOf {
/**
* Initialises a new instance of the {@link ProjectionOf} class.
* @param {Constructor<TReadModel>} _readModelType - The type of the read model.
* @param {IProjectionStore} _projectionStore - The projection store to get the projection from.
* @param {ScopedProjectionId} identifier - The scoped projection identifier.
*/
constructor(_readModelType, _projectionStore, identifier) {
super();
this._readModelType = _readModelType;
this._projectionStore = _projectionStore;
this.identifier = identifier.projectionId;
this.scope = identifier.scopeId;
}
/** @inheritdoc */
get(key, cancellation) {
return this._projectionStore.get(this._readModelType, key, this.identifier, this.scope, cancellation);
}
/** @inheritdoc */
getState(key, cancellation) {
return this._projectionStore.getState(this._readModelType, key, this.identifier, this.scope, cancellation);
}
/** @inheritdoc */
getAll(cancellation) {
return this._projectionStore.getAll(this._readModelType, this.identifier, this.scope, cancellation);
}
}
exports.ProjectionOf = ProjectionOf;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvamVjdGlvbk9mLmpzIiwic291cmNlUm9vdCI6Ii4uLyIsInNvdXJjZXMiOlsiU3RvcmUvUHJvamVjdGlvbk9mLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwrQ0FBK0M7QUFDL0MscUdBQXFHOzs7QUFRckcsbURBQWdEO0FBSWhEOzs7R0FHRztBQUNILE1BQWEsWUFBeUIsU0FBUSw2QkFBeUI7SUFPbkU7Ozs7O09BS0c7SUFDSCxZQUNZLGNBQXVDLEVBQzlCLGdCQUFrQyxFQUNuRCxVQUE4QjtRQUM5QixLQUFLLEVBQUUsQ0FBQztRQUhBLG1CQUFjLEdBQWQsY0FBYyxDQUF5QjtRQUM5QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBR25ELElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDLFlBQVksQ0FBQztRQUMxQyxJQUFJLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUM7SUFDcEMsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixHQUFHLENBQUMsR0FBUSxFQUFFLFlBQTJCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDMUcsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixRQUFRLENBQUMsR0FBUSxFQUFFLFlBQTJCO1FBQzFDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDL0csQ0FBQztJQUVELGtCQUFrQjtJQUNsQixNQUFNLENBQUMsWUFBMkI7UUFDOUIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3hHLENBQUM7Q0FDSjtBQXBDRCxvQ0FvQ0MifQ==