UNPKG

@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
"use strict"; // 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=