@shapediver/sdk.sdtf-v1
Version:
Official sdTF SDK for TypeScript
37 lines (31 loc) • 1.03 kB
text/typescript
import {
ISdtfReadableAccessor,
ISdtfReadableAttributes,
ISdtfReadableContentComponent,
ISdtfReadableDataItem,
ISdtfReadableTypeHint,
} from '@shapediver/sdk.sdtf-core';
import { ISdtfDataParser } from '../ISdtfDataParser';
import { SdtfBaseReadableComponent } from './SdtfBaseReadableComponent';
export class SdtfReadableDataItem
extends SdtfBaseReadableComponent
implements ISdtfReadableDataItem, ISdtfReadableContentComponent
{
accessor?: ISdtfReadableAccessor;
attributes?: ISdtfReadableAttributes;
typeHint?: ISdtfReadableTypeHint;
value?: unknown;
additionalProperties: Record<string, unknown> = {};
constructor(private readonly dataParser: ISdtfDataParser) {
super();
}
/** @override */
toDataObject(): Record<string, unknown> {
const dataObject = super.toDataObject();
delete dataObject.dataParser;
return dataObject;
}
async getContent(): Promise<unknown> {
return this.dataParser.parseContent(this);
}
}