rxpoweredup
Version:
A Typescript RxJS-based library for controlling LEGO Powered UP hubs & peripherals.
23 lines (22 loc) • 2.27 kB
TypeScript
import { Observable } from 'rxjs';
import { MessageType } from '../../constants';
import { IDisposable, RawMessage } from '../../types';
import type { IInboundMessageListenerFactory, IOutboundMessenger, IPortsFeature, IPortsFeatureFactory, IReplyParser } from '../../hub';
import type { IPortInformationRequestMessageFactory } from './i-port-information-request-message-factory';
import type { IPortModeInformationRequestMessageFactory } from './i-port-mode-information-request-message-factory';
import type { IPortInputFormatSetupMessageFactory } from '../i-port-input-format-setup-message-factory';
import type { IVirtualPortSetupMessageFactory } from './i-virtual-port-setup-message-factory';
export declare class PortsFeatureFactory implements IPortsFeatureFactory {
private readonly portInformationRequestMessageFactory;
private readonly messageListenerFactory;
private readonly portInformationRequestReplyParser;
private readonly attachedIoReplyParser;
private readonly portInputFormatSetupSingleHandshakeReplyParser;
private readonly portModeInformationMessageFactory;
private readonly portInputFormatSetupSingleMessageFactory;
private readonly portModeInformationReplyParserService;
private readonly portRawValueReplyParser;
private readonly virtualPortSetupMessageFactory;
constructor(portInformationRequestMessageFactory: IPortInformationRequestMessageFactory, messageListenerFactory: IInboundMessageListenerFactory, portInformationRequestReplyParser: IReplyParser<MessageType.portInformation>, attachedIoReplyParser: IReplyParser<MessageType.attachedIO>, portInputFormatSetupSingleHandshakeReplyParser: IReplyParser<MessageType.portInputFormatSetupSingleHandshake>, portModeInformationMessageFactory: IPortModeInformationRequestMessageFactory, portInputFormatSetupSingleMessageFactory: IPortInputFormatSetupMessageFactory, portModeInformationReplyParserService: IReplyParser<MessageType.portModeInformation>, portRawValueReplyParser: IReplyParser<MessageType.portValueSingle>, virtualPortSetupMessageFactory: IVirtualPortSetupMessageFactory);
create(characteristicDataStream: Observable<RawMessage<MessageType>>, onHubDisconnected: Observable<void>, messenger: IOutboundMessenger): IPortsFeature & IDisposable;
}