@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.
Files changed (334) hide show
  1. package/dist/deploy/deploy.common.d.ts +12 -7
  2. package/dist/deploy/deploy.common.js +29 -10
  3. package/dist/deploy/deploy.common.js.map +1 -1
  4. package/dist/deploy/index.types.d.ts +12 -8
  5. package/dist/error/error.common.d.ts +12 -20
  6. package/dist/error/error.common.js +151 -85
  7. package/dist/error/error.common.js.map +1 -1
  8. package/dist/error/http-error.map.d.ts +6 -0
  9. package/dist/error/http-error.map.js +25 -0
  10. package/dist/error/http-error.map.js.map +1 -0
  11. package/dist/error/index.d.ts +2 -0
  12. package/dist/error/index.js +2 -0
  13. package/dist/error/index.js.map +1 -1
  14. package/dist/error/index.types.d.ts +35 -36
  15. package/dist/error/items/bad-request.error.d.ts +10 -0
  16. package/dist/error/items/bad-request.error.js +16 -0
  17. package/dist/error/items/bad-request.error.js.map +1 -0
  18. package/dist/error/items/caused.error.d.ts +8 -0
  19. package/dist/error/items/caused.error.js +16 -0
  20. package/dist/error/items/caused.error.js.map +1 -0
  21. package/dist/error/items/conflict.error.d.ts +10 -0
  22. package/dist/error/items/conflict.error.js +16 -0
  23. package/dist/error/items/conflict.error.js.map +1 -0
  24. package/dist/error/items/content-too-large.error.d.ts +10 -0
  25. package/dist/error/items/content-too-large.error.js +16 -0
  26. package/dist/error/items/content-too-large.error.js.map +1 -0
  27. package/dist/error/items/developer.error.d.ts +4 -0
  28. package/dist/error/items/developer.error.js +9 -0
  29. package/dist/error/items/developer.error.js.map +1 -0
  30. package/dist/error/items/forbidden.error.d.ts +10 -0
  31. package/dist/error/items/forbidden.error.js +16 -0
  32. package/dist/error/items/forbidden.error.js.map +1 -0
  33. package/dist/error/items/gone.error.d.ts +10 -0
  34. package/dist/error/items/gone.error.js +16 -0
  35. package/dist/error/items/gone.error.js.map +1 -0
  36. package/dist/error/items/http.error.d.ts +15 -0
  37. package/dist/error/items/http.error.js +21 -0
  38. package/dist/error/items/http.error.js.map +1 -0
  39. package/dist/error/items/index.d.ts +21 -0
  40. package/dist/error/items/index.js +38 -0
  41. package/dist/error/items/index.js.map +1 -0
  42. package/dist/error/items/invalid-value.error.d.ts +6 -0
  43. package/dist/error/items/invalid-value.error.js +11 -0
  44. package/dist/error/items/invalid-value.error.js.map +1 -0
  45. package/dist/error/items/length-required.error.d.ts +10 -0
  46. package/dist/error/items/length-required.error.js +16 -0
  47. package/dist/error/items/length-required.error.js.map +1 -0
  48. package/dist/error/items/leyyo.error.d.ts +50 -0
  49. package/dist/error/items/leyyo.error.js +98 -0
  50. package/dist/error/items/leyyo.error.js.map +1 -0
  51. package/dist/error/items/method-not-allowed.error.d.ts +10 -0
  52. package/dist/error/items/method-not-allowed.error.js +16 -0
  53. package/dist/error/items/method-not-allowed.error.js.map +1 -0
  54. package/dist/error/items/multiple.error.d.ts +11 -0
  55. package/dist/error/items/multiple.error.js +34 -0
  56. package/dist/error/items/multiple.error.js.map +1 -0
  57. package/dist/error/items/not-acceptable.error.d.ts +10 -0
  58. package/dist/error/items/not-acceptable.error.js +16 -0
  59. package/dist/error/items/not-acceptable.error.js.map +1 -0
  60. package/dist/error/items/not-found.error.d.ts +10 -0
  61. package/dist/error/items/not-found.error.js +16 -0
  62. package/dist/error/items/not-found.error.js.map +1 -0
  63. package/dist/error/items/payment-required.error.d.ts +10 -0
  64. package/dist/error/items/payment-required.error.js +16 -0
  65. package/dist/error/items/payment-required.error.js.map +1 -0
  66. package/dist/error/items/precondition-failed.error.d.ts +10 -0
  67. package/dist/error/items/precondition-failed.error.js +16 -0
  68. package/dist/error/items/precondition-failed.error.js.map +1 -0
  69. package/dist/error/items/proxy-authentication-required.error.d.ts +10 -0
  70. package/dist/error/items/proxy-authentication-required.error.js +16 -0
  71. package/dist/error/items/proxy-authentication-required.error.js.map +1 -0
  72. package/dist/error/items/request-timeout.error.d.ts +10 -0
  73. package/dist/error/items/request-timeout.error.js +16 -0
  74. package/dist/error/items/request-timeout.error.js.map +1 -0
  75. package/dist/error/items/silent.error.d.ts +11 -0
  76. package/dist/error/items/silent.error.js +19 -0
  77. package/dist/error/items/silent.error.js.map +1 -0
  78. package/dist/error/items/unauthorized.error.d.ts +10 -0
  79. package/dist/error/items/unauthorized.error.js +16 -0
  80. package/dist/error/items/unauthorized.error.js.map +1 -0
  81. package/dist/event/event.common.d.ts +77 -0
  82. package/dist/event/event.common.js +308 -0
  83. package/dist/event/event.common.js.map +1 -0
  84. package/dist/event/event.error.d.ts +3 -0
  85. package/dist/event/event.error.js +8 -0
  86. package/dist/event/event.error.js.map +1 -0
  87. package/dist/event/index.js.map +1 -0
  88. package/dist/event/index.types.d.ts +261 -0
  89. package/dist/{hook → event}/index.types.js.map +1 -1
  90. package/dist/hub/hub.channel.d.ts +27 -0
  91. package/dist/hub/hub.channel.js +83 -0
  92. package/dist/hub/hub.channel.js.map +1 -0
  93. package/dist/hub/hub.common.d.ts +27 -0
  94. package/dist/hub/hub.common.js +92 -0
  95. package/dist/hub/hub.common.js.map +1 -0
  96. package/dist/hub/index.js.map +1 -0
  97. package/dist/hub/index.types.d.ts +105 -0
  98. package/dist/{to → hub}/index.types.js.map +1 -1
  99. package/dist/index.d.ts +5 -23
  100. package/dist/index.js +7 -25
  101. package/dist/index.js.map +1 -1
  102. package/dist/leyyo/index.d.ts +0 -1
  103. package/dist/leyyo/index.js +0 -1
  104. package/dist/leyyo/index.js.map +1 -1
  105. package/dist/leyyo/index.types.d.ts +4 -22
  106. package/dist/leyyo/leyyo.d.ts +4 -22
  107. package/dist/leyyo/leyyo.js +12 -39
  108. package/dist/leyyo/leyyo.js.map +1 -1
  109. package/dist/log/index.types.d.ts +19 -26
  110. package/dist/log/log.common.d.ts +1 -1
  111. package/dist/log/log.common.js +24 -49
  112. package/dist/log/log.common.js.map +1 -1
  113. package/dist/log/logger.error.d.ts +3 -0
  114. package/dist/log/logger.error.js +8 -0
  115. package/dist/log/logger.error.js.map +1 -0
  116. package/dist/log/logger.instance.d.ts +7 -9
  117. package/dist/log/logger.instance.js +40 -50
  118. package/dist/log/logger.instance.js.map +1 -1
  119. package/dist/name/index.types.d.ts +1 -1
  120. package/dist/name/name.common.js +64 -37
  121. package/dist/name/name.common.js.map +1 -1
  122. package/dist/name/name.error.d.ts +3 -0
  123. package/dist/name/name.error.js +8 -0
  124. package/dist/name/name.error.js.map +1 -0
  125. package/dist/opt/index.js.map +1 -0
  126. package/dist/opt/index.types.d.ts +33 -0
  127. package/dist/{fqn → opt}/index.types.js.map +1 -1
  128. package/dist/opt/opt.common.d.ts +15 -0
  129. package/dist/opt/opt.common.js +93 -0
  130. package/dist/opt/opt.common.js.map +1 -0
  131. package/dist/repo/index.types.d.ts +1 -19
  132. package/dist/repo/repo.common.d.ts +0 -6
  133. package/dist/repo/repo.common.js +0 -20
  134. package/dist/repo/repo.common.js.map +1 -1
  135. package/dist/shared/index.d.ts +3 -0
  136. package/dist/shared/index.enum.d.ts +7 -0
  137. package/dist/{exception/index.types.js → shared/index.enum.js} +1 -1
  138. package/dist/shared/index.enum.js.map +1 -0
  139. package/dist/shared/index.fqn.d.ts +3 -0
  140. package/dist/shared/index.fqn.js +3 -0
  141. package/dist/shared/index.fqn.js.map +1 -0
  142. package/dist/shared/index.js +3 -0
  143. package/dist/shared/index.js.map +1 -1
  144. package/dist/shared/index.json.d.ts +33 -0
  145. package/dist/shared/index.json.js +3 -0
  146. package/dist/shared/index.json.js.map +1 -0
  147. package/dist/shared/index.types.d.ts +78 -100
  148. package/dist/shared/index.types.js +31 -0
  149. package/dist/shared/index.types.js.map +1 -1
  150. package/dist/util/delay.d.ts +9 -0
  151. package/dist/util/delay.js +21 -0
  152. package/dist/util/delay.js.map +1 -0
  153. package/dist/util/empty.fn.d.ts +8 -0
  154. package/dist/util/empty.fn.js +11 -0
  155. package/dist/util/empty.fn.js.map +1 -0
  156. package/dist/util/index.d.ts +5 -0
  157. package/dist/{developer → util}/index.js +5 -2
  158. package/dist/util/index.js.map +1 -0
  159. package/dist/util/one-or-more.d.ts +8 -0
  160. package/dist/util/one-or-more.js +19 -0
  161. package/dist/util/one-or-more.js.map +1 -0
  162. package/dist/util/secure-clone.d.ts +3 -0
  163. package/dist/util/secure-clone.js +38 -0
  164. package/dist/util/secure-clone.js.map +1 -0
  165. package/dist/util/secure-json.d.ts +37 -0
  166. package/dist/util/secure-json.js +126 -0
  167. package/dist/util/secure-json.js.map +1 -0
  168. package/package.json +2 -2
  169. package/dist/assertion/assertion.common.d.ts +0 -183
  170. package/dist/assertion/assertion.common.js +0 -663
  171. package/dist/assertion/assertion.common.js.map +0 -1
  172. package/dist/assertion/index.js.map +0 -1
  173. package/dist/assertion/index.types.d.ts +0 -661
  174. package/dist/assertion/index.types.js.map +0 -1
  175. package/dist/descriptor/descriptor.common.d.ts +0 -22
  176. package/dist/descriptor/descriptor.common.js +0 -117
  177. package/dist/descriptor/descriptor.common.js.map +0 -1
  178. package/dist/descriptor/index.js.map +0 -1
  179. package/dist/descriptor/index.types.d.ts +0 -23
  180. package/dist/descriptor/index.types.js.map +0 -1
  181. package/dist/developer/developer.common.d.ts +0 -32
  182. package/dist/developer/developer.common.js +0 -245
  183. package/dist/developer/developer.common.js.map +0 -1
  184. package/dist/developer/index.d.ts +0 -2
  185. package/dist/developer/index.errors.d.ts +0 -13
  186. package/dist/developer/index.errors.js +0 -24
  187. package/dist/developer/index.errors.js.map +0 -1
  188. package/dist/developer/index.js.map +0 -1
  189. package/dist/developer/index.types.d.ts +0 -85
  190. package/dist/developer/index.types.js.map +0 -1
  191. package/dist/exception/assertion.exception.d.ts +0 -5
  192. package/dist/exception/assertion.exception.js +0 -12
  193. package/dist/exception/assertion.exception.js.map +0 -1
  194. package/dist/exception/caused.exception.d.ts +0 -5
  195. package/dist/exception/caused.exception.js +0 -13
  196. package/dist/exception/caused.exception.js.map +0 -1
  197. package/dist/exception/developer.exception.d.ts +0 -5
  198. package/dist/exception/developer.exception.js +0 -12
  199. package/dist/exception/developer.exception.js.map +0 -1
  200. package/dist/exception/exception.d.ts +0 -32
  201. package/dist/exception/exception.js +0 -117
  202. package/dist/exception/exception.js.map +0 -1
  203. package/dist/exception/index.d.ts +0 -7
  204. package/dist/exception/index.js +0 -24
  205. package/dist/exception/index.js.map +0 -1
  206. package/dist/exception/index.types.d.ts +0 -30
  207. package/dist/exception/index.types.js.map +0 -1
  208. package/dist/exception/invalid-value.exception.d.ts +0 -5
  209. package/dist/exception/invalid-value.exception.js +0 -12
  210. package/dist/exception/invalid-value.exception.js.map +0 -1
  211. package/dist/exception/multiple.exception.d.ts +0 -8
  212. package/dist/exception/multiple.exception.js +0 -34
  213. package/dist/exception/multiple.exception.js.map +0 -1
  214. package/dist/fqn/fqn.common.d.ts +0 -20
  215. package/dist/fqn/fqn.common.js +0 -123
  216. package/dist/fqn/fqn.common.js.map +0 -1
  217. package/dist/fqn/index.js.map +0 -1
  218. package/dist/fqn/index.types.d.ts +0 -20
  219. package/dist/fqn/index.types.js +0 -3
  220. package/dist/hook/hook.common.d.ts +0 -25
  221. package/dist/hook/hook.common.js +0 -95
  222. package/dist/hook/hook.common.js.map +0 -1
  223. package/dist/hook/index.d.ts +0 -1
  224. package/dist/hook/index.js +0 -18
  225. package/dist/hook/index.js.map +0 -1
  226. package/dist/hook/index.types.d.ts +0 -72
  227. package/dist/hook/index.types.js +0 -3
  228. package/dist/is/index.d.ts +0 -1
  229. package/dist/is/index.js +0 -18
  230. package/dist/is/index.js.map +0 -1
  231. package/dist/is/index.types.d.ts +0 -240
  232. package/dist/is/index.types.js +0 -3
  233. package/dist/is/index.types.js.map +0 -1
  234. package/dist/is/is.common.d.ts +0 -71
  235. package/dist/is/is.common.js +0 -177
  236. package/dist/is/is.common.js.map +0 -1
  237. package/dist/leyyo/leyyo-hook.common.d.ts +0 -10
  238. package/dist/leyyo/leyyo-hook.common.js +0 -18
  239. package/dist/leyyo/leyyo-hook.common.js.map +0 -1
  240. package/dist/mixin/index.d.ts +0 -1
  241. package/dist/mixin/index.js +0 -18
  242. package/dist/mixin/index.js.map +0 -1
  243. package/dist/mixin/index.types.d.ts +0 -19
  244. package/dist/mixin/index.types.js +0 -3
  245. package/dist/mixin/index.types.js.map +0 -1
  246. package/dist/mixin/mixin.common.d.ts +0 -22
  247. package/dist/mixin/mixin.common.js +0 -165
  248. package/dist/mixin/mixin.common.js.map +0 -1
  249. package/dist/system/country-code.d.ts +0 -10
  250. package/dist/system/country-code.js +0 -19
  251. package/dist/system/country-code.js.map +0 -1
  252. package/dist/system/environment.d.ts +0 -7
  253. package/dist/system/environment.js +0 -6
  254. package/dist/system/environment.js.map +0 -1
  255. package/dist/system/index.d.ts +0 -7
  256. package/dist/system/index.js +0 -24
  257. package/dist/system/index.js.map +0 -1
  258. package/dist/system/index.types.d.ts +0 -6
  259. package/dist/system/index.types.js +0 -3
  260. package/dist/system/index.types.js.map +0 -1
  261. package/dist/system/language-code.d.ts +0 -7
  262. package/dist/system/language-code.js +0 -11
  263. package/dist/system/language-code.js.map +0 -1
  264. package/dist/system/locale-code.d.ts +0 -9
  265. package/dist/system/locale-code.js +0 -16
  266. package/dist/system/locale-code.js.map +0 -1
  267. package/dist/system/sys-class.d.ts +0 -4
  268. package/dist/system/sys-class.js +0 -21
  269. package/dist/system/sys-class.js.map +0 -1
  270. package/dist/system/sys-function.d.ts +0 -4
  271. package/dist/system/sys-function.js +0 -8
  272. package/dist/system/sys-function.js.map +0 -1
  273. package/dist/system/system.common.d.ts +0 -11
  274. package/dist/system/system.common.js +0 -64
  275. package/dist/system/system.common.js.map +0 -1
  276. package/dist/test/index.d.ts +0 -2
  277. package/dist/test/index.js +0 -19
  278. package/dist/test/index.js.map +0 -1
  279. package/dist/test/index.types.d.ts +0 -9
  280. package/dist/test/index.types.js +0 -3
  281. package/dist/test/index.types.js.map +0 -1
  282. package/dist/test/test.common.d.ts +0 -14
  283. package/dist/test/test.common.js +0 -48
  284. package/dist/test/test.common.js.map +0 -1
  285. package/dist/test/tested.d.ts +0 -1
  286. package/dist/test/tested.js +0 -9
  287. package/dist/test/tested.js.map +0 -1
  288. package/dist/to/index.d.ts +0 -7
  289. package/dist/to/index.js +0 -24
  290. package/dist/to/index.js.map +0 -1
  291. package/dist/to/index.types.d.ts +0 -76
  292. package/dist/to/index.types.js +0 -3
  293. package/dist/to/key-value.d.ts +0 -4
  294. package/dist/to/key-value.js +0 -8
  295. package/dist/to/key-value.js.map +0 -1
  296. package/dist/to/list.d.ts +0 -20
  297. package/dist/to/list.js +0 -38
  298. package/dist/to/list.js.map +0 -1
  299. package/dist/to/primitive.d.ts +0 -7
  300. package/dist/to/primitive.js +0 -6
  301. package/dist/to/primitive.js.map +0 -1
  302. package/dist/to/real-value.d.ts +0 -7
  303. package/dist/to/real-value.js +0 -6
  304. package/dist/to/real-value.js.map +0 -1
  305. package/dist/to/to.common.d.ts +0 -77
  306. package/dist/to/to.common.js +0 -1079
  307. package/dist/to/to.common.js.map +0 -1
  308. package/dist/to/weak-false.d.ts +0 -7
  309. package/dist/to/weak-false.js +0 -6
  310. package/dist/to/weak-false.js.map +0 -1
  311. package/dist/to/weak-true.d.ts +0 -7
  312. package/dist/to/weak-true.js +0 -9
  313. package/dist/to/weak-true.js.map +0 -1
  314. package/dist/wrapper/index.d.ts +0 -2
  315. package/dist/wrapper/index.js +0 -19
  316. package/dist/wrapper/index.js.map +0 -1
  317. package/dist/wrapper/index.types.d.ts +0 -29
  318. package/dist/wrapper/index.types.js +0 -3
  319. package/dist/wrapper/index.types.js.map +0 -1
  320. package/dist/wrapper/wrap.d.ts +0 -7
  321. package/dist/wrapper/wrap.js +0 -11
  322. package/dist/wrapper/wrap.js.map +0 -1
  323. package/dist/wrapper/wrapper.common.d.ts +0 -26
  324. package/dist/wrapper/wrapper.common.js +0 -82
  325. package/dist/wrapper/wrapper.common.js.map +0 -1
  326. /package/dist/{assertion → event}/index.d.ts +0 -0
  327. /package/dist/{assertion → event}/index.js +0 -0
  328. /package/dist/{assertion → event}/index.types.js +0 -0
  329. /package/dist/{descriptor → hub}/index.d.ts +0 -0
  330. /package/dist/{descriptor → hub}/index.js +0 -0
  331. /package/dist/{descriptor → hub}/index.types.js +0 -0
  332. /package/dist/{fqn → opt}/index.d.ts +0 -0
  333. /package/dist/{fqn → opt}/index.js +0 -0
  334. /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,3 @@
1
+ import { InvalidValueError } from "../error";
2
+ export declare class EventError extends InvalidValueError {
3
+ }
@@ -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/hook/index.types.ts"],"names":[],"mappings":""}
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
+ }