2019-01-12 03:33:44 +08:00
|
|
|
import { Emitter } from "@coder/events";
|
|
|
|
import { Client } from "../src/browser/client";
|
|
|
|
import { Server } from "../src/node/server";
|
|
|
|
|
|
|
|
export const createClient = (): Client => {
|
2019-01-12 03:58:31 +08:00
|
|
|
const s2c = new Emitter<Uint8Array | Buffer>();
|
|
|
|
const c2s = new Emitter<Uint8Array | Buffer>();
|
2019-01-12 03:33:44 +08:00
|
|
|
|
2019-01-12 03:58:31 +08:00
|
|
|
new Server({
|
|
|
|
close: () => undefined,
|
|
|
|
onClose: () => undefined,
|
|
|
|
onMessage: (cb) => {
|
|
|
|
c2s.event((d) => cb(d));
|
|
|
|
},
|
|
|
|
send: (data) => setTimeout(() => s2c.emit(data), 0),
|
|
|
|
});
|
2019-01-12 03:33:44 +08:00
|
|
|
|
2019-01-12 03:58:31 +08:00
|
|
|
const client = new Client({
|
|
|
|
close: () => undefined,
|
|
|
|
onClose: () => undefined,
|
|
|
|
onMessage: (cb) => {
|
|
|
|
s2c.event((d) => cb(d));
|
|
|
|
},
|
|
|
|
send: (data) => setTimeout(() => c2s.emit(data), 0),
|
|
|
|
});
|
2019-01-12 03:33:44 +08:00
|
|
|
|
2019-01-12 03:58:31 +08:00
|
|
|
return client;
|
2019-01-12 03:33:44 +08:00
|
|
|
};
|