UNPKG

@shapediver/sdk.sdtf-v1

Version:
38 lines (31 loc) 1.36 kB
import { ISdtfWriteableAccessor, ISdtfWriteableAttributes, ISdtfWriteableDataItem, ISdtfWriteableTypeHint, tryDeepCopy, } from '@shapediver/sdk.sdtf-core'; import { SdtfBaseWriteableComponent } from './SdtfBaseWriteableComponent'; import { SdtfWriteableAccessor } from './SdtfWriteableAccessor'; import { SdtfWriteableAttributes } from './SdtfWriteableAttributes'; import { SdtfWriteableTypeHint } from './SdtfWriteableTypeHint'; export class SdtfWriteableDataItem extends SdtfBaseWriteableComponent implements ISdtfWriteableDataItem { accessor?: ISdtfWriteableAccessor; attributes?: ISdtfWriteableAttributes; typeHint?: ISdtfWriteableTypeHint; value?: unknown; additionalProperties: Record<string, unknown> = {}; static clone(original: ISdtfWriteableDataItem): ISdtfWriteableDataItem { const clone = new SdtfWriteableDataItem(); if (original.accessor) clone.accessor = SdtfWriteableAccessor.clone(original.accessor); if (original.attributes) clone.attributes = SdtfWriteableAttributes.clone(original.attributes); if (original.typeHint) clone.typeHint = SdtfWriteableTypeHint.clone(original.typeHint); clone.value = tryDeepCopy(original.value); clone.additionalProperties = { ...original.additionalProperties }; return clone; } }