UNPKG

@sitecore/sc-contenthub-webclient-sdk

Version:

Sitecore Content Hub WebClient SDK.

38 lines 1.98 kB
import { EntityCopyOptionsResource } from "../models/entity-copy-options-resource"; import { PropertyCopyOptionResource } from "../models/property-copy-option-resource"; import { RelationCopyOptionResource } from "../models/relation-copy-option-resource"; export class EntityCopyOptionsMapper { static map(copyOptions) { const resource = new EntityCopyOptionsResource(); resource.copyProfileId = copyOptions.copyProfileId; resource.copyProfileIdentifier = copyOptions.copyProfileIdentifier; resource.destinationEntityId = copyOptions.destinationEntityId; this.mapOptions(resource, copyOptions); return resource; } static mapOptions(optionsResource, copyOptions) { if (copyOptions.relationCopyOptions != null) { const relationOptions = []; copyOptions.relationCopyOptions.forEach(copyOption => { const relationResource = new RelationCopyOptionResource(copyOption.name, copyOption.method.toString(), null); if (copyOption.relatedCopyOptions != null) { const innerOption = new EntityCopyOptionsResource(); this.mapOptions(innerOption, copyOption.relatedCopyOptions); relationResource.relatedCopyOptions = innerOption; } relationOptions.push(relationResource); }); optionsResource.relationCopyOptions = relationOptions; } if (copyOptions.propertyCopyOptions == null) { return; } const propertiesOptions = []; copyOptions.propertyCopyOptions.forEach(copyOption => { const propertyResource = new PropertyCopyOptionResource(copyOption.name, copyOption.method.toString(), copyOption.newValue); propertiesOptions.push(propertyResource); }); optionsResource.propertyCopyOptions = propertiesOptions; } } //# sourceMappingURL=entity-copy-options-mapper.js.map