@dolittle/sdk.projections
Version:
Dolittle is a decentralized, distributed, event-driven microservice platform built to harness the power of events.
37 lines • 2.25 kB
JavaScript
;
// 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.isProjectionId = exports.ProjectionId = void 0;
const concepts_1 = require("@dolittle/concepts");
const rudiments_1 = require("@dolittle/rudiments");
/**
* Represents the unique identifier of a Projection.
*/
class ProjectionId extends concepts_1.ConceptAs {
/**
* Initialises a new instance of the {@link ProjectionId} class.
* @param {Guid} id - The projection id.
*/
constructor(id) {
super(id, '@dolittle/sdk.projections.ProjectionId');
}
/**
* Creates a {@link ProjectionId} from a {@link Guid} or a {@link string}.
* @param {string | Guid | ProjectionId} id - The projection id.
* @returns {ProjectionId} The created projection id concept.
*/
static from(id) {
if (id instanceof ProjectionId)
return id;
return new ProjectionId(rudiments_1.Guid.as(id));
}
}
exports.ProjectionId = ProjectionId;
/**
* Checks whether or not an object is an instance of {@link ProjectionId}.
* @param {any} object - The object to check.
* @returns {boolean} True if the object is an {@link ProjectionId}, false if not.
*/
exports.isProjectionId = (0, concepts_1.createIsConceptAsGuid)(ProjectionId, '@dolittle/sdk.projections.ProjectionId');
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvamVjdGlvbklkLmpzIiwic291cmNlUm9vdCI6Ii4uLyIsInNvdXJjZXMiOlsiUHJvamVjdGlvbklkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwrQ0FBK0M7QUFDL0MscUdBQXFHOzs7QUFFckcsaURBQXNFO0FBQ3RFLG1EQUEyQztBQUUzQzs7R0FFRztBQUNILE1BQWEsWUFBYSxTQUFRLG9CQUF5RDtJQUN2Rjs7O09BR0c7SUFDSCxZQUFZLEVBQVE7UUFDaEIsS0FBSyxDQUFDLEVBQUUsRUFBRSx3Q0FBd0MsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFnQztRQUN4QyxJQUFJLEVBQUUsWUFBWSxZQUFZO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDMUMsT0FBTyxJQUFJLFlBQVksQ0FBQyxnQkFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7Q0FDSjtBQWxCRCxvQ0FrQkM7QUFFRDs7OztHQUlHO0FBQ1UsUUFBQSxjQUFjLEdBQUcsSUFBQSxnQ0FBcUIsRUFBQyxZQUFZLEVBQUUsd0NBQXdDLENBQUMsQ0FBQyJ9