@fluixi/utils 1.0.0-alpha.100

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 (364) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +68 -0
  3. package/dist/index.cjs +2858 -0
  4. package/dist/index.d.ts +2 -0
  5. package/dist/index.d.ts.map +1 -0
  6. package/dist/index.js +1 -0
  7. package/dist/index.mjs +2838 -0
  8. package/dist/lib/array/advanced.cjs +2227 -0
  9. package/dist/lib/array/advanced.d.ts +1116 -0
  10. package/dist/lib/array/advanced.d.ts.map +1 -0
  11. package/dist/lib/array/advanced.js +2429 -0
  12. package/dist/lib/array/advanced.mjs +2204 -0
  13. package/dist/lib/array/array.cjs +57 -0
  14. package/dist/lib/array/array.d.ts +6 -0
  15. package/dist/lib/array/array.d.ts.map +1 -0
  16. package/dist/lib/array/array.js +31 -0
  17. package/dist/lib/array/array.mjs +36 -0
  18. package/dist/lib/array/index.cjs +2344 -0
  19. package/dist/lib/array/index.d.ts +4 -0
  20. package/dist/lib/array/index.d.ts.map +1 -0
  21. package/dist/lib/array/index.js +3 -0
  22. package/dist/lib/array/index.mjs +2322 -0
  23. package/dist/lib/array/utils.cjs +103 -0
  24. package/dist/lib/array/utils.d.ts +100 -0
  25. package/dist/lib/array/utils.d.ts.map +1 -0
  26. package/dist/lib/array/utils.js +165 -0
  27. package/dist/lib/array/utils.mjs +82 -0
  28. package/dist/lib/color/color.cjs +2190 -0
  29. package/dist/lib/color/color.d.ts +366 -0
  30. package/dist/lib/color/color.d.ts.map +1 -0
  31. package/dist/lib/color/color.js +722 -0
  32. package/dist/lib/color/color.mjs +2167 -0
  33. package/dist/lib/color/constants.cjs +380 -0
  34. package/dist/lib/color/constants.d.ts +361 -0
  35. package/dist/lib/color/constants.d.ts.map +1 -0
  36. package/dist/lib/color/constants.js +358 -0
  37. package/dist/lib/color/constants.mjs +359 -0
  38. package/dist/lib/color/conversions.cjs +629 -0
  39. package/dist/lib/color/conversions.d.ts +166 -0
  40. package/dist/lib/color/conversions.d.ts.map +1 -0
  41. package/dist/lib/color/conversions.js +766 -0
  42. package/dist/lib/color/conversions.mjs +608 -0
  43. package/dist/lib/color/helpers.cjs +2534 -0
  44. package/dist/lib/color/helpers.d.ts +75 -0
  45. package/dist/lib/color/helpers.d.ts.map +1 -0
  46. package/dist/lib/color/helpers.js +419 -0
  47. package/dist/lib/color/helpers.mjs +2511 -0
  48. package/dist/lib/color/index.cjs +2641 -0
  49. package/dist/lib/color/index.d.ts +12 -0
  50. package/dist/lib/color/index.d.ts.map +1 -0
  51. package/dist/lib/color/index.js +15 -0
  52. package/dist/lib/color/index.mjs +2619 -0
  53. package/dist/lib/color/types.cjs +18 -0
  54. package/dist/lib/color/types.d.ts +179 -0
  55. package/dist/lib/color/types.d.ts.map +1 -0
  56. package/dist/lib/color/types.js +1 -0
  57. package/dist/lib/color/types.mjs +0 -0
  58. package/dist/lib/color/utils.cjs +962 -0
  59. package/dist/lib/color/utils.d.ts +199 -0
  60. package/dist/lib/color/utils.d.ts.map +1 -0
  61. package/dist/lib/color/utils.js +858 -0
  62. package/dist/lib/color/utils.mjs +939 -0
  63. package/dist/lib/compare/comparators.cjs +171 -0
  64. package/dist/lib/compare/comparators.d.ts +65 -0
  65. package/dist/lib/compare/comparators.d.ts.map +1 -0
  66. package/dist/lib/compare/comparators.js +210 -0
  67. package/dist/lib/compare/comparators.mjs +150 -0
  68. package/dist/lib/compare/index.cjs +172 -0
  69. package/dist/lib/compare/index.d.ts +2 -0
  70. package/dist/lib/compare/index.d.ts.map +1 -0
  71. package/dist/lib/compare/index.js +1 -0
  72. package/dist/lib/compare/index.mjs +152 -0
  73. package/dist/lib/cookie/codec.cjs +72 -0
  74. package/dist/lib/cookie/codec.d.ts +22 -0
  75. package/dist/lib/cookie/codec.d.ts.map +1 -0
  76. package/dist/lib/cookie/codec.js +67 -0
  77. package/dist/lib/cookie/codec.mjs +51 -0
  78. package/dist/lib/cookie/index.cjs +75 -0
  79. package/dist/lib/cookie/index.d.ts +2 -0
  80. package/dist/lib/cookie/index.d.ts.map +1 -0
  81. package/dist/lib/cookie/index.js +1 -0
  82. package/dist/lib/cookie/index.mjs +53 -0
  83. package/dist/lib/crypto/hash.cjs +83 -0
  84. package/dist/lib/crypto/hash.d.ts +6 -0
  85. package/dist/lib/crypto/hash.d.ts.map +1 -0
  86. package/dist/lib/crypto/hash.js +53 -0
  87. package/dist/lib/crypto/hash.mjs +62 -0
  88. package/dist/lib/crypto/index.cjs +85 -0
  89. package/dist/lib/crypto/index.d.ts +2 -0
  90. package/dist/lib/crypto/index.d.ts.map +1 -0
  91. package/dist/lib/crypto/index.js +1 -0
  92. package/dist/lib/crypto/index.mjs +62 -0
  93. package/dist/lib/dom/events.cjs +40 -0
  94. package/dist/lib/dom/events.d.ts +159 -0
  95. package/dist/lib/dom/events.d.ts.map +1 -0
  96. package/dist/lib/dom/events.js +50 -0
  97. package/dist/lib/dom/events.mjs +19 -0
  98. package/dist/lib/dom/index.cjs +78 -0
  99. package/dist/lib/dom/index.d.ts +3 -0
  100. package/dist/lib/dom/index.d.ts.map +1 -0
  101. package/dist/lib/dom/index.js +2 -0
  102. package/dist/lib/dom/index.mjs +56 -0
  103. package/dist/lib/dom/utils.cjs +57 -0
  104. package/dist/lib/dom/utils.d.ts +6 -0
  105. package/dist/lib/dom/utils.d.ts.map +1 -0
  106. package/dist/lib/dom/utils.js +37 -0
  107. package/dist/lib/dom/utils.mjs +36 -0
  108. package/dist/lib/functions/functions.cjs +366 -0
  109. package/dist/lib/functions/functions.d.ts +329 -0
  110. package/dist/lib/functions/functions.d.ts.map +1 -0
  111. package/dist/lib/functions/functions.js +585 -0
  112. package/dist/lib/functions/functions.mjs +345 -0
  113. package/dist/lib/functions/index.cjs +369 -0
  114. package/dist/lib/functions/index.d.ts +3 -0
  115. package/dist/lib/functions/index.d.ts.map +1 -0
  116. package/dist/lib/functions/index.js +1 -0
  117. package/dist/lib/functions/index.mjs +347 -0
  118. package/dist/lib/functions/types.cjs +18 -0
  119. package/dist/lib/functions/types.d.ts +2 -0
  120. package/dist/lib/functions/types.d.ts.map +1 -0
  121. package/dist/lib/functions/types.js +1 -0
  122. package/dist/lib/functions/types.mjs +0 -0
  123. package/dist/lib/helpers.cjs +78 -0
  124. package/dist/lib/helpers.d.ts +13 -0
  125. package/dist/lib/helpers.d.ts.map +1 -0
  126. package/dist/lib/helpers.js +66 -0
  127. package/dist/lib/helpers.mjs +59 -0
  128. package/dist/lib/index.cjs +2857 -0
  129. package/dist/lib/index.d.ts +6 -0
  130. package/dist/lib/index.d.ts.map +1 -0
  131. package/dist/lib/index.js +8 -0
  132. package/dist/lib/index.mjs +2836 -0
  133. package/dist/lib/maths/constants.cjs +70 -0
  134. package/dist/lib/maths/constants.d.ts +84 -0
  135. package/dist/lib/maths/constants.d.ts.map +1 -0
  136. package/dist/lib/maths/constants.js +79 -0
  137. package/dist/lib/maths/constants.mjs +50 -0
  138. package/dist/lib/maths/fn/advanced.cjs +231 -0
  139. package/dist/lib/maths/fn/advanced.d.ts +149 -0
  140. package/dist/lib/maths/fn/advanced.d.ts.map +1 -0
  141. package/dist/lib/maths/fn/advanced.js +264 -0
  142. package/dist/lib/maths/fn/advanced.mjs +208 -0
  143. package/dist/lib/maths/fn/basic.cjs +212 -0
  144. package/dist/lib/maths/fn/basic.d.ts +182 -0
  145. package/dist/lib/maths/fn/basic.d.ts.map +1 -0
  146. package/dist/lib/maths/fn/basic.js +343 -0
  147. package/dist/lib/maths/fn/basic.mjs +191 -0
  148. package/dist/lib/maths/fn/complex.cjs +268 -0
  149. package/dist/lib/maths/fn/complex.d.ts +153 -0
  150. package/dist/lib/maths/fn/complex.d.ts.map +1 -0
  151. package/dist/lib/maths/fn/complex.js +383 -0
  152. package/dist/lib/maths/fn/complex.mjs +247 -0
  153. package/dist/lib/maths/fn/index.cjs +877 -0
  154. package/dist/lib/maths/fn/index.d.ts +10 -0
  155. package/dist/lib/maths/fn/index.d.ts.map +1 -0
  156. package/dist/lib/maths/fn/index.js +9 -0
  157. package/dist/lib/maths/fn/index.mjs +855 -0
  158. package/dist/lib/maths/fn/trigo.cjs +179 -0
  159. package/dist/lib/maths/fn/trigo.d.ts +147 -0
  160. package/dist/lib/maths/fn/trigo.d.ts.map +1 -0
  161. package/dist/lib/maths/fn/trigo.js +227 -0
  162. package/dist/lib/maths/fn/trigo.mjs +156 -0
  163. package/dist/lib/maths/fn/vector.cjs +728 -0
  164. package/dist/lib/maths/fn/vector.d.ts +512 -0
  165. package/dist/lib/maths/fn/vector.d.ts.map +1 -0
  166. package/dist/lib/maths/fn/vector.js +1136 -0
  167. package/dist/lib/maths/fn/vector.mjs +707 -0
  168. package/dist/lib/maths/formatter.cjs +61 -0
  169. package/dist/lib/maths/formatter.d.ts +35 -0
  170. package/dist/lib/maths/formatter.d.ts.map +1 -0
  171. package/dist/lib/maths/formatter.js +56 -0
  172. package/dist/lib/maths/formatter.mjs +40 -0
  173. package/dist/lib/maths/guards.cjs +164 -0
  174. package/dist/lib/maths/guards.d.ts +166 -0
  175. package/dist/lib/maths/guards.d.ts.map +1 -0
  176. package/dist/lib/maths/guards.js +315 -0
  177. package/dist/lib/maths/guards.mjs +144 -0
  178. package/dist/lib/maths/index.cjs +1152 -0
  179. package/dist/lib/maths/index.d.ts +24 -0
  180. package/dist/lib/maths/index.d.ts.map +1 -0
  181. package/dist/lib/maths/index.js +29 -0
  182. package/dist/lib/maths/index.mjs +1130 -0
  183. package/dist/lib/maths/parser.cjs +75 -0
  184. package/dist/lib/maths/parser.d.ts +20 -0
  185. package/dist/lib/maths/parser.d.ts.map +1 -0
  186. package/dist/lib/maths/parser.js +78 -0
  187. package/dist/lib/maths/parser.mjs +54 -0
  188. package/dist/lib/maths/random.cjs +49 -0
  189. package/dist/lib/maths/random.d.ts +27 -0
  190. package/dist/lib/maths/random.d.ts.map +1 -0
  191. package/dist/lib/maths/random.js +49 -0
  192. package/dist/lib/maths/random.mjs +28 -0
  193. package/dist/lib/maths/types/advanced.cjs +18 -0
  194. package/dist/lib/maths/types/advanced.d.ts +357 -0
  195. package/dist/lib/maths/types/advanced.d.ts.map +1 -0
  196. package/dist/lib/maths/types/advanced.js +5 -0
  197. package/dist/lib/maths/types/advanced.mjs +0 -0
  198. package/dist/lib/maths/types/basic.cjs +18 -0
  199. package/dist/lib/maths/types/basic.d.ts +95 -0
  200. package/dist/lib/maths/types/basic.d.ts.map +1 -0
  201. package/dist/lib/maths/types/basic.js +5 -0
  202. package/dist/lib/maths/types/basic.mjs +0 -0
  203. package/dist/lib/maths/types/index.cjs +19 -0
  204. package/dist/lib/maths/types/index.d.ts +4 -0
  205. package/dist/lib/maths/types/index.d.ts.map +1 -0
  206. package/dist/lib/maths/types/index.js +3 -0
  207. package/dist/lib/maths/types/index.mjs +1 -0
  208. package/dist/lib/maths/types/negative.cjs +18 -0
  209. package/dist/lib/maths/types/negative.d.ts +51 -0
  210. package/dist/lib/maths/types/negative.d.ts.map +1 -0
  211. package/dist/lib/maths/types/negative.js +5 -0
  212. package/dist/lib/maths/types/negative.mjs +0 -0
  213. package/dist/lib/maths/types/operations.cjs +18 -0
  214. package/dist/lib/maths/types/operations.d.ts +188 -0
  215. package/dist/lib/maths/types/operations.d.ts.map +1 -0
  216. package/dist/lib/maths/types/operations.js +6 -0
  217. package/dist/lib/maths/types/operations.mjs +0 -0
  218. package/dist/lib/object/clone.cjs +88 -0
  219. package/dist/lib/object/clone.d.ts +46 -0
  220. package/dist/lib/object/clone.d.ts.map +1 -0
  221. package/dist/lib/object/clone.js +104 -0
  222. package/dist/lib/object/clone.mjs +65 -0
  223. package/dist/lib/object/diff.cjs +573 -0
  224. package/dist/lib/object/diff.d.ts +203 -0
  225. package/dist/lib/object/diff.d.ts.map +1 -0
  226. package/dist/lib/object/diff.js +805 -0
  227. package/dist/lib/object/diff.mjs +550 -0
  228. package/dist/lib/object/getter-setter.cjs +2351 -0
  229. package/dist/lib/object/getter-setter.d.ts +361 -0
  230. package/dist/lib/object/getter-setter.d.ts.map +1 -0
  231. package/dist/lib/object/getter-setter.js +1771 -0
  232. package/dist/lib/object/getter-setter.mjs +2330 -0
  233. package/dist/lib/object/index.cjs +3956 -0
  234. package/dist/lib/object/index.d.ts +13 -0
  235. package/dist/lib/object/index.d.ts.map +1 -0
  236. package/dist/lib/object/index.js +12 -0
  237. package/dist/lib/object/index.mjs +3936 -0
  238. package/dist/lib/object/merge.cjs +1029 -0
  239. package/dist/lib/object/merge.d.ts +93 -0
  240. package/dist/lib/object/merge.d.ts.map +1 -0
  241. package/dist/lib/object/merge.js +474 -0
  242. package/dist/lib/object/merge.mjs +1006 -0
  243. package/dist/lib/object/object.cjs +280 -0
  244. package/dist/lib/object/object.d.ts +128 -0
  245. package/dist/lib/object/object.d.ts.map +1 -0
  246. package/dist/lib/object/object.js +432 -0
  247. package/dist/lib/object/object.mjs +257 -0
  248. package/dist/lib/object/omit.cjs +2022 -0
  249. package/dist/lib/object/omit.d.ts +351 -0
  250. package/dist/lib/object/omit.d.ts.map +1 -0
  251. package/dist/lib/object/omit.js +656 -0
  252. package/dist/lib/object/omit.mjs +1999 -0
  253. package/dist/lib/object/reconcile.cjs +126 -0
  254. package/dist/lib/object/reconcile.d.ts +7 -0
  255. package/dist/lib/object/reconcile.d.ts.map +1 -0
  256. package/dist/lib/object/reconcile.js +122 -0
  257. package/dist/lib/object/reconcile.mjs +105 -0
  258. package/dist/lib/object/selector.cjs +303 -0
  259. package/dist/lib/object/selector.d.ts +50 -0
  260. package/dist/lib/object/selector.d.ts.map +1 -0
  261. package/dist/lib/object/selector.js +371 -0
  262. package/dist/lib/object/selector.mjs +282 -0
  263. package/dist/lib/object/sort.cjs +209 -0
  264. package/dist/lib/object/sort.d.ts +149 -0
  265. package/dist/lib/object/sort.d.ts.map +1 -0
  266. package/dist/lib/object/sort.js +298 -0
  267. package/dist/lib/object/sort.mjs +186 -0
  268. package/dist/lib/object/transform.cjs +2211 -0
  269. package/dist/lib/object/transform.d.ts +620 -0
  270. package/dist/lib/object/transform.d.ts.map +1 -0
  271. package/dist/lib/object/transform.js +1058 -0
  272. package/dist/lib/object/transform.mjs +2190 -0
  273. package/dist/lib/object/types.cjs +18 -0
  274. package/dist/lib/object/types.d.ts +250 -0
  275. package/dist/lib/object/types.d.ts.map +1 -0
  276. package/dist/lib/object/types.js +1 -0
  277. package/dist/lib/object/types.mjs +0 -0
  278. package/dist/lib/object/utils.cjs +326 -0
  279. package/dist/lib/object/utils.d.ts +165 -0
  280. package/dist/lib/object/utils.d.ts.map +1 -0
  281. package/dist/lib/object/utils.js +444 -0
  282. package/dist/lib/object/utils.mjs +305 -0
  283. package/dist/lib/primitive/boolean/boolean.cjs +407 -0
  284. package/dist/lib/primitive/boolean/boolean.d.ts +276 -0
  285. package/dist/lib/primitive/boolean/boolean.d.ts.map +1 -0
  286. package/dist/lib/primitive/boolean/boolean.js +615 -0
  287. package/dist/lib/primitive/boolean/boolean.mjs +386 -0
  288. package/dist/lib/primitive/boolean/index.cjs +382 -0
  289. package/dist/lib/primitive/boolean/index.d.ts +3 -0
  290. package/dist/lib/primitive/boolean/index.d.ts.map +1 -0
  291. package/dist/lib/primitive/boolean/index.js +2 -0
  292. package/dist/lib/primitive/boolean/index.mjs +359 -0
  293. package/dist/lib/primitive/boolean/types.cjs +18 -0
  294. package/dist/lib/primitive/boolean/types.d.ts +14 -0
  295. package/dist/lib/primitive/boolean/types.d.ts.map +1 -0
  296. package/dist/lib/primitive/boolean/types.js +1 -0
  297. package/dist/lib/primitive/boolean/types.mjs +0 -0
  298. package/dist/lib/primitive/date/date.cjs +1126 -0
  299. package/dist/lib/primitive/date/date.d.ts +641 -0
  300. package/dist/lib/primitive/date/date.d.ts.map +1 -0
  301. package/dist/lib/primitive/date/date.js +1998 -0
  302. package/dist/lib/primitive/date/date.mjs +1105 -0
  303. package/dist/lib/primitive/date/index.cjs +1128 -0
  304. package/dist/lib/primitive/date/index.d.ts +3 -0
  305. package/dist/lib/primitive/date/index.d.ts.map +1 -0
  306. package/dist/lib/primitive/date/index.js +2 -0
  307. package/dist/lib/primitive/date/index.mjs +1105 -0
  308. package/dist/lib/primitive/date/types.cjs +18 -0
  309. package/dist/lib/primitive/date/types.d.ts +205 -0
  310. package/dist/lib/primitive/date/types.d.ts.map +1 -0
  311. package/dist/lib/primitive/date/types.js +7 -0
  312. package/dist/lib/primitive/date/types.mjs +0 -0
  313. package/dist/lib/primitive/index.cjs +2338 -0
  314. package/dist/lib/primitive/index.d.ts +5 -0
  315. package/dist/lib/primitive/index.d.ts.map +1 -0
  316. package/dist/lib/primitive/index.js +4 -0
  317. package/dist/lib/primitive/index.mjs +2316 -0
  318. package/dist/lib/primitive/string/index.cjs +875 -0
  319. package/dist/lib/primitive/string/index.d.ts +3 -0
  320. package/dist/lib/primitive/string/index.d.ts.map +1 -0
  321. package/dist/lib/primitive/string/index.js +2 -0
  322. package/dist/lib/primitive/string/index.mjs +852 -0
  323. package/dist/lib/primitive/string/parser-2.cjs +543 -0
  324. package/dist/lib/primitive/string/parser-2.d.ts +17 -0
  325. package/dist/lib/primitive/string/parser-2.d.ts.map +1 -0
  326. package/dist/lib/primitive/string/parser-2.js +656 -0
  327. package/dist/lib/primitive/string/parser-2.mjs +522 -0
  328. package/dist/lib/primitive/string/parser.cjs +236 -0
  329. package/dist/lib/primitive/string/parser.d.ts +9 -0
  330. package/dist/lib/primitive/string/parser.d.ts.map +1 -0
  331. package/dist/lib/primitive/string/parser.js +775 -0
  332. package/dist/lib/primitive/string/parser.mjs +215 -0
  333. package/dist/lib/primitive/string/string.cjs +926 -0
  334. package/dist/lib/primitive/string/string.d.ts +535 -0
  335. package/dist/lib/primitive/string/string.d.ts.map +1 -0
  336. package/dist/lib/primitive/string/string.js +1301 -0
  337. package/dist/lib/primitive/string/string.mjs +903 -0
  338. package/dist/lib/primitive/string/types.cjs +18 -0
  339. package/dist/lib/primitive/string/types.d.ts +318 -0
  340. package/dist/lib/primitive/string/types.d.ts.map +1 -0
  341. package/dist/lib/primitive/string/types.js +5 -0
  342. package/dist/lib/primitive/string/types.mjs +0 -0
  343. package/dist/lib/primitive/types.cjs +18 -0
  344. package/dist/lib/primitive/types.d.ts +27 -0
  345. package/dist/lib/primitive/types.d.ts.map +1 -0
  346. package/dist/lib/primitive/types.js +1 -0
  347. package/dist/lib/primitive/types.mjs +0 -0
  348. package/dist/lib/url/index.cjs +327 -0
  349. package/dist/lib/url/index.d.ts +3 -0
  350. package/dist/lib/url/index.d.ts.map +1 -0
  351. package/dist/lib/url/index.js +2 -0
  352. package/dist/lib/url/index.mjs +304 -0
  353. package/dist/lib/url/parser.cjs +325 -0
  354. package/dist/lib/url/parser.d.ts +216 -0
  355. package/dist/lib/url/parser.d.ts.map +1 -0
  356. package/dist/lib/url/parser.js +488 -0
  357. package/dist/lib/url/parser.mjs +304 -0
  358. package/dist/lib/url/types.cjs +18 -0
  359. package/dist/lib/url/types.d.ts +18 -0
  360. package/dist/lib/url/types.d.ts.map +1 -0
  361. package/dist/lib/url/types.js +1 -0
  362. package/dist/lib/url/types.mjs +0 -0
  363. package/dist/tsconfig.lib.tsbuildinfo +1 -0
  364. package/package.json +127 -0
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/lib/maths/parser.ts
21
+ var parser_exports = {};
22
+ __export(parser_exports, {
23
+ parseIntSafe: () => parseIntSafe,
24
+ toNumber: () => toNumber
25
+ });
26
+ module.exports = __toCommonJS(parser_exports);
27
+ var toNumber = (value, fallback) => {
28
+ if (typeof value === "number") {
29
+ return Number.isFinite(value) ? value : fallback !== void 0 ? fallback : NaN;
30
+ }
31
+ if (value == null) {
32
+ return fallback !== void 0 ? fallback : NaN;
33
+ }
34
+ if (typeof value === "boolean") {
35
+ return value ? 1 : 0;
36
+ }
37
+ if (typeof value === "string") {
38
+ const trimmed = value.trim();
39
+ if (trimmed === "") {
40
+ return fallback !== void 0 ? fallback : NaN;
41
+ }
42
+ const num2 = Number(trimmed);
43
+ return Number.isFinite(num2) ? num2 : fallback !== void 0 ? fallback : NaN;
44
+ }
45
+ const num = Number(value);
46
+ return Number.isFinite(num) ? num : fallback !== void 0 ? fallback : NaN;
47
+ };
48
+ var parseIntSafe = (value, radix = 10, fallback) => {
49
+ const trimmed = value.trim();
50
+ if (trimmed === "") {
51
+ return fallback !== void 0 ? fallback : NaN;
52
+ }
53
+ if (radix === 16) {
54
+ const hexRegex = /^(-?)0?x?([0-9a-fA-F]+)$/;
55
+ const match = trimmed.match(hexRegex);
56
+ if (match) {
57
+ const sign = match[1] ? -1 : 1;
58
+ const hexStr = match[2];
59
+ const parsed2 = parseInt(hexStr, 16);
60
+ return !isNaN(parsed2) ? sign * parsed2 : fallback !== void 0 ? fallback : NaN;
61
+ }
62
+ }
63
+ const parsed = parseInt(trimmed, radix);
64
+ if (isNaN(parsed)) {
65
+ return fallback !== void 0 ? fallback : NaN;
66
+ }
67
+ if (radix !== 16 && radix !== 10) {
68
+ const validDigits = "0123456789abcdefghijklmnopqrstuvwxyz".slice(0, radix);
69
+ const pattern = new RegExp(`^[-+]?[${validDigits}]+$`, "i");
70
+ if (!pattern.test(trimmed)) {
71
+ return fallback !== void 0 ? fallback : NaN;
72
+ }
73
+ }
74
+ return parsed;
75
+ };
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Safely converts any value to a number with fallback
3
+ * @param value - The value to convert
4
+ * @param fallback - Fallback value if conversion fails (default: NaN)
5
+ * @returns The converted number or fallback
6
+ * @example
7
+ * toNumber("42") // 42
8
+ * toNumber("abc", 0) // 0
9
+ * toNumber(null, 100) // 100
10
+ */
11
+ export declare const toNumber: <T = number>(value: unknown, fallback?: T) => number | T;
12
+ /**
13
+ * Parses a string to integer with validation
14
+ * Optimized: Regex check before parsing
15
+ * @param value - String to parse
16
+ * @param radix - Numeric base (default: 10)
17
+ * @returns Parsed integer or fallback
18
+ */
19
+ export declare const parseIntSafe: <T = number>(value: string, radix?: number, fallback?: T) => number | T;
20
+ //# sourceMappingURL=parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/lib/maths/parser.ts"],"names":[],"mappings":"AACA;;;;;;;;;EASE;AACF,eAAO,MAAM,QAAQ,GAAI,CAAC,GAAG,MAAM,EACjC,OAAO,OAAO,EACd,WAAW,CAAC,KACX,MAAM,GAAG,CA+BX,CAAC;AAGF;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,GAAG,MAAM,EACrC,OAAO,MAAM,EACb,QAAO,MAAW,EAClB,WAAW,CAAC,KACX,MAAM,GAAG,CAqCX,CAAC"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Safely converts any value to a number with fallback
3
+ * @param value - The value to convert
4
+ * @param fallback - Fallback value if conversion fails (default: NaN)
5
+ * @returns The converted number or fallback
6
+ * @example
7
+ * toNumber("42") // 42
8
+ * toNumber("abc", 0) // 0
9
+ * toNumber(null, 100) // 100
10
+ */
11
+ export const toNumber = (value, fallback) => {
12
+ // Fast path: already a number
13
+ if (typeof value === 'number') {
14
+ return Number.isFinite(value) ? value : (fallback !== undefined ? fallback : NaN);
15
+ }
16
+ // Fast path: null/undefined
17
+ if (value == null) {
18
+ return fallback !== undefined ? fallback : NaN;
19
+ }
20
+ // Fast path: boolean
21
+ if (typeof value === 'boolean') {
22
+ return value ? 1 : 0;
23
+ }
24
+ // Fast path: string
25
+ if (typeof value === 'string') {
26
+ const trimmed = value.trim();
27
+ if (trimmed === '') {
28
+ return fallback !== undefined ? fallback : NaN;
29
+ }
30
+ // Use Number() for conversion (faster than parseFloat for our use case)
31
+ const num = Number(trimmed);
32
+ return Number.isFinite(num) ? num : (fallback !== undefined ? fallback : NaN);
33
+ }
34
+ // For other types, attempt conversion
35
+ const num = Number(value);
36
+ return Number.isFinite(num) ? num : (fallback !== undefined ? fallback : NaN);
37
+ };
38
+ /**
39
+ * Parses a string to integer with validation
40
+ * Optimized: Regex check before parsing
41
+ * @param value - String to parse
42
+ * @param radix - Numeric base (default: 10)
43
+ * @returns Parsed integer or fallback
44
+ */
45
+ export const parseIntSafe = (value, radix = 10, fallback) => {
46
+ const trimmed = value.trim();
47
+ if (trimmed === '') {
48
+ return fallback !== undefined ? fallback : NaN;
49
+ }
50
+ // Allow hex digits for radix 16
51
+ if (radix === 16) {
52
+ // Allow hex format: optional 0x prefix, then hex digits
53
+ const hexRegex = /^(-?)0?x?([0-9a-fA-F]+)$/;
54
+ const match = trimmed.match(hexRegex);
55
+ if (match) {
56
+ const sign = match[1] ? -1 : 1;
57
+ const hexStr = match[2];
58
+ const parsed = parseInt(hexStr, 16);
59
+ return !isNaN(parsed) ? sign * parsed : (fallback !== undefined ? fallback : NaN);
60
+ }
61
+ }
62
+ // For other radices, use standard parseInt with validation
63
+ const parsed = parseInt(trimmed, radix);
64
+ if (isNaN(parsed)) {
65
+ return fallback !== undefined ? fallback : NaN;
66
+ }
67
+ // Validate that the entire string was consumed for the given radix
68
+ // (except for hex which we already handled)
69
+ if (radix !== 16 && radix !== 10) {
70
+ // For other radices, ensure the string only contains valid digits
71
+ const validDigits = '0123456789abcdefghijklmnopqrstuvwxyz'.slice(0, radix);
72
+ const pattern = new RegExp(`^[-+]?[${validDigits}]+$`, 'i');
73
+ if (!pattern.test(trimmed)) {
74
+ return fallback !== undefined ? fallback : NaN;
75
+ }
76
+ }
77
+ return parsed;
78
+ };
@@ -0,0 +1,54 @@
1
+ // src/lib/maths/parser.ts
2
+ var toNumber = (value, fallback) => {
3
+ if (typeof value === "number") {
4
+ return Number.isFinite(value) ? value : fallback !== void 0 ? fallback : NaN;
5
+ }
6
+ if (value == null) {
7
+ return fallback !== void 0 ? fallback : NaN;
8
+ }
9
+ if (typeof value === "boolean") {
10
+ return value ? 1 : 0;
11
+ }
12
+ if (typeof value === "string") {
13
+ const trimmed = value.trim();
14
+ if (trimmed === "") {
15
+ return fallback !== void 0 ? fallback : NaN;
16
+ }
17
+ const num2 = Number(trimmed);
18
+ return Number.isFinite(num2) ? num2 : fallback !== void 0 ? fallback : NaN;
19
+ }
20
+ const num = Number(value);
21
+ return Number.isFinite(num) ? num : fallback !== void 0 ? fallback : NaN;
22
+ };
23
+ var parseIntSafe = (value, radix = 10, fallback) => {
24
+ const trimmed = value.trim();
25
+ if (trimmed === "") {
26
+ return fallback !== void 0 ? fallback : NaN;
27
+ }
28
+ if (radix === 16) {
29
+ const hexRegex = /^(-?)0?x?([0-9a-fA-F]+)$/;
30
+ const match = trimmed.match(hexRegex);
31
+ if (match) {
32
+ const sign = match[1] ? -1 : 1;
33
+ const hexStr = match[2];
34
+ const parsed2 = parseInt(hexStr, 16);
35
+ return !isNaN(parsed2) ? sign * parsed2 : fallback !== void 0 ? fallback : NaN;
36
+ }
37
+ }
38
+ const parsed = parseInt(trimmed, radix);
39
+ if (isNaN(parsed)) {
40
+ return fallback !== void 0 ? fallback : NaN;
41
+ }
42
+ if (radix !== 16 && radix !== 10) {
43
+ const validDigits = "0123456789abcdefghijklmnopqrstuvwxyz".slice(0, radix);
44
+ const pattern = new RegExp(`^[-+]?[${validDigits}]+$`, "i");
45
+ if (!pattern.test(trimmed)) {
46
+ return fallback !== void 0 ? fallback : NaN;
47
+ }
48
+ }
49
+ return parsed;
50
+ };
51
+ export {
52
+ parseIntSafe,
53
+ toNumber
54
+ };
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/lib/maths/random.ts
21
+ var random_exports = {};
22
+ __export(random_exports, {
23
+ randomBool: () => randomBool,
24
+ randomFloat: () => randomFloat,
25
+ randomInt: () => randomInt
26
+ });
27
+ module.exports = __toCommonJS(random_exports);
28
+ var randomInt = (min, max) => {
29
+ const [realMin, realMax] = min <= max ? [min, max] : [max, min];
30
+ if (typeof crypto !== "undefined" && crypto.getRandomValues) {
31
+ const range = realMax - realMin + 1;
32
+ const maxSafe = 4294967295;
33
+ const byteArray = new Uint32Array(1);
34
+ let randomValue;
35
+ do {
36
+ crypto.getRandomValues(byteArray);
37
+ randomValue = byteArray[0] / (maxSafe + 1);
38
+ } while (randomValue >= 1 - 1 % range / 1);
39
+ return Math.floor(randomValue * range) + realMin;
40
+ }
41
+ return Math.floor(Math.random() * (realMax - realMin + 1)) + realMin;
42
+ };
43
+ var randomFloat = (min, max) => {
44
+ const [realMin, realMax] = min <= max ? [min, max] : [max, min];
45
+ return Math.random() * (realMax - realMin) + realMin;
46
+ };
47
+ var randomBool = (probability = 0.5) => {
48
+ return Math.random() < probability;
49
+ };
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Generates a random integer between min and max (inclusive)
3
+ * @function randomInt
4
+ * @param min - Minimum value (inclusive)
5
+ * @param max - Maximum value (inclusive)
6
+ * @returns Random integer
7
+ * Optimized: Single Math.random call with proper scaling
8
+ */
9
+ export declare const randomInt: (min: number, max: number) => number;
10
+ /**
11
+ * Generates a random float between min and max (exclusive of max)
12
+ * @function randomFloat
13
+ * @param min - Minimum value (inclusive)
14
+ * @param max - Maximum value (exclusive)
15
+ * @returns Random float
16
+ * Optimized: Single Math.random call
17
+ */
18
+ export declare const randomFloat: (min: number, max: number) => number;
19
+ /**
20
+ * Generates a random boolean with optional probability
21
+ * @function randomBool
22
+ * @param probability - Probability of returning true (default: 0.5)
23
+ * @returns Random boolean
24
+ * Optimized: Single comparison
25
+ */
26
+ export declare const randomBool: (probability?: number) => boolean;
27
+ //# sourceMappingURL=random.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"random.d.ts","sourceRoot":"","sources":["../../../src/lib/maths/random.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,MAsBpD,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,MAGtD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,GAAI,cAAa,MAAY,KAAG,OAEtD,CAAC"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Generates a random integer between min and max (inclusive)
3
+ * @function randomInt
4
+ * @param min - Minimum value (inclusive)
5
+ * @param max - Maximum value (inclusive)
6
+ * @returns Random integer
7
+ * Optimized: Single Math.random call with proper scaling
8
+ */
9
+ export const randomInt = (min, max) => {
10
+ // Ensure min <= max
11
+ const [realMin, realMax] = min <= max ? [min, max] : [max, min];
12
+ // Use crypto.getRandomValues if available for better randomness
13
+ if (typeof crypto !== 'undefined' && crypto.getRandomValues) {
14
+ const range = realMax - realMin + 1;
15
+ const maxSafe = 0xFFFFFFFF; // Max value for Uint32
16
+ const byteArray = new Uint32Array(1);
17
+ // Generate until we get a value in the safe range
18
+ let randomValue;
19
+ do {
20
+ crypto.getRandomValues(byteArray);
21
+ randomValue = byteArray[0] / (maxSafe + 1);
22
+ } while (randomValue >= 1 - (1 % range) / 1);
23
+ return Math.floor(randomValue * range) + realMin;
24
+ }
25
+ // Fallback to Math.random
26
+ return Math.floor(Math.random() * (realMax - realMin + 1)) + realMin;
27
+ };
28
+ /**
29
+ * Generates a random float between min and max (exclusive of max)
30
+ * @function randomFloat
31
+ * @param min - Minimum value (inclusive)
32
+ * @param max - Maximum value (exclusive)
33
+ * @returns Random float
34
+ * Optimized: Single Math.random call
35
+ */
36
+ export const randomFloat = (min, max) => {
37
+ const [realMin, realMax] = min <= max ? [min, max] : [max, min];
38
+ return Math.random() * (realMax - realMin) + realMin;
39
+ };
40
+ /**
41
+ * Generates a random boolean with optional probability
42
+ * @function randomBool
43
+ * @param probability - Probability of returning true (default: 0.5)
44
+ * @returns Random boolean
45
+ * Optimized: Single comparison
46
+ */
47
+ export const randomBool = (probability = 0.5) => {
48
+ return Math.random() < probability;
49
+ };
@@ -0,0 +1,28 @@
1
+ // src/lib/maths/random.ts
2
+ var randomInt = (min, max) => {
3
+ const [realMin, realMax] = min <= max ? [min, max] : [max, min];
4
+ if (typeof crypto !== "undefined" && crypto.getRandomValues) {
5
+ const range = realMax - realMin + 1;
6
+ const maxSafe = 4294967295;
7
+ const byteArray = new Uint32Array(1);
8
+ let randomValue;
9
+ do {
10
+ crypto.getRandomValues(byteArray);
11
+ randomValue = byteArray[0] / (maxSafe + 1);
12
+ } while (randomValue >= 1 - 1 % range / 1);
13
+ return Math.floor(randomValue * range) + realMin;
14
+ }
15
+ return Math.floor(Math.random() * (realMax - realMin + 1)) + realMin;
16
+ };
17
+ var randomFloat = (min, max) => {
18
+ const [realMin, realMax] = min <= max ? [min, max] : [max, min];
19
+ return Math.random() * (realMax - realMin) + realMin;
20
+ };
21
+ var randomBool = (probability = 0.5) => {
22
+ return Math.random() < probability;
23
+ };
24
+ export {
25
+ randomBool,
26
+ randomFloat,
27
+ randomInt
28
+ };
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+
16
+ // src/lib/maths/types/advanced.ts
17
+ var advanced_exports = {};
18
+ module.exports = __toCommonJS(advanced_exports);