@blackglory/structures 0.4.0 → 0.5.0

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.
@@ -1,9 +1,9 @@
1
- declare type Handler<T> = (value: T) => void;
2
- export declare class Emitter<T> {
1
+ declare type Handler<Args extends unknown[]> = (...args: Args) => void;
2
+ export declare class Emitter<EventToArgs extends Record<string, unknown[]>> {
3
3
  #private;
4
4
  get [Symbol.toStringTag](): string;
5
- on(event: string, handler: Handler<T>): void;
6
- off(event: string, handler: Handler<T>): void;
7
- emit(event: string, value: T): void;
5
+ on<T extends keyof EventToArgs>(event: T, handler: Handler<EventToArgs[T]>): void;
6
+ off<T extends keyof EventToArgs>(event: T, handler: Handler<EventToArgs[T]>): void;
7
+ emit<T extends keyof EventToArgs>(event: T, ...args: EventToArgs[T]): void;
8
8
  }
9
9
  export {};
@@ -30,11 +30,10 @@ class Emitter {
30
30
  __classPrivateFieldGet(this, _Emitter_map, "f").delete(event);
31
31
  }
32
32
  }
33
- emit(event, value) {
33
+ emit(event, ...args) {
34
34
  if (!__classPrivateFieldGet(this, _Emitter_map, "f").has(event))
35
35
  return;
36
- const set = __classPrivateFieldGet(this, _Emitter_map, "f").get(event);
37
- set.forEach(cb => cb(value));
36
+ __classPrivateFieldGet(this, _Emitter_map, "f").get(event).forEach(cb => cb(...args));
38
37
  }
39
38
  }
40
39
  exports.Emitter = Emitter;
@@ -1 +1 @@
1
- {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../src/emitter.ts"],"names":[],"mappings":";;;;;;;;;AAEA,MAAa,OAAO;IAApB;QACE,uBAAO,IAAI,GAAG,EAA2B,EAAA;IAkC3C,CAAC;IAhCC,IAAI,gCAAC,MAAM,CAAC,WAAW,EAAC;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC9B,CAAC;IAKD,EAAE,CAAC,KAAa,EAAE,OAAmB;QACnC,IAAI,CAAC,uBAAA,IAAI,oBAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACzB,uBAAA,IAAI,oBAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;SAChC;QAED,MAAM,GAAG,GAAG,uBAAA,IAAI,oBAAK,CAAC,GAAG,CAAC,KAAK,CAAE,CAAA;QACjC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAClB,CAAC;IAED,GAAG,CAAC,KAAa,EAAE,OAAmB;QACpC,IAAI,CAAC,uBAAA,IAAI,oBAAK,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,OAAM;QAEjC,MAAM,QAAQ,GAAG,uBAAA,IAAI,oBAAK,CAAC,GAAG,CAAC,KAAK,CAAE,CAAA;QACtC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACxB,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE;YACvB,uBAAA,IAAI,oBAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;SACxB;IACH,CAAC;IAED,IAAI,CAAC,KAAa,EAAE,KAAQ;QAC1B,IAAI,CAAC,uBAAA,IAAI,oBAAK,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,OAAM;QAEjC,MAAM,GAAG,GAAG,uBAAA,IAAI,oBAAK,CAAC,GAAG,CAAC,KAAK,CAAE,CAAA;QACjC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAC9B,CAAC;CACF;AAnCD,0BAmCC"}
1
+ {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../src/emitter.ts"],"names":[],"mappings":";;;;;;;;;AAEA,MAAa,OAAO;IAApB;QACE,uBAAO,IAAI,GAAG,EAAmE,EAAA;IAiCnF,CAAC;IA/BC,IAAI,gCAAC,MAAM,CAAC,WAAW,EAAC;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC9B,CAAC;IAKD,EAAE,CAA8B,KAAQ,EAAE,OAAgC;QACxE,IAAI,CAAC,uBAAA,IAAI,oBAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACzB,uBAAA,IAAI,oBAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;SAChC;QAED,MAAM,GAAG,GAAG,uBAAA,IAAI,oBAAK,CAAC,GAAG,CAAC,KAAK,CAAE,CAAA;QACjC,GAAG,CAAC,GAAG,CAAC,OAAkD,CAAC,CAAA;IAC7D,CAAC;IAED,GAAG,CAA8B,KAAQ,EAAE,OAAgC;QACzE,IAAI,CAAC,uBAAA,IAAI,oBAAK,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,OAAM;QAEjC,MAAM,QAAQ,GAAG,uBAAA,IAAI,oBAAK,CAAC,GAAG,CAAC,KAAK,CAAE,CAAA;QACtC,QAAQ,CAAC,MAAM,CAAC,OAAkD,CAAC,CAAA;QACnE,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE;YACvB,uBAAA,IAAI,oBAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;SACxB;IACH,CAAC;IAED,IAAI,CAA8B,KAAQ,EAAE,GAAG,IAAoB;QACjE,IAAI,CAAC,uBAAA,IAAI,oBAAK,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,OAAM;QAEjC,uBAAA,IAAI,oBAAK,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;IAClD,CAAC;CACF;AAlCD,0BAkCC"}
@@ -1,9 +1,9 @@
1
- declare type Handler<T> = (value: T) => void;
2
- export declare class Emitter<T> {
1
+ declare type Handler<Args extends unknown[]> = (...args: Args) => void;
2
+ export declare class Emitter<EventToArgs extends Record<string, unknown[]>> {
3
3
  #private;
4
4
  get [Symbol.toStringTag](): string;
5
- on(event: string, handler: Handler<T>): void;
6
- off(event: string, handler: Handler<T>): void;
7
- emit(event: string, value: T): void;
5
+ on<T extends keyof EventToArgs>(event: T, handler: Handler<EventToArgs[T]>): void;
6
+ off<T extends keyof EventToArgs>(event: T, handler: Handler<EventToArgs[T]>): void;
7
+ emit<T extends keyof EventToArgs>(event: T, ...args: EventToArgs[T]): void;
8
8
  }
9
9
  export {};
@@ -30,11 +30,10 @@ class Emitter {
30
30
  __classPrivateFieldGet(this, _Emitter_map, "f").delete(event);
31
31
  }
32
32
  }
33
- emit(event, value) {
33
+ emit(event, ...args) {
34
34
  if (!__classPrivateFieldGet(this, _Emitter_map, "f").has(event))
35
35
  return;
36
- const set = __classPrivateFieldGet(this, _Emitter_map, "f").get(event);
37
- set.forEach(cb => cb(value));
36
+ __classPrivateFieldGet(this, _Emitter_map, "f").get(event).forEach(cb => cb(...args));
38
37
  }
39
38
  }
40
39
  exports.Emitter = Emitter;
@@ -1 +1 @@
1
- {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../src/emitter.ts"],"names":[],"mappings":";;;;;;;;;AAEA,MAAa,OAAO;IAApB;QACE,uBAAO,IAAI,GAAG,EAA2B,EAAA;IAkC3C,CAAC;IAhCC,IAAI,gCAAC,MAAM,CAAC,WAAW,EAAC;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC9B,CAAC;IAKD,EAAE,CAAC,KAAa,EAAE,OAAmB;QACnC,IAAI,CAAC,uBAAA,IAAI,oBAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACzB,uBAAA,IAAI,oBAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;SAChC;QAED,MAAM,GAAG,GAAG,uBAAA,IAAI,oBAAK,CAAC,GAAG,CAAC,KAAK,CAAE,CAAA;QACjC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAClB,CAAC;IAED,GAAG,CAAC,KAAa,EAAE,OAAmB;QACpC,IAAI,CAAC,uBAAA,IAAI,oBAAK,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,OAAM;QAEjC,MAAM,QAAQ,GAAG,uBAAA,IAAI,oBAAK,CAAC,GAAG,CAAC,KAAK,CAAE,CAAA;QACtC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACxB,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE;YACvB,uBAAA,IAAI,oBAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;SACxB;IACH,CAAC;IAED,IAAI,CAAC,KAAa,EAAE,KAAQ;QAC1B,IAAI,CAAC,uBAAA,IAAI,oBAAK,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,OAAM;QAEjC,MAAM,GAAG,GAAG,uBAAA,IAAI,oBAAK,CAAC,GAAG,CAAC,KAAK,CAAE,CAAA;QACjC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAC9B,CAAC;CACF;AAnCD,0BAmCC"}
1
+ {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../src/emitter.ts"],"names":[],"mappings":";;;;;;;;;AAEA,MAAa,OAAO;IAApB;QACE,uBAAO,IAAI,GAAG,EAAmE,EAAA;IAiCnF,CAAC;IA/BC,IAAI,gCAAC,MAAM,CAAC,WAAW,EAAC;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC9B,CAAC;IAKD,EAAE,CAA8B,KAAQ,EAAE,OAAgC;QACxE,IAAI,CAAC,uBAAA,IAAI,oBAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACzB,uBAAA,IAAI,oBAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;SAChC;QAED,MAAM,GAAG,GAAG,uBAAA,IAAI,oBAAK,CAAC,GAAG,CAAC,KAAK,CAAE,CAAA;QACjC,GAAG,CAAC,GAAG,CAAC,OAAkD,CAAC,CAAA;IAC7D,CAAC;IAED,GAAG,CAA8B,KAAQ,EAAE,OAAgC;QACzE,IAAI,CAAC,uBAAA,IAAI,oBAAK,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,OAAM;QAEjC,MAAM,QAAQ,GAAG,uBAAA,IAAI,oBAAK,CAAC,GAAG,CAAC,KAAK,CAAE,CAAA;QACtC,QAAQ,CAAC,MAAM,CAAC,OAAkD,CAAC,CAAA;QACnE,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE;YACvB,uBAAA,IAAI,oBAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;SACxB;IACH,CAAC;IAED,IAAI,CAA8B,KAAQ,EAAE,GAAG,IAAoB;QACjE,IAAI,CAAC,uBAAA,IAAI,oBAAK,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,OAAM;QAEjC,uBAAA,IAAI,oBAAK,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;IAClD,CAAC;CACF;AAlCD,0BAkCC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blackglory/structures",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "",
5
5
  "files": [
6
6
  "lib",
@@ -42,24 +42,24 @@
42
42
  },
43
43
  "devDependencies": {
44
44
  "@blackglory/jest-matchers": "^0.3.1",
45
- "@commitlint/cli": "^16.2.4",
45
+ "@commitlint/cli": "^16.3.0",
46
46
  "@commitlint/config-conventional": "^16.2.4",
47
47
  "@rollup/plugin-commonjs": "^22.0.0",
48
48
  "@rollup/plugin-json": "^4.1.0",
49
49
  "@rollup/plugin-node-resolve": "^13.3.0",
50
50
  "@rollup/plugin-replace": "^4.0.0",
51
51
  "@rollup/plugin-typescript": "^8.3.2",
52
- "@types/jest": "^27.5.0",
52
+ "@types/jest": "^27.5.1",
53
53
  "@types/node": "14",
54
- "@typescript-eslint/eslint-plugin": "^5.22.0",
55
- "@typescript-eslint/parser": "^5.22.0",
54
+ "@typescript-eslint/eslint-plugin": "^5.23.0",
55
+ "@typescript-eslint/parser": "^5.23.0",
56
56
  "eslint": "^8.15.0",
57
57
  "husky": "^4.3.8",
58
58
  "jest": "^27.5.1",
59
59
  "npm-run-all": "^4.1.5",
60
60
  "return-style": "^1.0.0",
61
61
  "rimraf": "^3.0.2",
62
- "rollup": "^2.72.1",
62
+ "rollup": "^2.73.0",
63
63
  "rollup-plugin-analyzer": "^4.0.0",
64
64
  "rollup-plugin-terser": "^7.0.2",
65
65
  "standard-version": "^9.3.2",