@fluixi/utils 1.0.0-alpha.53

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 (354) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +73 -0
  3. package/dist/index.cjs +1 -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 +1 -0
  8. package/dist/lib/array/advanced.cjs +1 -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 +1 -0
  13. package/dist/lib/array/array.cjs +1 -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 +1 -0
  18. package/dist/lib/array/index.cjs +1 -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 +1 -0
  23. package/dist/lib/array/utils.cjs +1 -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 +1 -0
  28. package/dist/lib/color/color.cjs +1 -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 +1 -0
  33. package/dist/lib/color/constants.cjs +1 -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 +1 -0
  38. package/dist/lib/color/conversions.cjs +1 -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 +1 -0
  43. package/dist/lib/color/helpers.cjs +1 -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 +1 -0
  48. package/dist/lib/color/index.cjs +1 -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 +1 -0
  53. package/dist/lib/color/types.cjs +1 -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 +1 -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 +1 -0
  63. package/dist/lib/compare/comparators.cjs +1 -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 +1 -0
  68. package/dist/lib/compare/index.cjs +1 -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 +1 -0
  73. package/dist/lib/crypto/hash.cjs +1 -0
  74. package/dist/lib/crypto/hash.d.ts +6 -0
  75. package/dist/lib/crypto/hash.d.ts.map +1 -0
  76. package/dist/lib/crypto/hash.js +53 -0
  77. package/dist/lib/crypto/hash.mjs +1 -0
  78. package/dist/lib/crypto/index.cjs +1 -0
  79. package/dist/lib/crypto/index.d.ts +2 -0
  80. package/dist/lib/crypto/index.d.ts.map +1 -0
  81. package/dist/lib/crypto/index.js +1 -0
  82. package/dist/lib/crypto/index.mjs +1 -0
  83. package/dist/lib/dom/events.cjs +1 -0
  84. package/dist/lib/dom/events.d.ts +159 -0
  85. package/dist/lib/dom/events.d.ts.map +1 -0
  86. package/dist/lib/dom/events.js +50 -0
  87. package/dist/lib/dom/events.mjs +1 -0
  88. package/dist/lib/dom/index.cjs +1 -0
  89. package/dist/lib/dom/index.d.ts +3 -0
  90. package/dist/lib/dom/index.d.ts.map +1 -0
  91. package/dist/lib/dom/index.js +2 -0
  92. package/dist/lib/dom/index.mjs +1 -0
  93. package/dist/lib/dom/utils.cjs +1 -0
  94. package/dist/lib/dom/utils.d.ts +6 -0
  95. package/dist/lib/dom/utils.d.ts.map +1 -0
  96. package/dist/lib/dom/utils.js +37 -0
  97. package/dist/lib/dom/utils.mjs +1 -0
  98. package/dist/lib/functions/functions.cjs +1 -0
  99. package/dist/lib/functions/functions.d.ts +329 -0
  100. package/dist/lib/functions/functions.d.ts.map +1 -0
  101. package/dist/lib/functions/functions.js +585 -0
  102. package/dist/lib/functions/functions.mjs +1 -0
  103. package/dist/lib/functions/index.cjs +1 -0
  104. package/dist/lib/functions/index.d.ts +3 -0
  105. package/dist/lib/functions/index.d.ts.map +1 -0
  106. package/dist/lib/functions/index.js +1 -0
  107. package/dist/lib/functions/index.mjs +1 -0
  108. package/dist/lib/functions/types.cjs +1 -0
  109. package/dist/lib/functions/types.d.ts +2 -0
  110. package/dist/lib/functions/types.d.ts.map +1 -0
  111. package/dist/lib/functions/types.js +1 -0
  112. package/dist/lib/functions/types.mjs +0 -0
  113. package/dist/lib/helpers.cjs +1 -0
  114. package/dist/lib/helpers.d.ts +13 -0
  115. package/dist/lib/helpers.d.ts.map +1 -0
  116. package/dist/lib/helpers.js +66 -0
  117. package/dist/lib/helpers.mjs +1 -0
  118. package/dist/lib/index.cjs +1 -0
  119. package/dist/lib/index.d.ts +6 -0
  120. package/dist/lib/index.d.ts.map +1 -0
  121. package/dist/lib/index.js +8 -0
  122. package/dist/lib/index.mjs +1 -0
  123. package/dist/lib/maths/constants.cjs +1 -0
  124. package/dist/lib/maths/constants.d.ts +84 -0
  125. package/dist/lib/maths/constants.d.ts.map +1 -0
  126. package/dist/lib/maths/constants.js +79 -0
  127. package/dist/lib/maths/constants.mjs +1 -0
  128. package/dist/lib/maths/fn/advanced.cjs +1 -0
  129. package/dist/lib/maths/fn/advanced.d.ts +149 -0
  130. package/dist/lib/maths/fn/advanced.d.ts.map +1 -0
  131. package/dist/lib/maths/fn/advanced.js +264 -0
  132. package/dist/lib/maths/fn/advanced.mjs +1 -0
  133. package/dist/lib/maths/fn/basic.cjs +1 -0
  134. package/dist/lib/maths/fn/basic.d.ts +182 -0
  135. package/dist/lib/maths/fn/basic.d.ts.map +1 -0
  136. package/dist/lib/maths/fn/basic.js +343 -0
  137. package/dist/lib/maths/fn/basic.mjs +1 -0
  138. package/dist/lib/maths/fn/complex.cjs +1 -0
  139. package/dist/lib/maths/fn/complex.d.ts +153 -0
  140. package/dist/lib/maths/fn/complex.d.ts.map +1 -0
  141. package/dist/lib/maths/fn/complex.js +383 -0
  142. package/dist/lib/maths/fn/complex.mjs +1 -0
  143. package/dist/lib/maths/fn/index.cjs +1 -0
  144. package/dist/lib/maths/fn/index.d.ts +10 -0
  145. package/dist/lib/maths/fn/index.d.ts.map +1 -0
  146. package/dist/lib/maths/fn/index.js +9 -0
  147. package/dist/lib/maths/fn/index.mjs +1 -0
  148. package/dist/lib/maths/fn/trigo.cjs +1 -0
  149. package/dist/lib/maths/fn/trigo.d.ts +147 -0
  150. package/dist/lib/maths/fn/trigo.d.ts.map +1 -0
  151. package/dist/lib/maths/fn/trigo.js +227 -0
  152. package/dist/lib/maths/fn/trigo.mjs +1 -0
  153. package/dist/lib/maths/fn/vector.cjs +1 -0
  154. package/dist/lib/maths/fn/vector.d.ts +512 -0
  155. package/dist/lib/maths/fn/vector.d.ts.map +1 -0
  156. package/dist/lib/maths/fn/vector.js +1136 -0
  157. package/dist/lib/maths/fn/vector.mjs +1 -0
  158. package/dist/lib/maths/formatter.cjs +1 -0
  159. package/dist/lib/maths/formatter.d.ts +35 -0
  160. package/dist/lib/maths/formatter.d.ts.map +1 -0
  161. package/dist/lib/maths/formatter.js +56 -0
  162. package/dist/lib/maths/formatter.mjs +1 -0
  163. package/dist/lib/maths/guards.cjs +1 -0
  164. package/dist/lib/maths/guards.d.ts +166 -0
  165. package/dist/lib/maths/guards.d.ts.map +1 -0
  166. package/dist/lib/maths/guards.js +315 -0
  167. package/dist/lib/maths/guards.mjs +1 -0
  168. package/dist/lib/maths/index.cjs +1 -0
  169. package/dist/lib/maths/index.d.ts +24 -0
  170. package/dist/lib/maths/index.d.ts.map +1 -0
  171. package/dist/lib/maths/index.js +29 -0
  172. package/dist/lib/maths/index.mjs +1 -0
  173. package/dist/lib/maths/parser.cjs +1 -0
  174. package/dist/lib/maths/parser.d.ts +20 -0
  175. package/dist/lib/maths/parser.d.ts.map +1 -0
  176. package/dist/lib/maths/parser.js +78 -0
  177. package/dist/lib/maths/parser.mjs +1 -0
  178. package/dist/lib/maths/random.cjs +1 -0
  179. package/dist/lib/maths/random.d.ts +27 -0
  180. package/dist/lib/maths/random.d.ts.map +1 -0
  181. package/dist/lib/maths/random.js +49 -0
  182. package/dist/lib/maths/random.mjs +1 -0
  183. package/dist/lib/maths/types/advanced.cjs +1 -0
  184. package/dist/lib/maths/types/advanced.d.ts +357 -0
  185. package/dist/lib/maths/types/advanced.d.ts.map +1 -0
  186. package/dist/lib/maths/types/advanced.js +5 -0
  187. package/dist/lib/maths/types/advanced.mjs +0 -0
  188. package/dist/lib/maths/types/basic.cjs +1 -0
  189. package/dist/lib/maths/types/basic.d.ts +95 -0
  190. package/dist/lib/maths/types/basic.d.ts.map +1 -0
  191. package/dist/lib/maths/types/basic.js +5 -0
  192. package/dist/lib/maths/types/basic.mjs +0 -0
  193. package/dist/lib/maths/types/index.cjs +1 -0
  194. package/dist/lib/maths/types/index.d.ts +4 -0
  195. package/dist/lib/maths/types/index.d.ts.map +1 -0
  196. package/dist/lib/maths/types/index.js +3 -0
  197. package/dist/lib/maths/types/index.mjs +0 -0
  198. package/dist/lib/maths/types/negative.cjs +1 -0
  199. package/dist/lib/maths/types/negative.d.ts +51 -0
  200. package/dist/lib/maths/types/negative.d.ts.map +1 -0
  201. package/dist/lib/maths/types/negative.js +5 -0
  202. package/dist/lib/maths/types/negative.mjs +0 -0
  203. package/dist/lib/maths/types/operations.cjs +1 -0
  204. package/dist/lib/maths/types/operations.d.ts +188 -0
  205. package/dist/lib/maths/types/operations.d.ts.map +1 -0
  206. package/dist/lib/maths/types/operations.js +6 -0
  207. package/dist/lib/maths/types/operations.mjs +0 -0
  208. package/dist/lib/object/clone.cjs +1 -0
  209. package/dist/lib/object/clone.d.ts +46 -0
  210. package/dist/lib/object/clone.d.ts.map +1 -0
  211. package/dist/lib/object/clone.js +104 -0
  212. package/dist/lib/object/clone.mjs +1 -0
  213. package/dist/lib/object/diff.cjs +1 -0
  214. package/dist/lib/object/diff.d.ts +203 -0
  215. package/dist/lib/object/diff.d.ts.map +1 -0
  216. package/dist/lib/object/diff.js +805 -0
  217. package/dist/lib/object/diff.mjs +1 -0
  218. package/dist/lib/object/getter-setter.cjs +1 -0
  219. package/dist/lib/object/getter-setter.d.ts +361 -0
  220. package/dist/lib/object/getter-setter.d.ts.map +1 -0
  221. package/dist/lib/object/getter-setter.js +1771 -0
  222. package/dist/lib/object/getter-setter.mjs +1 -0
  223. package/dist/lib/object/index.cjs +6 -0
  224. package/dist/lib/object/index.d.ts +13 -0
  225. package/dist/lib/object/index.d.ts.map +1 -0
  226. package/dist/lib/object/index.js +12 -0
  227. package/dist/lib/object/index.mjs +6 -0
  228. package/dist/lib/object/merge.cjs +1 -0
  229. package/dist/lib/object/merge.d.ts +93 -0
  230. package/dist/lib/object/merge.d.ts.map +1 -0
  231. package/dist/lib/object/merge.js +474 -0
  232. package/dist/lib/object/merge.mjs +1 -0
  233. package/dist/lib/object/object.cjs +1 -0
  234. package/dist/lib/object/object.d.ts +128 -0
  235. package/dist/lib/object/object.d.ts.map +1 -0
  236. package/dist/lib/object/object.js +432 -0
  237. package/dist/lib/object/object.mjs +1 -0
  238. package/dist/lib/object/omit.cjs +1 -0
  239. package/dist/lib/object/omit.d.ts +351 -0
  240. package/dist/lib/object/omit.d.ts.map +1 -0
  241. package/dist/lib/object/omit.js +656 -0
  242. package/dist/lib/object/omit.mjs +1 -0
  243. package/dist/lib/object/reconcile.cjs +1 -0
  244. package/dist/lib/object/reconcile.d.ts +7 -0
  245. package/dist/lib/object/reconcile.d.ts.map +1 -0
  246. package/dist/lib/object/reconcile.js +122 -0
  247. package/dist/lib/object/reconcile.mjs +1 -0
  248. package/dist/lib/object/selector.cjs +1 -0
  249. package/dist/lib/object/selector.d.ts +50 -0
  250. package/dist/lib/object/selector.d.ts.map +1 -0
  251. package/dist/lib/object/selector.js +371 -0
  252. package/dist/lib/object/selector.mjs +1 -0
  253. package/dist/lib/object/sort.cjs +1 -0
  254. package/dist/lib/object/sort.d.ts +149 -0
  255. package/dist/lib/object/sort.d.ts.map +1 -0
  256. package/dist/lib/object/sort.js +298 -0
  257. package/dist/lib/object/sort.mjs +1 -0
  258. package/dist/lib/object/transform.cjs +1 -0
  259. package/dist/lib/object/transform.d.ts +620 -0
  260. package/dist/lib/object/transform.d.ts.map +1 -0
  261. package/dist/lib/object/transform.js +1058 -0
  262. package/dist/lib/object/transform.mjs +1 -0
  263. package/dist/lib/object/types.cjs +1 -0
  264. package/dist/lib/object/types.d.ts +250 -0
  265. package/dist/lib/object/types.d.ts.map +1 -0
  266. package/dist/lib/object/types.js +1 -0
  267. package/dist/lib/object/types.mjs +0 -0
  268. package/dist/lib/object/utils.cjs +6 -0
  269. package/dist/lib/object/utils.d.ts +165 -0
  270. package/dist/lib/object/utils.d.ts.map +1 -0
  271. package/dist/lib/object/utils.js +444 -0
  272. package/dist/lib/object/utils.mjs +6 -0
  273. package/dist/lib/primitive/boolean/boolean.cjs +1 -0
  274. package/dist/lib/primitive/boolean/boolean.d.ts +276 -0
  275. package/dist/lib/primitive/boolean/boolean.d.ts.map +1 -0
  276. package/dist/lib/primitive/boolean/boolean.js +615 -0
  277. package/dist/lib/primitive/boolean/boolean.mjs +1 -0
  278. package/dist/lib/primitive/boolean/index.cjs +1 -0
  279. package/dist/lib/primitive/boolean/index.d.ts +3 -0
  280. package/dist/lib/primitive/boolean/index.d.ts.map +1 -0
  281. package/dist/lib/primitive/boolean/index.js +2 -0
  282. package/dist/lib/primitive/boolean/index.mjs +1 -0
  283. package/dist/lib/primitive/boolean/types.cjs +1 -0
  284. package/dist/lib/primitive/boolean/types.d.ts +14 -0
  285. package/dist/lib/primitive/boolean/types.d.ts.map +1 -0
  286. package/dist/lib/primitive/boolean/types.js +1 -0
  287. package/dist/lib/primitive/boolean/types.mjs +0 -0
  288. package/dist/lib/primitive/date/date.cjs +1 -0
  289. package/dist/lib/primitive/date/date.d.ts +641 -0
  290. package/dist/lib/primitive/date/date.d.ts.map +1 -0
  291. package/dist/lib/primitive/date/date.js +1998 -0
  292. package/dist/lib/primitive/date/date.mjs +1 -0
  293. package/dist/lib/primitive/date/index.cjs +1 -0
  294. package/dist/lib/primitive/date/index.d.ts +3 -0
  295. package/dist/lib/primitive/date/index.d.ts.map +1 -0
  296. package/dist/lib/primitive/date/index.js +2 -0
  297. package/dist/lib/primitive/date/index.mjs +1 -0
  298. package/dist/lib/primitive/date/types.cjs +1 -0
  299. package/dist/lib/primitive/date/types.d.ts +205 -0
  300. package/dist/lib/primitive/date/types.d.ts.map +1 -0
  301. package/dist/lib/primitive/date/types.js +7 -0
  302. package/dist/lib/primitive/date/types.mjs +0 -0
  303. package/dist/lib/primitive/index.cjs +5 -0
  304. package/dist/lib/primitive/index.d.ts +5 -0
  305. package/dist/lib/primitive/index.d.ts.map +1 -0
  306. package/dist/lib/primitive/index.js +4 -0
  307. package/dist/lib/primitive/index.mjs +5 -0
  308. package/dist/lib/primitive/string/index.cjs +5 -0
  309. package/dist/lib/primitive/string/index.d.ts +3 -0
  310. package/dist/lib/primitive/string/index.d.ts.map +1 -0
  311. package/dist/lib/primitive/string/index.js +2 -0
  312. package/dist/lib/primitive/string/index.mjs +5 -0
  313. package/dist/lib/primitive/string/parser-2.cjs +8 -0
  314. package/dist/lib/primitive/string/parser-2.d.ts +17 -0
  315. package/dist/lib/primitive/string/parser-2.d.ts.map +1 -0
  316. package/dist/lib/primitive/string/parser-2.js +656 -0
  317. package/dist/lib/primitive/string/parser-2.mjs +8 -0
  318. package/dist/lib/primitive/string/parser.cjs +3 -0
  319. package/dist/lib/primitive/string/parser.d.ts +9 -0
  320. package/dist/lib/primitive/string/parser.d.ts.map +1 -0
  321. package/dist/lib/primitive/string/parser.js +775 -0
  322. package/dist/lib/primitive/string/parser.mjs +3 -0
  323. package/dist/lib/primitive/string/string.cjs +5 -0
  324. package/dist/lib/primitive/string/string.d.ts +535 -0
  325. package/dist/lib/primitive/string/string.d.ts.map +1 -0
  326. package/dist/lib/primitive/string/string.js +1301 -0
  327. package/dist/lib/primitive/string/string.mjs +5 -0
  328. package/dist/lib/primitive/string/types.cjs +1 -0
  329. package/dist/lib/primitive/string/types.d.ts +318 -0
  330. package/dist/lib/primitive/string/types.d.ts.map +1 -0
  331. package/dist/lib/primitive/string/types.js +5 -0
  332. package/dist/lib/primitive/string/types.mjs +0 -0
  333. package/dist/lib/primitive/types.cjs +1 -0
  334. package/dist/lib/primitive/types.d.ts +27 -0
  335. package/dist/lib/primitive/types.d.ts.map +1 -0
  336. package/dist/lib/primitive/types.js +1 -0
  337. package/dist/lib/primitive/types.mjs +0 -0
  338. package/dist/lib/url/index.cjs +1 -0
  339. package/dist/lib/url/index.d.ts +3 -0
  340. package/dist/lib/url/index.d.ts.map +1 -0
  341. package/dist/lib/url/index.js +2 -0
  342. package/dist/lib/url/index.mjs +1 -0
  343. package/dist/lib/url/parser.cjs +1 -0
  344. package/dist/lib/url/parser.d.ts +216 -0
  345. package/dist/lib/url/parser.d.ts.map +1 -0
  346. package/dist/lib/url/parser.js +488 -0
  347. package/dist/lib/url/parser.mjs +1 -0
  348. package/dist/lib/url/types.cjs +1 -0
  349. package/dist/lib/url/types.d.ts +18 -0
  350. package/dist/lib/url/types.d.ts.map +1 -0
  351. package/dist/lib/url/types.js +1 -0
  352. package/dist/lib/url/types.mjs +0 -0
  353. package/dist/tsconfig.lib.tsbuildinfo +1 -0
  354. package/package.json +150 -0
@@ -0,0 +1,512 @@
1
+ /**
2
+ * Vector operations for 2D, 3D, and 4D vectors.
3
+ * @module VectorFunctions
4
+ */
5
+ import type { Vector2D, Vector3D, Vector4D } from '../types/advanced.js';
6
+ /**
7
+ * Creates a 2D vector with validation.
8
+ * @param x - X component
9
+ * @param y - Y component
10
+ * @returns Validated 2D vector
11
+ */
12
+ export declare function createVector2D(x: number, y: number): Vector2D;
13
+ /**
14
+ * Creates a 3D vector with validation.
15
+ * @param x - X component
16
+ * @param y - Y component
17
+ * @param z - Z component
18
+ * @returns Validated 3D vector
19
+ */
20
+ export declare function createVector3D(x: number, y: number, z: number): Vector3D;
21
+ /**
22
+ * Creates a 4D vector with validation.
23
+ * @param x - X component
24
+ * @param y - Y component
25
+ * @param z - Z component
26
+ * @param w - W component
27
+ * @returns Validated 4D vector
28
+ */
29
+ export declare function createVector4D(x: number, y: number, z: number, w: number): Vector4D;
30
+ /**
31
+ * Calculates the magnitude (length) of a 2D vector.
32
+ * @param vector - The 2D vector
33
+ * @returns The magnitude of the vector (non-negative)
34
+ */
35
+ export declare function magnitude2D(vector: Vector2D): number;
36
+ /**
37
+ * Calculates the squared magnitude of a 2D vector (faster, no sqrt).
38
+ * @param vector - The 2D vector
39
+ * @returns The squared magnitude
40
+ */
41
+ export declare function magnitudeSquared2D(vector: Vector2D): number;
42
+ /**
43
+ * Calculates the magnitude (length) of a 3D vector.
44
+ * @param vector - The 3D vector
45
+ * @returns The magnitude of the vector (non-negative)
46
+ */
47
+ export declare function magnitude3D(vector: Vector3D): number;
48
+ /**
49
+ * Calculates the squared magnitude of a 3D vector (faster, no sqrt).
50
+ * @param vector - The 3D vector
51
+ * @returns The squared magnitude
52
+ */
53
+ export declare function magnitudeSquared3D(vector: Vector3D): number;
54
+ /**
55
+ * Calculates the magnitude (length) of a 4D vector.
56
+ * @param vector - The 4D vector
57
+ * @returns The magnitude of the vector (non-negative)
58
+ */
59
+ export declare function magnitude4D(vector: Vector4D): number;
60
+ /**
61
+ * Calculates the squared magnitude of a 4D vector (faster, no sqrt).
62
+ * @param vector - The 4D vector
63
+ * @returns The squared magnitude
64
+ */
65
+ export declare function magnitudeSquared4D(vector: Vector4D): number;
66
+ /**
67
+ * Normalizes a 2D vector (makes it unit length).
68
+ * @param vector - The 2D vector to normalize
69
+ * @returns The normalized vector (unit vector)
70
+ * @throws {Error} If the vector has zero or near-zero magnitude
71
+ */
72
+ export declare function normalize2D(vector: Vector2D): Vector2D;
73
+ /**
74
+ * Safely normalizes a 2D vector, returns zero vector if magnitude is near zero.
75
+ * @param vector - The 2D vector to normalize
76
+ * @returns The normalized vector or zero vector
77
+ */
78
+ export declare function safeNormalize2D(vector: Vector2D): Vector2D;
79
+ /**
80
+ * Normalizes a 3D vector (makes it unit length).
81
+ * @param vector - The 3D vector to normalize
82
+ * @returns The normalized vector (unit vector)
83
+ * @throws {Error} If the vector has zero or near-zero magnitude
84
+ */
85
+ export declare function normalize3D(vector: Vector3D): Vector3D;
86
+ /**
87
+ * Safely normalizes a 3D vector, returns zero vector if magnitude is near zero.
88
+ * @param vector - The 3D vector to normalize
89
+ * @returns The normalized vector or zero vector
90
+ */
91
+ export declare function safeNormalize3D(vector: Vector3D): Vector3D;
92
+ /**
93
+ * Normalizes a 4D vector (makes it unit length).
94
+ * @param vector - The 4D vector to normalize
95
+ * @returns The normalized vector (unit vector)
96
+ * @throws {Error} If the vector has zero or near-zero magnitude
97
+ */
98
+ export declare function normalize4D(vector: Vector4D): Vector4D;
99
+ /**
100
+ * Safely normalizes a 4D vector, returns zero vector if magnitude is near zero.
101
+ * @param vector - The 4D vector to normalize
102
+ * @returns The normalized vector or zero vector
103
+ */
104
+ export declare function safeNormalize4D(vector: Vector4D): Vector4D;
105
+ /**
106
+ * Calculates the dot product of two 2D vectors.
107
+ * @param a - First vector
108
+ * @param b - Second vector
109
+ * @returns The dot product (scalar)
110
+ */
111
+ export declare function dotProduct2D(a: Vector2D, b: Vector2D): number;
112
+ /**
113
+ * Calculates the dot product of two 3D vectors.
114
+ * @param a - First vector
115
+ * @param b - Second vector
116
+ * @returns The dot product (scalar)
117
+ */
118
+ export declare function dotProduct3D(a: Vector3D, b: Vector3D): number;
119
+ /**
120
+ * Calculates the dot product of two 4D vectors.
121
+ * @param a - First vector
122
+ * @param b - Second vector
123
+ * @returns The dot product (scalar)
124
+ */
125
+ export declare function dotProduct4D(a: Vector4D, b: Vector4D): number;
126
+ /**
127
+ * Calculates the cross product of two 3D vectors.
128
+ * @param a - First vector
129
+ * @param b - Second vector
130
+ * @returns The cross product vector (orthogonal to both inputs)
131
+ */
132
+ export declare function crossProduct3D(a: Vector3D, b: Vector3D): Vector3D;
133
+ /**
134
+ * Adds two 2D vectors.
135
+ * @param a - First vector
136
+ * @param b - Second vector
137
+ * @returns The sum vector
138
+ */
139
+ export declare function addVectors2D(a: Vector2D, b: Vector2D): Vector2D;
140
+ /**
141
+ * Adds two 3D vectors.
142
+ * @param a - First vector
143
+ * @param b - Second vector
144
+ * @returns The sum vector
145
+ */
146
+ export declare function addVectors3D(a: Vector3D, b: Vector3D): Vector3D;
147
+ /**
148
+ * Adds two 4D vectors.
149
+ * @param a - First vector
150
+ * @param b - Second vector
151
+ * @returns The sum vector
152
+ */
153
+ export declare function addVectors4D(a: Vector4D, b: Vector4D): Vector4D;
154
+ /**
155
+ * Subtracts two 2D vectors.
156
+ * @param a - First vector
157
+ * @param b - Second vector
158
+ * @returns The difference vector (a - b)
159
+ */
160
+ export declare function subtractVectors2D(a: Vector2D, b: Vector2D): Vector2D;
161
+ /**
162
+ * Subtracts two 3D vectors.
163
+ * @param a - First vector
164
+ * @param b - Second vector
165
+ * @returns The difference vector (a - b)
166
+ */
167
+ export declare function subtractVectors3D(a: Vector3D, b: Vector3D): Vector3D;
168
+ /**
169
+ * Subtracts two 4D vectors.
170
+ * @param a - First vector
171
+ * @param b - Second vector
172
+ * @returns The difference vector (a - b)
173
+ */
174
+ export declare function subtractVectors4D(a: Vector4D, b: Vector4D): Vector4D;
175
+ /**
176
+ * Multiplies a 2D vector by a scalar.
177
+ * @param vector - The vector
178
+ * @param scalar - The scalar
179
+ * @returns The scaled vector
180
+ */
181
+ export declare function scaleVector2D(vector: Vector2D, scalar: number): Vector2D;
182
+ /**
183
+ * Multiplies a 3D vector by a scalar.
184
+ * @param vector - The vector
185
+ * @param scalar - The scalar
186
+ * @returns The scaled vector
187
+ */
188
+ export declare function scaleVector3D(vector: Vector3D, scalar: number): Vector3D;
189
+ /**
190
+ * Multiplies a 4D vector by a scalar.
191
+ * @param vector - The vector
192
+ * @param scalar - The scalar
193
+ * @returns The scaled vector
194
+ */
195
+ export declare function scaleVector4D(vector: Vector4D, scalar: number): Vector4D;
196
+ /**
197
+ * Calculates the angle between two 2D vectors in radians.
198
+ * @param a - First vector
199
+ * @param b - Second vector
200
+ * @returns The angle in radians [0, π]
201
+ * @throws {Error} If either vector has zero or near-zero magnitude
202
+ */
203
+ export declare function angleBetween2D(a: Vector2D, b: Vector2D): number;
204
+ /**
205
+ * Calculates the angle between two 3D vectors in radians.
206
+ * @param a - First vector
207
+ * @param b - Second vector
208
+ * @returns The angle in radians [0, π]
209
+ * @throws {Error} If either vector has zero or near-zero magnitude
210
+ */
211
+ export declare function angleBetween3D(a: Vector3D, b: Vector3D): number;
212
+ /**
213
+ * Calculates the signed angle between two 2D vectors in radians.
214
+ * @param a - First vector
215
+ * @param b - Second vector
216
+ * @returns The signed angle in radians (-π to π)
217
+ * @throws {Error} If either vector has zero or near-zero magnitude
218
+ */
219
+ export declare function signedAngleBetween2D(a: Vector2D, b: Vector2D): number;
220
+ /**
221
+ * Calculates the distance between two 2D points.
222
+ * @param a - First point
223
+ * @param b - Second point
224
+ * @returns The Euclidean distance (non-negative)
225
+ */
226
+ export declare function distance2D(a: Vector2D, b: Vector2D): number;
227
+ /**
228
+ * Calculates the squared distance between two 2D points (faster, no sqrt).
229
+ * @param a - First point
230
+ * @param b - Second point
231
+ * @returns The squared Euclidean distance
232
+ */
233
+ export declare function distanceSquared2D(a: Vector2D, b: Vector2D): number;
234
+ /**
235
+ * Calculates the distance between two 3D points.
236
+ * @param a - First point
237
+ * @param b - Second point
238
+ * @returns The Euclidean distance (non-negative)
239
+ */
240
+ export declare function distance3D(a: Vector3D, b: Vector3D): number;
241
+ /**
242
+ * Calculates the squared distance between two 3D points (faster, no sqrt).
243
+ * @param a - First point
244
+ * @param b - Second point
245
+ * @returns The squared Euclidean distance
246
+ */
247
+ export declare function distanceSquared3D(a: Vector3D, b: Vector3D): number;
248
+ /**
249
+ * Calculates the distance between two 4D points.
250
+ * @param a - First point
251
+ * @param b - Second point
252
+ * @returns The Euclidean distance (non-negative)
253
+ */
254
+ export declare function distance4D(a: Vector4D, b: Vector4D): number;
255
+ /**
256
+ * Calculates the squared distance between two 4D points (faster, no sqrt).
257
+ * @param a - First point
258
+ * @param b - Second point
259
+ * @returns The squared Euclidean distance
260
+ */
261
+ export declare function distanceSquared4D(a: Vector4D, b: Vector4D): number;
262
+ /**
263
+ * Linearly interpolates between two 2D vectors.
264
+ * @param start - Starting vector
265
+ * @param end - Ending vector
266
+ * @param t - Interpolation factor (unclamped, can extrapolate)
267
+ * @returns The interpolated vector
268
+ */
269
+ export declare function lerp2D(start: Vector2D, end: Vector2D, t: number): Vector2D;
270
+ /**
271
+ * Linearly interpolates between two 2D vectors with clamping.
272
+ * @param start - Starting vector
273
+ * @param end - Ending vector
274
+ * @param t - Interpolation factor (clamped to [0, 1])
275
+ * @returns The interpolated vector within the segment
276
+ */
277
+ export declare function lerpClamped2D(start: Vector2D, end: Vector2D, t: number): Vector2D;
278
+ /**
279
+ * Linearly interpolates between two 3D vectors.
280
+ * @param start - Starting vector
281
+ * @param end - Ending vector
282
+ * @param t - Interpolation factor (unclamped, can extrapolate)
283
+ * @returns The interpolated vector
284
+ */
285
+ export declare function lerp3D(start: Vector3D, end: Vector3D, t: number): Vector3D;
286
+ /**
287
+ * Linearly interpolates between two 3D vectors with clamping.
288
+ * @param start - Starting vector
289
+ * @param end - Ending vector
290
+ * @param t - Interpolation factor (clamped to [0, 1])
291
+ * @returns The interpolated vector within the segment
292
+ */
293
+ export declare function lerpClamped3D(start: Vector3D, end: Vector3D, t: number): Vector3D;
294
+ /**
295
+ * Linearly interpolates between two 4D vectors.
296
+ * @param start - Starting vector
297
+ * @param end - Ending vector
298
+ * @param t - Interpolation factor (unclamped, can extrapolate)
299
+ * @returns The interpolated vector
300
+ */
301
+ export declare function lerp4D(start: Vector4D, end: Vector4D, t: number): Vector4D;
302
+ /**
303
+ * Linearly interpolates between two 4D vectors with clamping.
304
+ * @param start - Starting vector
305
+ * @param end - Ending vector
306
+ * @param t - Interpolation factor (clamped to [0, 1])
307
+ * @returns The interpolated vector within the segment
308
+ */
309
+ export declare function lerpClamped4D(start: Vector4D, end: Vector4D, t: number): Vector4D;
310
+ /**
311
+ * Spherically interpolates between two 3D vectors (SLERP).
312
+ * @param start - Starting unit vector
313
+ * @param end - Ending unit vector
314
+ * @param t - Interpolation factor (clamped to [0, 1])
315
+ * @returns The interpolated unit vector
316
+ * @throws {Error} If vectors are not unit length or have near-zero magnitude
317
+ */
318
+ export declare function slerp3D(start: Vector3D, end: Vector3D, t: number): Vector3D;
319
+ /**
320
+ * Smoothly interpolates between two vectors using cubic Hermite interpolation.
321
+ * @param start - Starting vector
322
+ * @param end - Ending vector
323
+ * @param t - Interpolation factor (unclamped)
324
+ * @returns The interpolated vector
325
+ */
326
+ export declare function smoothstep2D(start: Vector2D, end: Vector2D, t: number): Vector2D;
327
+ /**
328
+ * Smoothly interpolates with clamping.
329
+ * @param start - Starting vector
330
+ * @param end - Ending vector
331
+ * @param t - Interpolation factor (clamped to [0, 1])
332
+ * @returns The interpolated vector
333
+ */
334
+ export declare function smoothstepClamped2D(start: Vector2D, end: Vector2D, t: number): Vector2D;
335
+ /**
336
+ * Smoother interpolation using quintic function.
337
+ * @param start - Starting vector
338
+ * @param end - Ending vector
339
+ * @param t - Interpolation factor (unclamped)
340
+ * @returns The interpolated vector
341
+ */
342
+ export declare function smootherstep2D(start: Vector2D, end: Vector2D, t: number): Vector2D;
343
+ /**
344
+ * Interpolates between three vectors (quadratic bezier).
345
+ * @param p0 - Start point
346
+ * @param p1 - Control point
347
+ * @param p2 - End point
348
+ * @param t - Interpolation factor
349
+ * @returns The interpolated vector
350
+ */
351
+ export declare function quadraticBezier2D(p0: Vector2D, p1: Vector2D, p2: Vector2D, t: number): Vector2D;
352
+ /**
353
+ * Interpolates between four vectors (cubic bezier).
354
+ * @param p0 - Start point
355
+ * @param p1 - First control point
356
+ * @param p2 - Second control point
357
+ * @param p3 - End point
358
+ * @param t - Interpolation factor
359
+ * @returns The interpolated vector
360
+ */
361
+ export declare function cubicBezier2D(p0: Vector2D, p1: Vector2D, p2: Vector2D, p3: Vector2D, t: number): Vector2D;
362
+ /**
363
+ * Maps a value from one range to another range.
364
+ * @param value - The value to map
365
+ * @param inMin - Minimum of input range
366
+ * @param inMax - Maximum of input range
367
+ * @param outMin - Minimum of output range
368
+ * @param outMax - Maximum of output range
369
+ * @returns The mapped value
370
+ */
371
+ export declare function mapRange(value: number, inMin: number, inMax: number, outMin: number, outMax: number): number;
372
+ /**
373
+ * Maps and clamps a value from one range to another.
374
+ * @param value - The value to map
375
+ * @param inMin - Minimum of input range
376
+ * @param inMax - Maximum of input range
377
+ * @param outMin - Minimum of output range
378
+ * @param outMax - Maximum of output range
379
+ * @returns The mapped value, clamped to output range
380
+ */
381
+ export declare function mapRangeClamped(value: number, inMin: number, inMax: number, outMin: number, outMax: number): number;
382
+ /**
383
+ * Rotates a 2D vector by an angle (in radians).
384
+ * @param vector - The vector to rotate
385
+ * @param angle - The angle in radians
386
+ * @returns The rotated vector
387
+ */
388
+ export declare function rotate2D(vector: Vector2D, angle: number): Vector2D;
389
+ /**
390
+ * Rotates a 2D vector by an angle (in degrees).
391
+ * @param vector - The vector to rotate
392
+ * @param degrees - The angle in degrees
393
+ * @returns The rotated vector
394
+ */
395
+ export declare function rotate2DDegrees(vector: Vector2D, degrees: number): Vector2D;
396
+ /**
397
+ * Reflects a 2D vector across a normal vector.
398
+ * @param vector - The vector to reflect
399
+ * @param normal - The normal vector (must be unit length)
400
+ * @returns The reflected vector
401
+ * @throws {Error} If normal is not unit length
402
+ */
403
+ export declare function reflect2D(vector: Vector2D, normal: Vector2D): Vector2D;
404
+ /**
405
+ * Projects vector a onto vector b.
406
+ * @param a - The vector to project
407
+ * @param b - The vector to project onto
408
+ * @returns The projection of a onto b
409
+ * @throws {Error} If b has zero or near-zero magnitude
410
+ */
411
+ export declare function project2D(a: Vector2D, b: Vector2D): Vector2D;
412
+ /**
413
+ * Checks if two 2D vectors are approximately equal.
414
+ * @param a - First vector
415
+ * @param b - Second vector
416
+ * @returns True if vectors are approximately equal
417
+ */
418
+ export declare function vectorsEqual2D(a: Vector2D, b: Vector2D): boolean;
419
+ /**
420
+ * Checks if two 3D vectors are approximately equal.
421
+ * @param a - First vector
422
+ * @param b - Second vector
423
+ * @returns True if vectors are approximately equal
424
+ */
425
+ export declare function vectorsEqual3D(a: Vector3D, b: Vector3D): boolean;
426
+ /**
427
+ * Checks if two 4D vectors are approximately equal.
428
+ * @param a - First vector
429
+ * @param b - Second vector
430
+ * @returns True if vectors are approximately equal
431
+ */
432
+ export declare function vectorsEqual4D(a: Vector4D, b: Vector4D): boolean;
433
+ /**
434
+ * Calculates the midpoint between two 2D points.
435
+ * @param a - First point
436
+ * @param b - Second point
437
+ * @returns The midpoint
438
+ */
439
+ export declare function midpoint2D(a: Vector2D, b: Vector2D): Vector2D;
440
+ /**
441
+ * Calculates the centroid of multiple 2D points.
442
+ * @param points - Array of points
443
+ * @returns The centroid
444
+ * @throws {Error} If points array is empty
445
+ */
446
+ export declare function centroid2D(points: Vector2D[]): Vector2D;
447
+ /**
448
+ * Negates a 2D vector (reverses its direction).
449
+ * @param vector - The vector to negate
450
+ * @returns The negated vector
451
+ */
452
+ export declare function negateVector2D(vector: Vector2D): Vector2D;
453
+ /**
454
+ * Negates a 3D vector (reverses its direction).
455
+ * @param vector - The vector to negate
456
+ * @returns The negated vector
457
+ */
458
+ export declare function negateVector3D(vector: Vector3D): Vector3D;
459
+ /**
460
+ * Negates a 4D vector (reverses its direction).
461
+ * @param vector - The vector to negate
462
+ * @returns The negated vector
463
+ */
464
+ export declare function negateVector4D(vector: Vector4D): Vector4D;
465
+ /**
466
+ * Calculates the perpendicular 2D vector (90° rotation).
467
+ * @param vector - The vector
468
+ * @param clockwise - True for clockwise rotation, false for counterclockwise
469
+ * @returns The perpendicular vector
470
+ */
471
+ export declare function perpendicular2D(vector: Vector2D, clockwise?: boolean): Vector2D;
472
+ /**
473
+ * Creates a zero 2D vector.
474
+ * @returns Zero vector
475
+ */
476
+ export declare function zeroVector2D(): Vector2D;
477
+ /**
478
+ * Creates a zero 3D vector.
479
+ * @returns Zero vector
480
+ */
481
+ export declare function zeroVector3D(): Vector3D;
482
+ /**
483
+ * Creates a zero 4D vector.
484
+ * @returns Zero vector
485
+ */
486
+ export declare function zeroVector4D(): Vector4D;
487
+ /**
488
+ * Creates a 2D unit vector along the X axis.
489
+ * @returns Unit vector (1, 0)
490
+ */
491
+ export declare function unitX2D(): Vector2D;
492
+ /**
493
+ * Creates a 2D unit vector along the Y axis.
494
+ * @returns Unit vector (0, 1)
495
+ */
496
+ export declare function unitY2D(): Vector2D;
497
+ /**
498
+ * Creates a 3D unit vector along the X axis.
499
+ * @returns Unit vector (1, 0, 0)
500
+ */
501
+ export declare function unitX3D(): Vector3D;
502
+ /**
503
+ * Creates a 3D unit vector along the Y axis.
504
+ * @returns Unit vector (0, 1, 0)
505
+ */
506
+ export declare function unitY3D(): Vector3D;
507
+ /**
508
+ * Creates a 3D unit vector along the Z axis.
509
+ * @returns Unit vector (0, 0, 1)
510
+ */
511
+ export declare function unitZ3D(): Vector3D;
512
+ //# sourceMappingURL=vector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vector.d.ts","sourceRoot":"","sources":["../../../../src/lib/maths/fn/vector.ts"],"names":[],"mappings":"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"}