@libp2p/interface 2.10.2 → 2.10.3-6c42ea64a

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.
Files changed (44) hide show
  1. package/dist/index.min.js +1 -1
  2. package/dist/index.min.js.map +3 -3
  3. package/dist/src/index.d.ts +4 -5
  4. package/dist/src/index.d.ts.map +1 -1
  5. package/dist/src/index.js +1 -2
  6. package/dist/src/index.js.map +1 -1
  7. package/dist/src/keys.d.ts +9 -8
  8. package/dist/src/keys.d.ts.map +1 -1
  9. package/dist/src/keys.js.map +1 -1
  10. package/dist/src/peer-discovery.d.ts +1 -1
  11. package/dist/src/peer-discovery.d.ts.map +1 -1
  12. package/dist/src/peer-store.d.ts +17 -9
  13. package/dist/src/peer-store.d.ts.map +1 -1
  14. package/dist/src/peer-store.js.map +1 -1
  15. package/dist/src/pubsub.d.ts +1 -1
  16. package/dist/src/pubsub.d.ts.map +1 -1
  17. package/dist/src/stream-handler.d.ts +2 -1
  18. package/dist/src/stream-handler.d.ts.map +1 -1
  19. package/dist/src/transport.d.ts +1 -1
  20. package/dist/src/transport.d.ts.map +1 -1
  21. package/package.json +5 -10
  22. package/src/index.ts +4 -5
  23. package/src/keys.ts +9 -8
  24. package/src/peer-discovery.ts +1 -1
  25. package/src/peer-store.ts +19 -9
  26. package/src/pubsub.ts +1 -1
  27. package/src/stream-handler.ts +2 -1
  28. package/src/transport.ts +1 -1
  29. package/dist/src/event-target.d.ts +0 -36
  30. package/dist/src/event-target.d.ts.map +0 -1
  31. package/dist/src/event-target.js +0 -55
  32. package/dist/src/event-target.js.map +0 -1
  33. package/dist/src/events.browser.d.ts +0 -5
  34. package/dist/src/events.browser.d.ts.map +0 -1
  35. package/dist/src/events.browser.js +0 -5
  36. package/dist/src/events.browser.js.map +0 -1
  37. package/dist/src/events.d.ts +0 -6
  38. package/dist/src/events.d.ts.map +0 -1
  39. package/dist/src/events.js +0 -13
  40. package/dist/src/events.js.map +0 -1
  41. package/dist/typedoc-urls.json +0 -223
  42. package/src/event-target.ts +0 -106
  43. package/src/events.browser.ts +0 -4
  44. package/src/events.ts +0 -12
@@ -1,106 +0,0 @@
1
- import { setMaxListeners } from './events.js'
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
14
- * forever.
15
- *
16
- * https://github.com/microsoft/TypeScript/issues/28357
17
- * https://github.com/microsoft/TypeScript/issues/43477
18
- * https://github.com/microsoft/TypeScript/issues/299
19
- * etc
20
- */
21
- export interface TypedEventTarget <EventMap extends Record<string, any>> extends EventTarget {
22
- addEventListener<K extends keyof EventMap>(type: K, listener: EventHandler<EventMap[K]> | null, options?: boolean | AddEventListenerOptions): void
23
-
24
- listenerCount (type: string): number
25
-
26
- removeEventListener<K extends keyof EventMap>(type: K, listener?: EventHandler<EventMap[K]> | null, options?: boolean | EventListenerOptions): void
27
-
28
- removeEventListener (type: string, listener?: EventHandler<Event>, options?: boolean | EventListenerOptions): void
29
-
30
- safeDispatchEvent<Detail>(type: keyof EventMap, detail?: CustomEventInit<Detail>): boolean
31
- }
32
-
33
- /**
34
- * An implementation of a typed event target
35
- */
36
- export class TypedEventEmitter<EventMap extends Record<string, any>> extends EventTarget implements TypedEventTarget<EventMap> {
37
- readonly #listeners = new Map<any, Listener[]>()
38
-
39
- constructor () {
40
- super()
41
-
42
- // silence MaxListenersExceededWarning warning on Node.js, this is a red
43
- // herring almost all of the time
44
- setMaxListeners(Infinity, this)
45
- }
46
-
47
- listenerCount (type: string): number {
48
- const listeners = this.#listeners.get(type)
49
-
50
- if (listeners == null) {
51
- return 0
52
- }
53
-
54
- return listeners.length
55
- }
56
-
57
- addEventListener<K extends keyof EventMap>(type: K, listener: EventHandler<EventMap[K]> | null, options?: boolean | AddEventListenerOptions): void
58
- addEventListener (type: string, listener: EventHandler<Event>, options?: boolean | AddEventListenerOptions): void {
59
- super.addEventListener(type, listener, options)
60
-
61
- let list = this.#listeners.get(type)
62
-
63
- if (list == null) {
64
- list = []
65
- this.#listeners.set(type, list)
66
- }
67
-
68
- list.push({
69
- callback: listener,
70
- once: (options !== true && options !== false && options?.once) ?? false
71
- })
72
- }
73
-
74
- removeEventListener<K extends keyof EventMap>(type: K, listener?: EventHandler<EventMap[K]> | null, options?: boolean | EventListenerOptions): void
75
- removeEventListener (type: string, listener?: EventHandler<Event>, options?: boolean | EventListenerOptions): void {
76
- super.removeEventListener(type.toString(), listener ?? null, options)
77
-
78
- let list = this.#listeners.get(type)
79
-
80
- if (list == null) {
81
- return
82
- }
83
-
84
- list = list.filter(({ callback }) => callback !== listener)
85
- this.#listeners.set(type, list)
86
- }
87
-
88
- dispatchEvent (event: Event): boolean {
89
- const result = super.dispatchEvent(event)
90
-
91
- let list = this.#listeners.get(event.type)
92
-
93
- if (list == null) {
94
- return result
95
- }
96
-
97
- list = list.filter(({ once }) => !once)
98
- this.#listeners.set(event.type, list)
99
-
100
- return result
101
- }
102
-
103
- safeDispatchEvent<Detail>(type: keyof EventMap, detail: CustomEventInit<Detail> = {}): boolean {
104
- return this.dispatchEvent(new CustomEvent<Detail>(type as string, detail))
105
- }
106
- }
@@ -1,4 +0,0 @@
1
- /**
2
- * Noop for browser compatibility
3
- */
4
- export function setMaxListeners (): void {}
package/src/events.ts DELETED
@@ -1,12 +0,0 @@
1
- import { setMaxListeners as nodeSetMaxListeners } from 'node:events'
2
-
3
- /**
4
- * Create a setMaxListeners that doesn't break browser usage
5
- */
6
- export const setMaxListeners: typeof nodeSetMaxListeners = (n, ...eventTargets) => {
7
- try {
8
- nodeSetMaxListeners(n, ...eventTargets)
9
- } catch {
10
- // swallow error, gulp
11
- }
12
- }