Compare commits

..

2 Commits

Author SHA1 Message Date
Derrick Hammer 41984ae588
*Update dist 2023-03-03 05:22:55 -05:00
Derrick Hammer 6c6f6c4954
*Add onchannel to allow creating additional messages 2023-03-03 05:22:29 -05:00
6 changed files with 22 additions and 4 deletions

6
dist/peer.d.ts vendored
View File

@ -9,6 +9,7 @@ export type OnData = (peer: Peer, data: any) => void;
export type OnReceive = OnData;
export type OnClose = OnData;
export type OnSend = OnData;
export type OnChannel = (peer: Peer, channel: any) => void;
export type OnOpenBound = (socket: Socket, data: any) => {
connect: boolean;
} | Promise<{
@ -18,11 +19,13 @@ export type OnDataBound = (data: any) => void;
export type OnReceiveBound = OnDataBound;
export type OnCloseBound = OnDataBound;
export type OnSendBound = OnDataBound;
export type OnChannelBound = (channel: any) => void;
export interface DataSocketOptions {
onopen?: OnOpen;
onreceive?: OnReceive;
onsend?: OnSend;
onclose?: OnClose;
onchannel?: OnChannel;
emulateWebsocket?: boolean;
}
export interface PeerOptions {
@ -41,8 +44,9 @@ export default class Peer {
private _onreceive;
private _onsend;
private _onclose;
private _onchannel;
private _emulateWebsocket;
constructor({ proxy, peer, muxer, onopen, onreceive, onsend, onclose, emulateWebsocket, }: PeerOptionsWithProxy & DataSocketOptions);
constructor({ proxy, peer, muxer, onopen, onreceive, onsend, onclose, onchannel, emulateWebsocket, }: PeerOptionsWithProxy & DataSocketOptions);
private _channel?;
get channel(): any;
init(): Promise<void>;

5
dist/peer.js vendored
View File

@ -14,8 +14,9 @@ class Peer {
_onreceive;
_onsend;
_onclose;
_onchannel;
_emulateWebsocket;
constructor({ proxy, peer, muxer, onopen, onreceive, onsend, onclose, emulateWebsocket = false, }) {
constructor({ proxy, peer, muxer, onopen, onreceive, onsend, onclose, onchannel, emulateWebsocket = false, }) {
this._proxy = proxy;
this._peer = peer;
this._muxer = muxer;
@ -23,6 +24,7 @@ class Peer {
this._onreceive = onreceive?.bind(undefined, this);
this._onsend = onsend?.bind(undefined, this);
this._onclose = onclose?.bind(undefined, this);
this._onchannel = onchannel?.bind(undefined, this);
this._emulateWebsocket = emulateWebsocket;
}
_channel;
@ -74,6 +76,7 @@ class Peer {
await self._onreceive?.(m);
},
});
await this._onchannel?.(this._channel);
await this._channel.open();
}
}

2
dist/proxy.d.ts vendored
View File

@ -9,7 +9,7 @@ export default class Proxy {
private _listen;
private _socketOptions;
private _autostart;
constructor({ swarm, protocol, onopen, onreceive, onsend, onclose, listen, autostart, emulateWebsocket, }: ProxyOptions);
constructor({ swarm, protocol, onopen, onreceive, onsend, onclose, onchannel, listen, autostart, emulateWebsocket, }: ProxyOptions);
private _swarm;
get swarm(): any;
private _protocol;

3
dist/proxy.js vendored
View File

@ -9,7 +9,7 @@ class Proxy {
_listen;
_socketOptions;
_autostart;
constructor({ swarm, protocol, onopen, onreceive, onsend, onclose, listen = false, autostart = false, emulateWebsocket = false, }) {
constructor({ swarm, protocol, onopen, onreceive, onsend, onclose, onchannel, listen = false, autostart = false, emulateWebsocket = false, }) {
this._swarm = swarm;
this._protocol = protocol;
this._listen = listen;
@ -19,6 +19,7 @@ class Proxy {
onreceive,
onsend,
onclose,
onchannel,
emulateWebsocket,
};
this.init();

View File

@ -14,6 +14,7 @@ export type OnData = (peer: Peer, data: any) => void;
export type OnReceive = OnData;
export type OnClose = OnData;
export type OnSend = OnData;
export type OnChannel = (peer: Peer, channel: any) => void;
export type OnOpenBound = (
socket: Socket,
@ -28,11 +29,14 @@ export type OnReceiveBound = OnDataBound;
export type OnCloseBound = OnDataBound;
export type OnSendBound = OnDataBound;
export type OnChannelBound = (channel: any) => void;
export interface DataSocketOptions {
onopen?: OnOpen;
onreceive?: OnReceive;
onsend?: OnSend;
onclose?: OnClose;
onchannel?: OnChannel;
emulateWebsocket?: boolean;
}
@ -54,6 +58,7 @@ export default class Peer {
private _onreceive: OnReceiveBound;
private _onsend: OnSendBound;
private _onclose: OnCloseBound;
private _onchannel: OnChannelBound;
private _emulateWebsocket: boolean;
constructor({
@ -64,6 +69,7 @@ export default class Peer {
onreceive,
onsend,
onclose,
onchannel,
emulateWebsocket = false,
}: PeerOptionsWithProxy & DataSocketOptions) {
this._proxy = proxy;
@ -73,6 +79,7 @@ export default class Peer {
this._onreceive = onreceive?.bind(undefined, this);
this._onsend = onsend?.bind(undefined, this);
this._onclose = onclose?.bind(undefined, this);
this._onchannel = onchannel?.bind(undefined, this);
this._emulateWebsocket = emulateWebsocket;
}
@ -130,6 +137,7 @@ export default class Peer {
},
});
await this._onchannel?.(this._channel);
await this._channel.open();
}
}

View File

@ -20,6 +20,7 @@ export default class Proxy {
onreceive,
onsend,
onclose,
onchannel,
listen = false,
autostart = false,
emulateWebsocket = false,
@ -33,6 +34,7 @@ export default class Proxy {
onreceive,
onsend,
onclose,
onchannel,
emulateWebsocket,
};
this.init();