@vived/core 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (624) hide show
  1. package/dist/cjs/AppObject/AppObject.js +59 -0
  2. package/dist/cjs/AppObject/AppObject.js.map +1 -0
  3. package/dist/cjs/AppObject/AppObject.test.js +113 -0
  4. package/dist/cjs/AppObject/AppObject.test.js.map +1 -0
  5. package/dist/cjs/AppObject/AppObjectComponent.js +82 -0
  6. package/dist/cjs/AppObject/AppObjectComponent.js.map +1 -0
  7. package/dist/cjs/AppObject/AppObjectComponent.test.js +132 -0
  8. package/dist/cjs/AppObject/AppObjectComponent.test.js.map +1 -0
  9. package/dist/cjs/AppObject/AppObjectController.js +12 -0
  10. package/dist/cjs/AppObject/AppObjectController.js.map +1 -0
  11. package/dist/cjs/AppObject/AppObjectEntity.js +38 -0
  12. package/dist/cjs/AppObject/AppObjectEntity.js.map +1 -0
  13. package/dist/cjs/AppObject/AppObjectEntity.test.js +108 -0
  14. package/dist/cjs/AppObject/AppObjectEntity.test.js.map +1 -0
  15. package/dist/cjs/AppObject/AppObjectEntityRepo.js +56 -0
  16. package/dist/cjs/AppObject/AppObjectEntityRepo.js.map +1 -0
  17. package/dist/cjs/AppObject/AppObjectEntityRepo.test.js +149 -0
  18. package/dist/cjs/AppObject/AppObjectEntityRepo.test.js.map +1 -0
  19. package/dist/cjs/AppObject/AppObjectPM.js +40 -0
  20. package/dist/cjs/AppObject/AppObjectPM.js.map +1 -0
  21. package/dist/cjs/AppObject/AppObjectPM.test.js +103 -0
  22. package/dist/cjs/AppObject/AppObjectPM.test.js.map +1 -0
  23. package/dist/cjs/AppObject/AppObjectRepo.js +133 -0
  24. package/dist/cjs/AppObject/AppObjectRepo.js.map +1 -0
  25. package/dist/cjs/AppObject/AppObjectRepo.test.js +213 -0
  26. package/dist/cjs/AppObject/AppObjectRepo.test.js.map +1 -0
  27. package/dist/cjs/AppObject/AppObjectUC.js +12 -0
  28. package/dist/cjs/AppObject/AppObjectUC.js.map +1 -0
  29. package/dist/cjs/AppObject/AppObjectView.js +12 -0
  30. package/dist/cjs/AppObject/AppObjectView.js.map +1 -0
  31. package/dist/cjs/AppObject/getSingletonComponent.js +7 -0
  32. package/dist/cjs/AppObject/getSingletonComponent.js.map +1 -0
  33. package/dist/cjs/AppObject/getSingletonComponent.test.js +13 -0
  34. package/dist/cjs/AppObject/getSingletonComponent.test.js.map +1 -0
  35. package/dist/cjs/AppObject/index.js +27 -0
  36. package/dist/cjs/AppObject/index.js.map +1 -0
  37. package/dist/cjs/AppObject/printAppObjectDetails.js +18 -0
  38. package/dist/cjs/AppObject/printAppObjectDetails.js.map +1 -0
  39. package/dist/cjs/Entities/MemoizedAngle.js +23 -0
  40. package/dist/cjs/Entities/MemoizedAngle.js.map +1 -0
  41. package/dist/cjs/Entities/MemoizedAngle.test.js +30 -0
  42. package/dist/cjs/Entities/MemoizedAngle.test.js.map +1 -0
  43. package/dist/cjs/Entities/MemoizedBoolean.js +23 -0
  44. package/dist/cjs/Entities/MemoizedBoolean.js.map +1 -0
  45. package/dist/cjs/Entities/MemoizedBoolean.test.js +34 -0
  46. package/dist/cjs/Entities/MemoizedBoolean.test.js.map +1 -0
  47. package/dist/cjs/Entities/MemoizedColor.js +24 -0
  48. package/dist/cjs/Entities/MemoizedColor.js.map +1 -0
  49. package/dist/cjs/Entities/MemoizedColor.test.js +32 -0
  50. package/dist/cjs/Entities/MemoizedColor.test.js.map +1 -0
  51. package/dist/cjs/Entities/MemoizedNumber.js +23 -0
  52. package/dist/cjs/Entities/MemoizedNumber.js.map +1 -0
  53. package/dist/cjs/Entities/MemoizedNumber.test.js +29 -0
  54. package/dist/cjs/Entities/MemoizedNumber.test.js.map +1 -0
  55. package/dist/cjs/Entities/MemoizedQuaternion.js +24 -0
  56. package/dist/cjs/Entities/MemoizedQuaternion.js.map +1 -0
  57. package/dist/cjs/Entities/MemoizedQuaternion.test.js +32 -0
  58. package/dist/cjs/Entities/MemoizedQuaternion.test.js.map +1 -0
  59. package/dist/cjs/Entities/MemoizedString.js +23 -0
  60. package/dist/cjs/Entities/MemoizedString.js.map +1 -0
  61. package/dist/cjs/Entities/MemoizedString.test.js +29 -0
  62. package/dist/cjs/Entities/MemoizedString.test.js.map +1 -0
  63. package/dist/cjs/Entities/MemoizedVector2.js +24 -0
  64. package/dist/cjs/Entities/MemoizedVector2.js.map +1 -0
  65. package/dist/cjs/Entities/MemoizedVector2.test.js +32 -0
  66. package/dist/cjs/Entities/MemoizedVector2.test.js.map +1 -0
  67. package/dist/cjs/Entities/MemoizedVector3.js +24 -0
  68. package/dist/cjs/Entities/MemoizedVector3.js.map +1 -0
  69. package/dist/cjs/Entities/MemoizedVector3.test.js +32 -0
  70. package/dist/cjs/Entities/MemoizedVector3.test.js.map +1 -0
  71. package/dist/cjs/Entities/ObservableEntity.js +20 -0
  72. package/dist/cjs/Entities/ObservableEntity.js.map +1 -0
  73. package/dist/cjs/Entities/ObservableEntity.test.js +25 -0
  74. package/dist/cjs/Entities/ObservableEntity.test.js.map +1 -0
  75. package/dist/cjs/Entities/ObserverList.js +27 -0
  76. package/dist/cjs/Entities/ObserverList.js.map +1 -0
  77. package/dist/cjs/Entities/ObserverList.test.js +44 -0
  78. package/dist/cjs/Entities/ObserverList.test.js.map +1 -0
  79. package/dist/cjs/Entities/index.js +27 -0
  80. package/dist/cjs/Entities/index.js.map +1 -0
  81. package/dist/cjs/Types/AppBoundary.js +3 -0
  82. package/dist/{Types → cjs/Types}/AppBoundary.js.map +1 -1
  83. package/dist/cjs/Types/EaseFn.js +3 -0
  84. package/dist/{Types → cjs/Types}/EaseFn.js.map +1 -1
  85. package/dist/cjs/Types/PmAdapter.js +3 -0
  86. package/dist/{Types → cjs/Types}/PmAdapter.js.map +1 -1
  87. package/dist/cjs/Types/SingletonPmAdapter.js +3 -0
  88. package/dist/cjs/Types/SingletonPmAdapter.js.map +1 -0
  89. package/dist/cjs/Types/index.js +21 -0
  90. package/dist/cjs/Types/index.js.map +1 -0
  91. package/dist/cjs/Utilities/LengthConverters.js +21 -0
  92. package/dist/cjs/Utilities/LengthConverters.js.map +1 -0
  93. package/dist/cjs/Utilities/LengthConverters.test.js +24 -0
  94. package/dist/cjs/Utilities/LengthConverters.test.js.map +1 -0
  95. package/dist/cjs/Utilities/LerpNumber.js +85 -0
  96. package/dist/cjs/Utilities/LerpNumber.js.map +1 -0
  97. package/dist/cjs/Utilities/LerpNumber.test.js +90 -0
  98. package/dist/cjs/Utilities/LerpNumber.test.js.map +1 -0
  99. package/dist/cjs/Utilities/degreesToRadians.js +7 -0
  100. package/dist/cjs/Utilities/degreesToRadians.js.map +1 -0
  101. package/dist/cjs/Utilities/degreesToRadians.test.js +9 -0
  102. package/dist/cjs/Utilities/degreesToRadians.test.js.map +1 -0
  103. package/dist/cjs/Utilities/easeFunctions.js +208 -0
  104. package/dist/cjs/Utilities/easeFunctions.js.map +1 -0
  105. package/dist/cjs/Utilities/easeFunctions.test.js +209 -0
  106. package/dist/cjs/Utilities/easeFunctions.test.js.map +1 -0
  107. package/dist/cjs/Utilities/generateUniqueID.js +8 -0
  108. package/dist/cjs/Utilities/generateUniqueID.js.map +1 -0
  109. package/dist/cjs/Utilities/index.js +22 -0
  110. package/dist/cjs/Utilities/index.js.map +1 -0
  111. package/dist/cjs/Utilities/interpolateNumber.js +18 -0
  112. package/dist/cjs/Utilities/interpolateNumber.js.map +1 -0
  113. package/dist/cjs/Utilities/interpolateNumber.test.js +26 -0
  114. package/dist/cjs/Utilities/interpolateNumber.test.js.map +1 -0
  115. package/dist/cjs/ValueObjects/Angle.js +47 -0
  116. package/dist/cjs/ValueObjects/Angle.js.map +1 -0
  117. package/dist/cjs/ValueObjects/Angle.test.js +28 -0
  118. package/dist/cjs/ValueObjects/Angle.test.js.map +1 -0
  119. package/dist/cjs/ValueObjects/Color.js +859 -0
  120. package/dist/cjs/ValueObjects/Color.js.map +1 -0
  121. package/dist/cjs/ValueObjects/Color.test.js +147 -0
  122. package/dist/cjs/ValueObjects/Color.test.js.map +1 -0
  123. package/dist/cjs/ValueObjects/LineSegment2D.js +72 -0
  124. package/dist/cjs/ValueObjects/LineSegment2D.js.map +1 -0
  125. package/dist/cjs/ValueObjects/LineSegment2D.test.js +102 -0
  126. package/dist/cjs/ValueObjects/LineSegment2D.test.js.map +1 -0
  127. package/dist/cjs/ValueObjects/Matrix.js +466 -0
  128. package/dist/cjs/ValueObjects/Matrix.js.map +1 -0
  129. package/dist/cjs/ValueObjects/Matrix.test.js +385 -0
  130. package/dist/cjs/ValueObjects/Matrix.test.js.map +1 -0
  131. package/dist/cjs/ValueObjects/ParametricLine.js +77 -0
  132. package/dist/cjs/ValueObjects/ParametricLine.js.map +1 -0
  133. package/dist/cjs/ValueObjects/ParametricLine.test.js +126 -0
  134. package/dist/cjs/ValueObjects/ParametricLine.test.js.map +1 -0
  135. package/dist/cjs/ValueObjects/ParametricPlane.js +65 -0
  136. package/dist/cjs/ValueObjects/ParametricPlane.js.map +1 -0
  137. package/dist/cjs/ValueObjects/ParametricPlane.test.js +101 -0
  138. package/dist/cjs/ValueObjects/ParametricPlane.test.js.map +1 -0
  139. package/dist/cjs/ValueObjects/Quaternion.js +290 -0
  140. package/dist/cjs/ValueObjects/Quaternion.js.map +1 -0
  141. package/dist/cjs/ValueObjects/Quaternion.test.js +240 -0
  142. package/dist/cjs/ValueObjects/Quaternion.test.js.map +1 -0
  143. package/dist/cjs/ValueObjects/Rectangle.js +24 -0
  144. package/dist/cjs/ValueObjects/Rectangle.js.map +1 -0
  145. package/dist/cjs/ValueObjects/Rectangle.test.js +32 -0
  146. package/dist/cjs/ValueObjects/Rectangle.test.js.map +1 -0
  147. package/dist/cjs/ValueObjects/Vector2.js +184 -0
  148. package/dist/cjs/ValueObjects/Vector2.js.map +1 -0
  149. package/dist/cjs/ValueObjects/Vector2.test.js +136 -0
  150. package/dist/cjs/ValueObjects/Vector2.test.js.map +1 -0
  151. package/dist/cjs/ValueObjects/Vector3.js +231 -0
  152. package/dist/cjs/ValueObjects/Vector3.js.map +1 -0
  153. package/dist/cjs/ValueObjects/Vector3.test.js +188 -0
  154. package/dist/cjs/ValueObjects/Vector3.test.js.map +1 -0
  155. package/dist/cjs/ValueObjects/index.js +27 -0
  156. package/dist/cjs/ValueObjects/index.js.map +1 -0
  157. package/dist/cjs/index.js +22 -0
  158. package/dist/cjs/index.js.map +1 -0
  159. package/dist/esm/AppObject/AppObject.js.map +1 -0
  160. package/dist/esm/AppObject/AppObject.test.js.map +1 -0
  161. package/dist/esm/AppObject/AppObjectComponent.js.map +1 -0
  162. package/dist/esm/AppObject/AppObjectComponent.test.js.map +1 -0
  163. package/dist/esm/AppObject/AppObjectController.js.map +1 -0
  164. package/dist/esm/AppObject/AppObjectEntity.js.map +1 -0
  165. package/dist/esm/AppObject/AppObjectEntity.test.js.map +1 -0
  166. package/dist/esm/AppObject/AppObjectEntityRepo.js.map +1 -0
  167. package/dist/esm/AppObject/AppObjectEntityRepo.test.js.map +1 -0
  168. package/dist/esm/AppObject/AppObjectPM.js.map +1 -0
  169. package/dist/esm/AppObject/AppObjectPM.test.js.map +1 -0
  170. package/dist/esm/AppObject/AppObjectRepo.js.map +1 -0
  171. package/dist/esm/AppObject/AppObjectRepo.test.js.map +1 -0
  172. package/dist/esm/AppObject/AppObjectUC.js.map +1 -0
  173. package/dist/esm/AppObject/AppObjectView.js.map +1 -0
  174. package/dist/esm/AppObject/getSingletonComponent.js.map +1 -0
  175. package/dist/esm/AppObject/getSingletonComponent.test.js.map +1 -0
  176. package/dist/esm/AppObject/index.js.map +1 -0
  177. package/dist/esm/AppObject/printAppObjectDetails.js.map +1 -0
  178. package/dist/esm/Entities/MemoizedAngle.js.map +1 -0
  179. package/dist/esm/Entities/MemoizedAngle.test.js.map +1 -0
  180. package/dist/esm/Entities/MemoizedBoolean.js.map +1 -0
  181. package/dist/esm/Entities/MemoizedBoolean.test.js.map +1 -0
  182. package/dist/esm/Entities/MemoizedColor.js.map +1 -0
  183. package/dist/esm/Entities/MemoizedColor.test.js.map +1 -0
  184. package/dist/esm/Entities/MemoizedNumber.js.map +1 -0
  185. package/dist/esm/Entities/MemoizedNumber.test.js.map +1 -0
  186. package/dist/esm/Entities/MemoizedQuaternion.js.map +1 -0
  187. package/dist/esm/Entities/MemoizedQuaternion.test.js.map +1 -0
  188. package/dist/esm/Entities/MemoizedString.js.map +1 -0
  189. package/dist/esm/Entities/MemoizedString.test.js.map +1 -0
  190. package/dist/esm/Entities/MemoizedVector2.js.map +1 -0
  191. package/dist/esm/Entities/MemoizedVector2.test.js.map +1 -0
  192. package/dist/esm/Entities/MemoizedVector3.js.map +1 -0
  193. package/dist/esm/Entities/MemoizedVector3.test.js.map +1 -0
  194. package/dist/esm/Entities/ObservableEntity.js.map +1 -0
  195. package/dist/esm/Entities/ObservableEntity.test.js.map +1 -0
  196. package/dist/esm/Entities/ObserverList.js.map +1 -0
  197. package/dist/esm/Entities/ObserverList.test.js.map +1 -0
  198. package/dist/esm/Entities/index.js.map +1 -0
  199. package/dist/esm/Types/AppBoundary.js.map +1 -0
  200. package/dist/esm/Types/EaseFn.js.map +1 -0
  201. package/dist/esm/Types/PmAdapter.js.map +1 -0
  202. package/dist/esm/Types/SingletonPmAdapter.js.map +1 -0
  203. package/dist/esm/Types/index.js.map +1 -0
  204. package/dist/esm/Utilities/LengthConverters.js +15 -0
  205. package/dist/esm/Utilities/LengthConverters.js.map +1 -0
  206. package/dist/esm/Utilities/LengthConverters.test.js +22 -0
  207. package/dist/esm/Utilities/LengthConverters.test.js.map +1 -0
  208. package/dist/esm/Utilities/LerpNumber.js +81 -0
  209. package/dist/esm/Utilities/LerpNumber.js.map +1 -0
  210. package/dist/esm/Utilities/LerpNumber.test.js +88 -0
  211. package/dist/esm/Utilities/LerpNumber.test.js.map +1 -0
  212. package/dist/esm/Utilities/degreesToRadians.js +4 -0
  213. package/dist/esm/Utilities/degreesToRadians.js.map +1 -0
  214. package/dist/esm/Utilities/degreesToRadians.test.js +7 -0
  215. package/dist/esm/Utilities/degreesToRadians.test.js.map +1 -0
  216. package/dist/esm/Utilities/easeFunctions.js +183 -0
  217. package/dist/esm/Utilities/easeFunctions.js.map +1 -0
  218. package/dist/esm/Utilities/easeFunctions.test.js +207 -0
  219. package/dist/esm/Utilities/easeFunctions.test.js.map +1 -0
  220. package/dist/esm/Utilities/generateUniqueID.js +5 -0
  221. package/dist/esm/Utilities/generateUniqueID.js.map +1 -0
  222. package/dist/esm/Utilities/index.js +6 -0
  223. package/dist/esm/Utilities/index.js.map +1 -0
  224. package/dist/esm/Utilities/interpolateNumber.js +15 -0
  225. package/dist/esm/Utilities/interpolateNumber.js.map +1 -0
  226. package/dist/esm/Utilities/interpolateNumber.test.js +24 -0
  227. package/dist/esm/Utilities/interpolateNumber.test.js.map +1 -0
  228. package/dist/esm/ValueObjects/Angle.js.map +1 -0
  229. package/dist/esm/ValueObjects/Angle.test.js.map +1 -0
  230. package/dist/esm/ValueObjects/Color.js.map +1 -0
  231. package/dist/esm/ValueObjects/Color.test.js.map +1 -0
  232. package/dist/esm/ValueObjects/LineSegment2D.js.map +1 -0
  233. package/dist/esm/ValueObjects/LineSegment2D.test.js.map +1 -0
  234. package/dist/esm/ValueObjects/Matrix.js.map +1 -0
  235. package/dist/esm/ValueObjects/Matrix.test.js.map +1 -0
  236. package/dist/esm/ValueObjects/ParametricLine.js.map +1 -0
  237. package/dist/esm/ValueObjects/ParametricLine.test.js.map +1 -0
  238. package/dist/esm/ValueObjects/ParametricPlane.js.map +1 -0
  239. package/dist/esm/ValueObjects/ParametricPlane.test.js.map +1 -0
  240. package/dist/esm/ValueObjects/Quaternion.js.map +1 -0
  241. package/dist/esm/ValueObjects/Quaternion.test.js.map +1 -0
  242. package/dist/esm/ValueObjects/Rectangle.js.map +1 -0
  243. package/dist/esm/ValueObjects/Rectangle.test.js.map +1 -0
  244. package/dist/esm/ValueObjects/Vector2.js.map +1 -0
  245. package/dist/esm/ValueObjects/Vector2.test.js.map +1 -0
  246. package/dist/esm/ValueObjects/Vector3.js.map +1 -0
  247. package/dist/esm/ValueObjects/Vector3.test.js.map +1 -0
  248. package/dist/esm/ValueObjects/index.js.map +1 -0
  249. package/dist/{index.js → esm/index.js} +1 -0
  250. package/dist/esm/index.js.map +1 -0
  251. package/dist/tsconfig.cjs.tsbuildinfo +1 -0
  252. package/dist/tsconfig.esm.tsbuildinfo +1 -0
  253. package/dist/types/AppObject/AppObject.d.ts.map +1 -0
  254. package/dist/types/AppObject/AppObject.test.d.ts.map +1 -0
  255. package/dist/types/AppObject/AppObjectComponent.d.ts.map +1 -0
  256. package/dist/types/AppObject/AppObjectComponent.test.d.ts.map +1 -0
  257. package/dist/types/AppObject/AppObjectController.d.ts.map +1 -0
  258. package/dist/types/AppObject/AppObjectEntity.d.ts.map +1 -0
  259. package/dist/types/AppObject/AppObjectEntity.test.d.ts.map +1 -0
  260. package/dist/types/AppObject/AppObjectEntityRepo.d.ts.map +1 -0
  261. package/dist/types/AppObject/AppObjectEntityRepo.test.d.ts.map +1 -0
  262. package/dist/types/AppObject/AppObjectPM.d.ts.map +1 -0
  263. package/dist/types/AppObject/AppObjectPM.test.d.ts.map +1 -0
  264. package/dist/types/AppObject/AppObjectRepo.d.ts.map +1 -0
  265. package/dist/types/AppObject/AppObjectRepo.test.d.ts.map +1 -0
  266. package/dist/types/AppObject/AppObjectUC.d.ts.map +1 -0
  267. package/dist/types/AppObject/AppObjectView.d.ts.map +1 -0
  268. package/dist/types/AppObject/getSingletonComponent.d.ts.map +1 -0
  269. package/dist/types/AppObject/getSingletonComponent.test.d.ts.map +1 -0
  270. package/dist/types/AppObject/index.d.ts.map +1 -0
  271. package/dist/types/AppObject/printAppObjectDetails.d.ts.map +1 -0
  272. package/dist/types/Entities/MemoizedAngle.d.ts.map +1 -0
  273. package/dist/types/Entities/MemoizedAngle.test.d.ts.map +1 -0
  274. package/dist/types/Entities/MemoizedBoolean.d.ts.map +1 -0
  275. package/dist/types/Entities/MemoizedBoolean.test.d.ts.map +1 -0
  276. package/dist/types/Entities/MemoizedColor.d.ts.map +1 -0
  277. package/dist/types/Entities/MemoizedColor.test.d.ts.map +1 -0
  278. package/dist/types/Entities/MemoizedNumber.d.ts.map +1 -0
  279. package/dist/types/Entities/MemoizedNumber.test.d.ts.map +1 -0
  280. package/dist/types/Entities/MemoizedQuaternion.d.ts.map +1 -0
  281. package/dist/types/Entities/MemoizedQuaternion.test.d.ts.map +1 -0
  282. package/dist/types/Entities/MemoizedString.d.ts.map +1 -0
  283. package/dist/types/Entities/MemoizedString.test.d.ts.map +1 -0
  284. package/dist/types/Entities/MemoizedVector2.d.ts.map +1 -0
  285. package/dist/types/Entities/MemoizedVector2.test.d.ts.map +1 -0
  286. package/dist/types/Entities/MemoizedVector3.d.ts.map +1 -0
  287. package/dist/types/Entities/MemoizedVector3.test.d.ts.map +1 -0
  288. package/dist/types/Entities/ObservableEntity.d.ts.map +1 -0
  289. package/dist/types/Entities/ObservableEntity.test.d.ts.map +1 -0
  290. package/dist/types/Entities/ObserverList.d.ts.map +1 -0
  291. package/dist/types/Entities/ObserverList.test.d.ts.map +1 -0
  292. package/dist/types/Entities/index.d.ts.map +1 -0
  293. package/dist/types/Types/AppBoundary.d.ts.map +1 -0
  294. package/dist/types/Types/EaseFn.d.ts.map +1 -0
  295. package/dist/types/Types/PmAdapter.d.ts.map +1 -0
  296. package/dist/types/Types/SingletonPmAdapter.d.ts.map +1 -0
  297. package/dist/types/Types/index.d.ts.map +1 -0
  298. package/dist/types/Utilities/LengthConverters.d.ts +5 -0
  299. package/dist/types/Utilities/LengthConverters.d.ts.map +1 -0
  300. package/dist/types/Utilities/LengthConverters.test.d.ts +2 -0
  301. package/dist/types/Utilities/LengthConverters.test.d.ts.map +1 -0
  302. package/dist/types/Utilities/LerpNumber.d.ts +57 -0
  303. package/dist/types/Utilities/LerpNumber.d.ts.map +1 -0
  304. package/dist/types/Utilities/LerpNumber.test.d.ts +2 -0
  305. package/dist/types/Utilities/LerpNumber.test.d.ts.map +1 -0
  306. package/dist/types/Utilities/degreesToRadians.d.ts +2 -0
  307. package/dist/types/Utilities/degreesToRadians.d.ts.map +1 -0
  308. package/dist/types/Utilities/degreesToRadians.test.d.ts +2 -0
  309. package/dist/types/Utilities/degreesToRadians.test.d.ts.map +1 -0
  310. package/dist/types/Utilities/easeFunctions.d.ts +24 -0
  311. package/dist/types/Utilities/easeFunctions.d.ts.map +1 -0
  312. package/dist/types/Utilities/easeFunctions.test.d.ts +2 -0
  313. package/dist/types/Utilities/easeFunctions.test.d.ts.map +1 -0
  314. package/dist/types/Utilities/generateUniqueID.d.ts +2 -0
  315. package/dist/types/Utilities/generateUniqueID.d.ts.map +1 -0
  316. package/dist/types/Utilities/index.d.ts +6 -0
  317. package/dist/types/Utilities/index.d.ts.map +1 -0
  318. package/dist/types/Utilities/interpolateNumber.d.ts +2 -0
  319. package/dist/types/Utilities/interpolateNumber.d.ts.map +1 -0
  320. package/dist/types/Utilities/interpolateNumber.test.d.ts +2 -0
  321. package/dist/types/Utilities/interpolateNumber.test.d.ts.map +1 -0
  322. package/dist/types/ValueObjects/Angle.d.ts.map +1 -0
  323. package/dist/types/ValueObjects/Angle.test.d.ts.map +1 -0
  324. package/dist/types/ValueObjects/Color.d.ts.map +1 -0
  325. package/dist/types/ValueObjects/Color.test.d.ts.map +1 -0
  326. package/dist/types/ValueObjects/LineSegment2D.d.ts.map +1 -0
  327. package/dist/types/ValueObjects/LineSegment2D.test.d.ts.map +1 -0
  328. package/dist/types/ValueObjects/Matrix.d.ts.map +1 -0
  329. package/dist/types/ValueObjects/Matrix.test.d.ts.map +1 -0
  330. package/dist/types/ValueObjects/ParametricLine.d.ts.map +1 -0
  331. package/dist/types/ValueObjects/ParametricLine.test.d.ts.map +1 -0
  332. package/dist/types/ValueObjects/ParametricPlane.d.ts.map +1 -0
  333. package/dist/types/ValueObjects/ParametricPlane.test.d.ts.map +1 -0
  334. package/dist/types/ValueObjects/Quaternion.d.ts.map +1 -0
  335. package/dist/types/ValueObjects/Quaternion.test.d.ts.map +1 -0
  336. package/dist/types/ValueObjects/Rectangle.d.ts.map +1 -0
  337. package/dist/types/ValueObjects/Rectangle.test.d.ts.map +1 -0
  338. package/dist/types/ValueObjects/Vector2.d.ts.map +1 -0
  339. package/dist/types/ValueObjects/Vector2.test.d.ts.map +1 -0
  340. package/dist/types/ValueObjects/Vector3.d.ts.map +1 -0
  341. package/dist/types/ValueObjects/Vector3.test.d.ts.map +1 -0
  342. package/dist/types/ValueObjects/index.d.ts.map +1 -0
  343. package/dist/{index.d.ts → types/index.d.ts} +1 -0
  344. package/dist/types/index.d.ts.map +1 -0
  345. package/package.json +13 -4
  346. package/src/Utilities/LengthConverters.test.ts +30 -0
  347. package/src/Utilities/LengthConverters.ts +18 -0
  348. package/src/Utilities/LerpNumber.test.ts +109 -0
  349. package/src/Utilities/LerpNumber.ts +109 -0
  350. package/src/Utilities/degreesToRadians.test.ts +8 -0
  351. package/src/Utilities/degreesToRadians.ts +3 -0
  352. package/src/Utilities/easeFunctions.test.ts +251 -0
  353. package/src/Utilities/easeFunctions.ts +180 -0
  354. package/src/Utilities/generateUniqueID.ts +5 -0
  355. package/src/Utilities/index.ts +6 -0
  356. package/src/Utilities/interpolateNumber.test.ts +28 -0
  357. package/src/Utilities/interpolateNumber.ts +21 -0
  358. package/src/index.ts +1 -0
  359. package/tsconfig.build.json +7 -0
  360. package/tsconfig.cjs.json +12 -0
  361. package/tsconfig.esm.json +12 -0
  362. package/dist/AppObject/AppObject.d.ts.map +0 -1
  363. package/dist/AppObject/AppObject.js.map +0 -1
  364. package/dist/AppObject/AppObject.test.d.ts.map +0 -1
  365. package/dist/AppObject/AppObject.test.js.map +0 -1
  366. package/dist/AppObject/AppObjectComponent.d.ts.map +0 -1
  367. package/dist/AppObject/AppObjectComponent.js.map +0 -1
  368. package/dist/AppObject/AppObjectComponent.test.d.ts.map +0 -1
  369. package/dist/AppObject/AppObjectComponent.test.js.map +0 -1
  370. package/dist/AppObject/AppObjectController.d.ts.map +0 -1
  371. package/dist/AppObject/AppObjectController.js.map +0 -1
  372. package/dist/AppObject/AppObjectEntity.d.ts.map +0 -1
  373. package/dist/AppObject/AppObjectEntity.js.map +0 -1
  374. package/dist/AppObject/AppObjectEntity.test.d.ts.map +0 -1
  375. package/dist/AppObject/AppObjectEntity.test.js.map +0 -1
  376. package/dist/AppObject/AppObjectEntityRepo.d.ts.map +0 -1
  377. package/dist/AppObject/AppObjectEntityRepo.js.map +0 -1
  378. package/dist/AppObject/AppObjectEntityRepo.test.d.ts.map +0 -1
  379. package/dist/AppObject/AppObjectEntityRepo.test.js.map +0 -1
  380. package/dist/AppObject/AppObjectPM.d.ts.map +0 -1
  381. package/dist/AppObject/AppObjectPM.js.map +0 -1
  382. package/dist/AppObject/AppObjectPM.test.d.ts.map +0 -1
  383. package/dist/AppObject/AppObjectPM.test.js.map +0 -1
  384. package/dist/AppObject/AppObjectRepo.d.ts.map +0 -1
  385. package/dist/AppObject/AppObjectRepo.js.map +0 -1
  386. package/dist/AppObject/AppObjectRepo.test.d.ts.map +0 -1
  387. package/dist/AppObject/AppObjectRepo.test.js.map +0 -1
  388. package/dist/AppObject/AppObjectUC.d.ts.map +0 -1
  389. package/dist/AppObject/AppObjectUC.js.map +0 -1
  390. package/dist/AppObject/AppObjectView.d.ts.map +0 -1
  391. package/dist/AppObject/AppObjectView.js.map +0 -1
  392. package/dist/AppObject/getSingletonComponent.d.ts.map +0 -1
  393. package/dist/AppObject/getSingletonComponent.js.map +0 -1
  394. package/dist/AppObject/getSingletonComponent.test.d.ts.map +0 -1
  395. package/dist/AppObject/getSingletonComponent.test.js.map +0 -1
  396. package/dist/AppObject/index.d.ts.map +0 -1
  397. package/dist/AppObject/index.js.map +0 -1
  398. package/dist/AppObject/printAppObjectDetails.d.ts.map +0 -1
  399. package/dist/AppObject/printAppObjectDetails.js.map +0 -1
  400. package/dist/Entities/MemoizedAngle.d.ts.map +0 -1
  401. package/dist/Entities/MemoizedAngle.js.map +0 -1
  402. package/dist/Entities/MemoizedAngle.test.d.ts.map +0 -1
  403. package/dist/Entities/MemoizedAngle.test.js.map +0 -1
  404. package/dist/Entities/MemoizedBoolean.d.ts.map +0 -1
  405. package/dist/Entities/MemoizedBoolean.js.map +0 -1
  406. package/dist/Entities/MemoizedBoolean.test.d.ts.map +0 -1
  407. package/dist/Entities/MemoizedBoolean.test.js.map +0 -1
  408. package/dist/Entities/MemoizedColor.d.ts.map +0 -1
  409. package/dist/Entities/MemoizedColor.js.map +0 -1
  410. package/dist/Entities/MemoizedColor.test.d.ts.map +0 -1
  411. package/dist/Entities/MemoizedColor.test.js.map +0 -1
  412. package/dist/Entities/MemoizedNumber.d.ts.map +0 -1
  413. package/dist/Entities/MemoizedNumber.js.map +0 -1
  414. package/dist/Entities/MemoizedNumber.test.d.ts.map +0 -1
  415. package/dist/Entities/MemoizedNumber.test.js.map +0 -1
  416. package/dist/Entities/MemoizedQuaternion.d.ts.map +0 -1
  417. package/dist/Entities/MemoizedQuaternion.js.map +0 -1
  418. package/dist/Entities/MemoizedQuaternion.test.d.ts.map +0 -1
  419. package/dist/Entities/MemoizedQuaternion.test.js.map +0 -1
  420. package/dist/Entities/MemoizedString.d.ts.map +0 -1
  421. package/dist/Entities/MemoizedString.js.map +0 -1
  422. package/dist/Entities/MemoizedString.test.d.ts.map +0 -1
  423. package/dist/Entities/MemoizedString.test.js.map +0 -1
  424. package/dist/Entities/MemoizedVector2.d.ts.map +0 -1
  425. package/dist/Entities/MemoizedVector2.js.map +0 -1
  426. package/dist/Entities/MemoizedVector2.test.d.ts.map +0 -1
  427. package/dist/Entities/MemoizedVector2.test.js.map +0 -1
  428. package/dist/Entities/MemoizedVector3.d.ts.map +0 -1
  429. package/dist/Entities/MemoizedVector3.js.map +0 -1
  430. package/dist/Entities/MemoizedVector3.test.d.ts.map +0 -1
  431. package/dist/Entities/MemoizedVector3.test.js.map +0 -1
  432. package/dist/Entities/ObservableEntity.d.ts.map +0 -1
  433. package/dist/Entities/ObservableEntity.js.map +0 -1
  434. package/dist/Entities/ObservableEntity.test.d.ts.map +0 -1
  435. package/dist/Entities/ObservableEntity.test.js.map +0 -1
  436. package/dist/Entities/ObserverList.d.ts.map +0 -1
  437. package/dist/Entities/ObserverList.js.map +0 -1
  438. package/dist/Entities/ObserverList.test.d.ts.map +0 -1
  439. package/dist/Entities/ObserverList.test.js.map +0 -1
  440. package/dist/Entities/index.d.ts.map +0 -1
  441. package/dist/Entities/index.js.map +0 -1
  442. package/dist/Types/AppBoundary.d.ts.map +0 -1
  443. package/dist/Types/EaseFn.d.ts.map +0 -1
  444. package/dist/Types/PmAdapter.d.ts.map +0 -1
  445. package/dist/Types/SingletonPmAdapter.d.ts.map +0 -1
  446. package/dist/Types/SingletonPmAdapter.js.map +0 -1
  447. package/dist/Types/index.d.ts.map +0 -1
  448. package/dist/Types/index.js.map +0 -1
  449. package/dist/ValueObjects/Angle.d.ts.map +0 -1
  450. package/dist/ValueObjects/Angle.js.map +0 -1
  451. package/dist/ValueObjects/Angle.test.d.ts.map +0 -1
  452. package/dist/ValueObjects/Angle.test.js.map +0 -1
  453. package/dist/ValueObjects/Color.d.ts.map +0 -1
  454. package/dist/ValueObjects/Color.js.map +0 -1
  455. package/dist/ValueObjects/Color.test.d.ts.map +0 -1
  456. package/dist/ValueObjects/Color.test.js.map +0 -1
  457. package/dist/ValueObjects/LineSegment2D.d.ts.map +0 -1
  458. package/dist/ValueObjects/LineSegment2D.js.map +0 -1
  459. package/dist/ValueObjects/LineSegment2D.test.d.ts.map +0 -1
  460. package/dist/ValueObjects/LineSegment2D.test.js.map +0 -1
  461. package/dist/ValueObjects/Matrix.d.ts.map +0 -1
  462. package/dist/ValueObjects/Matrix.js.map +0 -1
  463. package/dist/ValueObjects/Matrix.test.d.ts.map +0 -1
  464. package/dist/ValueObjects/Matrix.test.js.map +0 -1
  465. package/dist/ValueObjects/ParametricLine.d.ts.map +0 -1
  466. package/dist/ValueObjects/ParametricLine.js.map +0 -1
  467. package/dist/ValueObjects/ParametricLine.test.d.ts.map +0 -1
  468. package/dist/ValueObjects/ParametricLine.test.js.map +0 -1
  469. package/dist/ValueObjects/ParametricPlane.d.ts.map +0 -1
  470. package/dist/ValueObjects/ParametricPlane.js.map +0 -1
  471. package/dist/ValueObjects/ParametricPlane.test.d.ts.map +0 -1
  472. package/dist/ValueObjects/ParametricPlane.test.js.map +0 -1
  473. package/dist/ValueObjects/Quaternion.d.ts.map +0 -1
  474. package/dist/ValueObjects/Quaternion.js.map +0 -1
  475. package/dist/ValueObjects/Quaternion.test.d.ts.map +0 -1
  476. package/dist/ValueObjects/Quaternion.test.js.map +0 -1
  477. package/dist/ValueObjects/Rectangle.d.ts.map +0 -1
  478. package/dist/ValueObjects/Rectangle.js.map +0 -1
  479. package/dist/ValueObjects/Rectangle.test.d.ts.map +0 -1
  480. package/dist/ValueObjects/Rectangle.test.js.map +0 -1
  481. package/dist/ValueObjects/Vector2.d.ts.map +0 -1
  482. package/dist/ValueObjects/Vector2.js.map +0 -1
  483. package/dist/ValueObjects/Vector2.test.d.ts.map +0 -1
  484. package/dist/ValueObjects/Vector2.test.js.map +0 -1
  485. package/dist/ValueObjects/Vector3.d.ts.map +0 -1
  486. package/dist/ValueObjects/Vector3.js.map +0 -1
  487. package/dist/ValueObjects/Vector3.test.d.ts.map +0 -1
  488. package/dist/ValueObjects/Vector3.test.js.map +0 -1
  489. package/dist/ValueObjects/index.d.ts.map +0 -1
  490. package/dist/ValueObjects/index.js.map +0 -1
  491. package/dist/index.d.ts.map +0 -1
  492. package/dist/index.js.map +0 -1
  493. /package/dist/{AppObject → esm/AppObject}/AppObject.js +0 -0
  494. /package/dist/{AppObject → esm/AppObject}/AppObject.test.js +0 -0
  495. /package/dist/{AppObject → esm/AppObject}/AppObjectComponent.js +0 -0
  496. /package/dist/{AppObject → esm/AppObject}/AppObjectComponent.test.js +0 -0
  497. /package/dist/{AppObject → esm/AppObject}/AppObjectController.js +0 -0
  498. /package/dist/{AppObject → esm/AppObject}/AppObjectEntity.js +0 -0
  499. /package/dist/{AppObject → esm/AppObject}/AppObjectEntity.test.js +0 -0
  500. /package/dist/{AppObject → esm/AppObject}/AppObjectEntityRepo.js +0 -0
  501. /package/dist/{AppObject → esm/AppObject}/AppObjectEntityRepo.test.js +0 -0
  502. /package/dist/{AppObject → esm/AppObject}/AppObjectPM.js +0 -0
  503. /package/dist/{AppObject → esm/AppObject}/AppObjectPM.test.js +0 -0
  504. /package/dist/{AppObject → esm/AppObject}/AppObjectRepo.js +0 -0
  505. /package/dist/{AppObject → esm/AppObject}/AppObjectRepo.test.js +0 -0
  506. /package/dist/{AppObject → esm/AppObject}/AppObjectUC.js +0 -0
  507. /package/dist/{AppObject → esm/AppObject}/AppObjectView.js +0 -0
  508. /package/dist/{AppObject → esm/AppObject}/getSingletonComponent.js +0 -0
  509. /package/dist/{AppObject → esm/AppObject}/getSingletonComponent.test.js +0 -0
  510. /package/dist/{AppObject → esm/AppObject}/index.js +0 -0
  511. /package/dist/{AppObject → esm/AppObject}/printAppObjectDetails.js +0 -0
  512. /package/dist/{Entities → esm/Entities}/MemoizedAngle.js +0 -0
  513. /package/dist/{Entities → esm/Entities}/MemoizedAngle.test.js +0 -0
  514. /package/dist/{Entities → esm/Entities}/MemoizedBoolean.js +0 -0
  515. /package/dist/{Entities → esm/Entities}/MemoizedBoolean.test.js +0 -0
  516. /package/dist/{Entities → esm/Entities}/MemoizedColor.js +0 -0
  517. /package/dist/{Entities → esm/Entities}/MemoizedColor.test.js +0 -0
  518. /package/dist/{Entities → esm/Entities}/MemoizedNumber.js +0 -0
  519. /package/dist/{Entities → esm/Entities}/MemoizedNumber.test.js +0 -0
  520. /package/dist/{Entities → esm/Entities}/MemoizedQuaternion.js +0 -0
  521. /package/dist/{Entities → esm/Entities}/MemoizedQuaternion.test.js +0 -0
  522. /package/dist/{Entities → esm/Entities}/MemoizedString.js +0 -0
  523. /package/dist/{Entities → esm/Entities}/MemoizedString.test.js +0 -0
  524. /package/dist/{Entities → esm/Entities}/MemoizedVector2.js +0 -0
  525. /package/dist/{Entities → esm/Entities}/MemoizedVector2.test.js +0 -0
  526. /package/dist/{Entities → esm/Entities}/MemoizedVector3.js +0 -0
  527. /package/dist/{Entities → esm/Entities}/MemoizedVector3.test.js +0 -0
  528. /package/dist/{Entities → esm/Entities}/ObservableEntity.js +0 -0
  529. /package/dist/{Entities → esm/Entities}/ObservableEntity.test.js +0 -0
  530. /package/dist/{Entities → esm/Entities}/ObserverList.js +0 -0
  531. /package/dist/{Entities → esm/Entities}/ObserverList.test.js +0 -0
  532. /package/dist/{Entities → esm/Entities}/index.js +0 -0
  533. /package/dist/{Types → esm/Types}/AppBoundary.js +0 -0
  534. /package/dist/{Types → esm/Types}/EaseFn.js +0 -0
  535. /package/dist/{Types → esm/Types}/PmAdapter.js +0 -0
  536. /package/dist/{Types → esm/Types}/SingletonPmAdapter.js +0 -0
  537. /package/dist/{Types → esm/Types}/index.js +0 -0
  538. /package/dist/{ValueObjects → esm/ValueObjects}/Angle.js +0 -0
  539. /package/dist/{ValueObjects → esm/ValueObjects}/Angle.test.js +0 -0
  540. /package/dist/{ValueObjects → esm/ValueObjects}/Color.js +0 -0
  541. /package/dist/{ValueObjects → esm/ValueObjects}/Color.test.js +0 -0
  542. /package/dist/{ValueObjects → esm/ValueObjects}/LineSegment2D.js +0 -0
  543. /package/dist/{ValueObjects → esm/ValueObjects}/LineSegment2D.test.js +0 -0
  544. /package/dist/{ValueObjects → esm/ValueObjects}/Matrix.js +0 -0
  545. /package/dist/{ValueObjects → esm/ValueObjects}/Matrix.test.js +0 -0
  546. /package/dist/{ValueObjects → esm/ValueObjects}/ParametricLine.js +0 -0
  547. /package/dist/{ValueObjects → esm/ValueObjects}/ParametricLine.test.js +0 -0
  548. /package/dist/{ValueObjects → esm/ValueObjects}/ParametricPlane.js +0 -0
  549. /package/dist/{ValueObjects → esm/ValueObjects}/ParametricPlane.test.js +0 -0
  550. /package/dist/{ValueObjects → esm/ValueObjects}/Quaternion.js +0 -0
  551. /package/dist/{ValueObjects → esm/ValueObjects}/Quaternion.test.js +0 -0
  552. /package/dist/{ValueObjects → esm/ValueObjects}/Rectangle.js +0 -0
  553. /package/dist/{ValueObjects → esm/ValueObjects}/Rectangle.test.js +0 -0
  554. /package/dist/{ValueObjects → esm/ValueObjects}/Vector2.js +0 -0
  555. /package/dist/{ValueObjects → esm/ValueObjects}/Vector2.test.js +0 -0
  556. /package/dist/{ValueObjects → esm/ValueObjects}/Vector3.js +0 -0
  557. /package/dist/{ValueObjects → esm/ValueObjects}/Vector3.test.js +0 -0
  558. /package/dist/{ValueObjects → esm/ValueObjects}/index.js +0 -0
  559. /package/dist/{AppObject → types/AppObject}/AppObject.d.ts +0 -0
  560. /package/dist/{AppObject → types/AppObject}/AppObject.test.d.ts +0 -0
  561. /package/dist/{AppObject → types/AppObject}/AppObjectComponent.d.ts +0 -0
  562. /package/dist/{AppObject → types/AppObject}/AppObjectComponent.test.d.ts +0 -0
  563. /package/dist/{AppObject → types/AppObject}/AppObjectController.d.ts +0 -0
  564. /package/dist/{AppObject → types/AppObject}/AppObjectEntity.d.ts +0 -0
  565. /package/dist/{AppObject → types/AppObject}/AppObjectEntity.test.d.ts +0 -0
  566. /package/dist/{AppObject → types/AppObject}/AppObjectEntityRepo.d.ts +0 -0
  567. /package/dist/{AppObject → types/AppObject}/AppObjectEntityRepo.test.d.ts +0 -0
  568. /package/dist/{AppObject → types/AppObject}/AppObjectPM.d.ts +0 -0
  569. /package/dist/{AppObject → types/AppObject}/AppObjectPM.test.d.ts +0 -0
  570. /package/dist/{AppObject → types/AppObject}/AppObjectRepo.d.ts +0 -0
  571. /package/dist/{AppObject → types/AppObject}/AppObjectRepo.test.d.ts +0 -0
  572. /package/dist/{AppObject → types/AppObject}/AppObjectUC.d.ts +0 -0
  573. /package/dist/{AppObject → types/AppObject}/AppObjectView.d.ts +0 -0
  574. /package/dist/{AppObject → types/AppObject}/getSingletonComponent.d.ts +0 -0
  575. /package/dist/{AppObject → types/AppObject}/getSingletonComponent.test.d.ts +0 -0
  576. /package/dist/{AppObject → types/AppObject}/index.d.ts +0 -0
  577. /package/dist/{AppObject → types/AppObject}/printAppObjectDetails.d.ts +0 -0
  578. /package/dist/{Entities → types/Entities}/MemoizedAngle.d.ts +0 -0
  579. /package/dist/{Entities → types/Entities}/MemoizedAngle.test.d.ts +0 -0
  580. /package/dist/{Entities → types/Entities}/MemoizedBoolean.d.ts +0 -0
  581. /package/dist/{Entities → types/Entities}/MemoizedBoolean.test.d.ts +0 -0
  582. /package/dist/{Entities → types/Entities}/MemoizedColor.d.ts +0 -0
  583. /package/dist/{Entities → types/Entities}/MemoizedColor.test.d.ts +0 -0
  584. /package/dist/{Entities → types/Entities}/MemoizedNumber.d.ts +0 -0
  585. /package/dist/{Entities → types/Entities}/MemoizedNumber.test.d.ts +0 -0
  586. /package/dist/{Entities → types/Entities}/MemoizedQuaternion.d.ts +0 -0
  587. /package/dist/{Entities → types/Entities}/MemoizedQuaternion.test.d.ts +0 -0
  588. /package/dist/{Entities → types/Entities}/MemoizedString.d.ts +0 -0
  589. /package/dist/{Entities → types/Entities}/MemoizedString.test.d.ts +0 -0
  590. /package/dist/{Entities → types/Entities}/MemoizedVector2.d.ts +0 -0
  591. /package/dist/{Entities → types/Entities}/MemoizedVector2.test.d.ts +0 -0
  592. /package/dist/{Entities → types/Entities}/MemoizedVector3.d.ts +0 -0
  593. /package/dist/{Entities → types/Entities}/MemoizedVector3.test.d.ts +0 -0
  594. /package/dist/{Entities → types/Entities}/ObservableEntity.d.ts +0 -0
  595. /package/dist/{Entities → types/Entities}/ObservableEntity.test.d.ts +0 -0
  596. /package/dist/{Entities → types/Entities}/ObserverList.d.ts +0 -0
  597. /package/dist/{Entities → types/Entities}/ObserverList.test.d.ts +0 -0
  598. /package/dist/{Entities → types/Entities}/index.d.ts +0 -0
  599. /package/dist/{Types → types/Types}/AppBoundary.d.ts +0 -0
  600. /package/dist/{Types → types/Types}/EaseFn.d.ts +0 -0
  601. /package/dist/{Types → types/Types}/PmAdapter.d.ts +0 -0
  602. /package/dist/{Types → types/Types}/SingletonPmAdapter.d.ts +0 -0
  603. /package/dist/{Types → types/Types}/index.d.ts +0 -0
  604. /package/dist/{ValueObjects → types/ValueObjects}/Angle.d.ts +0 -0
  605. /package/dist/{ValueObjects → types/ValueObjects}/Angle.test.d.ts +0 -0
  606. /package/dist/{ValueObjects → types/ValueObjects}/Color.d.ts +0 -0
  607. /package/dist/{ValueObjects → types/ValueObjects}/Color.test.d.ts +0 -0
  608. /package/dist/{ValueObjects → types/ValueObjects}/LineSegment2D.d.ts +0 -0
  609. /package/dist/{ValueObjects → types/ValueObjects}/LineSegment2D.test.d.ts +0 -0
  610. /package/dist/{ValueObjects → types/ValueObjects}/Matrix.d.ts +0 -0
  611. /package/dist/{ValueObjects → types/ValueObjects}/Matrix.test.d.ts +0 -0
  612. /package/dist/{ValueObjects → types/ValueObjects}/ParametricLine.d.ts +0 -0
  613. /package/dist/{ValueObjects → types/ValueObjects}/ParametricLine.test.d.ts +0 -0
  614. /package/dist/{ValueObjects → types/ValueObjects}/ParametricPlane.d.ts +0 -0
  615. /package/dist/{ValueObjects → types/ValueObjects}/ParametricPlane.test.d.ts +0 -0
  616. /package/dist/{ValueObjects → types/ValueObjects}/Quaternion.d.ts +0 -0
  617. /package/dist/{ValueObjects → types/ValueObjects}/Quaternion.test.d.ts +0 -0
  618. /package/dist/{ValueObjects → types/ValueObjects}/Rectangle.d.ts +0 -0
  619. /package/dist/{ValueObjects → types/ValueObjects}/Rectangle.test.d.ts +0 -0
  620. /package/dist/{ValueObjects → types/ValueObjects}/Vector2.d.ts +0 -0
  621. /package/dist/{ValueObjects → types/ValueObjects}/Vector2.test.d.ts +0 -0
  622. /package/dist/{ValueObjects → types/ValueObjects}/Vector3.d.ts +0 -0
  623. /package/dist/{ValueObjects → types/ValueObjects}/Vector3.test.d.ts +0 -0
  624. /package/dist/{ValueObjects → types/ValueObjects}/index.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParametricLine.test.d.ts","sourceRoot":"","sources":["../../../src/ValueObjects/ParametricLine.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParametricPlane.d.ts","sourceRoot":"","sources":["../../../src/ValueObjects/ParametricPlane.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAIlD,MAAM,WAAW,eAAe;IAC9B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,qBAAa,eAAe;IAoEd,OAAO,CAAC,KAAK;IAAW,OAAO,CAAC,MAAM;IAnElD,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,eAAe;IAIxE,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,eAAe;IAS3E,MAAM,CAAC,EAAE,IAAI,eAAe;IAM5B,MAAM,CAAC,EAAE,IAAI,eAAe;IAM5B,MAAM,CAAC,EAAE,IAAI,eAAe;IAM5B,aAAa,IAAI,eAAe;IAkBzB,aAAa,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,GAAG,SAAS;gBAkB3C,KAAK,EAAE,OAAO,EAAU,MAAM,EAAE,OAAO;CAC5D"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParametricPlane.test.d.ts","sourceRoot":"","sources":["../../../src/ValueObjects/ParametricPlane.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Quaternion.d.ts","sourceRoot":"","sources":["../../../src/ValueObjects/Quaternion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,WAAW,aAAa;IAC5B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,qBAAa,UAAU;IACrB;;;;;OAKG;WACW,KAAK,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,OAAO;IAQ1D;;;;;;OAMG;WACW,KAAK,CACjB,CAAC,EAAE,UAAU,EACb,CAAC,EAAE,UAAU,EACb,SAAS,SAAQ,GAChB,OAAO;IAkBV;;;;;OAKG;WACW,QAAQ,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,UAAU;IAQhE;;;;OAIG;WACW,SAAS,CACrB,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GACvC,UAAU;IAIb;;;;OAIG;WACW,OAAO,CAAC,GAAG,EAAE,aAAa,GAAG,UAAU;IAIrD;;;OAGG;WACW,QAAQ,IAAI,UAAU;IAIpC;;;;;OAKG;WACW,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,UAAU;WAUtD,mBAAmB,CAAC,SAAS,EAAE,OAAO,GAAG,UAAU;IAkCjE;;;;;;OAMG;WACW,gBAAgB,CAC5B,GAAG,EAAE,KAAK,EACV,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,KAAK,GACV,UAAU;IAoBb;;;;;;OAMG;WACW,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK;IAIpD;;;;OAIG;WACW,OAAO,CAAC,CAAC,EAAE,UAAU,GAAG,UAAU;WAIlC,YAAY,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,KAAK;IAY/D;;;;;;OAMG;WACW,KAAK,CACjB,OAAO,EAAE,UAAU,EACnB,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,MAAM,GACd,UAAU;IAiCb;;;;OAIG;WACW,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,UAAU;WAmDtD,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM;IAIxD;;;OAGG;IACH,OAAO,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IAI3C,IAAI,KAAK,IAAI,KAAK,CAGjB;IAED,IAAI,IAAI,IAAI,OAAO,CAKlB;IAED;;OAEG;IACH,IAAI,GAAG,IAAI,aAAa,CAEvB;IAED,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;gBAEP,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;CAMvD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Quaternion.test.d.ts","sourceRoot":"","sources":["../../../src/ValueObjects/Quaternion.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Rectangle.d.ts","sourceRoot":"","sources":["../../../src/ValueObjects/Rectangle.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,SAAS;WACN,OAAO,CAAC,GAAG,EAAE,YAAY,GAAE,SAAS;IAIlD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,IAAI,GAAG,IAAI,YAAY,CAOtB;gBAEW,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;CAMrE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Rectangle.test.d.ts","sourceRoot":"","sources":["../../../src/ValueObjects/Rectangle.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Vector2.d.ts","sourceRoot":"","sources":["../../../src/ValueObjects/Vector2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC;AAE1B,qBAAa,OAAO;IAClB;;;OAGG;WACW,IAAI,IAAI,OAAO;IAI7B;;;OAGG;WACW,GAAG,IAAI,OAAO;IAI5B;;;;;OAKG;WACW,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO;IAMpD;;;;OAIG;WACW,OAAO,CAAC,GAAG,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO;IAI7D;;;;;OAKG;WACW,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO;IAIlD;;;;;OAKG;WACW,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO;IAIvD;;;;;;OAMG;IACH,OAAc,KAAK,GACjB,GAAG,OAAO,EACV,GAAG,OAAO,EACV,YAAW,MAAa,KACvB,OAAO,CAMR;IAEF;;;;;OAKG;IACH,OAAc,MAAM,GAAI,KAAK,OAAO,EAAE,OAAO,KAAK,KAAG,OAAO,CAI1D;IAEF;;;;;OAKG;IACH,OAAc,KAAK,GAAI,QAAQ,OAAO,EAAE,OAAO,MAAM,KAAG,OAAO,CAI7D;IAEF;;;;;OAKG;IACH,OAAc,iBAAiB,GAC7B,QAAQ,OAAO,EACf,QAAQ,MAAM,KACb,OAAO,CAKR;IAEF;;;;;OAKG;IACH,OAAc,GAAG,GAAI,GAAG,OAAO,EAAE,GAAG,OAAO,KAAG,MAAM,CAElD;IAEF;;;;;OAKG;IACH,OAAc,YAAY,GAAI,GAAG,OAAO,EAAE,GAAG,OAAO,KAAG,KAAK,CAO1D;IAEF;;;;;OAKG;IACH,OAAc,KAAK,GAAI,GAAG,OAAO,EAAE,GAAG,OAAO,KAAG,MAAM,CAEpD;IAEF,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,CAMtB;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,OAAO,CASlB;IAED;;;OAGG;IACH,IAAI,KAAK,IAAI,MAAM,CAElB;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAE5B;IAED;;OAEG;IACH,IAAI,GAAG,IAAI;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAElC;gBAEW,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;CAIjC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Vector2.test.d.ts","sourceRoot":"","sources":["../../../src/ValueObjects/Vector2.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Vector3.d.ts","sourceRoot":"","sources":["../../../src/ValueObjects/Vector3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,MAAM,WAAW,UAAU;IACzB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,qBAAa,OAAO;IAClB;;;OAGG;WACW,IAAI;IAIlB;;;OAGG;WACW,GAAG;IAIjB;;;;OAIG;WACW,KAAK,CAAC,MAAM,SAAI;IAI9B;;;;OAIG;WACW,IAAI,CAAC,MAAM,SAAI;IAI7B;;;;OAIG;WACW,EAAE,CAAC,MAAM,SAAI;IAI3B;;;;OAIG;WACW,IAAI,CAAC,MAAM,SAAI;IAI7B;;;;OAIG;WACW,OAAO,CAAC,MAAM,SAAI;IAIhC;;;;OAIG;WACW,QAAQ,CAAC,MAAM,SAAI;IAIjC;;;;OAIG;WACW,SAAS,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO;IAIlE;;;;OAIG;WACW,OAAO,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO;IAI/C;;;;;OAKG;IACH,MAAM,CAAC,GAAG,GAAI,GAAG,OAAO,EAAE,GAAG,OAAO,KAAG,OAAO,CAE5C;IAEF;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,GAAI,GAAG,OAAO,EAAE,GAAG,OAAO,KAAG,OAAO,CAEjD;IAEF;;;;;OAKG;IACH,MAAM,CAAC,KAAK,GAAI,GAAG,OAAO,EAAE,GAAG,OAAO,KAAG,OAAO,CAG9C;IAEF;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,GAAI,GAAG,OAAO,EAAE,GAAG,OAAO,EAAE,kBAAgB,KAAG,OAAO,CAMhE;IAEF;;;;;OAKG;IACH,MAAM,CAAC,KAAK,GAAI,GAAG,OAAO,EAAE,GAAG,OAAO,KAAG,OAAO,CAK9C;IAEF;;;;;OAKG;IACH,MAAM,CAAC,GAAG,GAAI,GAAG,OAAO,EAAE,GAAG,OAAO,KAAG,MAAM,CAE3C;IAEF;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,GAAI,KAAK,OAAO,EAAE,QAAQ,MAAM,KAAG,OAAO,CAGhE;IAEF,MAAM,CAAC,SAAS,GAAI,QAAQ,OAAO,EAAE,QAAQ,MAAM,KAAG,OAAO,CAa3D;IAEF;;;;;;OAMG;IACH,MAAM,CAAC,IAAI,GACT,SAAS,OAAO,EAChB,OAAO,OAAO,EACd,SAAS,MAAM,KACd,OAAO,CAMR;IAEF,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAIhC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,IAAI,SAAS,IAAI,MAAM,CAOtB;IAED;;;OAGG;IACH,IAAI,IAAI,IAAI,OAAO,CAUlB;IAED;;;OAGG;IACH,IAAI,KAAK,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAEpC;IAED;;OAEG;IACH,IAAI,GAAG,IAAI,UAAU,CAEpB;gBAEW,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;CAK5C"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Vector3.test.d.ts","sourceRoot":"","sources":["../../../src/ValueObjects/Vector3.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ValueObjects/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export * from "./AppObject";
2
2
  export * from "./Entities";
3
3
  export * from "./Types";
4
+ export * from "./Utilities";
4
5
  export * from "./ValueObjects";
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC"}
package/package.json CHANGED
@@ -1,13 +1,18 @@
1
1
  {
2
2
  "name": "@vived/core",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "Core Components for VIVED Apps and Hosts",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
5
+ "main": "dist/cjs/index.js",
6
+ "module": "dist/esm/index.js",
7
+ "types": "dist/types/index.d.ts",
8
+ "exports": {
9
+ "import": "./dist/esm/index.js",
10
+ "require": "./dist/cjs/index.js"
11
+ },
7
12
  "scripts": {
8
13
  "test": "jest --watch --config jestconfig.json",
9
14
  "testOnce": "jest --config jestconfig.json",
10
- "build": "tsc",
15
+ "build": "tsc --build tsconfig.build.json",
11
16
  "format": "prettier --write \"src/**/*.ts\" \"src/**/*.js\"",
12
17
  "lint": "tslint -p tsconfig.json",
13
18
  "prepare": "npm run build",
@@ -28,6 +33,7 @@
28
33
  "homepage": "https://bitbucket.org/cyberscience3d/npm_vived_core#readme",
29
34
  "devDependencies": {
30
35
  "@types/jest": "^29.5.14",
36
+ "@types/uuid": "^10.0.0",
31
37
  "jest": "^29.7.0",
32
38
  "prettier": "^3.5.3",
33
39
  "ts-jest": "^29.2.6",
@@ -37,5 +43,8 @@
37
43
  },
38
44
  "publishConfig": {
39
45
  "access": "public"
46
+ },
47
+ "dependencies": {
48
+ "uuid": "^11.1.0"
40
49
  }
41
50
  }
@@ -0,0 +1,30 @@
1
+ import {
2
+ feetToMeters,
3
+ inchesToMeters,
4
+ metersToFeet,
5
+ metersToInches,
6
+ } from "./LengthConverters";
7
+
8
+ test("Converting inches to meters", () => {
9
+ expect(inchesToMeters(0)).toEqual(0);
10
+ expect(inchesToMeters(12)).toEqual(0.30479983540808886);
11
+ expect(inchesToMeters(-12)).toEqual(-0.30479983540808886);
12
+ });
13
+
14
+ test("Converting meters to inches", () => {
15
+ expect(metersToInches(0)).toEqual(0);
16
+ expect(metersToInches(2)).toEqual(78.7402);
17
+ expect(metersToInches(-2)).toEqual(-78.7402);
18
+ });
19
+
20
+ test("Converting feet to meters", () => {
21
+ expect(feetToMeters(0)).toEqual(0);
22
+ expect(feetToMeters(5)).toEqual(1.5239999512320015);
23
+ expect(feetToMeters(-5)).toEqual(-1.5239999512320015);
24
+ });
25
+
26
+ test("Converting meters to feet", () => {
27
+ expect(metersToFeet(0)).toEqual(0);
28
+ expect(metersToFeet(2)).toEqual(6.56168);
29
+ expect(metersToFeet(-2)).toEqual(-6.56168);
30
+ });
@@ -0,0 +1,18 @@
1
+ const inchesPerMeter = 39.3701;
2
+ const feetPerMeter = 3.28084;
3
+
4
+ export function inchesToMeters(inches: number): number {
5
+ return inches / inchesPerMeter;
6
+ }
7
+
8
+ export function metersToInches(meters: number): number {
9
+ return meters * inchesPerMeter;
10
+ }
11
+
12
+ export function feetToMeters(feet: number): number {
13
+ return feet / feetPerMeter;
14
+ }
15
+
16
+ export function metersToFeet(meters: number): number {
17
+ return meters * feetPerMeter;
18
+ }
@@ -0,0 +1,109 @@
1
+ import { LerpNumber } from "./LerpNumber";
2
+
3
+ describe("Lerp Number", () => {
4
+ let lerpNumber: LerpNumber;
5
+ let updateFn: jest.Mock;
6
+
7
+ beforeEach(() => {
8
+ lerpNumber = new LerpNumber();
9
+ updateFn = jest.fn();
10
+ jest.useFakeTimers();
11
+ });
12
+
13
+ afterEach(() => {
14
+ jest.useRealTimers();
15
+ });
16
+
17
+ it("should lerp from start to end value", async () => {
18
+ lerpNumber.defaultDurationMS = 1000;
19
+ const promise = lerpNumber.lerp({
20
+ start: 0,
21
+ end: 100,
22
+ update: updateFn,
23
+ });
24
+
25
+ // Test middle point (should have multiple updates by this point)
26
+ jest.advanceTimersByTime(500);
27
+ expect(updateFn).toHaveBeenCalledWith(expect.closeTo(50, 5)); // Allow some margin due to interval timing
28
+
29
+ // Complete animation
30
+ jest.advanceTimersByTime(500);
31
+ await promise;
32
+
33
+ expect(updateFn).toHaveBeenCalledWith(0); // Start value
34
+ expect(updateFn).toHaveBeenLastCalledWith(100); // End value
35
+ });
36
+
37
+ it("should cancel lerp when requested", async () => {
38
+ const onCancel = jest.fn();
39
+ const promise = lerpNumber.lerp({
40
+ start: 0,
41
+ end: 100,
42
+ update: updateFn,
43
+ onCancel,
44
+ });
45
+
46
+ expect(lerpNumber.isLerping).toBe(true);
47
+
48
+ lerpNumber.cancel();
49
+ jest.advanceTimersByTime(10); // Allow interval to execute
50
+ await promise;
51
+
52
+ expect(lerpNumber.isLerping).toBe(false);
53
+ expect(onCancel).toHaveBeenCalled();
54
+ });
55
+
56
+ it("should respect custom duration", async () => {
57
+ const promise = lerpNumber.lerp({
58
+ start: 0,
59
+ end: 100,
60
+ update: updateFn,
61
+ durationMS: 500,
62
+ });
63
+
64
+ jest.advanceTimersByTime(250); // Half way
65
+ expect(updateFn).toHaveBeenLastCalledWith(expect.any(Number));
66
+
67
+ jest.advanceTimersByTime(250); // Complete
68
+ await promise;
69
+
70
+ expect(updateFn).toHaveBeenLastCalledWith(100);
71
+ });
72
+
73
+ it("should call onComplete when finished", async () => {
74
+ const onComplete = jest.fn();
75
+ const promise = lerpNumber.lerp({
76
+ start: 0,
77
+ end: 100,
78
+ update: updateFn,
79
+ onComplete,
80
+ });
81
+
82
+ jest.advanceTimersByTime(1000);
83
+ await promise;
84
+
85
+ expect(onComplete).toHaveBeenCalled();
86
+ });
87
+
88
+ it("should cancel existing lerp when starting a new one", async () => {
89
+ const onCancel = jest.fn();
90
+ const firstPromise = lerpNumber.lerp({
91
+ start: 0,
92
+ end: 100,
93
+ update: updateFn,
94
+ onCancel,
95
+ });
96
+
97
+ const secondPromise = lerpNumber.lerp({
98
+ start: 200,
99
+ end: 300,
100
+ update: updateFn,
101
+ });
102
+
103
+ jest.advanceTimersByTime(1000);
104
+ await Promise.all([firstPromise, secondPromise]);
105
+
106
+ expect(onCancel).toHaveBeenCalled();
107
+ expect(updateFn).toHaveBeenLastCalledWith(300);
108
+ });
109
+ });
@@ -0,0 +1,109 @@
1
+ import { EaseFn } from "../Types";
2
+ import { quintInOut } from "./easeFunctions";
3
+
4
+ /**
5
+ * Configuration object for performing a linear interpolation (lerp) operation.
6
+ * @interface LerpNumberDTO
7
+ */
8
+ export interface LerpNumberDTO {
9
+ /** Starting value of the lerp */
10
+ start: number;
11
+ /** Target/ending value of the lerp */
12
+ end: number;
13
+ /** Callback function that receives the interpolated value on each update */
14
+ update: (value: number) => void;
15
+ /** Duration of the lerp in milliseconds. Defaults to LerpNumber.defaultDurationMS */
16
+ durationMS?: number;
17
+ /** Easing function to modify the interpolation curve. Defaults to LerpNumber.defaultEase */
18
+ ease?: EaseFn;
19
+ /** Optional callback function called when lerp completes naturally */
20
+ onComplete?: () => void;
21
+ /** Optional callback function called when lerp is cancelled */
22
+ onCancel?: () => void;
23
+ }
24
+
25
+ /**
26
+ * Utility class for smoothly interpolating between two numbers over time.
27
+ * Uses requestAnimationFrame for smooth animation and supports custom easing functions.
28
+ *
29
+ * @example
30
+ * const lerper = new LerpNumber();
31
+ * // Animate from 0 to 100 over 2 seconds
32
+ * await lerper.lerp({
33
+ * start: 0,
34
+ * end: 100,
35
+ * durationMS: 2000,
36
+ * update: (value) => console.log(value)
37
+ * });
38
+ */
39
+ export class LerpNumber {
40
+ public defaultDurationMS = 1000;
41
+ public defaultEase: EaseFn = quintInOut;
42
+
43
+ public get isLerping() {
44
+ return this._isLerping;
45
+ }
46
+ private _isLerping = false;
47
+
48
+ /**
49
+ * Cancels the current lerp operation if one is in progress.
50
+ * Triggers the onCancel callback if provided in the original lerp configuration.
51
+ */
52
+ public cancel() {
53
+ if (!this._isLerping) return;
54
+
55
+ this._cancelLerp = true;
56
+ }
57
+
58
+ private _cancelLerp = false;
59
+
60
+ /**
61
+ * Initiates a lerp (linear interpolation) operation.
62
+ * If a lerp is already in progress, it will be cancelled before starting the new one.
63
+ *
64
+ * @param data - Configuration object for the lerp operation
65
+ * @returns Promise that resolves when the lerp completes or is cancelled
66
+ * @throws Never throws, but may reject if the update function throws
67
+ */
68
+ lerp = (data: LerpNumberDTO): Promise<void> => {
69
+ if (this._isLerping) {
70
+ this.cancel();
71
+ }
72
+ const { start, end, durationMS, ease, onComplete, update, onCancel } = data;
73
+
74
+ const durationToUse = durationMS ?? this.defaultDurationMS;
75
+ const easeToUse = ease ?? this.defaultEase;
76
+
77
+ return new Promise((resolve) => {
78
+ const startTime = performance.now();
79
+ this._isLerping = true;
80
+
81
+ update(start);
82
+
83
+ const interval = setInterval(() => {
84
+ if (this._cancelLerp) {
85
+ clearInterval(interval);
86
+ this._isLerping = false;
87
+ this._cancelLerp = false;
88
+ if (onCancel) onCancel();
89
+ return resolve();
90
+ }
91
+
92
+ const currentTime = performance.now();
93
+ const elapsedTime = currentTime - startTime;
94
+ const progress = Math.min(elapsedTime / durationToUse, 1);
95
+ const easedProgress = easeToUse(progress);
96
+ const value = start + (end - start) * easedProgress;
97
+ update(value);
98
+
99
+ if (progress >= 1) {
100
+ clearInterval(interval);
101
+ this._isLerping = false;
102
+ update(end);
103
+ if (onComplete) onComplete();
104
+ resolve();
105
+ }
106
+ }, 10);
107
+ });
108
+ };
109
+ }
@@ -0,0 +1,8 @@
1
+ import { degreesToRadians } from "./degreesToRadians"
2
+
3
+ test("Converting degrees to radians", ()=>{
4
+ expect(degreesToRadians(0)).toEqual(0);
5
+ expect(degreesToRadians(180)).toBeCloseTo(Math.PI);
6
+ expect(degreesToRadians(-90)).toBeCloseTo(-Math.PI/2);
7
+ })
8
+
@@ -0,0 +1,3 @@
1
+ export function degreesToRadians(deg: number):number{
2
+ return deg * Math.PI / 180;
3
+ }
@@ -0,0 +1,251 @@
1
+ import {
2
+ easeLinear,
3
+ quadIn,
4
+ quadInOut,
5
+ quadOut,
6
+ cubicIn,
7
+ cubicInOut,
8
+ cubicOut,
9
+ expoIn,
10
+ expoInOut,
11
+ expoOut,
12
+ sinIn,
13
+ sinInOut,
14
+ sinOut,
15
+ quartIn,
16
+ quartInOut,
17
+ quartOut,
18
+ quintIn,
19
+ quintInOut,
20
+ quintOut,
21
+ circIn,
22
+ circInOut,
23
+ circOut,
24
+ } from "./easeFunctions";
25
+
26
+ it("Returns the proper values for ease linear", () => {
27
+ expect(easeLinear(-1)).toEqual(0);
28
+ expect(easeLinear(0)).toEqual(0);
29
+ expect(easeLinear(0.25)).toEqual(0.25);
30
+ expect(easeLinear(0.5)).toEqual(0.5);
31
+ expect(easeLinear(0.75)).toEqual(0.75);
32
+ expect(easeLinear(1)).toEqual(1);
33
+ expect(easeLinear(2)).toEqual(1);
34
+ });
35
+
36
+ // Quad
37
+ it("Returns the proper val for quad in", () => {
38
+ expect(quadIn(-1)).toEqual(0);
39
+ expect(quadIn(0)).toEqual(0);
40
+ expect(quadIn(0.25)).toEqual(0.0625);
41
+ expect(quadIn(0.5)).toEqual(0.25);
42
+ expect(quadIn(0.75)).toEqual(0.5625);
43
+ expect(quadIn(1)).toEqual(1);
44
+ expect(quadIn(2)).toEqual(1);
45
+ });
46
+
47
+ it("Returns the proper val for quad out", () => {
48
+ expect(quadOut(-1)).toEqual(0);
49
+ expect(quadOut(0)).toEqual(0);
50
+ expect(quadOut(0.25)).toEqual(0.4375);
51
+ expect(quadOut(0.5)).toEqual(0.75);
52
+ expect(quadOut(0.75)).toEqual(0.9375);
53
+ expect(quadOut(1)).toEqual(1);
54
+ expect(quadOut(2)).toEqual(1);
55
+ });
56
+
57
+ it("Returns the proper val for quad in out", () => {
58
+ expect(quadInOut(-1)).toEqual(0);
59
+ expect(quadInOut(0)).toEqual(0);
60
+ expect(quadInOut(0.25)).toEqual(0.125);
61
+ expect(quadInOut(0.5)).toEqual(0.5);
62
+ expect(quadInOut(0.75)).toEqual(0.875);
63
+ expect(quadInOut(1)).toEqual(1);
64
+ expect(quadInOut(2)).toEqual(1);
65
+ });
66
+
67
+ // Cubic
68
+ it("Returns the proper val for cubic in", () => {
69
+ expect(cubicIn(-1)).toEqual(0);
70
+ expect(cubicIn(0)).toEqual(0);
71
+ expect(cubicIn(0.25)).toEqual(0.015625);
72
+ expect(cubicIn(0.5)).toEqual(0.125);
73
+ expect(cubicIn(0.75)).toEqual(0.421875);
74
+ expect(cubicIn(1)).toEqual(1);
75
+ expect(cubicIn(2)).toEqual(1);
76
+ });
77
+
78
+ it("Returns the proper val for cubic out", () => {
79
+ expect(cubicOut(-1)).toEqual(0);
80
+ expect(cubicOut(0)).toEqual(0);
81
+ expect(cubicOut(0.25)).toEqual(0.578125);
82
+ expect(cubicOut(0.5)).toEqual(0.875);
83
+ expect(cubicOut(0.75)).toEqual(0.984375);
84
+ expect(cubicOut(1)).toEqual(1);
85
+ expect(cubicOut(2)).toEqual(1);
86
+ });
87
+
88
+ it("Returns the proper val for cubic in out", () => {
89
+ expect(cubicInOut(-1)).toEqual(0);
90
+ expect(cubicInOut(0)).toEqual(0);
91
+ expect(cubicInOut(0.25)).toEqual(0.0625);
92
+ expect(cubicInOut(0.5)).toEqual(0.5);
93
+ expect(cubicInOut(0.75)).toEqual(0.9375);
94
+ expect(cubicInOut(1)).toEqual(1);
95
+ expect(cubicInOut(2)).toEqual(1);
96
+ });
97
+
98
+ // Expo
99
+ it("Returns the proper val for Expo in", () => {
100
+ expect(expoIn(-1)).toEqual(0);
101
+ expect(expoIn(0)).toEqual(0);
102
+ expect(expoIn(0.25)).toEqual(0.005524271728019902);
103
+ expect(expoIn(0.5)).toEqual(0.03125);
104
+ expect(expoIn(0.75)).toEqual(0.17677669529663687);
105
+ expect(expoIn(1)).toEqual(1);
106
+ expect(expoIn(2)).toEqual(1);
107
+ });
108
+
109
+ it("Returns the proper val for Expo out", () => {
110
+ expect(expoOut(-1)).toEqual(0);
111
+ expect(expoOut(0)).toEqual(0);
112
+ expect(expoOut(0.25)).toEqual(0.8232233047033631);
113
+ expect(expoOut(0.5)).toEqual(0.96875);
114
+ expect(expoOut(0.75)).toEqual(0.99447572827198);
115
+ expect(expoOut(1)).toEqual(1);
116
+ expect(expoOut(2)).toEqual(1);
117
+ });
118
+
119
+ it("Returns the proper val for Expo in out", () => {
120
+ expect(expoInOut(-1)).toEqual(0);
121
+ expect(expoInOut(0)).toEqual(0);
122
+ expect(expoInOut(0.25)).toEqual(0.015625);
123
+ expect(expoInOut(0.5)).toEqual(0.5);
124
+ expect(expoInOut(0.75)).toEqual(0.984375);
125
+ expect(expoInOut(1)).toEqual(1);
126
+ expect(expoInOut(2)).toEqual(1);
127
+ });
128
+
129
+ // Sin
130
+ it("Returns the proper val for Sin in", () => {
131
+ expect(sinIn(-1)).toEqual(0);
132
+ expect(sinIn(0)).toEqual(0);
133
+ expect(sinIn(0.25)).toEqual(0.07612046748871326);
134
+ expect(sinIn(0.5)).toEqual(0.2928932188134524);
135
+ expect(sinIn(0.75)).toEqual(0.6173165676349102);
136
+ expect(sinIn(1)).toEqual(1);
137
+ expect(sinIn(2)).toEqual(1);
138
+ });
139
+
140
+ it("Returns the proper val for Sin out", () => {
141
+ expect(sinOut(-1)).toEqual(0);
142
+ expect(sinOut(0)).toEqual(0);
143
+ expect(sinOut(0.25)).toEqual(0.3826834323650898);
144
+ expect(sinOut(0.5)).toEqual(0.7071067811865475);
145
+ expect(sinOut(0.75)).toEqual(0.9238795325112867);
146
+ expect(sinOut(1)).toEqual(1);
147
+ expect(sinOut(2)).toEqual(1);
148
+ });
149
+
150
+ it("Returns the proper val for Sin in out", () => {
151
+ expect(sinInOut(-1)).toEqual(0);
152
+ expect(sinInOut(0)).toEqual(0);
153
+ expect(sinInOut(0.25)).toEqual(0.1464466094067262);
154
+ expect(sinInOut(0.5)).toBeCloseTo(0.5);
155
+ expect(sinInOut(0.75)).toEqual(0.8535533905932737);
156
+ expect(sinInOut(1)).toEqual(1);
157
+ expect(sinInOut(2)).toEqual(1);
158
+ });
159
+
160
+ // Quart
161
+ it("Returns the proper val for Quart in", () => {
162
+ expect(quartIn(-1)).toEqual(0);
163
+ expect(quartIn(0)).toEqual(0);
164
+ expect(quartIn(0.25)).toEqual(0.00390625);
165
+ expect(quartIn(0.5)).toEqual(0.0625);
166
+ expect(quartIn(0.75)).toEqual(0.31640625);
167
+ expect(quartIn(1)).toEqual(1);
168
+ expect(quartIn(2)).toEqual(1);
169
+ });
170
+
171
+ it("Returns the proper val for Quart out", () => {
172
+ expect(quartOut(-1)).toEqual(0);
173
+ expect(quartOut(0)).toEqual(0);
174
+ expect(quartOut(0.25)).toEqual(0.68359375);
175
+ expect(quartOut(0.5)).toEqual(0.9375);
176
+ expect(quartOut(0.75)).toEqual(0.99609375);
177
+ expect(quartOut(1)).toEqual(1);
178
+ expect(quartOut(2)).toEqual(1);
179
+ });
180
+
181
+ it("Returns the proper val for Quart in out", () => {
182
+ expect(quartInOut(-1)).toEqual(0);
183
+ expect(quartInOut(0)).toEqual(0);
184
+ expect(quartInOut(0.25)).toEqual(0.03125);
185
+ expect(quartInOut(0.5)).toBeCloseTo(0.5);
186
+ expect(quartInOut(0.75)).toEqual(0.96875);
187
+ expect(quartInOut(1)).toEqual(1);
188
+ expect(quartInOut(2)).toEqual(1);
189
+ });
190
+
191
+ // Quint
192
+ it("Returns the proper val for Quint in", () => {
193
+ expect(quintIn(-1)).toEqual(0);
194
+ expect(quintIn(0)).toEqual(0);
195
+ expect(quintIn(0.25)).toEqual(0.0009765625);
196
+ expect(quintIn(0.5)).toEqual(0.03125);
197
+ expect(quintIn(0.75)).toEqual(0.2373046875);
198
+ expect(quintIn(1)).toEqual(1);
199
+ expect(quintIn(2)).toEqual(1);
200
+ });
201
+
202
+ it("Returns the proper val for Quint out", () => {
203
+ expect(quintOut(-1)).toEqual(0);
204
+ expect(quintOut(0)).toEqual(0);
205
+ expect(quintOut(0.25)).toEqual(0.7626953125);
206
+ expect(quintOut(0.5)).toEqual(0.96875);
207
+ expect(quintOut(0.75)).toEqual(0.9990234375);
208
+ expect(quintOut(1)).toEqual(1);
209
+ expect(quintOut(2)).toEqual(1);
210
+ });
211
+
212
+ it("Returns the proper val for Quint in out", () => {
213
+ expect(quintInOut(-1)).toEqual(0);
214
+ expect(quintInOut(0)).toEqual(0);
215
+ expect(quintInOut(0.25)).toEqual(0.015625);
216
+ expect(quintInOut(0.5)).toBeCloseTo(0.5);
217
+ expect(quintInOut(0.75)).toEqual(0.984375);
218
+ expect(quintInOut(1)).toEqual(1);
219
+ expect(quintInOut(2)).toEqual(1);
220
+ });
221
+
222
+ // Circ
223
+ it("Returns the proper val for Circ in", () => {
224
+ expect(circIn(-1)).toEqual(0);
225
+ expect(circIn(0)).toEqual(0);
226
+ expect(circIn(0.25)).toEqual(0.031754163448145745);
227
+ expect(circIn(0.5)).toEqual(0.1339745962155614);
228
+ expect(circIn(0.75)).toEqual(0.3385621722338523);
229
+ expect(circIn(1)).toEqual(1);
230
+ expect(circIn(2)).toEqual(1);
231
+ });
232
+
233
+ it("Returns the proper val for Circ out", () => {
234
+ expect(circOut(-1)).toEqual(0);
235
+ expect(circOut(0)).toEqual(0);
236
+ expect(circOut(0.25)).toEqual(0.6614378277661477);
237
+ expect(circOut(0.5)).toEqual(0.8660254037844386);
238
+ expect(circOut(0.75)).toEqual(0.9682458365518543);
239
+ expect(circOut(1)).toEqual(1);
240
+ expect(circOut(2)).toEqual(1);
241
+ });
242
+
243
+ it("Returns the proper val for Circ in out", () => {
244
+ expect(circInOut(-1)).toEqual(0);
245
+ expect(circInOut(0)).toEqual(0);
246
+ expect(circInOut(0.25)).toEqual(0.0669872981077807);
247
+ expect(circInOut(0.5)).toBeCloseTo(0.5);
248
+ expect(circInOut(0.75)).toEqual(0.9330127018922193);
249
+ expect(circInOut(1)).toEqual(1);
250
+ expect(circInOut(2)).toEqual(1);
251
+ });