UNPKG

@itwin/presentation-common

Version:

Common pieces for iModel.js presentation packages

73 lines 1.86 kB
/** @packageDocumentation * @module Content */ /** * Format of the property value. * @public */ export declare enum PropertyValueFormat { /** Primitive value */ Primitive = "Primitive", /** Array value */ Array = "Array", /** Struct value */ Struct = "Struct" } /** * Data structure for base content field type description. Not * meant to be used directly, see `TypeDescription`. * * @public */ export interface BaseTypeDescription { /** Value format */ valueFormat: PropertyValueFormat; /** Type name */ typeName: string; } /** * Type description for primitive properties. * @public */ export interface PrimitiveTypeDescription extends BaseTypeDescription { /** Primitive format */ valueFormat: PropertyValueFormat.Primitive; } /** * Type description for array properties. * @public */ export interface ArrayTypeDescription extends BaseTypeDescription { /** Array format */ valueFormat: PropertyValueFormat.Array; /** Type of array items */ memberType: TypeDescription; } /** * A data structure that describes a struct member. * @public */ export interface StructFieldMemberDescription { /** Unique name of a struct member */ name: string; /** Label of the struct member */ label: string; /** Type of the struct member */ type: TypeDescription; } /** * Type description for struct properties. * @public */ export interface StructTypeDescription extends BaseTypeDescription { /** Struct format */ valueFormat: PropertyValueFormat.Struct; /** Type descriptions of struct members */ members: StructFieldMemberDescription[]; } /** * One of content field type descriptions. * @public */ export type TypeDescription = PrimitiveTypeDescription | ArrayTypeDescription | StructTypeDescription; //# sourceMappingURL=TypeDescription.d.ts.map