UNPKG

webserial-core

Version:

Webserial Core to easy connections with serial devices

221 lines 8.94 kB
import { Dispatcher } from "./Dispatcher.ts"; interface LastError { message: string | null; action: string | null; code: string | Uint8Array | Array<string> | Array<number> | null | number; no_code: number; } interface DeviceData { type: string; id: string; listen_on_port: number | null; } type SerialResponseAs = "hex" | "uint8" | "string" | "arraybuffer"; interface SerialResponse { length: number | null; buffer: Uint8Array; as: SerialResponseAs; replacer: RegExp | string; limiter: null | string | RegExp; prefixLimiter: boolean; sufixLimiter: boolean; delimited: boolean; } interface QueueData { bytes: string | Uint8Array | Array<string> | Array<number>; action: string; } type SerialData = { connected: boolean; port: SerialPort | null; last_action: string | null; response: SerialResponse; reader: ReadableStreamDefaultReader<Uint8Array> | null; input_done: Promise<void> | null; output_done: Promise<void> | null; input_stream: ReadableStream<Uint8Array> | null; output_stream: WritableStream<Uint8Array> | null; keep_reading: boolean; time_until_send_bytes: number | undefined | ReturnType<typeof setTimeout>; delay_first_connection: number; bytes_connection: string | Uint8Array | string[] | number[] | null; filters: SerialPortFilter[]; config_port: SerialOptions; queue: QueueData[]; auto_response: any; free_timeout_ms: number; useRTSCTS: boolean; }; interface TimeResponse { response_connection: number; response_general: number; } interface Timeout { until_response: number | ReturnType<typeof setTimeout>; } interface InternalIntervals { reconnection: number; } export type Internal = { bypassSerialBytesConnection: boolean; auto_response: boolean; device_number: number; aux_port_connector: number; last_error: LastError; serial: SerialData; device: DeviceData; time: TimeResponse; timeout: Timeout; interval: InternalIntervals; }; interface CoreConstructorParams { filters?: SerialPortFilter[] | null; config_port?: SerialOptions; no_device?: number; device_listen_on_channel?: number | string; bypassSerialBytesConnection?: boolean; } interface CustomCode { code: string | Uint8Array | Array<string> | Array<number>; } interface ICore { lastAction: string | null; set listenOnChannel(channel: string | number); set serialFilters(filters: SerialPortFilter[]); get serialFilters(): SerialPortFilter[]; set serialConfigPort(config_port: SerialOptions); get serialConfigPort(): SerialOptions; get isConnected(): boolean; get isDisconnected(): boolean; get useRTSCTS(): boolean; set useRTSCTS(value: boolean); get deviceNumber(): number; get uuid(): string; get typeDevice(): string; get queue(): QueueData[]; get timeoutBeforeResponseBytes(): number; set timeoutBeforeResponseBytes(value: number); get fixedBytesMessage(): number | null; set fixedBytesMessage(length: number | null); get responseDelimited(): boolean; set responseDelimited(value: boolean); get responsePrefixLimited(): boolean; set responsePrefixLimited(value: boolean); get responseSufixLimited(): boolean; set responseSufixLimited(value: boolean); get responseLimiter(): string | RegExp | null; set responseLimiter(limiter: string | RegExp | null); get bypassSerialBytesConnection(): boolean; set bypassSerialBytesConnection(value: boolean); timeout(bytes: string[], event: string): Promise<void>; disconnect(detail?: null): Promise<void>; connect(): Promise<string>; serialDisconnect(): Promise<void>; serialPortsSaved(ports: SerialPort[]): Promise<void>; serialErrors(error: unknown | Error | DOMException): void; serialConnect(): Promise<void>; serialForget(): Promise<boolean>; decToHex(dec: number | string): string; hexToDec(hex: string): number; hexMaker(val?: string, min?: number): string; add0x(bytes: string[]): string[]; bytesToHex(bytes: string[]): string[]; appendToQueue(arr: string[], action: string): Promise<void>; serialSetConnectionConstant(listen_on_port?: number): string | Uint8Array | string[] | number[] | null; serialMessage(code: string[]): void; serialCorruptMessage(data: Uint8Array | number[] | string[] | never | null | string | ArrayBuffer): void; clearSerialQueue(): void; sumHex(arr: string[]): string; softReload(): void; sendConnect(): Promise<void>; sendCustomCode(customCode: CustomCode): Promise<void>; stringToArrayHex(string: string): string[]; stringToArrayBuffer(string: string, end: string): ArrayBufferLike; parseStringToBytes(string: string, end: string): string[]; parseUint8ToHex(array: Uint8Array): string[]; parseHexToUint8(array: string[]): Uint8Array; stringArrayToUint8Array(strings: string[]): Uint8Array; parseUint8ArrayToString(array: string[]): string; parseStringToTextEncoder(string: string, end: string): Uint8Array; hexToAscii(hex: string | number): string; asciiToHex(asciiString: string): string; getResponseAsArrayBuffer(): void; getResponseAsArrayHex(): void; getResponseAsUint8Array(): void; getResponseAsString(): void; } export declare class Core extends Dispatcher implements ICore { #private; protected __internal__: Internal; constructor({ filters, config_port, no_device, device_listen_on_channel, bypassSerialBytesConnection, }?: CoreConstructorParams); set listenOnChannel(channel: string | number); get lastAction(): string | null; get listenOnChannel(): number; set serialFilters(filters: SerialPortFilter[]); get serialFilters(): SerialPortFilter[]; set serialConfigPort(config_port: SerialOptions); get serialConfigPort(): SerialOptions; get useRTSCTS(): boolean; set useRTSCTS(value: boolean); get isConnected(): boolean; get isDisconnected(): boolean; get deviceNumber(): number; get uuid(): string; get typeDevice(): string; get queue(): QueueData[]; get responseDelimited(): boolean; set responseDelimited(value: boolean); get responsePrefixLimited(): boolean; set responsePrefixLimited(value: boolean); get responseSufixLimited(): boolean; set responseSufixLimited(value: boolean); get responseLimiter(): string | RegExp | null; set responseLimiter(limiter: string | RegExp | null); get fixedBytesMessage(): number | null; set fixedBytesMessage(length: number | null); get timeoutBeforeResponseBytes(): number; set timeoutBeforeResponseBytes(value: number); get bypassSerialBytesConnection(): boolean; set bypassSerialBytesConnection(value: boolean); timeout(bytes: string | Uint8Array | Array<string> | Array<number>, event: string): Promise<void>; disconnect(detail?: null): Promise<void>; connect(): Promise<string>; serialDisconnect(): Promise<void>; getResponseAsArrayBuffer(): void; getResponseAsArrayHex(): void; getResponseAsUint8Array(): void; getResponseAsString(): void; serialPortsSaved(ports: SerialPort[]): Promise<void>; serialErrors(error: any): void; serialConnect(): Promise<void>; serialForget(): Promise<boolean>; decToHex(dec: number | string): string; hexToDec(hex: string): number; hexMaker(val?: string, min?: number): string; add0x(bytes: string[]): string[]; bytesToHex(bytes: string[]): string[]; validateBytes(data: string | Uint8Array | Array<string> | Array<number>): Uint8Array; appendToQueue(arr: string | Uint8Array | string[] | number[], action: string): Promise<void>; serialSetConnectionConstant(listen_on_port?: number): string | Uint8Array | string[] | number[] | null; serialMessage(code: string[] | Uint8Array<ArrayBufferLike> | string | ArrayBuffer): void; serialCorruptMessage(code: Uint8Array | number[] | string[] | never | null | string | ArrayBuffer): void; clearSerialQueue(): void; sumHex(arr: string[]): string; toString(): string; softReload(): void; sendConnect(): Promise<void>; sendCustomCode({ code }?: CustomCode): Promise<void>; stringToArrayHex(string: string): string[]; stringToArrayBuffer(string: string, end?: string): ArrayBufferLike; parseStringToTextEncoder(string?: string, end?: string): Uint8Array; parseStringToBytes(string?: string, end?: string): string[]; parseUint8ToHex(array: Uint8Array): string[]; parseHexToUint8(array: string[]): Uint8Array; stringArrayToUint8Array(strings: string[]): Uint8Array; parseUint8ArrayToString(array: Uint8Array | string[]): string; hexToAscii(hex: string | number): string; asciiToHex(asciiString: string): string; $checkAndDispatchConnection(): boolean; } export {}; //# sourceMappingURL=Core.d.ts.map