yummies 5.4.6 → 5.4.8

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 (508) hide show
  1. package/async.cjs +70 -0
  2. package/async.d.cts +28 -0
  3. package/async.d.cts.map +1 -0
  4. package/async.d.ts +28 -0
  5. package/async.d.ts.map +1 -0
  6. package/async.js +62 -0
  7. package/common.cjs +18 -0
  8. package/common.d.cts +15 -0
  9. package/common.d.cts.map +1 -0
  10. package/common.d.ts +15 -0
  11. package/common.d.ts.map +1 -0
  12. package/common.js +14 -0
  13. package/complex/counter.cjs +21 -0
  14. package/complex/counter.d.cts +15 -0
  15. package/complex/counter.d.cts.map +1 -0
  16. package/complex/counter.d.ts +15 -0
  17. package/complex/counter.d.ts.map +1 -0
  18. package/complex/counter.js +17 -0
  19. package/complex/global-config.cjs +46 -0
  20. package/complex/global-config.d.cts +11 -0
  21. package/complex/global-config.d.cts.map +1 -0
  22. package/complex/global-config.d.ts +11 -0
  23. package/complex/global-config.d.ts.map +1 -0
  24. package/complex/global-config.js +41 -0
  25. package/complex/index.cjs +19 -0
  26. package/complex/index.d.cts +4 -0
  27. package/complex/index.d.cts.map +1 -0
  28. package/complex/index.d.ts +4 -0
  29. package/complex/index.d.ts.map +1 -0
  30. package/complex/index.js +3 -0
  31. package/complex/modules-factory.cjs +50 -0
  32. package/complex/modules-factory.d.cts +49 -0
  33. package/complex/modules-factory.d.cts.map +1 -0
  34. package/complex/modules-factory.d.ts +49 -0
  35. package/complex/modules-factory.d.ts.map +1 -0
  36. package/complex/modules-factory.js +46 -0
  37. package/cookie.cjs +13 -0
  38. package/cookie.d.cts +3 -0
  39. package/cookie.d.cts.map +1 -0
  40. package/cookie.d.ts +3 -0
  41. package/cookie.d.ts.map +1 -0
  42. package/cookie.js +9 -0
  43. package/css.cjs +28 -0
  44. package/css.d.cts +36 -0
  45. package/css.d.cts.map +1 -0
  46. package/css.d.ts +36 -0
  47. package/css.d.ts.map +1 -0
  48. package/css.js +20 -0
  49. package/data.cjs +58 -0
  50. package/data.d.cts +4 -0
  51. package/data.d.cts.map +1 -0
  52. package/data.d.ts +4 -0
  53. package/data.d.ts.map +1 -0
  54. package/data.js +52 -0
  55. package/date-time.cjs +171 -0
  56. package/date-time.d.cts +28 -0
  57. package/date-time.d.cts.map +1 -0
  58. package/date-time.d.ts +28 -0
  59. package/date-time.d.ts.map +1 -0
  60. package/date-time.js +160 -0
  61. package/device.cjs +28 -0
  62. package/device.d.cts +8 -0
  63. package/device.d.cts.map +1 -0
  64. package/device.d.ts +8 -0
  65. package/device.d.ts.map +1 -0
  66. package/device.js +21 -0
  67. package/encodings.cjs +270 -0
  68. package/encodings.d.cts +2 -0
  69. package/encodings.d.cts.map +1 -0
  70. package/encodings.d.ts +2 -0
  71. package/encodings.d.ts.map +1 -0
  72. package/encodings.js +267 -0
  73. package/errors.cjs +34 -0
  74. package/errors.d.cts +19 -0
  75. package/errors.d.cts.map +1 -0
  76. package/errors.d.ts +19 -0
  77. package/errors.d.ts.map +1 -0
  78. package/errors.js +30 -0
  79. package/file.cjs +29 -0
  80. package/file.d.cts +3 -0
  81. package/file.d.cts.map +1 -0
  82. package/file.d.ts +3 -0
  83. package/file.d.ts.map +1 -0
  84. package/file.js +24 -0
  85. package/format/_exports.cjs +20 -0
  86. package/format/_exports.d.cts +5 -0
  87. package/format/_exports.d.cts.map +1 -0
  88. package/format/_exports.d.ts +5 -0
  89. package/format/_exports.d.ts.map +1 -0
  90. package/format/_exports.js +4 -0
  91. package/format/constants.cjs +6 -0
  92. package/format/constants.d.cts +4 -0
  93. package/format/constants.d.cts.map +1 -0
  94. package/format/constants.d.ts +4 -0
  95. package/format/constants.d.ts.map +1 -0
  96. package/{src/format/constants.ts → format/constants.js} +0 -2
  97. package/format/index.cjs +40 -0
  98. package/format/index.d.cts +3 -0
  99. package/format/index.d.cts.map +1 -0
  100. package/format/index.d.ts +3 -0
  101. package/format/index.d.ts.map +1 -0
  102. package/{src/format/index.ts → format/index.js} +1 -2
  103. package/format/number.cjs +48 -0
  104. package/format/number.d.cts +36 -0
  105. package/format/number.d.cts.map +1 -0
  106. package/format/number.d.ts +36 -0
  107. package/format/number.d.ts.map +1 -0
  108. package/format/number.js +44 -0
  109. package/format/percent.cjs +27 -0
  110. package/format/percent.d.cts +15 -0
  111. package/format/percent.d.cts.map +1 -0
  112. package/format/percent.d.ts +15 -0
  113. package/format/percent.d.ts.map +1 -0
  114. package/format/percent.js +23 -0
  115. package/format/skip-spaces.cjs +8 -0
  116. package/format/skip-spaces.d.cts +5 -0
  117. package/format/skip-spaces.d.cts.map +1 -0
  118. package/format/skip-spaces.d.ts +5 -0
  119. package/format/skip-spaces.d.ts.map +1 -0
  120. package/format/skip-spaces.js +4 -0
  121. package/html.cjs +202 -0
  122. package/html.d.cts +44 -0
  123. package/html.d.cts.map +1 -0
  124. package/html.d.ts +44 -0
  125. package/html.d.ts.map +1 -0
  126. package/html.js +182 -0
  127. package/id.cjs +76 -0
  128. package/id.d.cts +63 -0
  129. package/id.d.cts.map +1 -0
  130. package/id.d.ts +63 -0
  131. package/id.d.ts.map +1 -0
  132. package/{src/id.ts → id.js} +6 -16
  133. package/imports.cjs +45 -0
  134. package/imports.d.cts +15 -0
  135. package/imports.d.cts.map +1 -0
  136. package/imports.d.ts +15 -0
  137. package/imports.d.ts.map +1 -0
  138. package/imports.js +40 -0
  139. package/math.cjs +23 -0
  140. package/math.d.cts +13 -0
  141. package/math.d.cts.map +1 -0
  142. package/math.d.ts +13 -0
  143. package/math.d.ts.map +1 -0
  144. package/math.js +17 -0
  145. package/media.cjs +115 -0
  146. package/media.d.cts +20 -0
  147. package/media.d.cts.map +1 -0
  148. package/media.d.ts +20 -0
  149. package/media.d.ts.map +1 -0
  150. package/media.js +103 -0
  151. package/mobx/apply-observable.cjs +16 -0
  152. package/mobx/apply-observable.d.cts +4 -0
  153. package/mobx/apply-observable.d.cts.map +1 -0
  154. package/mobx/apply-observable.d.ts +4 -0
  155. package/mobx/apply-observable.d.ts.map +1 -0
  156. package/mobx/apply-observable.js +12 -0
  157. package/mobx/create-enhanced-atom.cjs +16 -0
  158. package/mobx/create-enhanced-atom.d.cts +11 -0
  159. package/mobx/create-enhanced-atom.d.cts.map +1 -0
  160. package/mobx/create-enhanced-atom.d.ts +11 -0
  161. package/mobx/create-enhanced-atom.d.ts.map +1 -0
  162. package/mobx/create-enhanced-atom.js +12 -0
  163. package/mobx/deep-observable-struct.cjs +61 -0
  164. package/mobx/deep-observable-struct.d.cts +7 -0
  165. package/mobx/deep-observable-struct.d.cts.map +1 -0
  166. package/mobx/deep-observable-struct.d.ts +7 -0
  167. package/mobx/deep-observable-struct.d.ts.map +1 -0
  168. package/mobx/deep-observable-struct.js +57 -0
  169. package/mobx/get-mobx-administration.cjs +6 -0
  170. package/mobx/get-mobx-administration.d.cts +6 -0
  171. package/mobx/get-mobx-administration.d.cts.map +1 -0
  172. package/mobx/get-mobx-administration.d.ts +6 -0
  173. package/mobx/get-mobx-administration.d.ts.map +1 -0
  174. package/mobx/get-mobx-administration.js +2 -0
  175. package/mobx/index.cjs +21 -0
  176. package/mobx/index.d.cts +6 -0
  177. package/mobx/index.d.cts.map +1 -0
  178. package/mobx/index.d.ts +6 -0
  179. package/mobx/index.d.ts.map +1 -0
  180. package/mobx/index.js +5 -0
  181. package/mobx/lazy-observe.cjs +47 -0
  182. package/mobx/lazy-observe.d.cts +8 -0
  183. package/mobx/lazy-observe.d.cts.map +1 -0
  184. package/mobx/lazy-observe.d.ts +8 -0
  185. package/mobx/lazy-observe.d.ts.map +1 -0
  186. package/mobx/lazy-observe.js +43 -0
  187. package/ms.cjs +22 -0
  188. package/ms.d.cts +19 -0
  189. package/ms.d.cts.map +1 -0
  190. package/ms.d.ts +19 -0
  191. package/ms.d.ts.map +1 -0
  192. package/ms.js +18 -0
  193. package/number.cjs +16 -0
  194. package/number.d.cts +8 -0
  195. package/number.d.cts.map +1 -0
  196. package/number.d.ts +8 -0
  197. package/number.d.ts.map +1 -0
  198. package/number.js +13 -0
  199. package/package.json +163 -5
  200. package/parser/_exports.cjs +19 -0
  201. package/parser/_exports.d.cts +4 -0
  202. package/parser/_exports.d.cts.map +1 -0
  203. package/parser/_exports.d.ts +4 -0
  204. package/parser/_exports.d.ts.map +1 -0
  205. package/parser/_exports.js +3 -0
  206. package/parser/index.cjs +40 -0
  207. package/parser/index.d.cts +3 -0
  208. package/parser/index.d.cts.map +1 -0
  209. package/parser/index.d.ts +3 -0
  210. package/parser/index.d.ts.map +1 -0
  211. package/{src/parser/index.ts → parser/index.js} +1 -2
  212. package/parser/number.cjs +48 -0
  213. package/parser/number.d.cts +21 -0
  214. package/parser/number.d.cts.map +1 -0
  215. package/parser/number.d.ts +21 -0
  216. package/parser/number.d.ts.map +1 -0
  217. package/parser/number.js +44 -0
  218. package/parser/percent.cjs +8 -0
  219. package/parser/percent.d.cts +4 -0
  220. package/parser/percent.d.cts.map +1 -0
  221. package/parser/percent.d.ts +4 -0
  222. package/parser/percent.d.ts.map +1 -0
  223. package/parser/percent.js +4 -0
  224. package/parser/string.cjs +18 -0
  225. package/parser/string.d.cts +7 -0
  226. package/parser/string.d.cts.map +1 -0
  227. package/parser/string.d.ts +7 -0
  228. package/parser/string.d.ts.map +1 -0
  229. package/parser/string.js +14 -0
  230. package/price.cjs +21 -0
  231. package/price.d.cts +6 -0
  232. package/price.d.cts.map +1 -0
  233. package/price.d.ts +6 -0
  234. package/price.d.ts.map +1 -0
  235. package/price.js +17 -0
  236. package/random.cjs +25 -0
  237. package/random.d.cts +9 -0
  238. package/random.d.cts.map +1 -0
  239. package/random.d.ts +9 -0
  240. package/random.d.ts.map +1 -0
  241. package/random.js +14 -0
  242. package/react/hooks/index.cjs +37 -0
  243. package/react/hooks/index.d.cts +22 -0
  244. package/react/hooks/index.d.cts.map +1 -0
  245. package/react/hooks/index.d.ts +22 -0
  246. package/react/hooks/index.d.ts.map +1 -0
  247. package/react/hooks/index.js +21 -0
  248. package/react/hooks/use-abort-controller.cjs +15 -0
  249. package/react/hooks/use-abort-controller.d.cts +2 -0
  250. package/react/hooks/use-abort-controller.d.cts.map +1 -0
  251. package/react/hooks/use-abort-controller.d.ts +2 -0
  252. package/react/hooks/use-abort-controller.d.ts.map +1 -0
  253. package/react/hooks/use-abort-controller.js +11 -0
  254. package/react/hooks/use-abort-signal.cjs +8 -0
  255. package/react/hooks/use-abort-signal.d.cts +2 -0
  256. package/react/hooks/use-abort-signal.d.cts.map +1 -0
  257. package/react/hooks/use-abort-signal.d.ts +2 -0
  258. package/react/hooks/use-abort-signal.d.ts.map +1 -0
  259. package/react/hooks/use-abort-signal.js +4 -0
  260. package/react/hooks/use-click-outside.cjs +17 -0
  261. package/react/hooks/use-click-outside.d.cts +9 -0
  262. package/react/hooks/use-click-outside.d.cts.map +1 -0
  263. package/react/hooks/use-click-outside.d.ts +9 -0
  264. package/react/hooks/use-click-outside.d.ts.map +1 -0
  265. package/react/hooks/use-click-outside.js +13 -0
  266. package/react/hooks/use-constant.cjs +19 -0
  267. package/react/hooks/use-constant.d.cts +9 -0
  268. package/react/hooks/use-constant.d.cts.map +1 -0
  269. package/react/hooks/use-constant.d.ts +9 -0
  270. package/react/hooks/use-constant.d.ts.map +1 -0
  271. package/{src/react/hooks/use-constant.ts → react/hooks/use-constant.js} +6 -9
  272. package/react/hooks/use-define-ref.cjs +19 -0
  273. package/react/hooks/use-define-ref.d.cts +10 -0
  274. package/react/hooks/use-define-ref.d.cts.map +1 -0
  275. package/react/hooks/use-define-ref.d.ts +10 -0
  276. package/react/hooks/use-define-ref.d.ts.map +1 -0
  277. package/{src/react/hooks/use-define-ref.ts → react/hooks/use-define-ref.js} +7 -10
  278. package/react/hooks/use-element-ref.cjs +12 -0
  279. package/react/hooks/use-element-ref.d.cts +2 -0
  280. package/react/hooks/use-element-ref.d.cts.map +1 -0
  281. package/react/hooks/use-element-ref.d.ts +2 -0
  282. package/react/hooks/use-element-ref.d.ts.map +1 -0
  283. package/react/hooks/use-element-ref.js +8 -0
  284. package/react/hooks/use-event-listener.cjs +17 -0
  285. package/react/hooks/use-event-listener.d.cts +8 -0
  286. package/react/hooks/use-event-listener.d.cts.map +1 -0
  287. package/react/hooks/use-event-listener.d.ts +8 -0
  288. package/react/hooks/use-event-listener.d.ts.map +1 -0
  289. package/react/hooks/use-event-listener.js +13 -0
  290. package/react/hooks/use-event.cjs +23 -0
  291. package/react/hooks/use-event.d.cts +3 -0
  292. package/react/hooks/use-event.d.cts.map +1 -0
  293. package/react/hooks/use-event.d.ts +3 -0
  294. package/react/hooks/use-event.d.ts.map +1 -0
  295. package/react/hooks/use-event.js +19 -0
  296. package/react/hooks/use-flag.cjs +19 -0
  297. package/react/hooks/use-flag.d.cts +8 -0
  298. package/react/hooks/use-flag.d.cts.map +1 -0
  299. package/react/hooks/use-flag.d.ts +8 -0
  300. package/react/hooks/use-flag.d.ts.map +1 -0
  301. package/react/hooks/use-flag.js +15 -0
  302. package/react/hooks/use-force-update.cjs +11 -0
  303. package/react/hooks/use-force-update.d.cts +2 -0
  304. package/react/hooks/use-force-update.d.cts.map +1 -0
  305. package/react/hooks/use-force-update.d.ts +2 -0
  306. package/react/hooks/use-force-update.d.ts.map +1 -0
  307. package/react/hooks/use-force-update.js +7 -0
  308. package/react/hooks/use-initial-height.cjs +15 -0
  309. package/react/hooks/use-initial-height.d.cts +5 -0
  310. package/react/hooks/use-initial-height.d.cts.map +1 -0
  311. package/react/hooks/use-initial-height.d.ts +5 -0
  312. package/react/hooks/use-initial-height.d.ts.map +1 -0
  313. package/react/hooks/use-initial-height.js +11 -0
  314. package/react/hooks/use-instance.cjs +31 -0
  315. package/react/hooks/use-instance.d.cts +27 -0
  316. package/react/hooks/use-instance.d.cts.map +1 -0
  317. package/react/hooks/use-instance.d.ts +27 -0
  318. package/react/hooks/use-instance.d.ts.map +1 -0
  319. package/{src/react/hooks/use-instance.ts → react/hooks/use-instance.js} +9 -31
  320. package/react/hooks/use-intersection-observer.cjs +14 -0
  321. package/react/hooks/use-intersection-observer.d.cts +2 -0
  322. package/react/hooks/use-intersection-observer.d.cts.map +1 -0
  323. package/react/hooks/use-intersection-observer.d.ts +2 -0
  324. package/react/hooks/use-intersection-observer.d.ts.map +1 -0
  325. package/react/hooks/use-intersection-observer.js +10 -0
  326. package/react/hooks/use-last-defined-value.cjs +12 -0
  327. package/react/hooks/use-last-defined-value.d.cts +2 -0
  328. package/react/hooks/use-last-defined-value.d.cts.map +1 -0
  329. package/react/hooks/use-last-defined-value.d.ts +2 -0
  330. package/react/hooks/use-last-defined-value.d.ts.map +1 -0
  331. package/react/hooks/use-last-defined-value.js +8 -0
  332. package/react/hooks/use-last-value-ref.cjs +12 -0
  333. package/react/hooks/use-last-value-ref.d.cts +2 -0
  334. package/react/hooks/use-last-value-ref.d.cts.map +1 -0
  335. package/react/hooks/use-last-value-ref.d.ts +2 -0
  336. package/react/hooks/use-last-value-ref.d.ts.map +1 -0
  337. package/react/hooks/use-last-value-ref.js +8 -0
  338. package/react/hooks/use-life-cycle.cjs +14 -0
  339. package/react/hooks/use-life-cycle.d.cts +5 -0
  340. package/react/hooks/use-life-cycle.d.cts.map +1 -0
  341. package/react/hooks/use-life-cycle.d.ts +5 -0
  342. package/react/hooks/use-life-cycle.d.ts.map +1 -0
  343. package/react/hooks/use-life-cycle.js +10 -0
  344. package/react/hooks/use-resize-observer.cjs +15 -0
  345. package/react/hooks/use-resize-observer.d.cts +2 -0
  346. package/react/hooks/use-resize-observer.d.cts.map +1 -0
  347. package/react/hooks/use-resize-observer.d.ts +2 -0
  348. package/react/hooks/use-resize-observer.d.ts.map +1 -0
  349. package/react/hooks/use-resize-observer.js +11 -0
  350. package/react/hooks/use-sync-ref.cjs +10 -0
  351. package/react/hooks/use-sync-ref.d.cts +2 -0
  352. package/react/hooks/use-sync-ref.d.cts.map +1 -0
  353. package/react/hooks/use-sync-ref.d.ts +2 -0
  354. package/react/hooks/use-sync-ref.d.ts.map +1 -0
  355. package/react/hooks/use-sync-ref.js +6 -0
  356. package/react/hooks/use-toggle.cjs +10 -0
  357. package/react/hooks/use-toggle.d.cts +2 -0
  358. package/react/hooks/use-toggle.d.cts.map +1 -0
  359. package/react/hooks/use-toggle.d.ts +2 -0
  360. package/react/hooks/use-toggle.d.ts.map +1 -0
  361. package/react/hooks/use-toggle.js +6 -0
  362. package/react/hooks/use-value.cjs +12 -0
  363. package/react/hooks/use-value.d.cts +5 -0
  364. package/react/hooks/use-value.d.cts.map +1 -0
  365. package/react/hooks/use-value.d.ts +5 -0
  366. package/react/hooks/use-value.d.ts.map +1 -0
  367. package/react/hooks/use-value.js +8 -0
  368. package/react/hooks/use-visibility-state.cjs +18 -0
  369. package/react/hooks/use-visibility-state.d.cts +2 -0
  370. package/react/hooks/use-visibility-state.d.cts.map +1 -0
  371. package/react/hooks/use-visibility-state.d.ts +2 -0
  372. package/react/hooks/use-visibility-state.d.ts.map +1 -0
  373. package/react/hooks/use-visibility-state.js +14 -0
  374. package/react/index.cjs +17 -0
  375. package/react/index.d.cts +2 -0
  376. package/react/index.d.cts.map +1 -0
  377. package/react/index.d.ts +2 -0
  378. package/react/index.d.ts.map +1 -0
  379. package/react/index.js +1 -0
  380. package/sound.cjs +16 -0
  381. package/sound.d.cts +7 -0
  382. package/sound.d.cts.map +1 -0
  383. package/sound.d.ts +7 -0
  384. package/sound.d.ts.map +1 -0
  385. package/sound.js +12 -0
  386. package/storage.cjs +48 -0
  387. package/storage.d.cts +39 -0
  388. package/storage.d.cts.map +1 -0
  389. package/storage.d.ts +39 -0
  390. package/storage.d.ts.map +1 -0
  391. package/storage.js +43 -0
  392. package/text.cjs +53 -0
  393. package/text.d.cts +15 -0
  394. package/text.d.cts.map +1 -0
  395. package/text.d.ts +15 -0
  396. package/text.d.ts.map +1 -0
  397. package/text.js +48 -0
  398. package/type-guard/_exports.cjs +129 -0
  399. package/type-guard/_exports.d.cts +86 -0
  400. package/type-guard/_exports.d.cts.map +1 -0
  401. package/type-guard/_exports.d.ts +86 -0
  402. package/type-guard/_exports.d.ts.map +1 -0
  403. package/type-guard/_exports.js +125 -0
  404. package/type-guard/index.cjs +40 -0
  405. package/type-guard/index.d.cts +3 -0
  406. package/type-guard/index.d.cts.map +1 -0
  407. package/type-guard/index.d.ts +3 -0
  408. package/type-guard/index.d.ts.map +1 -0
  409. package/{src/type-guard/index.ts → type-guard/index.js} +1 -2
  410. package/utility-types.d.ts +396 -0
  411. package/utils/types.cjs +2 -0
  412. package/utils/types.d.cts +395 -0
  413. package/utils/types.d.cts.map +1 -0
  414. package/utils/types.d.ts +395 -0
  415. package/utils/types.d.ts.map +1 -0
  416. package/utils/types.js +1 -0
  417. package/vibrate.cjs +12 -0
  418. package/vibrate.d.cts +5 -0
  419. package/vibrate.d.cts.map +1 -0
  420. package/vibrate.d.ts +5 -0
  421. package/vibrate.d.ts.map +1 -0
  422. package/vibrate.js +8 -0
  423. package/.changeset/README.md +0 -8
  424. package/.changeset/config.json +0 -11
  425. package/.github/FUNDING.yml +0 -1
  426. package/.github/workflows/main.yml +0 -34
  427. package/.github/workflows/version-or-publish.yml +0 -45
  428. package/.nvmrc +0 -1
  429. package/.vscode/settings.json +0 -19
  430. package/CHANGELOG.md +0 -215
  431. package/CONTRIBUTING.md +0 -8
  432. package/Makefile +0 -7
  433. package/biome.json +0 -3
  434. package/commitfmt.toml +0 -18
  435. package/lefthook.yml +0 -14
  436. package/scripts/post-build.ts +0 -71
  437. package/src/async.ts +0 -86
  438. package/src/common.ts +0 -26
  439. package/src/complex/counter.test.ts +0 -41
  440. package/src/complex/counter.ts +0 -40
  441. package/src/complex/global-config.ts +0 -55
  442. package/src/complex/index.ts +0 -3
  443. package/src/complex/modules-factory.ts +0 -65
  444. package/src/cookie.ts +0 -11
  445. package/src/css.ts +0 -60
  446. package/src/data.test.ts +0 -99
  447. package/src/data.ts +0 -65
  448. package/src/date-time.test.ts +0 -119
  449. package/src/date-time.ts +0 -236
  450. package/src/device.ts +0 -42
  451. package/src/encodings.ts +0 -270
  452. package/src/errors.ts +0 -40
  453. package/src/file.ts +0 -25
  454. package/src/format/_exports.ts +0 -4
  455. package/src/format/number.test.ts +0 -16
  456. package/src/format/number.ts +0 -96
  457. package/src/format/percent.ts +0 -40
  458. package/src/format/skip-spaces.ts +0 -4
  459. package/src/html.ts +0 -238
  460. package/src/imports.ts +0 -52
  461. package/src/math.ts +0 -20
  462. package/src/media.ts +0 -134
  463. package/src/mobx/apply-observable.ts +0 -20
  464. package/src/mobx/create-enhanced-atom.ts +0 -28
  465. package/src/mobx/deep-observable-struct.test.ts +0 -69
  466. package/src/mobx/deep-observable-struct.ts +0 -69
  467. package/src/mobx/get-mobx-administration.ts +0 -10
  468. package/src/mobx/index.ts +0 -5
  469. package/src/mobx/lazy-observe.ts +0 -59
  470. package/src/ms.ts +0 -20
  471. package/src/number.ts +0 -14
  472. package/src/parser/_exports.ts +0 -3
  473. package/src/parser/number.test.ts +0 -38
  474. package/src/parser/number.ts +0 -73
  475. package/src/parser/percent.ts +0 -11
  476. package/src/parser/string.ts +0 -29
  477. package/src/price.ts +0 -33
  478. package/src/random.ts +0 -27
  479. package/src/react/hooks/index.ts +0 -21
  480. package/src/react/hooks/use-abort-controller.ts +0 -15
  481. package/src/react/hooks/use-abort-signal.ts +0 -5
  482. package/src/react/hooks/use-click-outside.ts +0 -27
  483. package/src/react/hooks/use-element-ref.ts +0 -11
  484. package/src/react/hooks/use-event-listener.ts +0 -29
  485. package/src/react/hooks/use-event.ts +0 -23
  486. package/src/react/hooks/use-flag.ts +0 -27
  487. package/src/react/hooks/use-force-update.ts +0 -9
  488. package/src/react/hooks/use-initial-height.ts +0 -16
  489. package/src/react/hooks/use-intersection-observer.ts +0 -18
  490. package/src/react/hooks/use-last-defined-value.ts +0 -9
  491. package/src/react/hooks/use-last-value-ref.ts +0 -11
  492. package/src/react/hooks/use-life-cycle.ts +0 -17
  493. package/src/react/hooks/use-resize-observer.ts +0 -14
  494. package/src/react/hooks/use-sync-ref.ts +0 -7
  495. package/src/react/hooks/use-toggle.ts +0 -9
  496. package/src/react/hooks/use-value.ts +0 -10
  497. package/src/react/hooks/use-visibility-state.ts +0 -19
  498. package/src/react/index.ts +0 -1
  499. package/src/sound.ts +0 -15
  500. package/src/storage.ts +0 -137
  501. package/src/text.test.ts +0 -91
  502. package/src/text.ts +0 -60
  503. package/src/type-guard/_exports.ts +0 -154
  504. package/src/type-guard/index.test.ts +0 -127
  505. package/src/vibrate.ts +0 -8
  506. package/tsconfig.json +0 -26
  507. package/tsconfig.test.json +0 -33
  508. package/vitest.config.ts +0 -20
package/media.cjs ADDED
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isBase64Image = exports.isHttpUrl = exports.rotateImage = exports.renderImage = exports.imageToBlob = exports.fileToBlob = exports.blobToUrl = void 0;
4
+ exports.blobToBase64 = blobToBase64;
5
+ exports.decodeDataUrl = decodeDataUrl;
6
+ const math_js_1 = require("./math.cjs");
7
+ function blobToBase64(blob) {
8
+ return new Promise((resolve, reject) => {
9
+ const reader = new FileReader();
10
+ reader.onloadend = () => resolve(reader.result);
11
+ reader.onerror = reject;
12
+ reader.readAsDataURL(blob);
13
+ });
14
+ }
15
+ const blobToUrl = (urlOrBlob) => urlOrBlob instanceof Blob ? URL.createObjectURL(urlOrBlob) : urlOrBlob;
16
+ exports.blobToUrl = blobToUrl;
17
+ const fileToBlob = (file) => {
18
+ return new Blob([file], { type: file.type });
19
+ };
20
+ exports.fileToBlob = fileToBlob;
21
+ const imageToBlob = (imageElement, mimeType = 'image/png') => {
22
+ const canvas = document.createElement('canvas');
23
+ canvas.width = imageElement.naturalWidth || 300;
24
+ canvas.height = imageElement.naturalHeight || 300;
25
+ canvas.getContext('2d').drawImage(imageElement, 0, 0);
26
+ const dataUri = canvas.toDataURL(mimeType, 1);
27
+ const base64data = dataUri.split(',')[1];
28
+ const base64MimeType = dataUri.split(';')[0].slice(5);
29
+ const bytes = globalThis.atob(base64data);
30
+ const buf = new ArrayBuffer(bytes.length);
31
+ const array = new Uint8Array(buf);
32
+ for (let index = 0; index < bytes.length; index++) {
33
+ array[index] = bytes.charCodeAt(index);
34
+ }
35
+ const blob = new Blob([array], { type: base64MimeType });
36
+ return blob;
37
+ };
38
+ exports.imageToBlob = imageToBlob;
39
+ /**
40
+ * Загружает и отрисовывает изображение с использованием Image
41
+ *
42
+ * @returns {Promise<HTMLImageElement>}
43
+ */
44
+ const renderImage = (urlOrBlob) => new Promise((resolve, reject) => {
45
+ const image = new Image();
46
+ image.src = (0, exports.blobToUrl)(urlOrBlob);
47
+ image.onload = () => resolve(image);
48
+ image.onerror = () => reject();
49
+ });
50
+ exports.renderImage = renderImage;
51
+ function cropImageFromCanvas(context) {
52
+ const canvas = context.canvas;
53
+ let w = canvas.width;
54
+ let h = canvas.height;
55
+ const pix = { x: [], y: [] };
56
+ const imageData = context.getImageData(0, 0, canvas.width, canvas.height);
57
+ let x;
58
+ let y;
59
+ let index;
60
+ for (y = 0; y < h; y++) {
61
+ for (x = 0; x < w; x++) {
62
+ index = (y * w + x) * 4;
63
+ if (imageData.data[index + 3] > 0) {
64
+ pix.x.push(x);
65
+ pix.y.push(y);
66
+ }
67
+ }
68
+ }
69
+ pix.x.sort((a, b) => a - b);
70
+ pix.y.sort((a, b) => a - b);
71
+ const n = pix.x.length - 1;
72
+ w = 1 + pix.x[n] - pix.x[0];
73
+ h = 1 + pix.y[n] - pix.y[0];
74
+ const cut = context.getImageData(pix.x[0], pix.y[0], w, h);
75
+ canvas.width = w;
76
+ canvas.height = h;
77
+ context.putImageData(cut, 0, 0);
78
+ return canvas;
79
+ }
80
+ // TODO: ломает iphone с огромными изображениями
81
+ const rotateImage = (image, angle) => {
82
+ const maxSize = Math.max(image.width, image.height);
83
+ const canvas = document.createElement('canvas');
84
+ canvas.width = maxSize;
85
+ canvas.height = maxSize;
86
+ const context = canvas.getContext('2d');
87
+ context.save();
88
+ context.translate(canvas.width / 2, canvas.height / 2);
89
+ context.rotate((0, math_js_1.degToRad)(angle));
90
+ context.drawImage(image, -image.width / 2, -image.height / 2);
91
+ context.restore();
92
+ cropImageFromCanvas(context);
93
+ return (0, exports.renderImage)(canvas.toDataURL('image/png'));
94
+ };
95
+ exports.rotateImage = rotateImage;
96
+ /*
97
+ * Returning object which contains base64 data and mime type of passed data url string.
98
+ * */
99
+ function decodeDataUrl(url) {
100
+ const regex = /^data:(.*);base64,\s?(.*)$/;
101
+ const matches = new RegExp(regex).exec(url);
102
+ return {
103
+ mimeType: matches?.[1],
104
+ data: matches?.[2],
105
+ };
106
+ }
107
+ const isHttpUrl = (url) => {
108
+ return url.startsWith('https://') || url.startsWith('http://');
109
+ };
110
+ exports.isHttpUrl = isHttpUrl;
111
+ const isBase64Image = (str) => {
112
+ const { mimeType, data } = decodeDataUrl(str);
113
+ return !!(data && mimeType?.startsWith('image/'));
114
+ };
115
+ exports.isBase64Image = isBase64Image;
package/media.d.cts ADDED
@@ -0,0 +1,20 @@
1
+ export declare function blobToBase64(blob: Blob): Promise<string>;
2
+ export declare const blobToUrl: (urlOrBlob: string | Blob) => string;
3
+ export declare const fileToBlob: (file: File) => Blob;
4
+ export declare const imageToBlob: (imageElement: HTMLImageElement, mimeType?: string) => Blob;
5
+ /**
6
+ * Загружает и отрисовывает изображение с использованием Image
7
+ *
8
+ * @returns {Promise<HTMLImageElement>}
9
+ */
10
+ export declare const renderImage: (urlOrBlob: Blob | string) => Promise<HTMLImageElement>;
11
+ export declare const rotateImage: (image: HTMLImageElement, angle: number) => Promise<HTMLImageElement>;
12
+ interface DecodedDataUrl {
13
+ mimeType?: string;
14
+ data?: string;
15
+ }
16
+ export declare function decodeDataUrl(url: string): DecodedDataUrl;
17
+ export declare const isHttpUrl: (url: string) => boolean;
18
+ export declare const isBase64Image: (str: string) => boolean;
19
+ export {};
20
+ //# sourceMappingURL=media.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":"AAEA,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAOxD;AAED,eAAO,MAAM,SAAS,GAAI,WAAW,MAAM,GAAG,IAAI,WACsB,CAAC;AAEzE,eAAO,MAAM,UAAU,GAAI,MAAM,IAAI,SAEpC,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,cAAc,gBAAgB,EAC9B,WAAU,MAAoB,SAwB/B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,WAAW,IAAI,GAAG,MAAM,8BAMhD,CAAC;AAoCL,eAAO,MAAM,WAAW,GAAI,OAAO,gBAAgB,EAAE,OAAO,MAAM,8BAajE,CAAC;AAEF,UAAU,cAAc;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAKD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAQzD;AAED,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,KAAG,OAEvC,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,KAAG,OAG3C,CAAC"}
package/media.d.ts ADDED
@@ -0,0 +1,20 @@
1
+ export declare function blobToBase64(blob: Blob): Promise<string>;
2
+ export declare const blobToUrl: (urlOrBlob: string | Blob) => string;
3
+ export declare const fileToBlob: (file: File) => Blob;
4
+ export declare const imageToBlob: (imageElement: HTMLImageElement, mimeType?: string) => Blob;
5
+ /**
6
+ * Загружает и отрисовывает изображение с использованием Image
7
+ *
8
+ * @returns {Promise<HTMLImageElement>}
9
+ */
10
+ export declare const renderImage: (urlOrBlob: Blob | string) => Promise<HTMLImageElement>;
11
+ export declare const rotateImage: (image: HTMLImageElement, angle: number) => Promise<HTMLImageElement>;
12
+ interface DecodedDataUrl {
13
+ mimeType?: string;
14
+ data?: string;
15
+ }
16
+ export declare function decodeDataUrl(url: string): DecodedDataUrl;
17
+ export declare const isHttpUrl: (url: string) => boolean;
18
+ export declare const isBase64Image: (str: string) => boolean;
19
+ export {};
20
+ //# sourceMappingURL=media.d.ts.map
package/media.d.ts.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":"AAEA,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAOxD;AAED,eAAO,MAAM,SAAS,GAAI,WAAW,MAAM,GAAG,IAAI,WACsB,CAAC;AAEzE,eAAO,MAAM,UAAU,GAAI,MAAM,IAAI,SAEpC,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,cAAc,gBAAgB,EAC9B,WAAU,MAAoB,SAwB/B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,WAAW,IAAI,GAAG,MAAM,8BAMhD,CAAC;AAoCL,eAAO,MAAM,WAAW,GAAI,OAAO,gBAAgB,EAAE,OAAO,MAAM,8BAajE,CAAC;AAEF,UAAU,cAAc;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAKD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAQzD;AAED,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,KAAG,OAEvC,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,KAAG,OAG3C,CAAC"}
package/media.js ADDED
@@ -0,0 +1,103 @@
1
+ import { degToRad } from "./math.js";
2
+ export function blobToBase64(blob) {
3
+ return new Promise((resolve, reject) => {
4
+ const reader = new FileReader();
5
+ reader.onloadend = () => resolve(reader.result);
6
+ reader.onerror = reject;
7
+ reader.readAsDataURL(blob);
8
+ });
9
+ }
10
+ export const blobToUrl = (urlOrBlob) => urlOrBlob instanceof Blob ? URL.createObjectURL(urlOrBlob) : urlOrBlob;
11
+ export const fileToBlob = (file) => {
12
+ return new Blob([file], { type: file.type });
13
+ };
14
+ export const imageToBlob = (imageElement, mimeType = 'image/png') => {
15
+ const canvas = document.createElement('canvas');
16
+ canvas.width = imageElement.naturalWidth || 300;
17
+ canvas.height = imageElement.naturalHeight || 300;
18
+ canvas.getContext('2d').drawImage(imageElement, 0, 0);
19
+ const dataUri = canvas.toDataURL(mimeType, 1);
20
+ const base64data = dataUri.split(',')[1];
21
+ const base64MimeType = dataUri.split(';')[0].slice(5);
22
+ const bytes = globalThis.atob(base64data);
23
+ const buf = new ArrayBuffer(bytes.length);
24
+ const array = new Uint8Array(buf);
25
+ for (let index = 0; index < bytes.length; index++) {
26
+ array[index] = bytes.charCodeAt(index);
27
+ }
28
+ const blob = new Blob([array], { type: base64MimeType });
29
+ return blob;
30
+ };
31
+ /**
32
+ * Загружает и отрисовывает изображение с использованием Image
33
+ *
34
+ * @returns {Promise<HTMLImageElement>}
35
+ */
36
+ export const renderImage = (urlOrBlob) => new Promise((resolve, reject) => {
37
+ const image = new Image();
38
+ image.src = blobToUrl(urlOrBlob);
39
+ image.onload = () => resolve(image);
40
+ image.onerror = () => reject();
41
+ });
42
+ function cropImageFromCanvas(context) {
43
+ const canvas = context.canvas;
44
+ let w = canvas.width;
45
+ let h = canvas.height;
46
+ const pix = { x: [], y: [] };
47
+ const imageData = context.getImageData(0, 0, canvas.width, canvas.height);
48
+ let x;
49
+ let y;
50
+ let index;
51
+ for (y = 0; y < h; y++) {
52
+ for (x = 0; x < w; x++) {
53
+ index = (y * w + x) * 4;
54
+ if (imageData.data[index + 3] > 0) {
55
+ pix.x.push(x);
56
+ pix.y.push(y);
57
+ }
58
+ }
59
+ }
60
+ pix.x.sort((a, b) => a - b);
61
+ pix.y.sort((a, b) => a - b);
62
+ const n = pix.x.length - 1;
63
+ w = 1 + pix.x[n] - pix.x[0];
64
+ h = 1 + pix.y[n] - pix.y[0];
65
+ const cut = context.getImageData(pix.x[0], pix.y[0], w, h);
66
+ canvas.width = w;
67
+ canvas.height = h;
68
+ context.putImageData(cut, 0, 0);
69
+ return canvas;
70
+ }
71
+ // TODO: ломает iphone с огромными изображениями
72
+ export const rotateImage = (image, angle) => {
73
+ const maxSize = Math.max(image.width, image.height);
74
+ const canvas = document.createElement('canvas');
75
+ canvas.width = maxSize;
76
+ canvas.height = maxSize;
77
+ const context = canvas.getContext('2d');
78
+ context.save();
79
+ context.translate(canvas.width / 2, canvas.height / 2);
80
+ context.rotate(degToRad(angle));
81
+ context.drawImage(image, -image.width / 2, -image.height / 2);
82
+ context.restore();
83
+ cropImageFromCanvas(context);
84
+ return renderImage(canvas.toDataURL('image/png'));
85
+ };
86
+ /*
87
+ * Returning object which contains base64 data and mime type of passed data url string.
88
+ * */
89
+ export function decodeDataUrl(url) {
90
+ const regex = /^data:(.*);base64,\s?(.*)$/;
91
+ const matches = new RegExp(regex).exec(url);
92
+ return {
93
+ mimeType: matches?.[1],
94
+ data: matches?.[2],
95
+ };
96
+ }
97
+ export const isHttpUrl = (url) => {
98
+ return url.startsWith('https://') || url.startsWith('http://');
99
+ };
100
+ export const isBase64Image = (str) => {
101
+ const { mimeType, data } = decodeDataUrl(str);
102
+ return !!(data && mimeType?.startsWith('image/'));
103
+ };
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.applyObservable = void 0;
4
+ const mobx_1 = require("mobx");
5
+ const applyObservable = (context, annotationsArray, useDecorators) => {
6
+ if (useDecorators) {
7
+ annotationsArray.forEach(([field, annotation]) => {
8
+ annotation(context, field);
9
+ });
10
+ (0, mobx_1.makeObservable)(context);
11
+ }
12
+ else {
13
+ (0, mobx_1.makeObservable)(context, Object.fromEntries(annotationsArray));
14
+ }
15
+ };
16
+ exports.applyObservable = applyObservable;
@@ -0,0 +1,4 @@
1
+ import type { AnyObject } from "../utils/types.cjs";
2
+ export type ObservableAnnotationsArray = [string, any][];
3
+ export declare const applyObservable: (context: AnyObject, annotationsArray: ObservableAnnotationsArray, useDecorators?: boolean) => void;
4
+ //# sourceMappingURL=apply-observable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply-observable.d.ts","sourceRoot":"","sources":["../../src/mobx/apply-observable.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,2BAA0B;AAEnD,MAAM,MAAM,0BAA0B,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;AAEzD,eAAO,MAAM,eAAe,GAC1B,SAAS,SAAS,EAClB,kBAAkB,0BAA0B,EAC5C,gBAAgB,OAAO,SAWxB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { AnyObject } from "../utils/types.js";
2
+ export type ObservableAnnotationsArray = [string, any][];
3
+ export declare const applyObservable: (context: AnyObject, annotationsArray: ObservableAnnotationsArray, useDecorators?: boolean) => void;
4
+ //# sourceMappingURL=apply-observable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply-observable.d.ts","sourceRoot":"","sources":["../../src/mobx/apply-observable.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,0BAA0B;AAEnD,MAAM,MAAM,0BAA0B,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;AAEzD,eAAO,MAAM,eAAe,GAC1B,SAAS,SAAS,EAClB,kBAAkB,0BAA0B,EAC5C,gBAAgB,OAAO,SAWxB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { makeObservable } from 'mobx';
2
+ export const applyObservable = (context, annotationsArray, useDecorators) => {
3
+ if (useDecorators) {
4
+ annotationsArray.forEach(([field, annotation]) => {
5
+ annotation(context, field);
6
+ });
7
+ makeObservable(context);
8
+ }
9
+ else {
10
+ makeObservable(context, Object.fromEntries(annotationsArray));
11
+ }
12
+ };
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createEnhancedAtom = void 0;
4
+ const mobx_1 = require("mobx");
5
+ /**
6
+ * Creates an enhanced atom with meta data
7
+ * And bind `reportChanged` and `reportObserved` method to the atom
8
+ */
9
+ const createEnhancedAtom = (name, onBecomeObservedHandler, onBecomeUnobservedHandler, meta) => {
10
+ const atom = (0, mobx_1.createAtom)(name, onBecomeObservedHandler && (() => onBecomeObservedHandler?.(atom)), onBecomeUnobservedHandler && (() => onBecomeUnobservedHandler?.(atom)));
11
+ atom.meta = meta ?? {};
12
+ atom.reportChanged = atom.reportChanged.bind(atom);
13
+ atom.reportObserved = atom.reportObserved.bind(atom);
14
+ return atom;
15
+ };
16
+ exports.createEnhancedAtom = createEnhancedAtom;
@@ -0,0 +1,11 @@
1
+ import { type IAtom } from 'mobx';
2
+ import type { AnyObject } from "../utils/types.cjs";
3
+ export interface IEnhancedAtom<TMeta extends AnyObject = AnyObject> extends IAtom {
4
+ meta: TMeta;
5
+ }
6
+ /**
7
+ * Creates an enhanced atom with meta data
8
+ * And bind `reportChanged` and `reportObserved` method to the atom
9
+ */
10
+ export declare const createEnhancedAtom: <TMeta extends AnyObject>(name: string, onBecomeObservedHandler?: (atom: IEnhancedAtom<TMeta>) => void, onBecomeUnobservedHandler?: (atom: IEnhancedAtom<TMeta>) => void, meta?: TMeta) => IEnhancedAtom<TMeta>;
11
+ //# sourceMappingURL=create-enhanced-atom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-enhanced-atom.d.ts","sourceRoot":"","sources":["../../src/mobx/create-enhanced-atom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,KAAK,EAAE,MAAM,MAAM,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,2BAA0B;AAEnD,MAAM,WAAW,aAAa,CAAC,KAAK,SAAS,SAAS,GAAG,SAAS,CAChE,SAAQ,KAAK;IACb,IAAI,EAAE,KAAK,CAAC;CACb;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAI,KAAK,SAAS,SAAS,EACxD,MAAM,MAAM,EACZ,0BAA0B,CAAC,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,IAAI,EAC9D,4BAA4B,CAAC,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,IAAI,EAChE,OAAO,KAAK,KACX,aAAa,CAAC,KAAK,CAUrB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { type IAtom } from 'mobx';
2
+ import type { AnyObject } from "../utils/types.js";
3
+ export interface IEnhancedAtom<TMeta extends AnyObject = AnyObject> extends IAtom {
4
+ meta: TMeta;
5
+ }
6
+ /**
7
+ * Creates an enhanced atom with meta data
8
+ * And bind `reportChanged` and `reportObserved` method to the atom
9
+ */
10
+ export declare const createEnhancedAtom: <TMeta extends AnyObject>(name: string, onBecomeObservedHandler?: (atom: IEnhancedAtom<TMeta>) => void, onBecomeUnobservedHandler?: (atom: IEnhancedAtom<TMeta>) => void, meta?: TMeta) => IEnhancedAtom<TMeta>;
11
+ //# sourceMappingURL=create-enhanced-atom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-enhanced-atom.d.ts","sourceRoot":"","sources":["../../src/mobx/create-enhanced-atom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,KAAK,EAAE,MAAM,MAAM,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,0BAA0B;AAEnD,MAAM,WAAW,aAAa,CAAC,KAAK,SAAS,SAAS,GAAG,SAAS,CAChE,SAAQ,KAAK;IACb,IAAI,EAAE,KAAK,CAAC;CACb;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAI,KAAK,SAAS,SAAS,EACxD,MAAM,MAAM,EACZ,0BAA0B,CAAC,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,IAAI,EAC9D,4BAA4B,CAAC,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,IAAI,EAChE,OAAO,KAAK,KACX,aAAa,CAAC,KAAK,CAUrB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { createAtom } from 'mobx';
2
+ /**
3
+ * Creates an enhanced atom with meta data
4
+ * And bind `reportChanged` and `reportObserved` method to the atom
5
+ */
6
+ export const createEnhancedAtom = (name, onBecomeObservedHandler, onBecomeUnobservedHandler, meta) => {
7
+ const atom = createAtom(name, onBecomeObservedHandler && (() => onBecomeObservedHandler?.(atom)), onBecomeUnobservedHandler && (() => onBecomeUnobservedHandler?.(atom)));
8
+ atom.meta = meta ?? {};
9
+ atom.reportChanged = atom.reportChanged.bind(atom);
10
+ atom.reportObserved = atom.reportObserved.bind(atom);
11
+ return atom;
12
+ };
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DeepObservableStruct = void 0;
4
+ const mobx_1 = require("mobx");
5
+ const index_js_1 = require("../type-guard/index.cjs");
6
+ class DeepObservableStruct {
7
+ data;
8
+ constructor(data) {
9
+ this.data = data;
10
+ (0, mobx_1.makeObservable)(this, {
11
+ data: mobx_1.observable.deep,
12
+ set: mobx_1.action,
13
+ });
14
+ }
15
+ set(newData) {
16
+ const stack = Object.keys(this.data).map((key) => [
17
+ key,
18
+ this.data,
19
+ newData,
20
+ ]);
21
+ let currentIndex = 0;
22
+ let stackLength = stack.length;
23
+ while (currentIndex < stackLength) {
24
+ const [key, currObservableData, newData] = stack[currentIndex];
25
+ const newValue = newData[key];
26
+ const currValue = currObservableData[key];
27
+ currentIndex++;
28
+ if (key in newData) {
29
+ if (index_js_1.typeGuard.isObject(newValue) && index_js_1.typeGuard.isObject(currValue)) {
30
+ const newValueKeys = Object.keys(newValue);
31
+ Object.keys(currValue).forEach((childKey) => {
32
+ if (!(childKey in newValue)) {
33
+ delete currObservableData[key][childKey];
34
+ }
35
+ });
36
+ newValueKeys.forEach((childKey) => {
37
+ const length = stack.push([
38
+ childKey,
39
+ currObservableData[key],
40
+ newValue,
41
+ ]);
42
+ stackLength = length;
43
+ });
44
+ }
45
+ else if (newValue !== currValue) {
46
+ currObservableData[key] = newValue;
47
+ }
48
+ }
49
+ else {
50
+ delete currObservableData[key];
51
+ }
52
+ }
53
+ Object.keys(newData).forEach((newDataKey) => {
54
+ if (!this.data[newDataKey]) {
55
+ // @ts-expect-error
56
+ this.data[newDataKey] = newData[newDataKey];
57
+ }
58
+ });
59
+ }
60
+ }
61
+ exports.DeepObservableStruct = DeepObservableStruct;
@@ -0,0 +1,7 @@
1
+ import type { AnyObject } from "../utils/types.cjs";
2
+ export declare class DeepObservableStruct<TData extends AnyObject> {
3
+ data: TData;
4
+ constructor(data: TData);
5
+ set(newData: Partial<TData>): void;
6
+ }
7
+ //# sourceMappingURL=deep-observable-struct.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deep-observable-struct.d.ts","sourceRoot":"","sources":["../../src/mobx/deep-observable-struct.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,2BAA0B;AAEnD,qBAAa,oBAAoB,CAAC,KAAK,SAAS,SAAS;IACvD,IAAI,EAAE,KAAK,CAAC;gBAEA,IAAI,EAAE,KAAK;IASvB,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC;CAoD5B"}
@@ -0,0 +1,7 @@
1
+ import type { AnyObject } from "../utils/types.js";
2
+ export declare class DeepObservableStruct<TData extends AnyObject> {
3
+ data: TData;
4
+ constructor(data: TData);
5
+ set(newData: Partial<TData>): void;
6
+ }
7
+ //# sourceMappingURL=deep-observable-struct.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deep-observable-struct.d.ts","sourceRoot":"","sources":["../../src/mobx/deep-observable-struct.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,0BAA0B;AAEnD,qBAAa,oBAAoB,CAAC,KAAK,SAAS,SAAS;IACvD,IAAI,EAAE,KAAK,CAAC;gBAEA,IAAI,EAAE,KAAK;IASvB,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC;CAoD5B"}
@@ -0,0 +1,57 @@
1
+ import { action, makeObservable, observable } from 'mobx';
2
+ import { typeGuard } from "../type-guard/index.js";
3
+ export class DeepObservableStruct {
4
+ data;
5
+ constructor(data) {
6
+ this.data = data;
7
+ makeObservable(this, {
8
+ data: observable.deep,
9
+ set: action,
10
+ });
11
+ }
12
+ set(newData) {
13
+ const stack = Object.keys(this.data).map((key) => [
14
+ key,
15
+ this.data,
16
+ newData,
17
+ ]);
18
+ let currentIndex = 0;
19
+ let stackLength = stack.length;
20
+ while (currentIndex < stackLength) {
21
+ const [key, currObservableData, newData] = stack[currentIndex];
22
+ const newValue = newData[key];
23
+ const currValue = currObservableData[key];
24
+ currentIndex++;
25
+ if (key in newData) {
26
+ if (typeGuard.isObject(newValue) && typeGuard.isObject(currValue)) {
27
+ const newValueKeys = Object.keys(newValue);
28
+ Object.keys(currValue).forEach((childKey) => {
29
+ if (!(childKey in newValue)) {
30
+ delete currObservableData[key][childKey];
31
+ }
32
+ });
33
+ newValueKeys.forEach((childKey) => {
34
+ const length = stack.push([
35
+ childKey,
36
+ currObservableData[key],
37
+ newValue,
38
+ ]);
39
+ stackLength = length;
40
+ });
41
+ }
42
+ else if (newValue !== currValue) {
43
+ currObservableData[key] = newValue;
44
+ }
45
+ }
46
+ else {
47
+ delete currObservableData[key];
48
+ }
49
+ }
50
+ Object.keys(newData).forEach((newDataKey) => {
51
+ if (!this.data[newDataKey]) {
52
+ // @ts-expect-error
53
+ this.data[newDataKey] = newData[newDataKey];
54
+ }
55
+ });
56
+ }
57
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMobxAdministration = void 0;
4
+ const mobx_1 = require("mobx");
5
+ const getMobxAdministration = (context) => context[mobx_1.$mobx];
6
+ exports.getMobxAdministration = getMobxAdministration;
@@ -0,0 +1,6 @@
1
+ import { type AnnotationMapEntry } from 'mobx';
2
+ import type { AnyObject } from "../utils/types.cjs";
3
+ type ObservableObjectAdministration = Parameters<Exclude<AnnotationMapEntry, boolean>['make_']>[0];
4
+ export declare const getMobxAdministration: (context: AnyObject) => ObservableObjectAdministration;
5
+ export {};
6
+ //# sourceMappingURL=get-mobx-administration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-mobx-administration.d.ts","sourceRoot":"","sources":["../../src/mobx/get-mobx-administration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,kBAAkB,EAAE,MAAM,MAAM,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,2BAA0B;AAEnD,KAAK,8BAA8B,GAAG,UAAU,CAC9C,OAAO,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,CAC9C,CAAC,CAAC,CAAC,CAAC;AAEL,eAAO,MAAM,qBAAqB,GAChC,SAAS,SAAS,KACjB,8BAAgD,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { type AnnotationMapEntry } from 'mobx';
2
+ import type { AnyObject } from "../utils/types.js";
3
+ type ObservableObjectAdministration = Parameters<Exclude<AnnotationMapEntry, boolean>['make_']>[0];
4
+ export declare const getMobxAdministration: (context: AnyObject) => ObservableObjectAdministration;
5
+ export {};
6
+ //# sourceMappingURL=get-mobx-administration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-mobx-administration.d.ts","sourceRoot":"","sources":["../../src/mobx/get-mobx-administration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,kBAAkB,EAAE,MAAM,MAAM,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,0BAA0B;AAEnD,KAAK,8BAA8B,GAAG,UAAU,CAC9C,OAAO,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,CAC9C,CAAC,CAAC,CAAC,CAAC;AAEL,eAAO,MAAM,qBAAqB,GAChC,SAAS,SAAS,KACjB,8BAAgD,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { $mobx } from 'mobx';
2
+ export const getMobxAdministration = (context) => context[$mobx];
package/mobx/index.cjs ADDED
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./apply-observable.cjs"), exports);
18
+ __exportStar(require("./create-enhanced-atom.cjs"), exports);
19
+ __exportStar(require("./deep-observable-struct.cjs"), exports);
20
+ __exportStar(require("./get-mobx-administration.cjs"), exports);
21
+ __exportStar(require("./lazy-observe.cjs"), exports);
@@ -0,0 +1,6 @@
1
+ export * from "./apply-observable.cjs";
2
+ export * from "./create-enhanced-atom.cjs";
3
+ export * from "./deep-observable-struct.cjs";
4
+ export * from "./get-mobx-administration.cjs";
5
+ export * from "./lazy-observe.cjs";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mobx/index.ts"],"names":[],"mappings":"AAAA,uCAAsC;AACtC,2CAA0C;AAC1C,6CAA4C;AAC5C,8CAA6C;AAC7C,mCAAkC"}
@@ -0,0 +1,6 @@
1
+ export * from "./apply-observable.js";
2
+ export * from "./create-enhanced-atom.js";
3
+ export * from "./deep-observable-struct.js";
4
+ export * from "./get-mobx-administration.js";
5
+ export * from "./lazy-observe.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mobx/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,0CAA0C;AAC1C,4CAA4C;AAC5C,6CAA6C;AAC7C,kCAAkC"}
package/mobx/index.js ADDED
@@ -0,0 +1,5 @@
1
+ export * from "./apply-observable.js";
2
+ export * from "./create-enhanced-atom.js";
3
+ export * from "./deep-observable-struct.js";
4
+ export * from "./get-mobx-administration.js";
5
+ export * from "./lazy-observe.js";