Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit d06b5f2e authored by Simon Chan's avatar Simon Chan
Browse files

feat: make consumable writable streams also accept raw values

parent d60ac95f
Loading
Loading
Loading
Loading
+2 −5
Original line number Diff line number Diff line
@@ -6,10 +6,7 @@ import "source-map-support/register.js";

import { Adb, AdbServerClient } from "@yume-chan/adb";
import { AdbServerNodeTcpConnector } from "@yume-chan/adb-server-node-tcp";
import {
    ConsumableWritableStream,
    WritableStream,
} from "@yume-chan/stream-extra";
import { WritableStream } from "@yume-chan/stream-extra";
import { program } from "commander";

program
@@ -142,7 +139,7 @@ createDeviceCommand("shell [args...]")

        process.stdin.setRawMode(true);
        process.stdin.on("data", (data: Uint8Array) => {
            ConsumableWritableStream.write(stdinWriter, data).catch((e) => {
            stdinWriter.write(data).catch((e) => {
                console.error(e);
                process.exit(1);
            });
+2 −2
Original line number Diff line number Diff line
@@ -14,8 +14,8 @@ import type {
    WritableStream,
} from "@yume-chan/stream-extra";
import {
    ConsumableWritableStream,
    DuplexStreamFactory,
    MaybeConsumable,
    ReadableStream,
    pipeFrom,
} from "@yume-chan/stream-extra";
@@ -188,7 +188,7 @@ export class AdbDaemonWebUsbConnection
        const zeroMask = outEndpoint.packetSize - 1;
        this.#writable = pipeFrom(
            duplex.createWritable(
                new ConsumableWritableStream({
                new MaybeConsumable.WritableStream({
                    write: async (chunk) => {
                        try {
                            await device.raw.transferOut(
+2 −1
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import {
} from "@yume-chan/scrcpy";
import type {
    Consumable,
    MaybeConsumable,
    ReadableStream,
    ReadableWritablePair,
} from "@yume-chan/stream-extra";
@@ -100,7 +101,7 @@ export type AdbScrcpyAudioStreamMetadata =
export class AdbScrcpyClient {
    static async pushServer(
        adb: Adb,
        file: ReadableStream<Consumable<Uint8Array>>,
        file: ReadableStream<MaybeConsumable<Uint8Array>>,
        filename = DEFAULT_SERVER_PATH,
    ) {
        const sync = await adb.sync();
+2 −2
Original line number Diff line number Diff line
@@ -8,8 +8,8 @@ import type {
    AdbServerConnector,
} from "@yume-chan/adb";
import {
    MaybeConsumable,
    PushReadableStream,
    UnwrapConsumableStream,
    WrapWritableStream,
    WritableStream,
} from "@yume-chan/stream-extra";
@@ -101,7 +101,7 @@ export class AdbServerNodeTcpConnector implements AdbServerConnector {
                    readable: connection.readable,
                    writable: new WrapWritableStream(
                        connection.writable,
                    ).bePipedThroughFrom(new UnwrapConsumableStream()),
                    ).bePipedThroughFrom(new MaybeConsumable.UnwrapStream()),
                    get closed() {
                        return connection.closed;
                    },
+5 −2
Original line number Diff line number Diff line
import type { Consumable, ReadableWritablePair } from "@yume-chan/stream-extra";
import type {
    MaybeConsumable,
    ReadableWritablePair,
} from "@yume-chan/stream-extra";
import { ConcatStringStream, DecodeUtf8Stream } from "@yume-chan/stream-extra";
import type { ValueOrPromise } from "@yume-chan/struct";

@@ -20,7 +23,7 @@ export interface Closeable {
}

export interface AdbSocket
    extends ReadableWritablePair<Uint8Array, Consumable<Uint8Array>>,
    extends ReadableWritablePair<Uint8Array, MaybeConsumable<Uint8Array>>,
        Closeable {
    get service(): string;

Loading