keyv 5.1.1 → 5.1.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.cjs CHANGED
@@ -68,6 +68,13 @@ var EventManager = class {
68
68
  this._eventListeners.delete(event);
69
69
  }
70
70
  }
71
+ once(event, listener) {
72
+ const onceListener = (...arguments_) => {
73
+ listener(...arguments_);
74
+ this.off(event, onceListener);
75
+ };
76
+ this.on(event, onceListener);
77
+ }
71
78
  // Emit an event
72
79
  emit(event, ...arguments_) {
73
80
  const listeners = this._eventListeners.get(event);
package/dist/index.d.cts CHANGED
@@ -8,6 +8,7 @@ declare class EventManager {
8
8
  on(event: string, listener: EventListener): void;
9
9
  removeListener(event: string, listener: EventListener): void;
10
10
  off(event: string, listener: EventListener): void;
11
+ once(event: string, listener: EventListener): void;
11
12
  emit(event: string, ...arguments_: any[]): void;
12
13
  listeners(event: string): EventListener[];
13
14
  removeAllListeners(event?: string): void;
package/dist/index.d.ts CHANGED
@@ -8,6 +8,7 @@ declare class EventManager {
8
8
  on(event: string, listener: EventListener): void;
9
9
  removeListener(event: string, listener: EventListener): void;
10
10
  off(event: string, listener: EventListener): void;
11
+ once(event: string, listener: EventListener): void;
11
12
  emit(event: string, ...arguments_: any[]): void;
12
13
  listeners(event: string): EventListener[];
13
14
  removeAllListeners(event?: string): void;
package/dist/index.js CHANGED
@@ -42,6 +42,13 @@ var EventManager = class {
42
42
  this._eventListeners.delete(event);
43
43
  }
44
44
  }
45
+ once(event, listener) {
46
+ const onceListener = (...arguments_) => {
47
+ listener(...arguments_);
48
+ this.off(event, onceListener);
49
+ };
50
+ this.on(event, onceListener);
51
+ }
45
52
  // Emit an event
46
53
  emit(event, ...arguments_) {
47
54
  const listeners = this._eventListeners.get(event);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "keyv",
3
- "version": "5.1.1",
3
+ "version": "5.1.2",
4
4
  "description": "Simple key-value storage with support for multiple backends",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",