ya-webadb/packages/adb/src/backend.ts
2020-09-14 13:16:29 +08:00

23 lines
578 B
TypeScript

import { Event } from '@yume-chan/event';
export type AdbKeyIterator = Iterator<ArrayBuffer> | AsyncIterator<ArrayBuffer>;
export interface AdbBackend {
readonly name: string | undefined;
readonly onDisconnected: Event<void>;
iterateKeys(): AdbKeyIterator;
generateKey(): ArrayBuffer | Promise<ArrayBuffer>;
encodeUtf8(input: string): ArrayBuffer;
decodeUtf8(buffer: ArrayBuffer): string;
write(buffer: ArrayBuffer): void | Promise<void>;
read(length: number): ArrayBuffer | Promise<ArrayBuffer>;
dispose(): void | Promise<void>;
}