@zajno/common 2.3.17 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (904) hide show
  1. package/cjs/api/call.js +61 -0
  2. package/cjs/api/call.js.map +1 -0
  3. package/cjs/api/endpoint.js.map +1 -0
  4. package/cjs/api/endpoint.types.js.map +1 -0
  5. package/cjs/api/error.js.map +1 -0
  6. package/cjs/api/helpers.js +29 -0
  7. package/cjs/api/helpers.js.map +1 -0
  8. package/cjs/api/index.js.map +1 -0
  9. package/cjs/api/logging.js.map +1 -0
  10. package/cjs/api/methods.js.map +1 -0
  11. package/cjs/api/processor.js.map +1 -0
  12. package/cjs/api/register.js +25 -0
  13. package/cjs/api/register.js.map +1 -0
  14. package/cjs/api/statusCodes.js.map +1 -0
  15. package/cjs/async/arrays.js +38 -0
  16. package/cjs/async/arrays.js.map +1 -0
  17. package/cjs/async/misc.js +26 -0
  18. package/cjs/async/misc.js.map +1 -0
  19. package/cjs/async/timeout.js +63 -0
  20. package/cjs/async/timeout.js.map +1 -0
  21. package/cjs/dates/calc.js +62 -0
  22. package/cjs/dates/calc.js.map +1 -0
  23. package/cjs/dates/calendarIndex.js +85 -0
  24. package/cjs/dates/calendarIndex.js.map +1 -0
  25. package/cjs/dates/convert.js +127 -0
  26. package/cjs/dates/convert.js.map +1 -0
  27. package/cjs/dates/datex.js +101 -0
  28. package/cjs/dates/datex.js.map +1 -0
  29. package/cjs/dates/decompose.js +43 -0
  30. package/cjs/dates/decompose.js.map +1 -0
  31. package/cjs/dates/format.js.map +1 -0
  32. package/cjs/dates/index.js.map +1 -0
  33. package/cjs/dates/parse.js +49 -0
  34. package/cjs/dates/parse.js.map +1 -0
  35. package/cjs/dates/period.js.map +1 -0
  36. package/cjs/dates/shift.js +96 -0
  37. package/cjs/dates/shift.js.map +1 -0
  38. package/cjs/dates/types.js.map +1 -0
  39. package/cjs/dates/tz.js.map +1 -0
  40. package/cjs/dates/yearDate.js.map +1 -0
  41. package/cjs/fields/filter.js +28 -0
  42. package/cjs/fields/filter.js.map +1 -0
  43. package/cjs/fields/index.js.map +1 -0
  44. package/cjs/fields/skip.js.map +1 -0
  45. package/cjs/fields/transfer.js +46 -0
  46. package/cjs/fields/transfer.js.map +1 -0
  47. package/cjs/fields/update.js +78 -0
  48. package/cjs/fields/update.js.map +1 -0
  49. package/cjs/functions/assert.js +20 -0
  50. package/cjs/functions/assert.js.map +1 -0
  51. package/cjs/functions/disposer.js +73 -0
  52. package/cjs/functions/disposer.js.map +1 -0
  53. package/cjs/functions/disposer.symbols.js +29 -0
  54. package/cjs/functions/disposer.symbols.js.map +1 -0
  55. package/cjs/functions/safe.js +7 -0
  56. package/cjs/functions/safe.js.map +1 -0
  57. package/cjs/functions/throttle.js.map +1 -0
  58. package/cjs/lazy/light.js +23 -0
  59. package/cjs/lazy/light.js.map +1 -0
  60. package/cjs/lazy/promise.js +72 -0
  61. package/cjs/lazy/promise.js.map +1 -0
  62. package/cjs/lazy/singleton.js +69 -0
  63. package/cjs/lazy/singleton.js.map +1 -0
  64. package/cjs/lazy/types.js.map +1 -0
  65. package/cjs/logger/abstractions.js.map +1 -0
  66. package/cjs/logger/batch.js +11 -0
  67. package/cjs/logger/batch.js.map +1 -0
  68. package/cjs/logger/console.js.map +1 -0
  69. package/cjs/logger/file.js.map +1 -0
  70. package/cjs/logger/index.js +28 -0
  71. package/cjs/logger/index.js.map +1 -0
  72. package/cjs/logger/manager.js +89 -0
  73. package/cjs/logger/manager.js.map +1 -0
  74. package/cjs/logger/named.js.map +1 -0
  75. package/cjs/logger/proxy.js.map +1 -0
  76. package/cjs/math/arrays.js +289 -0
  77. package/cjs/math/arrays.js.map +1 -0
  78. package/cjs/math/calc.js +84 -0
  79. package/cjs/math/calc.js.map +1 -0
  80. package/cjs/math/distribution.js +15 -0
  81. package/cjs/math/distribution.js.map +1 -0
  82. package/cjs/math/index.js +29 -0
  83. package/cjs/math/index.js.map +1 -0
  84. package/cjs/math/object/helpers.js +28 -0
  85. package/cjs/math/object/helpers.js.map +1 -0
  86. package/cjs/math/object/index.js.map +1 -0
  87. package/cjs/math/object/math.composite.js.map +1 -0
  88. package/cjs/math/object/math.js.map +1 -0
  89. package/cjs/math/object/ops.composite.js.map +1 -0
  90. package/cjs/math/object/ops.js.map +1 -0
  91. package/cjs/math/object/types.js.map +1 -0
  92. package/cjs/models/EntityWithStatus.js.map +1 -0
  93. package/cjs/models/File.js.map +1 -0
  94. package/cjs/models/Model.js.map +1 -0
  95. package/cjs/models/ValuesCollector.js.map +1 -0
  96. package/cjs/models/types.js.map +1 -0
  97. package/cjs/models/wrappers.js +79 -0
  98. package/cjs/models/wrappers.js.map +1 -0
  99. package/cjs/observing/event.js +99 -0
  100. package/cjs/observing/event.js.map +1 -0
  101. package/cjs/observing/event.late.js.map +1 -0
  102. package/cjs/observing/progressTracker.js.map +1 -0
  103. package/cjs/observing/throttledEvent.js.map +1 -0
  104. package/cjs/observing/timer.js.map +1 -0
  105. package/cjs/package.json +3 -0
  106. package/cjs/storage/index.js.map +1 -0
  107. package/cjs/storage/types.js.map +1 -0
  108. package/cjs/storage/wrappers.js.map +1 -0
  109. package/cjs/structures/expire.js +22 -0
  110. package/cjs/structures/expire.js.map +1 -0
  111. package/cjs/structures/helpers/enum.js.map +1 -0
  112. package/cjs/structures/helpers/name.js.map +1 -0
  113. package/cjs/structures/linkedList.js.map +1 -0
  114. package/cjs/structures/nameof.js +26 -0
  115. package/cjs/structures/nameof.js.map +1 -0
  116. package/cjs/structures/path/builder.js +170 -0
  117. package/cjs/structures/path/builder.js.map +1 -0
  118. package/cjs/structures/path/index.js.map +1 -0
  119. package/cjs/structures/path/types.js +3 -0
  120. package/cjs/structures/path/types.js.map +1 -0
  121. package/cjs/structures/path/utils.js +61 -0
  122. package/cjs/structures/path/utils.js.map +1 -0
  123. package/cjs/structures/pool.js.map +1 -0
  124. package/cjs/structures/promiseCache.js.map +1 -0
  125. package/cjs/structures/promiseExtended.js +195 -0
  126. package/cjs/structures/promiseExtended.js.map +1 -0
  127. package/cjs/structures/promiseProxy.js +92 -0
  128. package/cjs/structures/promiseProxy.js.map +1 -0
  129. package/cjs/structures/queue/parallel.js.map +1 -0
  130. package/cjs/structures/queue/tasks.js.map +1 -0
  131. package/cjs/structures/subscribersMap.js.map +1 -0
  132. package/cjs/structures/tempoCache.js +59 -0
  133. package/cjs/structures/tempoCache.js.map +1 -0
  134. package/cjs/types/arrays.js +11 -0
  135. package/cjs/types/arrays.js.map +1 -0
  136. package/cjs/types/comparator.js.map +1 -0
  137. package/cjs/types/deep.js.map +1 -0
  138. package/cjs/types/functions.js.map +1 -0
  139. package/cjs/types/getter.js +26 -0
  140. package/cjs/types/getter.js.map +1 -0
  141. package/cjs/types/ident.js.map +1 -0
  142. package/cjs/types/index.js.map +1 -0
  143. package/cjs/types/misc.js.map +1 -0
  144. package/cjs/validation/ValidationErrors.js.map +1 -0
  145. package/cjs/validation/creditCard.js.map +1 -0
  146. package/cjs/validation/emails.js +11 -0
  147. package/cjs/validation/emails.js.map +1 -0
  148. package/cjs/validation/helpers.js +77 -0
  149. package/cjs/validation/helpers.js.map +1 -0
  150. package/cjs/validation/index.js.map +1 -0
  151. package/cjs/validation/throwers.js +33 -0
  152. package/cjs/validation/throwers.js.map +1 -0
  153. package/cjs/validation/types.js.map +1 -0
  154. package/cjs/validation/validators.js.map +1 -0
  155. package/cjs/validation/wrappers.js.map +1 -0
  156. package/esm/api/call.js +58 -0
  157. package/esm/api/call.js.map +1 -0
  158. package/esm/api/endpoint.js +65 -0
  159. package/esm/api/endpoint.js.map +1 -0
  160. package/esm/api/endpoint.types.js +8 -0
  161. package/esm/api/endpoint.types.js.map +1 -0
  162. package/esm/api/error.js +31 -0
  163. package/esm/api/error.js.map +1 -0
  164. package/esm/api/helpers.js +22 -0
  165. package/esm/api/helpers.js.map +1 -0
  166. package/esm/api/index.js +7 -0
  167. package/esm/api/index.js.map +1 -0
  168. package/esm/api/logging.js +25 -0
  169. package/esm/api/logging.js.map +1 -0
  170. package/esm/api/methods.js +8 -0
  171. package/esm/api/methods.js.map +1 -0
  172. package/esm/api/processor.js +46 -0
  173. package/esm/api/processor.js.map +1 -0
  174. package/esm/api/register.js +19 -0
  175. package/esm/api/register.js.map +1 -0
  176. package/esm/api/statusCodes.js +18 -0
  177. package/esm/api/statusCodes.js.map +1 -0
  178. package/esm/async/arrays.js +32 -0
  179. package/esm/async/arrays.js.map +1 -0
  180. package/esm/async/misc.js +21 -0
  181. package/esm/async/misc.js.map +1 -0
  182. package/esm/async/timeout.js +58 -0
  183. package/esm/async/timeout.js.map +1 -0
  184. package/esm/dates/calc.js +53 -0
  185. package/esm/dates/calc.js.map +1 -0
  186. package/esm/dates/calendarIndex.js +79 -0
  187. package/esm/dates/calendarIndex.js.map +1 -0
  188. package/esm/dates/convert.js +115 -0
  189. package/esm/dates/convert.js.map +1 -0
  190. package/esm/dates/datex.js +97 -0
  191. package/esm/dates/datex.js.map +1 -0
  192. package/esm/dates/decompose.js +39 -0
  193. package/esm/dates/decompose.js.map +1 -0
  194. package/esm/dates/format.js +121 -0
  195. package/esm/dates/format.js.map +1 -0
  196. package/esm/dates/index.js +11 -0
  197. package/esm/dates/index.js.map +1 -0
  198. package/esm/dates/parse.js +44 -0
  199. package/esm/dates/parse.js.map +1 -0
  200. package/esm/dates/period.js +22 -0
  201. package/esm/dates/period.js.map +1 -0
  202. package/esm/dates/shift.js +88 -0
  203. package/esm/dates/shift.js.map +1 -0
  204. package/esm/dates/types.js +48 -0
  205. package/esm/dates/types.js.map +1 -0
  206. package/esm/dates/tz.js +49 -0
  207. package/esm/dates/tz.js.map +1 -0
  208. package/esm/dates/yearDate.js +35 -0
  209. package/esm/dates/yearDate.js.map +1 -0
  210. package/esm/fields/filter.js +25 -0
  211. package/esm/fields/filter.js.map +1 -0
  212. package/esm/fields/index.js +4 -0
  213. package/esm/fields/index.js.map +1 -0
  214. package/esm/fields/skip.js +29 -0
  215. package/esm/fields/skip.js.map +1 -0
  216. package/esm/fields/transfer.js +41 -0
  217. package/esm/fields/transfer.js.map +1 -0
  218. package/esm/fields/update.js +73 -0
  219. package/esm/fields/update.js.map +1 -0
  220. package/esm/functions/assert.js +16 -0
  221. package/esm/functions/assert.js.map +1 -0
  222. package/esm/functions/disposer.js +66 -0
  223. package/esm/functions/disposer.js.map +1 -0
  224. package/esm/functions/disposer.symbols.js +24 -0
  225. package/esm/functions/disposer.symbols.js.map +1 -0
  226. package/esm/functions/safe.js +4 -0
  227. package/esm/functions/safe.js.map +1 -0
  228. package/esm/functions/throttle.js +132 -0
  229. package/esm/functions/throttle.js.map +1 -0
  230. package/esm/lazy/light.js +20 -0
  231. package/esm/lazy/light.js.map +1 -0
  232. package/esm/lazy/promise.js +68 -0
  233. package/esm/lazy/promise.js.map +1 -0
  234. package/esm/lazy/singleton.js +65 -0
  235. package/esm/lazy/singleton.js.map +1 -0
  236. package/esm/lazy/types.js +2 -0
  237. package/esm/lazy/types.js.map +1 -0
  238. package/esm/logger/abstractions.js +2 -0
  239. package/esm/logger/abstractions.js.map +1 -0
  240. package/esm/logger/batch.js +8 -0
  241. package/esm/logger/batch.js.map +1 -0
  242. package/esm/logger/console.js +43 -0
  243. package/esm/logger/console.js.map +1 -0
  244. package/esm/logger/file.js +60 -0
  245. package/esm/logger/file.js.map +1 -0
  246. package/esm/logger/index.js +19 -0
  247. package/esm/logger/index.js.map +1 -0
  248. package/esm/logger/manager.js +85 -0
  249. package/esm/logger/manager.js.map +1 -0
  250. package/esm/logger/named.js +32 -0
  251. package/esm/logger/named.js.map +1 -0
  252. package/esm/logger/proxy.js +24 -0
  253. package/esm/logger/proxy.js.map +1 -0
  254. package/esm/math/arrays.js +262 -0
  255. package/esm/math/arrays.js.map +1 -0
  256. package/esm/math/calc.js +72 -0
  257. package/esm/math/calc.js.map +1 -0
  258. package/esm/math/distribution.js +12 -0
  259. package/esm/math/distribution.js.map +1 -0
  260. package/esm/math/index.js +24 -0
  261. package/esm/math/index.js.map +1 -0
  262. package/esm/math/object/helpers.js +23 -0
  263. package/esm/math/object/helpers.js.map +1 -0
  264. package/esm/math/object/index.js +6 -0
  265. package/esm/math/object/index.js.map +1 -0
  266. package/esm/math/object/math.composite.js +58 -0
  267. package/esm/math/object/math.composite.js.map +1 -0
  268. package/esm/math/object/math.js +120 -0
  269. package/esm/math/object/math.js.map +1 -0
  270. package/esm/math/object/ops.composite.js +46 -0
  271. package/esm/math/object/ops.composite.js.map +1 -0
  272. package/esm/math/object/ops.js +85 -0
  273. package/esm/math/object/ops.js.map +1 -0
  274. package/esm/math/object/types.js +2 -0
  275. package/esm/math/object/types.js.map +1 -0
  276. package/esm/models/EntityWithStatus.js +45 -0
  277. package/esm/models/EntityWithStatus.js.map +1 -0
  278. package/esm/models/File.js +2 -0
  279. package/esm/models/File.js.map +1 -0
  280. package/esm/models/Model.js +20 -0
  281. package/esm/models/Model.js.map +1 -0
  282. package/esm/models/ValuesCollector.js +45 -0
  283. package/esm/models/ValuesCollector.js.map +1 -0
  284. package/esm/models/types.js +2 -0
  285. package/esm/models/types.js.map +1 -0
  286. package/esm/models/wrappers.js +72 -0
  287. package/esm/models/wrappers.js.map +1 -0
  288. package/esm/observing/event.js +94 -0
  289. package/esm/observing/event.js.map +1 -0
  290. package/esm/observing/event.late.js +35 -0
  291. package/esm/observing/event.late.js.map +1 -0
  292. package/esm/observing/progressTracker.js +72 -0
  293. package/esm/observing/progressTracker.js.map +1 -0
  294. package/esm/observing/throttledEvent.js +16 -0
  295. package/esm/observing/throttledEvent.js.map +1 -0
  296. package/esm/observing/timer.js +81 -0
  297. package/esm/observing/timer.js.map +1 -0
  298. package/esm/package.json +3 -0
  299. package/esm/storage/index.js +3 -0
  300. package/esm/storage/index.js.map +1 -0
  301. package/esm/storage/types.js +2 -0
  302. package/esm/storage/types.js.map +1 -0
  303. package/esm/storage/wrappers.js +51 -0
  304. package/esm/storage/wrappers.js.map +1 -0
  305. package/esm/structures/expire.js +18 -0
  306. package/esm/structures/expire.js.map +1 -0
  307. package/esm/structures/helpers/enum.js +104 -0
  308. package/esm/structures/helpers/enum.js.map +1 -0
  309. package/esm/structures/helpers/name.js +42 -0
  310. package/esm/structures/helpers/name.js.map +1 -0
  311. package/esm/structures/linkedList.js +78 -0
  312. package/esm/structures/linkedList.js.map +1 -0
  313. package/esm/structures/nameof.js +23 -0
  314. package/esm/structures/nameof.js.map +1 -0
  315. package/esm/structures/path/builder.js +164 -0
  316. package/esm/structures/path/builder.js.map +1 -0
  317. package/esm/structures/path/index.js +3 -0
  318. package/esm/structures/path/index.js.map +1 -0
  319. package/esm/structures/path/types.js +2 -0
  320. package/esm/structures/path/types.js.map +1 -0
  321. package/esm/structures/path/utils.js +56 -0
  322. package/esm/structures/path/utils.js.map +1 -0
  323. package/esm/structures/pool.js +45 -0
  324. package/esm/structures/pool.js.map +1 -0
  325. package/esm/structures/promiseCache.js +266 -0
  326. package/esm/structures/promiseCache.js.map +1 -0
  327. package/esm/structures/promiseExtended.js +191 -0
  328. package/esm/structures/promiseExtended.js.map +1 -0
  329. package/esm/structures/promiseProxy.js +89 -0
  330. package/esm/structures/promiseProxy.js.map +1 -0
  331. package/esm/structures/queue/parallel.js +116 -0
  332. package/esm/structures/queue/parallel.js.map +1 -0
  333. package/esm/structures/queue/tasks.js +72 -0
  334. package/esm/structures/queue/tasks.js.map +1 -0
  335. package/esm/structures/subscribersMap.js +94 -0
  336. package/esm/structures/subscribersMap.js.map +1 -0
  337. package/esm/structures/tempoCache.js +55 -0
  338. package/esm/structures/tempoCache.js.map +1 -0
  339. package/esm/types/arrays.js +7 -0
  340. package/esm/types/arrays.js.map +1 -0
  341. package/esm/types/comparator.js +5 -0
  342. package/esm/types/comparator.js.map +1 -0
  343. package/esm/types/deep.js +2 -0
  344. package/esm/types/deep.js.map +1 -0
  345. package/esm/types/functions.js +2 -0
  346. package/esm/types/functions.js.map +1 -0
  347. package/esm/types/getter.js +23 -0
  348. package/esm/types/getter.js.map +1 -0
  349. package/esm/types/ident.js +2 -0
  350. package/esm/types/ident.js.map +1 -0
  351. package/esm/types/index.js +5 -0
  352. package/esm/types/index.js.map +1 -0
  353. package/esm/types/misc.js +2 -0
  354. package/esm/types/misc.js.map +1 -0
  355. package/esm/validation/ValidationErrors.js +30 -0
  356. package/esm/validation/ValidationErrors.js.map +1 -0
  357. package/esm/validation/creditCard.js +22 -0
  358. package/esm/validation/creditCard.js.map +1 -0
  359. package/esm/validation/emails.js +8 -0
  360. package/esm/validation/emails.js.map +1 -0
  361. package/esm/validation/helpers.js +68 -0
  362. package/esm/validation/helpers.js.map +1 -0
  363. package/esm/validation/index.js +9 -0
  364. package/esm/validation/index.js.map +1 -0
  365. package/esm/validation/throwers.js +28 -0
  366. package/esm/validation/throwers.js.map +1 -0
  367. package/esm/validation/types.js +8 -0
  368. package/esm/validation/types.js.map +1 -0
  369. package/esm/validation/validators.js +48 -0
  370. package/esm/validation/validators.js.map +1 -0
  371. package/esm/validation/wrappers.js +23 -0
  372. package/esm/validation/wrappers.js.map +1 -0
  373. package/package.json +80 -11
  374. package/tsconfig.cjs.tsbuildinfo +1 -0
  375. package/tsconfig.esm.tsbuildinfo +1 -0
  376. package/tsconfig.types.tsbuildinfo +1 -0
  377. package/types/api/call.d.ts +35 -0
  378. package/types/api/endpoint.d.ts +38 -0
  379. package/types/api/endpoint.types.d.ts +45 -0
  380. package/types/api/error.d.ts +17 -0
  381. package/types/api/helpers.d.ts +9 -0
  382. package/types/api/index.d.ts +8 -0
  383. package/types/api/logging.d.ts +13 -0
  384. package/types/api/methods.d.ts +6 -0
  385. package/types/api/processor.d.ts +7 -0
  386. package/types/api/register.d.ts +7 -0
  387. package/types/api/statusCodes.d.ts +16 -0
  388. package/types/async/arrays.d.ts +4 -0
  389. package/types/async/misc.d.ts +8 -0
  390. package/types/async/timeout.d.ts +8 -0
  391. package/types/dates/calc.d.ts +9 -0
  392. package/types/dates/calendarIndex.d.ts +47 -0
  393. package/types/dates/convert.d.ts +15 -0
  394. package/types/dates/datex.d.ts +23 -0
  395. package/types/dates/decompose.d.ts +4 -0
  396. package/types/dates/format.d.ts +22 -0
  397. package/types/dates/index.d.ts +10 -0
  398. package/types/dates/parse.d.ts +10 -0
  399. package/types/dates/period.d.ts +11 -0
  400. package/types/dates/shift.d.ts +8 -0
  401. package/types/dates/types.d.ts +9 -0
  402. package/types/dates/tz.d.ts +7 -0
  403. package/types/dates/yearDate.d.ts +12 -0
  404. package/types/fields/filter.d.ts +9 -0
  405. package/types/fields/index.d.ts +3 -0
  406. package/types/fields/skip.d.ts +16 -0
  407. package/types/fields/transfer.d.ts +14 -0
  408. package/types/fields/update.d.ts +27 -0
  409. package/types/functions/assert.d.ts +2 -0
  410. package/types/functions/disposer.d.ts +24 -0
  411. package/types/functions/disposer.symbols.d.ts +6 -0
  412. package/types/functions/safe.d.ts +1 -0
  413. package/types/functions/throttle.d.ts +38 -0
  414. package/types/lazy/light.d.ts +2 -0
  415. package/types/lazy/promise.d.ts +23 -0
  416. package/types/lazy/singleton.d.ts +21 -0
  417. package/types/lazy/types.d.ts +12 -0
  418. package/types/logger/abstractions.d.ts +10 -0
  419. package/types/logger/batch.d.ts +2 -0
  420. package/types/logger/console.d.ts +18 -0
  421. package/types/logger/file.d.ts +15 -0
  422. package/types/logger/index.d.ts +13 -0
  423. package/types/logger/manager.d.ts +22 -0
  424. package/types/logger/named.d.ts +13 -0
  425. package/types/logger/proxy.d.ts +9 -0
  426. package/types/math/arrays.d.ts +44 -0
  427. package/types/math/calc.d.ts +17 -0
  428. package/types/math/distribution.d.ts +5 -0
  429. package/types/math/index.d.ts +5 -0
  430. package/types/math/object/helpers.d.ts +7 -0
  431. package/types/math/object/index.d.ts +5 -0
  432. package/types/math/object/math.composite.d.ts +16 -0
  433. package/types/math/object/math.d.ts +17 -0
  434. package/types/math/object/ops.composite.d.ts +14 -0
  435. package/types/math/object/ops.d.ts +20 -0
  436. package/types/math/object/types.d.ts +36 -0
  437. package/types/models/EntityWithStatus.d.ts +17 -0
  438. package/types/models/File.d.ts +9 -0
  439. package/types/models/Model.d.ts +12 -0
  440. package/types/models/ValuesCollector.d.ts +25 -0
  441. package/types/models/types.d.ts +24 -0
  442. package/types/models/wrappers.d.ts +17 -0
  443. package/types/observing/event.d.ts +25 -0
  444. package/types/observing/event.late.d.ts +10 -0
  445. package/types/observing/progressTracker.d.ts +27 -0
  446. package/types/observing/throttledEvent.d.ts +7 -0
  447. package/types/observing/timer.d.ts +41 -0
  448. package/types/storage/index.d.ts +2 -0
  449. package/types/storage/types.d.ts +12 -0
  450. package/types/storage/wrappers.d.ts +10 -0
  451. package/types/structures/expire.d.ts +13 -0
  452. package/types/structures/helpers/enum.d.ts +36 -0
  453. package/types/structures/helpers/name.d.ts +15 -0
  454. package/types/structures/linkedList.d.ts +38 -0
  455. package/types/structures/nameof.d.ts +13 -0
  456. package/types/structures/path/builder.d.ts +15 -0
  457. package/types/structures/path/index.d.ts +2 -0
  458. package/types/structures/path/types.d.ts +61 -0
  459. package/types/structures/path/utils.d.ts +14 -0
  460. package/types/structures/pool.d.ts +16 -0
  461. package/types/structures/promiseCache.d.ts +85 -0
  462. package/types/structures/promiseExtended.d.ts +70 -0
  463. package/types/structures/promiseProxy.d.ts +29 -0
  464. package/types/structures/queue/parallel.d.ts +23 -0
  465. package/types/structures/queue/tasks.d.ts +16 -0
  466. package/types/structures/subscribersMap.d.ts +22 -0
  467. package/types/structures/tempoCache.d.ts +29 -0
  468. package/types/types/arrays.d.ts +3 -0
  469. package/types/types/comparator.d.ts +4 -0
  470. package/types/types/deep.d.ts +25 -0
  471. package/types/types/functions.d.ts +15 -0
  472. package/types/types/getter.d.ts +9 -0
  473. package/types/types/ident.d.ts +5 -0
  474. package/types/types/index.d.ts +4 -0
  475. package/types/types/misc.d.ts +37 -0
  476. package/types/validation/ValidationErrors.d.ts +25 -0
  477. package/types/validation/creditCard.d.ts +8 -0
  478. package/types/validation/emails.d.ts +3 -0
  479. package/types/validation/helpers.d.ts +10 -0
  480. package/types/validation/index.d.ts +5 -0
  481. package/types/validation/throwers.d.ts +14 -0
  482. package/types/validation/types.d.ts +18 -0
  483. package/types/validation/validators.d.ts +30 -0
  484. package/types/validation/wrappers.d.ts +6 -0
  485. package/api/call.d.ts +0 -36
  486. package/api/call.d.ts.map +0 -1
  487. package/api/call.js +0 -62
  488. package/api/call.js.map +0 -1
  489. package/api/endpoint.d.ts +0 -39
  490. package/api/endpoint.d.ts.map +0 -1
  491. package/api/endpoint.js.map +0 -1
  492. package/api/endpoint.types.d.ts +0 -46
  493. package/api/endpoint.types.d.ts.map +0 -1
  494. package/api/endpoint.types.js.map +0 -1
  495. package/api/error.d.ts +0 -18
  496. package/api/error.d.ts.map +0 -1
  497. package/api/error.js.map +0 -1
  498. package/api/helpers.d.ts +0 -10
  499. package/api/helpers.d.ts.map +0 -1
  500. package/api/helpers.js +0 -29
  501. package/api/helpers.js.map +0 -1
  502. package/api/index.d.ts +0 -9
  503. package/api/index.d.ts.map +0 -1
  504. package/api/index.js.map +0 -1
  505. package/api/logging.d.ts +0 -14
  506. package/api/logging.d.ts.map +0 -1
  507. package/api/logging.js.map +0 -1
  508. package/api/methods.d.ts +0 -7
  509. package/api/methods.d.ts.map +0 -1
  510. package/api/methods.js.map +0 -1
  511. package/api/processor.d.ts +0 -8
  512. package/api/processor.d.ts.map +0 -1
  513. package/api/processor.js.map +0 -1
  514. package/api/register.d.ts +0 -8
  515. package/api/register.d.ts.map +0 -1
  516. package/api/register.js +0 -25
  517. package/api/register.js.map +0 -1
  518. package/api/statusCodes.d.ts +0 -17
  519. package/api/statusCodes.d.ts.map +0 -1
  520. package/api/statusCodes.js.map +0 -1
  521. package/async/arrays.d.ts +0 -5
  522. package/async/arrays.d.ts.map +0 -1
  523. package/async/arrays.js +0 -39
  524. package/async/arrays.js.map +0 -1
  525. package/async/misc.d.ts +0 -9
  526. package/async/misc.d.ts.map +0 -1
  527. package/async/misc.js +0 -27
  528. package/async/misc.js.map +0 -1
  529. package/async/timeout.d.ts +0 -9
  530. package/async/timeout.d.ts.map +0 -1
  531. package/async/timeout.js +0 -64
  532. package/async/timeout.js.map +0 -1
  533. package/dates/calc.d.ts +0 -10
  534. package/dates/calc.d.ts.map +0 -1
  535. package/dates/calc.js +0 -63
  536. package/dates/calc.js.map +0 -1
  537. package/dates/calendarIndex.d.ts +0 -48
  538. package/dates/calendarIndex.d.ts.map +0 -1
  539. package/dates/calendarIndex.js +0 -85
  540. package/dates/calendarIndex.js.map +0 -1
  541. package/dates/convert.d.ts +0 -16
  542. package/dates/convert.d.ts.map +0 -1
  543. package/dates/convert.js +0 -128
  544. package/dates/convert.js.map +0 -1
  545. package/dates/datex.d.ts +0 -24
  546. package/dates/datex.d.ts.map +0 -1
  547. package/dates/datex.js +0 -101
  548. package/dates/datex.js.map +0 -1
  549. package/dates/decompose.d.ts +0 -5
  550. package/dates/decompose.d.ts.map +0 -1
  551. package/dates/decompose.js +0 -44
  552. package/dates/decompose.js.map +0 -1
  553. package/dates/format.d.ts +0 -23
  554. package/dates/format.d.ts.map +0 -1
  555. package/dates/format.js.map +0 -1
  556. package/dates/index.d.ts +0 -11
  557. package/dates/index.d.ts.map +0 -1
  558. package/dates/index.js.map +0 -1
  559. package/dates/parse.d.ts +0 -11
  560. package/dates/parse.d.ts.map +0 -1
  561. package/dates/parse.js +0 -49
  562. package/dates/parse.js.map +0 -1
  563. package/dates/period.d.ts +0 -12
  564. package/dates/period.d.ts.map +0 -1
  565. package/dates/period.js.map +0 -1
  566. package/dates/shift.d.ts +0 -9
  567. package/dates/shift.d.ts.map +0 -1
  568. package/dates/shift.js +0 -96
  569. package/dates/shift.js.map +0 -1
  570. package/dates/types.d.ts +0 -10
  571. package/dates/types.d.ts.map +0 -1
  572. package/dates/types.js.map +0 -1
  573. package/dates/tz.d.ts +0 -8
  574. package/dates/tz.d.ts.map +0 -1
  575. package/dates/tz.js.map +0 -1
  576. package/dates/yearDate.d.ts +0 -13
  577. package/dates/yearDate.d.ts.map +0 -1
  578. package/dates/yearDate.js.map +0 -1
  579. package/fields/filter.d.ts +0 -10
  580. package/fields/filter.d.ts.map +0 -1
  581. package/fields/filter.js +0 -29
  582. package/fields/filter.js.map +0 -1
  583. package/fields/index.d.ts +0 -4
  584. package/fields/index.d.ts.map +0 -1
  585. package/fields/index.js.map +0 -1
  586. package/fields/skip.d.ts +0 -17
  587. package/fields/skip.d.ts.map +0 -1
  588. package/fields/skip.js.map +0 -1
  589. package/fields/transfer.d.ts +0 -15
  590. package/fields/transfer.d.ts.map +0 -1
  591. package/fields/transfer.js +0 -47
  592. package/fields/transfer.js.map +0 -1
  593. package/fields/update.d.ts +0 -28
  594. package/fields/update.d.ts.map +0 -1
  595. package/fields/update.js +0 -79
  596. package/fields/update.js.map +0 -1
  597. package/functions/assert.d.ts +0 -3
  598. package/functions/assert.d.ts.map +0 -1
  599. package/functions/assert.js +0 -21
  600. package/functions/assert.js.map +0 -1
  601. package/functions/disposer.d.ts +0 -25
  602. package/functions/disposer.d.ts.map +0 -1
  603. package/functions/disposer.js +0 -73
  604. package/functions/disposer.js.map +0 -1
  605. package/functions/disposer.symbols.d.ts +0 -7
  606. package/functions/disposer.symbols.d.ts.map +0 -1
  607. package/functions/disposer.symbols.js +0 -29
  608. package/functions/disposer.symbols.js.map +0 -1
  609. package/functions/safe.d.ts +0 -2
  610. package/functions/safe.d.ts.map +0 -1
  611. package/functions/safe.js +0 -8
  612. package/functions/safe.js.map +0 -1
  613. package/functions/throttle.d.ts +0 -39
  614. package/functions/throttle.d.ts.map +0 -1
  615. package/functions/throttle.js.map +0 -1
  616. package/lazy/light.d.ts +0 -9
  617. package/lazy/light.d.ts.map +0 -1
  618. package/lazy/light.js +0 -23
  619. package/lazy/light.js.map +0 -1
  620. package/lazy/promise.d.ts +0 -24
  621. package/lazy/promise.d.ts.map +0 -1
  622. package/lazy/promise.js +0 -56
  623. package/lazy/promise.js.map +0 -1
  624. package/lazy/singleton.d.ts +0 -18
  625. package/lazy/singleton.d.ts.map +0 -1
  626. package/lazy/singleton.js +0 -44
  627. package/lazy/singleton.js.map +0 -1
  628. package/logger/abstractions.d.ts +0 -11
  629. package/logger/abstractions.d.ts.map +0 -1
  630. package/logger/abstractions.js.map +0 -1
  631. package/logger/batch.d.ts +0 -3
  632. package/logger/batch.d.ts.map +0 -1
  633. package/logger/batch.js +0 -12
  634. package/logger/batch.js.map +0 -1
  635. package/logger/console.d.ts +0 -19
  636. package/logger/console.d.ts.map +0 -1
  637. package/logger/console.js.map +0 -1
  638. package/logger/file.d.ts +0 -16
  639. package/logger/file.d.ts.map +0 -1
  640. package/logger/file.js.map +0 -1
  641. package/logger/index.d.ts +0 -16
  642. package/logger/index.d.ts.map +0 -1
  643. package/logger/index.js +0 -64
  644. package/logger/index.js.map +0 -1
  645. package/logger/named.d.ts +0 -14
  646. package/logger/named.d.ts.map +0 -1
  647. package/logger/named.js.map +0 -1
  648. package/logger/proxy.d.ts +0 -10
  649. package/logger/proxy.d.ts.map +0 -1
  650. package/logger/proxy.js.map +0 -1
  651. package/math/arrays.d.ts +0 -43
  652. package/math/arrays.d.ts.map +0 -1
  653. package/math/arrays.js +0 -273
  654. package/math/arrays.js.map +0 -1
  655. package/math/calc.d.ts +0 -18
  656. package/math/calc.d.ts.map +0 -1
  657. package/math/calc.js +0 -85
  658. package/math/calc.js.map +0 -1
  659. package/math/distribution.d.ts +0 -6
  660. package/math/distribution.d.ts.map +0 -1
  661. package/math/distribution.js +0 -16
  662. package/math/distribution.js.map +0 -1
  663. package/math/index.d.ts +0 -6
  664. package/math/index.d.ts.map +0 -1
  665. package/math/index.js +0 -30
  666. package/math/index.js.map +0 -1
  667. package/math/object/helpers.d.ts +0 -8
  668. package/math/object/helpers.d.ts.map +0 -1
  669. package/math/object/helpers.js +0 -29
  670. package/math/object/helpers.js.map +0 -1
  671. package/math/object/index.d.ts +0 -6
  672. package/math/object/index.d.ts.map +0 -1
  673. package/math/object/index.js.map +0 -1
  674. package/math/object/math.composite.d.ts +0 -17
  675. package/math/object/math.composite.d.ts.map +0 -1
  676. package/math/object/math.composite.js.map +0 -1
  677. package/math/object/math.d.ts +0 -18
  678. package/math/object/math.d.ts.map +0 -1
  679. package/math/object/math.js.map +0 -1
  680. package/math/object/ops.composite.d.ts +0 -15
  681. package/math/object/ops.composite.d.ts.map +0 -1
  682. package/math/object/ops.composite.js.map +0 -1
  683. package/math/object/ops.d.ts +0 -21
  684. package/math/object/ops.d.ts.map +0 -1
  685. package/math/object/ops.js.map +0 -1
  686. package/math/object/types.d.ts +0 -37
  687. package/math/object/types.d.ts.map +0 -1
  688. package/math/object/types.js.map +0 -1
  689. package/models/EntityWithStatus.d.ts +0 -18
  690. package/models/EntityWithStatus.d.ts.map +0 -1
  691. package/models/EntityWithStatus.js.map +0 -1
  692. package/models/File.d.ts +0 -10
  693. package/models/File.d.ts.map +0 -1
  694. package/models/File.js.map +0 -1
  695. package/models/Model.d.ts +0 -13
  696. package/models/Model.d.ts.map +0 -1
  697. package/models/Model.js.map +0 -1
  698. package/models/ValuesCollector.d.ts +0 -26
  699. package/models/ValuesCollector.d.ts.map +0 -1
  700. package/models/ValuesCollector.js.map +0 -1
  701. package/models/types.d.ts +0 -25
  702. package/models/types.d.ts.map +0 -1
  703. package/models/types.js.map +0 -1
  704. package/models/wrappers.d.ts +0 -18
  705. package/models/wrappers.d.ts.map +0 -1
  706. package/models/wrappers.js +0 -80
  707. package/models/wrappers.js.map +0 -1
  708. package/observing/event.d.ts +0 -26
  709. package/observing/event.d.ts.map +0 -1
  710. package/observing/event.js +0 -99
  711. package/observing/event.js.map +0 -1
  712. package/observing/event.late.d.ts +0 -11
  713. package/observing/event.late.d.ts.map +0 -1
  714. package/observing/event.late.js.map +0 -1
  715. package/observing/progressTracker.d.ts +0 -28
  716. package/observing/progressTracker.d.ts.map +0 -1
  717. package/observing/progressTracker.js.map +0 -1
  718. package/observing/throttledEvent.d.ts +0 -8
  719. package/observing/throttledEvent.d.ts.map +0 -1
  720. package/observing/throttledEvent.js.map +0 -1
  721. package/observing/timer.d.ts +0 -42
  722. package/observing/timer.d.ts.map +0 -1
  723. package/observing/timer.js.map +0 -1
  724. package/storage/index.d.ts +0 -3
  725. package/storage/index.d.ts.map +0 -1
  726. package/storage/index.js.map +0 -1
  727. package/storage/types.d.ts +0 -13
  728. package/storage/types.d.ts.map +0 -1
  729. package/storage/types.js.map +0 -1
  730. package/storage/wrappers.d.ts +0 -11
  731. package/storage/wrappers.d.ts.map +0 -1
  732. package/storage/wrappers.js.map +0 -1
  733. package/structures/helpers/enum.d.ts +0 -37
  734. package/structures/helpers/enum.d.ts.map +0 -1
  735. package/structures/helpers/enum.js.map +0 -1
  736. package/structures/helpers/name.d.ts +0 -16
  737. package/structures/helpers/name.d.ts.map +0 -1
  738. package/structures/helpers/name.js.map +0 -1
  739. package/structures/linkedList.d.ts +0 -39
  740. package/structures/linkedList.d.ts.map +0 -1
  741. package/structures/linkedList.js.map +0 -1
  742. package/structures/nameof.d.ts +0 -14
  743. package/structures/nameof.d.ts.map +0 -1
  744. package/structures/nameof.js +0 -27
  745. package/structures/nameof.js.map +0 -1
  746. package/structures/path/builder.d.ts +0 -16
  747. package/structures/path/builder.d.ts.map +0 -1
  748. package/structures/path/builder.js +0 -170
  749. package/structures/path/builder.js.map +0 -1
  750. package/structures/path/index.d.ts +0 -3
  751. package/structures/path/index.d.ts.map +0 -1
  752. package/structures/path/index.js.map +0 -1
  753. package/structures/path/types.d.ts +0 -62
  754. package/structures/path/types.d.ts.map +0 -1
  755. package/structures/path/types.js.map +0 -1
  756. package/structures/path/utils.d.ts +0 -15
  757. package/structures/path/utils.d.ts.map +0 -1
  758. package/structures/path/utils.js +0 -61
  759. package/structures/path/utils.js.map +0 -1
  760. package/structures/pool.d.ts +0 -17
  761. package/structures/pool.d.ts.map +0 -1
  762. package/structures/pool.js.map +0 -1
  763. package/structures/promiseCache.d.ts +0 -86
  764. package/structures/promiseCache.d.ts.map +0 -1
  765. package/structures/promiseCache.js.map +0 -1
  766. package/structures/promiseExtended.d.ts +0 -71
  767. package/structures/promiseExtended.d.ts.map +0 -1
  768. package/structures/promiseExtended.js +0 -193
  769. package/structures/promiseExtended.js.map +0 -1
  770. package/structures/promiseProxy.d.ts +0 -30
  771. package/structures/promiseProxy.d.ts.map +0 -1
  772. package/structures/promiseProxy.js +0 -93
  773. package/structures/promiseProxy.js.map +0 -1
  774. package/structures/queue/parallel.d.ts +0 -24
  775. package/structures/queue/parallel.d.ts.map +0 -1
  776. package/structures/queue/parallel.js.map +0 -1
  777. package/structures/queue/tasks.d.ts +0 -17
  778. package/structures/queue/tasks.d.ts.map +0 -1
  779. package/structures/queue/tasks.js.map +0 -1
  780. package/structures/subscribersMap.d.ts +0 -23
  781. package/structures/subscribersMap.d.ts.map +0 -1
  782. package/structures/subscribersMap.js.map +0 -1
  783. package/structures/tempoCache.d.ts +0 -10
  784. package/structures/tempoCache.d.ts.map +0 -1
  785. package/structures/tempoCache.js +0 -23
  786. package/structures/tempoCache.js.map +0 -1
  787. package/types/arrays.d.ts +0 -4
  788. package/types/arrays.d.ts.map +0 -1
  789. package/types/arrays.js +0 -12
  790. package/types/arrays.js.map +0 -1
  791. package/types/comparator.d.ts +0 -5
  792. package/types/comparator.d.ts.map +0 -1
  793. package/types/comparator.js.map +0 -1
  794. package/types/deep.d.ts +0 -26
  795. package/types/deep.d.ts.map +0 -1
  796. package/types/deep.js.map +0 -1
  797. package/types/functions.d.ts +0 -16
  798. package/types/functions.d.ts.map +0 -1
  799. package/types/functions.js.map +0 -1
  800. package/types/getter.d.ts +0 -5
  801. package/types/getter.d.ts.map +0 -1
  802. package/types/getter.js +0 -14
  803. package/types/getter.js.map +0 -1
  804. package/types/ident.d.ts +0 -6
  805. package/types/ident.d.ts.map +0 -1
  806. package/types/ident.js.map +0 -1
  807. package/types/index.d.ts +0 -5
  808. package/types/index.d.ts.map +0 -1
  809. package/types/index.js.map +0 -1
  810. package/types/misc.d.ts +0 -38
  811. package/types/misc.d.ts.map +0 -1
  812. package/types/misc.js.map +0 -1
  813. package/validation/ValidationErrors.d.ts +0 -26
  814. package/validation/ValidationErrors.d.ts.map +0 -1
  815. package/validation/ValidationErrors.js.map +0 -1
  816. package/validation/creditCard.d.ts +0 -9
  817. package/validation/creditCard.d.ts.map +0 -1
  818. package/validation/creditCard.js.map +0 -1
  819. package/validation/emails.d.ts +0 -4
  820. package/validation/emails.d.ts.map +0 -1
  821. package/validation/emails.js +0 -12
  822. package/validation/emails.js.map +0 -1
  823. package/validation/helpers.d.ts +0 -11
  824. package/validation/helpers.d.ts.map +0 -1
  825. package/validation/helpers.js +0 -78
  826. package/validation/helpers.js.map +0 -1
  827. package/validation/index.d.ts +0 -6
  828. package/validation/index.d.ts.map +0 -1
  829. package/validation/index.js.map +0 -1
  830. package/validation/throwers.d.ts +0 -14
  831. package/validation/throwers.d.ts.map +0 -1
  832. package/validation/throwers.js +0 -29
  833. package/validation/throwers.js.map +0 -1
  834. package/validation/types.d.ts +0 -19
  835. package/validation/types.d.ts.map +0 -1
  836. package/validation/types.js.map +0 -1
  837. package/validation/validators.d.ts +0 -31
  838. package/validation/validators.d.ts.map +0 -1
  839. package/validation/validators.js.map +0 -1
  840. package/validation/wrappers.d.ts +0 -7
  841. package/validation/wrappers.d.ts.map +0 -1
  842. package/validation/wrappers.js.map +0 -1
  843. /package/{api → cjs/api}/endpoint.js +0 -0
  844. /package/{api → cjs/api}/endpoint.types.js +0 -0
  845. /package/{api → cjs/api}/error.js +0 -0
  846. /package/{api → cjs/api}/index.js +0 -0
  847. /package/{api → cjs/api}/logging.js +0 -0
  848. /package/{api → cjs/api}/methods.js +0 -0
  849. /package/{api → cjs/api}/processor.js +0 -0
  850. /package/{api → cjs/api}/statusCodes.js +0 -0
  851. /package/{dates → cjs/dates}/format.js +0 -0
  852. /package/{dates → cjs/dates}/index.js +0 -0
  853. /package/{dates → cjs/dates}/period.js +0 -0
  854. /package/{dates → cjs/dates}/types.js +0 -0
  855. /package/{dates → cjs/dates}/tz.js +0 -0
  856. /package/{dates → cjs/dates}/yearDate.js +0 -0
  857. /package/{fields → cjs/fields}/index.js +0 -0
  858. /package/{fields → cjs/fields}/skip.js +0 -0
  859. /package/{functions → cjs/functions}/throttle.js +0 -0
  860. /package/{math/object → cjs/lazy}/types.js +0 -0
  861. /package/{logger → cjs/logger}/abstractions.js +0 -0
  862. /package/{logger → cjs/logger}/console.js +0 -0
  863. /package/{logger → cjs/logger}/file.js +0 -0
  864. /package/{logger → cjs/logger}/named.js +0 -0
  865. /package/{logger → cjs/logger}/proxy.js +0 -0
  866. /package/{math → cjs/math}/object/index.js +0 -0
  867. /package/{math → cjs/math}/object/math.composite.js +0 -0
  868. /package/{math → cjs/math}/object/math.js +0 -0
  869. /package/{math → cjs/math}/object/ops.composite.js +0 -0
  870. /package/{math → cjs/math}/object/ops.js +0 -0
  871. /package/{models → cjs/math/object}/types.js +0 -0
  872. /package/{models → cjs/models}/EntityWithStatus.js +0 -0
  873. /package/{models → cjs/models}/File.js +0 -0
  874. /package/{models → cjs/models}/Model.js +0 -0
  875. /package/{models → cjs/models}/ValuesCollector.js +0 -0
  876. /package/{storage → cjs/models}/types.js +0 -0
  877. /package/{observing → cjs/observing}/event.late.js +0 -0
  878. /package/{observing → cjs/observing}/progressTracker.js +0 -0
  879. /package/{observing → cjs/observing}/throttledEvent.js +0 -0
  880. /package/{observing → cjs/observing}/timer.js +0 -0
  881. /package/{storage → cjs/storage}/index.js +0 -0
  882. /package/{structures/path → cjs/storage}/types.js +0 -0
  883. /package/{storage → cjs/storage}/wrappers.js +0 -0
  884. /package/{structures → cjs/structures}/helpers/enum.js +0 -0
  885. /package/{structures → cjs/structures}/helpers/name.js +0 -0
  886. /package/{structures → cjs/structures}/linkedList.js +0 -0
  887. /package/{structures → cjs/structures}/path/index.js +0 -0
  888. /package/{structures → cjs/structures}/pool.js +0 -0
  889. /package/{structures → cjs/structures}/promiseCache.js +0 -0
  890. /package/{structures → cjs/structures}/queue/parallel.js +0 -0
  891. /package/{structures → cjs/structures}/queue/tasks.js +0 -0
  892. /package/{structures → cjs/structures}/subscribersMap.js +0 -0
  893. /package/{types → cjs/types}/comparator.js +0 -0
  894. /package/{types → cjs/types}/deep.js +0 -0
  895. /package/{types → cjs/types}/functions.js +0 -0
  896. /package/{types → cjs/types}/ident.js +0 -0
  897. /package/{types → cjs/types}/index.js +0 -0
  898. /package/{types → cjs/types}/misc.js +0 -0
  899. /package/{validation → cjs/validation}/ValidationErrors.js +0 -0
  900. /package/{validation → cjs/validation}/creditCard.js +0 -0
  901. /package/{validation → cjs/validation}/index.js +0 -0
  902. /package/{validation → cjs/validation}/types.js +0 -0
  903. /package/{validation → cjs/validation}/validators.js +0 -0
  904. /package/{validation → cjs/validation}/wrappers.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dates/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAQlC,MAAM,KAAW,WAAW,CAqD3B;AArDD,WAAiB,WAAW;IAUxB,IAAiB,QAAQ,CA0CxB;IA1CD,WAAiB,QAAQ;QAErB,SAAgB,IAAI,CAAC,CAAuB;YACxC,QAAQ,CAAC,EAAE,CAAC;gBACR,KAAK,aAAa,CAAC,CAAC,CAAC;oBACjB,OAAO,CAAC,CAAC;gBACb,CAAC;gBACD,KAAK,QAAQ,CAAC,CAAC,CAAC;oBACZ,OAAO,IAAI,CAAC;gBAChB,CAAC;gBACD,KAAK,QAAQ,CAAC,CAAC,CAAC;oBACZ,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC/B,CAAC;gBACD,KAAK,MAAM,CAAC,CAAC,CAAC;oBACV,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC/B,CAAC;gBACD,KAAK,KAAK,CAAC,CAAC,CAAC;oBACT,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC7B,CAAC;gBACD,KAAK,MAAM,CAAC,CAAC,CAAC;oBACV,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC3B,CAAC;gBACD,OAAO,CAAC,CAAC,CAAC;oBACN,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;gBAC/C,CAAC;YACL,CAAC;QACL,CAAC;QAxBe,aAAI,OAwBnB,CAAA;QAED,SAAgB,OAAO,CAAC,MAAc,EAAE,CAAuB,EAAE,EAAwB;YACrF,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;YACtB,OAAO,EAAE,GAAG,IAAI,CAAC;QACrB,CAAC;QAJe,gBAAO,UAItB,CAAA;QAED,SAAgB,KAAK,CAAC,IAAmB,EAAE,MAAc,EAAE,WAAiC;YACxF,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1B,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;gBACf,OAAO,GAAG,CAAC;YACf,CAAC;YAED,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAChE,CAAC;QAPe,cAAK,QAOpB,CAAA;IACL,CAAC,EA1CgB,QAAQ,GAAR,oBAAQ,KAAR,oBAAQ,QA0CxB;AACL,CAAC,EArDgB,WAAW,KAAX,WAAW,QAqD3B"}
@@ -0,0 +1,49 @@
1
+ /** This is experimental stuff, so no tests provided, see comments in the code */
2
+ export var Timezones;
3
+ (function (Timezones) {
4
+ Timezones.Current = Intl.DateTimeFormat().resolvedOptions().timeZone;
5
+ Timezones.CurrentOffset = new Date().getTimezoneOffset();
6
+ // https://stackoverflow.com/a/64262840/9053142
7
+ // tested locally, but it's hard to write tests since they are based on the local timezone, browser implementation and whether DST is active
8
+ // it's recommended to wrap with try/catch and don't rely it will always work
9
+ Timezones.getOffset = (timeZone) => {
10
+ const timeZoneName = Intl.DateTimeFormat('ia', {
11
+ timeZoneName: 'longOffset',
12
+ timeZone,
13
+ })
14
+ .formatToParts()
15
+ .find((i) => i.type === 'timeZoneName')
16
+ ?.value;
17
+ const offset = timeZoneName?.slice(3);
18
+ if (!offset) {
19
+ return 0;
20
+ }
21
+ const matchData = offset.match(/([+-])(\d+)(?::(\d+))?/);
22
+ if (!matchData) {
23
+ throw new Error(`cannot parse timezone name: ${timeZoneName} given from ${timeZone}`);
24
+ }
25
+ const [, sign, hour, minute] = matchData;
26
+ let result = parseInt(hour, 10) * 60;
27
+ if (minute) {
28
+ result += parseInt(minute, 10);
29
+ }
30
+ if (sign === '+') {
31
+ result *= -1;
32
+ }
33
+ return result;
34
+ };
35
+ // Tests may look like this:
36
+ /*
37
+ expect(Timezones.getOffset('America/New_York')).toBe(240);
38
+ expect(Timezones.getOffset('Europe/Paris')).toBe(-120);
39
+ expect(Timezones.getOffset('Europe/Kiev')).toBe(-180);
40
+ expect(Timezones.getOffset('Asia/Kolkata')).toBe(-270);
41
+ */
42
+ function shiftToTimeZone(date, tz) {
43
+ const offset = typeof tz === 'number' ? tz : Timezones.getOffset(tz);
44
+ const shifted = new Date(date.getTime() + offset * 60 * 1000);
45
+ return shifted;
46
+ }
47
+ Timezones.shiftToTimeZone = shiftToTimeZone;
48
+ })(Timezones || (Timezones = {}));
49
+ //# sourceMappingURL=tz.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tz.js","sourceRoot":"","sources":["../../../src/dates/tz.ts"],"names":[],"mappings":"AACA,iFAAiF;AACjF,MAAM,KAAW,SAAS,CAoDzB;AApDD,WAAiB,SAAS;IAET,iBAAO,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;IAC3D,uBAAa,GAAG,IAAI,IAAI,EAAE,CAAC,iBAAiB,EAAE,CAAC;IAE5D,+CAA+C;IAC/C,4IAA4I;IAC5I,6EAA6E;IAChE,mBAAS,GAAG,CAAC,QAAgB,EAAE,EAAE;QAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;YAC3C,YAAY,EAAE,YAAY;YAC1B,QAAQ;SACX,CAAC;aACG,aAAa,EAAE;aACf,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC;YACvC,EAAE,KAAK,CAAC;QAEZ,MAAM,MAAM,GAAG,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,CAAC,CAAC;QACb,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,+BAA+B,YAAY,eAAe,QAAQ,EAAE,CAAC,CAAC;QAC1F,CAAC;QAED,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;QACzC,IAAI,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC;QACrC,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,CAAC,CAAC;QACjB,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;IAEF,4BAA4B;IAC5B;;;;;MAKE;IAEF,SAAgB,eAAe,CAAC,IAAU,EAAE,EAAmB;QAC3D,MAAM,MAAM,GAAG,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAA,SAAS,CAAC,EAAE,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAC9D,OAAO,OAAO,CAAC;IACnB,CAAC;IAJe,yBAAe,kBAI9B,CAAA;AACL,CAAC,EApDgB,SAAS,KAAT,SAAS,QAoDzB"}
@@ -0,0 +1,35 @@
1
+ import { getDate } from './parse';
2
+ export var YearDate;
3
+ (function (YearDate) {
4
+ function isValid(yd) {
5
+ return yd && typeof yd.day === 'number' && typeof yd.month === 'number';
6
+ }
7
+ YearDate.isValid = isValid;
8
+ function matches(yearDate, date, local = false) {
9
+ const d = getDate(date);
10
+ return local
11
+ ? d.getMonth() === yearDate?.month && d.getDate() === yearDate?.day
12
+ : d.getUTCMonth() === yearDate?.month && d.getUTCDate() === yearDate?.day;
13
+ }
14
+ YearDate.matches = matches;
15
+ function toDate(yd, year = new Date().getUTCFullYear()) {
16
+ if (!yd) {
17
+ return null;
18
+ }
19
+ return new Date(Date.UTC(year, yd.month || 0, yd.day || 1, 12));
20
+ }
21
+ YearDate.toDate = toDate;
22
+ function fromDate(date) {
23
+ const d = getDate(date);
24
+ return {
25
+ month: d.getUTCMonth(),
26
+ day: d.getUTCDate(),
27
+ };
28
+ }
29
+ YearDate.fromDate = fromDate;
30
+ function equals(yd1, yd2) {
31
+ return yd1?.month === yd2?.month && yd1?.day === yd1?.month;
32
+ }
33
+ YearDate.equals = equals;
34
+ })(YearDate || (YearDate = {}));
35
+ //# sourceMappingURL=yearDate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yearDate.js","sourceRoot":"","sources":["../../../src/dates/yearDate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAKlC,MAAM,KAAW,QAAQ,CA8BxB;AA9BD,WAAiB,QAAQ;IACrB,SAAgB,OAAO,CAAC,EAAY;QAChC,OAAO,EAAE,IAAI,OAAO,EAAE,CAAC,GAAG,KAAK,QAAQ,IAAI,OAAO,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC;IAC5E,CAAC;IAFe,gBAAO,UAEtB,CAAA;IAED,SAAgB,OAAO,CAAC,QAAkB,EAAE,IAAmB,EAAE,KAAK,GAAG,KAAK;QAC1E,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACxB,OAAO,KAAK;YACR,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,QAAQ,EAAE,KAAK,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,QAAQ,EAAE,GAAG;YACnE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,QAAQ,EAAE,KAAK,IAAI,CAAC,CAAC,UAAU,EAAE,KAAK,QAAQ,EAAE,GAAG,CAAC;IAClF,CAAC;IALe,gBAAO,UAKtB,CAAA;IAED,SAAgB,MAAM,CAAC,EAAY,EAAE,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,cAAc,EAAE;QACnE,IAAI,CAAC,EAAE,EAAE,CAAC;YACN,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;IALe,eAAM,SAKrB,CAAA;IAED,SAAgB,QAAQ,CAAC,IAAmB;QACxC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACxB,OAAO;YACH,KAAK,EAAE,CAAC,CAAC,WAAW,EAAE;YACtB,GAAG,EAAE,CAAC,CAAC,UAAU,EAAE;SACtB,CAAC;IACN,CAAC;IANe,iBAAQ,WAMvB,CAAA;IAED,SAAgB,MAAM,CAAC,GAAa,EAAE,GAAa;QAC/C,OAAO,GAAG,EAAE,KAAK,KAAK,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,GAAG,KAAK,GAAG,EAAE,KAAK,CAAC;IAChE,CAAC;IAFe,eAAM,SAErB,CAAA;AACL,CAAC,EA9BgB,QAAQ,KAAR,QAAQ,QA8BxB"}
@@ -0,0 +1,25 @@
1
+ export function filterFields(source, ...fields) {
2
+ const res = {};
3
+ fields.forEach(k => {
4
+ if (typeof k === 'object') {
5
+ const v = source[k.key];
6
+ if (k.filter(v)) {
7
+ res[k.key] = v;
8
+ }
9
+ }
10
+ else {
11
+ const v = source[k];
12
+ if (v) {
13
+ res[k] = v;
14
+ }
15
+ }
16
+ });
17
+ return res;
18
+ }
19
+ (function (filterFields) {
20
+ function Truethy() { return (v) => !!v; }
21
+ filterFields.Truethy = Truethy;
22
+ function NotNull() { return v => v != null; }
23
+ filterFields.NotNull = NotNull;
24
+ })(filterFields || (filterFields = {}));
25
+ //# sourceMappingURL=filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/fields/filter.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,YAAY,CAAI,MAAkB,EAAE,GAAG,MAA+D;IAClH,MAAM,GAAG,GAAe,EAAG,CAAC;IAE5B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACf,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBACd,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,EAAE,CAAC;gBACJ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACf,CAAC;QACL,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACf,CAAC;AAED,WAAiB,YAAY;IACzB,SAAgB,OAAO,KAAwB,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAAnD,oBAAO,UAA4C,CAAA;IACnE,SAAgB,OAAO,KAAwB,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;IAAvD,oBAAO,UAAgD,CAAA;AAC3E,CAAC,EAHgB,YAAY,KAAZ,YAAY,QAG5B"}
@@ -0,0 +1,4 @@
1
+ export * from './filter';
2
+ export * from './update';
3
+ export * from './transfer';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/fields/index.ts"],"names":[],"mappings":"AACA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC"}
@@ -0,0 +1,29 @@
1
+ export var SkipOptions;
2
+ (function (SkipOptions) {
3
+ function shouldSkip(v, skip) {
4
+ if (v == null && skip === 'null') {
5
+ return true;
6
+ }
7
+ if (!v && (skip === 'falsy' || skip === true)) {
8
+ return true;
9
+ }
10
+ return false;
11
+ }
12
+ SkipOptions.shouldSkip = shouldSkip;
13
+ })(SkipOptions || (SkipOptions = {}));
14
+ export var SkipCondition;
15
+ (function (SkipCondition) {
16
+ function shouldSkip(condition, key, val) {
17
+ if (typeof condition === 'function') {
18
+ if (condition(key, val)) {
19
+ return true;
20
+ }
21
+ }
22
+ else if (SkipOptions.shouldSkip(val, condition)) {
23
+ return true;
24
+ }
25
+ return false;
26
+ }
27
+ SkipCondition.shouldSkip = shouldSkip;
28
+ })(SkipCondition || (SkipCondition = {}));
29
+ //# sourceMappingURL=skip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skip.js","sourceRoot":"","sources":["../../../src/fields/skip.ts"],"names":[],"mappings":"AAUA,MAAM,KAAW,WAAW,CAW3B;AAXD,WAAiB,WAAW;IACxB,SAAgB,UAAU,CAAU,CAAW,EAAE,IAAiB;QAC9D,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IATe,sBAAU,aASzB,CAAA;AACL,CAAC,EAXgB,WAAW,KAAX,WAAW,QAW3B;AAID,MAAM,KAAW,aAAa,CAY7B;AAZD,WAAiB,aAAa;IAC1B,SAAgB,UAAU,CAAoC,SAAiC,EAAE,GAAS,EAAE,GAAmB;QAC3H,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE,CAAC;YAClC,IAAI,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;gBACtB,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;aAAM,IAAI,WAAW,CAAC,UAAU,CAAU,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC;YACzD,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAVe,wBAAU,aAUzB,CAAA;AACL,CAAC,EAZgB,aAAa,KAAb,aAAa,QAY7B"}
@@ -0,0 +1,41 @@
1
+ export function transferFields(source, predicate, destination, ...fields) {
2
+ let count = 0;
3
+ fields.forEach(f => {
4
+ const v = source[f];
5
+ if (!predicate || predicate(f, v)) {
6
+ destination[f] = v;
7
+ ++count;
8
+ }
9
+ });
10
+ return count;
11
+ }
12
+ (function (transferFields) {
13
+ function truthy(source, destination, ...fields) {
14
+ return transferFields(source, (f, v) => !!v, destination, ...fields);
15
+ }
16
+ transferFields.truthy = truthy;
17
+ function notNull(source, destination, ...fields) {
18
+ return transferFields(source, (f, v) => v != null, destination, ...fields);
19
+ }
20
+ transferFields.notNull = notNull;
21
+ function defined(source, destination, ...fields) {
22
+ return transferFields(source, (f, v) => v !== undefined, destination, ...fields);
23
+ }
24
+ transferFields.defined = defined;
25
+ function changed(source, compare, destination, ...fields) {
26
+ return transferFields(source, (f, v) => v !== undefined && source[f] !== compare[f], destination, ...fields);
27
+ }
28
+ transferFields.changed = changed;
29
+ })(transferFields || (transferFields = {}));
30
+ export function hasChangedFields(left, right, ...fields) {
31
+ return fields.some(f => left[f] !== right[f]);
32
+ }
33
+ export function extractChangedFields(source, image, ...fields) {
34
+ const res = {};
35
+ const count = transferFields(source, (f, v) => v !== undefined && v !== image[f], res, ...fields);
36
+ return {
37
+ transferred: count,
38
+ result: res,
39
+ };
40
+ }
41
+ //# sourceMappingURL=transfer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../../src/fields/transfer.ts"],"names":[],"mappings":"AACA,MAAM,UAAU,cAAc,CAC1B,MAAS,EACT,SAAiD,EACjD,WAAuB,EACvB,GAAG,MAAmB;IAEtB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACf,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YAChC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACnB,EAAE,KAAK,CAAC;QACZ,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,WAAiB,cAAc;IAC3B,SAAgB,MAAM,CAClB,MAAS,EACT,WAAuB,EACvB,GAAG,MAAmB;QAEtB,OAAO,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,CAAC;IACzE,CAAC;IANe,qBAAM,SAMrB,CAAA;IAED,SAAgB,OAAO,CACnB,MAAS,EACT,WAAuB,EACvB,GAAG,MAAmB;QAEtB,OAAO,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,CAAC;IAC/E,CAAC;IANe,sBAAO,UAMtB,CAAA;IAED,SAAgB,OAAO,CACnB,MAAS,EACT,WAAuB,EACvB,GAAG,MAAmB;QAEtB,OAAO,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,CAAC;IACrF,CAAC;IANe,sBAAO,UAMtB,CAAA;IAED,SAAgB,OAAO,CACnB,MAAS,EACT,OAAU,EACV,WAAuB,EACvB,GAAG,MAAmB;QAEtB,OAAO,cAAc,CACjB,MAAM,EACN,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EACrD,WAAW,EACX,GAAG,MAAM,CACZ,CAAC;IACN,CAAC;IAZe,sBAAO,UAYtB,CAAA;AACL,CAAC,EAtCgB,cAAc,KAAd,cAAc,QAsC9B;AAED,MAAM,UAAU,gBAAgB,CAAI,IAAO,EAAE,KAAQ,EAAE,GAAG,MAAmB;IACzE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AAOD,MAAM,UAAU,oBAAoB,CAChC,MAAkB,EAClB,KAAQ,EACR,GAAG,MAAmB;IAEtB,MAAM,GAAG,GAAe,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,cAAc,CACxB,MAAM,EACN,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,EAC3C,GAAG,EACH,GAAG,MAAM,CACZ,CAAC;IACF,OAAO;QACH,WAAW,EAAE,KAAK;QAClB,MAAM,EAAE,GAAG;KACd,CAAC;AACN,CAAC"}
@@ -0,0 +1,73 @@
1
+ export function updateField(target, source, diff, key, hasChanged = null) {
2
+ return updateFieldExtended(target, source, diff, t => t[key], (t, v) => t[key] = v, hasChanged);
3
+ }
4
+ export function updateFieldExtended(target, source, diff, get, set, hasChanged = null) {
5
+ const _hasChanged = hasChanged ?? ((v1, v2) => (get(v1) !== get(v2)));
6
+ let changed = true;
7
+ if (get(source) !== undefined && _hasChanged(source, target)) {
8
+ changed = true;
9
+ set(diff, get(target));
10
+ set(target, get(source));
11
+ }
12
+ return changed;
13
+ }
14
+ const DefaultComparator = (v1, v2) => v1 === v2;
15
+ const DefaultUpdater = (v1, v2) => Object.assign(v1, v2);
16
+ export function updateArray(target, source, options) {
17
+ if (!source) {
18
+ return { changed: 0, result: target };
19
+ }
20
+ let changed = 0;
21
+ const result = Array.isArray(target)
22
+ ? (options?.clone ? target.slice() : target)
23
+ : [];
24
+ const comparator = options?.comparator || DefaultComparator;
25
+ const updater = options?.updater || DefaultUpdater;
26
+ const onDeleted = options?.hooks?.onDeleted;
27
+ const onUpdate = options?.hooks?.onUpdated;
28
+ const onAdded = options?.hooks?.onAdded;
29
+ // remove all missing elements
30
+ if (!options?.additive) {
31
+ for (let i = 0; i < result.length; ++i) {
32
+ if (source.find(item => comparator(item, result[i])) == null) {
33
+ // DELETE
34
+ const removed = result.splice(i, 1);
35
+ onDeleted?.(removed[0], i);
36
+ ++changed;
37
+ --i;
38
+ }
39
+ }
40
+ }
41
+ const unshift = options?.unshift || false;
42
+ // add all new elements and update existing
43
+ source.forEach(item => {
44
+ const existingIndex = result.findIndex(i => comparator(item, i));
45
+ const existingItem = result[existingIndex];
46
+ if (existingIndex < 0) {
47
+ if (unshift) {
48
+ result.unshift(item);
49
+ }
50
+ else {
51
+ result.push(item);
52
+ }
53
+ onAdded?.(item, unshift ? 0 : result.length - 1);
54
+ ++changed;
55
+ }
56
+ else if (typeof existingItem === 'object') {
57
+ const before = onUpdate != null ? { ...existingItem } : undefined;
58
+ result[existingIndex] = updater(existingItem, item);
59
+ if (onUpdate != null) {
60
+ onUpdate(before, result[existingIndex], existingIndex);
61
+ }
62
+ }
63
+ });
64
+ const sorter = options?.sorter;
65
+ if (sorter !== null) {
66
+ result.sort(sorter || undefined);
67
+ }
68
+ return {
69
+ result,
70
+ changed,
71
+ };
72
+ }
73
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/fields/update.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { Getter } from '../types';
2
+ import logger from '../logger';
3
+ export function assert(condition, error, objectToLog) {
4
+ if (condition) {
5
+ return;
6
+ }
7
+ const e = Getter.getValue(error);
8
+ if (objectToLog) {
9
+ logger.error('Assertion failed:', e, Getter.getValue(objectToLog));
10
+ }
11
+ if (typeof e === 'string') {
12
+ throw new Error(e);
13
+ }
14
+ throw e;
15
+ }
16
+ //# sourceMappingURL=assert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assert.js","sourceRoot":"","sources":["../../../src/functions/assert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,MAAM,UAAU,MAAM,CAAC,SAAkB,EAAE,KAA6B,EAAE,WAAyB;IAC/F,IAAI,SAAS,EAAE,CAAC;QACZ,OAAO;IACX,CAAC;IAED,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,WAAW,EAAE,CAAC;QACd,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,CAAC;AACZ,CAAC"}
@@ -0,0 +1,66 @@
1
+ import logger from '../logger';
2
+ export class Disposer {
3
+ _disposers = [];
4
+ _map = new Map();
5
+ _loggerName = null;
6
+ constructor(loggerName = null) {
7
+ this._loggerName = loggerName;
8
+ }
9
+ setLoggerName(loggerName) {
10
+ this._loggerName = loggerName;
11
+ return this;
12
+ }
13
+ add(d, id) {
14
+ if (!d) {
15
+ return;
16
+ }
17
+ const dd = typeof d !== 'function'
18
+ ? (() => d.dispose ? d.dispose() : null)
19
+ : d;
20
+ this._disposers.push(dd);
21
+ if (id) {
22
+ // dispose previous identified disposer
23
+ if (this._map.has(id)) {
24
+ this.execute(id);
25
+ }
26
+ this._map.set(id, dd);
27
+ }
28
+ }
29
+ execute(id) {
30
+ const d = this._map.get(id);
31
+ if (!d) {
32
+ return;
33
+ }
34
+ this._map.delete(id);
35
+ const i = this._disposers.indexOf(d);
36
+ if (i >= 0) {
37
+ this._disposers.splice(i, 1);
38
+ }
39
+ d();
40
+ }
41
+ dispose(log = false) {
42
+ if (log) {
43
+ logger.log(`[Disposer:${this._loggerName || '<unknown>'}] Disposing ${this._disposers.length} items including named ones:`, Array.from(this._map.entries()).map(e => e[0]));
44
+ }
45
+ const copy = this._disposers.slice().reverse();
46
+ this._disposers.length = 0;
47
+ this._map.clear();
48
+ // this should separate side effects
49
+ copy.forEach(d => d());
50
+ }
51
+ }
52
+ export function combineDisposers(...items) {
53
+ return () => items.forEach(i => i());
54
+ }
55
+ export class Disposable {
56
+ disposer;
57
+ _isDisposed = false;
58
+ constructor(loggerName = null) {
59
+ this.disposer = new Disposer(loggerName);
60
+ }
61
+ dispose = () => {
62
+ this._isDisposed = true;
63
+ this.disposer.dispose();
64
+ };
65
+ }
66
+ //# sourceMappingURL=disposer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disposer.js","sourceRoot":"","sources":["../../../src/functions/disposer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ // Symbol.dispose ??= Symbol('Symbol.dispose');
2
+ if (!('dispose' in Symbol)) {
3
+ // @ts-expect-error polyfill for Symbol.dispose
4
+ Symbol.dispose = Symbol('Symbol.dispose');
5
+ }
6
+ // Symbol.asyncDispose ??= Symbol('Symbol.asyncDispose');
7
+ if (!('asyncDispose' in Symbol)) {
8
+ // @ts-expect-error polyfill for Symbol.asyncDispose
9
+ Symbol.asyncDispose = Symbol('Symbol.asyncDispose');
10
+ }
11
+ // for demonstration purposes, but use as base class if needed
12
+ export class SymbolDisposable {
13
+ [Symbol.dispose] = () => this.dispose();
14
+ }
15
+ export function makeSymbolDisposable(obj) {
16
+ const fn = () => obj.dispose();
17
+ Object.defineProperty(obj, Symbol.dispose, {
18
+ get() {
19
+ return fn;
20
+ },
21
+ });
22
+ return obj;
23
+ }
24
+ //# sourceMappingURL=disposer.symbols.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disposer.symbols.js","sourceRoot":"","sources":["../../../src/functions/disposer.symbols.ts"],"names":[],"mappings":"AAEA,+CAA+C;AAC/C,IAAI,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE,CAAC;IACzB,+CAA+C;IAC/C,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAC9C,CAAC;AAED,yDAAyD;AACzD,IAAI,CAAC,CAAC,cAAc,IAAI,MAAM,CAAC,EAAE,CAAC;IAC9B,oDAAoD;IACpD,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AACxD,CAAC;AAED,8DAA8D;AAC9D,MAAM,OAAgB,gBAAgB;IAElC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;CAG3C;AAGD,MAAM,UAAU,oBAAoB,CAAwB,GAAM;IAC9D,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IAE/B,MAAM,CAAC,cAAc,CACjB,GAAG,EACH,MAAM,CAAC,OAAO,EACd;QACI,GAAG;YACC,OAAO,EAAE,CAAC;QACd,CAAC;KACJ,CACJ,CAAC;IAEF,OAAO,GAA2B,CAAC;AACvC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export function catchPromise(promise, cb) {
2
+ Promise.resolve(promise).catch(err => cb?.(err));
3
+ }
4
+ //# sourceMappingURL=safe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safe.js","sourceRoot":"","sources":["../../../src/functions/safe.ts"],"names":[],"mappings":"AACA,MAAM,UAAU,YAAY,CAAC,OAA4B,EAAE,EAAuB;IAC9E,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AACrD,CAAC"}
@@ -0,0 +1,132 @@
1
+ import { createManualPromise } from '../async/misc';
2
+ import { createLogger } from '../logger';
3
+ import { random } from '../math';
4
+ import { catchPromise } from './safe';
5
+ /** Runs a callback after a timeout, ignoring all consecutive calls until the first is processed. */
6
+ export class ThrottleAction {
7
+ timeout;
8
+ _timeoutRef = null;
9
+ _postponedCb = null;
10
+ _locked = false;
11
+ _logger = null;
12
+ /**
13
+ * In case previous action has started processing but not finished yet, and the following one is going to start,
14
+ * this flag allows to run the second in parallel.
15
+ */
16
+ _allowParallelRuns = false;
17
+ _currentRun = null;
18
+ constructor(timeout = 1000) {
19
+ this.timeout = timeout;
20
+ }
21
+ useParallelRuns() {
22
+ this._allowParallelRuns = true;
23
+ return this;
24
+ }
25
+ useLogger(logger) {
26
+ if (typeof logger === 'string') {
27
+ this._logger = createLogger(logger);
28
+ }
29
+ else {
30
+ this._logger = logger;
31
+ }
32
+ return this;
33
+ }
34
+ clear() {
35
+ if (this._timeoutRef) {
36
+ clearTimeout(this._timeoutRef);
37
+ }
38
+ this._timeoutRef = null;
39
+ this._postponedCb = null;
40
+ }
41
+ tryRun(cb, restartTimeout = false) {
42
+ if (!this._timeoutRef) { // start new timeout
43
+ if (!this._currentRun) {
44
+ this._currentRun = createManualPromise();
45
+ }
46
+ const result = this._currentRun.promise;
47
+ this._postponedCb = cb;
48
+ this._timeoutRef = setTimeout(() => catchPromise(this.forceRun()), this.timeout);
49
+ return result;
50
+ }
51
+ if (restartTimeout) {
52
+ this.clear();
53
+ return this.tryRun(cb, false);
54
+ }
55
+ return this.getPromise();
56
+ }
57
+ forceRun = async () => {
58
+ const cb = this._postponedCb;
59
+ const p = this._currentRun;
60
+ this._currentRun = null;
61
+ this.clear();
62
+ if (!this._allowParallelRuns && this._locked) {
63
+ // This happening when the previous call is still running, while the new one has finished its timeout and is willing to run.
64
+ // This is probably OK since the running call should cover the current one.
65
+ // TODO Maybe just don't start timeout if the lock is set?
66
+ // The reason for not doing that 👆 is there's still a valid case when previous is still working but it's legit to start a new one (e.g. some state has changed already)
67
+ this._logger?.warn('[ThrottleAction] THROTTLE LOCKED, but another call is forced. Skipping since the behavior is undefined.');
68
+ }
69
+ else if (cb) {
70
+ let result = undefined;
71
+ const lockId = random(1, 1_000_000);
72
+ try {
73
+ this._locked = lockId;
74
+ result = await cb();
75
+ p?.resolve(result);
76
+ return result;
77
+ }
78
+ catch (err) {
79
+ p?.reject(err);
80
+ return undefined;
81
+ }
82
+ finally {
83
+ if (this._locked === lockId) {
84
+ this._locked = false;
85
+ }
86
+ }
87
+ }
88
+ };
89
+ getPromise() {
90
+ return this._currentRun?.promise || Promise.resolve(undefined);
91
+ }
92
+ }
93
+ export class ThrottleProcessor {
94
+ process;
95
+ _queue = [];
96
+ _action;
97
+ _promise = null;
98
+ constructor(process, timeout = 1000) {
99
+ this.process = process;
100
+ if (!process) {
101
+ throw new Error('Arg0 expected: process');
102
+ }
103
+ this._action = new ThrottleAction(timeout)
104
+ .useParallelRuns();
105
+ }
106
+ useLogger(logger) {
107
+ this._action.useLogger(logger);
108
+ return this;
109
+ }
110
+ async push(data) {
111
+ const index = this._queue.push(data) - 1;
112
+ const res = await this._action.tryRun(this._process, true);
113
+ return {
114
+ result: res,
115
+ index,
116
+ };
117
+ }
118
+ _process = async () => {
119
+ if (!this._queue.length) {
120
+ return;
121
+ }
122
+ const objs = this._queue.slice();
123
+ this._queue.length = 0;
124
+ return this.process(objs);
125
+ };
126
+ clear() {
127
+ this._action.clear();
128
+ this._promise?.resolve(undefined);
129
+ this._promise = null;
130
+ }
131
+ }
132
+ //# sourceMappingURL=throttle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"throttle.js","sourceRoot":"","sources":["../../../src/functions/throttle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ export function createLazy(factory) {
2
+ const _factory = factory;
3
+ let _instance = undefined;
4
+ const res = {
5
+ get value() {
6
+ if (_instance === undefined) {
7
+ _instance = _factory();
8
+ }
9
+ return _instance;
10
+ },
11
+ get currentValue() { return _instance; },
12
+ get hasValue() { return _instance !== undefined; },
13
+ reset: () => {
14
+ _instance = undefined;
15
+ },
16
+ dispose: () => res.reset(),
17
+ };
18
+ return res;
19
+ }
20
+ //# sourceMappingURL=light.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"light.js","sourceRoot":"","sources":["../../../src/lazy/light.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,UAAU,CAAI,OAAgB;IAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC;IACzB,IAAI,SAAS,GAAkB,SAAS,CAAC;IAEzC,MAAM,GAAG,GAAa;QAClB,IAAI,KAAK;YACL,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC1B,SAAS,GAAG,QAAQ,EAAE,CAAC;YAC3B,CAAC;YACD,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,IAAI,YAAY,KAAK,OAAO,SAAS,CAAC,CAAC,CAAC;QACxC,IAAI,QAAQ,KAAK,OAAO,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC;QAClD,KAAK,EAAE,GAAG,EAAE;YACR,SAAS,GAAG,SAAS,CAAC;QAC1B,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE;KAC7B,CAAC;IAEF,OAAO,GAAG,CAAC;AACf,CAAC"}