@zajno/common 1.6.3 → 2.0.0-beta.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 (433) hide show
  1. package/.eslintrc.js +1 -1
  2. package/README.md +6 -1
  3. package/coverage/clover.xml +344 -1066
  4. package/coverage/coverage-final.json +31 -45
  5. package/coverage/lcov-report/__tests__/helpers/expect.ts.html +1 -1
  6. package/coverage/lcov-report/__tests__/helpers/index.html +1 -1
  7. package/coverage/lcov-report/__tests__/helpers/main.ts.html +1 -1
  8. package/coverage/lcov-report/async/arrays.ts.html +1 -1
  9. package/coverage/lcov-report/async/index.html +36 -21
  10. package/coverage/lcov-report/async/timeout.ts.html +59 -59
  11. package/coverage/lcov-report/dates/calc.ts.html +1 -1
  12. package/coverage/lcov-report/dates/convert.ts.html +1 -1
  13. package/coverage/lcov-report/dates/datex.ts.html +1 -1
  14. package/coverage/lcov-report/dates/format.ts.html +1 -1
  15. package/coverage/lcov-report/dates/index.html +1 -1
  16. package/coverage/lcov-report/dates/index.ts.html +1 -1
  17. package/coverage/lcov-report/dates/parse.ts.html +1 -1
  18. package/coverage/lcov-report/dates/period.ts.html +1 -1
  19. package/coverage/lcov-report/dates/shift.ts.html +1 -1
  20. package/coverage/lcov-report/dates/types.ts.html +1 -1
  21. package/coverage/lcov-report/dates/yearDate.ts.html +1 -1
  22. package/coverage/lcov-report/fields/index.html +1 -1
  23. package/coverage/lcov-report/fields/update.ts.html +1 -1
  24. package/coverage/lcov-report/functions/index.html +17 -17
  25. package/coverage/lcov-report/functions/safeCall.ts.html +13 -13
  26. package/coverage/lcov-report/index.html +119 -74
  27. package/coverage/lcov-report/lazy/index.html +1 -1
  28. package/coverage/lcov-report/lazy/promise.ts.html +1 -1
  29. package/coverage/lcov-report/lazy/singleton.ts.html +1 -1
  30. package/coverage/lcov-report/logger/batch.ts.html +1 -1
  31. package/coverage/lcov-report/logger/console.ts.html +1 -1
  32. package/coverage/lcov-report/logger/index.html +1 -1
  33. package/coverage/lcov-report/logger/index.ts.html +1 -1
  34. package/coverage/lcov-report/logger/named.ts.html +1 -1
  35. package/coverage/lcov-report/logger/proxy.ts.html +1 -1
  36. package/coverage/lcov-report/math/arrays.ts.html +1 -1
  37. package/coverage/lcov-report/math/calc.ts.html +1 -1
  38. package/coverage/lcov-report/math/distribution.ts.html +1 -1
  39. package/coverage/lcov-report/math/index.html +1 -1
  40. package/coverage/lcov-report/math/index.ts.html +1 -1
  41. package/coverage/lcov-report/observing/event.ts.html +1 -1
  42. package/coverage/lcov-report/observing/index.html +1 -1
  43. package/coverage/lcov-report/structures/helpers/enum.ts.html +1 -1
  44. package/coverage/lcov-report/structures/helpers/index.html +1 -1
  45. package/coverage/lcov-report/structures/index.html +1 -1
  46. package/coverage/lcov-report/structures/queue/index.html +24 -9
  47. package/coverage/lcov-report/structures/queue/parallel.ts.html +1 -1
  48. package/coverage/lcov-report/structures/queue/tasks.ts.html +358 -0
  49. package/coverage/lcov-report/structures/tempoCache.ts.html +1 -1
  50. package/coverage/lcov-report/types/comparator.ts.html +1 -1
  51. package/coverage/lcov-report/types/getter.ts.html +1 -1
  52. package/coverage/lcov-report/types/index.html +1 -1
  53. package/coverage/lcov-report/types/index.ts.html +1 -1
  54. package/coverage/lcov-report/validation/ValidationErrors.ts.html +1 -1
  55. package/coverage/lcov-report/validation/creditCard.ts.html +1 -1
  56. package/coverage/lcov-report/validation/helpers.ts.html +1 -1
  57. package/coverage/lcov-report/validation/index.html +1 -1
  58. package/coverage/lcov-report/validation/index.ts.html +1 -1
  59. package/coverage/lcov-report/validation/types.ts.html +1 -1
  60. package/coverage/lcov-report/validation/validators.ts.html +1 -1
  61. package/coverage/lcov-report/validation/wrappers.ts.html +1 -1
  62. package/coverage/lcov.info +863 -2381
  63. package/lib/fields/update.js +3 -3
  64. package/lib/fields/update.js.map +1 -1
  65. package/lib/{assert.d.ts → functions/assert.d.ts} +1 -1
  66. package/lib/functions/assert.d.ts.map +1 -0
  67. package/lib/{assert.js → functions/assert.js} +2 -2
  68. package/lib/functions/assert.js.map +1 -0
  69. package/lib/{disposer.d.ts → functions/disposer.d.ts} +0 -0
  70. package/lib/functions/disposer.d.ts.map +1 -0
  71. package/lib/{disposer.js → functions/disposer.js} +1 -1
  72. package/lib/functions/disposer.js.map +1 -0
  73. package/lib/functions/safeCall.d.ts +2 -0
  74. package/lib/functions/safeCall.d.ts.map +1 -0
  75. package/lib/{functions.js → functions/safeCall.js} +1 -1
  76. package/lib/functions/safeCall.js.map +1 -0
  77. package/lib/{throttle.d.ts → functions/throttle.d.ts} +0 -0
  78. package/lib/functions/throttle.d.ts.map +1 -0
  79. package/lib/{throttle.js → functions/throttle.js} +1 -1
  80. package/lib/functions/throttle.js.map +1 -0
  81. package/lib/lazy/light.d.ts +1 -1
  82. package/lib/lazy/light.d.ts.map +1 -1
  83. package/lib/lazy/promise.d.ts +1 -1
  84. package/lib/lazy/promise.d.ts.map +1 -1
  85. package/lib/lazy/singleton.d.ts +1 -1
  86. package/lib/lazy/singleton.d.ts.map +1 -1
  87. package/lib/math/arrays.d.ts +1 -0
  88. package/lib/math/arrays.d.ts.map +1 -1
  89. package/lib/math/arrays.js +13 -1
  90. package/lib/math/arrays.js.map +1 -1
  91. package/lib/{event.d.ts → observing/event.d.ts} +2 -3
  92. package/lib/observing/event.d.ts.map +1 -0
  93. package/lib/{event.js → observing/event.js} +2 -3
  94. package/lib/{event.js.map → observing/event.js.map} +1 -1
  95. package/lib/{throttledEvent.d.ts → observing/throttledEvent.d.ts} +0 -0
  96. package/lib/observing/throttledEvent.d.ts.map +1 -0
  97. package/lib/{throttledEvent.js → observing/throttledEvent.js} +1 -1
  98. package/lib/observing/throttledEvent.js.map +1 -0
  99. package/lib/{timer.d.ts → observing/timer.d.ts} +1 -1
  100. package/lib/observing/timer.d.ts.map +1 -0
  101. package/lib/{timer.js → observing/timer.js} +0 -0
  102. package/lib/observing/timer.js.map +1 -0
  103. package/lib/{abstractions/services/storage.d.ts → storage/abstractions.d.ts} +3 -2
  104. package/lib/storage/abstractions.d.ts.map +1 -0
  105. package/lib/{services/localization → storage}/abstractions.js +0 -0
  106. package/lib/storage/abstractions.js.map +1 -0
  107. package/lib/storage/asyncWrapper.d.ts +10 -0
  108. package/lib/storage/asyncWrapper.d.ts.map +1 -0
  109. package/lib/storage/asyncWrapper.js +24 -0
  110. package/lib/storage/asyncWrapper.js.map +1 -0
  111. package/lib/storage/index.d.ts +2 -0
  112. package/lib/storage/index.d.ts.map +1 -0
  113. package/lib/storage/index.js +5 -0
  114. package/lib/storage/index.js.map +1 -0
  115. package/lib/{services/storage/index.d.ts → storage/keyStorage.d.ts} +2 -10
  116. package/lib/storage/keyStorage.d.ts.map +1 -0
  117. package/lib/{services/storage/index.js → storage/keyStorage.js} +2 -22
  118. package/lib/storage/keyStorage.js.map +1 -0
  119. package/lib/{enumHelper.d.ts → structures/helpers/enum.d.ts} +1 -1
  120. package/lib/structures/helpers/enum.d.ts.map +1 -0
  121. package/lib/{enumHelper.js → structures/helpers/enum.js} +1 -1
  122. package/lib/structures/helpers/enum.js.map +1 -0
  123. package/lib/{nameHelper.d.ts → structures/helpers/name.d.ts} +5 -5
  124. package/lib/structures/helpers/name.d.ts.map +1 -0
  125. package/lib/{nameHelper.js → structures/helpers/name.js} +7 -6
  126. package/lib/structures/helpers/name.js.map +1 -0
  127. package/lib/structures/linkedList.d.ts +39 -0
  128. package/lib/structures/linkedList.d.ts.map +1 -0
  129. package/lib/structures/linkedList.js +82 -0
  130. package/lib/structures/linkedList.js.map +1 -0
  131. package/lib/{pool.d.ts → structures/pool.d.ts} +1 -1
  132. package/lib/structures/pool.d.ts.map +1 -0
  133. package/lib/{pool.js → structures/pool.js} +2 -2
  134. package/lib/structures/pool.js.map +1 -0
  135. package/lib/{queue → structures/queue}/parallel.d.ts +3 -3
  136. package/lib/structures/queue/parallel.d.ts.map +1 -0
  137. package/lib/{queue → structures/queue}/parallel.js +2 -2
  138. package/lib/structures/queue/parallel.js.map +1 -0
  139. package/lib/{queue → structures/queue}/tasks.d.ts +1 -1
  140. package/lib/structures/queue/tasks.d.ts.map +1 -0
  141. package/lib/{queue → structures/queue}/tasks.js +0 -0
  142. package/lib/structures/queue/tasks.js.map +1 -0
  143. package/lib/{tempoCache.d.ts → structures/tempoCache.d.ts} +0 -0
  144. package/lib/structures/tempoCache.d.ts.map +1 -0
  145. package/lib/{tempoCache.js → structures/tempoCache.js} +0 -0
  146. package/lib/structures/tempoCache.js.map +1 -0
  147. package/lib/types/comparator.d.ts +5 -0
  148. package/lib/types/comparator.d.ts.map +1 -0
  149. package/lib/types/comparator.js +8 -0
  150. package/lib/types/comparator.js.map +1 -0
  151. package/lib/types/deep.d.ts +9 -0
  152. package/lib/types/deep.d.ts.map +1 -0
  153. package/lib/{viewModels/types.js → types/deep.js} +1 -1
  154. package/lib/types/deep.js.map +1 -0
  155. package/lib/types/functions.d.ts +7 -0
  156. package/lib/types/functions.d.ts.map +1 -0
  157. package/lib/{abstractions/services/storage.js → types/functions.js} +1 -1
  158. package/lib/types/functions.js.map +1 -0
  159. package/lib/types/getter.d.ts +5 -0
  160. package/lib/types/getter.d.ts.map +1 -0
  161. package/lib/{types.js → types/getter.js} +2 -6
  162. package/lib/types/getter.js.map +1 -0
  163. package/lib/{ident.d.ts → types/ident.d.ts} +0 -0
  164. package/lib/types/ident.d.ts.map +1 -0
  165. package/lib/{ident.js → types/ident.js} +0 -0
  166. package/lib/types/ident.js.map +1 -0
  167. package/lib/types/index.d.ts +8 -0
  168. package/lib/types/index.d.ts.map +1 -0
  169. package/lib/types/index.js +7 -0
  170. package/lib/types/index.js.map +1 -0
  171. package/lib/validation/ValidationErrors.d.ts +1 -1
  172. package/lib/validation/ValidationErrors.d.ts.map +1 -1
  173. package/lib/validation/ValidationErrors.js +2 -2
  174. package/lib/validation/ValidationErrors.js.map +1 -1
  175. package/lib/{emails.d.ts → validation/emails.d.ts} +0 -0
  176. package/lib/validation/emails.d.ts.map +1 -0
  177. package/lib/{emails.js → validation/emails.js} +0 -0
  178. package/lib/validation/emails.js.map +1 -0
  179. package/package.json +16 -16
  180. package/src/async/__tests__/timeout.test.ts +1 -1
  181. package/src/fields/update.ts +1 -1
  182. package/src/{assert.ts → functions/assert.ts} +2 -2
  183. package/src/{disposer.ts → functions/disposer.ts} +1 -1
  184. package/src/functions/safeCall.ts +6 -0
  185. package/src/{throttle.ts → functions/throttle.ts} +1 -1
  186. package/src/lazy/__tests__/lazy.test.ts +1 -48
  187. package/src/lazy/light.ts +1 -1
  188. package/src/lazy/promise.ts +1 -1
  189. package/src/lazy/singleton.ts +1 -1
  190. package/src/math/arrays.ts +13 -0
  191. package/src/{event.ts → observing/event.ts} +3 -4
  192. package/src/{throttledEvent.ts → observing/throttledEvent.ts} +1 -1
  193. package/src/{timer.ts → observing/timer.ts} +1 -1
  194. package/src/{abstractions/services/storage.ts → storage/abstractions.ts} +3 -1
  195. package/src/storage/asyncWrapper.ts +24 -0
  196. package/src/storage/index.ts +2 -0
  197. package/src/{services/storage/index.ts → storage/keyStorage.ts} +1 -24
  198. package/src/{__tests__ → structures/__tests__}/enumHelper.test.ts +1 -1
  199. package/src/{__tests__ → structures/__tests__}/tempoCache.test.ts +1 -1
  200. package/src/{enumHelper.ts → structures/helpers/enum.ts} +0 -0
  201. package/src/{nameHelper.ts → structures/helpers/name.ts} +4 -4
  202. package/src/structures/linkedList.ts +129 -0
  203. package/src/{pool.ts → structures/pool.ts} +2 -2
  204. package/src/{queue → structures/queue}/__tests__/parallel.test.ts +2 -2
  205. package/src/{queue → structures/queue}/__tests__/tasks.test.ts +2 -2
  206. package/src/{queue → structures/queue}/parallel.ts +2 -2
  207. package/src/{queue → structures/queue}/tasks.ts +1 -1
  208. package/src/{tempoCache.ts → structures/tempoCache.ts} +0 -0
  209. package/src/types/comparator.ts +6 -0
  210. package/src/types/deep.ts +18 -0
  211. package/src/types/functions.ts +8 -0
  212. package/src/types/getter.ts +14 -0
  213. package/src/{ident.ts → types/ident.ts} +0 -0
  214. package/src/types/index.ts +9 -0
  215. package/src/validation/ValidationErrors.ts +1 -1
  216. package/src/{emails.ts → validation/emails.ts} +0 -0
  217. package/tsconfig.build.json +10 -0
  218. package/tsconfig.json +0 -1
  219. package/yarn.lock +467 -370
  220. package/lib/abstractions/services/storage.d.ts.map +0 -1
  221. package/lib/abstractions/services/storage.js.map +0 -1
  222. package/lib/assert.d.ts.map +0 -1
  223. package/lib/assert.js.map +0 -1
  224. package/lib/cache.d.ts +0 -36
  225. package/lib/cache.d.ts.map +0 -1
  226. package/lib/cache.js +0 -165
  227. package/lib/cache.js.map +0 -1
  228. package/lib/deepPartial.d.ts +0 -4
  229. package/lib/deepPartial.d.ts.map +0 -1
  230. package/lib/deepPartial.js +0 -3
  231. package/lib/deepPartial.js.map +0 -1
  232. package/lib/disposer.d.ts.map +0 -1
  233. package/lib/disposer.js.map +0 -1
  234. package/lib/emails.d.ts.map +0 -1
  235. package/lib/emails.js.map +0 -1
  236. package/lib/enumHelper.d.ts.map +0 -1
  237. package/lib/enumHelper.js.map +0 -1
  238. package/lib/event.d.ts.map +0 -1
  239. package/lib/functions.d.ts +0 -9
  240. package/lib/functions.d.ts.map +0 -1
  241. package/lib/functions.js.map +0 -1
  242. package/lib/ident.d.ts.map +0 -1
  243. package/lib/ident.js.map +0 -1
  244. package/lib/lazy/index.d.ts +0 -10
  245. package/lib/lazy/index.d.ts.map +0 -1
  246. package/lib/lazy/index.js +0 -23
  247. package/lib/lazy/index.js.map +0 -1
  248. package/lib/lazy/observable.d.ts +0 -9
  249. package/lib/lazy/observable.d.ts.map +0 -1
  250. package/lib/lazy/observable.js +0 -31
  251. package/lib/lazy/observable.js.map +0 -1
  252. package/lib/lazy.light.d.ts +0 -2
  253. package/lib/lazy.light.d.ts.map +0 -1
  254. package/lib/lazy.light.js +0 -8
  255. package/lib/lazy.light.js.map +0 -1
  256. package/lib/nameHelper.d.ts.map +0 -1
  257. package/lib/nameHelper.js.map +0 -1
  258. package/lib/observersMap.d.ts +0 -22
  259. package/lib/observersMap.d.ts.map +0 -1
  260. package/lib/observersMap.js +0 -93
  261. package/lib/observersMap.js.map +0 -1
  262. package/lib/observingCache.d.ts +0 -32
  263. package/lib/observingCache.d.ts.map +0 -1
  264. package/lib/observingCache.js +0 -128
  265. package/lib/observingCache.js.map +0 -1
  266. package/lib/pool.d.ts.map +0 -1
  267. package/lib/pool.js.map +0 -1
  268. package/lib/queue/parallel.d.ts.map +0 -1
  269. package/lib/queue/parallel.js.map +0 -1
  270. package/lib/queue/tasks.d.ts.map +0 -1
  271. package/lib/queue/tasks.js.map +0 -1
  272. package/lib/services/localization/LocalaziedValidationErrors.d.ts +0 -9
  273. package/lib/services/localization/LocalaziedValidationErrors.d.ts.map +0 -1
  274. package/lib/services/localization/LocalaziedValidationErrors.js +0 -27
  275. package/lib/services/localization/LocalaziedValidationErrors.js.map +0 -1
  276. package/lib/services/localization/LocalizationManager.d.ts +0 -18
  277. package/lib/services/localization/LocalizationManager.d.ts.map +0 -1
  278. package/lib/services/localization/LocalizationManager.js +0 -58
  279. package/lib/services/localization/LocalizationManager.js.map +0 -1
  280. package/lib/services/localization/abstractions.d.ts +0 -12
  281. package/lib/services/localization/abstractions.d.ts.map +0 -1
  282. package/lib/services/localization/abstractions.js.map +0 -1
  283. package/lib/services/localization/defaultShape.d.ts +0 -26
  284. package/lib/services/localization/defaultShape.d.ts.map +0 -1
  285. package/lib/services/localization/defaultShape.js +0 -28
  286. package/lib/services/localization/defaultShape.js.map +0 -1
  287. package/lib/services/localization/index.d.ts +0 -5
  288. package/lib/services/localization/index.d.ts.map +0 -1
  289. package/lib/services/localization/index.js +0 -10
  290. package/lib/services/localization/index.js.map +0 -1
  291. package/lib/services/storage/index.d.ts.map +0 -1
  292. package/lib/services/storage/index.js.map +0 -1
  293. package/lib/services/storage/web/localStorage.d.ts +0 -13
  294. package/lib/services/storage/web/localStorage.d.ts.map +0 -1
  295. package/lib/services/storage/web/localStorage.js +0 -29
  296. package/lib/services/storage/web/localStorage.js.map +0 -1
  297. package/lib/services/storage/web/sessionStorage.d.ts +0 -13
  298. package/lib/services/storage/web/sessionStorage.d.ts.map +0 -1
  299. package/lib/services/storage/web/sessionStorage.js +0 -29
  300. package/lib/services/storage/web/sessionStorage.js.map +0 -1
  301. package/lib/services/storage/web/webStorage.d.ts +0 -9
  302. package/lib/services/storage/web/webStorage.d.ts.map +0 -1
  303. package/lib/services/storage/web/webStorage.js +0 -24
  304. package/lib/services/storage/web/webStorage.js.map +0 -1
  305. package/lib/tempoCache.d.ts.map +0 -1
  306. package/lib/tempoCache.js.map +0 -1
  307. package/lib/throttle.d.ts.map +0 -1
  308. package/lib/throttle.js.map +0 -1
  309. package/lib/throttledEvent.d.ts.map +0 -1
  310. package/lib/throttledEvent.js.map +0 -1
  311. package/lib/timeHelper.d.ts +0 -7
  312. package/lib/timeHelper.d.ts.map +0 -1
  313. package/lib/timeHelper.js +0 -37
  314. package/lib/timeHelper.js.map +0 -1
  315. package/lib/timer.d.ts.map +0 -1
  316. package/lib/timer.js.map +0 -1
  317. package/lib/transitionObserver.d.ts +0 -36
  318. package/lib/transitionObserver.d.ts.map +0 -1
  319. package/lib/transitionObserver.js +0 -153
  320. package/lib/transitionObserver.js.map +0 -1
  321. package/lib/types.d.ts +0 -17
  322. package/lib/types.d.ts.map +0 -1
  323. package/lib/types.js.map +0 -1
  324. package/lib/unsubscriber.d.ts +0 -2
  325. package/lib/unsubscriber.d.ts.map +0 -1
  326. package/lib/unsubscriber.js +0 -12
  327. package/lib/unsubscriber.js.map +0 -1
  328. package/lib/validation/ValidationErrorsLocalization.d.ts +0 -27
  329. package/lib/validation/ValidationErrorsLocalization.d.ts.map +0 -1
  330. package/lib/validation/ValidationErrorsLocalization.js +0 -26
  331. package/lib/validation/ValidationErrorsLocalization.js.map +0 -1
  332. package/lib/viewModels/CommonModel.d.ts +0 -13
  333. package/lib/viewModels/CommonModel.d.ts.map +0 -1
  334. package/lib/viewModels/CommonModel.js +0 -38
  335. package/lib/viewModels/CommonModel.js.map +0 -1
  336. package/lib/viewModels/FlagModel.d.ts +0 -22
  337. package/lib/viewModels/FlagModel.d.ts.map +0 -1
  338. package/lib/viewModels/FlagModel.js +0 -52
  339. package/lib/viewModels/FlagModel.js.map +0 -1
  340. package/lib/viewModels/InitializableModel.d.ts +0 -6
  341. package/lib/viewModels/InitializableModel.d.ts.map +0 -1
  342. package/lib/viewModels/InitializableModel.js +0 -23
  343. package/lib/viewModels/InitializableModel.js.map +0 -1
  344. package/lib/viewModels/LoadingModel.d.ts +0 -17
  345. package/lib/viewModels/LoadingModel.d.ts.map +0 -1
  346. package/lib/viewModels/LoadingModel.js +0 -42
  347. package/lib/viewModels/LoadingModel.js.map +0 -1
  348. package/lib/viewModels/MultiSelectModel.d.ts +0 -47
  349. package/lib/viewModels/MultiSelectModel.d.ts.map +0 -1
  350. package/lib/viewModels/MultiSelectModel.js +0 -144
  351. package/lib/viewModels/MultiSelectModel.js.map +0 -1
  352. package/lib/viewModels/NumberModel.d.ts +0 -19
  353. package/lib/viewModels/NumberModel.d.ts.map +0 -1
  354. package/lib/viewModels/NumberModel.js +0 -38
  355. package/lib/viewModels/NumberModel.js.map +0 -1
  356. package/lib/viewModels/PromptModal.d.ts +0 -31
  357. package/lib/viewModels/PromptModal.d.ts.map +0 -1
  358. package/lib/viewModels/PromptModal.js +0 -57
  359. package/lib/viewModels/PromptModal.js.map +0 -1
  360. package/lib/viewModels/SelectModel.d.ts +0 -35
  361. package/lib/viewModels/SelectModel.d.ts.map +0 -1
  362. package/lib/viewModels/SelectModel.js +0 -118
  363. package/lib/viewModels/SelectModel.js.map +0 -1
  364. package/lib/viewModels/TextModel.d.ts +0 -41
  365. package/lib/viewModels/TextModel.d.ts.map +0 -1
  366. package/lib/viewModels/TextModel.js +0 -98
  367. package/lib/viewModels/TextModel.js.map +0 -1
  368. package/lib/viewModels/Validatable.d.ts +0 -26
  369. package/lib/viewModels/Validatable.d.ts.map +0 -1
  370. package/lib/viewModels/Validatable.js +0 -81
  371. package/lib/viewModels/Validatable.js.map +0 -1
  372. package/lib/viewModels/ValueModel.d.ts +0 -12
  373. package/lib/viewModels/ValueModel.d.ts.map +0 -1
  374. package/lib/viewModels/ValueModel.js +0 -29
  375. package/lib/viewModels/ValueModel.js.map +0 -1
  376. package/lib/viewModels/ValuesCollector.d.ts +0 -26
  377. package/lib/viewModels/ValuesCollector.d.ts.map +0 -1
  378. package/lib/viewModels/ValuesCollector.js +0 -51
  379. package/lib/viewModels/ValuesCollector.js.map +0 -1
  380. package/lib/viewModels/index.d.ts +0 -12
  381. package/lib/viewModels/index.d.ts.map +0 -1
  382. package/lib/viewModels/index.js +0 -15
  383. package/lib/viewModels/index.js.map +0 -1
  384. package/lib/viewModels/types.d.ts +0 -19
  385. package/lib/viewModels/types.d.ts.map +0 -1
  386. package/lib/viewModels/types.js.map +0 -1
  387. package/lib/viewModels/wrappers.d.ts +0 -12
  388. package/lib/viewModels/wrappers.d.ts.map +0 -1
  389. package/lib/viewModels/wrappers.js +0 -43
  390. package/lib/viewModels/wrappers.js.map +0 -1
  391. package/src/__tests__/observingCache.test.ts +0 -127
  392. package/src/__tests__/transitionObserver.test.ts +0 -219
  393. package/src/cache.ts +0 -181
  394. package/src/deepPartial.ts +0 -4
  395. package/src/functions.ts +0 -14
  396. package/src/lazy/index.ts +0 -33
  397. package/src/lazy/observable.ts +0 -37
  398. package/src/lazy.light.ts +0 -8
  399. package/src/observersMap.ts +0 -105
  400. package/src/observingCache.ts +0 -160
  401. package/src/services/localization/LocalaziedValidationErrors.ts +0 -18
  402. package/src/services/localization/LocalizationManager.ts +0 -53
  403. package/src/services/localization/abstractions.ts +0 -16
  404. package/src/services/localization/defaultShape.ts +0 -26
  405. package/src/services/localization/index.ts +0 -6
  406. package/src/services/storage/web/localStorage.ts +0 -35
  407. package/src/services/storage/web/sessionStorage.ts +0 -35
  408. package/src/services/storage/web/webStorage.ts +0 -29
  409. package/src/timeHelper.ts +0 -39
  410. package/src/transitionObserver.ts +0 -183
  411. package/src/types.ts +0 -30
  412. package/src/unsubscriber.ts +0 -14
  413. package/src/validation/ValidationErrorsLocalization.ts +0 -27
  414. package/src/viewModels/CommonModel.ts +0 -45
  415. package/src/viewModels/FlagModel.ts +0 -70
  416. package/src/viewModels/InitializableModel.ts +0 -17
  417. package/src/viewModels/LoadingModel.ts +0 -52
  418. package/src/viewModels/MultiSelectModel.ts +0 -178
  419. package/src/viewModels/NumberModel.ts +0 -50
  420. package/src/viewModels/PromptModal.ts +0 -65
  421. package/src/viewModels/SelectModel.ts +0 -152
  422. package/src/viewModels/TextModel.ts +0 -127
  423. package/src/viewModels/Validatable.ts +0 -102
  424. package/src/viewModels/ValueModel.ts +0 -34
  425. package/src/viewModels/ValuesCollector.ts +0 -81
  426. package/src/viewModels/__tests__/common.test.ts +0 -107
  427. package/src/viewModels/__tests__/multiSelect.test.ts +0 -138
  428. package/src/viewModels/__tests__/select.test.ts +0 -71
  429. package/src/viewModels/__tests__/wrappers.test.ts +0 -79
  430. package/src/viewModels/index.ts +0 -15
  431. package/src/viewModels/types.ts +0 -23
  432. package/src/viewModels/wrappers.ts +0 -49
  433. package/tsconfig.eslint.json +0 -9
@@ -1,219 +0,0 @@
1
- import { observable, runInAction } from 'mobx';
2
- import { TransitionObserver } from '../transitionObserver';
3
-
4
- function createStore<T>(value: T) {
5
- const s = observable.object({
6
- value: value,
7
-
8
- setValue(v: T) {
9
- runInAction(() => s.value = v);
10
- },
11
- });
12
- return s;
13
- }
14
-
15
- describe('TransitionObserver', () => {
16
-
17
- it('constructs', () => {
18
- const store = createStore(true);
19
-
20
- let err = null;
21
- try {
22
- const to1 = new TransitionObserver();
23
- to1.observe(() => store.value);
24
- to1.from('asd');
25
- to1.to({});
26
- to1.cb(() => { /* no-op */ });
27
- to1.fireOnce();
28
- } catch (_err) {
29
- err = _err;
30
- }
31
-
32
- expect(err).toBeNull();
33
- });
34
-
35
- it('tracks only correct transition – 2 way', () => {
36
- const store = createStore<boolean>(true);
37
-
38
- const cb = jest.fn();
39
-
40
- new TransitionObserver(() => store.value)
41
- .from(true)
42
- .to(false)
43
- .cb(cb)
44
- .fireOnce();
45
-
46
- store.setValue(null);
47
-
48
- expect(cb).not.toHaveBeenCalled();
49
-
50
- store.setValue(false);
51
-
52
- expect(cb).not.toHaveBeenCalled();
53
-
54
- store.setValue(true);
55
-
56
- expect(cb).not.toHaveBeenCalled();
57
-
58
- store.setValue(false);
59
-
60
- expect(cb).toHaveBeenCalledWith(false);
61
- });
62
-
63
- it('tracks only correct transition – from', () => {
64
- const store = createStore<boolean>(true);
65
-
66
- const cb = jest.fn();
67
-
68
- const to = new TransitionObserver(() => store.value)
69
- .from(true)
70
- .cb(cb);
71
-
72
- store.setValue(null);
73
-
74
- expect(cb).toHaveBeenCalledWith(null);
75
- cb.mockReset();
76
-
77
- store.setValue(false);
78
-
79
- expect(cb).not.toHaveBeenCalled();
80
- cb.mockReset();
81
-
82
- store.setValue(true);
83
-
84
- expect(cb).not.toHaveBeenCalled();
85
- cb.mockReset();
86
-
87
- store.setValue(false);
88
-
89
- expect(cb).toHaveBeenCalledWith(false);
90
- cb.mockReset();
91
-
92
- to.dispose();
93
- });
94
-
95
- it('tracks only correct transition – to', () => {
96
- const store = createStore<boolean>(true);
97
-
98
- const cb = jest.fn();
99
-
100
- const to = new TransitionObserver(() => store.value)
101
- .to(false)
102
- .cb(cb);
103
-
104
- store.setValue(null);
105
-
106
- expect(to.currentValue).toBeNull();
107
- expect(cb).not.toHaveBeenCalled();
108
- cb.mockReset();
109
-
110
- store.setValue(false);
111
-
112
- expect(to.currentValue).toBeFalsy();
113
- expect(cb).toHaveBeenCalledWith(false);
114
- cb.mockReset();
115
-
116
- store.setValue(true);
117
-
118
- expect(to.currentValue).toBeTruthy();
119
- expect(cb).not.toHaveBeenCalled();
120
- cb.mockReset();
121
-
122
- store.setValue(false);
123
-
124
- expect(cb).toHaveBeenCalledWith(false);
125
- cb.mockReset();
126
-
127
- to.dispose();
128
- });
129
-
130
- it('tracks only correct transition – <any>', () => {
131
- const store = createStore<boolean>(true);
132
-
133
- const cb = jest.fn();
134
- const cbE = jest.fn();
135
-
136
- const to = new TransitionObserver(() => store.value)
137
- .cb(cb);
138
-
139
- to.event.on(cbE);
140
-
141
- store.setValue(null);
142
-
143
- expect(cbE).toHaveBeenCalledWith(null);
144
- expect(cb).toHaveBeenCalledWith(null);
145
- cbE.mockReset();
146
- cb.mockReset();
147
-
148
- to.forceCheck();
149
-
150
- expect(cbE).toHaveBeenCalledWith(null);
151
- expect(cb).toHaveBeenCalledWith(null);
152
- cbE.mockReset();
153
- cb.mockReset();
154
-
155
- to.forceCall();
156
-
157
- expect(cb).toHaveBeenCalledWith(null);
158
- cb.mockReset();
159
-
160
- store.setValue(false);
161
-
162
- expect(cbE).toHaveBeenCalledWith(false);
163
- expect(cb).toHaveBeenCalledWith(false);
164
- cbE.mockReset();
165
- cb.mockReset();
166
-
167
- store.setValue(true);
168
-
169
- expect(cbE).toHaveBeenCalledWith(true);
170
- expect(cb).toHaveBeenCalledWith(true);
171
- cbE.mockReset();
172
- cb.mockReset();
173
-
174
- to.dispose();
175
- store.setValue(false);
176
-
177
- expect(cbE).not.toHaveBeenCalled();
178
- expect(cb).not.toHaveBeenCalled();
179
- });
180
-
181
- it('promises 2 times', async () => {
182
-
183
- const store = createStore<boolean>(true);
184
- const cb = jest.fn();
185
-
186
- const to = new TransitionObserver(() => store.value)
187
- .to(false)
188
- .cb(cb);
189
-
190
- for (let i = 1; i <= 2; ++i) {
191
- store.setValue(true);
192
-
193
- const p = to.getPromise();
194
-
195
- store.setValue(false);
196
-
197
- await expect(p).resolves.toBe(false);
198
- expect(cb).not.toHaveBeenCalled();
199
- cb.mockReset();
200
- }
201
- });
202
-
203
- it('promising – aborting', async () => {
204
-
205
- const store = createStore<boolean>(true);
206
- const cb = jest.fn();
207
-
208
- const to = new TransitionObserver(() => store.value)
209
- .to(false)
210
- .cb(cb);
211
-
212
- const p = to.getPromise();
213
-
214
- to.dispose();
215
-
216
- await expect(p).rejects.toThrow(/Aborted/);
217
- expect(cb).not.toHaveBeenCalled();
218
- });
219
- });
package/src/cache.ts DELETED
@@ -1,181 +0,0 @@
1
- import { observable, makeObservable, runInAction, action } from 'mobx';
2
- import { NumberModel } from './viewModels/NumberModel';
3
- import { createLogger, ILogger } from './logger';
4
-
5
- export type DeferredGetter<T> = {
6
- readonly current: T;
7
- readonly promise: Promise<T>;
8
- readonly busy: boolean;
9
- };
10
-
11
- export namespace DeferredGetter {
12
- const _resolvedPromise = Promise.resolve<undefined>(undefined);
13
- export const Empty = {
14
- get current(): undefined { return undefined; },
15
- get promise(): Promise<undefined> { return _resolvedPromise; },
16
- get busy() { return undefined; },
17
- isEmpty: true,
18
- } as DeferredGetter<null>;
19
- }
20
-
21
- export class PromiseCache<T, K = string> {
22
-
23
- @observable.shallow
24
- private readonly _itemsCache: Record<string, T> = { };
25
-
26
- @observable
27
- private readonly _itemsStatus: Record<string, boolean> = { };
28
-
29
- private readonly _fetchCache: Record<string, Promise<T>> = { };
30
-
31
- private _logger: ILogger = null;
32
- private _observeItems = false;
33
-
34
- private readonly _busyCount = new NumberModel(0);
35
-
36
- constructor(
37
- readonly fetcher: (id: K) => Promise<T>,
38
- readonly keyAdapter?: K extends string ? null : (k: K) => string,
39
- readonly keyParser?: K extends string ? null : (id: string) => K,
40
- observeItems = false,
41
- ) {
42
- makeObservable(this);
43
- this._observeItems = observeItems;
44
- }
45
-
46
- public get busyCount() { return this._busyCount.value; }
47
-
48
- useObserveItems(observeItems: boolean) {
49
- this._observeItems = observeItems;
50
- return this;
51
- }
52
-
53
- private _pk(k: K): string {
54
- if (k == null) {
55
- throw new Error('PromiseCache: null keys are not supported');
56
- }
57
-
58
- if (typeof k === 'string') {
59
- return k;
60
- }
61
-
62
- if (!this.keyAdapter) {
63
- throw new Error('Provide key adapter for non-string keys');
64
- }
65
-
66
- return this.keyAdapter(k);
67
- }
68
-
69
- useLogger(name?: string) {
70
- this._logger = createLogger(`[PromiseCache:${name || '?'}]`);
71
- return this;
72
- }
73
-
74
- getDeferred(key: K): DeferredGetter<T> {
75
- const self = this;
76
- return {
77
- get current() { return self.getCurrent(key); },
78
- get promise() { return self.get(key); },
79
- get busy() { return self.getIsBusy(key); },
80
- };
81
- }
82
-
83
- getIsBusy(id: K): boolean {
84
- const key = this._pk(id);
85
- return this._itemsStatus[key];
86
- }
87
-
88
- getCurrent(id: K, initiateFetch = true): T {
89
- const key = this._pk(id);
90
- const item = this._itemsCache[key];
91
- if (initiateFetch) {
92
- this.get(id);
93
- }
94
- this._logger?.log(key, 'getCurrent returns', item);
95
- return item;
96
- }
97
-
98
- get(id: K): Promise<T> {
99
- const key = this._pk(id);
100
- const item = this._itemsCache[key];
101
- if (item !== undefined) {
102
- this._logger?.log(key, 'item resolved to', item);
103
- return Promise.resolve(item);
104
- }
105
-
106
- let promise = this._fetchCache[key];
107
- if (promise) {
108
- this._logger?.log(key, 'item resolved to <promise>');
109
- return promise;
110
- }
111
-
112
- runInAction(() => this._itemsStatus[key] = true);
113
- promise = this._doFetchAsync(id, key);
114
-
115
- runInAction(() => this._fetchCache[key] = promise);
116
- return promise;
117
- }
118
-
119
- private _doFetchAsync = async (id: K, key: string) => {
120
- try {
121
- this._busyCount.increment();
122
- const res = await this.fetcher(id);
123
- if (this._fetchCache[key]) {
124
- this._logger?.log(key, 'item\'s <promise> resolved to', res);
125
- const result = res
126
- ? (this._observeItems ? observable.object(res) : res)
127
- : null;
128
- runInAction(() => this._itemsCache[key] = result);
129
- }
130
- return res;
131
- } finally {
132
- runInAction(() => {
133
- this._busyCount.decrement();
134
- delete this._fetchCache[key];
135
- this._itemsStatus[key] = false;
136
- });
137
- }
138
- };
139
-
140
- invalidate(id: K) {
141
- const key = this._pk(id);
142
- this._set(key, undefined, undefined, undefined);
143
- }
144
-
145
- updateValueDirectly(id: K, value: T) {
146
- const key = this._pk(id);
147
- this._set(key, value, undefined, undefined);
148
- }
149
-
150
- hasKey(id: K) {
151
- const key = this._pk(id);
152
- return this._itemsCache[key] !== undefined || this._itemsStatus[key] !== undefined;
153
- }
154
-
155
- keys() {
156
- return Object.keys(this._itemsCache);
157
- }
158
-
159
- keysParsed() {
160
- if (!this.keyParser) {
161
- return null;
162
- }
163
-
164
- return this.keys().map(this.keyParser);
165
- }
166
-
167
- @action
168
- private _set(key: string, item: T, promise: Promise<T>, busy: boolean) {
169
- _setX(key, this._fetchCache, promise);
170
- _setX(key, this._itemsStatus, busy);
171
- _setX(key, this._itemsCache, item);
172
- }
173
- }
174
-
175
- function _setX<T>(key: string, obj: Record<string, T>, val: T) {
176
- if (val === undefined) {
177
- delete obj[key];
178
- } else {
179
- obj[key] = val;
180
- }
181
- }
@@ -1,4 +0,0 @@
1
-
2
- export type DeepPartial<T> = {
3
- [P in keyof T]?: DeepPartial<T[P]>;
4
- };
package/src/functions.ts DELETED
@@ -1,14 +0,0 @@
1
-
2
- type PropertiesOf<T> = Exclude<{
3
- [K in keyof T]: T[K] extends Function ? never : K
4
- }[keyof T], undefined>;
5
-
6
- export type RemoveFunctionFields<T> = {
7
- readonly [P in PropertiesOf<T>]: T[P];
8
- };
9
-
10
- export function safeCall<T extends (...args: any) => any>(cb: T | undefined, ...args: Parameters<T>): ReturnType<T> | void {
11
- if (cb) {
12
- return cb.apply(null, args);
13
- }
14
- }
package/src/lazy/index.ts DELETED
@@ -1,33 +0,0 @@
1
-
2
- import { LazyObservable, LazyPromiseObservable } from './observable';
3
- import logger from '../logger';
4
-
5
- // Backward compatibility stuff ...
6
-
7
- class LazyObservableWarned<T> extends LazyObservable<T> {
8
-
9
- constructor(factory: () => T) {
10
- super(factory);
11
-
12
- logger.log('@zajno/common/lazy: you are using LazyObservable but imported just as Lazy. To avoid this warning import LazyObservable directly from lazy/observable or use non-observable version from lazy/singleton.');
13
- }
14
-
15
- }
16
-
17
- class LazyPromiseObservableWarned<T> extends LazyPromiseObservable<T> {
18
-
19
- constructor(factory: () => Promise<T>, initial?: T) {
20
- super(factory, initial);
21
-
22
- logger.log('@zajno/common/lazy: you are using LazyPromiseObservableWarned but imported just as LazyPromise. To avoid this warning import LazyPromiseObservable directly from lazy/observable or use non-observable version from lazy/promise.');
23
- }
24
-
25
- }
26
-
27
- export default LazyObservableWarned;
28
-
29
- // In future versions make these imports straight
30
- export {
31
- LazyObservableWarned as Lazy,
32
- LazyPromiseObservableWarned as LazyPromise,
33
- };
@@ -1,37 +0,0 @@
1
- import { Lazy } from './singleton';
2
- import { LazyPromise } from './promise';
3
- import { observable, makeObservable, action } from 'mobx';
4
-
5
- export class LazyObservable<T> extends Lazy<T> {
6
-
7
- constructor(factory: (() => T)) {
8
- super(factory);
9
-
10
- makeObservable<Lazy<T>, '_instance' | 'ensureInstance'>(this, {
11
- _instance: observable,
12
- reset: action,
13
- ensureInstance: action,
14
- });
15
- }
16
- }
17
-
18
- export class LazyPromiseObservable<T> extends LazyPromise<T> {
19
-
20
- constructor(
21
- factory: () => Promise<T>,
22
- initial?: T,
23
- ) {
24
- super(factory, initial);
25
-
26
- makeObservable<
27
- LazyPromise<T>,
28
- '_instance' | '_busy' | 'setInstance' | 'ensureInstanceLoading'
29
- >(this, {
30
- _instance: observable.ref,
31
- _busy: observable,
32
- setInstance: action,
33
- ensureInstanceLoading: action,
34
- reset: action,
35
- });
36
- }
37
- }
package/src/lazy.light.ts DELETED
@@ -1,8 +0,0 @@
1
-
2
- // DEPRECATED MODULE. Delete in future versions
3
-
4
- import logger from './logger';
5
-
6
- export * from './lazy/light';
7
-
8
- logger.warn('@zajno/common: importing module "lazy.light" is deprecated; please change your import to "lazy/light" module.');
@@ -1,105 +0,0 @@
1
- import { createLogger, ILogger } from './logger';
2
- import { combineDisposers, IDisposable } from './disposer';
3
- import { NumberModel } from './viewModels/NumberModel';
4
-
5
- type Unsub = () => void;
6
-
7
- export class ObserversMap implements IDisposable {
8
- /** Unsusbcrobers map: key => unsub fn */
9
- private readonly _map = new Map<string, () => void>();
10
- /** Timeouts map: key => timeout handle */
11
- private readonly _timeouts = new Map<string, any>();
12
-
13
- private readonly _logger: ILogger = null;
14
- private readonly _count = new NumberModel();
15
-
16
- constructor(readonly subscribe: null | ((key: string) => Promise<Unsub[]>), readonly name?: string) {
17
- this._logger = createLogger(`[Observers:${this.name || '?'}]`);
18
- }
19
-
20
- public get count() { return this._count.value; }
21
-
22
- public getIsObserving(key: string) {
23
- return this._map.has(key);
24
- }
25
-
26
- public getHasObserveTimeout(key: string) {
27
- return this.getIsObserving(key) && this._timeouts.has(key);
28
- }
29
-
30
- public async enable(key: string, enable: boolean, clearAfter: number = null, existingUnsubs: Unsub[] = null) {
31
- if (enable === this.getIsObserving(key)) {
32
- this.refreshTimeout(key, enable, clearAfter, true);
33
- return;
34
- }
35
-
36
- if (enable) {
37
- this._logger.log('Adding observer for key =', key, clearAfter ? `, clearAfter = ${clearAfter}` : '');
38
-
39
- // this marker will help to determine whether unsubscribe was requested while we were in process of subscribing
40
- let disabed = false;
41
- const marker = () => { disabed = true; };
42
-
43
- this._map.set(key, marker);
44
-
45
- if (!this.subscribe && !existingUnsubs) {
46
- throw new Error('Neither subscribe function nor existingUnsubs has been configured');
47
- }
48
-
49
- const unsubs = existingUnsubs || await this.subscribe(key);
50
- const result = combineDisposers(...unsubs);
51
-
52
- if (disabed) { // unsubscribe was requested
53
- result();
54
- } else {
55
- this._map.set(key, result);
56
- this._count.increment();
57
- this.refreshTimeout(key, true, clearAfter);
58
- }
59
- } else {
60
- this._logger.log('Removing observer for key =', key);
61
- this.refreshTimeout(key, false);
62
- const unsub = this._map.get(key);
63
- this._map.delete(key);
64
- unsub();
65
- this._count.decrement();
66
- }
67
- }
68
-
69
- private refreshTimeout(key: string, enable: boolean, timeout?: number, refresh = false) {
70
- const current = this._timeouts.get(key);
71
- if (current) {
72
- clearTimeout(current);
73
- this._timeouts.delete(key);
74
- }
75
-
76
- if (enable && refresh && current == null) {
77
- // DO NOT setup new timeout because it's not intended to clear subscribtion if it was previously enabled for long term
78
- return;
79
- }
80
-
81
- if (enable && timeout) {
82
- const t = setTimeout(() => this.enable(key, false), timeout);
83
- this._timeouts.set(key, t);
84
- }
85
- }
86
-
87
- public clear() {
88
- // Clear timeouts
89
- for (const t of this._timeouts.values()) {
90
- clearTimeout(t);
91
- }
92
- this._timeouts.clear();
93
-
94
- // Invoke unsubscribers
95
- for (const u of this._map.values()) {
96
- u();
97
- }
98
- this._map.clear();
99
- this._count.setValue(0);
100
- }
101
-
102
- public dispose() {
103
- this.clear();
104
- }
105
- }