@vived/core 1.4.1 → 1.4.3

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 (356) hide show
  1. package/README.md +118 -20
  2. package/dist/cjs/AppObject/AppObject.js +112 -0
  3. package/dist/cjs/AppObject/AppObject.js.map +1 -0
  4. package/dist/cjs/AppObject/AppObjectComponent.js +160 -0
  5. package/dist/cjs/AppObject/AppObjectComponent.js.map +1 -0
  6. package/dist/cjs/AppObject/AppObjectController.js +34 -0
  7. package/dist/cjs/AppObject/AppObjectController.js.map +1 -0
  8. package/dist/cjs/AppObject/AppObjectEntity.js +90 -0
  9. package/dist/cjs/AppObject/AppObjectEntity.js.map +1 -0
  10. package/dist/cjs/AppObject/AppObjectEntityRepo.js +130 -0
  11. package/dist/cjs/AppObject/AppObjectEntityRepo.js.map +1 -0
  12. package/dist/cjs/AppObject/AppObjectPM.js +86 -0
  13. package/dist/cjs/AppObject/AppObjectPM.js.map +1 -0
  14. package/dist/cjs/AppObject/AppObjectRepo.js +153 -0
  15. package/dist/cjs/AppObject/AppObjectRepo.js.map +1 -0
  16. package/dist/cjs/AppObject/AppObjectUC.js +35 -0
  17. package/dist/cjs/AppObject/AppObjectUC.js.map +1 -0
  18. package/dist/cjs/AppObject/AppObjectView.js +34 -0
  19. package/dist/cjs/AppObject/AppObjectView.js.map +1 -0
  20. package/dist/cjs/AppObject/getSingletonComponent.js +26 -0
  21. package/dist/cjs/AppObject/getSingletonComponent.js.map +1 -0
  22. package/dist/cjs/AppObject/index.js +27 -0
  23. package/dist/cjs/AppObject/index.js.map +1 -0
  24. package/dist/cjs/AppObject/printAppObjectDetails.js +18 -0
  25. package/dist/cjs/AppObject/printAppObjectDetails.js.map +1 -0
  26. package/dist/cjs/Entities/MemoizedAngle.js +44 -0
  27. package/dist/cjs/Entities/MemoizedAngle.js.map +1 -0
  28. package/dist/cjs/Entities/MemoizedBoolean.js +44 -0
  29. package/dist/cjs/Entities/MemoizedBoolean.js.map +1 -0
  30. package/dist/cjs/Entities/MemoizedColor.js +45 -0
  31. package/dist/cjs/Entities/MemoizedColor.js.map +1 -0
  32. package/dist/cjs/Entities/MemoizedNumber.js +44 -0
  33. package/dist/cjs/Entities/MemoizedNumber.js.map +1 -0
  34. package/dist/cjs/Entities/MemoizedQuaternion.js +45 -0
  35. package/dist/cjs/Entities/MemoizedQuaternion.js.map +1 -0
  36. package/dist/cjs/Entities/MemoizedString.js +44 -0
  37. package/dist/cjs/Entities/MemoizedString.js.map +1 -0
  38. package/dist/cjs/Entities/MemoizedVector2.js +45 -0
  39. package/dist/cjs/Entities/MemoizedVector2.js.map +1 -0
  40. package/dist/cjs/Entities/MemoizedVector3.js +45 -0
  41. package/dist/cjs/Entities/MemoizedVector3.js.map +1 -0
  42. package/dist/cjs/Entities/ObservableEntity.js +37 -0
  43. package/dist/cjs/Entities/ObservableEntity.js.map +1 -0
  44. package/dist/cjs/Entities/ObserverList.js +48 -0
  45. package/dist/cjs/Entities/ObserverList.js.map +1 -0
  46. package/dist/cjs/Entities/RangedNumber.js +65 -0
  47. package/dist/cjs/Entities/RangedNumber.js.map +1 -0
  48. package/dist/cjs/Entities/index.js +28 -0
  49. package/dist/cjs/Entities/index.js.map +1 -0
  50. package/dist/cjs/Types/AppBoundary.js +3 -0
  51. package/dist/cjs/Types/AppBoundary.js.map +1 -0
  52. package/dist/cjs/Types/EaseFn.js +3 -0
  53. package/dist/cjs/Types/EaseFn.js.map +1 -0
  54. package/dist/cjs/Types/PmAdapter.js +3 -0
  55. package/dist/cjs/Types/PmAdapter.js.map +1 -0
  56. package/dist/cjs/Types/SingletonPmAdapter.js +3 -0
  57. package/dist/cjs/Types/SingletonPmAdapter.js.map +1 -0
  58. package/dist/cjs/Types/index.js +21 -0
  59. package/dist/cjs/Types/index.js.map +1 -0
  60. package/dist/cjs/Utilities/LengthConverters.js +21 -0
  61. package/dist/cjs/Utilities/LengthConverters.js.map +1 -0
  62. package/dist/cjs/Utilities/LerpNumber.js +85 -0
  63. package/dist/cjs/Utilities/LerpNumber.js.map +1 -0
  64. package/dist/cjs/Utilities/addAlphaToHex.js +16 -0
  65. package/dist/cjs/Utilities/addAlphaToHex.js.map +1 -0
  66. package/dist/cjs/Utilities/alphaToHex.js +21 -0
  67. package/dist/cjs/Utilities/alphaToHex.js.map +1 -0
  68. package/dist/cjs/Utilities/degreesToRadians.js +7 -0
  69. package/dist/cjs/Utilities/degreesToRadians.js.map +1 -0
  70. package/dist/cjs/Utilities/downloadFile.js +14 -0
  71. package/dist/cjs/Utilities/downloadFile.js.map +1 -0
  72. package/dist/cjs/Utilities/easeFunctions.js +208 -0
  73. package/dist/cjs/Utilities/easeFunctions.js.map +1 -0
  74. package/dist/cjs/Utilities/generateUniqueID.js +8 -0
  75. package/dist/cjs/Utilities/generateUniqueID.js.map +1 -0
  76. package/dist/cjs/Utilities/index.js +25 -0
  77. package/dist/cjs/Utilities/index.js.map +1 -0
  78. package/dist/cjs/Utilities/interpolateNumber.js +18 -0
  79. package/dist/cjs/Utilities/interpolateNumber.js.map +1 -0
  80. package/dist/cjs/ValueObjects/Angle.js +47 -0
  81. package/dist/cjs/ValueObjects/Angle.js.map +1 -0
  82. package/dist/cjs/ValueObjects/Color.js +859 -0
  83. package/dist/cjs/ValueObjects/Color.js.map +1 -0
  84. package/dist/cjs/ValueObjects/LineSegment2D.js +72 -0
  85. package/dist/cjs/ValueObjects/LineSegment2D.js.map +1 -0
  86. package/dist/cjs/ValueObjects/Matrix.js +466 -0
  87. package/dist/cjs/ValueObjects/Matrix.js.map +1 -0
  88. package/dist/cjs/ValueObjects/ParametricLine.js +77 -0
  89. package/dist/cjs/ValueObjects/ParametricLine.js.map +1 -0
  90. package/dist/cjs/ValueObjects/ParametricPlane.js +65 -0
  91. package/dist/cjs/ValueObjects/ParametricPlane.js.map +1 -0
  92. package/dist/cjs/ValueObjects/Quaternion.js +290 -0
  93. package/dist/cjs/ValueObjects/Quaternion.js.map +1 -0
  94. package/dist/cjs/ValueObjects/Rectangle.js +24 -0
  95. package/dist/cjs/ValueObjects/Rectangle.js.map +1 -0
  96. package/dist/cjs/ValueObjects/Vector2.js +191 -0
  97. package/dist/cjs/ValueObjects/Vector2.js.map +1 -0
  98. package/dist/cjs/ValueObjects/Vector3.js +231 -0
  99. package/dist/cjs/ValueObjects/Vector3.js.map +1 -0
  100. package/dist/cjs/ValueObjects/Version.js +171 -0
  101. package/dist/cjs/ValueObjects/Version.js.map +1 -0
  102. package/dist/cjs/ValueObjects/index.js +28 -0
  103. package/dist/cjs/ValueObjects/index.js.map +1 -0
  104. package/dist/cjs/index.js +22 -0
  105. package/dist/cjs/index.js.map +1 -0
  106. package/dist/esm/AppObject/AppObject.js +53 -0
  107. package/dist/esm/AppObject/AppObject.js.map +1 -1
  108. package/dist/esm/AppObject/AppObjectComponent.js +78 -0
  109. package/dist/esm/AppObject/AppObjectComponent.js.map +1 -1
  110. package/dist/esm/AppObject/AppObjectController.js +22 -0
  111. package/dist/esm/AppObject/AppObjectController.js.map +1 -1
  112. package/dist/esm/AppObject/AppObjectEntity.js +52 -0
  113. package/dist/esm/AppObject/AppObjectEntity.js.map +1 -1
  114. package/dist/esm/AppObject/AppObjectEntityRepo.js +75 -1
  115. package/dist/esm/AppObject/AppObjectEntityRepo.js.map +1 -1
  116. package/dist/esm/AppObject/AppObjectPM.js +46 -0
  117. package/dist/esm/AppObject/AppObjectPM.js.map +1 -1
  118. package/dist/esm/AppObject/AppObjectRepo.js +20 -0
  119. package/dist/esm/AppObject/AppObjectRepo.js.map +1 -1
  120. package/dist/esm/AppObject/AppObjectUC.js +24 -1
  121. package/dist/esm/AppObject/AppObjectUC.js.map +1 -1
  122. package/dist/esm/AppObject/AppObjectView.js +23 -1
  123. package/dist/esm/AppObject/AppObjectView.js.map +1 -1
  124. package/dist/esm/AppObject/getSingletonComponent.js +19 -0
  125. package/dist/esm/AppObject/getSingletonComponent.js.map +1 -1
  126. package/dist/esm/Entities/MemoizedAngle.js +21 -0
  127. package/dist/esm/Entities/MemoizedAngle.js.map +1 -1
  128. package/dist/esm/Entities/MemoizedBoolean.js +21 -0
  129. package/dist/esm/Entities/MemoizedBoolean.js.map +1 -1
  130. package/dist/esm/Entities/MemoizedColor.js +21 -0
  131. package/dist/esm/Entities/MemoizedColor.js.map +1 -1
  132. package/dist/esm/Entities/MemoizedNumber.js +21 -0
  133. package/dist/esm/Entities/MemoizedNumber.js.map +1 -1
  134. package/dist/esm/Entities/MemoizedQuaternion.js +21 -0
  135. package/dist/esm/Entities/MemoizedQuaternion.js.map +1 -1
  136. package/dist/esm/Entities/MemoizedString.js +21 -0
  137. package/dist/esm/Entities/MemoizedString.js.map +1 -1
  138. package/dist/esm/Entities/MemoizedVector2.js +21 -0
  139. package/dist/esm/Entities/MemoizedVector2.js.map +1 -1
  140. package/dist/esm/Entities/MemoizedVector3.js +21 -0
  141. package/dist/esm/Entities/MemoizedVector3.js.map +1 -1
  142. package/dist/esm/Entities/ObservableEntity.js +17 -0
  143. package/dist/esm/Entities/ObservableEntity.js.map +1 -1
  144. package/dist/esm/Entities/ObserverList.js +21 -0
  145. package/dist/esm/Entities/ObserverList.js.map +1 -1
  146. package/dist/esm/Entities/RangedNumber.js +29 -0
  147. package/dist/esm/Entities/RangedNumber.js.map +1 -1
  148. package/dist/esm/Types/PmAdapter.js.map +1 -1
  149. package/dist/esm/Types/SingletonPmAdapter.js.map +1 -1
  150. package/dist/esm/ValueObjects/Angle.js +1 -1
  151. package/dist/esm/ValueObjects/Angle.js.map +1 -1
  152. package/dist/esm/ValueObjects/LineSegment2D.js +6 -6
  153. package/dist/esm/ValueObjects/LineSegment2D.js.map +1 -1
  154. package/dist/esm/ValueObjects/Matrix.js +6 -6
  155. package/dist/esm/ValueObjects/Matrix.js.map +1 -1
  156. package/dist/esm/ValueObjects/Quaternion.js +17 -17
  157. package/dist/esm/ValueObjects/Quaternion.js.map +1 -1
  158. package/dist/esm/ValueObjects/Vector2.js +15 -8
  159. package/dist/esm/ValueObjects/Vector2.js.map +1 -1
  160. package/dist/types/AppObject/AppObject.d.ts +42 -0
  161. package/dist/types/AppObject/AppObject.d.ts.map +1 -1
  162. package/dist/types/AppObject/AppObjectComponent.d.ts +80 -0
  163. package/dist/types/AppObject/AppObjectComponent.d.ts.map +1 -1
  164. package/dist/types/AppObject/AppObjectController.d.ts +22 -0
  165. package/dist/types/AppObject/AppObjectController.d.ts.map +1 -1
  166. package/dist/types/AppObject/AppObjectEntity.d.ts +55 -0
  167. package/dist/types/AppObject/AppObjectEntity.d.ts.map +1 -1
  168. package/dist/types/AppObject/AppObjectEntityRepo.d.ts +75 -0
  169. package/dist/types/AppObject/AppObjectEntityRepo.d.ts.map +1 -1
  170. package/dist/types/AppObject/AppObjectPM.d.ts +53 -0
  171. package/dist/types/AppObject/AppObjectPM.d.ts.map +1 -1
  172. package/dist/types/AppObject/AppObjectRepo.d.ts +124 -0
  173. package/dist/types/AppObject/AppObjectRepo.d.ts.map +1 -1
  174. package/dist/types/AppObject/AppObjectUC.d.ts +23 -0
  175. package/dist/types/AppObject/AppObjectUC.d.ts.map +1 -1
  176. package/dist/types/AppObject/AppObjectView.d.ts +22 -0
  177. package/dist/types/AppObject/AppObjectView.d.ts.map +1 -1
  178. package/dist/types/AppObject/getSingletonComponent.d.ts +19 -0
  179. package/dist/types/AppObject/getSingletonComponent.d.ts.map +1 -1
  180. package/dist/types/Entities/MemoizedAngle.d.ts +21 -0
  181. package/dist/types/Entities/MemoizedAngle.d.ts.map +1 -1
  182. package/dist/types/Entities/MemoizedBoolean.d.ts +21 -0
  183. package/dist/types/Entities/MemoizedBoolean.d.ts.map +1 -1
  184. package/dist/types/Entities/MemoizedColor.d.ts +21 -0
  185. package/dist/types/Entities/MemoizedColor.d.ts.map +1 -1
  186. package/dist/types/Entities/MemoizedNumber.d.ts +21 -0
  187. package/dist/types/Entities/MemoizedNumber.d.ts.map +1 -1
  188. package/dist/types/Entities/MemoizedQuaternion.d.ts +21 -0
  189. package/dist/types/Entities/MemoizedQuaternion.d.ts.map +1 -1
  190. package/dist/types/Entities/MemoizedString.d.ts +21 -0
  191. package/dist/types/Entities/MemoizedString.d.ts.map +1 -1
  192. package/dist/types/Entities/MemoizedVector2.d.ts +21 -0
  193. package/dist/types/Entities/MemoizedVector2.d.ts.map +1 -1
  194. package/dist/types/Entities/MemoizedVector3.d.ts +21 -0
  195. package/dist/types/Entities/MemoizedVector3.d.ts.map +1 -1
  196. package/dist/types/Entities/ObservableEntity.d.ts +20 -0
  197. package/dist/types/Entities/ObservableEntity.d.ts.map +1 -1
  198. package/dist/types/Entities/ObserverList.d.ts +21 -0
  199. package/dist/types/Entities/ObserverList.d.ts.map +1 -1
  200. package/dist/types/Entities/RangedNumber.d.ts +37 -0
  201. package/dist/types/Entities/RangedNumber.d.ts.map +1 -1
  202. package/dist/types/Types/PmAdapter.d.ts +60 -0
  203. package/dist/types/Types/PmAdapter.d.ts.map +1 -1
  204. package/dist/types/Types/SingletonPmAdapter.d.ts +55 -0
  205. package/dist/types/Types/SingletonPmAdapter.d.ts.map +1 -1
  206. package/dist/types/ValueObjects/Angle.d.ts +1 -1
  207. package/dist/types/ValueObjects/Matrix.d.ts +5 -5
  208. package/dist/types/ValueObjects/Matrix.d.ts.map +1 -1
  209. package/dist/types/ValueObjects/Quaternion.d.ts +17 -17
  210. package/dist/types/ValueObjects/Vector2.d.ts +8 -3
  211. package/dist/types/ValueObjects/Vector2.d.ts.map +1 -1
  212. package/package.json +58 -55
  213. package/dist/esm/AppObject/AppObject.test.js +0 -110
  214. package/dist/esm/AppObject/AppObject.test.js.map +0 -1
  215. package/dist/esm/AppObject/AppObjectComponent.test.js +0 -130
  216. package/dist/esm/AppObject/AppObjectComponent.test.js.map +0 -1
  217. package/dist/esm/AppObject/AppObjectEntity.test.js +0 -106
  218. package/dist/esm/AppObject/AppObjectEntity.test.js.map +0 -1
  219. package/dist/esm/AppObject/AppObjectEntityRepo.test.js +0 -147
  220. package/dist/esm/AppObject/AppObjectEntityRepo.test.js.map +0 -1
  221. package/dist/esm/AppObject/AppObjectPM.test.js +0 -101
  222. package/dist/esm/AppObject/AppObjectPM.test.js.map +0 -1
  223. package/dist/esm/AppObject/AppObjectRepo.test.js +0 -211
  224. package/dist/esm/AppObject/AppObjectRepo.test.js.map +0 -1
  225. package/dist/esm/AppObject/getSingletonComponent.test.js +0 -11
  226. package/dist/esm/AppObject/getSingletonComponent.test.js.map +0 -1
  227. package/dist/esm/Entities/MemoizedAngle.test.js +0 -28
  228. package/dist/esm/Entities/MemoizedAngle.test.js.map +0 -1
  229. package/dist/esm/Entities/MemoizedBoolean.test.js +0 -32
  230. package/dist/esm/Entities/MemoizedBoolean.test.js.map +0 -1
  231. package/dist/esm/Entities/MemoizedColor.test.js +0 -30
  232. package/dist/esm/Entities/MemoizedColor.test.js.map +0 -1
  233. package/dist/esm/Entities/MemoizedNumber.test.js +0 -27
  234. package/dist/esm/Entities/MemoizedNumber.test.js.map +0 -1
  235. package/dist/esm/Entities/MemoizedQuaternion.test.js +0 -30
  236. package/dist/esm/Entities/MemoizedQuaternion.test.js.map +0 -1
  237. package/dist/esm/Entities/MemoizedString.test.js +0 -27
  238. package/dist/esm/Entities/MemoizedString.test.js.map +0 -1
  239. package/dist/esm/Entities/MemoizedVector2.test.js +0 -30
  240. package/dist/esm/Entities/MemoizedVector2.test.js.map +0 -1
  241. package/dist/esm/Entities/MemoizedVector3.test.js +0 -30
  242. package/dist/esm/Entities/MemoizedVector3.test.js.map +0 -1
  243. package/dist/esm/Entities/ObservableEntity.test.js +0 -23
  244. package/dist/esm/Entities/ObservableEntity.test.js.map +0 -1
  245. package/dist/esm/Entities/ObserverList.test.js +0 -42
  246. package/dist/esm/Entities/ObserverList.test.js.map +0 -1
  247. package/dist/esm/Entities/RangedNumber.test.js +0 -94
  248. package/dist/esm/Entities/RangedNumber.test.js.map +0 -1
  249. package/dist/esm/Utilities/LengthConverters.test.js +0 -22
  250. package/dist/esm/Utilities/LengthConverters.test.js.map +0 -1
  251. package/dist/esm/Utilities/LerpNumber.test.js +0 -88
  252. package/dist/esm/Utilities/LerpNumber.test.js.map +0 -1
  253. package/dist/esm/Utilities/addAlphaToHex.test.js +0 -32
  254. package/dist/esm/Utilities/addAlphaToHex.test.js.map +0 -1
  255. package/dist/esm/Utilities/alphaToHex.test.js +0 -73
  256. package/dist/esm/Utilities/alphaToHex.test.js.map +0 -1
  257. package/dist/esm/Utilities/degreesToRadians.test.js +0 -7
  258. package/dist/esm/Utilities/degreesToRadians.test.js.map +0 -1
  259. package/dist/esm/Utilities/easeFunctions.test.js +0 -207
  260. package/dist/esm/Utilities/easeFunctions.test.js.map +0 -1
  261. package/dist/esm/Utilities/interpolateNumber.test.js +0 -24
  262. package/dist/esm/Utilities/interpolateNumber.test.js.map +0 -1
  263. package/dist/esm/ValueObjects/Angle.test.js +0 -26
  264. package/dist/esm/ValueObjects/Angle.test.js.map +0 -1
  265. package/dist/esm/ValueObjects/Color.test.js +0 -145
  266. package/dist/esm/ValueObjects/Color.test.js.map +0 -1
  267. package/dist/esm/ValueObjects/LineSegment2D.test.js +0 -100
  268. package/dist/esm/ValueObjects/LineSegment2D.test.js.map +0 -1
  269. package/dist/esm/ValueObjects/Matrix.test.js +0 -383
  270. package/dist/esm/ValueObjects/Matrix.test.js.map +0 -1
  271. package/dist/esm/ValueObjects/ParametricLine.test.js +0 -124
  272. package/dist/esm/ValueObjects/ParametricLine.test.js.map +0 -1
  273. package/dist/esm/ValueObjects/ParametricPlane.test.js +0 -99
  274. package/dist/esm/ValueObjects/ParametricPlane.test.js.map +0 -1
  275. package/dist/esm/ValueObjects/Quaternion.test.js +0 -238
  276. package/dist/esm/ValueObjects/Quaternion.test.js.map +0 -1
  277. package/dist/esm/ValueObjects/Rectangle.test.js +0 -30
  278. package/dist/esm/ValueObjects/Rectangle.test.js.map +0 -1
  279. package/dist/esm/ValueObjects/Vector2.test.js +0 -134
  280. package/dist/esm/ValueObjects/Vector2.test.js.map +0 -1
  281. package/dist/esm/ValueObjects/Vector3.test.js +0 -186
  282. package/dist/esm/ValueObjects/Vector3.test.js.map +0 -1
  283. package/dist/esm/ValueObjects/Version.test.js +0 -308
  284. package/dist/esm/ValueObjects/Version.test.js.map +0 -1
  285. package/dist/types/AppObject/AppObject.test.d.ts +0 -7
  286. package/dist/types/AppObject/AppObject.test.d.ts.map +0 -1
  287. package/dist/types/AppObject/AppObjectComponent.test.d.ts +0 -2
  288. package/dist/types/AppObject/AppObjectComponent.test.d.ts.map +0 -1
  289. package/dist/types/AppObject/AppObjectEntity.test.d.ts +0 -2
  290. package/dist/types/AppObject/AppObjectEntity.test.d.ts.map +0 -1
  291. package/dist/types/AppObject/AppObjectEntityRepo.test.d.ts +0 -2
  292. package/dist/types/AppObject/AppObjectEntityRepo.test.d.ts.map +0 -1
  293. package/dist/types/AppObject/AppObjectPM.test.d.ts +0 -2
  294. package/dist/types/AppObject/AppObjectPM.test.d.ts.map +0 -1
  295. package/dist/types/AppObject/AppObjectRepo.test.d.ts +0 -2
  296. package/dist/types/AppObject/AppObjectRepo.test.d.ts.map +0 -1
  297. package/dist/types/AppObject/getSingletonComponent.test.d.ts +0 -2
  298. package/dist/types/AppObject/getSingletonComponent.test.d.ts.map +0 -1
  299. package/dist/types/Entities/MemoizedAngle.test.d.ts +0 -2
  300. package/dist/types/Entities/MemoizedAngle.test.d.ts.map +0 -1
  301. package/dist/types/Entities/MemoizedBoolean.test.d.ts +0 -2
  302. package/dist/types/Entities/MemoizedBoolean.test.d.ts.map +0 -1
  303. package/dist/types/Entities/MemoizedColor.test.d.ts +0 -2
  304. package/dist/types/Entities/MemoizedColor.test.d.ts.map +0 -1
  305. package/dist/types/Entities/MemoizedNumber.test.d.ts +0 -2
  306. package/dist/types/Entities/MemoizedNumber.test.d.ts.map +0 -1
  307. package/dist/types/Entities/MemoizedQuaternion.test.d.ts +0 -2
  308. package/dist/types/Entities/MemoizedQuaternion.test.d.ts.map +0 -1
  309. package/dist/types/Entities/MemoizedString.test.d.ts +0 -2
  310. package/dist/types/Entities/MemoizedString.test.d.ts.map +0 -1
  311. package/dist/types/Entities/MemoizedVector2.test.d.ts +0 -2
  312. package/dist/types/Entities/MemoizedVector2.test.d.ts.map +0 -1
  313. package/dist/types/Entities/MemoizedVector3.test.d.ts +0 -2
  314. package/dist/types/Entities/MemoizedVector3.test.d.ts.map +0 -1
  315. package/dist/types/Entities/ObservableEntity.test.d.ts +0 -2
  316. package/dist/types/Entities/ObservableEntity.test.d.ts.map +0 -1
  317. package/dist/types/Entities/ObserverList.test.d.ts +0 -2
  318. package/dist/types/Entities/ObserverList.test.d.ts.map +0 -1
  319. package/dist/types/Entities/RangedNumber.test.d.ts +0 -2
  320. package/dist/types/Entities/RangedNumber.test.d.ts.map +0 -1
  321. package/dist/types/Utilities/LengthConverters.test.d.ts +0 -2
  322. package/dist/types/Utilities/LengthConverters.test.d.ts.map +0 -1
  323. package/dist/types/Utilities/LerpNumber.test.d.ts +0 -2
  324. package/dist/types/Utilities/LerpNumber.test.d.ts.map +0 -1
  325. package/dist/types/Utilities/addAlphaToHex.test.d.ts +0 -2
  326. package/dist/types/Utilities/addAlphaToHex.test.d.ts.map +0 -1
  327. package/dist/types/Utilities/alphaToHex.test.d.ts +0 -2
  328. package/dist/types/Utilities/alphaToHex.test.d.ts.map +0 -1
  329. package/dist/types/Utilities/degreesToRadians.test.d.ts +0 -2
  330. package/dist/types/Utilities/degreesToRadians.test.d.ts.map +0 -1
  331. package/dist/types/Utilities/easeFunctions.test.d.ts +0 -2
  332. package/dist/types/Utilities/easeFunctions.test.d.ts.map +0 -1
  333. package/dist/types/Utilities/interpolateNumber.test.d.ts +0 -2
  334. package/dist/types/Utilities/interpolateNumber.test.d.ts.map +0 -1
  335. package/dist/types/ValueObjects/Angle.test.d.ts +0 -2
  336. package/dist/types/ValueObjects/Angle.test.d.ts.map +0 -1
  337. package/dist/types/ValueObjects/Color.test.d.ts +0 -2
  338. package/dist/types/ValueObjects/Color.test.d.ts.map +0 -1
  339. package/dist/types/ValueObjects/LineSegment2D.test.d.ts +0 -2
  340. package/dist/types/ValueObjects/LineSegment2D.test.d.ts.map +0 -1
  341. package/dist/types/ValueObjects/Matrix.test.d.ts +0 -2
  342. package/dist/types/ValueObjects/Matrix.test.d.ts.map +0 -1
  343. package/dist/types/ValueObjects/ParametricLine.test.d.ts +0 -2
  344. package/dist/types/ValueObjects/ParametricLine.test.d.ts.map +0 -1
  345. package/dist/types/ValueObjects/ParametricPlane.test.d.ts +0 -2
  346. package/dist/types/ValueObjects/ParametricPlane.test.d.ts.map +0 -1
  347. package/dist/types/ValueObjects/Quaternion.test.d.ts +0 -2
  348. package/dist/types/ValueObjects/Quaternion.test.d.ts.map +0 -1
  349. package/dist/types/ValueObjects/Rectangle.test.d.ts +0 -2
  350. package/dist/types/ValueObjects/Rectangle.test.d.ts.map +0 -1
  351. package/dist/types/ValueObjects/Vector2.test.d.ts +0 -2
  352. package/dist/types/ValueObjects/Vector2.test.d.ts.map +0 -1
  353. package/dist/types/ValueObjects/Vector3.test.d.ts +0 -2
  354. package/dist/types/ValueObjects/Vector3.test.d.ts.map +0 -1
  355. package/dist/types/ValueObjects/Version.test.d.ts +0 -2
  356. package/dist/types/ValueObjects/Version.test.d.ts.map +0 -1
@@ -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("./AppBoundary"), exports);
18
+ __exportStar(require("./EaseFn"), exports);
19
+ __exportStar(require("./PmAdapter"), exports);
20
+ __exportStar(require("./SingletonPmAdapter"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,2CAAyB;AACzB,8CAA4B;AAC5B,uDAAqC","sourcesContent":["export * from \"./AppBoundary\";\r\nexport * from \"./EaseFn\";\r\nexport * from \"./PmAdapter\";\r\nexport * from \"./SingletonPmAdapter\";\r\n"]}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.inchesToMeters = inchesToMeters;
4
+ exports.metersToInches = metersToInches;
5
+ exports.feetToMeters = feetToMeters;
6
+ exports.metersToFeet = metersToFeet;
7
+ const inchesPerMeter = 39.3701;
8
+ const feetPerMeter = 3.28084;
9
+ function inchesToMeters(inches) {
10
+ return inches / inchesPerMeter;
11
+ }
12
+ function metersToInches(meters) {
13
+ return meters * inchesPerMeter;
14
+ }
15
+ function feetToMeters(feet) {
16
+ return feet / feetPerMeter;
17
+ }
18
+ function metersToFeet(meters) {
19
+ return meters * feetPerMeter;
20
+ }
21
+ //# sourceMappingURL=LengthConverters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LengthConverters.js","sourceRoot":"","sources":["../../../src/Utilities/LengthConverters.ts"],"names":[],"mappings":";;AAGA,wCAEC;AAED,wCAEC;AAED,oCAEC;AAED,oCAEC;AAjBD,MAAM,cAAc,GAAG,OAAO,CAAC;AAC/B,MAAM,YAAY,GAAG,OAAO,CAAC;AAE7B,SAAgB,cAAc,CAAC,MAAc;IAC3C,OAAO,MAAM,GAAG,cAAc,CAAC;AACjC,CAAC;AAED,SAAgB,cAAc,CAAC,MAAc;IAC3C,OAAO,MAAM,GAAG,cAAc,CAAC;AACjC,CAAC;AAED,SAAgB,YAAY,CAAC,IAAY;IACvC,OAAO,IAAI,GAAG,YAAY,CAAC;AAC7B,CAAC;AAED,SAAgB,YAAY,CAAC,MAAc;IACzC,OAAO,MAAM,GAAG,YAAY,CAAC;AAC/B,CAAC","sourcesContent":["const inchesPerMeter = 39.3701;\r\nconst feetPerMeter = 3.28084;\r\n\r\nexport function inchesToMeters(inches: number): number {\r\n return inches / inchesPerMeter;\r\n}\r\n\r\nexport function metersToInches(meters: number): number {\r\n return meters * inchesPerMeter;\r\n}\r\n\r\nexport function feetToMeters(feet: number): number {\r\n return feet / feetPerMeter;\r\n}\r\n\r\nexport function metersToFeet(meters: number): number {\r\n return meters * feetPerMeter;\r\n}\r\n"]}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LerpNumber = void 0;
4
+ const easeFunctions_1 = require("./easeFunctions");
5
+ /**
6
+ * Utility class for smoothly interpolating between two numbers over time.
7
+ * Uses requestAnimationFrame for smooth animation and supports custom easing functions.
8
+ *
9
+ * @example
10
+ * const lerper = new LerpNumber();
11
+ * // Animate from 0 to 100 over 2 seconds
12
+ * await lerper.lerp({
13
+ * start: 0,
14
+ * end: 100,
15
+ * durationMS: 2000,
16
+ * update: (value) => console.log(value)
17
+ * });
18
+ */
19
+ class LerpNumber {
20
+ constructor() {
21
+ this.defaultDurationMS = 1000;
22
+ this.defaultEase = easeFunctions_1.quintInOut;
23
+ this._isLerping = false;
24
+ this._cancelLerp = false;
25
+ /**
26
+ * Initiates a lerp (linear interpolation) operation.
27
+ * If a lerp is already in progress, it will be cancelled before starting the new one.
28
+ *
29
+ * @param data - Configuration object for the lerp operation
30
+ * @returns Promise that resolves when the lerp completes or is cancelled
31
+ * @throws Never throws, but may reject if the update function throws
32
+ */
33
+ this.lerp = (data) => {
34
+ if (this._isLerping) {
35
+ this.cancel();
36
+ }
37
+ const { start, end, durationMS, ease, onComplete, update, onCancel } = data;
38
+ const durationToUse = durationMS ?? this.defaultDurationMS;
39
+ const easeToUse = ease ?? this.defaultEase;
40
+ return new Promise((resolve) => {
41
+ const startTime = performance.now();
42
+ this._isLerping = true;
43
+ update(start);
44
+ const interval = setInterval(() => {
45
+ if (this._cancelLerp) {
46
+ clearInterval(interval);
47
+ this._isLerping = false;
48
+ this._cancelLerp = false;
49
+ if (onCancel)
50
+ onCancel();
51
+ return resolve();
52
+ }
53
+ const currentTime = performance.now();
54
+ const elapsedTime = currentTime - startTime;
55
+ const progress = Math.min(elapsedTime / durationToUse, 1);
56
+ const easedProgress = easeToUse(progress);
57
+ const value = start + (end - start) * easedProgress;
58
+ update(value);
59
+ if (progress >= 1) {
60
+ clearInterval(interval);
61
+ this._isLerping = false;
62
+ update(end);
63
+ if (onComplete)
64
+ onComplete();
65
+ resolve();
66
+ }
67
+ }, 10);
68
+ });
69
+ };
70
+ }
71
+ get isLerping() {
72
+ return this._isLerping;
73
+ }
74
+ /**
75
+ * Cancels the current lerp operation if one is in progress.
76
+ * Triggers the onCancel callback if provided in the original lerp configuration.
77
+ */
78
+ cancel() {
79
+ if (!this._isLerping)
80
+ return;
81
+ this._cancelLerp = true;
82
+ }
83
+ }
84
+ exports.LerpNumber = LerpNumber;
85
+ //# sourceMappingURL=LerpNumber.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LerpNumber.js","sourceRoot":"","sources":["../../../src/Utilities/LerpNumber.ts"],"names":[],"mappings":";;;AACA,mDAA6C;AAuB7C;;;;;;;;;;;;;GAaG;AACH,MAAa,UAAU;IAAvB;QACS,sBAAiB,GAAG,IAAI,CAAC;QACzB,gBAAW,GAAW,0BAAU,CAAC;QAKhC,eAAU,GAAG,KAAK,CAAC;QAYnB,gBAAW,GAAG,KAAK,CAAC;QAE5B;;;;;;;WAOG;QACH,SAAI,GAAG,CAAC,IAAmB,EAAiB,EAAE;YAC5C,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,CAAC;YACD,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;YAE5E,MAAM,aAAa,GAAG,UAAU,IAAI,IAAI,CAAC,iBAAiB,CAAC;YAC3D,MAAM,SAAS,GAAG,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC;YAE3C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC7B,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;gBACpC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBAEvB,MAAM,CAAC,KAAK,CAAC,CAAC;gBAEd,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;oBAChC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;wBACrB,aAAa,CAAC,QAAQ,CAAC,CAAC;wBACxB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;wBACxB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;wBACzB,IAAI,QAAQ;4BAAE,QAAQ,EAAE,CAAC;wBACzB,OAAO,OAAO,EAAE,CAAC;oBACnB,CAAC;oBAED,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;oBACtC,MAAM,WAAW,GAAG,WAAW,GAAG,SAAS,CAAC;oBAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,aAAa,EAAE,CAAC,CAAC,CAAC;oBAC1D,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;oBAC1C,MAAM,KAAK,GAAG,KAAK,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,aAAa,CAAC;oBACpD,MAAM,CAAC,KAAK,CAAC,CAAC;oBAEd,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;wBAClB,aAAa,CAAC,QAAQ,CAAC,CAAC;wBACxB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;wBACxB,MAAM,CAAC,GAAG,CAAC,CAAC;wBACZ,IAAI,UAAU;4BAAE,UAAU,EAAE,CAAC;wBAC7B,OAAO,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC,EAAE,EAAE,CAAC,CAAC;YACT,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC;IAlEC,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAGD;;;OAGG;IACI,MAAM;QACX,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAE7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;CAqDF;AAtED,gCAsEC","sourcesContent":["import { EaseFn } from \"../Types\";\r\nimport { quintInOut } from \"./easeFunctions\";\r\n\r\n/**\r\n * Configuration object for performing a linear interpolation (lerp) operation.\r\n * @interface LerpNumberDTO\r\n */\r\nexport interface LerpNumberDTO {\r\n /** Starting value of the lerp */\r\n start: number;\r\n /** Target/ending value of the lerp */\r\n end: number;\r\n /** Callback function that receives the interpolated value on each update */\r\n update: (value: number) => void;\r\n /** Duration of the lerp in milliseconds. Defaults to LerpNumber.defaultDurationMS */\r\n durationMS?: number;\r\n /** Easing function to modify the interpolation curve. Defaults to LerpNumber.defaultEase */\r\n ease?: EaseFn;\r\n /** Optional callback function called when lerp completes naturally */\r\n onComplete?: () => void;\r\n /** Optional callback function called when lerp is cancelled */\r\n onCancel?: () => void;\r\n}\r\n\r\n/**\r\n * Utility class for smoothly interpolating between two numbers over time.\r\n * Uses requestAnimationFrame for smooth animation and supports custom easing functions.\r\n *\r\n * @example\r\n * const lerper = new LerpNumber();\r\n * // Animate from 0 to 100 over 2 seconds\r\n * await lerper.lerp({\r\n * start: 0,\r\n * end: 100,\r\n * durationMS: 2000,\r\n * update: (value) => console.log(value)\r\n * });\r\n */\r\nexport class LerpNumber {\r\n public defaultDurationMS = 1000;\r\n public defaultEase: EaseFn = quintInOut;\r\n\r\n public get isLerping() {\r\n return this._isLerping;\r\n }\r\n private _isLerping = false;\r\n\r\n /**\r\n * Cancels the current lerp operation if one is in progress.\r\n * Triggers the onCancel callback if provided in the original lerp configuration.\r\n */\r\n public cancel() {\r\n if (!this._isLerping) return;\r\n\r\n this._cancelLerp = true;\r\n }\r\n\r\n private _cancelLerp = false;\r\n\r\n /**\r\n * Initiates a lerp (linear interpolation) operation.\r\n * If a lerp is already in progress, it will be cancelled before starting the new one.\r\n *\r\n * @param data - Configuration object for the lerp operation\r\n * @returns Promise that resolves when the lerp completes or is cancelled\r\n * @throws Never throws, but may reject if the update function throws\r\n */\r\n lerp = (data: LerpNumberDTO): Promise<void> => {\r\n if (this._isLerping) {\r\n this.cancel();\r\n }\r\n const { start, end, durationMS, ease, onComplete, update, onCancel } = data;\r\n\r\n const durationToUse = durationMS ?? this.defaultDurationMS;\r\n const easeToUse = ease ?? this.defaultEase;\r\n\r\n return new Promise((resolve) => {\r\n const startTime = performance.now();\r\n this._isLerping = true;\r\n\r\n update(start);\r\n\r\n const interval = setInterval(() => {\r\n if (this._cancelLerp) {\r\n clearInterval(interval);\r\n this._isLerping = false;\r\n this._cancelLerp = false;\r\n if (onCancel) onCancel();\r\n return resolve();\r\n }\r\n\r\n const currentTime = performance.now();\r\n const elapsedTime = currentTime - startTime;\r\n const progress = Math.min(elapsedTime / durationToUse, 1);\r\n const easedProgress = easeToUse(progress);\r\n const value = start + (end - start) * easedProgress;\r\n update(value);\r\n\r\n if (progress >= 1) {\r\n clearInterval(interval);\r\n this._isLerping = false;\r\n update(end);\r\n if (onComplete) onComplete();\r\n resolve();\r\n }\r\n }, 10);\r\n });\r\n };\r\n}\r\n"]}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addAlphaToHex = addAlphaToHex;
4
+ const alphaToHex_1 = require("./alphaToHex");
5
+ function addAlphaToHex(hex, alpha) {
6
+ if (!/^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$/.test(hex)) {
7
+ console.warn("[addAlphaToHex] Hex value is not valid.");
8
+ return "#000";
9
+ }
10
+ if (hex.length === 4) {
11
+ hex = "#" + hex[1] + hex[1] + hex[2] + hex[2] + hex[3] + hex[3];
12
+ }
13
+ const alphaHex = (0, alphaToHex_1.alphaToHex)(alpha);
14
+ return `${hex}${alphaHex}`;
15
+ }
16
+ //# sourceMappingURL=addAlphaToHex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addAlphaToHex.js","sourceRoot":"","sources":["../../../src/Utilities/addAlphaToHex.ts"],"names":[],"mappings":";;AAEA,sCAYC;AAdD,6CAA0C;AAE1C,SAAgB,aAAa,CAAC,GAAW,EAAE,KAAa;IACtD,IAAI,CAAC,oCAAoC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QACxD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,QAAQ,GAAG,IAAA,uBAAU,EAAC,KAAK,CAAC,CAAC;IACnC,OAAO,GAAG,GAAG,GAAG,QAAQ,EAAE,CAAC;AAC7B,CAAC","sourcesContent":["import { alphaToHex } from \"./alphaToHex\";\r\n\r\nexport function addAlphaToHex(hex: string, alpha: number): string {\r\n if (!/^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$/.test(hex)) {\r\n console.warn(\"[addAlphaToHex] Hex value is not valid.\");\r\n return \"#000\";\r\n }\r\n\r\n if (hex.length === 4) {\r\n hex = \"#\" + hex[1] + hex[1] + hex[2] + hex[2] + hex[3] + hex[3];\r\n }\r\n\r\n const alphaHex = alphaToHex(alpha);\r\n return `${hex}${alphaHex}`;\r\n}\r\n"]}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.roundHalfToEven = roundHalfToEven;
4
+ exports.alphaToHex = alphaToHex;
5
+ function roundHalfToEven(number) {
6
+ const roundedNumber = Math.round(number);
7
+ if (Math.abs(roundedNumber - number) === 0.5 && roundedNumber % 2 !== 0) {
8
+ return roundedNumber > number ? roundedNumber - 1 : roundedNumber + 1;
9
+ }
10
+ return roundedNumber;
11
+ }
12
+ function alphaToHex(alpha) {
13
+ if (alpha < 0 || alpha > 1) {
14
+ console.warn("[alphaToHex] Alpha value must be between 0 and 1.");
15
+ return "00";
16
+ }
17
+ const alpha255 = roundHalfToEven(alpha * 255);
18
+ const alphaHex = alpha255.toString(16).padStart(2, "0");
19
+ return alphaHex;
20
+ }
21
+ //# sourceMappingURL=alphaToHex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alphaToHex.js","sourceRoot":"","sources":["../../../src/Utilities/alphaToHex.ts"],"names":[],"mappings":";;AAAA,0CAMC;AAED,gCAUC;AAlBD,SAAgB,eAAe,CAAC,MAAc;IAC5C,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,MAAM,CAAC,KAAK,GAAG,IAAI,aAAa,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,OAAO,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,SAAgB,UAAU,CAAC,KAAa;IACtC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAExD,OAAO,QAAQ,CAAC;AAClB,CAAC","sourcesContent":["export function roundHalfToEven(number: number): number {\r\n const roundedNumber = Math.round(number);\r\n if (Math.abs(roundedNumber - number) === 0.5 && roundedNumber % 2 !== 0) {\r\n return roundedNumber > number ? roundedNumber - 1 : roundedNumber + 1;\r\n }\r\n return roundedNumber;\r\n}\r\n\r\nexport function alphaToHex(alpha: number): string {\r\n if (alpha < 0 || alpha > 1) {\r\n console.warn(\"[alphaToHex] Alpha value must be between 0 and 1.\");\r\n return \"00\";\r\n }\r\n\r\n const alpha255 = roundHalfToEven(alpha * 255);\r\n const alphaHex = alpha255.toString(16).padStart(2, \"0\");\r\n\r\n return alphaHex;\r\n}\r\n"]}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.degreesToRadians = degreesToRadians;
4
+ function degreesToRadians(deg) {
5
+ return deg * Math.PI / 180;
6
+ }
7
+ //# sourceMappingURL=degreesToRadians.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"degreesToRadians.js","sourceRoot":"","sources":["../../../src/Utilities/degreesToRadians.ts"],"names":[],"mappings":";;AAAA,4CAEC;AAFD,SAAgB,gBAAgB,CAAC,GAAW;IAC1C,OAAO,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC;AAC7B,CAAC","sourcesContent":["export function degreesToRadians(deg: number):number{\r\n return deg * Math.PI / 180;\r\n}"]}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.downloadFile = downloadFile;
4
+ function downloadFile(filename, file) {
5
+ const a = document.createElement("a");
6
+ const url = window.URL.createObjectURL(file);
7
+ a.href = url;
8
+ a.download = filename;
9
+ document.body.appendChild(a);
10
+ a.click();
11
+ document.body.removeChild(a);
12
+ window.URL.revokeObjectURL(url);
13
+ }
14
+ //# sourceMappingURL=downloadFile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"downloadFile.js","sourceRoot":"","sources":["../../../src/Utilities/downloadFile.ts"],"names":[],"mappings":";;AAAA,oCAUC;AAVD,SAAgB,YAAY,CAAC,QAAgB,EAAE,IAAU;IACvD,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC;IACb,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC,CAAC,KAAK,EAAE,CAAC;IAEV,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;AAClC,CAAC","sourcesContent":["export function downloadFile(filename: string, file: Blob) {\r\n const a = document.createElement(\"a\");\r\n const url = window.URL.createObjectURL(file);\r\n a.href = url;\r\n a.download = filename;\r\n document.body.appendChild(a);\r\n a.click();\r\n\r\n document.body.removeChild(a);\r\n window.URL.revokeObjectURL(url);\r\n}\r\n"]}
@@ -0,0 +1,208 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.circInOut = exports.circOut = exports.circIn = exports.quintInOut = exports.quintOut = exports.quintIn = exports.quartInOut = exports.quartOut = exports.quartIn = exports.sinInOut = exports.sinOut = exports.sinIn = exports.expoInOut = exports.expoOut = exports.expoIn = exports.cubicInOut = exports.cubicOut = exports.cubicIn = exports.quadInOut = exports.quadOut = exports.quadIn = exports.easeLinear = void 0;
4
+ const easeLinear = (x) => {
5
+ if (x <= 0)
6
+ return 0;
7
+ if (x >= 1)
8
+ return 1;
9
+ return x;
10
+ };
11
+ exports.easeLinear = easeLinear;
12
+ const quadIn = (x) => {
13
+ if (x <= 0)
14
+ return 0;
15
+ if (x >= 1)
16
+ return 1;
17
+ return x * x;
18
+ };
19
+ exports.quadIn = quadIn;
20
+ const quadOut = (x) => {
21
+ if (x <= 0)
22
+ return 0;
23
+ if (x >= 1)
24
+ return 1;
25
+ return x * (2 - x);
26
+ };
27
+ exports.quadOut = quadOut;
28
+ const quadInOut = (x) => {
29
+ if (x <= 0)
30
+ return 0;
31
+ if (x >= 1)
32
+ return 1;
33
+ if (x < 0.5) {
34
+ return 2 * x * x;
35
+ }
36
+ else {
37
+ return 1 - Math.pow(-2 * x + 2, 2) / 2;
38
+ }
39
+ };
40
+ exports.quadInOut = quadInOut;
41
+ const cubicIn = (x) => {
42
+ if (x <= 0)
43
+ return 0;
44
+ if (x >= 1)
45
+ return 1;
46
+ return x * x * x;
47
+ };
48
+ exports.cubicIn = cubicIn;
49
+ const cubicOut = (x) => {
50
+ if (x <= 0)
51
+ return 0;
52
+ if (x >= 1)
53
+ return 1;
54
+ return --x * x * x + 1;
55
+ };
56
+ exports.cubicOut = cubicOut;
57
+ const cubicInOut = (x) => {
58
+ if (x <= 0)
59
+ return 0;
60
+ if (x >= 1)
61
+ return 1;
62
+ x *= 2;
63
+ if (x <= 1) {
64
+ return (x * x * x) / 2;
65
+ }
66
+ else {
67
+ return ((x -= 2) * x * x + 2) / 2;
68
+ }
69
+ };
70
+ exports.cubicInOut = cubicInOut;
71
+ const expoIn = (x) => {
72
+ if (x <= 0)
73
+ return 0;
74
+ if (x >= 1)
75
+ return 1;
76
+ return Math.pow(2, 10 * x - 10);
77
+ };
78
+ exports.expoIn = expoIn;
79
+ const expoOut = (x) => {
80
+ if (x <= 0)
81
+ return 0;
82
+ if (x >= 1)
83
+ return 1;
84
+ return 1 - Math.pow(2, -10 * x);
85
+ };
86
+ exports.expoOut = expoOut;
87
+ const expoInOut = (x) => {
88
+ if (x <= 0)
89
+ return 0;
90
+ if (x >= 1)
91
+ return 1;
92
+ return x < 0.5
93
+ ? Math.pow(2, 20 * x - 10) / 2
94
+ : (2 - Math.pow(2, -20 * x + 10)) / 2;
95
+ };
96
+ exports.expoInOut = expoInOut;
97
+ const sinIn = (x) => {
98
+ if (x <= 0)
99
+ return 0;
100
+ if (x >= 1)
101
+ return 1;
102
+ return 1 - Math.cos((x * Math.PI) / 2);
103
+ };
104
+ exports.sinIn = sinIn;
105
+ const sinOut = (x) => {
106
+ if (x <= 0)
107
+ return 0;
108
+ if (x >= 1)
109
+ return 1;
110
+ return Math.sin((x * Math.PI) / 2);
111
+ };
112
+ exports.sinOut = sinOut;
113
+ const sinInOut = (x) => {
114
+ if (x <= 0)
115
+ return 0;
116
+ if (x >= 1)
117
+ return 1;
118
+ return -(Math.cos(Math.PI * x) - 1) / 2;
119
+ };
120
+ exports.sinInOut = sinInOut;
121
+ const quartIn = (x) => {
122
+ if (x <= 0)
123
+ return 0;
124
+ if (x >= 1)
125
+ return 1;
126
+ return x * x * x * x;
127
+ };
128
+ exports.quartIn = quartIn;
129
+ const quartOut = (x) => {
130
+ if (x <= 0)
131
+ return 0;
132
+ if (x >= 1)
133
+ return 1;
134
+ return 1 - Math.pow(1 - x, 4);
135
+ };
136
+ exports.quartOut = quartOut;
137
+ const quartInOut = (x) => {
138
+ if (x <= 0)
139
+ return 0;
140
+ if (x >= 1)
141
+ return 1;
142
+ if (x < 0.5) {
143
+ return 8 * x * x * x * x;
144
+ }
145
+ else {
146
+ return 1 - Math.pow(-2 * x + 2, 4) / 2;
147
+ }
148
+ };
149
+ exports.quartInOut = quartInOut;
150
+ const quintIn = (x) => {
151
+ if (x <= 0)
152
+ return 0;
153
+ if (x >= 1)
154
+ return 1;
155
+ return x * x * x * x * x;
156
+ };
157
+ exports.quintIn = quintIn;
158
+ const quintOut = (x) => {
159
+ if (x <= 0)
160
+ return 0;
161
+ if (x >= 1)
162
+ return 1;
163
+ return 1 - Math.pow(1 - x, 5);
164
+ };
165
+ exports.quintOut = quintOut;
166
+ const quintInOut = (x) => {
167
+ if (x <= 0)
168
+ return 0;
169
+ if (x >= 1)
170
+ return 1;
171
+ if (x < 0.5) {
172
+ return 16 * x * x * x * x * x;
173
+ }
174
+ else {
175
+ return 1 - Math.pow(-2 * x + 2, 5) / 2;
176
+ }
177
+ };
178
+ exports.quintInOut = quintInOut;
179
+ const circIn = (x) => {
180
+ if (x <= 0)
181
+ return 0;
182
+ if (x >= 1)
183
+ return 1;
184
+ return 1 - Math.sqrt(1 - Math.pow(x, 2));
185
+ };
186
+ exports.circIn = circIn;
187
+ const circOut = (x) => {
188
+ if (x <= 0)
189
+ return 0;
190
+ if (x >= 1)
191
+ return 1;
192
+ return Math.sqrt(1 - Math.pow(x - 1, 2));
193
+ };
194
+ exports.circOut = circOut;
195
+ const circInOut = (x) => {
196
+ if (x <= 0)
197
+ return 0;
198
+ if (x >= 1)
199
+ return 1;
200
+ if (x < 0.5) {
201
+ return (1 - Math.sqrt(1 - Math.pow(2 * x, 2))) / 2;
202
+ }
203
+ else {
204
+ return (Math.sqrt(1 - Math.pow(-2 * x + 2, 2)) + 1) / 2;
205
+ }
206
+ };
207
+ exports.circInOut = circInOut;
208
+ //# sourceMappingURL=easeFunctions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"easeFunctions.js","sourceRoot":"","sources":["../../../src/Utilities/easeFunctions.ts"],"names":[],"mappings":"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","sourcesContent":["import { EaseFn } from \"../Types\";\r\n\r\n\r\nexport const easeLinear: EaseFn = (x: number): number => {\r\n if (x <= 0) return 0;\r\n if (x >= 1) return 1;\r\n\r\n return x;\r\n};\r\n\r\nexport const quadIn: EaseFn = (x: number) => {\r\n if (x <= 0) return 0;\r\n if (x >= 1) return 1;\r\n\r\n return x * x;\r\n};\r\n\r\nexport const quadOut: EaseFn = (x: number) => {\r\n if (x <= 0) return 0;\r\n if (x >= 1) return 1;\r\n\r\n return x * (2 - x);\r\n};\r\n\r\nexport const quadInOut: EaseFn = (x: number): number => {\r\n if (x <= 0) return 0;\r\n if (x >= 1) return 1;\r\n\r\n if (x < 0.5) {\r\n return 2 * x * x;\r\n } else {\r\n return 1 - Math.pow(-2 * x + 2, 2) / 2;\r\n }\r\n};\r\n\r\nexport const cubicIn: EaseFn = (x: number): number => {\r\n if (x <= 0) return 0;\r\n if (x >= 1) return 1;\r\n\r\n return x * x * x;\r\n};\r\n\r\nexport const cubicOut: EaseFn = (x: number): number => {\r\n if (x <= 0) return 0;\r\n if (x >= 1) return 1;\r\n\r\n return --x * x * x + 1;\r\n};\r\n\r\nexport const cubicInOut: EaseFn = (x: number): number => {\r\n if (x <= 0) return 0;\r\n if (x >= 1) return 1;\r\n\r\n x *= 2;\r\n\r\n if (x <= 1) {\r\n return (x * x * x) / 2;\r\n } else {\r\n return ((x -= 2) * x * x + 2) / 2;\r\n }\r\n};\r\n\r\nexport const expoIn: EaseFn = (x: number): number => {\r\n if (x <= 0) return 0;\r\n if (x >= 1) return 1;\r\n\r\n return Math.pow(2, 10 * x - 10);\r\n};\r\n\r\nexport const expoOut: EaseFn = (x: number): number => {\r\n if (x <= 0) return 0;\r\n if (x >= 1) return 1;\r\n\r\n return 1 - Math.pow(2, -10 * x);\r\n};\r\n\r\nexport const expoInOut: EaseFn = (x: number): number => {\r\n if (x <= 0) return 0;\r\n if (x >= 1) return 1;\r\n\r\n return x < 0.5\r\n ? Math.pow(2, 20 * x - 10) / 2\r\n : (2 - Math.pow(2, -20 * x + 10)) / 2;\r\n};\r\n\r\nexport const sinIn: EaseFn = (x: number): number => {\r\n if (x <= 0) return 0;\r\n if (x >= 1) return 1;\r\n\r\n return 1 - Math.cos((x * Math.PI) / 2);\r\n};\r\n\r\nexport const sinOut: EaseFn = (x: number): number => {\r\n if (x <= 0) return 0;\r\n if (x >= 1) return 1;\r\n\r\n return Math.sin((x * Math.PI) / 2);\r\n};\r\n\r\nexport const sinInOut: EaseFn = (x: number): number => {\r\n if (x <= 0) return 0;\r\n if (x >= 1) return 1;\r\n\r\n return -(Math.cos(Math.PI * x) - 1) / 2;\r\n};\r\n\r\nexport const quartIn: EaseFn = (x: number): number => {\r\n if (x <= 0) return 0;\r\n if (x >= 1) return 1;\r\n\r\n return x * x * x * x;\r\n};\r\n\r\nexport const quartOut: EaseFn = (x: number): number => {\r\n if (x <= 0) return 0;\r\n if (x >= 1) return 1;\r\n\r\n return 1 - Math.pow(1 - x, 4);\r\n};\r\n\r\nexport const quartInOut: EaseFn = (x: number): number => {\r\n if (x <= 0) return 0;\r\n if (x >= 1) return 1;\r\n\r\n if (x < 0.5) {\r\n return 8 * x * x * x * x;\r\n } else {\r\n return 1 - Math.pow(-2 * x + 2, 4) / 2;\r\n }\r\n};\r\n\r\nexport const quintIn: EaseFn = (x: number): number => {\r\n if (x <= 0) return 0;\r\n if (x >= 1) return 1;\r\n\r\n return x * x * x * x * x;\r\n};\r\n\r\nexport const quintOut: EaseFn = (x: number): number => {\r\n if (x <= 0) return 0;\r\n if (x >= 1) return 1;\r\n\r\n return 1 - Math.pow(1 - x, 5);\r\n};\r\n\r\nexport const quintInOut: EaseFn = (x: number): number => {\r\n if (x <= 0) return 0;\r\n if (x >= 1) return 1;\r\n\r\n if (x < 0.5) {\r\n return 16 * x * x * x * x * x;\r\n } else {\r\n return 1 - Math.pow(-2 * x + 2, 5) / 2;\r\n }\r\n};\r\n\r\nexport const circIn: EaseFn = (x: number): number => {\r\n if (x <= 0) return 0;\r\n if (x >= 1) return 1;\r\n\r\n return 1 - Math.sqrt(1 - Math.pow(x, 2));\r\n};\r\n\r\nexport const circOut: EaseFn = (x: number): number => {\r\n if (x <= 0) return 0;\r\n if (x >= 1) return 1;\r\n\r\n return Math.sqrt(1 - Math.pow(x - 1, 2));\r\n};\r\n\r\nexport const circInOut: EaseFn = (x: number): number => {\r\n if (x <= 0) return 0;\r\n if (x >= 1) return 1;\r\n\r\n if (x < 0.5) {\r\n return (1 - Math.sqrt(1 - Math.pow(2 * x, 2))) / 2;\r\n } else {\r\n return (Math.sqrt(1 - Math.pow(-2 * x + 2, 2)) + 1) / 2;\r\n }\r\n};\r\n"]}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateUniqueID = generateUniqueID;
4
+ const uuid_1 = require("uuid");
5
+ function generateUniqueID() {
6
+ return (0, uuid_1.v4)();
7
+ }
8
+ //# sourceMappingURL=generateUniqueID.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateUniqueID.js","sourceRoot":"","sources":["../../../src/Utilities/generateUniqueID.ts"],"names":[],"mappings":";;AAEA,4CAEC;AAJD,+BAAoC;AAEpC,SAAgB,gBAAgB;IAC9B,OAAO,IAAA,SAAM,GAAE,CAAC;AAClB,CAAC","sourcesContent":["import { v4 as uuidv4 } from \"uuid\";\r\n\r\nexport function generateUniqueID(): string {\r\n return uuidv4();\r\n}\r\n"]}
@@ -0,0 +1,25 @@
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("./addAlphaToHex"), exports);
18
+ __exportStar(require("./alphaToHex"), exports);
19
+ __exportStar(require("./degreesToRadians"), exports);
20
+ __exportStar(require("./downloadFile"), exports);
21
+ __exportStar(require("./LengthConverters"), exports);
22
+ __exportStar(require("./generateUniqueID"), exports);
23
+ __exportStar(require("./easeFunctions"), exports);
24
+ __exportStar(require("./interpolateNumber"), exports);
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Utilities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,+CAA6B;AAC7B,qDAAmC;AACnC,iDAA+B;AAC/B,qDAAmC;AACnC,qDAAmC;AACnC,kDAAgC;AAChC,sDAAoC","sourcesContent":["export * from \"./addAlphaToHex\";\r\nexport * from \"./alphaToHex\";\r\nexport * from \"./degreesToRadians\";\r\nexport * from \"./downloadFile\";\r\nexport * from \"./LengthConverters\";\r\nexport * from \"./generateUniqueID\";\r\nexport * from \"./easeFunctions\";\r\nexport * from \"./interpolateNumber\";\r\n"]}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.interpolateNumber = interpolateNumber;
4
+ function interpolateNumber(start, end, percent, clamp = false) {
5
+ const range = end - start;
6
+ if (!clamp) {
7
+ return percent * range + start;
8
+ }
9
+ let clampedP = percent;
10
+ if (clampedP < 0) {
11
+ clampedP = 0;
12
+ }
13
+ else if (clampedP > 1) {
14
+ clampedP = 1;
15
+ }
16
+ return clampedP * range + start;
17
+ }
18
+ //# sourceMappingURL=interpolateNumber.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interpolateNumber.js","sourceRoot":"","sources":["../../../src/Utilities/interpolateNumber.ts"],"names":[],"mappings":";;AAAA,8CAoBC;AApBD,SAAgB,iBAAiB,CAC/B,KAAa,EACb,GAAW,EACX,OAAe,EACf,QAAiB,KAAK;IAEtB,MAAM,KAAK,GAAG,GAAG,GAAG,KAAK,CAAC;IAE1B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,OAAO,GAAG,KAAK,GAAG,KAAK,CAAC;IACjC,CAAC;IAED,IAAI,QAAQ,GAAG,OAAO,CAAC;IACvB,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QACjB,QAAQ,GAAG,CAAC,CAAC;IACf,CAAC;SAAM,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QACxB,QAAQ,GAAG,CAAC,CAAC;IACf,CAAC;IAED,OAAO,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC;AAClC,CAAC","sourcesContent":["export function interpolateNumber(\r\n start: number,\r\n end: number,\r\n percent: number,\r\n clamp: boolean = false\r\n): number {\r\n const range = end - start;\r\n\r\n if (!clamp) {\r\n return percent * range + start;\r\n }\r\n\r\n let clampedP = percent;\r\n if (clampedP < 0) {\r\n clampedP = 0;\r\n } else if (clampedP > 1) {\r\n clampedP = 1;\r\n }\r\n\r\n return clampedP * range + start;\r\n}\r\n"]}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Angle = void 0;
4
+ class Angle {
5
+ /**
6
+ * Creates an angle from degrees
7
+ * @param degrees Angle in degrees
8
+ * @returns The angle
9
+ */
10
+ static FromDegrees(degrees) {
11
+ return new Angle(degrees);
12
+ }
13
+ /**
14
+ * Creates an angle from radians
15
+ * @param radians Angle in radians
16
+ * @returns The angle
17
+ */
18
+ static FromRadians(radians) {
19
+ return new Angle((radians * 180) / Math.PI);
20
+ }
21
+ /**
22
+ * Check to see if two angles are close
23
+ * @param a Angle A
24
+ * @param b Angle B
25
+ * @param tolerance Tolerance for "Close" in degrees. Defaults to 0.001;
26
+ * @returns True if the difference between A and B (in degrees) is less than the tolerance
27
+ */
28
+ static Close(a, b, tolerance = 0.001) {
29
+ let diff = a.degrees - b.degrees;
30
+ if (diff < 0) {
31
+ diff = -diff;
32
+ }
33
+ return diff < tolerance;
34
+ }
35
+ get degrees() {
36
+ return this._degrees;
37
+ }
38
+ get radians() {
39
+ return (this._degrees * Math.PI) / 180;
40
+ }
41
+ constructor(degrees) {
42
+ this._degrees = 0;
43
+ this._degrees = degrees;
44
+ }
45
+ }
46
+ exports.Angle = Angle;
47
+ //# sourceMappingURL=Angle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Angle.js","sourceRoot":"","sources":["../../../src/ValueObjects/Angle.ts"],"names":[],"mappings":";;;AAAA,MAAa,KAAK;IAChB;;;;OAIG;IACI,MAAM,CAAC,WAAW,CAAC,OAAe;QACvC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,WAAW,CAAC,OAAe;QACvC,OAAO,IAAI,KAAK,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,KAAK,CAAC,CAAQ,EAAE,CAAQ,EAAE,YAAoB,KAAK;QAC/D,IAAI,IAAI,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;QACjC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACb,IAAI,GAAG,CAAC,IAAI,CAAC;QACf,CAAC;QACD,OAAO,IAAI,GAAG,SAAS,CAAC;IAC1B,CAAC;IAGD,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;IACzC,CAAC;IAED,YAAoB,OAAe;QAT3B,aAAQ,GAAG,CAAC,CAAC;QAUnB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;CACF;AA9CD,sBA8CC","sourcesContent":["export class Angle {\r\n /**\r\n * Creates an angle from degrees\r\n * @param degrees Angle in degrees\r\n * @returns The angle\r\n */\r\n public static FromDegrees(degrees: number): Angle {\r\n return new Angle(degrees);\r\n }\r\n\r\n /**\r\n * Creates an angle from radians\r\n * @param radians Angle in radians\r\n * @returns The angle\r\n */\r\n public static FromRadians(radians: number): Angle {\r\n return new Angle((radians * 180) / Math.PI);\r\n }\r\n\r\n /**\r\n * Check to see if two angles are close\r\n * @param a Angle A\r\n * @param b Angle B\r\n * @param tolerance Tolerance for \"Close\" in degrees. Defaults to 0.001;\r\n * @returns True if the difference between A and B (in degrees) is less than the tolerance\r\n */\r\n public static Close(a: Angle, b: Angle, tolerance: number = 0.001): boolean {\r\n let diff = a.degrees - b.degrees;\r\n if (diff < 0) {\r\n diff = -diff;\r\n }\r\n return diff < tolerance;\r\n }\r\n\r\n private _degrees = 0;\r\n public get degrees() {\r\n return this._degrees;\r\n }\r\n\r\n public get radians() {\r\n return (this._degrees * Math.PI) / 180;\r\n }\r\n\r\n private constructor(degrees: number) {\r\n this._degrees = degrees;\r\n }\r\n}\r\n"]}