@dolittle/sdk.projections
Version:
Dolittle is a decentralized, distributed, event-driven microservice platform built to harness the power of events.
27 lines (24 loc) • 1.15 kB
text/typescript
// Copyright (c) Dolittle. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
import { ProjectionProperty } from '../ProjectionProperty';
import { Conversion } from './Conversion';
/**
* Represents the specification of a conversion for a property in a MongoDB read model copy.
*/
export class PropertyConversion {
/**
* Initialises a new instance of the {@link PropertyConversion} class.
* @param {ProjectionProperty} property - The name of the property.
* @param {Conversion} convertTo - The conversion to apply.
* @param {boolean} shouldRename - A value indicating whether or not to rename the property.
* @param {ProjectionProperty} renameTo - The name to rename the property to.
* @param {PropertyConversion[]} children - Conversions to apply to child properties of this property.
*/
constructor(
readonly property: ProjectionProperty,
readonly convertTo: Conversion,
readonly shouldRename: boolean,
readonly renameTo: ProjectionProperty,
readonly children: PropertyConversion[],
) {}
}