Compare commits

...

4 Commits

3 changed files with 38 additions and 15 deletions

13
dist/peer.d.ts vendored
View File

@ -1,14 +1,23 @@
import Proxy from "./proxy.js";
import Socket from "./socket.js";
export type OnOpen = (socket: Socket, data: any) => {
export type OnOpen = (peer: Peer, socket: Socket, data: any) => {
connect: boolean;
} | Promise<{
connect: boolean;
}> | Promise<void> | void;
export type OnData = (data: any) => void;
export type OnData = (peer: Peer, data: any) => void;
export type OnReceive = OnData;
export type OnClose = OnData;
export type OnSend = OnData;
export type OnOpenBound = (socket: Socket, data: any) => {
connect: boolean;
} | Promise<{
connect: boolean;
}> | Promise<void> | void;
export type OnDataBound = (data: any) => void;
export type OnReceiveBound = OnDataBound;
export type OnCloseBound = OnDataBound;
export type OnSendBound = OnDataBound;
export interface DataSocketOptions {
onopen?: OnOpen;
onreceive?: OnReceive;

8
dist/peer.js vendored
View File

@ -20,10 +20,10 @@ class Peer {
this._proxy = proxy;
this._peer = peer;
this._muxer = muxer;
this._onopen = onopen?.bind(this);
this._onreceive = onreceive?.bind(this);
this._onsend = onsend?.bind(this);
this._onclose = onclose?.bind(this);
this._onopen = onopen?.bind(undefined, this);
this._onreceive = onreceive?.bind(undefined, this);
this._onsend = onsend?.bind(undefined, this);
this._onclose = onclose?.bind(undefined, this);
this._emulateWebsocket = emulateWebsocket;
}
async init() {

View File

@ -2,6 +2,7 @@ import Proxy from "./proxy.js";
import Socket from "./socket.js";
import { Buffer } from "buffer";
export type OnOpen = (
peer: Peer,
socket: Socket,
data: any
) =>
@ -9,11 +10,24 @@ export type OnOpen = (
| Promise<{ connect: boolean }>
| Promise<void>
| void;
export type OnData = (data: any) => void;
export type OnData = (peer: Peer, data: any) => void;
export type OnReceive = OnData;
export type OnClose = OnData;
export type OnSend = OnData;
export type OnOpenBound = (
socket: Socket,
data: any
) =>
| { connect: boolean }
| Promise<{ connect: boolean }>
| Promise<void>
| void;
export type OnDataBound = (data: any) => void;
export type OnReceiveBound = OnDataBound;
export type OnCloseBound = OnDataBound;
export type OnSendBound = OnDataBound;
export interface DataSocketOptions {
onopen?: OnOpen;
onreceive?: OnReceive;
@ -36,10 +50,10 @@ export default class Peer {
private _peer: any;
private _muxer: any;
private _socket?: Socket;
private _onopen: OnOpen;
private _onreceive: OnReceive;
private _onsend: OnSend;
private _onclose: OnClose;
private _onopen: OnOpenBound;
private _onreceive: OnReceiveBound;
private _onsend: OnSendBound;
private _onclose: OnCloseBound;
private _emulateWebsocket: boolean;
private _channel?: any;
@ -57,10 +71,10 @@ export default class Peer {
this._proxy = proxy;
this._peer = peer;
this._muxer = muxer;
this._onopen = onopen?.bind(this);
this._onreceive = onreceive?.bind(this);
this._onsend = onsend?.bind(this);
this._onclose = onclose?.bind(this);
this._onopen = onopen?.bind(undefined, this);
this._onreceive = onreceive?.bind(undefined, this);
this._onsend = onsend?.bind(undefined, this);
this._onclose = onclose?.bind(undefined, this);
this._emulateWebsocket = emulateWebsocket;
}