@libp2p/interface 1.0.1 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.min.js +1 -1
- package/dist/src/event-target.d.ts +39 -0
- package/dist/src/event-target.d.ts.map +1 -0
- package/dist/src/event-target.js +66 -0
- package/dist/src/event-target.js.map +1 -0
- package/dist/src/events.d.ts +0 -38
- package/dist/src/events.d.ts.map +1 -1
- package/dist/src/events.js +0 -65
- package/dist/src/events.js.map +1 -1
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/peer-discovery/index.d.ts +1 -1
- package/dist/src/peer-discovery/index.d.ts.map +1 -1
- package/dist/src/pubsub/index.d.ts +1 -1
- package/dist/src/pubsub/index.d.ts.map +1 -1
- package/dist/src/transport/index.d.ts +1 -1
- package/dist/src/transport/index.d.ts.map +1 -1
- package/dist/typedoc-urls.json +6 -6
- package/package.json +4 -1
- package/src/event-target.ts +116 -0
- package/src/events.ts +0 -117
- package/src/index.ts +2 -1
- package/src/peer-discovery/index.ts +1 -1
- package/src/pubsub/index.ts +1 -1
- package/src/transport/index.ts +1 -1
package/dist/index.min.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PInterface = factory()}(typeof self !== 'undefined' ? self : this, function () {
|
|
2
|
-
"use strict";var Libp2PInterface=(()=>{var n=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var L=Object.prototype.hasOwnProperty;var _=(e,t)=>{for(var o in t)n(e,o,{get:t[o],enumerable:!0})},I=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of y(t))!L.call(e,s)&&s!==o&&n(e,s,{get:()=>t[s],enumerable:!(r=h(t,s))||r.enumerable});return e};var g=e=>I(n({},"__esModule",{value:!0}),e);var K={};_(K,{AbortError:()=>i,CodeError:()=>a,CustomEvent:()=>b,ERR_INVALID_MESSAGE:()=>j,ERR_INVALID_PARAMETERS:()=>F,ERR_NOT_FOUND:()=>G,ERR_TIMEOUT:()=>B,Ed25519:()=>v,FaultTolerance:()=>c,InvalidCryptoExchangeError:()=>x,InvalidCryptoTransmissionError:()=>f,KEEP_ALIVE:()=>V,RSA:()=>w,StrictNoSign:()=>U,StrictSign:()=>C,TopicValidatorResult:()=>p,TypedEventEmitter:()=>u,UnexpectedPeerError:()=>l,connectionSymbol:()=>S,contentRoutingSymbol:()=>T,isConnection:()=>N,isPeerId:()=>O,isStartable:()=>E,isTransport:()=>k,peerDiscoverySymbol:()=>M,peerIdSymbol:()=>d,peerRoutingSymbol:()=>D,secp256k1:()=>P,setMaxListeners:()=>X,start:()=>Y,stop:()=>H,transportSymbol:()=>R});var S=Symbol.for("@libp2p/connection");function N(e){return e!=null&&!!e[S]}var T=Symbol.for("@libp2p/content-routing");var v="Ed25519",w="RSA",P="secp256k1";var M=Symbol.for("@libp2p/peer-discovery");var d=Symbol.for("@libp2p/peer-id");function O(e){return e!=null&&!!e[d]}var D=Symbol.for("@libp2p/peer-routing");var V="keep-alive";var C="StrictSign",U="StrictNoSign",p;(function(e){e.Accept="accept",e.Ignore="ignore",e.Reject="reject"})(p||(p={}));var R=Symbol.for("@libp2p/transport");function k(e){return e!=null&&!!e[R]}var c;(function(e){e[e.FATAL_ALL=0]="FATAL_ALL",e[e.NO_FATAL=1]="NO_FATAL"})(c||(c={}));var i=class e extends Error{code;type;constructor(t="The operation was aborted"){super(t),this.code=e.code,this.type=e.type}static code="ABORT_ERR";static type="aborted"},a=class extends Error{code;props;constructor(t,o,r){super(t),this.code=o,this.name=r?.name??"CodeError",this.props=r??{}}},l=class e extends Error{code;constructor(t="Unexpected Peer"){super(t),this.code=e.code}static code="ERR_UNEXPECTED_PEER"},x=class e extends Error{code;constructor(t="Invalid crypto exchange"){super(t),this.code=e.code}static code="ERR_INVALID_CRYPTO_EXCHANGE"},f=class e extends Error{code;constructor(t="Invalid crypto transmission"){super(t),this.code=e.code}static code="ERR_INVALID_CRYPTO_TRANSMISSION"},B="ERR_TIMEOUT",F="ERR_INVALID_PARAMETERS",G="ERR_NOT_FOUND",j="ERR_INVALID_MESSAGE";var u=class extends EventTarget{#t=new Map;listenerCount(t){let o=this.#t.get(t);return o==null?0:o.length}addEventListener(t,o,r){super.addEventListener(t,o,r);let s=this.#t.get(t);s==null&&(s=[],this.#t.set(t,s)),s.push({callback:o,once:(r!==!0&&r!==!1&&r?.once)??!1})}removeEventListener(t,o,r){super.removeEventListener(t.toString(),o??null,r);let s=this.#t.get(t);s!=null&&(s=s.filter(({callback:A})=>A!==o),this.#t.set(t,s))}dispatchEvent(t){let o=super.dispatchEvent(t),r=this.#t.get(t.type);return r==null||(r=r.filter(({once:s})=>!s),this.#t.set(t.type,r)),o}safeDispatchEvent(t,o){return this.dispatchEvent(new b(t,o))}},m=class extends Event{detail;constructor(t,o){super(t,o),this.detail=o?.detail}},b=globalThis.CustomEvent??m
|
|
2
|
+
"use strict";var Libp2PInterface=(()=>{var n=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var L=Object.prototype.hasOwnProperty;var _=(e,t)=>{for(var o in t)n(e,o,{get:t[o],enumerable:!0})},I=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of y(t))!L.call(e,s)&&s!==o&&n(e,s,{get:()=>t[s],enumerable:!(r=h(t,s))||r.enumerable});return e};var g=e=>I(n({},"__esModule",{value:!0}),e);var K={};_(K,{AbortError:()=>i,CodeError:()=>a,CustomEvent:()=>b,ERR_INVALID_MESSAGE:()=>j,ERR_INVALID_PARAMETERS:()=>F,ERR_NOT_FOUND:()=>G,ERR_TIMEOUT:()=>B,Ed25519:()=>v,FaultTolerance:()=>c,InvalidCryptoExchangeError:()=>x,InvalidCryptoTransmissionError:()=>f,KEEP_ALIVE:()=>V,RSA:()=>w,StrictNoSign:()=>U,StrictSign:()=>C,TopicValidatorResult:()=>p,TypedEventEmitter:()=>u,UnexpectedPeerError:()=>l,connectionSymbol:()=>S,contentRoutingSymbol:()=>T,isConnection:()=>N,isPeerId:()=>O,isStartable:()=>E,isTransport:()=>k,peerDiscoverySymbol:()=>M,peerIdSymbol:()=>d,peerRoutingSymbol:()=>D,secp256k1:()=>P,setMaxListeners:()=>X,start:()=>Y,stop:()=>H,transportSymbol:()=>R});var S=Symbol.for("@libp2p/connection");function N(e){return e!=null&&!!e[S]}var T=Symbol.for("@libp2p/content-routing");var v="Ed25519",w="RSA",P="secp256k1";var M=Symbol.for("@libp2p/peer-discovery");var d=Symbol.for("@libp2p/peer-id");function O(e){return e!=null&&!!e[d]}var D=Symbol.for("@libp2p/peer-routing");var V="keep-alive";var C="StrictSign",U="StrictNoSign",p;(function(e){e.Accept="accept",e.Ignore="ignore",e.Reject="reject"})(p||(p={}));var R=Symbol.for("@libp2p/transport");function k(e){return e!=null&&!!e[R]}var c;(function(e){e[e.FATAL_ALL=0]="FATAL_ALL",e[e.NO_FATAL=1]="NO_FATAL"})(c||(c={}));var i=class e extends Error{code;type;constructor(t="The operation was aborted"){super(t),this.code=e.code,this.type=e.type}static code="ABORT_ERR";static type="aborted"},a=class extends Error{code;props;constructor(t,o,r){super(t),this.code=o,this.name=r?.name??"CodeError",this.props=r??{}}},l=class e extends Error{code;constructor(t="Unexpected Peer"){super(t),this.code=e.code}static code="ERR_UNEXPECTED_PEER"},x=class e extends Error{code;constructor(t="Invalid crypto exchange"){super(t),this.code=e.code}static code="ERR_INVALID_CRYPTO_EXCHANGE"},f=class e extends Error{code;constructor(t="Invalid crypto transmission"){super(t),this.code=e.code}static code="ERR_INVALID_CRYPTO_TRANSMISSION"},B="ERR_TIMEOUT",F="ERR_INVALID_PARAMETERS",G="ERR_NOT_FOUND",j="ERR_INVALID_MESSAGE";var u=class extends EventTarget{#t=new Map;listenerCount(t){let o=this.#t.get(t);return o==null?0:o.length}addEventListener(t,o,r){super.addEventListener(t,o,r);let s=this.#t.get(t);s==null&&(s=[],this.#t.set(t,s)),s.push({callback:o,once:(r!==!0&&r!==!1&&r?.once)??!1})}removeEventListener(t,o,r){super.removeEventListener(t.toString(),o??null,r);let s=this.#t.get(t);s!=null&&(s=s.filter(({callback:A})=>A!==o),this.#t.set(t,s))}dispatchEvent(t){let o=super.dispatchEvent(t),r=this.#t.get(t.type);return r==null||(r=r.filter(({once:s})=>!s),this.#t.set(t.type,r)),o}safeDispatchEvent(t,o){return this.dispatchEvent(new b(t,o))}},m=class extends Event{detail;constructor(t,o){super(t,o),this.detail=o?.detail}},b=globalThis.CustomEvent??m;var X=(e,...t)=>{try{[...t]}catch{}};function E(e){return e!=null&&typeof e.start=="function"&&typeof e.stop=="function"}async function Y(...e){let t=[];for(let o of e)E(o)&&t.push(o);await Promise.all(t.map(async o=>{o.beforeStart!=null&&await o.beforeStart()})),await Promise.all(t.map(async o=>{await o.start()})),await Promise.all(t.map(async o=>{o.afterStart!=null&&await o.afterStart()}))}async function H(...e){let t=[];for(let o of e)E(o)&&t.push(o);await Promise.all(t.map(async o=>{o.beforeStop!=null&&await o.beforeStop()})),await Promise.all(t.map(async o=>{await o.stop()})),await Promise.all(t.map(async o=>{o.afterStop!=null&&await o.afterStop()}))}return g(K);})();
|
|
3
3
|
return Libp2PInterface}));
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export interface EventCallback<EventType> {
|
|
2
|
+
(evt: EventType): void;
|
|
3
|
+
}
|
|
4
|
+
export interface EventObject<EventType> {
|
|
5
|
+
handleEvent: EventCallback<EventType>;
|
|
6
|
+
}
|
|
7
|
+
export type EventHandler<EventType> = EventCallback<EventType> | EventObject<EventType>;
|
|
8
|
+
/**
|
|
9
|
+
* Adds types to the EventTarget class. Hopefully this won't be necessary forever.
|
|
10
|
+
*
|
|
11
|
+
* https://github.com/microsoft/TypeScript/issues/28357
|
|
12
|
+
* https://github.com/microsoft/TypeScript/issues/43477
|
|
13
|
+
* https://github.com/microsoft/TypeScript/issues/299
|
|
14
|
+
* etc
|
|
15
|
+
*/
|
|
16
|
+
export interface TypedEventTarget<EventMap extends Record<string, any>> extends EventTarget {
|
|
17
|
+
addEventListener<K extends keyof EventMap>(type: K, listener: EventHandler<EventMap[K]> | null, options?: boolean | AddEventListenerOptions): void;
|
|
18
|
+
listenerCount(type: string): number;
|
|
19
|
+
removeEventListener<K extends keyof EventMap>(type: K, listener?: EventHandler<EventMap[K]> | null, options?: boolean | EventListenerOptions): void;
|
|
20
|
+
removeEventListener(type: string, listener?: EventHandler<Event>, options?: boolean | EventListenerOptions): void;
|
|
21
|
+
safeDispatchEvent<Detail>(type: keyof EventMap, detail: CustomEventInit<Detail>): boolean;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* An implementation of a typed event target
|
|
25
|
+
* etc
|
|
26
|
+
*/
|
|
27
|
+
export declare class TypedEventEmitter<EventMap extends Record<string, any>> extends EventTarget implements TypedEventTarget<EventMap> {
|
|
28
|
+
#private;
|
|
29
|
+
listenerCount(type: string): number;
|
|
30
|
+
addEventListener<K extends keyof EventMap>(type: K, listener: EventHandler<EventMap[K]> | null, options?: boolean | AddEventListenerOptions): void;
|
|
31
|
+
removeEventListener<K extends keyof EventMap>(type: K, listener?: EventHandler<EventMap[K]> | null, options?: boolean | EventListenerOptions): void;
|
|
32
|
+
dispatchEvent(event: Event): boolean;
|
|
33
|
+
safeDispatchEvent<Detail>(type: keyof EventMap, detail: CustomEventInit<Detail>): boolean;
|
|
34
|
+
}
|
|
35
|
+
export declare const CustomEvent: {
|
|
36
|
+
new <T>(type: string, eventInitDict?: CustomEventInit<T> | undefined): CustomEvent<T>;
|
|
37
|
+
prototype: CustomEvent<any>;
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=event-target.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-target.d.ts","sourceRoot":"","sources":["../../src/event-target.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa,CAAC,SAAS;IAAI,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAAA;CAAE;AACpE,MAAM,WAAW,WAAW,CAAC,SAAS;IAAI,WAAW,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;CAAE;AACjF,MAAM,MAAM,YAAY,CAAC,SAAS,IAAI,aAAa,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC,SAAS,CAAC,CAAA;AAOvF;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB,CAAE,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAE,SAAQ,WAAW;IAC1F,gBAAgB,CAAC,CAAC,SAAS,MAAM,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAAG,IAAI,CAAA;IAElJ,aAAa,CAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IAEpC,mBAAmB,CAAC,CAAC,SAAS,MAAM,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GAAG,IAAI,CAAA;IAEnJ,mBAAmB,CAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GAAG,IAAI,CAAA;IAElH,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,OAAO,CAAA;CAC1F;AAED;;;GAGG;AACH,qBAAa,iBAAiB,CAAC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAE,SAAQ,WAAY,YAAW,gBAAgB,CAAC,QAAQ,CAAC;;IAG5H,aAAa,CAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAUpC,gBAAgB,CAAC,CAAC,SAAS,MAAM,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAAG,IAAI;IAiBlJ,mBAAmB,CAAC,CAAC,SAAS,MAAM,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GAAG,IAAI;IAcnJ,aAAa,CAAE,KAAK,EAAE,KAAK,GAAG,OAAO;IAerC,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,OAAO;CAG1F;AAoBD,eAAO,MAAM,WAAW;;;CAAgD,CAAA"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* An implementation of a typed event target
|
|
3
|
+
* etc
|
|
4
|
+
*/
|
|
5
|
+
export class TypedEventEmitter extends EventTarget {
|
|
6
|
+
#listeners = new Map();
|
|
7
|
+
listenerCount(type) {
|
|
8
|
+
const listeners = this.#listeners.get(type);
|
|
9
|
+
if (listeners == null) {
|
|
10
|
+
return 0;
|
|
11
|
+
}
|
|
12
|
+
return listeners.length;
|
|
13
|
+
}
|
|
14
|
+
addEventListener(type, listener, options) {
|
|
15
|
+
super.addEventListener(type, listener, options);
|
|
16
|
+
let list = this.#listeners.get(type);
|
|
17
|
+
if (list == null) {
|
|
18
|
+
list = [];
|
|
19
|
+
this.#listeners.set(type, list);
|
|
20
|
+
}
|
|
21
|
+
list.push({
|
|
22
|
+
callback: listener,
|
|
23
|
+
once: (options !== true && options !== false && options?.once) ?? false
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
removeEventListener(type, listener, options) {
|
|
27
|
+
super.removeEventListener(type.toString(), listener ?? null, options);
|
|
28
|
+
let list = this.#listeners.get(type);
|
|
29
|
+
if (list == null) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
list = list.filter(({ callback }) => callback !== listener);
|
|
33
|
+
this.#listeners.set(type, list);
|
|
34
|
+
}
|
|
35
|
+
dispatchEvent(event) {
|
|
36
|
+
const result = super.dispatchEvent(event);
|
|
37
|
+
let list = this.#listeners.get(event.type);
|
|
38
|
+
if (list == null) {
|
|
39
|
+
return result;
|
|
40
|
+
}
|
|
41
|
+
list = list.filter(({ once }) => !once);
|
|
42
|
+
this.#listeners.set(event.type, list);
|
|
43
|
+
return result;
|
|
44
|
+
}
|
|
45
|
+
safeDispatchEvent(type, detail) {
|
|
46
|
+
return this.dispatchEvent(new CustomEvent(type, detail));
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* CustomEvent is a standard event but it's not supported by node.
|
|
51
|
+
*
|
|
52
|
+
* Remove this when https://github.com/nodejs/node/issues/40678 is closed.
|
|
53
|
+
*
|
|
54
|
+
* Ref: https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent
|
|
55
|
+
*/
|
|
56
|
+
class CustomEventPolyfill extends Event {
|
|
57
|
+
/** Returns any custom data event was created with. Typically used for synthetic events. */
|
|
58
|
+
detail;
|
|
59
|
+
constructor(message, data) {
|
|
60
|
+
super(message, data);
|
|
61
|
+
// @ts-expect-error could be undefined
|
|
62
|
+
this.detail = data?.detail;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
export const CustomEvent = globalThis.CustomEvent ?? CustomEventPolyfill;
|
|
66
|
+
//# sourceMappingURL=event-target.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-target.js","sourceRoot":"","sources":["../../src/event-target.ts"],"names":[],"mappings":"AA6BA;;;GAGG;AACH,MAAM,OAAO,iBAAwD,SAAQ,WAAW;IACtF,UAAU,GAAG,IAAI,GAAG,EAAmB,CAAA;IAEvC,aAAa,CAAE,IAAY;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAE3C,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;YACtB,OAAO,CAAC,CAAA;QACV,CAAC;QAED,OAAO,SAAS,CAAC,MAAM,CAAA;IACzB,CAAC;IAGD,gBAAgB,CAAE,IAAY,EAAE,QAA6B,EAAE,OAA2C;QACxG,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;QAE/C,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAEpC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,IAAI,GAAG,EAAE,CAAA;YACT,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACjC,CAAC;QAED,IAAI,CAAC,IAAI,CAAC;YACR,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,IAAI,OAAO,EAAE,IAAI,CAAC,IAAI,KAAK;SACxE,CAAC,CAAA;IACJ,CAAC;IAGD,mBAAmB,CAAE,IAAY,EAAE,QAA8B,EAAE,OAAwC;QACzG,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,IAAI,IAAI,EAAE,OAAO,CAAC,CAAA;QAErE,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAEpC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,OAAM;QACR,CAAC;QAED,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAA;QAC3D,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACjC,CAAC;IAED,aAAa,CAAE,KAAY;QACzB,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAEzC,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAE1C,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,OAAO,MAAM,CAAA;QACf,CAAC;QAED,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;QACvC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAErC,OAAO,MAAM,CAAA;IACf,CAAC;IAED,iBAAiB,CAAS,IAAoB,EAAE,MAA+B;QAC7E,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAS,IAAc,EAAE,MAAM,CAAC,CAAC,CAAA;IAC5E,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,mBAA6B,SAAQ,KAAK;IAC9C,2FAA2F;IACpF,MAAM,CAAG;IAEhB,YAAa,OAAe,EAAE,IAAgC;QAC5D,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QACpB,sCAAsC;QACtC,IAAI,CAAC,MAAM,GAAG,IAAI,EAAE,MAAM,CAAA;IAC5B,CAAC;CACF;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,IAAI,mBAAmB,CAAA"}
|
package/dist/src/events.d.ts
CHANGED
|
@@ -1,42 +1,4 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { setMaxListeners as nodeSetMaxListeners } from 'events';
|
|
3
|
-
export interface EventCallback<EventType> {
|
|
4
|
-
(evt: EventType): void;
|
|
5
|
-
}
|
|
6
|
-
export interface EventObject<EventType> {
|
|
7
|
-
handleEvent: EventCallback<EventType>;
|
|
8
|
-
}
|
|
9
|
-
export type EventHandler<EventType> = EventCallback<EventType> | EventObject<EventType>;
|
|
10
|
-
/**
|
|
11
|
-
* Adds types to the EventTarget class. Hopefully this won't be necessary forever.
|
|
12
|
-
*
|
|
13
|
-
* https://github.com/microsoft/TypeScript/issues/28357
|
|
14
|
-
* https://github.com/microsoft/TypeScript/issues/43477
|
|
15
|
-
* https://github.com/microsoft/TypeScript/issues/299
|
|
16
|
-
* etc
|
|
17
|
-
*/
|
|
18
|
-
export interface TypedEventTarget<EventMap extends Record<string, any>> extends EventTarget {
|
|
19
|
-
addEventListener<K extends keyof EventMap>(type: K, listener: EventHandler<EventMap[K]> | null, options?: boolean | AddEventListenerOptions): void;
|
|
20
|
-
listenerCount(type: string): number;
|
|
21
|
-
removeEventListener<K extends keyof EventMap>(type: K, listener?: EventHandler<EventMap[K]> | null, options?: boolean | EventListenerOptions): void;
|
|
22
|
-
removeEventListener(type: string, listener?: EventHandler<Event>, options?: boolean | EventListenerOptions): void;
|
|
23
|
-
safeDispatchEvent<Detail>(type: keyof EventMap, detail: CustomEventInit<Detail>): boolean;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* An implementation of a typed event target
|
|
27
|
-
* etc
|
|
28
|
-
*/
|
|
29
|
-
export declare class TypedEventEmitter<EventMap extends Record<string, any>> extends EventTarget implements TypedEventTarget<EventMap> {
|
|
30
|
-
#private;
|
|
31
|
-
listenerCount(type: string): number;
|
|
32
|
-
addEventListener<K extends keyof EventMap>(type: K, listener: EventHandler<EventMap[K]> | null, options?: boolean | AddEventListenerOptions): void;
|
|
33
|
-
removeEventListener<K extends keyof EventMap>(type: K, listener?: EventHandler<EventMap[K]> | null, options?: boolean | EventListenerOptions): void;
|
|
34
|
-
dispatchEvent(event: Event): boolean;
|
|
35
|
-
safeDispatchEvent<Detail>(type: keyof EventMap, detail: CustomEventInit<Detail>): boolean;
|
|
36
|
-
}
|
|
37
|
-
export declare const CustomEvent: {
|
|
38
|
-
new <T>(type: string, eventInitDict?: CustomEventInit<T> | undefined): CustomEvent<T>;
|
|
39
|
-
prototype: CustomEvent<any>;
|
|
40
|
-
};
|
|
41
3
|
export declare const setMaxListeners: typeof nodeSetMaxListeners;
|
|
42
4
|
//# sourceMappingURL=events.d.ts.map
|
package/dist/src/events.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,IAAI,mBAAmB,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,IAAI,mBAAmB,EAAE,MAAM,QAAQ,CAAA;AAG/D,eAAO,MAAM,eAAe,EAAE,OAAO,mBAMpC,CAAA"}
|
package/dist/src/events.js
CHANGED
|
@@ -1,69 +1,4 @@
|
|
|
1
1
|
import { setMaxListeners as nodeSetMaxListeners } from 'events';
|
|
2
|
-
/**
|
|
3
|
-
* An implementation of a typed event target
|
|
4
|
-
* etc
|
|
5
|
-
*/
|
|
6
|
-
export class TypedEventEmitter extends EventTarget {
|
|
7
|
-
#listeners = new Map();
|
|
8
|
-
listenerCount(type) {
|
|
9
|
-
const listeners = this.#listeners.get(type);
|
|
10
|
-
if (listeners == null) {
|
|
11
|
-
return 0;
|
|
12
|
-
}
|
|
13
|
-
return listeners.length;
|
|
14
|
-
}
|
|
15
|
-
addEventListener(type, listener, options) {
|
|
16
|
-
super.addEventListener(type, listener, options);
|
|
17
|
-
let list = this.#listeners.get(type);
|
|
18
|
-
if (list == null) {
|
|
19
|
-
list = [];
|
|
20
|
-
this.#listeners.set(type, list);
|
|
21
|
-
}
|
|
22
|
-
list.push({
|
|
23
|
-
callback: listener,
|
|
24
|
-
once: (options !== true && options !== false && options?.once) ?? false
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
removeEventListener(type, listener, options) {
|
|
28
|
-
super.removeEventListener(type.toString(), listener ?? null, options);
|
|
29
|
-
let list = this.#listeners.get(type);
|
|
30
|
-
if (list == null) {
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
list = list.filter(({ callback }) => callback !== listener);
|
|
34
|
-
this.#listeners.set(type, list);
|
|
35
|
-
}
|
|
36
|
-
dispatchEvent(event) {
|
|
37
|
-
const result = super.dispatchEvent(event);
|
|
38
|
-
let list = this.#listeners.get(event.type);
|
|
39
|
-
if (list == null) {
|
|
40
|
-
return result;
|
|
41
|
-
}
|
|
42
|
-
list = list.filter(({ once }) => !once);
|
|
43
|
-
this.#listeners.set(event.type, list);
|
|
44
|
-
return result;
|
|
45
|
-
}
|
|
46
|
-
safeDispatchEvent(type, detail) {
|
|
47
|
-
return this.dispatchEvent(new CustomEvent(type, detail));
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* CustomEvent is a standard event but it's not supported by node.
|
|
52
|
-
*
|
|
53
|
-
* Remove this when https://github.com/nodejs/node/issues/40678 is closed.
|
|
54
|
-
*
|
|
55
|
-
* Ref: https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent
|
|
56
|
-
*/
|
|
57
|
-
class CustomEventPolyfill extends Event {
|
|
58
|
-
/** Returns any custom data event was created with. Typically used for synthetic events. */
|
|
59
|
-
detail;
|
|
60
|
-
constructor(message, data) {
|
|
61
|
-
super(message, data);
|
|
62
|
-
// @ts-expect-error could be undefined
|
|
63
|
-
this.detail = data?.detail;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
export const CustomEvent = globalThis.CustomEvent ?? CustomEventPolyfill;
|
|
67
2
|
// create a setMaxListeners that doesn't break browser usage
|
|
68
3
|
export const setMaxListeners = (n, ...eventTargets) => {
|
|
69
4
|
try {
|
package/dist/src/events.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,IAAI,mBAAmB,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,IAAI,mBAAmB,EAAE,MAAM,QAAQ,CAAA;AAE/D,4DAA4D;AAC5D,MAAM,CAAC,MAAM,eAAe,GAA+B,CAAC,CAAC,EAAE,GAAG,YAAY,EAAE,EAAE;IAChF,IAAI,CAAC;QACH,mBAAmB,CAAC,CAAC,EAAE,GAAG,YAAY,CAAC,CAAA;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,sBAAsB;IACxB,CAAC;AACH,CAAC,CAAA"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import type { Connection, NewStreamOptions, Stream } from './connection/index.js';
|
|
17
17
|
import type { ContentRouting } from './content-routing/index.js';
|
|
18
|
-
import type { TypedEventTarget } from './
|
|
18
|
+
import type { TypedEventTarget } from './event-target.js';
|
|
19
19
|
import type { Metrics } from './metrics/index.js';
|
|
20
20
|
import type { PeerId } from './peer-id/index.js';
|
|
21
21
|
import type { PeerInfo } from './peer-info/index.js';
|
|
@@ -628,6 +628,7 @@ export * from './stream-muxer/index.js';
|
|
|
628
628
|
export * from './topology/index.js';
|
|
629
629
|
export * from './transport/index.js';
|
|
630
630
|
export * from './errors.js';
|
|
631
|
+
export * from './event-target.js';
|
|
631
632
|
export * from './events.js';
|
|
632
633
|
export * from './startable.js';
|
|
633
634
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js
CHANGED
|
@@ -32,6 +32,7 @@ export * from './stream-muxer/index.js';
|
|
|
32
32
|
export * from './topology/index.js';
|
|
33
33
|
export * from './transport/index.js';
|
|
34
34
|
export * from './errors.js';
|
|
35
|
+
export * from './event-target.js';
|
|
35
36
|
export * from './events.js';
|
|
36
37
|
export * from './startable.js';
|
|
37
38
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAmpBH,cAAc,uBAAuB,CAAA;AACrC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,2BAA2B,CAAA;AACzC,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AACvC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,2BAA2B,CAAA;AACzC,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAmpBH,cAAc,uBAAuB,CAAA;AACrC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,2BAA2B,CAAA;AACzC,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AACvC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,2BAA2B,CAAA;AACzC,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/peer-discovery/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/peer-discovery/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAErD;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,mBAAmB,eAAuC,CAAA;AAEvE,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAA;CAC9B;AAED,MAAM,WAAW,aAAc,SAAQ,gBAAgB,CAAC,mBAAmB,CAAC;CAAG"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Stream } from '../connection/index.js';
|
|
2
|
-
import type { TypedEventTarget } from '../
|
|
2
|
+
import type { TypedEventTarget } from '../event-target.js';
|
|
3
3
|
import type { PeerId } from '../peer-id/index.js';
|
|
4
4
|
import type { Pushable } from 'it-pushable';
|
|
5
5
|
import type { Uint8ArrayList } from 'uint8arraylist';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pubsub/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pubsub/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,eAAe,CAAA;AAEtC;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,iBAAiB,CAAA;AAE1C,MAAM,MAAM,eAAe,GAAG,OAAO,UAAU,GAAG,OAAO,YAAY,CAAA;AAErE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,QAAQ,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,UAAU,CAAA;IAChB,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,UAAU,CAAA;IACrB,GAAG,EAAE,UAAU,CAAA;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,UAAU,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,UAAU,CAAA;CACjB;AAED,MAAM,MAAM,OAAO,GAAG,aAAa,GAAG,eAAe,CAAA;AAErD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,cAAc,CAAC,EAAE,UAAU,CAAA;IAC3B,SAAS,CAAC,EAAE,UAAU,CAAA;IACtB,GAAG,CAAC,EAAE,UAAU,CAAA;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,SAAS;IACxB,aAAa,EAAE,qBAAqB,EAAE,CAAA;IACtC,QAAQ,EAAE,gBAAgB,EAAE,CAAA;CAC7B;AAED,MAAM,WAAW,WAAY,SAAQ,gBAAgB,CAAC,gBAAgB,CAAC;IACrE,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAA;IACzC,aAAa,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAA;IAC7C,UAAU,EAAE,OAAO,CAAA;IAEnB,KAAK,IAAI,IAAI,CAAA;IACb,KAAK,CAAC,GAAG,EAAE,UAAU,GAAG,cAAc,GAAG,IAAI,CAAA;IAC7C,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC,cAAc,CAAC,CAAA;IAClE,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAA;CACxE;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IAEtB;;OAEG;IACH,qBAAqB,CAAC,EAAE,eAAe,CAAA;IAEvC;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IAEzB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;OAEG;IACH,4BAA4B,CAAC,EAAE,MAAM,CAAA;IAErC;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAE1B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,YAAY,EAAE,CAAA;CAC9B;AAED,MAAM,WAAW,YAAY;IAC3B,qBAAqB,EAAE,WAAW,CAAC,sBAAsB,CAAC,CAAA;IAC1D,SAAS,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;CAChC;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,EAAE,CAAA;CACrB;AAED,oBAAY,oBAAoB;IAC9B;;OAEG;IACH,MAAM,WAAW;IACjB;;OAEG;IACH,MAAM,WAAW;IACjB;;OAEG;IACH,MAAM,WAAW;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAA;CACvF;AAED,MAAM,WAAW,MAAM,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,YAAY,CAAE,SAAQ,gBAAgB,CAAC,MAAM,CAAC;IACzG;;;;;;OAMG;IACH,qBAAqB,EAAE,OAAO,UAAU,GAAG,OAAO,YAAY,CAAA;IAE9D;;OAEG;IACH,WAAW,EAAE,MAAM,EAAE,CAAA;IAErB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAE9C,QAAQ,IAAI,MAAM,EAAE,CAAA;IAEpB;;;;;;OAMG;IACH,SAAS,IAAI,MAAM,EAAE,CAAA;IAErB;;;;;;;;;;;;;;;;OAgBG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAE9B;;;;;;;;;;;;;;OAcG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAEhC;;;;;;;;OAQG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAEvC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;CACjE;AAED,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB,EAAE,WAAW,CAAC,KAAK,CAAC,CAAA;IACpC,iBAAiB,EAAE,WAAW,CAAC,KAAK,CAAC,CAAA;IACrC,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,CAAA;CAC5B"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Connection, MultiaddrConnection } from '../connection/index.js';
|
|
2
|
-
import type { TypedEventTarget } from '../
|
|
2
|
+
import type { TypedEventTarget } from '../event-target.js';
|
|
3
3
|
import type { AbortOptions } from '../index.js';
|
|
4
4
|
import type { StreamMuxerFactory } from '../stream-muxer/index.js';
|
|
5
5
|
import type { Multiaddr } from '@multiformats/multiaddr';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transport/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transport/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAExD,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,WAAW,CAAC,UAAU,CAAC,CAAA;IACrC,WAAW,EAAE,WAAW,CAAA;IACxB,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,CAAA;IAC3B,OAAO,EAAE,WAAW,CAAA;CACrB;AAED,MAAM,WAAW,QAAS,SAAQ,gBAAgB,CAAC,cAAc,CAAC;IAChE;;OAEG;IACH,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3C;;OAEG;IACH,QAAQ,IAAI,SAAS,EAAE,CAAA;IACvB;;;;OAIG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACvB;AAED,eAAO,MAAM,eAAe,eAAkC,CAAA;AAE9D,MAAM,WAAW,iBAAiB;IAAG,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAA;CAAE;AAErE,MAAM,WAAW,eAAe;IAAG,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAAA;CAAE;AAE3E,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,iBAAiB,CAAA;IAC3B,QAAQ,EAAE,QAAQ,CAAA;CACnB;AAED,MAAM,WAAW,WAAY,SAAQ,YAAY;IAC/C,QAAQ,EAAE,QAAQ,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAE5B;;OAEG;IACH,CAAC,eAAe,CAAC,EAAE,IAAI,CAAA;IAEvB;;OAEG;IACH,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAE9D;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,QAAQ,CAAA;IAExD;;OAEG;IACH,MAAM,EAAE,eAAe,CAAA;CACxB;AAED,wBAAgB,WAAW,CAAE,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,SAAS,CAE3D;AAED;;GAEG;AACH,oBAAY,cAAc;IACxB;;OAEG;IACH,SAAS,IAAI;IAEb;;OAEG;IACH,QAAQ,IAAA;CACT;AAED,MAAM,WAAW,eAAe;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,YAAY,CAAC,EAAE,kBAAkB,CAAA;IAEjC;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,eAAe,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAEzF;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;CACzF"}
|
package/dist/typedoc-urls.json
CHANGED
|
@@ -28,19 +28,16 @@
|
|
|
28
28
|
"ERR_INVALID_PARAMETERS": "https://libp2p.github.io/js-libp2p/variables/_libp2p_interface.errors.ERR_INVALID_PARAMETERS.html",
|
|
29
29
|
"ERR_NOT_FOUND": "https://libp2p.github.io/js-libp2p/variables/_libp2p_interface.errors.ERR_NOT_FOUND.html",
|
|
30
30
|
"ERR_TIMEOUT": "https://libp2p.github.io/js-libp2p/variables/_libp2p_interface.errors.ERR_TIMEOUT.html",
|
|
31
|
-
"TypedEventEmitter": "https://libp2p.github.io/js-libp2p/classes/_libp2p_interface.events.TypedEventEmitter.html",
|
|
32
|
-
"EventCallback": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.events.EventCallback.html",
|
|
33
|
-
"EventObject": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.events.EventObject.html",
|
|
34
|
-
"TypedEventTarget": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.events.TypedEventTarget.html",
|
|
35
|
-
"EventHandler": "https://libp2p.github.io/js-libp2p/types/_libp2p_interface.events.EventHandler.html",
|
|
36
|
-
"CustomEvent": "https://libp2p.github.io/js-libp2p/variables/_libp2p_interface.events.CustomEvent.html",
|
|
37
31
|
"setMaxListeners": "https://libp2p.github.io/js-libp2p/functions/_libp2p_interface.events.setMaxListeners.html",
|
|
32
|
+
"TypedEventEmitter": "https://libp2p.github.io/js-libp2p/classes/_libp2p_interface.index.TypedEventEmitter.html",
|
|
38
33
|
"AbortOptions": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.index.AbortOptions.html",
|
|
39
34
|
".:AbortOptions": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.index.AbortOptions.html",
|
|
40
35
|
"AddressSorter": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.index.AddressSorter.html",
|
|
41
36
|
".:AddressSorter": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.index.AddressSorter.html",
|
|
42
37
|
"ComponentLogger": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.index.ComponentLogger.html",
|
|
43
38
|
".:ComponentLogger": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.index.ComponentLogger.html",
|
|
39
|
+
"EventCallback": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.index.EventCallback.html",
|
|
40
|
+
"EventObject": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.index.EventObject.html",
|
|
44
41
|
"IdentifyResult": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.index.IdentifyResult.html",
|
|
45
42
|
".:IdentifyResult": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.index.IdentifyResult.html",
|
|
46
43
|
"Libp2p": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.index.Libp2p.html",
|
|
@@ -60,6 +57,8 @@
|
|
|
60
57
|
"SignedPeerRecord": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.index.SignedPeerRecord.html",
|
|
61
58
|
".:SignedPeerRecord": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.index.SignedPeerRecord.html",
|
|
62
59
|
"Topology": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.index.Topology.html",
|
|
60
|
+
"TypedEventTarget": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.index.TypedEventTarget.html",
|
|
61
|
+
"EventHandler": "https://libp2p.github.io/js-libp2p/types/_libp2p_interface.index.EventHandler.html",
|
|
63
62
|
"Libp2pStatus": "https://libp2p.github.io/js-libp2p/types/_libp2p_interface.index.Libp2pStatus.html",
|
|
64
63
|
".:Libp2pStatus": "https://libp2p.github.io/js-libp2p/types/_libp2p_interface.index.Libp2pStatus.html",
|
|
65
64
|
"PendingDialStatus": "https://libp2p.github.io/js-libp2p/types/_libp2p_interface.index.PendingDialStatus.html",
|
|
@@ -68,6 +67,7 @@
|
|
|
68
67
|
".:RecursivePartial": "https://libp2p.github.io/js-libp2p/types/_libp2p_interface.index.RecursivePartial.html",
|
|
69
68
|
"ServiceMap": "https://libp2p.github.io/js-libp2p/types/_libp2p_interface.index.ServiceMap.html",
|
|
70
69
|
".:ServiceMap": "https://libp2p.github.io/js-libp2p/types/_libp2p_interface.index.ServiceMap.html",
|
|
70
|
+
"CustomEvent": "https://libp2p.github.io/js-libp2p/variables/_libp2p_interface.index.CustomEvent.html",
|
|
71
71
|
"PrivateKey": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.keys.PrivateKey.html",
|
|
72
72
|
"PublicKey": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.keys.PublicKey.html",
|
|
73
73
|
"KeyType": "https://libp2p.github.io/js-libp2p/types/_libp2p_interface.keys.KeyType.html",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/interface",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "The interface implemented by a libp2p node",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/interface#readme",
|
|
@@ -74,5 +74,8 @@
|
|
|
74
74
|
},
|
|
75
75
|
"browser": {
|
|
76
76
|
"events": "./dist/src/events.browser.js"
|
|
77
|
+
},
|
|
78
|
+
"react-native": {
|
|
79
|
+
"./dist/src/events.js": "./dist/src/events.browser.js"
|
|
77
80
|
}
|
|
78
81
|
}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
export interface EventCallback<EventType> { (evt: EventType): void }
|
|
2
|
+
export interface EventObject<EventType> { handleEvent: EventCallback<EventType> }
|
|
3
|
+
export type EventHandler<EventType> = EventCallback<EventType> | EventObject<EventType>
|
|
4
|
+
|
|
5
|
+
interface Listener {
|
|
6
|
+
once: boolean
|
|
7
|
+
callback: any
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Adds types to the EventTarget class. Hopefully this won't be necessary forever.
|
|
12
|
+
*
|
|
13
|
+
* https://github.com/microsoft/TypeScript/issues/28357
|
|
14
|
+
* https://github.com/microsoft/TypeScript/issues/43477
|
|
15
|
+
* https://github.com/microsoft/TypeScript/issues/299
|
|
16
|
+
* etc
|
|
17
|
+
*/
|
|
18
|
+
export interface TypedEventTarget <EventMap extends Record<string, any>> extends EventTarget {
|
|
19
|
+
addEventListener<K extends keyof EventMap>(type: K, listener: EventHandler<EventMap[K]> | null, options?: boolean | AddEventListenerOptions): void
|
|
20
|
+
|
|
21
|
+
listenerCount (type: string): number
|
|
22
|
+
|
|
23
|
+
removeEventListener<K extends keyof EventMap>(type: K, listener?: EventHandler<EventMap[K]> | null, options?: boolean | EventListenerOptions): void
|
|
24
|
+
|
|
25
|
+
removeEventListener (type: string, listener?: EventHandler<Event>, options?: boolean | EventListenerOptions): void
|
|
26
|
+
|
|
27
|
+
safeDispatchEvent<Detail>(type: keyof EventMap, detail: CustomEventInit<Detail>): boolean
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* An implementation of a typed event target
|
|
32
|
+
* etc
|
|
33
|
+
*/
|
|
34
|
+
export class TypedEventEmitter<EventMap extends Record<string, any>> extends EventTarget implements TypedEventTarget<EventMap> {
|
|
35
|
+
#listeners = new Map<any, Listener[]>()
|
|
36
|
+
|
|
37
|
+
listenerCount (type: string): number {
|
|
38
|
+
const listeners = this.#listeners.get(type)
|
|
39
|
+
|
|
40
|
+
if (listeners == null) {
|
|
41
|
+
return 0
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
return listeners.length
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
addEventListener<K extends keyof EventMap>(type: K, listener: EventHandler<EventMap[K]> | null, options?: boolean | AddEventListenerOptions): void
|
|
48
|
+
addEventListener (type: string, listener: EventHandler<Event>, options?: boolean | AddEventListenerOptions): void {
|
|
49
|
+
super.addEventListener(type, listener, options)
|
|
50
|
+
|
|
51
|
+
let list = this.#listeners.get(type)
|
|
52
|
+
|
|
53
|
+
if (list == null) {
|
|
54
|
+
list = []
|
|
55
|
+
this.#listeners.set(type, list)
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
list.push({
|
|
59
|
+
callback: listener,
|
|
60
|
+
once: (options !== true && options !== false && options?.once) ?? false
|
|
61
|
+
})
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
removeEventListener<K extends keyof EventMap>(type: K, listener?: EventHandler<EventMap[K]> | null, options?: boolean | EventListenerOptions): void
|
|
65
|
+
removeEventListener (type: string, listener?: EventHandler<Event>, options?: boolean | EventListenerOptions): void {
|
|
66
|
+
super.removeEventListener(type.toString(), listener ?? null, options)
|
|
67
|
+
|
|
68
|
+
let list = this.#listeners.get(type)
|
|
69
|
+
|
|
70
|
+
if (list == null) {
|
|
71
|
+
return
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
list = list.filter(({ callback }) => callback !== listener)
|
|
75
|
+
this.#listeners.set(type, list)
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
dispatchEvent (event: Event): boolean {
|
|
79
|
+
const result = super.dispatchEvent(event)
|
|
80
|
+
|
|
81
|
+
let list = this.#listeners.get(event.type)
|
|
82
|
+
|
|
83
|
+
if (list == null) {
|
|
84
|
+
return result
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
list = list.filter(({ once }) => !once)
|
|
88
|
+
this.#listeners.set(event.type, list)
|
|
89
|
+
|
|
90
|
+
return result
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
safeDispatchEvent<Detail>(type: keyof EventMap, detail: CustomEventInit<Detail>): boolean {
|
|
94
|
+
return this.dispatchEvent(new CustomEvent<Detail>(type as string, detail))
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* CustomEvent is a standard event but it's not supported by node.
|
|
100
|
+
*
|
|
101
|
+
* Remove this when https://github.com/nodejs/node/issues/40678 is closed.
|
|
102
|
+
*
|
|
103
|
+
* Ref: https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent
|
|
104
|
+
*/
|
|
105
|
+
class CustomEventPolyfill<T = any> extends Event {
|
|
106
|
+
/** Returns any custom data event was created with. Typically used for synthetic events. */
|
|
107
|
+
public detail: T
|
|
108
|
+
|
|
109
|
+
constructor (message: string, data?: EventInit & { detail: T }) {
|
|
110
|
+
super(message, data)
|
|
111
|
+
// @ts-expect-error could be undefined
|
|
112
|
+
this.detail = data?.detail
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
export const CustomEvent = globalThis.CustomEvent ?? CustomEventPolyfill
|
package/src/events.ts
CHANGED
|
@@ -1,122 +1,5 @@
|
|
|
1
1
|
import { setMaxListeners as nodeSetMaxListeners } from 'events'
|
|
2
2
|
|
|
3
|
-
export interface EventCallback<EventType> { (evt: EventType): void }
|
|
4
|
-
export interface EventObject<EventType> { handleEvent: EventCallback<EventType> }
|
|
5
|
-
export type EventHandler<EventType> = EventCallback<EventType> | EventObject<EventType>
|
|
6
|
-
|
|
7
|
-
interface Listener {
|
|
8
|
-
once: boolean
|
|
9
|
-
callback: any
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Adds types to the EventTarget class. Hopefully this won't be necessary forever.
|
|
14
|
-
*
|
|
15
|
-
* https://github.com/microsoft/TypeScript/issues/28357
|
|
16
|
-
* https://github.com/microsoft/TypeScript/issues/43477
|
|
17
|
-
* https://github.com/microsoft/TypeScript/issues/299
|
|
18
|
-
* etc
|
|
19
|
-
*/
|
|
20
|
-
export interface TypedEventTarget <EventMap extends Record<string, any>> extends EventTarget {
|
|
21
|
-
addEventListener<K extends keyof EventMap>(type: K, listener: EventHandler<EventMap[K]> | null, options?: boolean | AddEventListenerOptions): void
|
|
22
|
-
|
|
23
|
-
listenerCount (type: string): number
|
|
24
|
-
|
|
25
|
-
removeEventListener<K extends keyof EventMap>(type: K, listener?: EventHandler<EventMap[K]> | null, options?: boolean | EventListenerOptions): void
|
|
26
|
-
|
|
27
|
-
removeEventListener (type: string, listener?: EventHandler<Event>, options?: boolean | EventListenerOptions): void
|
|
28
|
-
|
|
29
|
-
safeDispatchEvent<Detail>(type: keyof EventMap, detail: CustomEventInit<Detail>): boolean
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* An implementation of a typed event target
|
|
34
|
-
* etc
|
|
35
|
-
*/
|
|
36
|
-
export class TypedEventEmitter<EventMap extends Record<string, any>> extends EventTarget implements TypedEventTarget<EventMap> {
|
|
37
|
-
#listeners = new Map<any, Listener[]>()
|
|
38
|
-
|
|
39
|
-
listenerCount (type: string): number {
|
|
40
|
-
const listeners = this.#listeners.get(type)
|
|
41
|
-
|
|
42
|
-
if (listeners == null) {
|
|
43
|
-
return 0
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
return listeners.length
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
addEventListener<K extends keyof EventMap>(type: K, listener: EventHandler<EventMap[K]> | null, options?: boolean | AddEventListenerOptions): void
|
|
50
|
-
addEventListener (type: string, listener: EventHandler<Event>, options?: boolean | AddEventListenerOptions): void {
|
|
51
|
-
super.addEventListener(type, listener, options)
|
|
52
|
-
|
|
53
|
-
let list = this.#listeners.get(type)
|
|
54
|
-
|
|
55
|
-
if (list == null) {
|
|
56
|
-
list = []
|
|
57
|
-
this.#listeners.set(type, list)
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
list.push({
|
|
61
|
-
callback: listener,
|
|
62
|
-
once: (options !== true && options !== false && options?.once) ?? false
|
|
63
|
-
})
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
removeEventListener<K extends keyof EventMap>(type: K, listener?: EventHandler<EventMap[K]> | null, options?: boolean | EventListenerOptions): void
|
|
67
|
-
removeEventListener (type: string, listener?: EventHandler<Event>, options?: boolean | EventListenerOptions): void {
|
|
68
|
-
super.removeEventListener(type.toString(), listener ?? null, options)
|
|
69
|
-
|
|
70
|
-
let list = this.#listeners.get(type)
|
|
71
|
-
|
|
72
|
-
if (list == null) {
|
|
73
|
-
return
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
list = list.filter(({ callback }) => callback !== listener)
|
|
77
|
-
this.#listeners.set(type, list)
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
dispatchEvent (event: Event): boolean {
|
|
81
|
-
const result = super.dispatchEvent(event)
|
|
82
|
-
|
|
83
|
-
let list = this.#listeners.get(event.type)
|
|
84
|
-
|
|
85
|
-
if (list == null) {
|
|
86
|
-
return result
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
list = list.filter(({ once }) => !once)
|
|
90
|
-
this.#listeners.set(event.type, list)
|
|
91
|
-
|
|
92
|
-
return result
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
safeDispatchEvent<Detail>(type: keyof EventMap, detail: CustomEventInit<Detail>): boolean {
|
|
96
|
-
return this.dispatchEvent(new CustomEvent<Detail>(type as string, detail))
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
/**
|
|
101
|
-
* CustomEvent is a standard event but it's not supported by node.
|
|
102
|
-
*
|
|
103
|
-
* Remove this when https://github.com/nodejs/node/issues/40678 is closed.
|
|
104
|
-
*
|
|
105
|
-
* Ref: https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent
|
|
106
|
-
*/
|
|
107
|
-
class CustomEventPolyfill<T = any> extends Event {
|
|
108
|
-
/** Returns any custom data event was created with. Typically used for synthetic events. */
|
|
109
|
-
public detail: T
|
|
110
|
-
|
|
111
|
-
constructor (message: string, data?: EventInit & { detail: T }) {
|
|
112
|
-
super(message, data)
|
|
113
|
-
// @ts-expect-error could be undefined
|
|
114
|
-
this.detail = data?.detail
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
export const CustomEvent = globalThis.CustomEvent ?? CustomEventPolyfill
|
|
119
|
-
|
|
120
3
|
// create a setMaxListeners that doesn't break browser usage
|
|
121
4
|
export const setMaxListeners: typeof nodeSetMaxListeners = (n, ...eventTargets) => {
|
|
122
5
|
try {
|
package/src/index.ts
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
import type { Connection, NewStreamOptions, Stream } from './connection/index.js'
|
|
18
18
|
import type { ContentRouting } from './content-routing/index.js'
|
|
19
|
-
import type { TypedEventTarget } from './
|
|
19
|
+
import type { TypedEventTarget } from './event-target.js'
|
|
20
20
|
import type { Metrics } from './metrics/index.js'
|
|
21
21
|
import type { PeerId } from './peer-id/index.js'
|
|
22
22
|
import type { PeerInfo } from './peer-info/index.js'
|
|
@@ -690,5 +690,6 @@ export * from './stream-muxer/index.js'
|
|
|
690
690
|
export * from './topology/index.js'
|
|
691
691
|
export * from './transport/index.js'
|
|
692
692
|
export * from './errors.js'
|
|
693
|
+
export * from './event-target.js'
|
|
693
694
|
export * from './events.js'
|
|
694
695
|
export * from './startable.js'
|
package/src/pubsub/index.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Stream } from '../connection/index.js'
|
|
2
|
-
import type { TypedEventTarget } from '../
|
|
2
|
+
import type { TypedEventTarget } from '../event-target.js'
|
|
3
3
|
import type { PeerId } from '../peer-id/index.js'
|
|
4
4
|
import type { Pushable } from 'it-pushable'
|
|
5
5
|
import type { Uint8ArrayList } from 'uint8arraylist'
|
package/src/transport/index.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Connection, MultiaddrConnection } from '../connection/index.js'
|
|
2
|
-
import type { TypedEventTarget } from '../
|
|
2
|
+
import type { TypedEventTarget } from '../event-target.js'
|
|
3
3
|
import type { AbortOptions } from '../index.js'
|
|
4
4
|
import type { StreamMuxerFactory } from '../stream-muxer/index.js'
|
|
5
5
|
import type { Multiaddr } from '@multiformats/multiaddr'
|