@vived/core 1.2.1 → 1.2.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 (570) 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/RangedNumber.js +36 -0
  80. package/dist/cjs/Entities/RangedNumber.js.map +1 -0
  81. package/dist/cjs/Entities/RangedNumber.test.js +96 -0
  82. package/dist/cjs/Entities/RangedNumber.test.js.map +1 -0
  83. package/dist/cjs/Entities/index.js +28 -0
  84. package/dist/cjs/Entities/index.js.map +1 -0
  85. package/dist/cjs/Types/AppBoundary.js +3 -0
  86. package/dist/cjs/Types/AppBoundary.js.map +1 -0
  87. package/dist/cjs/Types/EaseFn.js +3 -0
  88. package/dist/cjs/Types/EaseFn.js.map +1 -0
  89. package/dist/cjs/Types/PmAdapter.js +3 -0
  90. package/dist/cjs/Types/PmAdapter.js.map +1 -0
  91. package/dist/cjs/Types/SingletonPmAdapter.js +3 -0
  92. package/dist/cjs/Types/SingletonPmAdapter.js.map +1 -0
  93. package/dist/cjs/Types/index.js +21 -0
  94. package/dist/cjs/Types/index.js.map +1 -0
  95. package/dist/cjs/Utilities/LengthConverters.js +21 -0
  96. package/dist/cjs/Utilities/LengthConverters.js.map +1 -0
  97. package/dist/cjs/Utilities/LengthConverters.test.js +24 -0
  98. package/dist/cjs/Utilities/LengthConverters.test.js.map +1 -0
  99. package/dist/cjs/Utilities/LerpNumber.js +85 -0
  100. package/dist/cjs/Utilities/LerpNumber.js.map +1 -0
  101. package/dist/cjs/Utilities/LerpNumber.test.js +90 -0
  102. package/dist/cjs/Utilities/LerpNumber.test.js.map +1 -0
  103. package/dist/cjs/Utilities/degreesToRadians.js +7 -0
  104. package/dist/cjs/Utilities/degreesToRadians.js.map +1 -0
  105. package/dist/cjs/Utilities/degreesToRadians.test.js +9 -0
  106. package/dist/cjs/Utilities/degreesToRadians.test.js.map +1 -0
  107. package/dist/cjs/Utilities/easeFunctions.js +208 -0
  108. package/dist/cjs/Utilities/easeFunctions.js.map +1 -0
  109. package/dist/cjs/Utilities/easeFunctions.test.js +209 -0
  110. package/dist/cjs/Utilities/easeFunctions.test.js.map +1 -0
  111. package/dist/cjs/Utilities/generateUniqueID.js +8 -0
  112. package/dist/cjs/Utilities/generateUniqueID.js.map +1 -0
  113. package/dist/cjs/Utilities/index.js +22 -0
  114. package/dist/cjs/Utilities/index.js.map +1 -0
  115. package/dist/cjs/Utilities/interpolateNumber.js +18 -0
  116. package/dist/cjs/Utilities/interpolateNumber.js.map +1 -0
  117. package/dist/cjs/Utilities/interpolateNumber.test.js +26 -0
  118. package/dist/cjs/Utilities/interpolateNumber.test.js.map +1 -0
  119. package/dist/cjs/ValueObjects/Angle.js +47 -0
  120. package/dist/cjs/ValueObjects/Angle.js.map +1 -0
  121. package/dist/cjs/ValueObjects/Angle.test.js +28 -0
  122. package/dist/cjs/ValueObjects/Angle.test.js.map +1 -0
  123. package/dist/cjs/ValueObjects/Color.js +859 -0
  124. package/dist/cjs/ValueObjects/Color.js.map +1 -0
  125. package/dist/cjs/ValueObjects/Color.test.js +147 -0
  126. package/dist/cjs/ValueObjects/Color.test.js.map +1 -0
  127. package/dist/cjs/ValueObjects/LineSegment2D.js +72 -0
  128. package/dist/cjs/ValueObjects/LineSegment2D.js.map +1 -0
  129. package/dist/cjs/ValueObjects/LineSegment2D.test.js +102 -0
  130. package/dist/cjs/ValueObjects/LineSegment2D.test.js.map +1 -0
  131. package/dist/cjs/ValueObjects/Matrix.js +466 -0
  132. package/dist/cjs/ValueObjects/Matrix.js.map +1 -0
  133. package/dist/cjs/ValueObjects/Matrix.test.js +385 -0
  134. package/dist/cjs/ValueObjects/Matrix.test.js.map +1 -0
  135. package/dist/cjs/ValueObjects/ParametricLine.js +77 -0
  136. package/dist/cjs/ValueObjects/ParametricLine.js.map +1 -0
  137. package/dist/cjs/ValueObjects/ParametricLine.test.js +126 -0
  138. package/dist/cjs/ValueObjects/ParametricLine.test.js.map +1 -0
  139. package/dist/cjs/ValueObjects/ParametricPlane.js +65 -0
  140. package/dist/cjs/ValueObjects/ParametricPlane.js.map +1 -0
  141. package/dist/cjs/ValueObjects/ParametricPlane.test.js +101 -0
  142. package/dist/cjs/ValueObjects/ParametricPlane.test.js.map +1 -0
  143. package/dist/cjs/ValueObjects/Quaternion.js +290 -0
  144. package/dist/cjs/ValueObjects/Quaternion.js.map +1 -0
  145. package/dist/cjs/ValueObjects/Quaternion.test.js +240 -0
  146. package/dist/cjs/ValueObjects/Quaternion.test.js.map +1 -0
  147. package/dist/cjs/ValueObjects/Rectangle.js +24 -0
  148. package/dist/cjs/ValueObjects/Rectangle.js.map +1 -0
  149. package/dist/cjs/ValueObjects/Rectangle.test.js +32 -0
  150. package/dist/cjs/ValueObjects/Rectangle.test.js.map +1 -0
  151. package/dist/cjs/ValueObjects/Vector2.js +184 -0
  152. package/dist/cjs/ValueObjects/Vector2.js.map +1 -0
  153. package/dist/cjs/ValueObjects/Vector2.test.js +136 -0
  154. package/dist/cjs/ValueObjects/Vector2.test.js.map +1 -0
  155. package/dist/cjs/ValueObjects/Vector3.js +231 -0
  156. package/dist/cjs/ValueObjects/Vector3.js.map +1 -0
  157. package/dist/cjs/ValueObjects/Vector3.test.js +188 -0
  158. package/dist/cjs/ValueObjects/Vector3.test.js.map +1 -0
  159. package/dist/cjs/ValueObjects/index.js +27 -0
  160. package/dist/cjs/ValueObjects/index.js.map +1 -0
  161. package/dist/cjs/index.js +22 -0
  162. package/dist/cjs/index.js.map +1 -0
  163. package/dist/esm/AppObject/AppObject.js +54 -0
  164. package/dist/esm/AppObject/AppObject.js.map +1 -0
  165. package/dist/esm/AppObject/AppObject.test.js +110 -0
  166. package/dist/esm/AppObject/AppObject.test.js.map +1 -0
  167. package/dist/esm/AppObject/AppObjectComponent.js +78 -0
  168. package/dist/esm/AppObject/AppObjectComponent.js.map +1 -0
  169. package/dist/esm/AppObject/AppObjectComponent.test.js +130 -0
  170. package/dist/esm/AppObject/AppObjectComponent.test.js.map +1 -0
  171. package/dist/esm/AppObject/AppObjectController.js +8 -0
  172. package/dist/esm/AppObject/AppObjectController.js.map +1 -0
  173. package/dist/esm/AppObject/AppObjectEntity.js +34 -0
  174. package/dist/esm/AppObject/AppObjectEntity.js.map +1 -0
  175. package/dist/esm/AppObject/AppObjectEntity.test.js +106 -0
  176. package/dist/esm/AppObject/AppObjectEntity.test.js.map +1 -0
  177. package/dist/esm/AppObject/AppObjectEntityRepo.js +52 -0
  178. package/dist/esm/AppObject/AppObjectEntityRepo.js.map +1 -0
  179. package/dist/esm/AppObject/AppObjectEntityRepo.test.js +147 -0
  180. package/dist/esm/AppObject/AppObjectEntityRepo.test.js.map +1 -0
  181. package/dist/esm/AppObject/AppObjectPM.js +36 -0
  182. package/dist/esm/AppObject/AppObjectPM.js.map +1 -0
  183. package/dist/esm/AppObject/AppObjectPM.test.js +101 -0
  184. package/dist/esm/AppObject/AppObjectPM.test.js.map +1 -0
  185. package/dist/esm/AppObject/AppObjectRepo.js +128 -0
  186. package/dist/esm/AppObject/AppObjectRepo.js.map +1 -0
  187. package/dist/esm/AppObject/AppObjectRepo.test.js +211 -0
  188. package/dist/esm/AppObject/AppObjectRepo.test.js.map +1 -0
  189. package/dist/esm/AppObject/AppObjectUC.js +8 -0
  190. package/dist/esm/AppObject/AppObjectUC.js.map +1 -0
  191. package/dist/esm/AppObject/AppObjectView.js +8 -0
  192. package/dist/esm/AppObject/AppObjectView.js.map +1 -0
  193. package/dist/esm/AppObject/getSingletonComponent.js +4 -0
  194. package/dist/esm/AppObject/getSingletonComponent.js.map +1 -0
  195. package/dist/esm/AppObject/getSingletonComponent.test.js +11 -0
  196. package/dist/esm/AppObject/getSingletonComponent.test.js.map +1 -0
  197. package/dist/esm/AppObject/index.js +11 -0
  198. package/dist/esm/AppObject/index.js.map +1 -0
  199. package/dist/esm/AppObject/printAppObjectDetails.js +15 -0
  200. package/dist/esm/AppObject/printAppObjectDetails.js.map +1 -0
  201. package/dist/esm/Entities/MemoizedAngle.js +19 -0
  202. package/dist/esm/Entities/MemoizedAngle.js.map +1 -0
  203. package/dist/esm/Entities/MemoizedAngle.test.js +28 -0
  204. package/dist/esm/Entities/MemoizedAngle.test.js.map +1 -0
  205. package/dist/esm/Entities/MemoizedBoolean.js +19 -0
  206. package/dist/esm/Entities/MemoizedBoolean.js.map +1 -0
  207. package/dist/esm/Entities/MemoizedBoolean.test.js +32 -0
  208. package/dist/esm/Entities/MemoizedBoolean.test.js.map +1 -0
  209. package/dist/esm/Entities/MemoizedColor.js +20 -0
  210. package/dist/esm/Entities/MemoizedColor.js.map +1 -0
  211. package/dist/esm/Entities/MemoizedColor.test.js +30 -0
  212. package/dist/esm/Entities/MemoizedColor.test.js.map +1 -0
  213. package/dist/esm/Entities/MemoizedNumber.js +19 -0
  214. package/dist/esm/Entities/MemoizedNumber.js.map +1 -0
  215. package/dist/esm/Entities/MemoizedNumber.test.js +27 -0
  216. package/dist/esm/Entities/MemoizedNumber.test.js.map +1 -0
  217. package/dist/esm/Entities/MemoizedQuaternion.js +20 -0
  218. package/dist/esm/Entities/MemoizedQuaternion.js.map +1 -0
  219. package/dist/esm/Entities/MemoizedQuaternion.test.js +30 -0
  220. package/dist/esm/Entities/MemoizedQuaternion.test.js.map +1 -0
  221. package/dist/esm/Entities/MemoizedString.js +19 -0
  222. package/dist/esm/Entities/MemoizedString.js.map +1 -0
  223. package/dist/esm/Entities/MemoizedString.test.js +27 -0
  224. package/dist/esm/Entities/MemoizedString.test.js.map +1 -0
  225. package/dist/esm/Entities/MemoizedVector2.js +20 -0
  226. package/dist/esm/Entities/MemoizedVector2.js.map +1 -0
  227. package/dist/esm/Entities/MemoizedVector2.test.js +30 -0
  228. package/dist/esm/Entities/MemoizedVector2.test.js.map +1 -0
  229. package/dist/esm/Entities/MemoizedVector3.js +20 -0
  230. package/dist/esm/Entities/MemoizedVector3.js.map +1 -0
  231. package/dist/esm/Entities/MemoizedVector3.test.js +30 -0
  232. package/dist/esm/Entities/MemoizedVector3.test.js.map +1 -0
  233. package/dist/esm/Entities/ObservableEntity.js +16 -0
  234. package/dist/esm/Entities/ObservableEntity.js.map +1 -0
  235. package/dist/esm/Entities/ObservableEntity.test.js +23 -0
  236. package/dist/esm/Entities/ObservableEntity.test.js.map +1 -0
  237. package/dist/esm/Entities/ObserverList.js +23 -0
  238. package/dist/esm/Entities/ObserverList.js.map +1 -0
  239. package/dist/esm/Entities/ObserverList.test.js +42 -0
  240. package/dist/esm/Entities/ObserverList.test.js.map +1 -0
  241. package/dist/esm/Entities/RangedNumber.js +32 -0
  242. package/dist/esm/Entities/RangedNumber.js.map +1 -0
  243. package/dist/esm/Entities/RangedNumber.test.js +94 -0
  244. package/dist/esm/Entities/RangedNumber.test.js.map +1 -0
  245. package/{src/Entities/index.ts → dist/esm/Entities/index.js} +12 -11
  246. package/dist/esm/Entities/index.js.map +1 -0
  247. package/dist/esm/Types/AppBoundary.js +2 -0
  248. package/dist/esm/Types/AppBoundary.js.map +1 -0
  249. package/dist/esm/Types/EaseFn.js +2 -0
  250. package/dist/esm/Types/EaseFn.js.map +1 -0
  251. package/dist/esm/Types/PmAdapter.js +2 -0
  252. package/dist/esm/Types/PmAdapter.js.map +1 -0
  253. package/dist/esm/Types/SingletonPmAdapter.js +2 -0
  254. package/dist/esm/Types/SingletonPmAdapter.js.map +1 -0
  255. package/{src/Types/index.ts → dist/esm/Types/index.js} +5 -4
  256. package/dist/esm/Types/index.js.map +1 -0
  257. package/dist/esm/Utilities/LengthConverters.js +15 -0
  258. package/dist/esm/Utilities/LengthConverters.js.map +1 -0
  259. package/dist/esm/Utilities/LengthConverters.test.js +22 -0
  260. package/dist/esm/Utilities/LengthConverters.test.js.map +1 -0
  261. package/dist/esm/Utilities/LerpNumber.js +81 -0
  262. package/dist/esm/Utilities/LerpNumber.js.map +1 -0
  263. package/dist/esm/Utilities/LerpNumber.test.js +88 -0
  264. package/dist/esm/Utilities/LerpNumber.test.js.map +1 -0
  265. package/dist/esm/Utilities/degreesToRadians.js +4 -0
  266. package/dist/esm/Utilities/degreesToRadians.js.map +1 -0
  267. package/dist/esm/Utilities/degreesToRadians.test.js +7 -0
  268. package/dist/esm/Utilities/degreesToRadians.test.js.map +1 -0
  269. package/dist/esm/Utilities/easeFunctions.js +183 -0
  270. package/dist/esm/Utilities/easeFunctions.js.map +1 -0
  271. package/dist/esm/Utilities/easeFunctions.test.js +207 -0
  272. package/dist/esm/Utilities/easeFunctions.test.js.map +1 -0
  273. package/dist/esm/Utilities/generateUniqueID.js +5 -0
  274. package/dist/esm/Utilities/generateUniqueID.js.map +1 -0
  275. package/{src/Utilities/index.ts → dist/esm/Utilities/index.js} +6 -6
  276. package/dist/esm/Utilities/index.js.map +1 -0
  277. package/dist/esm/Utilities/interpolateNumber.js +15 -0
  278. package/dist/esm/Utilities/interpolateNumber.js.map +1 -0
  279. package/dist/esm/Utilities/interpolateNumber.test.js +24 -0
  280. package/dist/esm/Utilities/interpolateNumber.test.js.map +1 -0
  281. package/dist/esm/ValueObjects/Angle.js +43 -0
  282. package/dist/esm/ValueObjects/Angle.js.map +1 -0
  283. package/dist/esm/ValueObjects/Angle.test.js +26 -0
  284. package/dist/esm/ValueObjects/Angle.test.js.map +1 -0
  285. package/dist/esm/ValueObjects/Color.js +855 -0
  286. package/dist/esm/ValueObjects/Color.js.map +1 -0
  287. package/dist/esm/ValueObjects/Color.test.js +145 -0
  288. package/dist/esm/ValueObjects/Color.test.js.map +1 -0
  289. package/dist/esm/ValueObjects/LineSegment2D.js +68 -0
  290. package/dist/esm/ValueObjects/LineSegment2D.js.map +1 -0
  291. package/dist/esm/ValueObjects/LineSegment2D.test.js +100 -0
  292. package/dist/esm/ValueObjects/LineSegment2D.test.js.map +1 -0
  293. package/dist/esm/ValueObjects/Matrix.js +462 -0
  294. package/dist/esm/ValueObjects/Matrix.js.map +1 -0
  295. package/dist/esm/ValueObjects/Matrix.test.js +383 -0
  296. package/dist/esm/ValueObjects/Matrix.test.js.map +1 -0
  297. package/dist/esm/ValueObjects/ParametricLine.js +73 -0
  298. package/dist/esm/ValueObjects/ParametricLine.js.map +1 -0
  299. package/dist/esm/ValueObjects/ParametricLine.test.js +124 -0
  300. package/dist/esm/ValueObjects/ParametricLine.test.js.map +1 -0
  301. package/dist/esm/ValueObjects/ParametricPlane.js +61 -0
  302. package/dist/esm/ValueObjects/ParametricPlane.js.map +1 -0
  303. package/dist/esm/ValueObjects/ParametricPlane.test.js +99 -0
  304. package/dist/esm/ValueObjects/ParametricPlane.test.js.map +1 -0
  305. package/dist/esm/ValueObjects/Quaternion.js +286 -0
  306. package/dist/esm/ValueObjects/Quaternion.js.map +1 -0
  307. package/dist/esm/ValueObjects/Quaternion.test.js +238 -0
  308. package/dist/esm/ValueObjects/Quaternion.test.js.map +1 -0
  309. package/dist/esm/ValueObjects/Rectangle.js +20 -0
  310. package/dist/esm/ValueObjects/Rectangle.js.map +1 -0
  311. package/dist/esm/ValueObjects/Rectangle.test.js +30 -0
  312. package/dist/esm/ValueObjects/Rectangle.test.js.map +1 -0
  313. package/dist/esm/ValueObjects/Vector2.js +180 -0
  314. package/dist/esm/ValueObjects/Vector2.js.map +1 -0
  315. package/dist/esm/ValueObjects/Vector2.test.js +134 -0
  316. package/dist/esm/ValueObjects/Vector2.test.js.map +1 -0
  317. package/dist/esm/ValueObjects/Vector3.js +227 -0
  318. package/dist/esm/ValueObjects/Vector3.js.map +1 -0
  319. package/dist/esm/ValueObjects/Vector3.test.js +186 -0
  320. package/dist/esm/ValueObjects/Vector3.test.js.map +1 -0
  321. package/{src/ValueObjects/index.ts → dist/esm/ValueObjects/index.js} +11 -14
  322. package/dist/esm/ValueObjects/index.js.map +1 -0
  323. package/{src/index.ts → dist/esm/index.js} +6 -5
  324. package/dist/esm/index.js.map +1 -0
  325. package/dist/types/AppObject/AppObject.d.ts +15 -0
  326. package/dist/types/AppObject/AppObject.d.ts.map +1 -0
  327. package/dist/types/AppObject/AppObject.test.d.ts +7 -0
  328. package/dist/types/AppObject/AppObject.test.d.ts.map +1 -0
  329. package/dist/types/AppObject/AppObjectComponent.d.ts +26 -0
  330. package/dist/types/AppObject/AppObjectComponent.d.ts.map +1 -0
  331. package/dist/types/AppObject/AppObjectComponent.test.d.ts +2 -0
  332. package/dist/types/AppObject/AppObjectComponent.test.d.ts.map +1 -0
  333. package/dist/types/AppObject/AppObjectController.d.ts +5 -0
  334. package/dist/types/AppObject/AppObjectController.d.ts.map +1 -0
  335. package/dist/types/AppObject/AppObjectEntity.d.ts +16 -0
  336. package/dist/types/AppObject/AppObjectEntity.d.ts.map +1 -0
  337. package/dist/types/AppObject/AppObjectEntity.test.d.ts +2 -0
  338. package/dist/types/AppObject/AppObjectEntity.test.d.ts.map +1 -0
  339. package/dist/types/AppObject/AppObjectEntityRepo.d.ts +16 -0
  340. package/dist/types/AppObject/AppObjectEntityRepo.d.ts.map +1 -0
  341. package/dist/types/AppObject/AppObjectEntityRepo.test.d.ts +2 -0
  342. package/dist/types/AppObject/AppObjectEntityRepo.test.d.ts.map +1 -0
  343. package/dist/types/AppObject/AppObjectPM.d.ts +13 -0
  344. package/dist/types/AppObject/AppObjectPM.d.ts.map +1 -0
  345. package/dist/types/AppObject/AppObjectPM.test.d.ts +2 -0
  346. package/dist/types/AppObject/AppObjectPM.test.d.ts.map +1 -0
  347. package/dist/types/AppObject/AppObjectRepo.d.ts +26 -0
  348. package/dist/types/AppObject/AppObjectRepo.d.ts.map +1 -0
  349. package/dist/types/AppObject/AppObjectRepo.test.d.ts +2 -0
  350. package/dist/types/AppObject/AppObjectRepo.test.d.ts.map +1 -0
  351. package/dist/types/AppObject/AppObjectUC.d.ts +5 -0
  352. package/dist/types/AppObject/AppObjectUC.d.ts.map +1 -0
  353. package/dist/types/AppObject/AppObjectView.d.ts +5 -0
  354. package/dist/types/AppObject/AppObjectView.d.ts.map +1 -0
  355. package/dist/types/AppObject/getSingletonComponent.d.ts +4 -0
  356. package/dist/types/AppObject/getSingletonComponent.d.ts.map +1 -0
  357. package/dist/types/AppObject/getSingletonComponent.test.d.ts +2 -0
  358. package/dist/types/AppObject/getSingletonComponent.test.d.ts.map +1 -0
  359. package/dist/types/AppObject/index.d.ts +11 -0
  360. package/dist/types/AppObject/index.d.ts.map +1 -0
  361. package/dist/types/AppObject/printAppObjectDetails.d.ts +3 -0
  362. package/dist/types/AppObject/printAppObjectDetails.d.ts.map +1 -0
  363. package/dist/types/Entities/MemoizedAngle.d.ts +10 -0
  364. package/dist/types/Entities/MemoizedAngle.d.ts.map +1 -0
  365. package/dist/types/Entities/MemoizedAngle.test.d.ts +2 -0
  366. package/dist/types/Entities/MemoizedAngle.test.d.ts.map +1 -0
  367. package/dist/types/Entities/MemoizedBoolean.d.ts +9 -0
  368. package/dist/types/Entities/MemoizedBoolean.d.ts.map +1 -0
  369. package/dist/types/Entities/MemoizedBoolean.test.d.ts +2 -0
  370. package/dist/types/Entities/MemoizedBoolean.test.d.ts.map +1 -0
  371. package/dist/types/Entities/MemoizedColor.d.ts +10 -0
  372. package/dist/types/Entities/MemoizedColor.d.ts.map +1 -0
  373. package/dist/types/Entities/MemoizedColor.test.d.ts +2 -0
  374. package/dist/types/Entities/MemoizedColor.test.d.ts.map +1 -0
  375. package/dist/types/Entities/MemoizedNumber.d.ts +9 -0
  376. package/dist/types/Entities/MemoizedNumber.d.ts.map +1 -0
  377. package/dist/types/Entities/MemoizedNumber.test.d.ts +2 -0
  378. package/dist/types/Entities/MemoizedNumber.test.d.ts.map +1 -0
  379. package/dist/types/Entities/MemoizedQuaternion.d.ts +10 -0
  380. package/dist/types/Entities/MemoizedQuaternion.d.ts.map +1 -0
  381. package/dist/types/Entities/MemoizedQuaternion.test.d.ts +2 -0
  382. package/dist/types/Entities/MemoizedQuaternion.test.d.ts.map +1 -0
  383. package/dist/types/Entities/MemoizedString.d.ts +9 -0
  384. package/dist/types/Entities/MemoizedString.d.ts.map +1 -0
  385. package/dist/types/Entities/MemoizedString.test.d.ts +2 -0
  386. package/dist/types/Entities/MemoizedString.test.d.ts.map +1 -0
  387. package/dist/types/Entities/MemoizedVector2.d.ts +10 -0
  388. package/dist/types/Entities/MemoizedVector2.d.ts.map +1 -0
  389. package/dist/types/Entities/MemoizedVector2.test.d.ts +2 -0
  390. package/dist/types/Entities/MemoizedVector2.test.d.ts.map +1 -0
  391. package/dist/types/Entities/MemoizedVector3.d.ts +10 -0
  392. package/dist/types/Entities/MemoizedVector3.d.ts.map +1 -0
  393. package/dist/types/Entities/MemoizedVector3.test.d.ts +2 -0
  394. package/dist/types/Entities/MemoizedVector3.test.d.ts.map +1 -0
  395. package/dist/types/Entities/ObservableEntity.d.ts +8 -0
  396. package/dist/types/Entities/ObservableEntity.d.ts.map +1 -0
  397. package/dist/types/Entities/ObservableEntity.test.d.ts +2 -0
  398. package/dist/types/Entities/ObservableEntity.test.d.ts.map +1 -0
  399. package/dist/types/Entities/ObserverList.d.ts +8 -0
  400. package/dist/types/Entities/ObserverList.d.ts.map +1 -0
  401. package/dist/types/Entities/ObserverList.test.d.ts +2 -0
  402. package/dist/types/Entities/ObserverList.test.d.ts.map +1 -0
  403. package/dist/types/Entities/RangedNumber.d.ts +17 -0
  404. package/dist/types/Entities/RangedNumber.d.ts.map +1 -0
  405. package/dist/types/Entities/RangedNumber.test.d.ts +2 -0
  406. package/dist/types/Entities/RangedNumber.test.d.ts.map +1 -0
  407. package/dist/types/Entities/index.d.ts +12 -0
  408. package/dist/types/Entities/index.d.ts.map +1 -0
  409. package/dist/types/Types/AppBoundary.d.ts +11 -0
  410. package/dist/types/Types/AppBoundary.d.ts.map +1 -0
  411. package/dist/types/Types/EaseFn.d.ts +2 -0
  412. package/dist/types/Types/EaseFn.d.ts.map +1 -0
  413. package/dist/types/Types/PmAdapter.d.ts +7 -0
  414. package/dist/types/Types/PmAdapter.d.ts.map +1 -0
  415. package/dist/types/Types/SingletonPmAdapter.d.ts +7 -0
  416. package/dist/types/Types/SingletonPmAdapter.d.ts.map +1 -0
  417. package/dist/types/Types/index.d.ts +5 -0
  418. package/dist/types/Types/index.d.ts.map +1 -0
  419. package/dist/types/Utilities/LengthConverters.d.ts +5 -0
  420. package/dist/types/Utilities/LengthConverters.d.ts.map +1 -0
  421. package/dist/types/Utilities/LengthConverters.test.d.ts +2 -0
  422. package/dist/types/Utilities/LengthConverters.test.d.ts.map +1 -0
  423. package/dist/types/Utilities/LerpNumber.d.ts +57 -0
  424. package/dist/types/Utilities/LerpNumber.d.ts.map +1 -0
  425. package/dist/types/Utilities/LerpNumber.test.d.ts +2 -0
  426. package/dist/types/Utilities/LerpNumber.test.d.ts.map +1 -0
  427. package/dist/types/Utilities/degreesToRadians.d.ts +2 -0
  428. package/dist/types/Utilities/degreesToRadians.d.ts.map +1 -0
  429. package/dist/types/Utilities/degreesToRadians.test.d.ts +2 -0
  430. package/dist/types/Utilities/degreesToRadians.test.d.ts.map +1 -0
  431. package/dist/types/Utilities/easeFunctions.d.ts +24 -0
  432. package/dist/types/Utilities/easeFunctions.d.ts.map +1 -0
  433. package/dist/types/Utilities/easeFunctions.test.d.ts +2 -0
  434. package/dist/types/Utilities/easeFunctions.test.d.ts.map +1 -0
  435. package/dist/types/Utilities/generateUniqueID.d.ts +2 -0
  436. package/dist/types/Utilities/generateUniqueID.d.ts.map +1 -0
  437. package/dist/types/Utilities/index.d.ts +6 -0
  438. package/dist/types/Utilities/index.d.ts.map +1 -0
  439. package/dist/types/Utilities/interpolateNumber.d.ts +2 -0
  440. package/dist/types/Utilities/interpolateNumber.d.ts.map +1 -0
  441. package/dist/types/Utilities/interpolateNumber.test.d.ts +2 -0
  442. package/dist/types/Utilities/interpolateNumber.test.d.ts.map +1 -0
  443. package/dist/types/ValueObjects/Angle.d.ts +27 -0
  444. package/dist/types/ValueObjects/Angle.d.ts.map +1 -0
  445. package/dist/types/ValueObjects/Angle.test.d.ts +2 -0
  446. package/dist/types/ValueObjects/Angle.test.d.ts.map +1 -0
  447. package/dist/types/ValueObjects/Color.d.ts +83 -0
  448. package/dist/types/ValueObjects/Color.d.ts.map +1 -0
  449. package/dist/types/ValueObjects/Color.test.d.ts +2 -0
  450. package/dist/types/ValueObjects/Color.test.d.ts.map +1 -0
  451. package/dist/types/ValueObjects/LineSegment2D.d.ts +12 -0
  452. package/dist/types/ValueObjects/LineSegment2D.d.ts.map +1 -0
  453. package/dist/types/ValueObjects/LineSegment2D.test.d.ts +2 -0
  454. package/dist/types/ValueObjects/LineSegment2D.test.d.ts.map +1 -0
  455. package/dist/types/ValueObjects/Matrix.d.ts +124 -0
  456. package/dist/types/ValueObjects/Matrix.d.ts.map +1 -0
  457. package/dist/types/ValueObjects/Matrix.test.d.ts +2 -0
  458. package/dist/types/ValueObjects/Matrix.test.d.ts.map +1 -0
  459. package/dist/types/ValueObjects/ParametricLine.d.ts +31 -0
  460. package/dist/types/ValueObjects/ParametricLine.d.ts.map +1 -0
  461. package/dist/types/ValueObjects/ParametricLine.test.d.ts +2 -0
  462. package/dist/types/ValueObjects/ParametricLine.test.d.ts.map +1 -0
  463. package/dist/types/ValueObjects/ParametricPlane.d.ts +21 -0
  464. package/dist/types/ValueObjects/ParametricPlane.d.ts.map +1 -0
  465. package/dist/types/ValueObjects/ParametricPlane.test.d.ts +2 -0
  466. package/dist/types/ValueObjects/ParametricPlane.test.d.ts.map +1 -0
  467. package/dist/types/ValueObjects/Quaternion.d.ts +113 -0
  468. package/dist/types/ValueObjects/Quaternion.d.ts.map +1 -0
  469. package/dist/types/ValueObjects/Quaternion.test.d.ts +2 -0
  470. package/dist/types/ValueObjects/Quaternion.test.d.ts.map +1 -0
  471. package/dist/types/ValueObjects/Rectangle.d.ts +16 -0
  472. package/dist/types/ValueObjects/Rectangle.d.ts.map +1 -0
  473. package/dist/types/ValueObjects/Rectangle.test.d.ts +2 -0
  474. package/dist/types/ValueObjects/Rectangle.test.d.ts.map +1 -0
  475. package/dist/types/ValueObjects/Vector2.d.ts +121 -0
  476. package/dist/types/ValueObjects/Vector2.d.ts.map +1 -0
  477. package/dist/types/ValueObjects/Vector2.test.d.ts +2 -0
  478. package/dist/types/ValueObjects/Vector2.test.d.ts.map +1 -0
  479. package/dist/types/ValueObjects/Vector3.d.ts +150 -0
  480. package/dist/types/ValueObjects/Vector3.d.ts.map +1 -0
  481. package/dist/types/ValueObjects/Vector3.test.d.ts +2 -0
  482. package/dist/types/ValueObjects/Vector3.test.d.ts.map +1 -0
  483. package/dist/types/ValueObjects/index.d.ts +11 -0
  484. package/dist/types/ValueObjects/index.d.ts.map +1 -0
  485. package/dist/types/index.d.ts +6 -0
  486. package/dist/types/index.d.ts.map +1 -0
  487. package/package.json +10 -5
  488. package/babel.config.js +0 -12
  489. package/jestconfig.json +0 -10
  490. package/src/AppObject/AppObject.test.ts +0 -158
  491. package/src/AppObject/AppObject.ts +0 -83
  492. package/src/AppObject/AppObjectComponent.test.ts +0 -219
  493. package/src/AppObject/AppObjectComponent.ts +0 -100
  494. package/src/AppObject/AppObjectController.ts +0 -8
  495. package/src/AppObject/AppObjectEntity.test.ts +0 -151
  496. package/src/AppObject/AppObjectEntity.ts +0 -45
  497. package/src/AppObject/AppObjectEntityRepo.test.ts +0 -211
  498. package/src/AppObject/AppObjectEntityRepo.ts +0 -61
  499. package/src/AppObject/AppObjectPM.test.ts +0 -152
  500. package/src/AppObject/AppObjectPM.ts +0 -43
  501. package/src/AppObject/AppObjectRepo.test.ts +0 -317
  502. package/src/AppObject/AppObjectRepo.ts +0 -203
  503. package/src/AppObject/AppObjectUC.ts +0 -5
  504. package/src/AppObject/AppObjectView.ts +0 -5
  505. package/src/AppObject/getSingletonComponent.test.ts +0 -17
  506. package/src/AppObject/getSingletonComponent.ts +0 -9
  507. package/src/AppObject/index.ts +0 -10
  508. package/src/AppObject/printAppObjectDetails.ts +0 -17
  509. package/src/Entities/MemoizedAngle.test.ts +0 -38
  510. package/src/Entities/MemoizedAngle.ts +0 -25
  511. package/src/Entities/MemoizedBoolean.test.ts +0 -45
  512. package/src/Entities/MemoizedBoolean.ts +0 -23
  513. package/src/Entities/MemoizedColor.test.ts +0 -39
  514. package/src/Entities/MemoizedColor.ts +0 -27
  515. package/src/Entities/MemoizedNumber.test.ts +0 -37
  516. package/src/Entities/MemoizedNumber.ts +0 -23
  517. package/src/Entities/MemoizedQuaternion.test.ts +0 -39
  518. package/src/Entities/MemoizedQuaternion.ts +0 -27
  519. package/src/Entities/MemoizedString.test.ts +0 -37
  520. package/src/Entities/MemoizedString.ts +0 -23
  521. package/src/Entities/MemoizedVector2.test.ts +0 -39
  522. package/src/Entities/MemoizedVector2.ts +0 -27
  523. package/src/Entities/MemoizedVector3.test.ts +0 -39
  524. package/src/Entities/MemoizedVector3.ts +0 -27
  525. package/src/Entities/ObservableEntity.test.ts +0 -28
  526. package/src/Entities/ObservableEntity.ts +0 -17
  527. package/src/Entities/ObserverList.test.ts +0 -61
  528. package/src/Entities/ObserverList.ts +0 -24
  529. package/src/Entities/RangedNumber.test.ts +0 -118
  530. package/src/Entities/RangedNumber.ts +0 -45
  531. package/src/Types/AppBoundary.ts +0 -13
  532. package/src/Types/EaseFn.ts +0 -1
  533. package/src/Types/PmAdapter.ts +0 -15
  534. package/src/Types/SingletonPmAdapter.ts +0 -7
  535. package/src/Utilities/LengthConverters.test.ts +0 -30
  536. package/src/Utilities/LengthConverters.ts +0 -18
  537. package/src/Utilities/LerpNumber.test.ts +0 -109
  538. package/src/Utilities/LerpNumber.ts +0 -109
  539. package/src/Utilities/degreesToRadians.test.ts +0 -8
  540. package/src/Utilities/degreesToRadians.ts +0 -3
  541. package/src/Utilities/easeFunctions.test.ts +0 -251
  542. package/src/Utilities/easeFunctions.ts +0 -180
  543. package/src/Utilities/generateUniqueID.ts +0 -5
  544. package/src/Utilities/interpolateNumber.test.ts +0 -28
  545. package/src/Utilities/interpolateNumber.ts +0 -21
  546. package/src/ValueObjects/Angle.test.ts +0 -30
  547. package/src/ValueObjects/Angle.ts +0 -47
  548. package/src/ValueObjects/Color.test.ts +0 -181
  549. package/src/ValueObjects/Color.ts +0 -891
  550. package/src/ValueObjects/LineSegment2D.test.ts +0 -144
  551. package/src/ValueObjects/LineSegment2D.ts +0 -93
  552. package/src/ValueObjects/Matrix.test.ts +0 -498
  553. package/src/ValueObjects/Matrix.ts +0 -567
  554. package/src/ValueObjects/ParametricLine.test.ts +0 -155
  555. package/src/ValueObjects/ParametricLine.ts +0 -114
  556. package/src/ValueObjects/ParametricPlane.test.ts +0 -122
  557. package/src/ValueObjects/ParametricPlane.ts +0 -82
  558. package/src/ValueObjects/Quaternion.test.ts +0 -356
  559. package/src/ValueObjects/Quaternion.ts +0 -353
  560. package/src/ValueObjects/Rectangle.test.ts +0 -32
  561. package/src/ValueObjects/Rectangle.ts +0 -33
  562. package/src/ValueObjects/Vector2.test.ts +0 -167
  563. package/src/ValueObjects/Vector2.ts +0 -209
  564. package/src/ValueObjects/Vector3.test.ts +0 -228
  565. package/src/ValueObjects/Vector3.ts +0 -269
  566. package/tsconfig.build.json +0 -7
  567. package/tsconfig.cjs.json +0 -9
  568. package/tsconfig.esm.json +0 -12
  569. package/tsconfig.json +0 -19
  570. package/tslint.json +0 -11
@@ -0,0 +1,121 @@
1
+ import { Angle } from ".";
2
+ export declare class Vector2 {
3
+ /**
4
+ * Creates a zero vector
5
+ * @returns Vector [0,0]
6
+ */
7
+ static Zero(): Vector2;
8
+ /**
9
+ * Creates a one vector
10
+ * @returns Vector [1,1]
11
+ */
12
+ static One(): Vector2;
13
+ /**
14
+ * Checks to see if Vector A equals Vector B
15
+ * @param a Vector A
16
+ * @param b Vector B
17
+ * @returns True if Vector A === Vector B
18
+ */
19
+ static Equal(a: Vector2, b: Vector2): boolean;
20
+ /**
21
+ * Creates a Vector from a Data Transfer Object
22
+ * @param dto The Data Transfer Object
23
+ * @returns The Vector
24
+ */
25
+ static FromDTO(dto: {
26
+ x: number;
27
+ y: number;
28
+ }): Vector2;
29
+ /**
30
+ * Adds Vector B to Vector A
31
+ * @param a Vector A
32
+ * @param b Vector B
33
+ * @returns A + B
34
+ */
35
+ static Add(a: Vector2, b: Vector2): Vector2;
36
+ /**
37
+ * Subtracts Vector B from Vector A
38
+ * @param a Vector A
39
+ * @param b Vector B
40
+ * @returns A - B
41
+ */
42
+ static Subtract(a: Vector2, b: Vector2): Vector2;
43
+ /**
44
+ * Checks to see if Vector A is close to Vector B
45
+ * @param a Vector A
46
+ * @param b Vector B
47
+ * @param threshold Tolerance to define "close". Defaults to 0.01
48
+ * @returns True if A and B are close enough
49
+ */
50
+ static Close: (a: Vector2, b: Vector2, threshold?: number) => boolean;
51
+ /**
52
+ * Rotates a vector by an angle
53
+ * @param vec The original vector
54
+ * @param angle The angle
55
+ * @returns A new Vector that has been rotated from the original by an angle
56
+ */
57
+ static Rotate: (vec: Vector2, angle: Angle) => Vector2;
58
+ /**
59
+ * Scales a vector uniformly
60
+ * @param vector The original vector
61
+ * @param scale Scale factor
62
+ * @returns A new, scaled vector
63
+ */
64
+ static Scale: (vector: Vector2, scale: number) => Vector2;
65
+ /**
66
+ * Creates a new vector of a given lenght and a unit that is equal to the original vector
67
+ * @param vector The original vector. This determines the unit of the final vector
68
+ * @param length The desired length of the final vector
69
+ * @returns The final vector
70
+ */
71
+ static NewVectorOfLength: (vector: Vector2, length: number) => Vector2;
72
+ /**
73
+ * Calculate the dot product between Vectors A and B
74
+ * @param a Vector A
75
+ * @param b Vector B
76
+ * @returns The Dot product between A and B
77
+ */
78
+ static Dot: (a: Vector2, b: Vector2) => number;
79
+ /**
80
+ * Calculates the dot product between Vectors A and B
81
+ * @param a Vector A
82
+ * @param b Vector B
83
+ * @returns A . B
84
+ */
85
+ static AngleBetween: (a: Vector2, b: Vector2) => Angle;
86
+ /**
87
+ * Calculates the Cross product between Vectors A and B
88
+ * @param a Vector A
89
+ * @param b Vector B
90
+ * @returns A X B
91
+ */
92
+ static Cross: (a: Vector2, b: Vector2) => number;
93
+ readonly x: number;
94
+ readonly y: number;
95
+ /**
96
+ * Get the magnitude (length) of the vector
97
+ */
98
+ get magnitued(): number;
99
+ /**
100
+ * Get the unit vector
101
+ */
102
+ get unit(): Vector2;
103
+ /**
104
+ * Returns the angle of the direction of this angle in degrees.
105
+ * A right vector [1,0] will return 0, a left vector [-1,0] will return 180, an up vector [0,1] will return 90 and a down vector [0,-1] will return -90
106
+ */
107
+ get theta(): number;
108
+ /**
109
+ * Retuns the vector as an array of numbers [x,y]
110
+ */
111
+ get array(): [number, number];
112
+ /**
113
+ * Get the vector as a Data Transfer Object
114
+ */
115
+ get dto(): {
116
+ x: number;
117
+ y: number;
118
+ };
119
+ constructor(x: number, y: number);
120
+ }
121
+ //# sourceMappingURL=Vector2.d.ts.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Vector2.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Vector2.test.d.ts","sourceRoot":"","sources":["../../../src/ValueObjects/Vector2.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,150 @@
1
+ import { Matrix } from "./Matrix";
2
+ export interface Vector3DTO {
3
+ x: number;
4
+ y: number;
5
+ z: number;
6
+ }
7
+ export declare class Vector3 {
8
+ /**
9
+ * Creates a zero vector
10
+ * @returns Vector [0,0,0]
11
+ */
12
+ static Zero(): Vector3;
13
+ /**
14
+ * Creates a vector of ones
15
+ * @returns Vector [1,1,1]
16
+ */
17
+ static One(): Vector3;
18
+ /**
19
+ * Creates a Right vector (positive X)
20
+ * @param length optional length of the right unit. Default is 1
21
+ * @returns Vector [length, 0,0]
22
+ */
23
+ static Right(length?: number): Vector3;
24
+ /**
25
+ * Creates a Left vector (negative X)
26
+ * @param length optional length of the left unit. Default is 1
27
+ * @returns Vector [-length, 0, 0]
28
+ */
29
+ static Left(length?: number): Vector3;
30
+ /**
31
+ * Creates an Up vector (positive Y)
32
+ * @param length optional length of the vector. Default is 1
33
+ * @returns Vector [0, length, 0]
34
+ */
35
+ static Up(length?: number): Vector3;
36
+ /**
37
+ * Creates a Down vector (negative Y)
38
+ * @param length optional length of the vector. Default is 1
39
+ * @returns Vector [0, -length, 0]
40
+ */
41
+ static Down(length?: number): Vector3;
42
+ /**
43
+ * Creates a Forward vector (positive Z)
44
+ * @param length optional length of the vector. Default is 1
45
+ * @returns Vector [0, 0, length]
46
+ */
47
+ static Forward(length?: number): Vector3;
48
+ /**
49
+ * Creates a Backward vector (negative Z)
50
+ * @param length optional length of the vector. Default is 1
51
+ * @returns Vector [0, 0, -length]
52
+ */
53
+ static Backward(length?: number): Vector3;
54
+ /**
55
+ * Creates a Vector from an array of components
56
+ * @param values The x, y, z components as an array
57
+ * @returns The Vector
58
+ */
59
+ static FromArray(values: [number, number, number]): Vector3;
60
+ /**
61
+ * Creates a Vector from a Data Transfer Object
62
+ * @param dto The Data Transfer Object
63
+ * @returns The Vector
64
+ */
65
+ static FromDTO(dto: Vector3DTO): Vector3;
66
+ /**
67
+ * Adds Vector B to Vector A
68
+ * @param a Vector A
69
+ * @param b Vector B
70
+ * @return Result of A + B
71
+ */
72
+ static Add: (a: Vector3, b: Vector3) => Vector3;
73
+ /**
74
+ * Subtracts Vector B from Vector A
75
+ * @param a Vector A
76
+ * @param b Vector B
77
+ * @return Result of A - B
78
+ */
79
+ static Subtract: (a: Vector3, b: Vector3) => Vector3;
80
+ /**
81
+ * Checks to see if the two vectors are equal
82
+ * @param a Vector A
83
+ * @param b Vector B
84
+ * @return True if the two vectors are equal, otherwise false
85
+ */
86
+ static Equal: (a: Vector3, b: Vector3) => boolean;
87
+ /**
88
+ * Checks to see if the two vectors are close
89
+ * @param a Vector A
90
+ * @param b Vector B
91
+ * @param tolerance Tolerance for checking. Defaulted to 0.01
92
+ * @return True if the distance between the two vectors is less than the tolerance, otherwise false
93
+ */
94
+ static Close: (a: Vector3, b: Vector3, tolerance?: number) => boolean;
95
+ /**
96
+ * Calculates the Cross Product between two vectors
97
+ * @param a Vector A
98
+ * @param b Vector B
99
+ * @return the cross product between the two vectors
100
+ */
101
+ static Cross: (a: Vector3, b: Vector3) => Vector3;
102
+ /**
103
+ * Calculates the Dot Product between two vectors
104
+ * @param a Vector A
105
+ * @param b Vector B
106
+ * @return the dot product between the two vectors
107
+ */
108
+ static Dot: (a: Vector3, b: Vector3) => number;
109
+ /**
110
+ * Create a new vector that will have the same unit as the original vector but set to the desired length
111
+ * @param vec The original vector
112
+ * @param length Desired length of the final vector
113
+ * @return The resulting vector
114
+ */
115
+ static NewVectorOfLength: (vec: Vector3, length: number) => Vector3;
116
+ static Transform: (vector: Vector3, matrix: Matrix) => Vector3;
117
+ /**
118
+ * Linearly interpolates between two vectors
119
+ * @param initial The starting point
120
+ * @param final The end point
121
+ * @param percent Percent of the lerp. 0 will return initial and 1 will return final
122
+ * @return the LERP result Vector3
123
+ */
124
+ static Lerp: (initial: Vector3, final: Vector3, percent: number) => Vector3;
125
+ private static interpolateNumber;
126
+ readonly x: number;
127
+ readonly y: number;
128
+ readonly z: number;
129
+ /**
130
+ * Gets the magnitude of the Vector3
131
+ * @returns the magnitude of the Vector3
132
+ */
133
+ get magnitude(): number;
134
+ /**
135
+ * Gets the unit vector for this Vector3
136
+ * @returns the unit vector
137
+ */
138
+ get unit(): Vector3;
139
+ /**
140
+ * Gets the vector as an array
141
+ * @returns an array representing the vector
142
+ */
143
+ get array(): [number, number, number];
144
+ /**
145
+ * Get the vector as a Data Transfer Object
146
+ */
147
+ get dto(): Vector3DTO;
148
+ constructor(x: number, y: number, z: number);
149
+ }
150
+ //# sourceMappingURL=Vector3.d.ts.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Vector3.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Vector3.test.d.ts","sourceRoot":"","sources":["../../../src/ValueObjects/Vector3.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ export * from "./Angle";
2
+ export * from "./Color";
3
+ export * from "./LineSegment2D";
4
+ export * from "./Matrix";
5
+ export * from "./ParametricLine";
6
+ export * from "./ParametricPlane";
7
+ export * from "./Quaternion";
8
+ export * from "./Rectangle";
9
+ export * from "./Vector2";
10
+ export * from "./Vector3";
11
+ //# sourceMappingURL=index.d.ts.map
@@ -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"}
@@ -0,0 +1,6 @@
1
+ export * from "./AppObject";
2
+ export * from "./Entities";
3
+ export * from "./Types";
4
+ export * from "./Utilities";
5
+ export * from "./ValueObjects";
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,14 +1,16 @@
1
1
  {
2
2
  "name": "@vived/core",
3
- "version": "1.2.1",
3
+ "version": "1.2.3",
4
4
  "description": "Core Components for VIVED Apps and Hosts",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",
7
7
  "types": "./dist/types/index.d.ts",
8
8
  "exports": {
9
- "types": "./dist/types/index.d.ts",
10
- "import": "./dist/esm/index.js",
11
- "require": "./dist/cjs/index.js"
9
+ ".": {
10
+ "import": "./dist/esm/index.js",
11
+ "require": "./dist/cjs/index.js",
12
+ "types": "./dist/types/index.d.ts"
13
+ }
12
14
  },
13
15
  "scripts": {
14
16
  "test": "jest --watch --config jestconfig.json",
@@ -49,5 +51,8 @@
49
51
  },
50
52
  "dependencies": {
51
53
  "uuid": "^11.1.0"
52
- }
54
+ },
55
+ "files": [
56
+ "dist"
57
+ ]
53
58
  }
package/babel.config.js DELETED
@@ -1,12 +0,0 @@
1
- //this is so JEST can work
2
- module.exports = {
3
- presets: [['@babel/preset-env', {targets: {node: 'current'}}]],
4
- "plugins": [
5
- [
6
- "@babel/plugin-proposal-class-properties",
7
- {
8
- "loose": true
9
- }
10
- ]
11
- ]
12
- };
package/jestconfig.json DELETED
@@ -1,10 +0,0 @@
1
- {
2
- "transform": {
3
- "^.+\\.(t|j)sx?$": "ts-jest"
4
- },
5
- "testRegex": "(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$",
6
- "moduleFileExtensions": ["ts", "tsx", "js", "jsx", "json", "node"],
7
- "testPathIgnorePatterns": ["/node_modules/", "/dist/"],
8
- "modulePathIgnorePatterns": ["/dist/"],
9
- "watchPathIgnorePatterns": ["/dist/"]
10
- }
@@ -1,158 +0,0 @@
1
- import { AppObject, makeAppObject } from "./AppObject";
2
- import { AppObjectComponent } from "./AppObjectComponent";
3
- import { makeAppObjectRepo } from "./AppObjectRepo";
4
-
5
- export function makeTestRig() {
6
- const repo = makeAppObjectRepo();
7
- const appObj = makeAppObject("obj id", repo);
8
- const observer = jest.fn();
9
- appObj.addObserver(observer);
10
-
11
- return { repo, appObj, observer };
12
- }
13
-
14
- describe("App Object", () => {
15
- it("Adds itself to the repo", () => {
16
- const { repo, appObj } = makeTestRig();
17
-
18
- expect(repo.has(appObj.id)).toEqual(true);
19
- });
20
-
21
- it("Removes itself from the repo when disposed", () => {
22
- const { repo, appObj } = makeTestRig();
23
-
24
- appObj.dispose();
25
- expect(repo.has(appObj.id)).toEqual(false);
26
- });
27
-
28
- it("Checks to see it has a component", () => {
29
- const { appObj } = makeTestRig();
30
-
31
- expect(appObj.hasComponent(MockComponent.type)).toEqual(false);
32
-
33
- new MockComponent(appObj);
34
-
35
- expect(appObj.hasComponent(MockComponent.type)).toEqual(true);
36
- });
37
-
38
- it("Notifies when an component is added", () => {
39
- const { appObj, observer } = makeTestRig();
40
-
41
- new MockComponent(appObj);
42
-
43
- expect(observer).toBeCalled();
44
- });
45
-
46
- it("Gets a component", () => {
47
- const { appObj } = makeTestRig();
48
-
49
- expect(appObj.getComponent(MockComponent.type)).toEqual(undefined);
50
-
51
- const mockComponent = new MockComponent(appObj);
52
-
53
- expect(appObj.getComponent(MockComponent.type)).toEqual(mockComponent);
54
- });
55
-
56
- it("Warns if a component is replaced", () => {
57
- const { appObj } = makeTestRig();
58
-
59
- console.warn = jest.fn();
60
-
61
- const mockComponent = new MockComponent(appObj);
62
- appObj.addComponent(mockComponent);
63
- appObj.addComponent(new MockComponent(appObj));
64
-
65
- expect(console.warn).toBeCalled();
66
- });
67
-
68
- it("Returns the component list", () => {
69
- const { appObj } = makeTestRig();
70
-
71
- expect(appObj.allComponents()).toEqual([]);
72
-
73
- const mockComponent = new MockComponent(appObj);
74
- appObj.addComponent(mockComponent);
75
-
76
- const anotherMockComponent = new AnotherMockComponent(appObj);
77
- appObj.addComponent(anotherMockComponent)
78
-
79
- expect(appObj.allComponents()).toEqual([mockComponent, anotherMockComponent]);
80
- });
81
-
82
- it("Removes a component", () => {
83
- const { appObj } = makeTestRig();
84
- const comp = new MockComponent(appObj);
85
- appObj.addComponent(comp)
86
-
87
- expect(appObj.hasComponent(MockComponent.type)).toEqual(true);
88
-
89
- appObj.removeComponent(MockComponent.type);
90
-
91
- expect(appObj.hasComponent(MockComponent.type)).toEqual(false);
92
- });
93
-
94
- it("Notifies when an component is removed", () => {
95
- const { appObj, observer } = makeTestRig();
96
- const comp = new MockComponent(appObj);
97
- appObj.addComponent(comp)
98
- observer.mockClear();
99
-
100
- appObj.removeComponent(MockComponent.type);
101
- appObj.removeComponent(MockComponent.type);
102
- appObj.removeComponent(MockComponent.type);
103
-
104
- expect(observer).toHaveBeenCalledTimes(1);
105
- });
106
-
107
- it("Disposes all components when the App Object is disposed", () => {
108
- const { appObj } = makeTestRig();
109
-
110
- const comp = new MockComponent(appObj);
111
- appObj.addComponent(comp)
112
-
113
- const spy = jest.spyOn(comp, "dispose");
114
-
115
- appObj.dispose();
116
-
117
- expect(spy).toBeCalled();
118
- });
119
-
120
- it("Clears the component list when disposed", () => {
121
- const { appObj } = makeTestRig();
122
-
123
- const comp = new MockComponent(appObj);
124
- appObj.addComponent(comp)
125
-
126
- expect(appObj.allComponents()).toHaveLength(1);
127
-
128
- appObj.dispose();
129
-
130
- expect(appObj.allComponents()).toHaveLength(0);
131
- });
132
-
133
- it("If an entity is replace, it disposes the original", () => {
134
- const { appObj } = makeTestRig();
135
-
136
- const comp = new MockComponent(appObj);
137
- appObj.addComponent(comp)
138
-
139
- const spy = jest.spyOn(comp, "dispose");
140
- appObj.addComponent(new MockComponent(appObj))
141
-
142
- expect(spy).toBeCalled();
143
- });
144
- });
145
-
146
- class MockComponent extends AppObjectComponent {
147
- static readonly type: string = "mockComponent";
148
- constructor(appObject: AppObject) {
149
- super(appObject, MockComponent.type)
150
- }
151
- }
152
-
153
- class AnotherMockComponent extends AppObjectComponent {
154
- static readonly type: string = "mockComponent2";
155
- constructor(appObject: AppObject) {
156
- super(appObject, AnotherMockComponent.type)
157
- }
158
- }
@@ -1,83 +0,0 @@
1
- import { ObservableEntity } from "../Entities";
2
- import { AppObjectComponent } from "./AppObjectComponent";
3
- import { AppObjectRepo } from "./AppObjectRepo";
4
-
5
- export abstract class AppObject extends ObservableEntity {
6
- abstract readonly id: string;
7
- abstract readonly appObjectRepo: AppObjectRepo;
8
-
9
- abstract hasComponent(type: string): boolean;
10
- abstract addComponent(component: AppObjectComponent): void;
11
- abstract getComponent<T extends AppObjectComponent>(type: string): T | undefined;
12
- abstract removeComponent(type: string): void;
13
- abstract allComponents(): AppObjectComponent[];
14
-
15
- abstract dispose(): void;
16
- }
17
-
18
- export function makeAppObject(id: string, repo: AppObjectRepo): AppObject {
19
- return new AppObjectImp(id, repo);
20
- }
21
-
22
- class AppObjectImp extends AppObject {
23
- readonly id: string;
24
- readonly appObjectRepo: AppObjectRepo;
25
-
26
- private componentLookup = new Map<string, AppObjectComponent>();
27
-
28
- hasComponent(type: string): boolean {
29
- return this.componentLookup.has(type);
30
- }
31
-
32
- addComponent(component: AppObjectComponent): void {
33
- const currentComponent = this.componentLookup.get(component.type);
34
- if (currentComponent) {
35
- console.warn(
36
- `[AppObject] Component ${component.type} is being replaced on ${this.id}`
37
- );
38
- currentComponent.dispose();
39
- }
40
-
41
- this.componentLookup.set(component.type, component);
42
- this.notify();
43
- }
44
-
45
- getComponent<T extends AppObjectComponent>(type: string): T | undefined {
46
- if (this.componentLookup.has(type)) {
47
- return this.componentLookup.get(type) as T;
48
- } else {
49
- return undefined;
50
- }
51
- }
52
-
53
- removeComponent(type: string): void {
54
- const component = this.componentLookup.get(type);
55
-
56
- if (!component) return;
57
-
58
- this.componentLookup.delete(type);
59
- this.notify();
60
- }
61
-
62
- allComponents(): AppObjectComponent[] {
63
- return Array.from(this.componentLookup.values());
64
- }
65
-
66
-
67
- dispose = (): void => {
68
- const components = Array.from(this.componentLookup.values());
69
- this.componentLookup.clear();
70
- components.forEach(c => c.dispose());
71
-
72
- if (this.appObjectRepo.has(this.id)) {
73
- this.appObjectRepo.remove(this.id);
74
- }
75
- };
76
-
77
- constructor(id: string, repo: AppObjectRepo) {
78
- super();
79
- this.id = id;
80
- this.appObjectRepo = repo;
81
- this.appObjectRepo.add(this);
82
- }
83
- }