@zajno/common 2.0.3 → 2.0.5

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 (565) hide show
  1. package/README.md +3 -3
  2. package/{lib/abstractions → abstractions}/controllers/IPluggableController.d.ts +0 -0
  3. package/{lib/abstractions → abstractions}/controllers/IPluggableController.d.ts.map +0 -0
  4. package/{lib/abstractions → abstractions}/controllers/IPluggableController.js +0 -0
  5. package/{lib/abstractions → abstractions}/controllers/IPluggableController.js.map +0 -0
  6. package/{lib/async → async}/arrays.d.ts +0 -0
  7. package/{lib/async → async}/arrays.d.ts.map +0 -0
  8. package/{lib/async → async}/arrays.extend.d.ts +0 -0
  9. package/{lib/async → async}/arrays.extend.d.ts.map +0 -0
  10. package/{lib/async → async}/arrays.extend.js +0 -0
  11. package/{lib/async → async}/arrays.extend.js.map +0 -0
  12. package/{lib/async → async}/arrays.js +0 -0
  13. package/{lib/async → async}/arrays.js.map +0 -0
  14. package/{lib/async → async}/misc.d.ts +0 -0
  15. package/{lib/async → async}/misc.d.ts.map +0 -0
  16. package/{lib/async → async}/misc.js +0 -0
  17. package/{lib/async → async}/misc.js.map +0 -0
  18. package/{lib/async → async}/timeout.d.ts +0 -0
  19. package/{lib/async → async}/timeout.d.ts.map +0 -0
  20. package/{lib/async → async}/timeout.js +0 -0
  21. package/{lib/async → async}/timeout.js.map +0 -0
  22. package/{lib/controllers → controllers}/PluggableController.d.ts +0 -0
  23. package/{lib/controllers → controllers}/PluggableController.d.ts.map +0 -0
  24. package/{lib/controllers → controllers}/PluggableController.js +0 -0
  25. package/{lib/controllers → controllers}/PluggableController.js.map +0 -0
  26. package/{lib/dates → dates}/calc.d.ts +0 -0
  27. package/{lib/dates → dates}/calc.d.ts.map +0 -0
  28. package/{lib/dates → dates}/calc.js +0 -0
  29. package/{lib/dates → dates}/calc.js.map +0 -0
  30. package/{lib/dates → dates}/convert.d.ts +0 -0
  31. package/{lib/dates → dates}/convert.d.ts.map +0 -0
  32. package/{lib/dates → dates}/convert.js +0 -0
  33. package/{lib/dates → dates}/convert.js.map +0 -0
  34. package/{lib/dates → dates}/datex.d.ts +0 -0
  35. package/{lib/dates → dates}/datex.d.ts.map +0 -0
  36. package/{lib/dates → dates}/datex.js +0 -0
  37. package/{lib/dates → dates}/datex.js.map +0 -0
  38. package/{lib/dates → dates}/format.d.ts +0 -0
  39. package/{lib/dates → dates}/format.d.ts.map +0 -0
  40. package/{lib/dates → dates}/format.js +0 -0
  41. package/{lib/dates → dates}/format.js.map +0 -0
  42. package/{lib/dates → dates}/index.d.ts +0 -0
  43. package/{lib/dates → dates}/index.d.ts.map +0 -0
  44. package/{lib/dates → dates}/index.js +0 -0
  45. package/{lib/dates → dates}/index.js.map +0 -0
  46. package/{lib/dates → dates}/parse.d.ts +0 -0
  47. package/{lib/dates → dates}/parse.d.ts.map +0 -0
  48. package/{lib/dates → dates}/parse.js +0 -0
  49. package/{lib/dates → dates}/parse.js.map +0 -0
  50. package/{lib/dates → dates}/period.d.ts +0 -0
  51. package/{lib/dates → dates}/period.d.ts.map +0 -0
  52. package/{lib/dates → dates}/period.js +0 -0
  53. package/{lib/dates → dates}/period.js.map +0 -0
  54. package/{lib/dates → dates}/shift.d.ts +0 -0
  55. package/{lib/dates → dates}/shift.d.ts.map +0 -0
  56. package/{lib/dates → dates}/shift.js +0 -0
  57. package/{lib/dates → dates}/shift.js.map +0 -0
  58. package/{lib/dates → dates}/types.d.ts +0 -0
  59. package/{lib/dates → dates}/types.d.ts.map +0 -0
  60. package/{lib/dates → dates}/types.js +0 -0
  61. package/{lib/dates → dates}/types.js.map +0 -0
  62. package/{lib/dates → dates}/yearDate.d.ts +0 -0
  63. package/{lib/dates → dates}/yearDate.d.ts.map +0 -0
  64. package/{lib/dates → dates}/yearDate.js +0 -0
  65. package/{lib/dates → dates}/yearDate.js.map +0 -0
  66. package/{lib/fields → fields}/filter.d.ts +0 -0
  67. package/{lib/fields → fields}/filter.d.ts.map +0 -0
  68. package/{lib/fields → fields}/filter.js +0 -0
  69. package/{lib/fields → fields}/filter.js.map +0 -0
  70. package/{lib/fields → fields}/index.d.ts +0 -0
  71. package/{lib/fields → fields}/index.d.ts.map +0 -0
  72. package/{lib/fields → fields}/index.js +0 -0
  73. package/{lib/fields → fields}/index.js.map +0 -0
  74. package/{lib/fields → fields}/transfer.d.ts +0 -0
  75. package/{lib/fields → fields}/transfer.d.ts.map +0 -0
  76. package/{lib/fields → fields}/transfer.js +0 -0
  77. package/{lib/fields → fields}/transfer.js.map +0 -0
  78. package/{lib/fields → fields}/update.d.ts +0 -0
  79. package/{lib/fields → fields}/update.d.ts.map +0 -0
  80. package/{lib/fields → fields}/update.js +0 -0
  81. package/{lib/fields → fields}/update.js.map +0 -0
  82. package/{lib/functions → functions}/assert.d.ts +0 -0
  83. package/{lib/functions → functions}/assert.d.ts.map +0 -0
  84. package/{lib/functions → functions}/assert.js +0 -0
  85. package/{lib/functions → functions}/assert.js.map +0 -0
  86. package/{lib/functions → functions}/disposer.d.ts +0 -0
  87. package/{lib/functions → functions}/disposer.d.ts.map +0 -0
  88. package/{lib/functions → functions}/disposer.js +0 -0
  89. package/{lib/functions → functions}/disposer.js.map +0 -0
  90. package/{lib/functions → functions}/safeCall.d.ts +0 -0
  91. package/{lib/functions → functions}/safeCall.d.ts.map +0 -0
  92. package/{lib/functions → functions}/safeCall.js +0 -0
  93. package/{lib/functions → functions}/safeCall.js.map +0 -0
  94. package/{lib/functions → functions}/throttle.d.ts +0 -0
  95. package/{lib/functions → functions}/throttle.d.ts.map +0 -0
  96. package/{lib/functions → functions}/throttle.js +0 -0
  97. package/{lib/functions → functions}/throttle.js.map +0 -0
  98. package/{lib/lazy → lazy}/light.d.ts +0 -0
  99. package/{lib/lazy → lazy}/light.d.ts.map +0 -0
  100. package/{lib/lazy → lazy}/light.js +0 -0
  101. package/{lib/lazy → lazy}/light.js.map +0 -0
  102. package/{lib/lazy → lazy}/promise.d.ts +0 -0
  103. package/{lib/lazy → lazy}/promise.d.ts.map +0 -0
  104. package/{lib/lazy → lazy}/promise.js +0 -0
  105. package/{lib/lazy → lazy}/promise.js.map +0 -0
  106. package/{lib/lazy → lazy}/singleton.d.ts +0 -0
  107. package/{lib/lazy → lazy}/singleton.d.ts.map +0 -0
  108. package/{lib/lazy → lazy}/singleton.js +0 -0
  109. package/{lib/lazy → lazy}/singleton.js.map +0 -0
  110. package/{lib/logger → logger}/abstractions.d.ts +0 -0
  111. package/{lib/logger → logger}/abstractions.d.ts.map +0 -0
  112. package/{lib/logger → logger}/abstractions.js +0 -0
  113. package/{lib/logger → logger}/abstractions.js.map +0 -0
  114. package/{lib/logger → logger}/batch.d.ts +0 -0
  115. package/{lib/logger → logger}/batch.d.ts.map +0 -0
  116. package/{lib/logger → logger}/batch.js +0 -0
  117. package/{lib/logger → logger}/batch.js.map +0 -0
  118. package/{lib/logger → logger}/console.d.ts +0 -0
  119. package/{lib/logger → logger}/console.d.ts.map +0 -0
  120. package/{lib/logger → logger}/console.js +0 -0
  121. package/{lib/logger → logger}/console.js.map +0 -0
  122. package/{lib/logger → logger}/file.d.ts +0 -0
  123. package/{lib/logger → logger}/file.d.ts.map +0 -0
  124. package/{lib/logger → logger}/file.js +0 -0
  125. package/{lib/logger → logger}/file.js.map +0 -0
  126. package/{lib/logger → logger}/index.d.ts +0 -0
  127. package/{lib/logger → logger}/index.d.ts.map +0 -0
  128. package/{lib/logger → logger}/index.js +0 -0
  129. package/{lib/logger → logger}/index.js.map +0 -0
  130. package/{lib/logger → logger}/named.d.ts +0 -0
  131. package/{lib/logger → logger}/named.d.ts.map +0 -0
  132. package/{lib/logger → logger}/named.js +0 -0
  133. package/{lib/logger → logger}/named.js.map +0 -0
  134. package/{lib/logger → logger}/proxy.d.ts +0 -0
  135. package/{lib/logger → logger}/proxy.d.ts.map +0 -0
  136. package/{lib/logger → logger}/proxy.js +0 -0
  137. package/{lib/logger → logger}/proxy.js.map +0 -0
  138. package/{lib/math → math}/arrays.d.ts +0 -0
  139. package/{lib/math → math}/arrays.d.ts.map +0 -0
  140. package/{lib/math → math}/arrays.js +0 -0
  141. package/{lib/math → math}/arrays.js.map +0 -0
  142. package/{lib/math → math}/calc.d.ts +0 -0
  143. package/{lib/math → math}/calc.d.ts.map +0 -0
  144. package/{lib/math → math}/calc.js +0 -0
  145. package/{lib/math → math}/calc.js.map +0 -0
  146. package/{lib/math → math}/distribution.d.ts +0 -0
  147. package/{lib/math → math}/distribution.d.ts.map +0 -0
  148. package/{lib/math → math}/distribution.js +0 -0
  149. package/{lib/math → math}/distribution.js.map +0 -0
  150. package/{lib/math → math}/index.d.ts +0 -0
  151. package/{lib/math → math}/index.d.ts.map +0 -0
  152. package/{lib/math → math}/index.js +0 -0
  153. package/{lib/math → math}/index.js.map +0 -0
  154. package/{lib/models → models}/EntityWithStatus.d.ts +0 -0
  155. package/{lib/models → models}/EntityWithStatus.d.ts.map +0 -0
  156. package/{lib/models → models}/EntityWithStatus.js +0 -0
  157. package/{lib/models → models}/EntityWithStatus.js.map +0 -0
  158. package/{lib/models → models}/File.d.ts +0 -0
  159. package/{lib/models → models}/File.d.ts.map +0 -0
  160. package/{lib/models → models}/File.js +0 -0
  161. package/{lib/models → models}/File.js.map +0 -0
  162. package/models/Model.d.ts +12 -0
  163. package/models/Model.d.ts.map +1 -0
  164. package/models/Model.js +23 -0
  165. package/models/Model.js.map +1 -0
  166. package/models/ValuesCollector.d.ts +26 -0
  167. package/models/ValuesCollector.d.ts.map +1 -0
  168. package/models/ValuesCollector.js +51 -0
  169. package/models/ValuesCollector.js.map +1 -0
  170. package/models/types.d.ts +19 -0
  171. package/models/types.d.ts.map +1 -0
  172. package/models/types.js +3 -0
  173. package/models/types.js.map +1 -0
  174. package/models/wrappers.d.ts +12 -0
  175. package/models/wrappers.d.ts.map +1 -0
  176. package/models/wrappers.js +43 -0
  177. package/models/wrappers.js.map +1 -0
  178. package/{lib/observing → observing}/event.d.ts +0 -0
  179. package/{lib/observing → observing}/event.d.ts.map +0 -0
  180. package/{lib/observing → observing}/event.js +0 -0
  181. package/{lib/observing → observing}/event.js.map +0 -0
  182. package/{lib/observing → observing}/progressTracker.d.ts +0 -0
  183. package/{lib/observing → observing}/progressTracker.d.ts.map +0 -0
  184. package/{lib/observing → observing}/progressTracker.js +0 -0
  185. package/{lib/observing → observing}/progressTracker.js.map +0 -0
  186. package/{lib/observing → observing}/throttledEvent.d.ts +0 -0
  187. package/{lib/observing → observing}/throttledEvent.d.ts.map +0 -0
  188. package/{lib/observing → observing}/throttledEvent.js +0 -0
  189. package/{lib/observing → observing}/throttledEvent.js.map +0 -0
  190. package/{lib/observing → observing}/timer.d.ts +0 -0
  191. package/{lib/observing → observing}/timer.d.ts.map +0 -0
  192. package/{lib/observing → observing}/timer.js +0 -0
  193. package/{lib/observing → observing}/timer.js.map +0 -0
  194. package/package.json +8 -11
  195. package/{lib/storage → storage}/abstractions.d.ts +0 -0
  196. package/{lib/storage → storage}/abstractions.d.ts.map +0 -0
  197. package/{lib/storage → storage}/abstractions.js +0 -0
  198. package/{lib/storage → storage}/abstractions.js.map +0 -0
  199. package/{lib/storage → storage}/asyncWrapper.d.ts +0 -0
  200. package/{lib/storage → storage}/asyncWrapper.d.ts.map +0 -0
  201. package/{lib/storage → storage}/asyncWrapper.js +0 -0
  202. package/{lib/storage → storage}/asyncWrapper.js.map +0 -0
  203. package/{lib/storage → storage}/index.d.ts +0 -0
  204. package/{lib/storage → storage}/index.d.ts.map +0 -0
  205. package/{lib/storage → storage}/index.js +0 -0
  206. package/{lib/storage → storage}/index.js.map +0 -0
  207. package/{lib/storage → storage}/keyStorage.d.ts +0 -0
  208. package/{lib/storage → storage}/keyStorage.d.ts.map +0 -0
  209. package/{lib/storage → storage}/keyStorage.js +0 -0
  210. package/{lib/storage → storage}/keyStorage.js.map +0 -0
  211. package/{lib/structures → structures}/helpers/enum.d.ts +0 -0
  212. package/{lib/structures → structures}/helpers/enum.d.ts.map +0 -0
  213. package/{lib/structures → structures}/helpers/enum.js +0 -0
  214. package/{lib/structures → structures}/helpers/enum.js.map +0 -0
  215. package/{lib/structures → structures}/helpers/name.d.ts +0 -0
  216. package/{lib/structures → structures}/helpers/name.d.ts.map +0 -0
  217. package/{lib/structures → structures}/helpers/name.js +0 -0
  218. package/{lib/structures → structures}/helpers/name.js.map +0 -0
  219. package/{lib/structures → structures}/linkedList.d.ts +0 -0
  220. package/{lib/structures → structures}/linkedList.d.ts.map +0 -0
  221. package/{lib/structures → structures}/linkedList.js +0 -0
  222. package/{lib/structures → structures}/linkedList.js.map +0 -0
  223. package/{lib/structures → structures}/pool.d.ts +0 -0
  224. package/{lib/structures → structures}/pool.d.ts.map +0 -0
  225. package/{lib/structures → structures}/pool.js +0 -0
  226. package/{lib/structures → structures}/pool.js.map +0 -0
  227. package/{lib/structures → structures}/queue/parallel.d.ts +0 -0
  228. package/{lib/structures → structures}/queue/parallel.d.ts.map +0 -0
  229. package/{lib/structures → structures}/queue/parallel.js +0 -0
  230. package/{lib/structures → structures}/queue/parallel.js.map +0 -0
  231. package/{lib/structures → structures}/queue/tasks.d.ts +0 -0
  232. package/{lib/structures → structures}/queue/tasks.d.ts.map +0 -0
  233. package/{lib/structures → structures}/queue/tasks.js +0 -0
  234. package/{lib/structures → structures}/queue/tasks.js.map +0 -0
  235. package/{lib/structures → structures}/tempoCache.d.ts +0 -0
  236. package/{lib/structures → structures}/tempoCache.d.ts.map +0 -0
  237. package/{lib/structures → structures}/tempoCache.js +0 -0
  238. package/{lib/structures → structures}/tempoCache.js.map +0 -0
  239. package/{lib/types → types}/comparator.d.ts +0 -0
  240. package/{lib/types → types}/comparator.d.ts.map +0 -0
  241. package/{lib/types → types}/comparator.js +0 -0
  242. package/{lib/types → types}/comparator.js.map +0 -0
  243. package/{lib/types → types}/deep.d.ts +0 -0
  244. package/{lib/types → types}/deep.d.ts.map +0 -0
  245. package/{lib/types → types}/deep.js +0 -0
  246. package/{lib/types → types}/deep.js.map +0 -0
  247. package/{lib/types → types}/functions.d.ts +0 -0
  248. package/{lib/types → types}/functions.d.ts.map +0 -0
  249. package/{lib/types → types}/functions.js +0 -0
  250. package/{lib/types → types}/functions.js.map +0 -0
  251. package/{lib/types → types}/getter.d.ts +0 -0
  252. package/{lib/types → types}/getter.d.ts.map +1 -1
  253. package/{lib/types → types}/getter.js +0 -3
  254. package/types/getter.js.map +1 -0
  255. package/{lib/types → types}/ident.d.ts +0 -0
  256. package/{lib/types → types}/ident.d.ts.map +0 -0
  257. package/{lib/types → types}/ident.js +0 -0
  258. package/{lib/types → types}/ident.js.map +0 -0
  259. package/{lib/types → types}/index.d.ts +3 -0
  260. package/{lib/types → types}/index.d.ts.map +1 -1
  261. package/{lib/types → types}/index.js +0 -0
  262. package/{lib/types → types}/index.js.map +0 -0
  263. package/{lib/validation → validation}/ValidationErrors.d.ts +0 -0
  264. package/{lib/validation → validation}/ValidationErrors.d.ts.map +0 -0
  265. package/{lib/validation → validation}/ValidationErrors.js +0 -0
  266. package/{lib/validation → validation}/ValidationErrors.js.map +0 -0
  267. package/{lib/validation → validation}/creditCard.d.ts +0 -0
  268. package/{lib/validation → validation}/creditCard.d.ts.map +0 -0
  269. package/{lib/validation → validation}/creditCard.js +0 -0
  270. package/{lib/validation → validation}/creditCard.js.map +0 -0
  271. package/{lib/validation → validation}/emails.d.ts +0 -0
  272. package/{lib/validation → validation}/emails.d.ts.map +0 -0
  273. package/{lib/validation → validation}/emails.js +0 -0
  274. package/{lib/validation → validation}/emails.js.map +0 -0
  275. package/{lib/validation → validation}/helpers.d.ts +0 -0
  276. package/{lib/validation → validation}/helpers.d.ts.map +0 -0
  277. package/{lib/validation → validation}/helpers.js +0 -0
  278. package/{lib/validation → validation}/helpers.js.map +0 -0
  279. package/{lib/validation → validation}/index.d.ts +0 -0
  280. package/{lib/validation → validation}/index.d.ts.map +0 -0
  281. package/{lib/validation → validation}/index.js +0 -0
  282. package/{lib/validation → validation}/index.js.map +0 -0
  283. package/{lib/validation → validation}/types.d.ts +0 -0
  284. package/{lib/validation → validation}/types.d.ts.map +0 -0
  285. package/{lib/validation → validation}/types.js +0 -0
  286. package/{lib/validation → validation}/types.js.map +0 -0
  287. package/{lib/validation → validation}/validators.d.ts +0 -0
  288. package/{lib/validation → validation}/validators.d.ts.map +0 -0
  289. package/{lib/validation → validation}/validators.js +0 -0
  290. package/{lib/validation → validation}/validators.js.map +0 -0
  291. package/{lib/validation → validation}/wrappers.d.ts +0 -0
  292. package/{lib/validation → validation}/wrappers.d.ts.map +0 -0
  293. package/{lib/validation → validation}/wrappers.js +0 -0
  294. package/{lib/validation → validation}/wrappers.js.map +0 -0
  295. package/.eslintignore +0 -5
  296. package/.eslintrc.js +0 -9
  297. package/.github/workflows/CI.yml +0 -48
  298. package/.gitignore +0 -13
  299. package/.nvmrc +0 -1
  300. package/coverage/clover.xml +0 -1280
  301. package/coverage/coverage-final.json +0 -43
  302. package/coverage/lcov-report/CommonModel.ts.html +0 -215
  303. package/coverage/lcov-report/FlagModel.ts.html +0 -290
  304. package/coverage/lcov-report/MultiSelectModel.ts.html +0 -614
  305. package/coverage/lcov-report/NumberModel.ts.html +0 -230
  306. package/coverage/lcov-report/SelectModel.ts.html +0 -503
  307. package/coverage/lcov-report/Validatable.ts.html +0 -386
  308. package/coverage/lcov-report/__tests__/helpers/expect.ts.html +0 -94
  309. package/coverage/lcov-report/__tests__/helpers/index.html +0 -131
  310. package/coverage/lcov-report/__tests__/helpers/main.ts.html +0 -121
  311. package/coverage/lcov-report/async/arrays.ts.html +0 -199
  312. package/coverage/lcov-report/async/index.html +0 -131
  313. package/coverage/lcov-report/async/timeout.ts.html +0 -337
  314. package/coverage/lcov-report/base.css +0 -224
  315. package/coverage/lcov-report/block-navigation.js +0 -87
  316. package/coverage/lcov-report/dates/calc.ts.html +0 -301
  317. package/coverage/lcov-report/dates/convert.ts.html +0 -658
  318. package/coverage/lcov-report/dates/datex.ts.html +0 -211
  319. package/coverage/lcov-report/dates/format.ts.html +0 -403
  320. package/coverage/lcov-report/dates/index.html +0 -251
  321. package/coverage/lcov-report/dates/index.ts.html +0 -112
  322. package/coverage/lcov-report/dates/parse.ts.html +0 -157
  323. package/coverage/lcov-report/dates/period.ts.html +0 -154
  324. package/coverage/lcov-report/dates/shift.ts.html +0 -355
  325. package/coverage/lcov-report/dates/types.ts.html +0 -181
  326. package/coverage/lcov-report/dates/yearDate.ts.html +0 -193
  327. package/coverage/lcov-report/disposer.ts.html +0 -376
  328. package/coverage/lcov-report/enumHelper.ts.html +0 -454
  329. package/coverage/lcov-report/favicon.png +0 -0
  330. package/coverage/lcov-report/fields/index.html +0 -116
  331. package/coverage/lcov-report/fields/update.ts.html +0 -457
  332. package/coverage/lcov-report/functions/disposer.ts.html +0 -376
  333. package/coverage/lcov-report/functions/index.html +0 -116
  334. package/coverage/lcov-report/functions/safeCall.ts.html +0 -103
  335. package/coverage/lcov-report/index.html +0 -311
  336. package/coverage/lcov-report/lazy/index.html +0 -131
  337. package/coverage/lcov-report/lazy/light.ts.html +0 -172
  338. package/coverage/lcov-report/lazy/promise.ts.html +0 -241
  339. package/coverage/lcov-report/lazy/singleton.ts.html +0 -181
  340. package/coverage/lcov-report/logger/batch.ts.html +0 -112
  341. package/coverage/lcov-report/logger/console.ts.html +0 -241
  342. package/coverage/lcov-report/logger/index.html +0 -176
  343. package/coverage/lcov-report/logger/index.ts.html +0 -298
  344. package/coverage/lcov-report/logger/named.ts.html +0 -226
  345. package/coverage/lcov-report/logger/proxy.ts.html +0 -172
  346. package/coverage/lcov-report/math/arrays.ts.html +0 -907
  347. package/coverage/lcov-report/math/calc.ts.html +0 -292
  348. package/coverage/lcov-report/math/distribution.ts.html +0 -145
  349. package/coverage/lcov-report/math/index.html +0 -161
  350. package/coverage/lcov-report/math/index.ts.html +0 -166
  351. package/coverage/lcov-report/observing/event.ts.html +0 -358
  352. package/coverage/lcov-report/observing/index.html +0 -116
  353. package/coverage/lcov-report/observing/transition.ts.html +0 -634
  354. package/coverage/lcov-report/parallel.ts.html +0 -550
  355. package/coverage/lcov-report/prettify.css +0 -1
  356. package/coverage/lcov-report/prettify.js +0 -2
  357. package/coverage/lcov-report/queue/index.html +0 -116
  358. package/coverage/lcov-report/queue/parallel.ts.html +0 -499
  359. package/coverage/lcov-report/queue/tasks.ts.html +0 -358
  360. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  361. package/coverage/lcov-report/sorter.js +0 -196
  362. package/coverage/lcov-report/src/__tests__/helpers/expect.ts.html +0 -94
  363. package/coverage/lcov-report/src/__tests__/helpers/index.html +0 -131
  364. package/coverage/lcov-report/src/__tests__/helpers/main.ts.html +0 -121
  365. package/coverage/lcov-report/src/async/arrays.ts.html +0 -199
  366. package/coverage/lcov-report/src/async/index.html +0 -131
  367. package/coverage/lcov-report/src/async/timeout.ts.html +0 -337
  368. package/coverage/lcov-report/src/cache.ts.html +0 -628
  369. package/coverage/lcov-report/src/dates/calc.ts.html +0 -301
  370. package/coverage/lcov-report/src/dates/convert.ts.html +0 -658
  371. package/coverage/lcov-report/src/dates/datex.ts.html +0 -211
  372. package/coverage/lcov-report/src/dates/format.ts.html +0 -403
  373. package/coverage/lcov-report/src/dates/index.html +0 -251
  374. package/coverage/lcov-report/src/dates/index.ts.html +0 -112
  375. package/coverage/lcov-report/src/dates/parse.ts.html +0 -157
  376. package/coverage/lcov-report/src/dates/period.ts.html +0 -154
  377. package/coverage/lcov-report/src/dates/shift.ts.html +0 -355
  378. package/coverage/lcov-report/src/dates/types.ts.html +0 -181
  379. package/coverage/lcov-report/src/dates/yearDate.ts.html +0 -193
  380. package/coverage/lcov-report/src/disposer.ts.html +0 -376
  381. package/coverage/lcov-report/src/enumHelper.ts.html +0 -454
  382. package/coverage/lcov-report/src/event.ts.html +0 -361
  383. package/coverage/lcov-report/src/fields/index.html +0 -116
  384. package/coverage/lcov-report/src/fields/update.ts.html +0 -457
  385. package/coverage/lcov-report/src/functions.ts.html +0 -127
  386. package/coverage/lcov-report/src/index.html +0 -251
  387. package/coverage/lcov-report/src/lazy/index.html +0 -161
  388. package/coverage/lcov-report/src/lazy/lazy.ts.html +0 -181
  389. package/coverage/lcov-report/src/lazy/light.ts.html +0 -172
  390. package/coverage/lcov-report/src/lazy/observable.ts.html +0 -196
  391. package/coverage/lcov-report/src/lazy/promise.ts.html +0 -241
  392. package/coverage/lcov-report/src/lazy/singleton.ts.html +0 -181
  393. package/coverage/lcov-report/src/lazy.light.ts.html +0 -172
  394. package/coverage/lcov-report/src/logger/batch.ts.html +0 -112
  395. package/coverage/lcov-report/src/logger/console.ts.html +0 -241
  396. package/coverage/lcov-report/src/logger/index.html +0 -176
  397. package/coverage/lcov-report/src/logger/index.ts.html +0 -298
  398. package/coverage/lcov-report/src/logger/named.ts.html +0 -226
  399. package/coverage/lcov-report/src/logger/proxy.ts.html +0 -172
  400. package/coverage/lcov-report/src/math/arrays.ts.html +0 -868
  401. package/coverage/lcov-report/src/math/calc.ts.html +0 -292
  402. package/coverage/lcov-report/src/math/distribution.ts.html +0 -145
  403. package/coverage/lcov-report/src/math/index.html +0 -161
  404. package/coverage/lcov-report/src/math/index.ts.html +0 -166
  405. package/coverage/lcov-report/src/observers.ts.html +0 -368
  406. package/coverage/lcov-report/src/observersMap.ts.html +0 -400
  407. package/coverage/lcov-report/src/observingCache.ts.html +0 -565
  408. package/coverage/lcov-report/src/queue/index.html +0 -131
  409. package/coverage/lcov-report/src/queue/parallel.ts.html +0 -511
  410. package/coverage/lcov-report/src/queue/tasks.ts.html +0 -358
  411. package/coverage/lcov-report/src/tempoCache.ts.html +0 -139
  412. package/coverage/lcov-report/src/transitionObserver.ts.html +0 -634
  413. package/coverage/lcov-report/src/types/comparator.ts.html +0 -103
  414. package/coverage/lcov-report/src/types/getter.ts.html +0 -127
  415. package/coverage/lcov-report/src/types/index.html +0 -146
  416. package/coverage/lcov-report/src/types/index.ts.html +0 -112
  417. package/coverage/lcov-report/src/types.ts.html +0 -175
  418. package/coverage/lcov-report/src/validation/ValidationErrors.ts.html +0 -163
  419. package/coverage/lcov-report/src/validation/creditCard.ts.html +0 -160
  420. package/coverage/lcov-report/src/validation/helpers.ts.html +0 -226
  421. package/coverage/lcov-report/src/validation/index.html +0 -206
  422. package/coverage/lcov-report/src/validation/index.ts.html +0 -112
  423. package/coverage/lcov-report/src/validation/types.ts.html +0 -139
  424. package/coverage/lcov-report/src/validation/validators.ts.html +0 -250
  425. package/coverage/lcov-report/src/validation/wrappers.ts.html +0 -163
  426. package/coverage/lcov-report/src/viewModels/CommonModel.ts.html +0 -220
  427. package/coverage/lcov-report/src/viewModels/FlagModel.ts.html +0 -295
  428. package/coverage/lcov-report/src/viewModels/LoadingModel.ts.html +0 -241
  429. package/coverage/lcov-report/src/viewModels/MultiSelectModel.ts.html +0 -619
  430. package/coverage/lcov-report/src/viewModels/NumberModel.ts.html +0 -235
  431. package/coverage/lcov-report/src/viewModels/SelectModel.ts.html +0 -541
  432. package/coverage/lcov-report/src/viewModels/TextModel.ts.html +0 -466
  433. package/coverage/lcov-report/src/viewModels/Validatable.ts.html +0 -391
  434. package/coverage/lcov-report/src/viewModels/index.html +0 -236
  435. package/coverage/lcov-report/src/viewModels/wrappers.ts.html +0 -232
  436. package/coverage/lcov-report/structures/helpers/enum.ts.html +0 -454
  437. package/coverage/lcov-report/structures/helpers/index.html +0 -116
  438. package/coverage/lcov-report/structures/index.html +0 -116
  439. package/coverage/lcov-report/structures/promiseCache.ts.html +0 -628
  440. package/coverage/lcov-report/structures/queue/index.html +0 -131
  441. package/coverage/lcov-report/structures/queue/parallel.ts.html +0 -511
  442. package/coverage/lcov-report/structures/queue/tasks.ts.html +0 -358
  443. package/coverage/lcov-report/structures/subscribersMap.ts.html +0 -400
  444. package/coverage/lcov-report/structures/subscribersPromiseCache.ts.html +0 -562
  445. package/coverage/lcov-report/structures/tempoCache.ts.html +0 -139
  446. package/coverage/lcov-report/tasks.ts.html +0 -355
  447. package/coverage/lcov-report/tempoCache.ts.html +0 -134
  448. package/coverage/lcov-report/timer.ts.html +0 -200
  449. package/coverage/lcov-report/types/comparator.ts.html +0 -103
  450. package/coverage/lcov-report/types/getter.ts.html +0 -127
  451. package/coverage/lcov-report/types/index.html +0 -146
  452. package/coverage/lcov-report/types/index.ts.html +0 -136
  453. package/coverage/lcov-report/update.ts.html +0 -374
  454. package/coverage/lcov-report/validation/ValidationErrors.ts.html +0 -163
  455. package/coverage/lcov-report/validation/creditCard.ts.html +0 -160
  456. package/coverage/lcov-report/validation/helpers.ts.html +0 -226
  457. package/coverage/lcov-report/validation/index.html +0 -206
  458. package/coverage/lcov-report/validation/index.ts.html +0 -112
  459. package/coverage/lcov-report/validation/types.ts.html +0 -139
  460. package/coverage/lcov-report/validation/validators.ts.html +0 -250
  461. package/coverage/lcov-report/validation/wrappers.ts.html +0 -163
  462. package/coverage/lcov-report/viewModels/CommonModel.ts.html +0 -215
  463. package/coverage/lcov-report/viewModels/FlagModel.ts.html +0 -290
  464. package/coverage/lcov-report/viewModels/LoadingModel.ts.html +0 -244
  465. package/coverage/lcov-report/viewModels/MultiSelectModel.ts.html +0 -614
  466. package/coverage/lcov-report/viewModels/NumberModel.ts.html +0 -230
  467. package/coverage/lcov-report/viewModels/SelectModel.ts.html +0 -536
  468. package/coverage/lcov-report/viewModels/TextModel.ts.html +0 -461
  469. package/coverage/lcov-report/viewModels/Validatable.ts.html +0 -386
  470. package/coverage/lcov-report/viewModels/index.html +0 -116
  471. package/coverage/lcov.info +0 -2763
  472. package/global-test-setup.js +0 -3
  473. package/jest.config.js +0 -10
  474. package/lib/types/getter.js.map +0 -1
  475. package/src/.DS_Store +0 -0
  476. package/src/__tests__/helpers/expect.ts +0 -3
  477. package/src/__tests__/helpers/main.ts +0 -12
  478. package/src/abstractions/controllers/IPluggableController.ts +0 -7
  479. package/src/async/__tests__/timeout.test.ts +0 -74
  480. package/src/async/arrays.extend.ts +0 -17
  481. package/src/async/arrays.ts +0 -38
  482. package/src/async/misc.ts +0 -26
  483. package/src/async/timeout.ts +0 -84
  484. package/src/controllers/PluggableController.ts +0 -35
  485. package/src/dates/__tests__/dates.test.ts +0 -1314
  486. package/src/dates/calc.ts +0 -72
  487. package/src/dates/convert.ts +0 -191
  488. package/src/dates/datex.ts +0 -42
  489. package/src/dates/format.ts +0 -106
  490. package/src/dates/index.ts +0 -9
  491. package/src/dates/parse.ts +0 -24
  492. package/src/dates/period.ts +0 -23
  493. package/src/dates/shift.ts +0 -90
  494. package/src/dates/types.ts +0 -32
  495. package/src/dates/yearDate.ts +0 -36
  496. package/src/fields/__tests__/fields.update.test.ts +0 -73
  497. package/src/fields/filter.ts +0 -27
  498. package/src/fields/index.ts +0 -4
  499. package/src/fields/transfer.ts +0 -85
  500. package/src/fields/update.ts +0 -124
  501. package/src/functions/assert.ts +0 -19
  502. package/src/functions/disposer.ts +0 -97
  503. package/src/functions/safeCall.ts +0 -6
  504. package/src/functions/throttle.ts +0 -96
  505. package/src/lazy/__tests__/lazy.test.ts +0 -48
  506. package/src/lazy/light.ts +0 -29
  507. package/src/lazy/promise.ts +0 -52
  508. package/src/lazy/singleton.ts +0 -32
  509. package/src/logger/__tests__/logger.test.ts +0 -206
  510. package/src/logger/abstractions.ts +0 -13
  511. package/src/logger/batch.ts +0 -9
  512. package/src/logger/console.ts +0 -52
  513. package/src/logger/file.ts +0 -66
  514. package/src/logger/index.ts +0 -71
  515. package/src/logger/named.ts +0 -47
  516. package/src/logger/proxy.ts +0 -29
  517. package/src/math/__tests__/arrays.test.ts +0 -196
  518. package/src/math/__tests__/calc.test.ts +0 -67
  519. package/src/math/__tests__/distribution.test.ts +0 -25
  520. package/src/math/__tests__/index.test.ts +0 -20
  521. package/src/math/arrays.ts +0 -274
  522. package/src/math/calc.ts +0 -69
  523. package/src/math/distribution.ts +0 -20
  524. package/src/math/index.ts +0 -27
  525. package/src/models/EntityWithStatus.ts +0 -58
  526. package/src/models/File.ts +0 -14
  527. package/src/observing/event.ts +0 -91
  528. package/src/observing/progressTracker.ts +0 -90
  529. package/src/observing/throttledEvent.ts +0 -20
  530. package/src/observing/timer.ts +0 -40
  531. package/src/storage/abstractions.ts +0 -18
  532. package/src/storage/asyncWrapper.ts +0 -24
  533. package/src/storage/index.ts +0 -2
  534. package/src/storage/keyStorage.ts +0 -40
  535. package/src/structures/__tests__/enumHelper.test.ts +0 -85
  536. package/src/structures/__tests__/tempoCache.test.ts +0 -31
  537. package/src/structures/helpers/enum.ts +0 -123
  538. package/src/structures/helpers/name.ts +0 -58
  539. package/src/structures/linkedList.ts +0 -129
  540. package/src/structures/pool.ts +0 -47
  541. package/src/structures/queue/__tests__/parallel.test.ts +0 -58
  542. package/src/structures/queue/__tests__/tasks.test.ts +0 -87
  543. package/src/structures/queue/parallel.ts +0 -142
  544. package/src/structures/queue/tasks.ts +0 -91
  545. package/src/structures/tempoCache.ts +0 -18
  546. package/src/types/comparator.ts +0 -6
  547. package/src/types/deep.ts +0 -18
  548. package/src/types/functions.ts +0 -8
  549. package/src/types/getter.ts +0 -14
  550. package/src/types/ident.ts +0 -8
  551. package/src/types/index.ts +0 -17
  552. package/src/validation/ValidationErrors.ts +0 -26
  553. package/src/validation/__tests__/index.test.ts +0 -8
  554. package/src/validation/__tests__/validator.test.ts +0 -107
  555. package/src/validation/creditCard.ts +0 -25
  556. package/src/validation/emails.ts +0 -5
  557. package/src/validation/helpers.ts +0 -47
  558. package/src/validation/index.ts +0 -9
  559. package/src/validation/types.ts +0 -18
  560. package/src/validation/validators.ts +0 -55
  561. package/src/validation/wrappers.ts +0 -26
  562. package/tsconfig.build.json +0 -10
  563. package/tsconfig.json +0 -32
  564. package/yarn-error.log +0 -3709
  565. package/yarn.lock +0 -3446
@@ -1,206 +0,0 @@
1
- import { faker } from '@faker-js/faker';
2
- import logger, { batchLoggers, createLogger, getMode, ILogger, setMode } from '..';
3
- import fc from 'fast-check';
4
- import { toArbitrary } from '../../__tests__/helpers/main';
5
- import { Getter } from '../../types';
6
-
7
- const CONSOLE = console;
8
-
9
- describe('#logger-tests', () => {
10
-
11
- const customLogger = {
12
- log: jest.fn().mockImplementation(),
13
- warn: jest.fn().mockImplementation(),
14
- error: jest.fn().mockImplementation(),
15
- };
16
- const customLoggerGetter = () => customLogger;
17
-
18
- const consoleMocks: Record<keyof ILogger, jest.SpyInstance> = {
19
- log: jest.spyOn(CONSOLE, 'log').mockImplementation(),
20
- warn: jest.spyOn(CONSOLE, 'warn').mockImplementation(),
21
- error: jest.spyOn(CONSOLE, 'error').mockImplementation(),
22
- } as const;
23
- const loggerMethods = Object.keys(consoleMocks) as (keyof ILogger)[];
24
-
25
- it('use logger without mode (default logger)', () => {
26
- const _textToLog: fc.Arbitrary<string> = toArbitrary(() => faker.internet.url());
27
- let iteration = 0;
28
-
29
- fc.assert(
30
- fc.property(_textToLog, (textToLog) => {
31
- const methodName = loggerMethods[iteration];
32
- logger[methodName](textToLog);
33
-
34
- expect(getMode()).toBe(false);
35
- expect(consoleMocks[methodName]).not.toHaveBeenCalled();
36
-
37
- ++iteration;
38
- }), {
39
- numRuns: loggerMethods.length,
40
- });
41
- });
42
-
43
- it('use logger with runtime mode disabling', () => {
44
- const _textToLog: fc.Arbitrary<string> = toArbitrary(() => faker.random.word());
45
-
46
- let iteration = 0;
47
- fc.assert(
48
- fc.property(_textToLog, (textToLog) => {
49
- // set mode before or after creating a new logger
50
-
51
- if (iteration % 2 === 0) { setMode('console'); setMode(customLoggerGetter); setMode(false); }
52
- const logger = createLogger(faker.random.word());
53
- if (iteration % 2 === 1) { setMode('console'); setMode(customLoggerGetter); setMode(false); }
54
-
55
- const methodName = loggerMethods[iteration % 3];
56
- logger[methodName](textToLog);
57
-
58
- expect(getMode()).toBe(false);
59
- expect(consoleMocks[methodName]).not.toHaveBeenCalled();
60
- ++iteration;
61
- }), {
62
- numRuns: loggerMethods.length * 2,
63
- });
64
- });
65
-
66
- it('use logger with \'null\' mode', () => {
67
- const _textToLog: fc.Arbitrary<string> = toArbitrary(() => faker.internet.url());
68
-
69
- let iteration = 0;
70
- fc.assert(
71
- fc.property(_textToLog, (textToLog) => {
72
- if (iteration % 2 === 0) setMode(null);
73
- const logger = createLogger(faker.random.word());
74
- if (iteration % 2 === 1) setMode(null);
75
-
76
- const methodName = loggerMethods[iteration % 3];
77
- logger[methodName](textToLog);
78
-
79
- const spyLogger = jest.spyOn(CONSOLE, methodName);
80
-
81
- expect(getMode()).toBeNull();
82
- expect(spyLogger).not.toHaveBeenCalled();
83
- ++iteration;
84
- }), {
85
- numRuns: loggerMethods.length * 2,
86
- });
87
- });
88
-
89
- it('use logger with \'console\' mode', () => {
90
- const loggerName = `[${faker.random.word()}]`;
91
- const _textToLog: fc.Arbitrary<string> = toArbitrary(() => faker.random.word());
92
-
93
- let iteration = 0;
94
- fc.assert(
95
- fc.property(_textToLog, (textToLog) => {
96
-
97
- if (iteration % 2 === 0) setMode('console');
98
- const logger = createLogger(loggerName);
99
- if (iteration % 2 === 1) setMode('console');
100
- const methodName = loggerMethods[iteration % 3];
101
- logger[methodName](textToLog);
102
-
103
- expect(getMode()).toBe('console');
104
- expect(consoleMocks[methodName]).toHaveBeenCalledWith(loggerName, textToLog);
105
- consoleMocks[methodName].mockClear();
106
-
107
- ++iteration;
108
- }), {
109
- numRuns: loggerMethods.length * 2,
110
- });
111
- });
112
-
113
- it('use logger with custom mode', () => {
114
- const loggerName = `[${faker.random.word()}]`;
115
- const _textToLog: fc.Arbitrary<string> = toArbitrary(() => faker.random.word());
116
-
117
- let iteration = 0;
118
- fc.assert(
119
- fc.property(_textToLog, (textToLog) => {
120
- if (iteration % 2 === 0) setMode(customLoggerGetter);
121
- const logger = createLogger(loggerName);
122
- if (iteration % 2 === 1) setMode(customLoggerGetter);
123
-
124
- const methodName = loggerMethods[iteration % 3];
125
- logger[methodName](textToLog);
126
-
127
- const impl = customLogger[methodName];
128
-
129
- expect(getMode()).toBe(customLoggerGetter);
130
- expect(impl).toHaveBeenCalledWith(loggerName, textToLog);
131
- impl.mockClear();
132
- ++iteration;
133
- }), {
134
- numRuns: loggerMethods.length * 2,
135
- });
136
- });
137
-
138
- it('use logger with override mode #override', () => {
139
-
140
- const loggerName = `[${faker.random.word()}]`;
141
- const _textToLog: fc.Arbitrary<string> = toArbitrary(() => faker.random.word());
142
-
143
- expect(Getter.getValue(customLoggerGetter as Getter<ILogger>)).toBe(customLogger);
144
-
145
- setMode('console');
146
-
147
- let iteration = 0;
148
- fc.assert(
149
- fc.property(_textToLog, (textToLog) => {
150
- const loggerDisabled = createLogger(loggerName, false);
151
- const loggerCustom = createLogger(loggerName, customLoggerGetter);
152
-
153
- const methodName = loggerMethods[iteration % 3];
154
- loggerDisabled[methodName](textToLog);
155
- expect(consoleMocks[methodName]).not.toHaveBeenCalled();
156
-
157
- loggerCustom[methodName](textToLog);
158
-
159
- expect(consoleMocks[methodName]).not.toHaveBeenCalled();
160
-
161
- const impl = customLogger[methodName];
162
- expect(impl).toHaveBeenCalledWith(loggerName, textToLog);
163
- impl.mockClear();
164
-
165
- ++iteration;
166
- }), {
167
- numRuns: loggerMethods.length,
168
- });
169
-
170
- expect(getMode()).toBe('console');
171
-
172
- });
173
-
174
- it('batches loggers', () => {
175
-
176
- const loggerName = `[${faker.random.word()}]`;
177
- const _textToLog: fc.Arbitrary<string> = toArbitrary(() => faker.random.word());
178
-
179
- setMode(false);
180
-
181
- let iteration = 0;
182
- fc.assert(
183
- fc.property(_textToLog, (textToLog) => {
184
- const logger = batchLoggers(
185
- createLogger(loggerName, 'console'),
186
- createLogger(loggerName, customLoggerGetter),
187
- );
188
-
189
- const methodName = loggerMethods[iteration % 3];
190
- logger[methodName](textToLog);
191
-
192
- expect(consoleMocks[methodName]).toHaveBeenCalledWith(loggerName, textToLog);
193
- const impl = customLogger[methodName];
194
- expect(impl).toHaveBeenCalledWith(loggerName, textToLog);
195
- impl.mockClear();
196
-
197
- ++iteration;
198
- }), {
199
- numRuns: loggerMethods.length,
200
- });
201
-
202
- expect(getMode()).toBe(false);
203
-
204
- });
205
-
206
- });
@@ -1,13 +0,0 @@
1
-
2
- export type LoggerFunction = (...args: any[]) => void;
3
-
4
- export interface ILogger {
5
- log: LoggerFunction;
6
- warn: LoggerFunction;
7
- error: LoggerFunction;
8
- }
9
-
10
- export interface ILoggerSwitchable {
11
- enable(): void;
12
- disable(): void;
13
- }
@@ -1,9 +0,0 @@
1
- import { ILogger } from './abstractions';
2
-
3
- export function batchLoggers(...loggers: ILogger[]): ILogger {
4
- return {
5
- log: (...args) => loggers.forEach(l => l.log(...args)),
6
- warn: (...args) => loggers.forEach(l => l.warn(...args)),
7
- error: (...args) => loggers.forEach(l => l.error(...args)),
8
- };
9
- }
@@ -1,52 +0,0 @@
1
- import { ILogger } from './abstractions';
2
- import { NamedLogger } from './named';
3
-
4
- export const CONSOLE: ILogger = console;
5
-
6
- export class ConsoleLogger extends NamedLogger {
7
- protected get implementation() { return CONSOLE; }
8
- }
9
-
10
- export class BufferedConsoleLogger implements ILogger {
11
- private readonly _name: string = null;
12
- private readonly _logs: string[] = [];
13
- private _level = 1;
14
-
15
- private _log = CONSOLE.log;
16
-
17
- constructor(name: string) {
18
- this._name = name || '';
19
- }
20
-
21
- log(...args: any[]) {
22
- this._logs.push('\t--->', ...args);
23
- }
24
-
25
- warn(...args: any[]) {
26
- this._logs.push('\t---> [WARN]', ...args);
27
- this._raiseLevel(2);
28
- }
29
-
30
- error(...args: any[]) {
31
- this._logs.push('\t---> [ERROR]', ...args);
32
- this._raiseLevel(3);
33
- }
34
-
35
- flush() {
36
- if (this._logs.length > 0) {
37
- this._log(this._name, ...this._logs);
38
- this._logs.length = 0;
39
- }
40
- }
41
-
42
- private _raiseLevel(l: number) {
43
- if (l > this._level) {
44
- this._level = l;
45
- if (l >= 3) {
46
- this._log = CONSOLE.error;
47
- } else if (l >= 2) {
48
- this._log = CONSOLE.warn;
49
- }
50
- }
51
- }
52
- }
@@ -1,66 +0,0 @@
1
-
2
- /* eslint-disable no-console */
3
- import * as Path from 'path';
4
- import * as FS from 'fs';
5
- import * as Util from 'util';
6
-
7
- import { ILogger } from './abstractions';
8
-
9
- export class FileLoggerNode implements ILogger {
10
- private readonly _buffer: string[] = [];
11
- private _logFilePath: string = null;
12
-
13
- constructor(readonly extraLogger: ILogger = console, readonly instantFlush = false) {
14
- this.setLogName('');
15
- }
16
-
17
- setLogFilePath(path: string) {
18
- this._logFilePath = path;
19
- return this;
20
- }
21
-
22
- setLogName(name: string) {
23
- const n = name ? `-${name}` : '';
24
- this._logFilePath = Path.resolve(__dirname, `../run${n}.${new Date().toISOString()}.log`);
25
- return this;
26
- }
27
-
28
- private append(..._args: any[]) {
29
- // @ts-ignore
30
- const str = Util.format.apply(null, arguments) + '\n';
31
- this._buffer.push(str);
32
-
33
- if (this.instantFlush) {
34
- this.flush();
35
- }
36
- }
37
-
38
- log = (...args: any[]) => {
39
- this.extraLogger?.log(...args);
40
- this.append(...args);
41
- };
42
-
43
- warn = (...args: any[]) => {
44
- this.extraLogger?.warn(...args);
45
- this.append(...args);
46
- };
47
-
48
- error = (...args: any[]) => {
49
- this.extraLogger?.error(...args);
50
- this.append(...args);
51
- };
52
-
53
- flush() {
54
- if (!this._buffer.length) {
55
- return;
56
- }
57
-
58
- try {
59
- FS.appendFileSync(this._logFilePath, this._buffer.join(''));
60
- } catch (err) {
61
- console.warn('Failed to flush file, error', err);
62
- } finally {
63
- this._buffer.length = 0;
64
- }
65
- }
66
- }
@@ -1,71 +0,0 @@
1
- import { Getter } from '../types';
2
- import { ILogger, LoggerFunction } from './abstractions';
3
- import { CONSOLE, ConsoleLogger } from './console';
4
- import { ProxyLogger } from './proxy';
5
- import { batchLoggers } from './batch';
6
- import { removeItem } from '../math';
7
-
8
- export { NamedLogger } from './named';
9
- export { ILogger, LoggerFunction, ConsoleLogger, batchLoggers };
10
-
11
- // TBD Introduce more logger types ?
12
- export type LoggerTypes = 'console';
13
-
14
- let Mode: LoggerTypes | false | Getter<ILogger> = false;
15
-
16
- const proxies: ProxyLogger[] = [];
17
-
18
- export function createLogger(name: string, mode: typeof Mode = undefined): ILogger {
19
- const result = _createImplementation(mode);
20
- const proxy = new ProxyLogger(result, name);
21
- proxies.push(proxy);
22
- return proxy;
23
- }
24
-
25
- export function detachLogger(instance: ILogger, terminate = false) {
26
- const item = removeItem(proxies, instance as ProxyLogger);
27
- if (item) {
28
- if (terminate) {
29
- item.disable();
30
- }
31
- return true;
32
- }
33
- return false;
34
- }
35
-
36
- export function setMode(mode: typeof Mode) {
37
- if (Mode === mode) {
38
- return;
39
- }
40
-
41
- Mode = mode;
42
-
43
- if (!Mode) {
44
- proxies.forEach(l => l.disable());
45
- } else {
46
- proxies.forEach(l => l.setLogger(_createImplementation()));
47
- }
48
- }
49
-
50
- export function getMode() { return Mode; }
51
-
52
- const logger: ILogger = createLogger(null, false);
53
-
54
- export default logger;
55
-
56
- function _createImplementation(overrideMode: typeof Mode = undefined): ILogger {
57
- const mode = overrideMode !== undefined ? overrideMode : Mode;
58
- switch (mode) {
59
- case 'console': {
60
- return CONSOLE;
61
- }
62
-
63
- case false: {
64
- return null;
65
- }
66
-
67
- default: {
68
- return Getter.getValue(mode as Getter<ILogger>);
69
- }
70
- }
71
- }
@@ -1,47 +0,0 @@
1
- import { ILogger, ILoggerSwitchable, LoggerFunction } from './abstractions';
2
-
3
- export const EMPTY_FUNCTION = () => { /* no-op */ };
4
-
5
- export abstract class NamedLogger implements ILogger, ILoggerSwitchable {
6
- public log: LoggerFunction = null;
7
- public warn: LoggerFunction = null;
8
- public error: LoggerFunction = null;
9
-
10
- private _name: string = null;
11
-
12
- get name() { return this._name; }
13
-
14
- protected abstract get implementation(): ILogger;
15
-
16
- constructor(name?: string, enabled = true) {
17
- this._name = name;
18
-
19
- if (enabled) {
20
- this.enable();
21
- } else {
22
- this.disable();
23
- }
24
- }
25
-
26
- enable(overrideName = null) {
27
- this._name = overrideName || this._name;
28
-
29
- this.log = this._name
30
- ? (...args) => this.implementation.log(this._name, ...args)
31
- : this.implementation.log;
32
-
33
- this.warn = this._name
34
- ? (...args) => this.implementation.warn(this._name, ...args)
35
- : this.implementation.warn;
36
-
37
- this.error = this._name
38
- ? (...args) => this.implementation.error(this._name, ...args)
39
- : this.implementation.error;
40
- }
41
-
42
- disable() {
43
- this.log = EMPTY_FUNCTION;
44
- this.warn = EMPTY_FUNCTION;
45
- this.error = EMPTY_FUNCTION;
46
- }
47
- }
@@ -1,29 +0,0 @@
1
- import { ILogger } from './abstractions';
2
- import { EMPTY_FUNCTION, NamedLogger } from './named';
3
-
4
- export const EMPTY_LOGGER: ILogger = {
5
- log: EMPTY_FUNCTION,
6
- warn: EMPTY_FUNCTION,
7
- error: EMPTY_FUNCTION,
8
- };
9
-
10
- export class ProxyLogger extends NamedLogger {
11
-
12
- protected get implementation() { return this._logger || EMPTY_LOGGER; }
13
-
14
- private _logger: ILogger = null;
15
-
16
- constructor(logger: ILogger, name: string) {
17
- super(name, logger != null);
18
- this._logger = logger;
19
- }
20
-
21
- public setLogger(logger: ILogger) {
22
- this._logger = logger || null;
23
- if (this._logger) {
24
- this.enable();
25
- } else {
26
- this.disable();
27
- }
28
- }
29
- }
@@ -1,196 +0,0 @@
1
- import * as arrays from '../arrays';
2
-
3
- describe('math/arrays', () => {
4
- it('arrayCompareG', () => {
5
- expect(arrays.arrayCompareG<any>(null, null)).toBeNull();
6
- expect(arrays.arrayCompareG<any>([], null)).toBeNull();
7
-
8
- type T = { a: number };
9
- const tArr: T[] = [ { a: 1 }, { a: 2 }, { a: 3 } ];
10
- expect(arrays.arrayCompareG<T>(tArr, (t, p) => !p || t.a > p.a))
11
- .toEqual({ a: 3 });
12
- });
13
-
14
- it('arrayCompare', () => {
15
- expect(arrays.arrayCompare(null, false, null)).toBeNull();
16
- expect(arrays.arrayCompare([], false, null)).toBeNull();
17
-
18
- expect(() => arrays.arrayCompare([1, 2, 3], false, null)).toThrow();
19
-
20
- expect(arrays.arrayCompare([1, 2, 3], false, (i, t) => i > t)).toBe(3);
21
- expect(arrays.arrayCompare([1, 2, 3], false, (i, t) => i < t)).toBe(1);
22
-
23
- expect(arrays.arrayCompare([-1, 2, -3], true, (i, t) => i > t)).toBe(3);
24
- expect(arrays.arrayCompare([-1, 2, -3], true, (i, t) => i < t)).toEqual(-1);
25
- });
26
-
27
- it('arrayMax', () => {
28
- expect(arrays.arrayMax([], false)).toBeNull();
29
- expect(arrays.arrayMax([1, 2, 3], false)).toBe(3);
30
- expect(arrays.arrayMax([-1, 2, -3], true)).toBe(3);
31
- });
32
-
33
- it('arrayMin', () => {
34
- expect(arrays.arrayMin([], false)).toBeNull();
35
- expect(arrays.arrayMin([1, 2, 3], false)).toBe(1);
36
- expect(arrays.arrayMin([-1, 2, -3], true)).toEqual(-1);
37
- });
38
-
39
- it('arrayAverage', () => {
40
- expect(arrays.arrayAverage(null)).toBe(0);
41
- expect(arrays.arrayAverage([])).toBe(0);
42
- expect(arrays.arrayAverage([1, 2, 3])).toBe(2);
43
- expect(arrays.arrayAverage([-2, 2, -3])).toEqual(-1);
44
- expect(arrays.arrayAverage([-1, 2, -3], true)).toBe(2);
45
- });
46
-
47
- it('arrayCount', () => {
48
- expect(arrays.arrayCount(null, null)).toBe(0);
49
- expect(arrays.arrayCount([], null)).toBe(0);
50
-
51
- expect(() => arrays.arrayCount([1, 2, 3], null)).toThrow();
52
- expect(arrays.arrayCount([1, 2, 3], i => i >= 2)).toBe(2);
53
-
54
- type T = { a: number };
55
- const tArr: T[] = [ { a: 1 }, { a: 2 }, { a: 3 } ];
56
- expect(arrays.arrayCount(tArr, i => i.a >= 2)).toBe(2);
57
- });
58
-
59
- it('arrayFirstResult', () => {
60
- expect(arrays.arrayFirstResult(null, null)).toBeFalsy();
61
- expect(arrays.arrayFirstResult([], null)).toBeFalsy();
62
-
63
- expect(() => arrays.arrayFirstResult([1, 2, 3], null)).toThrow();
64
- expect(arrays.arrayFirstResult([1, 2, 3], i => i == 2 ? 'pass' : false)).toBe('pass');
65
- });
66
-
67
- it('arraysCompare', () => {
68
- expect(arrays.arraysCompare(null, null)).toBeNull();
69
- expect(arrays.arraysCompare([], null)).toBeNull();
70
-
71
- const result = (missing, extra, diff) => ({ missing, extra, diff });
72
-
73
- expect(arrays.arraysCompare([], [])).toStrictEqual(result([], [], 0));
74
- expect(arrays.arraysCompare([1], [])).toStrictEqual(result([1], [], 1));
75
- expect(arrays.arraysCompare([1, 2], [1])).toStrictEqual(result([2], [], 1));
76
- expect(arrays.arraysCompare([1], [1])).toStrictEqual(result([], [], 0));
77
- expect(arrays.arraysCompare([], [1])).toStrictEqual(result([], [1], 1));
78
- expect(arrays.arraysCompare([1, 2, 3], [3, 2, 1])).toStrictEqual(result([1, 3], [], 2));
79
- });
80
-
81
- it('arraysCompareDistinct', () => {
82
- expect(arrays.arraysCompareDistinct(null, null)).toBeNull();
83
- expect(arrays.arraysCompareDistinct([], null)).toBeNull();
84
-
85
- const result = (missing, extra, diff) => ({ missing, extra, diff });
86
-
87
- expect(arrays.arraysCompareDistinct([], [])).toStrictEqual(result([], [], 0));
88
- expect(arrays.arraysCompareDistinct([1], [])).toStrictEqual(result([1], [], 1));
89
- expect(arrays.arraysCompareDistinct([1, 2], [1])).toStrictEqual(result([2], [], 1));
90
- expect(arrays.arraysCompareDistinct([1], [1])).toStrictEqual(result([], [], 0));
91
- expect(arrays.arraysCompareDistinct([], [1])).toStrictEqual(result([], [1], 1));
92
- expect(arrays.arraysCompareDistinct([1, 2], [2, 1, 1])).toStrictEqual(result([], [], 0));
93
- expect(arrays.arraysCompareDistinct([1, 2, 3], [3, 2, 1])).toStrictEqual(result([], [], 0));
94
- });
95
-
96
- it('arrayDistinct', () => {
97
- expect(arrays.arrayDistinct(null)).toStrictEqual([]);
98
- expect(arrays.arrayDistinct([])).toStrictEqual([]);
99
- expect(arrays.arrayDistinct([1])).toStrictEqual([1]);
100
- expect(arrays.arrayDistinct([1, 2, 3])).toStrictEqual([1, 2, 3]);
101
- expect(arrays.arrayDistinct([1, '2', 3])).toStrictEqual([1, '2', 3]);
102
- expect(arrays.arrayDistinct([1, 1, 1])).toStrictEqual([1]);
103
- expect(arrays.arrayDistinct(['1', '1', '1'])).toStrictEqual(['1']);
104
- });
105
-
106
- it('normalize', () => {
107
- expect(arrays.normalize([])).toHaveLength(0);
108
-
109
- expect(arrays.normalize([10, 10])).toEqual([1, 1]);
110
- expect(arrays.normalize([1, 2, 3])).toEqual([0, 0.5, 1]);
111
- });
112
-
113
- it('randomArrayItem', () => {
114
- expect(() => arrays.randomArrayItem(null)).toThrow();
115
- expect(arrays.randomArrayItem([])).toBeNull();
116
-
117
- expect(arrays.randomArrayItem([1])).toBe(1);
118
- expect([1, 2, 3]).toContain(arrays.randomArrayItem([1, 2, 3]));
119
-
120
- const arr1 = [1, 2, 3], arr2 = arr1.slice();
121
- arrays.arraySwap(arr2, 0, 2);
122
- expect(arr2[0]).toEqual(arr1[2]);
123
- expect(arr2[2]).toEqual(arr1[0]);
124
- });
125
-
126
- it('shuffle', () => {
127
- expect(arrays.shuffle(null)).toStrictEqual([]);
128
- expect(arrays.shuffle(null, true)).toStrictEqual([]);
129
-
130
- const arr1 = [1, 2, 3], arr2 = arr1.slice();
131
- arrays.shuffle(arr2);
132
- arrays.shuffle(arr2, true);
133
- expect(arr2).toHaveLength(arr1.length);
134
- arr2.forEach(i => {
135
- expect(arr1).toContain(i);
136
- });
137
- });
138
-
139
- it('groupBy', () => {
140
- expect(() => arrays.groupBy(null, null)).toThrow();
141
-
142
- type T = { a: number };
143
- const tArr: T[] = [ { a: 1 }, { a: 2 }, { a: 2 }, { a: 3 } ];
144
- const result = arrays.groupBy(tArr, i => i.a);
145
- expect(result).toBeTruthy();
146
-
147
- expect(result[1]).toHaveLength(1);
148
- expect(result[1][0]).toEqual({ a: 1 });
149
-
150
- expect(result[2]).toHaveLength(2);
151
- expect(result[2][0]).toEqual({ a: 2 });
152
-
153
- expect(result[3]).toHaveLength(1);
154
- expect(result[3][0]).toEqual({ a: 3 });
155
- });
156
-
157
- it('groupOneBy', () => {
158
- expect(() => arrays.groupOneBy(null, null)).toThrow();
159
-
160
- const result = arrays.groupOneBy([ { a: 1 }, { a: 2 }, { a: 2 }, { a: 3 } ], i => i.a);
161
- expect(result).toBeTruthy();
162
-
163
- expect(result[1]).toEqual({ a: 1 });
164
- expect(result[2]).toEqual({ a: 2 });
165
- expect(result[3]).toEqual({ a: 3 });
166
- });
167
-
168
- it('arraySplit', () => {
169
- expect(() => arrays.arraySplit(null, null)).toThrow();
170
-
171
- const result = arrays.arraySplit([ { a: 1 }, { a: 2 }, { a: 2 }, { a: 3 } ], i => i.a >= 2);
172
- expect(result).toBeTruthy();
173
-
174
- expect(result[0]).toHaveLength(3);
175
- expect(result[1]).toHaveLength(1);
176
- });
177
-
178
- it('findIndexLeast', () => {
179
- expect(() => arrays.findIndexLeast(0, null)).toThrow();
180
-
181
- expect(arrays.findIndexLeast(2, [3, 2, 1])).toBe(0);
182
- expect(arrays.findIndexLeast(2, [3, 2, 1], true)).toBe(2);
183
- expect(arrays.findIndexLeast(2, [1, 2, 3])).toBe(2);
184
- });
185
-
186
- it('removeItem', () => {
187
- const check = (input: any[], remove: any, output: any[]) => {
188
- arrays.removeItem(input, remove);
189
- expect(input).toStrictEqual(output);
190
- };
191
-
192
- check([1, 2, 3], 1, [2, 3]);
193
- check([1, 2, 3], item => item === 1, [2, 3]);
194
- check([1, 2, 3], '1', [1, 2, 3]);
195
- });
196
- });