@zajno/common 2.3.18 → 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 (907) 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.map +1 -0
  61. package/cjs/lazy/singleton.js.map +1 -0
  62. package/cjs/lazy/types.js.map +1 -0
  63. package/cjs/logger/abstractions.js.map +1 -0
  64. package/cjs/logger/batch.js +11 -0
  65. package/cjs/logger/batch.js.map +1 -0
  66. package/cjs/logger/console.js.map +1 -0
  67. package/cjs/logger/file.js.map +1 -0
  68. package/cjs/logger/index.js +28 -0
  69. package/cjs/logger/index.js.map +1 -0
  70. package/cjs/logger/manager.js +89 -0
  71. package/cjs/logger/manager.js.map +1 -0
  72. package/cjs/logger/named.js.map +1 -0
  73. package/cjs/logger/proxy.js.map +1 -0
  74. package/cjs/math/arrays.js +289 -0
  75. package/cjs/math/arrays.js.map +1 -0
  76. package/cjs/math/calc.js +84 -0
  77. package/cjs/math/calc.js.map +1 -0
  78. package/cjs/math/distribution.js +15 -0
  79. package/cjs/math/distribution.js.map +1 -0
  80. package/cjs/math/index.js +29 -0
  81. package/cjs/math/index.js.map +1 -0
  82. package/cjs/math/object/helpers.js +28 -0
  83. package/cjs/math/object/helpers.js.map +1 -0
  84. package/cjs/math/object/index.js.map +1 -0
  85. package/cjs/math/object/math.composite.js.map +1 -0
  86. package/cjs/math/object/math.js.map +1 -0
  87. package/cjs/math/object/ops.composite.js.map +1 -0
  88. package/cjs/math/object/ops.js.map +1 -0
  89. package/cjs/math/object/types.js.map +1 -0
  90. package/cjs/models/EntityWithStatus.js.map +1 -0
  91. package/cjs/models/File.js.map +1 -0
  92. package/cjs/models/Model.js.map +1 -0
  93. package/cjs/models/ValuesCollector.js.map +1 -0
  94. package/cjs/models/types.js.map +1 -0
  95. package/cjs/models/wrappers.js +79 -0
  96. package/cjs/models/wrappers.js.map +1 -0
  97. package/cjs/observing/event.js +99 -0
  98. package/cjs/observing/event.js.map +1 -0
  99. package/cjs/observing/event.late.js.map +1 -0
  100. package/cjs/observing/progressTracker.js.map +1 -0
  101. package/cjs/observing/throttledEvent.js.map +1 -0
  102. package/cjs/observing/timer.js.map +1 -0
  103. package/cjs/package.json +3 -0
  104. package/cjs/storage/index.js.map +1 -0
  105. package/cjs/storage/types.js.map +1 -0
  106. package/cjs/storage/wrappers.js.map +1 -0
  107. package/cjs/structures/expire.js.map +1 -0
  108. package/cjs/structures/helpers/enum.js.map +1 -0
  109. package/cjs/structures/helpers/name.js.map +1 -0
  110. package/cjs/structures/linkedList.js.map +1 -0
  111. package/cjs/structures/nameof.js +26 -0
  112. package/cjs/structures/nameof.js.map +1 -0
  113. package/cjs/structures/path/builder.js +170 -0
  114. package/cjs/structures/path/builder.js.map +1 -0
  115. package/cjs/structures/path/index.js.map +1 -0
  116. package/cjs/structures/path/types.js.map +1 -0
  117. package/cjs/structures/path/utils.js +61 -0
  118. package/cjs/structures/path/utils.js.map +1 -0
  119. package/cjs/structures/pool.js.map +1 -0
  120. package/cjs/structures/promiseCache.js.map +1 -0
  121. package/cjs/structures/promiseExtended.js +195 -0
  122. package/cjs/structures/promiseExtended.js.map +1 -0
  123. package/cjs/structures/promiseProxy.js +92 -0
  124. package/cjs/structures/promiseProxy.js.map +1 -0
  125. package/cjs/structures/queue/parallel.js.map +1 -0
  126. package/cjs/structures/queue/tasks.js.map +1 -0
  127. package/cjs/structures/subscribersMap.js.map +1 -0
  128. package/cjs/structures/tempoCache.js.map +1 -0
  129. package/cjs/types/arrays.js +11 -0
  130. package/cjs/types/arrays.js.map +1 -0
  131. package/cjs/types/comparator.js.map +1 -0
  132. package/cjs/types/deep.js.map +1 -0
  133. package/cjs/types/functions.js.map +1 -0
  134. package/cjs/types/getter.js +26 -0
  135. package/cjs/types/getter.js.map +1 -0
  136. package/cjs/types/ident.js.map +1 -0
  137. package/cjs/types/index.js.map +1 -0
  138. package/cjs/types/misc.js.map +1 -0
  139. package/cjs/validation/ValidationErrors.js.map +1 -0
  140. package/cjs/validation/creditCard.js.map +1 -0
  141. package/cjs/validation/emails.js +11 -0
  142. package/cjs/validation/emails.js.map +1 -0
  143. package/cjs/validation/helpers.js +77 -0
  144. package/cjs/validation/helpers.js.map +1 -0
  145. package/cjs/validation/index.js.map +1 -0
  146. package/cjs/validation/throwers.js +33 -0
  147. package/cjs/validation/throwers.js.map +1 -0
  148. package/cjs/validation/types.js.map +1 -0
  149. package/cjs/validation/validators.js.map +1 -0
  150. package/cjs/validation/wrappers.js.map +1 -0
  151. package/esm/api/call.js +58 -0
  152. package/esm/api/call.js.map +1 -0
  153. package/esm/api/endpoint.js +65 -0
  154. package/esm/api/endpoint.js.map +1 -0
  155. package/esm/api/endpoint.types.js +8 -0
  156. package/esm/api/endpoint.types.js.map +1 -0
  157. package/esm/api/error.js +31 -0
  158. package/esm/api/error.js.map +1 -0
  159. package/esm/api/helpers.js +22 -0
  160. package/esm/api/helpers.js.map +1 -0
  161. package/esm/api/index.js +7 -0
  162. package/esm/api/index.js.map +1 -0
  163. package/esm/api/logging.js +25 -0
  164. package/esm/api/logging.js.map +1 -0
  165. package/esm/api/methods.js +8 -0
  166. package/esm/api/methods.js.map +1 -0
  167. package/esm/api/processor.js +46 -0
  168. package/esm/api/processor.js.map +1 -0
  169. package/esm/api/register.js +19 -0
  170. package/esm/api/register.js.map +1 -0
  171. package/esm/api/statusCodes.js +18 -0
  172. package/esm/api/statusCodes.js.map +1 -0
  173. package/esm/async/arrays.js +32 -0
  174. package/esm/async/arrays.js.map +1 -0
  175. package/esm/async/misc.js +21 -0
  176. package/esm/async/misc.js.map +1 -0
  177. package/esm/async/timeout.js +58 -0
  178. package/esm/async/timeout.js.map +1 -0
  179. package/esm/dates/calc.js +53 -0
  180. package/esm/dates/calc.js.map +1 -0
  181. package/esm/dates/calendarIndex.js +79 -0
  182. package/esm/dates/calendarIndex.js.map +1 -0
  183. package/esm/dates/convert.js +115 -0
  184. package/esm/dates/convert.js.map +1 -0
  185. package/esm/dates/datex.js +97 -0
  186. package/esm/dates/datex.js.map +1 -0
  187. package/esm/dates/decompose.js +39 -0
  188. package/esm/dates/decompose.js.map +1 -0
  189. package/esm/dates/format.js +121 -0
  190. package/esm/dates/format.js.map +1 -0
  191. package/esm/dates/index.js +11 -0
  192. package/esm/dates/index.js.map +1 -0
  193. package/esm/dates/parse.js +44 -0
  194. package/esm/dates/parse.js.map +1 -0
  195. package/esm/dates/period.js +22 -0
  196. package/esm/dates/period.js.map +1 -0
  197. package/esm/dates/shift.js +88 -0
  198. package/esm/dates/shift.js.map +1 -0
  199. package/esm/dates/types.js +48 -0
  200. package/esm/dates/types.js.map +1 -0
  201. package/esm/dates/tz.js +49 -0
  202. package/esm/dates/tz.js.map +1 -0
  203. package/esm/dates/yearDate.js +35 -0
  204. package/esm/dates/yearDate.js.map +1 -0
  205. package/esm/fields/filter.js +25 -0
  206. package/esm/fields/filter.js.map +1 -0
  207. package/esm/fields/index.js +4 -0
  208. package/esm/fields/index.js.map +1 -0
  209. package/esm/fields/skip.js +29 -0
  210. package/esm/fields/skip.js.map +1 -0
  211. package/esm/fields/transfer.js +41 -0
  212. package/esm/fields/transfer.js.map +1 -0
  213. package/esm/fields/update.js +73 -0
  214. package/esm/fields/update.js.map +1 -0
  215. package/esm/functions/assert.js +16 -0
  216. package/esm/functions/assert.js.map +1 -0
  217. package/esm/functions/disposer.js +66 -0
  218. package/esm/functions/disposer.js.map +1 -0
  219. package/esm/functions/disposer.symbols.js +24 -0
  220. package/esm/functions/disposer.symbols.js.map +1 -0
  221. package/esm/functions/safe.js +4 -0
  222. package/esm/functions/safe.js.map +1 -0
  223. package/esm/functions/throttle.js +132 -0
  224. package/esm/functions/throttle.js.map +1 -0
  225. package/esm/lazy/light.js +20 -0
  226. package/esm/lazy/light.js.map +1 -0
  227. package/esm/lazy/promise.js +68 -0
  228. package/esm/lazy/promise.js.map +1 -0
  229. package/esm/lazy/singleton.js +65 -0
  230. package/esm/lazy/singleton.js.map +1 -0
  231. package/esm/lazy/types.js +2 -0
  232. package/esm/lazy/types.js.map +1 -0
  233. package/esm/logger/abstractions.js +2 -0
  234. package/esm/logger/abstractions.js.map +1 -0
  235. package/esm/logger/batch.js +8 -0
  236. package/esm/logger/batch.js.map +1 -0
  237. package/esm/logger/console.js +43 -0
  238. package/esm/logger/console.js.map +1 -0
  239. package/esm/logger/file.js +60 -0
  240. package/esm/logger/file.js.map +1 -0
  241. package/esm/logger/index.js +19 -0
  242. package/esm/logger/index.js.map +1 -0
  243. package/esm/logger/manager.js +85 -0
  244. package/esm/logger/manager.js.map +1 -0
  245. package/esm/logger/named.js +32 -0
  246. package/esm/logger/named.js.map +1 -0
  247. package/esm/logger/proxy.js +24 -0
  248. package/esm/logger/proxy.js.map +1 -0
  249. package/esm/math/arrays.js +262 -0
  250. package/esm/math/arrays.js.map +1 -0
  251. package/esm/math/calc.js +72 -0
  252. package/esm/math/calc.js.map +1 -0
  253. package/esm/math/distribution.js +12 -0
  254. package/esm/math/distribution.js.map +1 -0
  255. package/esm/math/index.js +24 -0
  256. package/esm/math/index.js.map +1 -0
  257. package/esm/math/object/helpers.js +23 -0
  258. package/esm/math/object/helpers.js.map +1 -0
  259. package/esm/math/object/index.js +6 -0
  260. package/esm/math/object/index.js.map +1 -0
  261. package/esm/math/object/math.composite.js +58 -0
  262. package/esm/math/object/math.composite.js.map +1 -0
  263. package/esm/math/object/math.js +120 -0
  264. package/esm/math/object/math.js.map +1 -0
  265. package/esm/math/object/ops.composite.js +46 -0
  266. package/esm/math/object/ops.composite.js.map +1 -0
  267. package/esm/math/object/ops.js +85 -0
  268. package/esm/math/object/ops.js.map +1 -0
  269. package/esm/math/object/types.js +2 -0
  270. package/esm/math/object/types.js.map +1 -0
  271. package/esm/models/EntityWithStatus.js +45 -0
  272. package/esm/models/EntityWithStatus.js.map +1 -0
  273. package/esm/models/File.js +2 -0
  274. package/esm/models/File.js.map +1 -0
  275. package/esm/models/Model.js +20 -0
  276. package/esm/models/Model.js.map +1 -0
  277. package/esm/models/ValuesCollector.js +45 -0
  278. package/esm/models/ValuesCollector.js.map +1 -0
  279. package/esm/models/types.js +2 -0
  280. package/esm/models/types.js.map +1 -0
  281. package/esm/models/wrappers.js +72 -0
  282. package/esm/models/wrappers.js.map +1 -0
  283. package/esm/observing/event.js +94 -0
  284. package/esm/observing/event.js.map +1 -0
  285. package/esm/observing/event.late.js +35 -0
  286. package/esm/observing/event.late.js.map +1 -0
  287. package/esm/observing/progressTracker.js +72 -0
  288. package/esm/observing/progressTracker.js.map +1 -0
  289. package/esm/observing/throttledEvent.js +16 -0
  290. package/esm/observing/throttledEvent.js.map +1 -0
  291. package/esm/observing/timer.js +81 -0
  292. package/esm/observing/timer.js.map +1 -0
  293. package/esm/package.json +3 -0
  294. package/esm/storage/index.js +3 -0
  295. package/esm/storage/index.js.map +1 -0
  296. package/esm/storage/types.js +2 -0
  297. package/esm/storage/types.js.map +1 -0
  298. package/esm/storage/wrappers.js +51 -0
  299. package/esm/storage/wrappers.js.map +1 -0
  300. package/esm/structures/expire.js +18 -0
  301. package/esm/structures/expire.js.map +1 -0
  302. package/esm/structures/helpers/enum.js +104 -0
  303. package/esm/structures/helpers/enum.js.map +1 -0
  304. package/esm/structures/helpers/name.js +42 -0
  305. package/esm/structures/helpers/name.js.map +1 -0
  306. package/esm/structures/linkedList.js +78 -0
  307. package/esm/structures/linkedList.js.map +1 -0
  308. package/esm/structures/nameof.js +23 -0
  309. package/esm/structures/nameof.js.map +1 -0
  310. package/esm/structures/path/builder.js +164 -0
  311. package/esm/structures/path/builder.js.map +1 -0
  312. package/esm/structures/path/index.js +3 -0
  313. package/esm/structures/path/index.js.map +1 -0
  314. package/esm/structures/path/types.js +2 -0
  315. package/esm/structures/path/types.js.map +1 -0
  316. package/esm/structures/path/utils.js +56 -0
  317. package/esm/structures/path/utils.js.map +1 -0
  318. package/esm/structures/pool.js +45 -0
  319. package/esm/structures/pool.js.map +1 -0
  320. package/esm/structures/promiseCache.js +266 -0
  321. package/esm/structures/promiseCache.js.map +1 -0
  322. package/esm/structures/promiseExtended.js +191 -0
  323. package/esm/structures/promiseExtended.js.map +1 -0
  324. package/esm/structures/promiseProxy.js +89 -0
  325. package/esm/structures/promiseProxy.js.map +1 -0
  326. package/esm/structures/queue/parallel.js +116 -0
  327. package/esm/structures/queue/parallel.js.map +1 -0
  328. package/esm/structures/queue/tasks.js +72 -0
  329. package/esm/structures/queue/tasks.js.map +1 -0
  330. package/esm/structures/subscribersMap.js +94 -0
  331. package/esm/structures/subscribersMap.js.map +1 -0
  332. package/esm/structures/tempoCache.js +55 -0
  333. package/esm/structures/tempoCache.js.map +1 -0
  334. package/esm/types/arrays.js +7 -0
  335. package/esm/types/arrays.js.map +1 -0
  336. package/esm/types/comparator.js +5 -0
  337. package/esm/types/comparator.js.map +1 -0
  338. package/esm/types/deep.js +2 -0
  339. package/esm/types/deep.js.map +1 -0
  340. package/esm/types/functions.js +2 -0
  341. package/esm/types/functions.js.map +1 -0
  342. package/esm/types/getter.js +23 -0
  343. package/esm/types/getter.js.map +1 -0
  344. package/esm/types/ident.js +2 -0
  345. package/esm/types/ident.js.map +1 -0
  346. package/esm/types/index.js +5 -0
  347. package/esm/types/index.js.map +1 -0
  348. package/esm/types/misc.js +2 -0
  349. package/esm/types/misc.js.map +1 -0
  350. package/esm/validation/ValidationErrors.js +30 -0
  351. package/esm/validation/ValidationErrors.js.map +1 -0
  352. package/esm/validation/creditCard.js +22 -0
  353. package/esm/validation/creditCard.js.map +1 -0
  354. package/esm/validation/emails.js +8 -0
  355. package/esm/validation/emails.js.map +1 -0
  356. package/esm/validation/helpers.js +68 -0
  357. package/esm/validation/helpers.js.map +1 -0
  358. package/esm/validation/index.js +9 -0
  359. package/esm/validation/index.js.map +1 -0
  360. package/esm/validation/throwers.js +28 -0
  361. package/esm/validation/throwers.js.map +1 -0
  362. package/esm/validation/types.js +8 -0
  363. package/esm/validation/types.js.map +1 -0
  364. package/esm/validation/validators.js +48 -0
  365. package/esm/validation/validators.js.map +1 -0
  366. package/esm/validation/wrappers.js +23 -0
  367. package/esm/validation/wrappers.js.map +1 -0
  368. package/package.json +80 -11
  369. package/tsconfig.cjs.tsbuildinfo +1 -0
  370. package/tsconfig.esm.tsbuildinfo +1 -0
  371. package/tsconfig.types.tsbuildinfo +1 -0
  372. package/types/api/call.d.ts +35 -0
  373. package/types/api/endpoint.d.ts +38 -0
  374. package/types/api/endpoint.types.d.ts +45 -0
  375. package/types/api/error.d.ts +17 -0
  376. package/types/api/helpers.d.ts +9 -0
  377. package/types/api/index.d.ts +8 -0
  378. package/types/api/logging.d.ts +13 -0
  379. package/types/api/methods.d.ts +6 -0
  380. package/types/api/processor.d.ts +7 -0
  381. package/types/api/register.d.ts +7 -0
  382. package/types/api/statusCodes.d.ts +16 -0
  383. package/types/async/arrays.d.ts +4 -0
  384. package/types/async/misc.d.ts +8 -0
  385. package/types/async/timeout.d.ts +8 -0
  386. package/types/dates/calc.d.ts +9 -0
  387. package/types/dates/calendarIndex.d.ts +47 -0
  388. package/types/dates/convert.d.ts +15 -0
  389. package/types/dates/datex.d.ts +23 -0
  390. package/types/dates/decompose.d.ts +4 -0
  391. package/types/dates/format.d.ts +22 -0
  392. package/types/dates/index.d.ts +10 -0
  393. package/types/dates/parse.d.ts +10 -0
  394. package/types/dates/period.d.ts +11 -0
  395. package/types/dates/shift.d.ts +8 -0
  396. package/types/dates/types.d.ts +9 -0
  397. package/types/dates/tz.d.ts +7 -0
  398. package/types/dates/yearDate.d.ts +12 -0
  399. package/types/fields/filter.d.ts +9 -0
  400. package/types/fields/index.d.ts +3 -0
  401. package/types/fields/skip.d.ts +16 -0
  402. package/types/fields/transfer.d.ts +14 -0
  403. package/types/fields/update.d.ts +27 -0
  404. package/types/functions/assert.d.ts +2 -0
  405. package/types/functions/disposer.d.ts +24 -0
  406. package/types/functions/disposer.symbols.d.ts +6 -0
  407. package/types/functions/safe.d.ts +1 -0
  408. package/types/functions/throttle.d.ts +38 -0
  409. package/types/lazy/light.d.ts +2 -0
  410. package/types/lazy/promise.d.ts +23 -0
  411. package/types/lazy/singleton.d.ts +21 -0
  412. package/types/lazy/types.d.ts +12 -0
  413. package/types/logger/abstractions.d.ts +10 -0
  414. package/types/logger/batch.d.ts +2 -0
  415. package/types/logger/console.d.ts +18 -0
  416. package/types/logger/file.d.ts +15 -0
  417. package/types/logger/index.d.ts +13 -0
  418. package/types/logger/manager.d.ts +22 -0
  419. package/types/logger/named.d.ts +13 -0
  420. package/types/logger/proxy.d.ts +9 -0
  421. package/types/math/arrays.d.ts +44 -0
  422. package/types/math/calc.d.ts +17 -0
  423. package/types/math/distribution.d.ts +5 -0
  424. package/types/math/index.d.ts +5 -0
  425. package/types/math/object/helpers.d.ts +7 -0
  426. package/types/math/object/index.d.ts +5 -0
  427. package/types/math/object/math.composite.d.ts +16 -0
  428. package/types/math/object/math.d.ts +17 -0
  429. package/types/math/object/ops.composite.d.ts +14 -0
  430. package/types/math/object/ops.d.ts +20 -0
  431. package/types/math/object/types.d.ts +36 -0
  432. package/types/models/EntityWithStatus.d.ts +17 -0
  433. package/types/models/File.d.ts +9 -0
  434. package/types/models/Model.d.ts +12 -0
  435. package/types/models/ValuesCollector.d.ts +25 -0
  436. package/types/models/types.d.ts +24 -0
  437. package/types/models/wrappers.d.ts +17 -0
  438. package/types/observing/event.d.ts +25 -0
  439. package/types/observing/event.late.d.ts +10 -0
  440. package/types/observing/progressTracker.d.ts +27 -0
  441. package/types/observing/throttledEvent.d.ts +7 -0
  442. package/types/observing/timer.d.ts +41 -0
  443. package/types/storage/index.d.ts +2 -0
  444. package/types/storage/types.d.ts +12 -0
  445. package/types/storage/wrappers.d.ts +10 -0
  446. package/types/structures/expire.d.ts +13 -0
  447. package/types/structures/helpers/enum.d.ts +36 -0
  448. package/types/structures/helpers/name.d.ts +15 -0
  449. package/types/structures/linkedList.d.ts +38 -0
  450. package/types/structures/nameof.d.ts +13 -0
  451. package/types/structures/path/builder.d.ts +15 -0
  452. package/types/structures/path/index.d.ts +2 -0
  453. package/types/structures/path/types.d.ts +61 -0
  454. package/types/structures/path/utils.d.ts +14 -0
  455. package/types/structures/pool.d.ts +16 -0
  456. package/types/structures/promiseCache.d.ts +85 -0
  457. package/types/structures/promiseExtended.d.ts +70 -0
  458. package/types/structures/promiseProxy.d.ts +29 -0
  459. package/types/structures/queue/parallel.d.ts +23 -0
  460. package/types/structures/queue/tasks.d.ts +16 -0
  461. package/types/structures/subscribersMap.d.ts +22 -0
  462. package/types/structures/tempoCache.d.ts +29 -0
  463. package/types/types/arrays.d.ts +3 -0
  464. package/types/types/comparator.d.ts +4 -0
  465. package/types/types/deep.d.ts +25 -0
  466. package/types/types/functions.d.ts +15 -0
  467. package/types/types/getter.d.ts +9 -0
  468. package/types/types/ident.d.ts +5 -0
  469. package/types/types/index.d.ts +4 -0
  470. package/types/types/misc.d.ts +37 -0
  471. package/types/validation/ValidationErrors.d.ts +25 -0
  472. package/types/validation/creditCard.d.ts +8 -0
  473. package/types/validation/emails.d.ts +3 -0
  474. package/types/validation/helpers.d.ts +10 -0
  475. package/types/validation/index.d.ts +5 -0
  476. package/types/validation/throwers.d.ts +14 -0
  477. package/types/validation/types.d.ts +18 -0
  478. package/types/validation/validators.d.ts +30 -0
  479. package/types/validation/wrappers.d.ts +6 -0
  480. package/api/call.d.ts +0 -36
  481. package/api/call.d.ts.map +0 -1
  482. package/api/call.js +0 -62
  483. package/api/call.js.map +0 -1
  484. package/api/endpoint.d.ts +0 -39
  485. package/api/endpoint.d.ts.map +0 -1
  486. package/api/endpoint.js.map +0 -1
  487. package/api/endpoint.types.d.ts +0 -46
  488. package/api/endpoint.types.d.ts.map +0 -1
  489. package/api/endpoint.types.js.map +0 -1
  490. package/api/error.d.ts +0 -18
  491. package/api/error.d.ts.map +0 -1
  492. package/api/error.js.map +0 -1
  493. package/api/helpers.d.ts +0 -10
  494. package/api/helpers.d.ts.map +0 -1
  495. package/api/helpers.js +0 -29
  496. package/api/helpers.js.map +0 -1
  497. package/api/index.d.ts +0 -9
  498. package/api/index.d.ts.map +0 -1
  499. package/api/index.js.map +0 -1
  500. package/api/logging.d.ts +0 -14
  501. package/api/logging.d.ts.map +0 -1
  502. package/api/logging.js.map +0 -1
  503. package/api/methods.d.ts +0 -7
  504. package/api/methods.d.ts.map +0 -1
  505. package/api/methods.js.map +0 -1
  506. package/api/processor.d.ts +0 -8
  507. package/api/processor.d.ts.map +0 -1
  508. package/api/processor.js.map +0 -1
  509. package/api/register.d.ts +0 -8
  510. package/api/register.d.ts.map +0 -1
  511. package/api/register.js +0 -25
  512. package/api/register.js.map +0 -1
  513. package/api/statusCodes.d.ts +0 -17
  514. package/api/statusCodes.d.ts.map +0 -1
  515. package/api/statusCodes.js.map +0 -1
  516. package/async/arrays.d.ts +0 -5
  517. package/async/arrays.d.ts.map +0 -1
  518. package/async/arrays.js +0 -39
  519. package/async/arrays.js.map +0 -1
  520. package/async/misc.d.ts +0 -9
  521. package/async/misc.d.ts.map +0 -1
  522. package/async/misc.js +0 -27
  523. package/async/misc.js.map +0 -1
  524. package/async/timeout.d.ts +0 -9
  525. package/async/timeout.d.ts.map +0 -1
  526. package/async/timeout.js +0 -64
  527. package/async/timeout.js.map +0 -1
  528. package/dates/calc.d.ts +0 -10
  529. package/dates/calc.d.ts.map +0 -1
  530. package/dates/calc.js +0 -63
  531. package/dates/calc.js.map +0 -1
  532. package/dates/calendarIndex.d.ts +0 -48
  533. package/dates/calendarIndex.d.ts.map +0 -1
  534. package/dates/calendarIndex.js +0 -85
  535. package/dates/calendarIndex.js.map +0 -1
  536. package/dates/convert.d.ts +0 -16
  537. package/dates/convert.d.ts.map +0 -1
  538. package/dates/convert.js +0 -128
  539. package/dates/convert.js.map +0 -1
  540. package/dates/datex.d.ts +0 -24
  541. package/dates/datex.d.ts.map +0 -1
  542. package/dates/datex.js +0 -101
  543. package/dates/datex.js.map +0 -1
  544. package/dates/decompose.d.ts +0 -5
  545. package/dates/decompose.d.ts.map +0 -1
  546. package/dates/decompose.js +0 -44
  547. package/dates/decompose.js.map +0 -1
  548. package/dates/format.d.ts +0 -23
  549. package/dates/format.d.ts.map +0 -1
  550. package/dates/format.js.map +0 -1
  551. package/dates/index.d.ts +0 -11
  552. package/dates/index.d.ts.map +0 -1
  553. package/dates/index.js.map +0 -1
  554. package/dates/parse.d.ts +0 -11
  555. package/dates/parse.d.ts.map +0 -1
  556. package/dates/parse.js +0 -49
  557. package/dates/parse.js.map +0 -1
  558. package/dates/period.d.ts +0 -12
  559. package/dates/period.d.ts.map +0 -1
  560. package/dates/period.js.map +0 -1
  561. package/dates/shift.d.ts +0 -9
  562. package/dates/shift.d.ts.map +0 -1
  563. package/dates/shift.js +0 -96
  564. package/dates/shift.js.map +0 -1
  565. package/dates/types.d.ts +0 -10
  566. package/dates/types.d.ts.map +0 -1
  567. package/dates/types.js.map +0 -1
  568. package/dates/tz.d.ts +0 -8
  569. package/dates/tz.d.ts.map +0 -1
  570. package/dates/tz.js.map +0 -1
  571. package/dates/yearDate.d.ts +0 -13
  572. package/dates/yearDate.d.ts.map +0 -1
  573. package/dates/yearDate.js.map +0 -1
  574. package/fields/filter.d.ts +0 -10
  575. package/fields/filter.d.ts.map +0 -1
  576. package/fields/filter.js +0 -29
  577. package/fields/filter.js.map +0 -1
  578. package/fields/index.d.ts +0 -4
  579. package/fields/index.d.ts.map +0 -1
  580. package/fields/index.js.map +0 -1
  581. package/fields/skip.d.ts +0 -17
  582. package/fields/skip.d.ts.map +0 -1
  583. package/fields/skip.js.map +0 -1
  584. package/fields/transfer.d.ts +0 -15
  585. package/fields/transfer.d.ts.map +0 -1
  586. package/fields/transfer.js +0 -47
  587. package/fields/transfer.js.map +0 -1
  588. package/fields/update.d.ts +0 -28
  589. package/fields/update.d.ts.map +0 -1
  590. package/fields/update.js +0 -79
  591. package/fields/update.js.map +0 -1
  592. package/functions/assert.d.ts +0 -3
  593. package/functions/assert.d.ts.map +0 -1
  594. package/functions/assert.js +0 -21
  595. package/functions/assert.js.map +0 -1
  596. package/functions/disposer.d.ts +0 -25
  597. package/functions/disposer.d.ts.map +0 -1
  598. package/functions/disposer.js +0 -73
  599. package/functions/disposer.js.map +0 -1
  600. package/functions/disposer.symbols.d.ts +0 -7
  601. package/functions/disposer.symbols.d.ts.map +0 -1
  602. package/functions/disposer.symbols.js +0 -29
  603. package/functions/disposer.symbols.js.map +0 -1
  604. package/functions/safe.d.ts +0 -2
  605. package/functions/safe.d.ts.map +0 -1
  606. package/functions/safe.js +0 -8
  607. package/functions/safe.js.map +0 -1
  608. package/functions/throttle.d.ts +0 -39
  609. package/functions/throttle.d.ts.map +0 -1
  610. package/functions/throttle.js.map +0 -1
  611. package/lazy/light.d.ts +0 -3
  612. package/lazy/light.d.ts.map +0 -1
  613. package/lazy/light.js +0 -24
  614. package/lazy/light.js.map +0 -1
  615. package/lazy/promise.d.ts +0 -24
  616. package/lazy/promise.d.ts.map +0 -1
  617. package/lazy/promise.js.map +0 -1
  618. package/lazy/singleton.d.ts +0 -22
  619. package/lazy/singleton.d.ts.map +0 -1
  620. package/lazy/singleton.js.map +0 -1
  621. package/lazy/types.d.ts +0 -13
  622. package/lazy/types.d.ts.map +0 -1
  623. package/lazy/types.js.map +0 -1
  624. package/logger/abstractions.d.ts +0 -11
  625. package/logger/abstractions.d.ts.map +0 -1
  626. package/logger/abstractions.js.map +0 -1
  627. package/logger/batch.d.ts +0 -3
  628. package/logger/batch.d.ts.map +0 -1
  629. package/logger/batch.js +0 -12
  630. package/logger/batch.js.map +0 -1
  631. package/logger/console.d.ts +0 -19
  632. package/logger/console.d.ts.map +0 -1
  633. package/logger/console.js.map +0 -1
  634. package/logger/file.d.ts +0 -16
  635. package/logger/file.d.ts.map +0 -1
  636. package/logger/file.js.map +0 -1
  637. package/logger/index.d.ts +0 -16
  638. package/logger/index.d.ts.map +0 -1
  639. package/logger/index.js +0 -64
  640. package/logger/index.js.map +0 -1
  641. package/logger/named.d.ts +0 -14
  642. package/logger/named.d.ts.map +0 -1
  643. package/logger/named.js.map +0 -1
  644. package/logger/proxy.d.ts +0 -10
  645. package/logger/proxy.d.ts.map +0 -1
  646. package/logger/proxy.js.map +0 -1
  647. package/math/arrays.d.ts +0 -43
  648. package/math/arrays.d.ts.map +0 -1
  649. package/math/arrays.js +0 -273
  650. package/math/arrays.js.map +0 -1
  651. package/math/calc.d.ts +0 -18
  652. package/math/calc.d.ts.map +0 -1
  653. package/math/calc.js +0 -85
  654. package/math/calc.js.map +0 -1
  655. package/math/distribution.d.ts +0 -6
  656. package/math/distribution.d.ts.map +0 -1
  657. package/math/distribution.js +0 -16
  658. package/math/distribution.js.map +0 -1
  659. package/math/index.d.ts +0 -6
  660. package/math/index.d.ts.map +0 -1
  661. package/math/index.js +0 -30
  662. package/math/index.js.map +0 -1
  663. package/math/object/helpers.d.ts +0 -8
  664. package/math/object/helpers.d.ts.map +0 -1
  665. package/math/object/helpers.js +0 -29
  666. package/math/object/helpers.js.map +0 -1
  667. package/math/object/index.d.ts +0 -6
  668. package/math/object/index.d.ts.map +0 -1
  669. package/math/object/index.js.map +0 -1
  670. package/math/object/math.composite.d.ts +0 -17
  671. package/math/object/math.composite.d.ts.map +0 -1
  672. package/math/object/math.composite.js.map +0 -1
  673. package/math/object/math.d.ts +0 -18
  674. package/math/object/math.d.ts.map +0 -1
  675. package/math/object/math.js.map +0 -1
  676. package/math/object/ops.composite.d.ts +0 -15
  677. package/math/object/ops.composite.d.ts.map +0 -1
  678. package/math/object/ops.composite.js.map +0 -1
  679. package/math/object/ops.d.ts +0 -21
  680. package/math/object/ops.d.ts.map +0 -1
  681. package/math/object/ops.js.map +0 -1
  682. package/math/object/types.d.ts +0 -37
  683. package/math/object/types.d.ts.map +0 -1
  684. package/math/object/types.js.map +0 -1
  685. package/models/EntityWithStatus.d.ts +0 -18
  686. package/models/EntityWithStatus.d.ts.map +0 -1
  687. package/models/EntityWithStatus.js.map +0 -1
  688. package/models/File.d.ts +0 -10
  689. package/models/File.d.ts.map +0 -1
  690. package/models/File.js.map +0 -1
  691. package/models/Model.d.ts +0 -13
  692. package/models/Model.d.ts.map +0 -1
  693. package/models/Model.js.map +0 -1
  694. package/models/ValuesCollector.d.ts +0 -26
  695. package/models/ValuesCollector.d.ts.map +0 -1
  696. package/models/ValuesCollector.js.map +0 -1
  697. package/models/types.d.ts +0 -25
  698. package/models/types.d.ts.map +0 -1
  699. package/models/types.js.map +0 -1
  700. package/models/wrappers.d.ts +0 -18
  701. package/models/wrappers.d.ts.map +0 -1
  702. package/models/wrappers.js +0 -80
  703. package/models/wrappers.js.map +0 -1
  704. package/observing/event.d.ts +0 -26
  705. package/observing/event.d.ts.map +0 -1
  706. package/observing/event.js +0 -99
  707. package/observing/event.js.map +0 -1
  708. package/observing/event.late.d.ts +0 -11
  709. package/observing/event.late.d.ts.map +0 -1
  710. package/observing/event.late.js.map +0 -1
  711. package/observing/progressTracker.d.ts +0 -28
  712. package/observing/progressTracker.d.ts.map +0 -1
  713. package/observing/progressTracker.js.map +0 -1
  714. package/observing/throttledEvent.d.ts +0 -8
  715. package/observing/throttledEvent.d.ts.map +0 -1
  716. package/observing/throttledEvent.js.map +0 -1
  717. package/observing/timer.d.ts +0 -42
  718. package/observing/timer.d.ts.map +0 -1
  719. package/observing/timer.js.map +0 -1
  720. package/storage/index.d.ts +0 -3
  721. package/storage/index.d.ts.map +0 -1
  722. package/storage/index.js.map +0 -1
  723. package/storage/types.d.ts +0 -13
  724. package/storage/types.d.ts.map +0 -1
  725. package/storage/types.js.map +0 -1
  726. package/storage/wrappers.d.ts +0 -11
  727. package/storage/wrappers.d.ts.map +0 -1
  728. package/storage/wrappers.js.map +0 -1
  729. package/structures/expire.d.ts +0 -14
  730. package/structures/expire.d.ts.map +0 -1
  731. package/structures/expire.js.map +0 -1
  732. package/structures/helpers/enum.d.ts +0 -37
  733. package/structures/helpers/enum.d.ts.map +0 -1
  734. package/structures/helpers/enum.js.map +0 -1
  735. package/structures/helpers/name.d.ts +0 -16
  736. package/structures/helpers/name.d.ts.map +0 -1
  737. package/structures/helpers/name.js.map +0 -1
  738. package/structures/linkedList.d.ts +0 -39
  739. package/structures/linkedList.d.ts.map +0 -1
  740. package/structures/linkedList.js.map +0 -1
  741. package/structures/nameof.d.ts +0 -14
  742. package/structures/nameof.d.ts.map +0 -1
  743. package/structures/nameof.js +0 -27
  744. package/structures/nameof.js.map +0 -1
  745. package/structures/path/builder.d.ts +0 -16
  746. package/structures/path/builder.d.ts.map +0 -1
  747. package/structures/path/builder.js +0 -170
  748. package/structures/path/builder.js.map +0 -1
  749. package/structures/path/index.d.ts +0 -3
  750. package/structures/path/index.d.ts.map +0 -1
  751. package/structures/path/index.js.map +0 -1
  752. package/structures/path/types.d.ts +0 -62
  753. package/structures/path/types.d.ts.map +0 -1
  754. package/structures/path/types.js.map +0 -1
  755. package/structures/path/utils.d.ts +0 -15
  756. package/structures/path/utils.d.ts.map +0 -1
  757. package/structures/path/utils.js +0 -61
  758. package/structures/path/utils.js.map +0 -1
  759. package/structures/pool.d.ts +0 -17
  760. package/structures/pool.d.ts.map +0 -1
  761. package/structures/pool.js.map +0 -1
  762. package/structures/promiseCache.d.ts +0 -86
  763. package/structures/promiseCache.d.ts.map +0 -1
  764. package/structures/promiseCache.js.map +0 -1
  765. package/structures/promiseExtended.d.ts +0 -71
  766. package/structures/promiseExtended.d.ts.map +0 -1
  767. package/structures/promiseExtended.js +0 -193
  768. package/structures/promiseExtended.js.map +0 -1
  769. package/structures/promiseProxy.d.ts +0 -30
  770. package/structures/promiseProxy.d.ts.map +0 -1
  771. package/structures/promiseProxy.js +0 -93
  772. package/structures/promiseProxy.js.map +0 -1
  773. package/structures/queue/parallel.d.ts +0 -24
  774. package/structures/queue/parallel.d.ts.map +0 -1
  775. package/structures/queue/parallel.js.map +0 -1
  776. package/structures/queue/tasks.d.ts +0 -17
  777. package/structures/queue/tasks.d.ts.map +0 -1
  778. package/structures/queue/tasks.js.map +0 -1
  779. package/structures/subscribersMap.d.ts +0 -23
  780. package/structures/subscribersMap.d.ts.map +0 -1
  781. package/structures/subscribersMap.js.map +0 -1
  782. package/structures/tempoCache.d.ts +0 -30
  783. package/structures/tempoCache.d.ts.map +0 -1
  784. package/structures/tempoCache.js.map +0 -1
  785. package/types/arrays.d.ts +0 -4
  786. package/types/arrays.d.ts.map +0 -1
  787. package/types/arrays.js +0 -12
  788. package/types/arrays.js.map +0 -1
  789. package/types/comparator.d.ts +0 -5
  790. package/types/comparator.d.ts.map +0 -1
  791. package/types/comparator.js.map +0 -1
  792. package/types/deep.d.ts +0 -26
  793. package/types/deep.d.ts.map +0 -1
  794. package/types/deep.js.map +0 -1
  795. package/types/functions.d.ts +0 -16
  796. package/types/functions.d.ts.map +0 -1
  797. package/types/functions.js.map +0 -1
  798. package/types/getter.d.ts +0 -5
  799. package/types/getter.d.ts.map +0 -1
  800. package/types/getter.js +0 -14
  801. package/types/getter.js.map +0 -1
  802. package/types/ident.d.ts +0 -6
  803. package/types/ident.d.ts.map +0 -1
  804. package/types/ident.js.map +0 -1
  805. package/types/index.d.ts +0 -5
  806. package/types/index.d.ts.map +0 -1
  807. package/types/index.js.map +0 -1
  808. package/types/misc.d.ts +0 -38
  809. package/types/misc.d.ts.map +0 -1
  810. package/types/misc.js.map +0 -1
  811. package/validation/ValidationErrors.d.ts +0 -26
  812. package/validation/ValidationErrors.d.ts.map +0 -1
  813. package/validation/ValidationErrors.js.map +0 -1
  814. package/validation/creditCard.d.ts +0 -9
  815. package/validation/creditCard.d.ts.map +0 -1
  816. package/validation/creditCard.js.map +0 -1
  817. package/validation/emails.d.ts +0 -4
  818. package/validation/emails.d.ts.map +0 -1
  819. package/validation/emails.js +0 -12
  820. package/validation/emails.js.map +0 -1
  821. package/validation/helpers.d.ts +0 -11
  822. package/validation/helpers.d.ts.map +0 -1
  823. package/validation/helpers.js +0 -78
  824. package/validation/helpers.js.map +0 -1
  825. package/validation/index.d.ts +0 -6
  826. package/validation/index.d.ts.map +0 -1
  827. package/validation/index.js.map +0 -1
  828. package/validation/throwers.d.ts +0 -15
  829. package/validation/throwers.d.ts.map +0 -1
  830. package/validation/throwers.js +0 -33
  831. package/validation/throwers.js.map +0 -1
  832. package/validation/types.d.ts +0 -19
  833. package/validation/types.d.ts.map +0 -1
  834. package/validation/types.js.map +0 -1
  835. package/validation/validators.d.ts +0 -31
  836. package/validation/validators.d.ts.map +0 -1
  837. package/validation/validators.js.map +0 -1
  838. package/validation/wrappers.d.ts +0 -7
  839. package/validation/wrappers.d.ts.map +0 -1
  840. package/validation/wrappers.js.map +0 -1
  841. /package/{api → cjs/api}/endpoint.js +0 -0
  842. /package/{api → cjs/api}/endpoint.types.js +0 -0
  843. /package/{api → cjs/api}/error.js +0 -0
  844. /package/{api → cjs/api}/index.js +0 -0
  845. /package/{api → cjs/api}/logging.js +0 -0
  846. /package/{api → cjs/api}/methods.js +0 -0
  847. /package/{api → cjs/api}/processor.js +0 -0
  848. /package/{api → cjs/api}/statusCodes.js +0 -0
  849. /package/{dates → cjs/dates}/format.js +0 -0
  850. /package/{dates → cjs/dates}/index.js +0 -0
  851. /package/{dates → cjs/dates}/period.js +0 -0
  852. /package/{dates → cjs/dates}/types.js +0 -0
  853. /package/{dates → cjs/dates}/tz.js +0 -0
  854. /package/{dates → cjs/dates}/yearDate.js +0 -0
  855. /package/{fields → cjs/fields}/index.js +0 -0
  856. /package/{fields → cjs/fields}/skip.js +0 -0
  857. /package/{functions → cjs/functions}/throttle.js +0 -0
  858. /package/{lazy → cjs/lazy}/promise.js +0 -0
  859. /package/{lazy → cjs/lazy}/singleton.js +0 -0
  860. /package/{lazy → 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/{math → 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/{models → 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/{storage → cjs/storage}/types.js +0 -0
  883. /package/{storage → cjs/storage}/wrappers.js +0 -0
  884. /package/{structures → cjs/structures}/expire.js +0 -0
  885. /package/{structures → cjs/structures}/helpers/enum.js +0 -0
  886. /package/{structures → cjs/structures}/helpers/name.js +0 -0
  887. /package/{structures → cjs/structures}/linkedList.js +0 -0
  888. /package/{structures → cjs/structures}/path/index.js +0 -0
  889. /package/{structures → cjs/structures}/path/types.js +0 -0
  890. /package/{structures → cjs/structures}/pool.js +0 -0
  891. /package/{structures → cjs/structures}/promiseCache.js +0 -0
  892. /package/{structures → cjs/structures}/queue/parallel.js +0 -0
  893. /package/{structures → cjs/structures}/queue/tasks.js +0 -0
  894. /package/{structures → cjs/structures}/subscribersMap.js +0 -0
  895. /package/{structures → cjs/structures}/tempoCache.js +0 -0
  896. /package/{types → cjs/types}/comparator.js +0 -0
  897. /package/{types → cjs/types}/deep.js +0 -0
  898. /package/{types → cjs/types}/functions.js +0 -0
  899. /package/{types → cjs/types}/ident.js +0 -0
  900. /package/{types → cjs/types}/index.js +0 -0
  901. /package/{types → cjs/types}/misc.js +0 -0
  902. /package/{validation → cjs/validation}/ValidationErrors.js +0 -0
  903. /package/{validation → cjs/validation}/creditCard.js +0 -0
  904. /package/{validation → cjs/validation}/index.js +0 -0
  905. /package/{validation → cjs/validation}/types.js +0 -0
  906. /package/{validation → cjs/validation}/validators.js +0 -0
  907. /package/{validation → cjs/validation}/wrappers.js +0 -0
@@ -0,0 +1,20 @@
1
+ import { SkipCondition, SkipOptions } from '../../fields/skip';
2
+ import { AnyObject, DeepPartial, DeepReadonly, Predicate } from '../../types';
3
+ import { IObjectOps, NumKey } from './types';
4
+ type Keys<T extends AnyObject> = NumKey<T>[];
5
+ export declare class ObjectOps<T extends AnyObject> implements IObjectOps<T> {
6
+ readonly keys: Keys<T>;
7
+ readonly Empty: Readonly<T>;
8
+ protected _validator: Predicate<DeepReadonly<T>> | undefined;
9
+ constructor(keys: Keys<T>);
10
+ addValidator(validator: Predicate<DeepReadonly<T>>): this;
11
+ getEmpty(): T;
12
+ clone(o: DeepReadonly<T>): T;
13
+ isEmpty(o: DeepReadonly<T>): boolean;
14
+ isValid(o: DeepReadonly<T>): boolean;
15
+ isEquals(a: DeepReadonly<T>, b: DeepReadonly<T>): boolean;
16
+ strip(v: DeepReadonly<T>, condition?: SkipCondition<T, NumKey<T>>): DeepPartial<T>;
17
+ toStringData(v: DeepReadonly<T>, labels: Readonly<Record<Keys<T>[number], string>>, strip?: SkipOptions): [number, string][];
18
+ assign(to: T, other: DeepReadonly<T>): void;
19
+ }
20
+ export {};
@@ -0,0 +1,36 @@
1
+ import { AnyObject, DeepReadonly, TypedKeys } from '../../types';
2
+ export type NumKey<T extends AnyObject> = TypedKeys<T, number>;
3
+ export type AbsOptions = false | 'remove' | 'zero';
4
+ export type RoundOptions = 'floor' | 'ceil' | 'round';
5
+ export type DELETE_TYPE = 'delete';
6
+ export interface IObjectOps<T extends AnyObject> {
7
+ readonly Empty: Readonly<T>;
8
+ isEmpty(o: DeepReadonly<T>): boolean;
9
+ getEmpty(): T;
10
+ clone(o: DeepReadonly<T>): T;
11
+ isValid(o: DeepReadonly<T>): boolean;
12
+ isEquals(a: DeepReadonly<T>, b: DeepReadonly<T>): boolean;
13
+ assign(to: T, other: DeepReadonly<T>): void;
14
+ }
15
+ export interface IObjectMath<T extends AnyObject> extends IObjectOps<T> {
16
+ contains(base: DeepReadonly<T>, target: DeepReadonly<T>): boolean;
17
+ inverse(o: DeepReadonly<T>): T;
18
+ abs(o: DeepReadonly<T>, options?: AbsOptions): T | null;
19
+ round(o: DeepReadonly<T>, options?: RoundOptions): T | null;
20
+ add(o1: DeepReadonly<T>, o2: DeepReadonly<T>): T;
21
+ subtract(base: DeepReadonly<T>, amount: DeepReadonly<T> | number): T;
22
+ multiply(o1: DeepReadonly<T>, o2: DeepReadonly<T> | number): T;
23
+ div(o1: DeepReadonly<T>, o2: DeepReadonly<T> | number): number;
24
+ }
25
+ export type BasePair<T extends AnyObject, TKey extends string & keyof T = string & keyof T, TOps extends IObjectOps<T[TKey]> = IObjectOps<T[TKey]>> = {
26
+ key: TKey;
27
+ ops: TOps;
28
+ };
29
+ export type OpsPair<T extends AnyObject, TKey extends string & keyof T = string & keyof T> = BasePair<T, TKey, IObjectOps<T[TKey]>>;
30
+ export type MathPair<T extends AnyObject, TKey extends string & keyof T = string & keyof T> = BasePair<T, TKey, IObjectMath<T[TKey]>>;
31
+ export type OpsPairsMap<T extends AnyObject> = {
32
+ [K in keyof T]?: IObjectOps<T[K]>;
33
+ };
34
+ export type MathPairsMap<T extends AnyObject> = {
35
+ [K in keyof T]?: IObjectMath<T[K]>;
36
+ };
@@ -0,0 +1,17 @@
1
+ export type StatusWithDate<TStatus extends string = string> = {
2
+ status: TStatus | null;
3
+ date: number;
4
+ };
5
+ type HistoryItem<TStatus extends string> = {
6
+ d: number;
7
+ s: TStatus | null;
8
+ };
9
+ export type EntityWithStatus<TStatus extends string> = StatusWithDate<TStatus> & {
10
+ history?: HistoryItem<TStatus>[];
11
+ };
12
+ export declare namespace EntityWithStatus {
13
+ function changeStatus<T extends EntityWithStatus<TStatus>, TStatus extends string>(entity: Partial<T>, status: TStatus, date?: number | null, allowStatusUpdate?: boolean): boolean;
14
+ function getLastStatusDate<T extends EntityWithStatus<TStatus>, TStatus extends string>(entity: T, ...statuses: TStatus[]): number | null;
15
+ function getFullHistory<T extends EntityWithStatus<TStatus>, TStatus extends string>(entity: T): StatusWithDate<TStatus>[];
16
+ }
17
+ export {};
@@ -0,0 +1,9 @@
1
+ export type FileMetadata = {
2
+ name: string;
3
+ /** size in bytes */
4
+ size: number;
5
+ /** refers to MIME type */
6
+ type: string;
7
+ format?: string;
8
+ lang?: string;
9
+ };
@@ -0,0 +1,12 @@
1
+ import type { IValueModel } from './types';
2
+ import { Getter } from '../types/getter';
3
+ import { Nullable } from '../types/misc';
4
+ export declare class Model<T> implements IValueModel<Nullable<T>> {
5
+ private _value;
6
+ private readonly _defaultValue;
7
+ constructor(v?: Getter<Nullable<T>>);
8
+ get value(): T;
9
+ set value(v: T);
10
+ setValue(value: Getter<Nullable<T>>): void;
11
+ reset(): void;
12
+ }
@@ -0,0 +1,25 @@
1
+ import type { IValueModel } from './types';
2
+ export interface IValueCollector<TSource, TValue> {
3
+ getValue(source: TSource): TValue;
4
+ setValue(source: TSource, value: TValue): void;
5
+ }
6
+ type SimpleCollector<T> = {
7
+ get: () => T;
8
+ set: (t: T) => void;
9
+ };
10
+ export type ModelCollectorsMap<T> = {
11
+ [P in keyof T]?: IValueModel<T[P]>;
12
+ };
13
+ export type CollectorsMap<T> = {
14
+ [P in keyof T]?: SimpleCollector<T[P]>;
15
+ };
16
+ export declare class ModelCollector<T extends object> {
17
+ private readonly _collectors;
18
+ addModels(models: ModelCollectorsMap<T>): this;
19
+ addModel<TKey extends keyof T, TSource extends IValueModel<T[TKey]>>(key: TKey, source: TSource): this;
20
+ addCollector<TKey extends keyof T, TModel, TCollector extends IValueCollector<TModel, T[TKey]>>(key: TKey, model: TModel, collector: TCollector): this;
21
+ remove(key: keyof T): this;
22
+ collect(): T;
23
+ populate(data: T): void;
24
+ }
25
+ export {};
@@ -0,0 +1,24 @@
1
+ export interface IValueModelReadonly<TValue> {
2
+ readonly value: TValue;
3
+ }
4
+ export interface IValueModel<TValue> extends IValueModelReadonly<TValue> {
5
+ value: TValue;
6
+ }
7
+ export interface ILabel<T> {
8
+ readonly label: T;
9
+ }
10
+ export interface IResetableModel {
11
+ readonly reset: () => void;
12
+ readonly isDefault?: boolean;
13
+ }
14
+ export interface IFocusableModel {
15
+ focused: boolean;
16
+ }
17
+ export interface IErrorModel {
18
+ readonly error: string;
19
+ }
20
+ export interface ICountableModel {
21
+ readonly count: number;
22
+ readonly selectedCount?: number;
23
+ readonly isEmpty: boolean;
24
+ }
@@ -0,0 +1,17 @@
1
+ import { Getter } from '../types/getter';
2
+ import type { ILabel, IValueModel } from './types';
3
+ export declare function withLabel<T, TModel extends IValueModel<T>, TLabel = string>(model: TModel, label: Getter<TLabel>): TModel & ILabel<TLabel>;
4
+ export declare function inject<T, TModel extends IValueModel<T>>(model: TModel, source: IValueModel<T>): TModel;
5
+ /**
6
+ * Adds callbacks to setter and getter of the 'value' property of a model. DOES NOT override previous spies (all spies are in charge).
7
+ *
8
+ * Useful mostly for debugging.
9
+ * */
10
+ export declare function spyModel<T, TModel extends (IValueModel<T> & object)>(model: TModel, spySetter: (v: T) => void, spyGetter?: (v: T) => void): void;
11
+ export declare function wrap<TSource, TRes>(model: TSource, getter: (m: TSource) => TRes, setter: (v: TRes, model: TSource) => void): IValueModel<TRes>;
12
+ type LabeledModel<T, TModel extends IValueModel<T>, TLabel = string> = TModel & ILabel<TLabel>;
13
+ interface LabeledModelCtor<T, TModel extends IValueModel<T>, TLabel = string> {
14
+ new (label?: Getter<TLabel>, initial?: T): LabeledModel<T, TModel, TLabel>;
15
+ }
16
+ export declare function mixinLabel<T, TModel extends IValueModel<T>, TLabel = string>(Superclass: new (initial?: T) => TModel): LabeledModelCtor<T, TModel, TLabel>;
17
+ export {};
@@ -0,0 +1,25 @@
1
+ import type { Predicate } from '../types';
2
+ import { ILogger } from '../logger';
3
+ export type EventHandler<T = any> = (data?: T) => void | Promise<void>;
4
+ type Unsubscribe = () => void;
5
+ export interface IEvent<T = any> {
6
+ on(handler: EventHandler<T>): () => void;
7
+ off(handler: EventHandler<T>): void;
8
+ }
9
+ export declare class Event<T = any> implements IEvent<T> {
10
+ private _handlers;
11
+ private _logger;
12
+ constructor(withDefaultLogger?: boolean);
13
+ withLogger(logger?: ILogger | null): this;
14
+ withLogger(name?: string | null): this;
15
+ /** Clears handlers list */
16
+ resetHandlers: () => void;
17
+ on(handler: EventHandler<T>): Unsubscribe;
18
+ off(handler: EventHandler<T>): void;
19
+ trigger(data?: T): void;
20
+ triggerAsync(data?: T): Promise<Error[]>;
21
+ expose(): IEvent<T>;
22
+ private logError;
23
+ }
24
+ export declare function oneTimeSubscription<T>(e: IEvent<T>, filter?: Predicate<T | undefined>): Promise<T | undefined>;
25
+ export {};
@@ -0,0 +1,10 @@
1
+ import { Event, EventHandler } from './event';
2
+ export declare class OneTimeLateEvent<T = any> extends Event<T> {
3
+ private _triggeredWith;
4
+ private _triggered;
5
+ trigger(data?: T): void;
6
+ triggerAsync(data?: T): Promise<Error[]>;
7
+ on(handler: EventHandler<T>): () => void;
8
+ /** Allows this event to be triggered again and existing subscribers to receive it */
9
+ reset: () => void;
10
+ }
@@ -0,0 +1,27 @@
1
+ import { ILogger } from '../logger';
2
+ export declare class ProgressTracker {
3
+ readonly log: boolean | ILogger;
4
+ private readonly _firstTimestamp;
5
+ private _lastTimestamp;
6
+ private _lastCompleted;
7
+ private _completed;
8
+ private _total;
9
+ private _currentProgress;
10
+ private readonly _deltas;
11
+ private readonly _changed;
12
+ constructor(log?: boolean | ILogger);
13
+ get changed(): import("./event").IEvent<{
14
+ completed: number;
15
+ total: number;
16
+ currentProgress: number;
17
+ totalElapsedMs: number;
18
+ totalEstimatedMs: number;
19
+ }>;
20
+ get total(): number;
21
+ get completed(): number;
22
+ get current(): number;
23
+ private get logger();
24
+ setTotal(total: number): this;
25
+ add(amount?: number, restart?: boolean): void;
26
+ track(completed: number, total: number): void;
27
+ }
@@ -0,0 +1,7 @@
1
+ import { Event } from './event';
2
+ export declare class ThrottledEvent extends Event {
3
+ private readonly _throttle;
4
+ setTimeout(timeout: number): this;
5
+ trigger(): void;
6
+ triggerAsync(): Promise<Error[]>;
7
+ }
@@ -0,0 +1,41 @@
1
+ import { IDisposable } from '../functions/disposer';
2
+ import { EventHandler, IEvent } from './event';
3
+ export type TimerState = {
4
+ timer: Timer;
5
+ elapsed: number;
6
+ left: number;
7
+ now: number;
8
+ };
9
+ export declare class Timer implements IDisposable, IEvent<TimerState> {
10
+ readonly interval: number;
11
+ private readonly _event;
12
+ private readonly _onFinished;
13
+ private _now;
14
+ private _elapsed;
15
+ private _left;
16
+ private _duration;
17
+ private _handle;
18
+ /**
19
+ * @param interval timer firing interval in milliseconds
20
+ * @param start whether to start the timer immediately. default is `true`
21
+ */
22
+ constructor(interval?: number, start?: boolean);
23
+ /** the timestamp when the timer last fired */
24
+ get now(): number;
25
+ /** the duration of the timer in milliseconds. If was not set, `Number.MAX_SAFE_INTEGER` */
26
+ get duration(): number;
27
+ /** the elapsed milliseconds since the timer started */
28
+ get elapsed(): number;
29
+ /** left milliseconds for this timer. If duration was not set, `Number.MAX_SAFE_INTEGER` */
30
+ get left(): number;
31
+ /** Fired when the timer has finished by duration, if set */
32
+ get onFinished(): IEvent<TimerState>;
33
+ /** Adds duration in milliseconds for the timer so it will auto-stop when elapsed is >= duration */
34
+ withDuration(duration: number): this;
35
+ on(handler: EventHandler<TimerState>): () => void;
36
+ off(handler: EventHandler<TimerState>): void;
37
+ /** (Re-)Starts the timer */
38
+ restart(): void;
39
+ /** Stops the timer but does not clean all counters. */
40
+ dispose(): void;
41
+ }
@@ -0,0 +1,2 @@
1
+ export * from './types';
2
+ export * from './wrappers';
@@ -0,0 +1,12 @@
1
+ import type { RemoveFirstParameter, Awaitify } from '../types/functions';
2
+ export interface IStorage<T = string> {
3
+ getValue(key: string): Promise<T | null>;
4
+ setValue(key: string, value: T): Promise<void>;
5
+ hasValue(key: string): Promise<boolean>;
6
+ removeValue(key: string): Promise<boolean>;
7
+ }
8
+ export type IKeyedStorage<T = string> = {
9
+ [P in keyof IStorage<T>]: RemoveFirstParameter<IStorage<T>[P]>;
10
+ };
11
+ export type IStorageSync<T = string> = Awaitify<IStorage<T>>;
12
+ export type IKeyedStorageSync<T = string> = Awaitify<IKeyedStorage<T>>;
@@ -0,0 +1,10 @@
1
+ import type { IKeyedStorage, IKeyedStorageSync, IStorage, IStorageSync } from './types';
2
+ export declare namespace Storages {
3
+ function toAsync<T = string>(storage: IStorageSync<T>): IStorage<T>;
4
+ function toKeyed<T = string>(storage: IStorage<T>, storageKey: string): IKeyedStorage<T>;
5
+ function toKeyed<T = string>(storage: IStorageSync<T>, storageKey: string): IKeyedStorageSync<T>;
6
+ function toConverted<T, C = string>(storage: IStorage<C>, convertOutput: (s: C | null) => T, convertInput: (v: T) => C): IStorage<T>;
7
+ function toConverted<T, C = string>(storage: IStorageSync<C>, convertOutput: (s: C | null) => T, convertInput: (v: T) => C): IStorageSync<T>;
8
+ function toJSONConverted<T>(storage: IStorage<string>): IStorage<T>;
9
+ function toJSONConverted<T>(storage: IStorageSync<string>): IStorageSync<T>;
10
+ }
@@ -0,0 +1,13 @@
1
+ export interface IExpireTracker {
2
+ readonly isExpired: boolean;
3
+ restart(): void;
4
+ }
5
+ export declare class ExpireTracker implements IExpireTracker {
6
+ readonly lifetimeMs: number;
7
+ private _expiringAt;
8
+ constructor(lifetimeMs: number);
9
+ get isExpired(): boolean;
10
+ restart(): void;
11
+ get remainingMs(): number;
12
+ expire(): void;
13
+ }
@@ -0,0 +1,36 @@
1
+ export declare class EnumStringHelper<T extends string> {
2
+ protected readonly _obj: any;
3
+ private readonly _valuesToStrings;
4
+ readonly Keys: string[];
5
+ readonly Values: T[];
6
+ constructor(_obj: any, _valuesToStrings?: {
7
+ [val: string]: string;
8
+ } | null);
9
+ keyToString(key: string): string;
10
+ valueToString(v: T): string;
11
+ validateValue(v: string | null): T | null;
12
+ }
13
+ type ValueToStringMap = {
14
+ [val: number]: string;
15
+ };
16
+ export default class EnumHelper<T extends number> {
17
+ protected readonly _obj: any;
18
+ private readonly _valuesToStrings;
19
+ readonly Keys: string[];
20
+ readonly Values: T[];
21
+ constructor(_obj: any, _valuesToStrings?: ValueToStringMap | null);
22
+ keyToString(key: string, overrideMap?: ValueToStringMap | null): string;
23
+ keyToValue(key: string): T | null;
24
+ valueToString(v: T, overrideMap?: ValueToStringMap | null): string;
25
+ validateValue(v: number | null): T | null;
26
+ }
27
+ export declare class EnumBitwiseHelper<T extends number> extends EnumHelper<T> {
28
+ toStrings(value: T, overrideMap?: ValueToStringMap | null): string[];
29
+ toString(value: T, separator?: string, overrideMap?: ValueToStringMap | null): string;
30
+ contains(base: T, target: T): boolean;
31
+ combine(...values: T[]): number;
32
+ add(value: T, other: T): number;
33
+ intersection(v1: T, v2: T): number;
34
+ remove(value: T, other: T): number;
35
+ }
36
+ export {};
@@ -0,0 +1,15 @@
1
+ export type DisplayName = {
2
+ displayName: string;
3
+ };
4
+ export type SplittedName = {
5
+ firstName: string;
6
+ lastName: string;
7
+ };
8
+ export type FullName = DisplayName & SplittedName;
9
+ export declare const NamesHelper: {
10
+ split(name: Partial<DisplayName>): SplittedName;
11
+ join(name: Partial<SplittedName>): DisplayName;
12
+ ensure(name: Partial<FullName>): FullName;
13
+ ensureFromUsers(user: Partial<FullName>, authUser: Partial<DisplayName>): FullName;
14
+ };
15
+ export default NamesHelper;
@@ -0,0 +1,38 @@
1
+ export interface ILinkedListItem<T> {
2
+ readonly value: T;
3
+ readonly next?: ILinkedListItem<T> | undefined;
4
+ readonly prev?: ILinkedListItem<T> | undefined;
5
+ readonly position: number;
6
+ readonly list: LinkedList<T>;
7
+ }
8
+ export interface ILinkedList<T> extends Iterable<ILinkedListItem<T>> {
9
+ readonly root: ILinkedListItem<T> | undefined;
10
+ readonly last: ILinkedListItem<T> | undefined;
11
+ readonly length: number;
12
+ add(value: T): ILinkedListItem<T>;
13
+ remove(item: ILinkedListItem<T>): void;
14
+ removeLast(): void;
15
+ removeFirst(): void;
16
+ clear(): void;
17
+ }
18
+ interface LinkedListItem<T> extends ILinkedListItem<T> {
19
+ next?: LinkedListItem<T>;
20
+ prev?: LinkedListItem<T>;
21
+ position: number;
22
+ list: LinkedList<T>;
23
+ }
24
+ export declare class LinkedList<T> implements ILinkedList<T> {
25
+ private _root;
26
+ private _last;
27
+ private _length;
28
+ get root(): ILinkedListItem<T> | undefined;
29
+ get last(): ILinkedListItem<T> | undefined;
30
+ get length(): number;
31
+ [Symbol.iterator](): Generator<LinkedListItem<T>, void, unknown>;
32
+ add(value: T): ILinkedListItem<T>;
33
+ remove(item: ILinkedListItem<T> | null | undefined): void;
34
+ removeLast(): void;
35
+ removeFirst(): void;
36
+ clear(): void;
37
+ }
38
+ export {};
@@ -0,0 +1,13 @@
1
+ export declare function nameof<TObject>(obj: TObject, key: keyof TObject): string;
2
+ export declare function nameof<TObject>(key: keyof TObject): string;
3
+ export declare namespace nameof {
4
+ type StringKeyOf<T> = keyof T & string;
5
+ type Builder<T> = {
6
+ key<TKey extends StringKeyOf<T>>(key: TKey): BuilderRes<T[TKey]>;
7
+ };
8
+ type BuilderRes<T> = Builder<T> & {
9
+ result: string;
10
+ };
11
+ export function full<T>(_obj?: T): Builder<T>;
12
+ export {};
13
+ }
@@ -0,0 +1,15 @@
1
+ import { BaseInput, CombineBuilders, StaticBuilder, SwitchBuilder } from './types';
2
+ export * from './types';
3
+ /** Tagged template literal to create a path builder */
4
+ export declare function build<TArgs extends string[]>(strings: TemplateStringsArray, ...params: TArgs): SwitchBuilder<TArgs>;
5
+ export declare const Empty: StaticBuilder;
6
+ /**
7
+ * For input, use any amount of arguments, each one can be:
8
+ *
9
+ * - static `string | string[]` args to make the path part static
10
+ * - pre-built `Builder` to make the path part dynamic, which can be created by:
11
+ * - `build` tagged template literal
12
+ * - manually implementing `Builder<string[]>`
13
+ * - another `construct` call
14
+ */
15
+ export declare function construct<TArr extends BaseInput[]>(...inputs: TArr): CombineBuilders<TArr>;
@@ -0,0 +1,2 @@
1
+ export * from './utils';
2
+ export * as Path from './builder';
@@ -0,0 +1,61 @@
1
+ import type { LengthArray, Nullable } from '../../types/misc';
2
+ import type { CombineOptions } from './utils';
3
+ export type ArgValue = string | number;
4
+ export type ObjectBuilderArgs<TArgs extends string> = Record<TArgs, ArgValue>;
5
+ export type BuilderArgs<TArgs extends string, L extends number = number> = LengthArray<ArgValue, L> | Record<TArgs, ArgValue>;
6
+ export type TemplatePrefixing = Nullable<string | ((key: string, index: number) => string)>;
7
+ interface BaseBuilder<A extends readonly string[], B, P = TemplatePrefixing> {
8
+ /**
9
+ * Builds the path using provided args.
10
+ *
11
+ * Each arg is always a `ArgValue` (`string | number`), and args are provided as an array which should use the same order and length as the keys in the template.
12
+ *
13
+ * Also, args can be provided as an object with args as they were in the template and values as strings.
14
+ */
15
+ build: (args?: B, options?: CombineOptions) => string;
16
+ /**
17
+ * Template builder that will build the path using args names but also can:
18
+ * - keep args as they were in the template
19
+ * - add a prefix for each key in case `prefix` is provided as string
20
+ * - format each key in case `prefix` is provided as function
21
+ *
22
+ * For now it's recommended to cache the result, internally it doesn't care about it.
23
+ */
24
+ template: (prefix?: P, options?: CombineOptions) => string;
25
+ /** args as they were in the template */
26
+ readonly args: A;
27
+ /**
28
+ * Types helper method to easily cast all kinds of builders to generic IBuilder or others.
29
+ * It just always returns the passed object, so it's the implementation's responsibility to ensure the compatibility.
30
+ *
31
+ * Currently their signature is totally compatible with each other so this cast is safe.
32
+ *
33
+ * In future probably some extra conversion may be required.
34
+ */
35
+ as<TOther>(marker?: TOther): TOther extends readonly string[] ? SwitchBuilder<TOther> : (TOther extends BaseBuilder<any, any> ? TOther : never);
36
+ /** Allows to specify default combine options for the current builder instance. */
37
+ withDefaults: (defaults: CombineOptions) => this;
38
+ /** Allows to specify **build** transformation per key for the current builder instance. */
39
+ withBuildTransform: (transforms: TransformMap<A>) => this;
40
+ /** Allows to specify **template** transformation per key for the current builder instance. */
41
+ withTemplateTransform: (transforms: TransformMap<A>) => this;
42
+ }
43
+ export type TransformMap<A extends readonly string[]> = {
44
+ [K in A[number]]?: (v: ArgValue) => string;
45
+ };
46
+ type EmptyBuilderArgs = [] | Record<PropertyKey, never>;
47
+ type ReadonlyArr<TArr extends ReadonlyArray<any>> = TArr extends ReadonlyArray<infer T> ? ReadonlyArray<T> : never;
48
+ export interface Builder<TArgs extends readonly string[]> extends BaseBuilder<ReadonlyArr<TArgs>, BuilderArgs<TArgs[number], TArgs['length']>> {
49
+ }
50
+ export interface StaticBuilder extends BaseBuilder<readonly [], EmptyBuilderArgs> {
51
+ }
52
+ export interface IBuilder extends BaseBuilder<readonly string[], BuilderArgs<string>> {
53
+ }
54
+ export type StaticInput = string | readonly string[];
55
+ export type BaseInput = StaticInput | BaseBuilder<any, any, any>;
56
+ export type Output<TInput> = TInput extends StaticBuilder ? StaticBuilder : (TInput extends Builder<infer TArgs> ? Builder<TArgs> : StaticBuilder);
57
+ export type SwitchBuilder<TArg extends readonly string[]> = [TArg] extends [never] ? StaticBuilder : ([] extends TArg ? StaticBuilder : (readonly string[] extends TArg ? IBuilder : Builder<TArg>));
58
+ export type ExtractArgs<T> = T extends Builder<infer TArgs> ? TArgs : readonly string[];
59
+ type CombineTwo<T1 extends BaseInput, T2 extends BaseInput> = Output<T1> extends StaticBuilder ? Output<T2> : (Output<T2> extends StaticBuilder ? Output<T1> : (Output<T1> extends Builder<infer Arr1> ? (Output<T2> extends Builder<infer Arr2> ? Builder<[...Arr1, ...Arr2]> : never) : never));
60
+ export type CombineBuilders<T extends BaseInput[]> = T extends [infer T1 extends BaseInput, infer T2 extends BaseInput, ...infer Rest] ? (CombineTwo<T1, T2> extends infer C extends BaseBuilder<any, any> & BaseInput ? (Rest extends BaseInput[] ? CombineBuilders<[C, ...Rest]> : never) : never) : (T extends [infer T1] ? Output<T1> : StaticBuilder);
61
+ export {};
@@ -0,0 +1,14 @@
1
+ import { Nullable } from '../../types/misc';
2
+ export declare function indexTrim(str: string | null | undefined, ch: string): string;
3
+ export type CombineOptions = {
4
+ noTrim?: boolean;
5
+ addTrail?: boolean | string;
6
+ addStart?: boolean | string;
7
+ separator?: string;
8
+ trimSymbol?: string;
9
+ };
10
+ export declare namespace CombineOptions {
11
+ function merge(...options: Nullable<CombineOptions>[]): CombineOptions;
12
+ }
13
+ export declare function combineUrls(options: Nullable<CombineOptions>, ...parts: Nullable<string>[]): string;
14
+ export declare function combineUrls(...parts: Nullable<string>[]): string;
@@ -0,0 +1,16 @@
1
+ import type { IDisposable } from '../functions/disposer';
2
+ export declare class Pool<T> {
3
+ readonly factory: () => T;
4
+ private readonly _container;
5
+ constructor(factory: () => T);
6
+ get(): T;
7
+ release(e: T | T[]): void;
8
+ }
9
+ type Initializer<T> = (item: T) => void;
10
+ export declare class PoolDisposable<T extends IDisposable> extends Pool<T> {
11
+ readonly initializer: null | Initializer<T>;
12
+ constructor(factory: () => T, initializer?: null | Initializer<T>);
13
+ get(): T;
14
+ release(e: T | T[]): void;
15
+ }
16
+ export {};
@@ -0,0 +1,85 @@
1
+ import { ILogger } from '../logger';
2
+ export type DeferredGetter<T> = {
3
+ readonly current: T | null | undefined;
4
+ readonly promise: Promise<T | null>;
5
+ readonly busy: boolean | undefined;
6
+ };
7
+ export declare namespace DeferredGetter {
8
+ const Empty: {
9
+ readonly current: null;
10
+ readonly promise: Promise<null>;
11
+ readonly busy: boolean;
12
+ };
13
+ }
14
+ /** Caches items by key which are resolve by a promise.
15
+ *
16
+ * Supports:
17
+ * - custom key adapter and parser for non-string keys.
18
+ * - batching of fetches.
19
+ * - auto-invalidation of cached items.
20
+ */
21
+ export declare class PromiseCache<T, K = string> {
22
+ private readonly fetcher;
23
+ private readonly keyAdapter?;
24
+ private readonly keyParser?;
25
+ protected _itemsCache: Record<string, T | null | undefined>;
26
+ protected _itemsStatus: Record<string, boolean>;
27
+ private _fetchCache;
28
+ private _timestamps;
29
+ private _batch;
30
+ private _invalidationTimeMs;
31
+ private _keepInstanceDuringInvalidation;
32
+ private _logger;
33
+ private _version;
34
+ protected _busyCount: number;
35
+ constructor(fetcher: (id: K) => Promise<T>, keyAdapter?: (K extends string ? null : (k: K) => string) | undefined, keyParser?: (K extends string ? null : (id: string) => K) | undefined);
36
+ get busyCount(): number;
37
+ private _pk;
38
+ useLogger(nameOrLogger?: string | ILogger): this;
39
+ /**
40
+ * Provide a fetcher function that takes multiple ids and returns multiple results at once. Will be called with a slight delay to allow multiple ids to be collected.
41
+ *
42
+ * Warning: resolved array should have the same order as the input array.
43
+ *
44
+ * When provided, effectively replaces the main fetcher; but in case of fail, fallbacks to the main fetcher.
45
+ */
46
+ useBatching(fetcher: (ids: K[]) => Promise<T[]>, delay?: number): this;
47
+ /**
48
+ * Enables auto-invalidation of cached items.
49
+ *
50
+ * @param ms Time in milliseconds after which the item will be considered invalid. If null, auto-invalidation is disabled.
51
+ */
52
+ useInvalidationTime(ms: number | null, keepInstance?: boolean): this;
53
+ getDeferred(key: K): DeferredGetter<T>;
54
+ getIsBusy(id: K): boolean | undefined;
55
+ protected _getCurrent(id: K): {
56
+ item: T | null | undefined;
57
+ key: string;
58
+ isInvalid: boolean;
59
+ };
60
+ getCurrent(id: K, initiateFetch?: boolean): T | null | undefined;
61
+ get(id: K): Promise<T | null>;
62
+ protected _doFetchAsync: (id: K, key: string) => Promise<T | null>;
63
+ invalidate(id: K): void;
64
+ updateValueDirectly(id: K, value: T | null): void;
65
+ hasKey(id: K): boolean;
66
+ keys(): string[];
67
+ keysParsed(): K[] | null;
68
+ clear(): void;
69
+ protected _set(key: string, item: T | null | undefined, promise: Promise<T> | undefined, busy: boolean | undefined): void;
70
+ protected getIsInvalidated(key: string): boolean;
71
+ /** @override */
72
+ protected setStatus(key: string, status: boolean): void;
73
+ /** @override */
74
+ protected setPromise(key: string, promise: Promise<T | null>): void;
75
+ /** @override */
76
+ protected storeResult(key: string, res: T | null): void;
77
+ /** @override */
78
+ protected onBeforeFetch(_key: string): void;
79
+ /** @override */
80
+ protected prepareResult(res: T | null): NonNullable<T> | null;
81
+ /** @override */
82
+ protected onFetchComplete(key: string): void;
83
+ /** @pure */
84
+ protected tryFetchInBatch(id: K): Promise<T | null>;
85
+ }