Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
yume-chan committed Nov 5, 2023
1 parent 46d08b6 commit 74e9154
Showing 1 changed file with 50 additions and 0 deletions.
50 changes: 50 additions & 0 deletions packages/demo/src/pages/forward.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
import { NOOP, decodeUtf8, encodeUtf8 } from "@yume-chan/adb";
import {
ConsumableWritableStream,
WritableStream,
} from "@yume-chan/stream-extra";
import { makeAutoObservable, reaction, runInAction } from "mobx";
import { observer } from "mobx-react-lite";
import { NextPage } from "next";
import { GLOBAL_STATE } from "../state";

const state = makeAutoObservable({
log: [] as string[],
});

reaction(
() => GLOBAL_STATE.adb,
async (device) => {
if (!device) {
return;
}

const socket = await device.createSocket("tcp:27042");
runInAction(() => {
state.log.push(`connected`);
});
const writer = socket.writable.getWriter();
await ConsumableWritableStream.write(writer, encodeUtf8("Hello\n"));

const reader = socket.readable.getReader();
const result = await reader.read();
if (result.value) {
runInAction(() => {
state.log.push(`received: ${decodeUtf8(result.value!)}`);
});
}
},
{ fireImmediately: true },
);

const ForwardTesterPage: NextPage = () => {
return (
<div>
{state.log.map((line, index) => (
<div key={index}>{line}</div>
))}
</div>
);
};

export default observer(ForwardTesterPage);

0 comments on commit 74e9154

Please sign in to comment.