UNPKG

@balte/emberplus-connection

Version:
35 lines (34 loc) 1.64 kB
/// <reference types="node" /> import { EventEmitter } from 'events'; import { EmberElement, EmberFunction, InvocationResult, Parameter, Matrix, Connections } from '../../model'; import { Collection, NumberedTreeNode, EmberValue } from '../../types/types'; import { Invoke } from '../../model/Command'; import { Connection } from '../../model/Connection'; declare const ServerEvents: null; export { EmberServer, ServerEvents }; declare class EmberServer extends EventEmitter { address: string | undefined; port: number; tree: Collection<NumberedTreeNode<EmberElement>>; onInvocation?: (emberFunction: NumberedTreeNode<EmberFunction>, invocation: NumberedTreeNode<Invoke>) => Promise<InvocationResult>; onSetValue?: (parameter: NumberedTreeNode<Parameter>, value: EmberValue) => Promise<boolean>; onMatrixOperation?: (Matrix: NumberedTreeNode<Matrix>, connection: Connections) => Promise<void>; private _server; private _clients; private _subscriptions; constructor(port: number, address?: string); init(tree: Collection<NumberedTreeNode<EmberElement>>): void; discard(): void; update<T extends EmberElement>(element: NumberedTreeNode<T>, update: Partial<T>): void; updateMatrixConnection(element: NumberedTreeNode<Matrix>, update: Connection): void; private _handleIncoming; private _handleNode; private _handleMatrix; private _handleSetValue; private _handleCommand; getElementByPath(path: string): NumberedTreeNode<EmberElement> | undefined; private _subscribe; private _unsubscribe; private _clearSubscription; private _handleGetDirectory; }