UNPKG

@joergmittaglawo/dmvconfig

Version:

DMV Configuration scripts for Lawo V__matrix Distributed Multiviewers.

168 lines (167 loc) 6.54 kB
export declare enum KeywordType { UserOwnedEvent = 0, DriverOwnedEvent = 1, Command = 2, Status = 3, Duplex = 4 } export declare type kw_data_type = "bool" | "int" | "float" | "float duration" | "int duration" | "string" | "timestamp" | "ipaddress" | "enum" | "timecode" | "ref" | "device_tree_node"; export declare type data_type = "subtree" | "atomic subtree" | kw_data_type; export declare type kw_type = "event" | "driver-owned event" | "status" | "command" | "duplex"; export declare type BranchName = string; export declare type TargetTypeIdentifier = string; export declare type FullKWLName = string; export declare type OtherNodeProperties = { formatter?: string; filter?: string; visibility?: "basic" | "advanced" | "developer"; }; export interface CommonNodeProperties<DataType> { data_type: DataType; sys_name: string; brief?: string; desc?: string; persistent: boolean; other_properties: OtherNodeProperties; } export interface CommonConstantProperties<DataType> { data_type: DataType; path: string; } export interface ConstantBoolDescription extends CommonConstantProperties<"bool"> { } export interface ConstantIntDescription extends CommonConstantProperties<"int"> { min: number; max: number; } export interface ConstantStringDescription extends CommonConstantProperties<"string"> { maxlength: number; } export interface ConstantDurationDescription extends CommonConstantProperties<"int duration" | "float duration"> { min: number; max: number; } export interface ConstantIPAddressDescription extends CommonConstantProperties<"ipaddress"> { } export interface ConstantTimestampDescription extends CommonConstantProperties<"timestamp"> { } export declare type ConstantDescription = ConstantBoolDescription | ConstantIntDescription | ConstantStringDescription | ConstantDurationDescription | ConstantIPAddressDescription | ConstantTimestampDescription; export declare type MaybeChildrenMaybeTypeIdentifier = { children?: ChildDescription<MaybeChildrenMaybeTypeIdentifier>[]; type_identifier?: string; }; export declare type MaybeAtomicChildrenMaybeTypeIdentifier = { children?: AtomicChildDescription<MaybeAtomicChildrenMaybeTypeIdentifier>[]; type_identifier?: string; }; export declare type RuntimeConstantIdentifier = string; export declare type ContainerSize = number | RuntimeConstantIdentifier; export declare type SubtreeDescription<ExtraProperties = MaybeChildrenMaybeTypeIdentifier> = CommonNodeProperties<"subtree"> & ExtraProperties & ({} | { array_size: ContainerSize; } | { table_size: ContainerSize; named_rows: boolean; }); export declare type AtomicSubtreeDescription<ExtraProperties = MaybeAtomicChildrenMaybeTypeIdentifier> = CommonNodeProperties<"atomic subtree"> & ExtraProperties & { kw_type: kw_type; array_size?: ContainerSize; optional: boolean; }; export interface StringDescription extends CommonNodeProperties<"string"> { kw_type: kw_type; optional: boolean; array_size?: ContainerSize; max_length: number; default_value?: string; } export interface NumberDescription extends CommonNodeProperties<"int" | "float"> { kw_type: kw_type; optional: boolean; array_size?: ContainerSize; min: number; max: number; default_value?: number; } export interface DeviceTreeNodeDescription extends CommonNodeProperties<"device_tree_node"> { kw_type: kw_type; optional: boolean; array_size?: ContainerSize; } export interface ReferenceDescription extends CommonNodeProperties<"ref"> { kw_type: kw_type; optional: boolean; array_size?: ContainerSize; default_value?: string; target_type_identifier: string; target_type: "subtree"; ref_perm: "mutating" | "non-mutating"; } export interface EnumDescription extends CommonNodeProperties<"enum"> { kw_type: kw_type; optional: boolean; array_size?: ContainerSize; default_value?: string; enum_values: string[]; } export interface BoolDescription extends CommonNodeProperties<"bool"> { kw_type: kw_type; optional: boolean; array_size?: ContainerSize; default_value?: boolean; } export interface DurationDescription extends CommonNodeProperties<"int duration" | "float duration"> { kw_type: kw_type; min: number; max: number; optional: boolean; array_size?: ContainerSize; default_value?: number; } export interface TimecodeDescription extends CommonNodeProperties<"timecode"> { kw_type: kw_type; optional: boolean; array_size?: ContainerSize; default_value?: number; } export interface TimestampDescription extends CommonNodeProperties<"timestamp"> { kw_type: kw_type; min?: number; max?: number; optional: boolean; array_size?: ContainerSize; default_value?: string; } export interface IPAddressDescription extends CommonNodeProperties<"ipaddress"> { kw_type: kw_type; optional: boolean; array_size?: ContainerSize; default_value?: string; } export declare type ComponentDescription<ExtraProperties = {}> = SubtreeDescription<ExtraProperties> & { ua_name: string; owning_module: string; bound_to?: string[]; }; export declare type KeywordDescription<ExtraScalarProperties> = (TimestampDescription | IPAddressDescription | BoolDescription | EnumDescription | StringDescription | NumberDescription | DeviceTreeNodeDescription | ReferenceDescription | DurationDescription | TimecodeDescription) & ExtraScalarProperties; export declare type AtomicChildDescription<ExtraAtomicSubtreeProperties = {}, ExtraScalarProperties = {}> = AtomicSubtreeDescription<ExtraAtomicSubtreeProperties> | KeywordDescription<ExtraScalarProperties>; export declare type ChildDescription<ExtraSubtreeProperties = {}, ExtraAtomicSubtreeProperties = {}, ExtraScalarProperties = {}> = SubtreeDescription<ExtraSubtreeProperties> | AtomicChildDescription<ExtraAtomicSubtreeProperties, ExtraScalarProperties>; export declare type ConstantsDictionary = { [component_name: string]: { [constant_name: string]: ConstantDescription; }; }; export interface ErrorFeedbackChannel { kwl: string; owner: string; } export interface Schema { constants: ConstantsDictionary; error_feedback_channels: ErrorFeedbackChannel[]; typedef_identifiers: string[]; typedefs: { [typedef_name: string]: (SubtreeDescription | AtomicSubtreeDescription) & { common: boolean; }; }; keywords: ComponentDescription[]; }