UNPKG

@joergmittaglawo/dmvconfig

Version:

DMV Configuration scripts for Lawo V__matrix Distributed Multiviewers.

81 lines (80 loc) 4.67 kB
import { CommonCommandOptions, CommonWriteOptions, KeywordPayload, NamedTableRowView, NamedTableView, RowView, TableRowView, TableView, Watcher, WriteOptions, WaitUntilOptions } from "./vmodel"; import { NamedTable, NamedTableRow, Subtree, Table, TableRow, VSocket } from "./vsocket"; export interface StronglyTypedSubtree { readonly raw: Subtree; } export declare function same<T extends StronglyTypedSubtree>(a: T | null, b: T | null): boolean; interface TypeConverters<RawType, UserType> { lift: (payload: RawType, socket: VSocket) => UserType; lower: (payload: UserType, socket: VSocket) => RawType; } export declare class rKeyword<RawType extends KeywordPayload, UserType, ParentType extends StronglyTypedSubtree> { readonly parent: ParentType; protected readonly m_kw: string; protected readonly m_type_converters?: TypeConverters<RawType, UserType> | undefined; constructor(parent: ParentType, m_kw: string, m_type_converters?: TypeConverters<RawType, UserType> | undefined); read(opts?: CommonCommandOptions & { use_cache_if_present?: boolean; }): Promise<UserType>; wait_until(criterion: (payload: UserType) => boolean, opts?: WaitUntilOptions): Promise<UserType>; update(opts?: CommonCommandOptions & { defer_subscription?: boolean; }): Promise<UserType>; watch(handler: (payload: UserType) => void, opts?: CommonCommandOptions & { defer_subscription?: boolean; }): Promise<Watcher>; } export declare class wKeyword<RawType extends KeywordPayload, UserType, ParentType extends StronglyTypedSubtree> { readonly parent: ParentType; private readonly m_kw; private readonly m_type_converters?; constructor(parent: ParentType, m_kw: string, m_type_converters?: TypeConverters<RawType, UserType> | undefined); write(payload: UserType, opts?: WriteOptions<UserType>): Promise<void>; } export declare class rwKeyword<RawType extends KeywordPayload, UserType, ParentType extends StronglyTypedSubtree> extends rKeyword<RawType, UserType, ParentType> { constructor(parent: ParentType, m_kw: string, m_type_converters?: TypeConverters<RawType, UserType>); write(payload: UserType, opts?: WriteOptions<UserType>): Promise<void>; } export declare class duplexKeyword<RawType extends KeywordPayload, UserType, ParentType extends StronglyTypedSubtree> { readonly parent: ParentType; readonly status: rKeyword<RawType, UserType, ParentType>; readonly command: rwKeyword<RawType, UserType, ParentType>; constructor(parent: ParentType, kw: string, m_type_converters?: TypeConverters<RawType, UserType>); } export declare function liftArray<T, S>(f: (raw: T, socket: VSocket) => S): (raw_elems: T[], socket: VSocket) => S[]; export declare function lowerArray<T, S>(f: (payload: T) => S): (elems: T[]) => S[]; export declare class StronglyTypedTable<S extends StronglyTypedSubtree, R extends TableRowView<S> = TableRowView<S>> implements TableView<S> { readonly raw: Table; private readonly m_lift; constructor(raw: Table, m_lift: (st: TableRow, enclosing_table: StronglyTypedTable<S, R>) => R); rows(opts?: CommonCommandOptions): Promise<R[]>; allocated_indices(opts?: CommonCommandOptions): Promise<number[]>; is_allocated(index: number, opts?: CommonCommandOptions): Promise<boolean>; row(index: number, opts?: CommonCommandOptions): R; row_unchecked(index: number): R; } export declare class StronglyTypedNamedTable<S extends StronglyTypedSubtree, R extends NamedTableRowView<S> = NamedTableRowView<S>> implements NamedTableView<S> { readonly raw: NamedTable; private readonly m_lift; constructor(raw: NamedTable, m_lift: (st: NamedTableRow, enclosing_table: StronglyTypedNamedTable<S, R>) => R); allocated_indices(opts?: CommonCommandOptions): Promise<number[]>; is_allocated(index: number, opts?: CommonCommandOptions): Promise<boolean>; create_row(opts?: CommonWriteOptions & { index?: number; name?: string; allow_reuse_row?: boolean; }): Promise<R>; rows(opts?: CommonCommandOptions): Promise<R[]>; row(index: number, opts?: CommonCommandOptions): R; row_unchecked(index: number): R; } export declare class StronglyTypedArray<ParentType extends StronglyTypedSubtree, S extends StronglyTypedSubtree, R extends RowView<S> = RowView<S>> { readonly parent: ParentType; private readonly basename; private readonly m_lift; constructor(parent: ParentType, basename: string, m_lift: (st: Subtree, index: number, parent: ParentType) => R); row(index: number): R; get size(): number; [Symbol.iterator](): Iterator<R>; } export {};