@dolittle/sdk.projections
Version:
Dolittle is a decentralized, distributed, event-driven microservice platform built to harness the power of events.
36 lines • 2.31 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.isProjectionProperty = exports.ProjectionProperty = void 0;
const concepts_1 = require("@dolittle/concepts");
/**
* Represents a field of a projection read model.
*/
class ProjectionProperty extends concepts_1.ConceptAs {
/**
* Initialises a new instance of the {@link ProjectionField} class.
* @param {string} field - The projection field.
*/
constructor(field) {
super(field, '@dolittle/sdk.projections.Copies.ProjectionProperty');
}
/**
* Creates a {@link ProjectionProperty} from a {@link string}.
* @param {ProjectionPropertyLike} property - The projection field.
* @returns {ProjectionProperty} The created projection field concept.
*/
static from(property) {
if ((0, exports.isProjectionProperty)(property))
return property;
return new ProjectionProperty(property);
}
}
exports.ProjectionProperty = ProjectionProperty;
/**
* Checks whether or not an object is an instance of {@link ProjectionProperty}.
* @param {any} object - The object to check.
* @returns {boolean} True if the object is an {@link ProjectionProperty}, false if not.
*/
exports.isProjectionProperty = (0, concepts_1.createIsConceptAsString)(ProjectionProperty, '@dolittle/sdk.projections.Copies.ProjectionProperty');
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvamVjdGlvblByb3BlcnR5LmpzIiwic291cmNlUm9vdCI6Ii4uLyIsInNvdXJjZXMiOlsiQ29waWVzL1Byb2plY3Rpb25Qcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsK0NBQStDO0FBQy9DLHFHQUFxRzs7O0FBRXJHLGlEQUF3RTtBQU94RTs7R0FFRztBQUNILE1BQWEsa0JBQW1CLFNBQVEsb0JBQXdFO0lBQzVHOzs7T0FHRztJQUNILFlBQVksS0FBYTtRQUNyQixLQUFLLENBQUMsS0FBSyxFQUFFLHFEQUFxRCxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQWdDO1FBQ3hDLElBQUksSUFBQSw0QkFBb0IsRUFBQyxRQUFRLENBQUM7WUFBRSxPQUFPLFFBQVEsQ0FBQztRQUNwRCxPQUFPLElBQUksa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDNUMsQ0FBQztDQUNKO0FBbEJELGdEQWtCQztBQUVEOzs7O0dBSUc7QUFDVSxRQUFBLG9CQUFvQixHQUFHLElBQUEsa0NBQXVCLEVBQUMsa0JBQWtCLEVBQUUscURBQXFELENBQUMsQ0FBQyJ9