@yume-chan/scrcpy
Version:
TypeScript implementation of Scrcpy client.
66 lines • 2.15 kB
JavaScript
import { ClipboardStream, ControlMessageTypes, createMediaStreamTransformer, createScrollController, Defaults, EncoderRegex, parseDisplay, parseEncoder, parseVideoStreamMetadata, serialize, serializeBackOrScreenOnControlMessage, serializeInjectTouchControlMessage, SerializeOrder, serializeSetClipboardControlMessage, setListDisplays, setListEncoders, } from "./impl/index.js";
export class ScrcpyOptions1_17 {
static Defaults = Defaults;
value;
get controlMessageTypes() {
return ControlMessageTypes;
}
#clipboard;
get clipboard() {
return this.#clipboard;
}
constructor(init) {
this.value = { ...Defaults, ...init };
if (this.value.control) {
this.#clipboard = new ClipboardStream();
}
}
serialize() {
return serialize(this.value, SerializeOrder);
}
setListDisplays() {
setListDisplays(this.value);
}
parseDisplay(line) {
return parseDisplay(line);
}
setListEncoders() {
setListEncoders(this.value);
}
parseEncoder(line) {
return parseEncoder(line, EncoderRegex);
}
parseVideoStreamMetadata(stream) {
return parseVideoStreamMetadata(stream);
}
async parseDeviceMessage(id, stream) {
if (await this.#clipboard.parse(id, stream)) {
return;
}
throw new Error("Unknown device message");
}
endDeviceMessageStream(e) {
if (e) {
this.#clipboard.error(e);
}
else {
this.#clipboard.close();
}
}
createMediaStreamTransformer() {
return createMediaStreamTransformer(this.value);
}
serializeInjectTouchControlMessage(message) {
return serializeInjectTouchControlMessage(message);
}
serializeBackOrScreenOnControlMessage(message) {
return serializeBackOrScreenOnControlMessage(message);
}
serializeSetClipboardControlMessage(message) {
return serializeSetClipboardControlMessage(message);
}
createScrollController() {
return createScrollController();
}
}
//# sourceMappingURL=options.js.map