@dolittle/sdk.aggregates
Version:
Dolittle is a decentralized, distributed, event-driven microservice platform built to harness the power of events.
42 lines • 2.89 kB
JavaScript
;
// Copyright (c) Dolittle. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
var _a;
Object.defineProperty(exports, "__esModule", { value: true });
exports.isAggregateRootModelId = exports.AggregateRootModelId = void 0;
const sdk_common_1 = require("@dolittle/sdk.common");
const sdk_events_1 = require("@dolittle/sdk.events");
const AggregateRootType_1 = require("./AggregateRootType");
/**
* Represents the identifier of an aggregate root in an application model.
*/
class AggregateRootModelId extends sdk_common_1.ModelIdentifier {
/**
* Initialises a new instance of the {@link AggregateRootModelId} class.
* @param {AggregateRootType} aggregateRootType - The aggregate root type.
*/
constructor(aggregateRootType) {
super(aggregateRootType.id, '@dolittle/sdk.events.AggregateRootModelId', { aggregateRootType });
/** @inheritdoc */
this[_a] = 'AggregateRoot';
}
/**
* Gets the aggregate root type of the identifier.
*/
get aggregateRootType() {
return this.__extras.aggregateRootType;
}
/** @inheritdoc */
toStringExtras(extras) {
return { generation: this.aggregateRootType.generation };
}
}
exports.AggregateRootModelId = AggregateRootModelId;
_a = Symbol.toStringTag;
/**
* Checks whether or not an object is an instance of {@link AggregateRootModelId}.
* @param {any} object - The object to check.
* @returns {boolean} True if the object is an {@link AggregateRootModelId}, false if not.
*/
exports.isAggregateRootModelId = (0, sdk_common_1.createIsModelIdentifier)(AggregateRootModelId, sdk_events_1.isAggregateRootId, '@dolittle/sdk.events.AggregateRootModelId', { aggregateRootType: AggregateRootType_1.isAggregateRootType });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWdncmVnYXRlUm9vdE1vZGVsSWQuanMiLCJzb3VyY2VSb290IjoiLi4vIiwic291cmNlcyI6WyJBZ2dyZWdhdGVSb290TW9kZWxJZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsK0NBQStDO0FBQy9DLHFHQUFxRzs7OztBQUVyRyxxREFBZ0Y7QUFDaEYscURBQTBFO0FBRTFFLDJEQUE2RTtBQUU3RTs7R0FFRztBQUNILE1BQWEsb0JBQXFCLFNBQVEsNEJBQXVIO0lBQzdKOzs7T0FHRztJQUNILFlBQVksaUJBQW9DO1FBQzVDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsMkNBQTJDLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUM7UUFVcEcsa0JBQWtCO1FBQ1IsUUFBb0IsR0FBRyxlQUFlLENBQUM7SUFWakQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxpQkFBaUI7UUFDakIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDO0lBQzNDLENBQUM7SUFLRCxrQkFBa0I7SUFDUixjQUFjLENBQUMsTUFBZ0Q7UUFDckUsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDN0QsQ0FBQztDQUNKO0FBdkJELG9EQXVCQztLQU5jLE1BQU0sQ0FBQyxXQUFXO0FBUWpDOzs7O0dBSUc7QUFDVSxRQUFBLHNCQUFzQixHQUFHLElBQUEsb0NBQXVCLEVBQ3pELG9CQUFvQixFQUNwQiw4QkFBaUIsRUFDakIsMkNBQTJDLEVBQzNDLEVBQUUsaUJBQWlCLEVBQUUsdUNBQW1CLEVBQUUsQ0FBQyxDQUFDIn0=