@leyyo/common 1.0.13 → 1.2.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/deploy/deploy.common.d.ts +12 -7
- package/dist/deploy/deploy.common.js +29 -10
- package/dist/deploy/deploy.common.js.map +1 -1
- package/dist/deploy/index.types.d.ts +12 -8
- package/dist/error/error.common.d.ts +12 -20
- package/dist/error/error.common.js +151 -85
- package/dist/error/error.common.js.map +1 -1
- package/dist/error/http-error.map.d.ts +6 -0
- package/dist/error/http-error.map.js +25 -0
- package/dist/error/http-error.map.js.map +1 -0
- package/dist/error/index.d.ts +2 -0
- package/dist/error/index.js +2 -0
- package/dist/error/index.js.map +1 -1
- package/dist/error/index.types.d.ts +35 -36
- package/dist/error/items/bad-request.error.d.ts +10 -0
- package/dist/error/items/bad-request.error.js +16 -0
- package/dist/error/items/bad-request.error.js.map +1 -0
- package/dist/error/items/caused.error.d.ts +8 -0
- package/dist/error/items/caused.error.js +16 -0
- package/dist/error/items/caused.error.js.map +1 -0
- package/dist/error/items/conflict.error.d.ts +10 -0
- package/dist/error/items/conflict.error.js +16 -0
- package/dist/error/items/conflict.error.js.map +1 -0
- package/dist/error/items/content-too-large.error.d.ts +10 -0
- package/dist/error/items/content-too-large.error.js +16 -0
- package/dist/error/items/content-too-large.error.js.map +1 -0
- package/dist/error/items/developer.error.d.ts +4 -0
- package/dist/error/items/developer.error.js +9 -0
- package/dist/error/items/developer.error.js.map +1 -0
- package/dist/error/items/forbidden.error.d.ts +10 -0
- package/dist/error/items/forbidden.error.js +16 -0
- package/dist/error/items/forbidden.error.js.map +1 -0
- package/dist/error/items/gone.error.d.ts +10 -0
- package/dist/error/items/gone.error.js +16 -0
- package/dist/error/items/gone.error.js.map +1 -0
- package/dist/error/items/http.error.d.ts +15 -0
- package/dist/error/items/http.error.js +21 -0
- package/dist/error/items/http.error.js.map +1 -0
- package/dist/error/items/index.d.ts +21 -0
- package/dist/error/items/index.js +38 -0
- package/dist/error/items/index.js.map +1 -0
- package/dist/error/items/invalid-value.error.d.ts +6 -0
- package/dist/error/items/invalid-value.error.js +11 -0
- package/dist/error/items/invalid-value.error.js.map +1 -0
- package/dist/error/items/length-required.error.d.ts +10 -0
- package/dist/error/items/length-required.error.js +16 -0
- package/dist/error/items/length-required.error.js.map +1 -0
- package/dist/error/items/leyyo.error.d.ts +50 -0
- package/dist/error/items/leyyo.error.js +98 -0
- package/dist/error/items/leyyo.error.js.map +1 -0
- package/dist/error/items/method-not-allowed.error.d.ts +10 -0
- package/dist/error/items/method-not-allowed.error.js +16 -0
- package/dist/error/items/method-not-allowed.error.js.map +1 -0
- package/dist/error/items/multiple.error.d.ts +11 -0
- package/dist/error/items/multiple.error.js +34 -0
- package/dist/error/items/multiple.error.js.map +1 -0
- package/dist/error/items/not-acceptable.error.d.ts +10 -0
- package/dist/error/items/not-acceptable.error.js +16 -0
- package/dist/error/items/not-acceptable.error.js.map +1 -0
- package/dist/error/items/not-found.error.d.ts +10 -0
- package/dist/error/items/not-found.error.js +16 -0
- package/dist/error/items/not-found.error.js.map +1 -0
- package/dist/error/items/payment-required.error.d.ts +10 -0
- package/dist/error/items/payment-required.error.js +16 -0
- package/dist/error/items/payment-required.error.js.map +1 -0
- package/dist/error/items/precondition-failed.error.d.ts +10 -0
- package/dist/error/items/precondition-failed.error.js +16 -0
- package/dist/error/items/precondition-failed.error.js.map +1 -0
- package/dist/error/items/proxy-authentication-required.error.d.ts +10 -0
- package/dist/error/items/proxy-authentication-required.error.js +16 -0
- package/dist/error/items/proxy-authentication-required.error.js.map +1 -0
- package/dist/error/items/request-timeout.error.d.ts +10 -0
- package/dist/error/items/request-timeout.error.js +16 -0
- package/dist/error/items/request-timeout.error.js.map +1 -0
- package/dist/error/items/silent.error.d.ts +11 -0
- package/dist/error/items/silent.error.js +19 -0
- package/dist/error/items/silent.error.js.map +1 -0
- package/dist/error/items/unauthorized.error.d.ts +10 -0
- package/dist/error/items/unauthorized.error.js +16 -0
- package/dist/error/items/unauthorized.error.js.map +1 -0
- package/dist/event/event.common.d.ts +77 -0
- package/dist/event/event.common.js +308 -0
- package/dist/event/event.common.js.map +1 -0
- package/dist/event/event.error.d.ts +3 -0
- package/dist/event/event.error.js +8 -0
- package/dist/event/event.error.js.map +1 -0
- package/dist/event/index.js.map +1 -0
- package/dist/event/index.types.d.ts +261 -0
- package/dist/{hook → event}/index.types.js.map +1 -1
- package/dist/hub/hub.channel.d.ts +27 -0
- package/dist/hub/hub.channel.js +83 -0
- package/dist/hub/hub.channel.js.map +1 -0
- package/dist/hub/hub.common.d.ts +27 -0
- package/dist/hub/hub.common.js +92 -0
- package/dist/hub/hub.common.js.map +1 -0
- package/dist/hub/index.js.map +1 -0
- package/dist/hub/index.types.d.ts +105 -0
- package/dist/{to → hub}/index.types.js.map +1 -1
- package/dist/index.d.ts +5 -23
- package/dist/index.js +7 -25
- package/dist/index.js.map +1 -1
- package/dist/leyyo/index.d.ts +0 -1
- package/dist/leyyo/index.js +0 -1
- package/dist/leyyo/index.js.map +1 -1
- package/dist/leyyo/index.types.d.ts +4 -22
- package/dist/leyyo/leyyo.d.ts +4 -22
- package/dist/leyyo/leyyo.js +12 -39
- package/dist/leyyo/leyyo.js.map +1 -1
- package/dist/log/index.types.d.ts +19 -26
- package/dist/log/log.common.d.ts +1 -1
- package/dist/log/log.common.js +24 -49
- package/dist/log/log.common.js.map +1 -1
- package/dist/log/logger.error.d.ts +3 -0
- package/dist/log/logger.error.js +8 -0
- package/dist/log/logger.error.js.map +1 -0
- package/dist/log/logger.instance.d.ts +7 -9
- package/dist/log/logger.instance.js +40 -50
- package/dist/log/logger.instance.js.map +1 -1
- package/dist/name/index.types.d.ts +1 -1
- package/dist/name/name.common.js +64 -37
- package/dist/name/name.common.js.map +1 -1
- package/dist/name/name.error.d.ts +3 -0
- package/dist/name/name.error.js +8 -0
- package/dist/name/name.error.js.map +1 -0
- package/dist/opt/index.js.map +1 -0
- package/dist/opt/index.types.d.ts +33 -0
- package/dist/{fqn → opt}/index.types.js.map +1 -1
- package/dist/opt/opt.common.d.ts +15 -0
- package/dist/opt/opt.common.js +93 -0
- package/dist/opt/opt.common.js.map +1 -0
- package/dist/repo/index.types.d.ts +1 -19
- package/dist/repo/repo.common.d.ts +0 -6
- package/dist/repo/repo.common.js +0 -20
- package/dist/repo/repo.common.js.map +1 -1
- package/dist/shared/index.d.ts +3 -0
- package/dist/shared/index.enum.d.ts +7 -0
- package/dist/{exception/index.types.js → shared/index.enum.js} +1 -1
- package/dist/shared/index.enum.js.map +1 -0
- package/dist/shared/index.fqn.d.ts +3 -0
- package/dist/shared/index.fqn.js +3 -0
- package/dist/shared/index.fqn.js.map +1 -0
- package/dist/shared/index.js +3 -0
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/index.json.d.ts +33 -0
- package/dist/shared/index.json.js +3 -0
- package/dist/shared/index.json.js.map +1 -0
- package/dist/shared/index.types.d.ts +78 -100
- package/dist/shared/index.types.js +31 -0
- package/dist/shared/index.types.js.map +1 -1
- package/dist/util/delay.d.ts +9 -0
- package/dist/util/delay.js +21 -0
- package/dist/util/delay.js.map +1 -0
- package/dist/util/empty.fn.d.ts +8 -0
- package/dist/util/empty.fn.js +11 -0
- package/dist/util/empty.fn.js.map +1 -0
- package/dist/util/index.d.ts +5 -0
- package/dist/{developer → util}/index.js +5 -2
- package/dist/util/index.js.map +1 -0
- package/dist/util/one-or-more.d.ts +8 -0
- package/dist/util/one-or-more.js +19 -0
- package/dist/util/one-or-more.js.map +1 -0
- package/dist/util/secure-clone.d.ts +3 -0
- package/dist/util/secure-clone.js +38 -0
- package/dist/util/secure-clone.js.map +1 -0
- package/dist/util/secure-json.d.ts +37 -0
- package/dist/util/secure-json.js +126 -0
- package/dist/util/secure-json.js.map +1 -0
- package/package.json +2 -2
- package/dist/assertion/assertion.common.d.ts +0 -183
- package/dist/assertion/assertion.common.js +0 -663
- package/dist/assertion/assertion.common.js.map +0 -1
- package/dist/assertion/index.js.map +0 -1
- package/dist/assertion/index.types.d.ts +0 -661
- package/dist/assertion/index.types.js.map +0 -1
- package/dist/descriptor/descriptor.common.d.ts +0 -22
- package/dist/descriptor/descriptor.common.js +0 -117
- package/dist/descriptor/descriptor.common.js.map +0 -1
- package/dist/descriptor/index.js.map +0 -1
- package/dist/descriptor/index.types.d.ts +0 -23
- package/dist/descriptor/index.types.js.map +0 -1
- package/dist/developer/developer.common.d.ts +0 -32
- package/dist/developer/developer.common.js +0 -245
- package/dist/developer/developer.common.js.map +0 -1
- package/dist/developer/index.d.ts +0 -2
- package/dist/developer/index.errors.d.ts +0 -13
- package/dist/developer/index.errors.js +0 -24
- package/dist/developer/index.errors.js.map +0 -1
- package/dist/developer/index.js.map +0 -1
- package/dist/developer/index.types.d.ts +0 -85
- package/dist/developer/index.types.js.map +0 -1
- package/dist/exception/assertion.exception.d.ts +0 -5
- package/dist/exception/assertion.exception.js +0 -12
- package/dist/exception/assertion.exception.js.map +0 -1
- package/dist/exception/caused.exception.d.ts +0 -5
- package/dist/exception/caused.exception.js +0 -13
- package/dist/exception/caused.exception.js.map +0 -1
- package/dist/exception/developer.exception.d.ts +0 -5
- package/dist/exception/developer.exception.js +0 -12
- package/dist/exception/developer.exception.js.map +0 -1
- package/dist/exception/exception.d.ts +0 -32
- package/dist/exception/exception.js +0 -117
- package/dist/exception/exception.js.map +0 -1
- package/dist/exception/index.d.ts +0 -7
- package/dist/exception/index.js +0 -24
- package/dist/exception/index.js.map +0 -1
- package/dist/exception/index.types.d.ts +0 -30
- package/dist/exception/index.types.js.map +0 -1
- package/dist/exception/invalid-value.exception.d.ts +0 -5
- package/dist/exception/invalid-value.exception.js +0 -12
- package/dist/exception/invalid-value.exception.js.map +0 -1
- package/dist/exception/multiple.exception.d.ts +0 -8
- package/dist/exception/multiple.exception.js +0 -34
- package/dist/exception/multiple.exception.js.map +0 -1
- package/dist/fqn/fqn.common.d.ts +0 -20
- package/dist/fqn/fqn.common.js +0 -123
- package/dist/fqn/fqn.common.js.map +0 -1
- package/dist/fqn/index.js.map +0 -1
- package/dist/fqn/index.types.d.ts +0 -20
- package/dist/fqn/index.types.js +0 -3
- package/dist/hook/hook.common.d.ts +0 -25
- package/dist/hook/hook.common.js +0 -95
- package/dist/hook/hook.common.js.map +0 -1
- package/dist/hook/index.d.ts +0 -1
- package/dist/hook/index.js +0 -18
- package/dist/hook/index.js.map +0 -1
- package/dist/hook/index.types.d.ts +0 -72
- package/dist/hook/index.types.js +0 -3
- package/dist/is/index.d.ts +0 -1
- package/dist/is/index.js +0 -18
- package/dist/is/index.js.map +0 -1
- package/dist/is/index.types.d.ts +0 -240
- package/dist/is/index.types.js +0 -3
- package/dist/is/index.types.js.map +0 -1
- package/dist/is/is.common.d.ts +0 -71
- package/dist/is/is.common.js +0 -177
- package/dist/is/is.common.js.map +0 -1
- package/dist/leyyo/leyyo-hook.common.d.ts +0 -10
- package/dist/leyyo/leyyo-hook.common.js +0 -18
- package/dist/leyyo/leyyo-hook.common.js.map +0 -1
- package/dist/mixin/index.d.ts +0 -1
- package/dist/mixin/index.js +0 -18
- package/dist/mixin/index.js.map +0 -1
- package/dist/mixin/index.types.d.ts +0 -19
- package/dist/mixin/index.types.js +0 -3
- package/dist/mixin/index.types.js.map +0 -1
- package/dist/mixin/mixin.common.d.ts +0 -22
- package/dist/mixin/mixin.common.js +0 -165
- package/dist/mixin/mixin.common.js.map +0 -1
- package/dist/system/country-code.d.ts +0 -10
- package/dist/system/country-code.js +0 -19
- package/dist/system/country-code.js.map +0 -1
- package/dist/system/environment.d.ts +0 -7
- package/dist/system/environment.js +0 -6
- package/dist/system/environment.js.map +0 -1
- package/dist/system/index.d.ts +0 -7
- package/dist/system/index.js +0 -24
- package/dist/system/index.js.map +0 -1
- package/dist/system/index.types.d.ts +0 -6
- package/dist/system/index.types.js +0 -3
- package/dist/system/index.types.js.map +0 -1
- package/dist/system/language-code.d.ts +0 -7
- package/dist/system/language-code.js +0 -11
- package/dist/system/language-code.js.map +0 -1
- package/dist/system/locale-code.d.ts +0 -9
- package/dist/system/locale-code.js +0 -16
- package/dist/system/locale-code.js.map +0 -1
- package/dist/system/sys-class.d.ts +0 -4
- package/dist/system/sys-class.js +0 -21
- package/dist/system/sys-class.js.map +0 -1
- package/dist/system/sys-function.d.ts +0 -4
- package/dist/system/sys-function.js +0 -8
- package/dist/system/sys-function.js.map +0 -1
- package/dist/system/system.common.d.ts +0 -11
- package/dist/system/system.common.js +0 -64
- package/dist/system/system.common.js.map +0 -1
- package/dist/test/index.d.ts +0 -2
- package/dist/test/index.js +0 -19
- package/dist/test/index.js.map +0 -1
- package/dist/test/index.types.d.ts +0 -9
- package/dist/test/index.types.js +0 -3
- package/dist/test/index.types.js.map +0 -1
- package/dist/test/test.common.d.ts +0 -14
- package/dist/test/test.common.js +0 -48
- package/dist/test/test.common.js.map +0 -1
- package/dist/test/tested.d.ts +0 -1
- package/dist/test/tested.js +0 -9
- package/dist/test/tested.js.map +0 -1
- package/dist/to/index.d.ts +0 -7
- package/dist/to/index.js +0 -24
- package/dist/to/index.js.map +0 -1
- package/dist/to/index.types.d.ts +0 -76
- package/dist/to/index.types.js +0 -3
- package/dist/to/key-value.d.ts +0 -4
- package/dist/to/key-value.js +0 -8
- package/dist/to/key-value.js.map +0 -1
- package/dist/to/list.d.ts +0 -20
- package/dist/to/list.js +0 -38
- package/dist/to/list.js.map +0 -1
- package/dist/to/primitive.d.ts +0 -7
- package/dist/to/primitive.js +0 -6
- package/dist/to/primitive.js.map +0 -1
- package/dist/to/real-value.d.ts +0 -7
- package/dist/to/real-value.js +0 -6
- package/dist/to/real-value.js.map +0 -1
- package/dist/to/to.common.d.ts +0 -77
- package/dist/to/to.common.js +0 -1079
- package/dist/to/to.common.js.map +0 -1
- package/dist/to/weak-false.d.ts +0 -7
- package/dist/to/weak-false.js +0 -6
- package/dist/to/weak-false.js.map +0 -1
- package/dist/to/weak-true.d.ts +0 -7
- package/dist/to/weak-true.js +0 -9
- package/dist/to/weak-true.js.map +0 -1
- package/dist/wrapper/index.d.ts +0 -2
- package/dist/wrapper/index.js +0 -19
- package/dist/wrapper/index.js.map +0 -1
- package/dist/wrapper/index.types.d.ts +0 -29
- package/dist/wrapper/index.types.js +0 -3
- package/dist/wrapper/index.types.js.map +0 -1
- package/dist/wrapper/wrap.d.ts +0 -7
- package/dist/wrapper/wrap.js +0 -11
- package/dist/wrapper/wrap.js.map +0 -1
- package/dist/wrapper/wrapper.common.d.ts +0 -26
- package/dist/wrapper/wrapper.common.js +0 -82
- package/dist/wrapper/wrapper.common.js.map +0 -1
- /package/dist/{assertion → event}/index.d.ts +0 -0
- /package/dist/{assertion → event}/index.js +0 -0
- /package/dist/{assertion → event}/index.types.js +0 -0
- /package/dist/{descriptor → hub}/index.d.ts +0 -0
- /package/dist/{descriptor → hub}/index.js +0 -0
- /package/dist/{descriptor → hub}/index.types.js +0 -0
- /package/dist/{fqn → opt}/index.d.ts +0 -0
- /package/dist/{fqn → opt}/index.js +0 -0
- /package/dist/{developer → opt}/index.types.js +0 -0
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.EventCommon = void 0;
|
|
7
|
+
const internal_1 = require("../internal");
|
|
8
|
+
const node_events_1 = __importDefault(require("node:events"));
|
|
9
|
+
const event_error_1 = require("./event.error");
|
|
10
|
+
/** @inheritDoc */
|
|
11
|
+
class EventCommon {
|
|
12
|
+
constructor(lyy) {
|
|
13
|
+
this.lyy = lyy;
|
|
14
|
+
this._bufferLimitAll = 0;
|
|
15
|
+
this.native = new node_events_1.default();
|
|
16
|
+
}
|
|
17
|
+
_possibleBufferSize(event) {
|
|
18
|
+
if (this._bufferLimit.has(event)) {
|
|
19
|
+
return this._bufferLimit.get(event);
|
|
20
|
+
}
|
|
21
|
+
return this._bufferLimitAll;
|
|
22
|
+
}
|
|
23
|
+
_checkBasic(event) {
|
|
24
|
+
return ['string', 'symbol'].includes(typeof event);
|
|
25
|
+
}
|
|
26
|
+
_checkEvent(event, method, silent) {
|
|
27
|
+
if (!['string', 'symbol'].includes(typeof event)) {
|
|
28
|
+
if (silent) {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
throw new event_error_1.EventError('Invalid event name, not allowed type', { where: `${internal_1.FQN}.EventCommon`, method, type: typeof event });
|
|
32
|
+
}
|
|
33
|
+
else if (typeof event === 'string' && (event.trim() !== event || event === '')) {
|
|
34
|
+
throw new event_error_1.EventError('Invalid event name, with space', { where: `${internal_1.FQN}.EventCommon`, method, event });
|
|
35
|
+
}
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
_checkCallback(listener, method, silent) {
|
|
39
|
+
if (typeof listener !== 'function') {
|
|
40
|
+
if (silent) {
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
throw new event_error_1.EventError('Invalid event function', { where: `${internal_1.FQN}.EventCommon`, method, type: typeof listener });
|
|
44
|
+
}
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
_checkSize(size, method, silent) {
|
|
48
|
+
if (typeof size !== 'number' || !Number.isInteger(size) || size < 0) {
|
|
49
|
+
if (silent) {
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
throw new event_error_1.EventError('Invalid event size', { where: `${internal_1.FQN}.EventCommon`, method, type: typeof size, value: size });
|
|
53
|
+
}
|
|
54
|
+
return true;
|
|
55
|
+
}
|
|
56
|
+
/** @inheritDoc */
|
|
57
|
+
get $secure() {
|
|
58
|
+
return this;
|
|
59
|
+
}
|
|
60
|
+
/** @inheritDoc */
|
|
61
|
+
get $back() {
|
|
62
|
+
return this;
|
|
63
|
+
}
|
|
64
|
+
/** @inheritDoc */
|
|
65
|
+
$init() {
|
|
66
|
+
this.lyy.$secure.$lazyRun(() => {
|
|
67
|
+
});
|
|
68
|
+
this._bufferLimit = this.lyy.repo.newMap(`${internal_1.FQN}.EventCommon.bufferLimit`);
|
|
69
|
+
this._listenerMap = this.lyy.repo.newMap(`${internal_1.FQN}.EventCommon.maxListeners`);
|
|
70
|
+
this._bufferMap = this.lyy.repo.newMap(`${internal_1.FQN}.EventCommon.bufferMap`);
|
|
71
|
+
this._bufferOnceMap = this.lyy.repo.newMap(`${internal_1.FQN}.EventCommon.bufferOnceMap`);
|
|
72
|
+
}
|
|
73
|
+
// region buffer
|
|
74
|
+
/** @inheritDoc */
|
|
75
|
+
bufferSize(event, size) {
|
|
76
|
+
this._checkEvent(event, 'bufferSize');
|
|
77
|
+
this._checkSize(size, 'bufferSize');
|
|
78
|
+
this._bufferLimit.set(event, size);
|
|
79
|
+
return this;
|
|
80
|
+
}
|
|
81
|
+
/** @inheritDoc */
|
|
82
|
+
bufferSizeAll(size) {
|
|
83
|
+
this._checkSize(size, 'bufferSizeAll');
|
|
84
|
+
this._bufferLimitAll = size;
|
|
85
|
+
return this;
|
|
86
|
+
}
|
|
87
|
+
/** @inheritDoc */
|
|
88
|
+
clearBuffer(event) {
|
|
89
|
+
this._checkEvent(event, 'clearBuffer');
|
|
90
|
+
let size = 0;
|
|
91
|
+
if (this._bufferMap.has(event)) {
|
|
92
|
+
size = this._bufferMap.get(event).length;
|
|
93
|
+
this._bufferMap.delete(event);
|
|
94
|
+
}
|
|
95
|
+
return size;
|
|
96
|
+
}
|
|
97
|
+
/** @inheritDoc */
|
|
98
|
+
clearBufferAll() {
|
|
99
|
+
let size = 0;
|
|
100
|
+
Array.from(this._bufferMap.values()).forEach(arr => {
|
|
101
|
+
size += arr.length;
|
|
102
|
+
});
|
|
103
|
+
return size;
|
|
104
|
+
}
|
|
105
|
+
/** @inheritDoc */
|
|
106
|
+
hasBuffer(event) {
|
|
107
|
+
if (!this._checkBasic(event)) {
|
|
108
|
+
return false;
|
|
109
|
+
}
|
|
110
|
+
return this._bufferMap.has(event);
|
|
111
|
+
}
|
|
112
|
+
// endregion buffer
|
|
113
|
+
// region cast
|
|
114
|
+
/** @inheritDoc */
|
|
115
|
+
as() {
|
|
116
|
+
return this;
|
|
117
|
+
}
|
|
118
|
+
// endregion cast
|
|
119
|
+
// region register
|
|
120
|
+
_checkListenerSize(event) {
|
|
121
|
+
if (this._listenerMap.has(event)) {
|
|
122
|
+
let [max, current] = this._listenerMap.get(event);
|
|
123
|
+
current++;
|
|
124
|
+
this._listenerMap.set(event, [max, current]);
|
|
125
|
+
if (current >= max) {
|
|
126
|
+
console.log(`Listener size!, event: ${event}, current: ${current}, max: ${max}`);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
_callBuffer(event, listener) {
|
|
131
|
+
if (this._bufferMap.has(event)) {
|
|
132
|
+
this._bufferMap.forEach(args => {
|
|
133
|
+
listener(...args);
|
|
134
|
+
});
|
|
135
|
+
this._bufferMap.delete(event);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
_callBufferOnce(event, listener) {
|
|
139
|
+
if (this._bufferOnceMap.has(event)) {
|
|
140
|
+
listener(...this._bufferOnceMap.get(event));
|
|
141
|
+
this._bufferOnceMap.delete(event);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
/** @inheritDoc */
|
|
145
|
+
addListener(event, listener) {
|
|
146
|
+
return this.on(event, listener);
|
|
147
|
+
}
|
|
148
|
+
/** @inheritDoc */
|
|
149
|
+
on(event, listener) {
|
|
150
|
+
this._checkEvent(event, 'on');
|
|
151
|
+
this._checkCallback(listener, 'on');
|
|
152
|
+
this._checkListenerSize(event);
|
|
153
|
+
this.native.on(event, listener);
|
|
154
|
+
this._callBuffer(event, listener);
|
|
155
|
+
return this;
|
|
156
|
+
}
|
|
157
|
+
/** @inheritDoc */
|
|
158
|
+
overwrite(event, listener) {
|
|
159
|
+
this._checkEvent(event, 'on');
|
|
160
|
+
this._checkCallback(listener, 'on');
|
|
161
|
+
this.native.removeAllListeners(event);
|
|
162
|
+
this.native.on(event, listener);
|
|
163
|
+
this._callBuffer(event, listener);
|
|
164
|
+
return this;
|
|
165
|
+
}
|
|
166
|
+
/** @inheritDoc */
|
|
167
|
+
once(event, listener) {
|
|
168
|
+
this._checkEvent(event, 'once');
|
|
169
|
+
this._checkCallback(listener, 'once');
|
|
170
|
+
this.native.once(event, listener);
|
|
171
|
+
this._callBufferOnce(event, listener);
|
|
172
|
+
return this;
|
|
173
|
+
}
|
|
174
|
+
/** @inheritDoc */
|
|
175
|
+
prependListener(event, listener) {
|
|
176
|
+
this._checkEvent(event, 'prependListener');
|
|
177
|
+
this._checkCallback(listener, 'prependListener');
|
|
178
|
+
this.native.prependListener(event, listener);
|
|
179
|
+
return this;
|
|
180
|
+
}
|
|
181
|
+
/** @inheritDoc */
|
|
182
|
+
prependOnceListener(event, listener) {
|
|
183
|
+
this._checkEvent(event, 'prependOnceListener');
|
|
184
|
+
this._checkCallback(listener, 'prependOnceListener');
|
|
185
|
+
this.native.prependOnceListener(event, listener);
|
|
186
|
+
return this;
|
|
187
|
+
}
|
|
188
|
+
// endregion register
|
|
189
|
+
// region get
|
|
190
|
+
/** @inheritDoc */
|
|
191
|
+
eventNames() {
|
|
192
|
+
return this.native.eventNames();
|
|
193
|
+
}
|
|
194
|
+
/** @inheritDoc */
|
|
195
|
+
getMaxListeners() {
|
|
196
|
+
return this.native.getMaxListeners();
|
|
197
|
+
}
|
|
198
|
+
/** @inheritDoc */
|
|
199
|
+
listenerCount(event, listener) {
|
|
200
|
+
this._checkEvent(event, 'listenerCount');
|
|
201
|
+
return this.native.listenerCount(event, listener);
|
|
202
|
+
}
|
|
203
|
+
/** @inheritDoc */
|
|
204
|
+
listeners(event) {
|
|
205
|
+
if (!this._checkBasic(event)) {
|
|
206
|
+
return [];
|
|
207
|
+
}
|
|
208
|
+
return this.native.listeners(event);
|
|
209
|
+
}
|
|
210
|
+
hasListener(event) {
|
|
211
|
+
if (!this._checkBasic(event)) {
|
|
212
|
+
return false;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
/** @inheritDoc */
|
|
216
|
+
rawListeners(event) {
|
|
217
|
+
this._checkEvent(event, 'rawListeners');
|
|
218
|
+
return this.native.rawListeners(event);
|
|
219
|
+
}
|
|
220
|
+
// endregion get
|
|
221
|
+
// region remove
|
|
222
|
+
/** @inheritDoc */
|
|
223
|
+
off(event, listener) {
|
|
224
|
+
this._checkEvent(event, 'off');
|
|
225
|
+
this._checkCallback(listener, 'off');
|
|
226
|
+
this._bufferMap.delete(event);
|
|
227
|
+
this.native.off(event, listener);
|
|
228
|
+
return this;
|
|
229
|
+
}
|
|
230
|
+
/** @inheritDoc */
|
|
231
|
+
removeAllListeners(event) {
|
|
232
|
+
if (event !== undefined) {
|
|
233
|
+
this._checkEvent(event, 'removeListener');
|
|
234
|
+
this._bufferMap.delete(event);
|
|
235
|
+
}
|
|
236
|
+
this.native.removeAllListeners(event);
|
|
237
|
+
return this;
|
|
238
|
+
}
|
|
239
|
+
/** @inheritDoc */
|
|
240
|
+
removeListener(event, listener, clearBuffer) {
|
|
241
|
+
this._checkEvent(event, 'removeListener');
|
|
242
|
+
this._checkCallback(listener, 'removeListener');
|
|
243
|
+
if (clearBuffer) {
|
|
244
|
+
this._bufferMap.delete(event);
|
|
245
|
+
}
|
|
246
|
+
this.native.removeListener(event, listener);
|
|
247
|
+
return this;
|
|
248
|
+
}
|
|
249
|
+
// endregion remove
|
|
250
|
+
// region emit
|
|
251
|
+
/** @inheritDoc */
|
|
252
|
+
emitOnce(event, ...args) {
|
|
253
|
+
return false;
|
|
254
|
+
}
|
|
255
|
+
/** @inheritDoc */
|
|
256
|
+
emit(event, ...args) {
|
|
257
|
+
if (!this._checkBasic(event)) {
|
|
258
|
+
return false;
|
|
259
|
+
}
|
|
260
|
+
if (!this.native.emit(event, ...args)) {
|
|
261
|
+
const size = this._possibleBufferSize(event);
|
|
262
|
+
if (!size) {
|
|
263
|
+
return false;
|
|
264
|
+
}
|
|
265
|
+
let buffer;
|
|
266
|
+
if (!this._bufferMap.has(event)) {
|
|
267
|
+
buffer = [];
|
|
268
|
+
this._bufferMap.set(event, buffer);
|
|
269
|
+
}
|
|
270
|
+
else {
|
|
271
|
+
buffer = this._bufferMap.get(event);
|
|
272
|
+
if (buffer.length === size) {
|
|
273
|
+
buffer.shift();
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
buffer.push(args);
|
|
277
|
+
if (!this._bufferOnceMap.has(event)) {
|
|
278
|
+
this._bufferOnceMap.set(event, args);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
return true;
|
|
282
|
+
}
|
|
283
|
+
// endregion emit
|
|
284
|
+
// region set
|
|
285
|
+
/** @inheritDoc */
|
|
286
|
+
setMaxListeners(p1, p2) {
|
|
287
|
+
let event;
|
|
288
|
+
let max;
|
|
289
|
+
if (['string', 'symbol'].includes(typeof p1)) {
|
|
290
|
+
event = p1;
|
|
291
|
+
this._checkSize(p2, 'setMaxListeners');
|
|
292
|
+
max = p2;
|
|
293
|
+
}
|
|
294
|
+
else {
|
|
295
|
+
this._checkSize(p1, 'setMaxListeners');
|
|
296
|
+
max = p1;
|
|
297
|
+
}
|
|
298
|
+
if (!event) {
|
|
299
|
+
this.native.setMaxListeners(max);
|
|
300
|
+
}
|
|
301
|
+
else {
|
|
302
|
+
this._listenerMap.set(event, [max, 0]);
|
|
303
|
+
}
|
|
304
|
+
return this;
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
exports.EventCommon = EventCommon;
|
|
308
|
+
//# sourceMappingURL=event.common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event.common.js","sourceRoot":"","sources":["../../src/event/event.common.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EventError = void 0;
|
|
4
|
+
const error_1 = require("../error");
|
|
5
|
+
class EventError extends error_1.InvalidValueError {
|
|
6
|
+
}
|
|
7
|
+
exports.EventError = EventError;
|
|
8
|
+
//# sourceMappingURL=event.error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event.error.js","sourceRoot":"","sources":["../../src/event/event.error.ts"],"names":[],"mappings":";;;AAAA,oCAA2C;AAE3C,MAAa,UAAW,SAAQ,yBAAiB;CAChD;AADD,gCACC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/event/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B"}
|
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
import type { Fnc, InitLike, ShiftMain, ShiftSecure } from "../shared";
|
|
2
|
+
import EventEmitter from "node:events";
|
|
3
|
+
export interface EventCommonLike<N extends EventNameDef = EventNameDef> extends ShiftSecure<EventCommonSecure<N>> {
|
|
4
|
+
/**
|
|
5
|
+
* Native event emitter
|
|
6
|
+
* */
|
|
7
|
+
readonly native: EventEmitter;
|
|
8
|
+
/**
|
|
9
|
+
* Cast event emitter to easy use with typed event names
|
|
10
|
+
*
|
|
11
|
+
* @return {EventCommonLike} - this
|
|
12
|
+
* */
|
|
13
|
+
as<M extends EventNameDef>(): EventCommonLike<M>;
|
|
14
|
+
/**
|
|
15
|
+
* Buffer size for given event if event was not defined yet
|
|
16
|
+
*
|
|
17
|
+
* @param {string} event - event name
|
|
18
|
+
* @param {number} size - size of buffer
|
|
19
|
+
* @return {EventCommonLike} - this
|
|
20
|
+
*
|
|
21
|
+
* @default `0` so no buffer
|
|
22
|
+
* */
|
|
23
|
+
bufferSize(event: N, size: number): EventCommonLike<N>;
|
|
24
|
+
/**
|
|
25
|
+
* Buffer size for all events if event was not defined yet
|
|
26
|
+
*
|
|
27
|
+
* @param {number} size - size of buffer
|
|
28
|
+
* @return {EventCommonLike} - this
|
|
29
|
+
*
|
|
30
|
+
* @default `0` so no buffer
|
|
31
|
+
* */
|
|
32
|
+
bufferSizeAll(size: number): EventCommonLike<N>;
|
|
33
|
+
/**
|
|
34
|
+
* Clear buffer for given event
|
|
35
|
+
*
|
|
36
|
+
* @param {string} event - event name
|
|
37
|
+
* @return {number}
|
|
38
|
+
* */
|
|
39
|
+
clearBuffer(event: N): number;
|
|
40
|
+
/**
|
|
41
|
+
* Clear buffer for given event
|
|
42
|
+
*
|
|
43
|
+
* @param {string} event - event name
|
|
44
|
+
* @return {number}
|
|
45
|
+
* */
|
|
46
|
+
hasBuffer(event: N): boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Clear buffer for all events
|
|
49
|
+
*
|
|
50
|
+
* @return {number}
|
|
51
|
+
* */
|
|
52
|
+
clearBufferAll(): number;
|
|
53
|
+
/**
|
|
54
|
+
* Adds the listener function to the end of the listeners array for the event named eventName.
|
|
55
|
+
* No checks are made to see if the listener has already been added.
|
|
56
|
+
* Multiple calls passing the same combination of eventName and listener will result in the listener being added, and called, multiple times
|
|
57
|
+
*
|
|
58
|
+
* @param {string} event - event name
|
|
59
|
+
* @param {function} listener - callback function
|
|
60
|
+
* @return {EventCommonLike} - this
|
|
61
|
+
*
|
|
62
|
+
* {@link NodeJS.EventEmitter.on}
|
|
63
|
+
* */
|
|
64
|
+
on(event: N, listener: Fnc): EventCommonLike<N>;
|
|
65
|
+
/**
|
|
66
|
+
* Same with {@link on} but, it clears previos listeners
|
|
67
|
+
*
|
|
68
|
+
* @param {string} event - event name
|
|
69
|
+
* @param {function} listener - callback function
|
|
70
|
+
* @return {EventCommonLike} - this
|
|
71
|
+
* */
|
|
72
|
+
overwrite(event: N, listener: Fnc): EventCommonLike<N>;
|
|
73
|
+
/**
|
|
74
|
+
* Adds a one-time listener function for the event named eventName.
|
|
75
|
+
* The next time eventName is triggered, this listener is removed and then invoked.
|
|
76
|
+
*
|
|
77
|
+
* @param {string} event - event name
|
|
78
|
+
* @param {function} listener - callback function
|
|
79
|
+
* @return {EventCommonLike} - this
|
|
80
|
+
*
|
|
81
|
+
* {@link NodeJS.EventEmitter.once}
|
|
82
|
+
* */
|
|
83
|
+
once(event: N, listener: Fnc): EventCommonLike<N>;
|
|
84
|
+
/**
|
|
85
|
+
* Alias for emitter
|
|
86
|
+
* @see #on
|
|
87
|
+
*
|
|
88
|
+
* @param {string} event - event name
|
|
89
|
+
* @param {function} listener - callback function
|
|
90
|
+
* @return {EventCommonLike} - this
|
|
91
|
+
*
|
|
92
|
+
* {@link NodeJS.EventEmitter.addListener}
|
|
93
|
+
* */
|
|
94
|
+
addListener(event: N, listener: Fnc): EventCommonLike<N>;
|
|
95
|
+
/**
|
|
96
|
+
* Synchronously calls each of the listeners registered for the event named eventName,
|
|
97
|
+
* in the order they were registered, passing the supplied arguments to each.
|
|
98
|
+
* Returns true if the event had listeners, false otherwise.
|
|
99
|
+
*
|
|
100
|
+
* @param {string} event - event name
|
|
101
|
+
* @param {...any} args - variadic arguments
|
|
102
|
+
* @return {boolean} - true: if event had listeners
|
|
103
|
+
*
|
|
104
|
+
* {@link NodeJS.EventEmitter.emit}
|
|
105
|
+
* */
|
|
106
|
+
emit(event: N, ...args: Array<unknown>): boolean;
|
|
107
|
+
/**
|
|
108
|
+
* Emit once
|
|
109
|
+
*
|
|
110
|
+
* {@link emit}
|
|
111
|
+
*
|
|
112
|
+
* @param {string} event - event name
|
|
113
|
+
* @param {...any} args - variadic arguments
|
|
114
|
+
* @return {boolean} - true: if event had listeners
|
|
115
|
+
* */
|
|
116
|
+
emitOnce(event: N, ...args: Array<unknown>): boolean;
|
|
117
|
+
/**
|
|
118
|
+
* Return all registered event names
|
|
119
|
+
*
|
|
120
|
+
* @return {Array<string>} - event names
|
|
121
|
+
*
|
|
122
|
+
* {@link NodeJS.EventEmitter.eventNames}
|
|
123
|
+
* */
|
|
124
|
+
eventNames(): Array<N>;
|
|
125
|
+
/**
|
|
126
|
+
* Returns the current max listener value for the EventEmitter which is either set by emitter.
|
|
127
|
+
* setMaxListeners(n) or defaults to EventEmitter.
|
|
128
|
+
*
|
|
129
|
+
* @return {number}
|
|
130
|
+
*
|
|
131
|
+
* {@link NodeJS.EventEmitter.getMaxListeners}
|
|
132
|
+
* */
|
|
133
|
+
getMaxListeners(): number;
|
|
134
|
+
/**
|
|
135
|
+
* Returns the number of listeners listening for the event named eventName.
|
|
136
|
+
* If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.
|
|
137
|
+
*
|
|
138
|
+
* @param {string} event - event name
|
|
139
|
+
* @param {function?} listener - optional listener
|
|
140
|
+
* @return {number} - listener counts for given event
|
|
141
|
+
*
|
|
142
|
+
* {@link NodeJS.EventEmitter.listenerCount}
|
|
143
|
+
* */
|
|
144
|
+
listenerCount(event: N, listener?: Fnc): number;
|
|
145
|
+
/**
|
|
146
|
+
* Returns a copy of the array of listeners for the event named eventName.
|
|
147
|
+
*
|
|
148
|
+
* @param {string} event - event name
|
|
149
|
+
* @return {Array<function>} - array of listeners
|
|
150
|
+
*
|
|
151
|
+
* {@link NodeJS.EventEmitter.listeners}
|
|
152
|
+
* */
|
|
153
|
+
listeners(event: N): Array<Fnc>;
|
|
154
|
+
/**
|
|
155
|
+
* Has a listener
|
|
156
|
+
*
|
|
157
|
+
* @param {string} event - event name
|
|
158
|
+
* @return {boolean} - exists?
|
|
159
|
+
* */
|
|
160
|
+
hasListener(event: N): boolean;
|
|
161
|
+
/**
|
|
162
|
+
* Alias for emitter. removeListener
|
|
163
|
+
* @see #removeListener
|
|
164
|
+
*
|
|
165
|
+
* @param {string} event - event name
|
|
166
|
+
* @param {function} listener - callback function
|
|
167
|
+
* @return {EventCommonLike} - this
|
|
168
|
+
*
|
|
169
|
+
* {@link NodeJS.EventEmitter.off}
|
|
170
|
+
* */
|
|
171
|
+
off(event: N, listener: Fnc): EventCommonLike<N>;
|
|
172
|
+
/**
|
|
173
|
+
* Adds the listener function to the beginning of the listeners array for the event named eventName.
|
|
174
|
+
*
|
|
175
|
+
* No checks are made to see if the listener has already been added.
|
|
176
|
+
* Multiple calls passing the same combination of eventName and listener will result in the listener being added, and called, multiple times.
|
|
177
|
+
*
|
|
178
|
+
* @param {string} event - event name
|
|
179
|
+
* @param {function} listener - callback function
|
|
180
|
+
* @return {EventCommonLike} - this
|
|
181
|
+
*
|
|
182
|
+
* {@link NodeJS.EventEmitter.prependListener}
|
|
183
|
+
* */
|
|
184
|
+
prependListener(event: N, listener: Fnc): EventCommonLike<N>;
|
|
185
|
+
/**
|
|
186
|
+
*
|
|
187
|
+
* Adds a one-time listener function for the event named eventName to the beginning of the listeners array.
|
|
188
|
+
* The next time eventName is triggered, this listener is removed, and then invoked.
|
|
189
|
+
*
|
|
190
|
+
* @param {string} event - event name
|
|
191
|
+
* @param {function} listener - callback function
|
|
192
|
+
* @return {EventCommonLike} - this
|
|
193
|
+
*
|
|
194
|
+
* {@link NodeJS.EventEmitter.prependOnceListener}
|
|
195
|
+
* */
|
|
196
|
+
prependOnceListener(event: N, listener: Fnc): EventCommonLike<N>;
|
|
197
|
+
/**
|
|
198
|
+
* Returns a copy of the array of listeners for the event named eventName,
|
|
199
|
+
* including any wrappers (such as those created by .once()).
|
|
200
|
+
*
|
|
201
|
+
* @param {string} event - event name
|
|
202
|
+
* @return {Array<function>} - Array of listeners
|
|
203
|
+
*
|
|
204
|
+
* {@link NodeJS.EventEmitter.rawListeners}
|
|
205
|
+
* */
|
|
206
|
+
rawListeners(event: N): Array<Fnc>;
|
|
207
|
+
/**
|
|
208
|
+
* Removes all listeners, or those of the specified eventName.
|
|
209
|
+
*
|
|
210
|
+
* It is bad practice to remove listeners added elsewhere in the code,
|
|
211
|
+
* particularly when the EventEmitter instance was created by some other component or module (e. g. sockets or file streams).
|
|
212
|
+
*
|
|
213
|
+
* @param {string} event - event name
|
|
214
|
+
* @return {EventCommonLike} - this
|
|
215
|
+
*
|
|
216
|
+
* {@link NodeJS.EventEmitter.removeAllListeners}
|
|
217
|
+
* */
|
|
218
|
+
removeAllListeners(event?: N): EventCommonLike<N>;
|
|
219
|
+
/**
|
|
220
|
+
* Removes the specified listener from the listener array for the event named eventName
|
|
221
|
+
*
|
|
222
|
+
* @param {string} event - event name
|
|
223
|
+
* @param {function} listener - callback function
|
|
224
|
+
* @param {boolean?} clearBuffer - clears buffer
|
|
225
|
+
* @return {EventCommonLike} - this
|
|
226
|
+
*
|
|
227
|
+
* {@link NodeJS.EventEmitter.removeListener}
|
|
228
|
+
* */
|
|
229
|
+
removeListener(event: N, listener: Fnc, clearBuffer?: boolean): EventCommonLike<N>;
|
|
230
|
+
/**
|
|
231
|
+
* By default EventEmitters will print a warning
|
|
232
|
+
* if more than 10 listeners are added for a particular event.
|
|
233
|
+
*
|
|
234
|
+
* This is a useful default that helps finding memory leaks.
|
|
235
|
+
*
|
|
236
|
+
* The emitter. setMaxListeners() method allows the limit to be modified for this specific EventEmitter instance.
|
|
237
|
+
*
|
|
238
|
+
* The value can be set to Infinity (or 0) to indicate an unlimited number of listeners.
|
|
239
|
+
*
|
|
240
|
+
* @param {number} max - maximum number of listener
|
|
241
|
+
* @return {EventCommonLike} - this
|
|
242
|
+
*
|
|
243
|
+
* {@link NodeJS.EventEmitter.setMaxListeners}
|
|
244
|
+
* */
|
|
245
|
+
setMaxListeners(max: number): EventCommonLike<N>;
|
|
246
|
+
/**
|
|
247
|
+
* Set a maximum listener for a specific event
|
|
248
|
+
*
|
|
249
|
+
* @param {string} event - event name
|
|
250
|
+
* @param {number} max - maximum number of listener
|
|
251
|
+
* @return {EventCommonLike} - this
|
|
252
|
+
*
|
|
253
|
+
* {@link NodeJS.EventEmitter.setMaxListeners}
|
|
254
|
+
* */
|
|
255
|
+
setMaxListeners(event: N, max: number): EventCommonLike<N>;
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* Secure event methods
|
|
259
|
+
* */
|
|
260
|
+
export type EventCommonSecure<N extends EventNameDef = EventNameDef> = ShiftMain<EventCommonLike<N>> & InitLike;
|
|
261
|
+
export type EventNameDef = string | symbol;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.types.js","sourceRoot":"","sources":["../../src/
|
|
1
|
+
{"version":3,"file":"index.types.js","sourceRoot":"","sources":["../../src/event/index.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { HubChannelLike, HubType } from "./index.types";
|
|
2
|
+
import type { RepoCommonLike } from "../repo";
|
|
3
|
+
export declare class HubChannel<T extends HubType = string, C extends string = string> implements HubChannelLike<T, C> {
|
|
4
|
+
readonly type: T;
|
|
5
|
+
protected _items: Map<C, unknown>;
|
|
6
|
+
/**
|
|
7
|
+
* Default constructor
|
|
8
|
+
*
|
|
9
|
+
* Responsibilities
|
|
10
|
+
* - Create repositories => ie: callbacks
|
|
11
|
+
* - Trigger clear pending operation
|
|
12
|
+
* */
|
|
13
|
+
constructor(type: T, repo: RepoCommonLike);
|
|
14
|
+
protected _validName(value: unknown, method?: keyof HubChannelLike, throwable?: boolean): boolean;
|
|
15
|
+
/** @inheritDoc */
|
|
16
|
+
get names(): Array<C>;
|
|
17
|
+
/** @inheritDoc */
|
|
18
|
+
has(name: C): boolean;
|
|
19
|
+
/** @inheritDoc */
|
|
20
|
+
get<V>(name: C): V;
|
|
21
|
+
/** @inheritDoc */
|
|
22
|
+
as<F extends string = string>(): HubChannelLike<T, C | F>;
|
|
23
|
+
/** @inheritDoc */
|
|
24
|
+
set<V>(name: C, value: V): boolean;
|
|
25
|
+
/** @inheritDoc */
|
|
26
|
+
delete(name: C): boolean;
|
|
27
|
+
}
|