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

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

feat(scrcpy): move version to `AdbScrcpyOptions` and simplify inheritance

parent b79df963
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
---
"@yume-chan/adb-scrcpy": major
"@yume-chan/scrcpy": major
---

Move `version` parameter to `AdbScrcpyOptions`
+0 −1
Original line number Diff line number Diff line
export * from "./create-connection.js";
export * from "./get-displays.js";
export * from "./get-encoders.js";
+17 −14
Original line number Diff line number Diff line
import type { Adb } from "@yume-chan/adb";
import type { ScrcpyDisplay, ScrcpyEncoder } from "@yume-chan/scrcpy";
import type { Adb, AdbNoneProtocolSpawner } from "@yume-chan/adb";
import type { ScrcpyDisplay } from "@yume-chan/scrcpy";
import { ScrcpyOptions1_15 } from "@yume-chan/scrcpy";

import type { AdbScrcpyClientOptions } from "../client-options.js";
import type { AdbScrcpyConnection } from "../connection.js";
import { AdbScrcpyOptions } from "../types.js";
import type { AdbScrcpyOptions } from "../types.js";

import { createConnection, getDisplays, getEncoders } from "./impl/index.js";
import { createConnection, getDisplays } from "./impl/index.js";

export class AdbScrcpyOptions1_15
    extends ScrcpyOptions1_15
    implements AdbScrcpyOptions<ScrcpyOptions1_15.Init>
{
    readonly version: string;

    readonly spawner: AdbNoneProtocolSpawner | undefined;

export class AdbScrcpyOptions1_15 extends AdbScrcpyOptions<ScrcpyOptions1_15.Init> {
    constructor(
        init: ScrcpyOptions1_15.Init,
        clientOptions?: AdbScrcpyClientOptions,
    ) {
        super(
            new ScrcpyOptions1_15(init, clientOptions?.version),
            clientOptions?.spawner,
        );
    }
        super(init);

    override getEncoders(adb: Adb, path: string): Promise<ScrcpyEncoder[]> {
        return getEncoders(adb, path, this);
        this.version = clientOptions?.version ?? "1.15";
        this.spawner = clientOptions?.spawner;
    }

    override getDisplays(adb: Adb, path: string): Promise<ScrcpyDisplay[]> {
    getDisplays(adb: Adb, path: string): Promise<ScrcpyDisplay[]> {
        return getDisplays(adb, path, this);
    }

    override createConnection(adb: Adb): AdbScrcpyConnection {
    createConnection(adb: Adb): AdbScrcpyConnection {
        return createConnection(adb, this.value);
    }
}
+17 −18
Original line number Diff line number Diff line
import type { Adb } from "@yume-chan/adb";
import type { ScrcpyDisplay, ScrcpyEncoder } from "@yume-chan/scrcpy";
import type { Adb, AdbNoneProtocolSpawner } from "@yume-chan/adb";
import type { ScrcpyDisplay } from "@yume-chan/scrcpy";
import { ScrcpyOptions1_15_1 } from "@yume-chan/scrcpy";

import {
    createConnection,
    getDisplays,
    getEncoders,
} from "./1_15/impl/index.js";
import { createConnection, getDisplays } from "./1_15/impl/index.js";
import type { AdbScrcpyClientOptions } from "./client-options.js";
import type { AdbScrcpyConnection } from "./connection.js";
import { AdbScrcpyOptions } from "./types.js";
import type { AdbScrcpyOptions } from "./types.js";

export class AdbScrcpyOptions1_15_1
    extends ScrcpyOptions1_15_1
    implements AdbScrcpyOptions<ScrcpyOptions1_15_1.Init>
{
    readonly version: string;

    readonly spawner: AdbNoneProtocolSpawner | undefined;

export class AdbScrcpyOptions1_15_1 extends AdbScrcpyOptions<ScrcpyOptions1_15_1.Init> {
    constructor(
        init: ScrcpyOptions1_15_1.Init,
        clientOptions?: AdbScrcpyClientOptions,
    ) {
        super(
            new ScrcpyOptions1_15_1(init, clientOptions?.version),
            clientOptions?.spawner,
        );
    }
        super(init);

    override getEncoders(adb: Adb, path: string): Promise<ScrcpyEncoder[]> {
        return getEncoders(adb, path, this);
        this.version = clientOptions?.version ?? "1.15.1";
        this.spawner = clientOptions?.spawner;
    }

    override getDisplays(adb: Adb, path: string): Promise<ScrcpyDisplay[]> {
    getDisplays(adb: Adb, path: string): Promise<ScrcpyDisplay[]> {
        return getDisplays(adb, path, this);
    }

    override createConnection(adb: Adb): AdbScrcpyConnection {
    createConnection(adb: Adb): AdbScrcpyConnection {
        return createConnection(adb, this.value);
    }
}
+17 −18
Original line number Diff line number Diff line
import type { Adb } from "@yume-chan/adb";
import type { ScrcpyDisplay, ScrcpyEncoder } from "@yume-chan/scrcpy";
import type { Adb, AdbNoneProtocolSpawner } from "@yume-chan/adb";
import type { ScrcpyDisplay } from "@yume-chan/scrcpy";
import { ScrcpyOptions1_16 } from "@yume-chan/scrcpy";

import {
    createConnection,
    getDisplays,
    getEncoders,
} from "./1_15/impl/index.js";
import { createConnection, getDisplays } from "./1_15/impl/index.js";
import type { AdbScrcpyClientOptions } from "./client-options.js";
import type { AdbScrcpyConnection } from "./connection.js";
import { AdbScrcpyOptions } from "./types.js";
import type { AdbScrcpyOptions } from "./types.js";

export class AdbScrcpyOptions1_16
    extends ScrcpyOptions1_16
    implements AdbScrcpyOptions<ScrcpyOptions1_16.Init>
{
    readonly version: string;

    readonly spawner: AdbNoneProtocolSpawner | undefined;

export class AdbScrcpyOptions1_16 extends AdbScrcpyOptions<ScrcpyOptions1_16.Init> {
    constructor(
        init: ScrcpyOptions1_16.Init,
        clientOptions?: AdbScrcpyClientOptions,
    ) {
        super(
            new ScrcpyOptions1_16(init, clientOptions?.version),
            clientOptions?.spawner,
        );
    }
        super(init);

    override getEncoders(adb: Adb, path: string): Promise<ScrcpyEncoder[]> {
        return getEncoders(adb, path, this);
        this.version = clientOptions?.version ?? "1.16";
        this.spawner = clientOptions?.spawner;
    }

    override getDisplays(adb: Adb, path: string): Promise<ScrcpyDisplay[]> {
    getDisplays(adb: Adb, path: string): Promise<ScrcpyDisplay[]> {
        return getDisplays(adb, path, this);
    }

    override createConnection(adb: Adb): AdbScrcpyConnection {
    createConnection(adb: Adb): AdbScrcpyConnection {
        return createConnection(adb, this.value);
    }
}
Loading