@vived/core 1.2.3 → 1.2.4

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 (163) hide show
  1. package/dist/cjs/AppObject/AppObject.js.map +1 -1
  2. package/dist/cjs/AppObject/AppObject.test.js.map +1 -1
  3. package/dist/cjs/AppObject/AppObjectComponent.js.map +1 -1
  4. package/dist/cjs/AppObject/AppObjectComponent.test.js.map +1 -1
  5. package/dist/cjs/AppObject/AppObjectController.js.map +1 -1
  6. package/dist/cjs/AppObject/AppObjectEntity.js.map +1 -1
  7. package/dist/cjs/AppObject/AppObjectEntity.test.js.map +1 -1
  8. package/dist/cjs/AppObject/AppObjectEntityRepo.js.map +1 -1
  9. package/dist/cjs/AppObject/AppObjectEntityRepo.test.js.map +1 -1
  10. package/dist/cjs/AppObject/AppObjectPM.js.map +1 -1
  11. package/dist/cjs/AppObject/AppObjectPM.test.js.map +1 -1
  12. package/dist/cjs/AppObject/AppObjectRepo.js.map +1 -1
  13. package/dist/cjs/AppObject/AppObjectRepo.test.js.map +1 -1
  14. package/dist/cjs/AppObject/AppObjectUC.js.map +1 -1
  15. package/dist/cjs/AppObject/AppObjectView.js.map +1 -1
  16. package/dist/cjs/AppObject/getSingletonComponent.js.map +1 -1
  17. package/dist/cjs/AppObject/getSingletonComponent.test.js.map +1 -1
  18. package/dist/cjs/AppObject/index.js.map +1 -1
  19. package/dist/cjs/AppObject/printAppObjectDetails.js.map +1 -1
  20. package/dist/cjs/Entities/MemoizedAngle.js.map +1 -1
  21. package/dist/cjs/Entities/MemoizedAngle.test.js.map +1 -1
  22. package/dist/cjs/Entities/MemoizedBoolean.js.map +1 -1
  23. package/dist/cjs/Entities/MemoizedBoolean.test.js.map +1 -1
  24. package/dist/cjs/Entities/MemoizedColor.js.map +1 -1
  25. package/dist/cjs/Entities/MemoizedColor.test.js.map +1 -1
  26. package/dist/cjs/Entities/MemoizedNumber.js.map +1 -1
  27. package/dist/cjs/Entities/MemoizedNumber.test.js.map +1 -1
  28. package/dist/cjs/Entities/MemoizedQuaternion.js.map +1 -1
  29. package/dist/cjs/Entities/MemoizedQuaternion.test.js.map +1 -1
  30. package/dist/cjs/Entities/MemoizedString.js.map +1 -1
  31. package/dist/cjs/Entities/MemoizedString.test.js.map +1 -1
  32. package/dist/cjs/Entities/MemoizedVector2.js.map +1 -1
  33. package/dist/cjs/Entities/MemoizedVector2.test.js.map +1 -1
  34. package/dist/cjs/Entities/MemoizedVector3.js.map +1 -1
  35. package/dist/cjs/Entities/MemoizedVector3.test.js.map +1 -1
  36. package/dist/cjs/Entities/ObservableEntity.js.map +1 -1
  37. package/dist/cjs/Entities/ObservableEntity.test.js.map +1 -1
  38. package/dist/cjs/Entities/ObserverList.js.map +1 -1
  39. package/dist/cjs/Entities/ObserverList.test.js.map +1 -1
  40. package/dist/cjs/Entities/RangedNumber.js.map +1 -1
  41. package/dist/cjs/Entities/RangedNumber.test.js.map +1 -1
  42. package/dist/cjs/Entities/index.js.map +1 -1
  43. package/dist/cjs/Types/AppBoundary.js.map +1 -1
  44. package/dist/cjs/Types/EaseFn.js.map +1 -1
  45. package/dist/cjs/Types/PmAdapter.js.map +1 -1
  46. package/dist/cjs/Types/SingletonPmAdapter.js.map +1 -1
  47. package/dist/cjs/Types/index.js.map +1 -1
  48. package/dist/cjs/Utilities/LengthConverters.js.map +1 -1
  49. package/dist/cjs/Utilities/LengthConverters.test.js.map +1 -1
  50. package/dist/cjs/Utilities/LerpNumber.js.map +1 -1
  51. package/dist/cjs/Utilities/LerpNumber.test.js.map +1 -1
  52. package/dist/cjs/Utilities/degreesToRadians.js.map +1 -1
  53. package/dist/cjs/Utilities/degreesToRadians.test.js.map +1 -1
  54. package/dist/cjs/Utilities/easeFunctions.js.map +1 -1
  55. package/dist/cjs/Utilities/easeFunctions.test.js.map +1 -1
  56. package/dist/cjs/Utilities/generateUniqueID.js.map +1 -1
  57. package/dist/cjs/Utilities/index.js.map +1 -1
  58. package/dist/cjs/Utilities/interpolateNumber.js.map +1 -1
  59. package/dist/cjs/Utilities/interpolateNumber.test.js.map +1 -1
  60. package/dist/cjs/ValueObjects/Angle.js.map +1 -1
  61. package/dist/cjs/ValueObjects/Angle.test.js.map +1 -1
  62. package/dist/cjs/ValueObjects/Color.js.map +1 -1
  63. package/dist/cjs/ValueObjects/Color.test.js.map +1 -1
  64. package/dist/cjs/ValueObjects/LineSegment2D.js.map +1 -1
  65. package/dist/cjs/ValueObjects/LineSegment2D.test.js.map +1 -1
  66. package/dist/cjs/ValueObjects/Matrix.js.map +1 -1
  67. package/dist/cjs/ValueObjects/Matrix.test.js.map +1 -1
  68. package/dist/cjs/ValueObjects/ParametricLine.js.map +1 -1
  69. package/dist/cjs/ValueObjects/ParametricLine.test.js.map +1 -1
  70. package/dist/cjs/ValueObjects/ParametricPlane.js.map +1 -1
  71. package/dist/cjs/ValueObjects/ParametricPlane.test.js.map +1 -1
  72. package/dist/cjs/ValueObjects/Quaternion.js.map +1 -1
  73. package/dist/cjs/ValueObjects/Quaternion.test.js.map +1 -1
  74. package/dist/cjs/ValueObjects/Rectangle.js.map +1 -1
  75. package/dist/cjs/ValueObjects/Rectangle.test.js.map +1 -1
  76. package/dist/cjs/ValueObjects/Vector2.js.map +1 -1
  77. package/dist/cjs/ValueObjects/Vector2.test.js.map +1 -1
  78. package/dist/cjs/ValueObjects/Vector3.js.map +1 -1
  79. package/dist/cjs/ValueObjects/Vector3.test.js.map +1 -1
  80. package/dist/cjs/ValueObjects/index.js.map +1 -1
  81. package/dist/cjs/index.js.map +1 -1
  82. package/dist/esm/AppObject/AppObject.js.map +1 -1
  83. package/dist/esm/AppObject/AppObject.test.js.map +1 -1
  84. package/dist/esm/AppObject/AppObjectComponent.js.map +1 -1
  85. package/dist/esm/AppObject/AppObjectComponent.test.js.map +1 -1
  86. package/dist/esm/AppObject/AppObjectController.js.map +1 -1
  87. package/dist/esm/AppObject/AppObjectEntity.js.map +1 -1
  88. package/dist/esm/AppObject/AppObjectEntity.test.js.map +1 -1
  89. package/dist/esm/AppObject/AppObjectEntityRepo.js.map +1 -1
  90. package/dist/esm/AppObject/AppObjectEntityRepo.test.js.map +1 -1
  91. package/dist/esm/AppObject/AppObjectPM.js.map +1 -1
  92. package/dist/esm/AppObject/AppObjectPM.test.js.map +1 -1
  93. package/dist/esm/AppObject/AppObjectRepo.js.map +1 -1
  94. package/dist/esm/AppObject/AppObjectRepo.test.js.map +1 -1
  95. package/dist/esm/AppObject/AppObjectUC.js.map +1 -1
  96. package/dist/esm/AppObject/AppObjectView.js.map +1 -1
  97. package/dist/esm/AppObject/getSingletonComponent.js.map +1 -1
  98. package/dist/esm/AppObject/getSingletonComponent.test.js.map +1 -1
  99. package/dist/esm/AppObject/index.js.map +1 -1
  100. package/dist/esm/AppObject/printAppObjectDetails.js.map +1 -1
  101. package/dist/esm/Entities/MemoizedAngle.js.map +1 -1
  102. package/dist/esm/Entities/MemoizedAngle.test.js.map +1 -1
  103. package/dist/esm/Entities/MemoizedBoolean.js.map +1 -1
  104. package/dist/esm/Entities/MemoizedBoolean.test.js.map +1 -1
  105. package/dist/esm/Entities/MemoizedColor.js.map +1 -1
  106. package/dist/esm/Entities/MemoizedColor.test.js.map +1 -1
  107. package/dist/esm/Entities/MemoizedNumber.js.map +1 -1
  108. package/dist/esm/Entities/MemoizedNumber.test.js.map +1 -1
  109. package/dist/esm/Entities/MemoizedQuaternion.js.map +1 -1
  110. package/dist/esm/Entities/MemoizedQuaternion.test.js.map +1 -1
  111. package/dist/esm/Entities/MemoizedString.js.map +1 -1
  112. package/dist/esm/Entities/MemoizedString.test.js.map +1 -1
  113. package/dist/esm/Entities/MemoizedVector2.js.map +1 -1
  114. package/dist/esm/Entities/MemoizedVector2.test.js.map +1 -1
  115. package/dist/esm/Entities/MemoizedVector3.js.map +1 -1
  116. package/dist/esm/Entities/MemoizedVector3.test.js.map +1 -1
  117. package/dist/esm/Entities/ObservableEntity.js.map +1 -1
  118. package/dist/esm/Entities/ObservableEntity.test.js.map +1 -1
  119. package/dist/esm/Entities/ObserverList.js.map +1 -1
  120. package/dist/esm/Entities/ObserverList.test.js.map +1 -1
  121. package/dist/esm/Entities/RangedNumber.js.map +1 -1
  122. package/dist/esm/Entities/RangedNumber.test.js.map +1 -1
  123. package/dist/esm/Entities/index.js.map +1 -1
  124. package/dist/esm/Types/AppBoundary.js.map +1 -1
  125. package/dist/esm/Types/EaseFn.js.map +1 -1
  126. package/dist/esm/Types/PmAdapter.js.map +1 -1
  127. package/dist/esm/Types/SingletonPmAdapter.js.map +1 -1
  128. package/dist/esm/Types/index.js.map +1 -1
  129. package/dist/esm/Utilities/LengthConverters.js.map +1 -1
  130. package/dist/esm/Utilities/LengthConverters.test.js.map +1 -1
  131. package/dist/esm/Utilities/LerpNumber.js.map +1 -1
  132. package/dist/esm/Utilities/LerpNumber.test.js.map +1 -1
  133. package/dist/esm/Utilities/degreesToRadians.js.map +1 -1
  134. package/dist/esm/Utilities/degreesToRadians.test.js.map +1 -1
  135. package/dist/esm/Utilities/easeFunctions.js.map +1 -1
  136. package/dist/esm/Utilities/easeFunctions.test.js.map +1 -1
  137. package/dist/esm/Utilities/generateUniqueID.js.map +1 -1
  138. package/dist/esm/Utilities/index.js.map +1 -1
  139. package/dist/esm/Utilities/interpolateNumber.js.map +1 -1
  140. package/dist/esm/Utilities/interpolateNumber.test.js.map +1 -1
  141. package/dist/esm/ValueObjects/Angle.js.map +1 -1
  142. package/dist/esm/ValueObjects/Angle.test.js.map +1 -1
  143. package/dist/esm/ValueObjects/Color.js.map +1 -1
  144. package/dist/esm/ValueObjects/Color.test.js.map +1 -1
  145. package/dist/esm/ValueObjects/LineSegment2D.js.map +1 -1
  146. package/dist/esm/ValueObjects/LineSegment2D.test.js.map +1 -1
  147. package/dist/esm/ValueObjects/Matrix.js.map +1 -1
  148. package/dist/esm/ValueObjects/Matrix.test.js.map +1 -1
  149. package/dist/esm/ValueObjects/ParametricLine.js.map +1 -1
  150. package/dist/esm/ValueObjects/ParametricLine.test.js.map +1 -1
  151. package/dist/esm/ValueObjects/ParametricPlane.js.map +1 -1
  152. package/dist/esm/ValueObjects/ParametricPlane.test.js.map +1 -1
  153. package/dist/esm/ValueObjects/Quaternion.js.map +1 -1
  154. package/dist/esm/ValueObjects/Quaternion.test.js.map +1 -1
  155. package/dist/esm/ValueObjects/Rectangle.js.map +1 -1
  156. package/dist/esm/ValueObjects/Rectangle.test.js.map +1 -1
  157. package/dist/esm/ValueObjects/Vector2.js.map +1 -1
  158. package/dist/esm/ValueObjects/Vector2.test.js.map +1 -1
  159. package/dist/esm/ValueObjects/Vector3.js.map +1 -1
  160. package/dist/esm/ValueObjects/Vector3.test.js.map +1 -1
  161. package/dist/esm/ValueObjects/index.js.map +1 -1
  162. package/dist/esm/index.js.map +1 -1
  163. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Quaternion.test.js","sourceRoot":"","sources":["../../../src/ValueObjects/Quaternion.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Quaternion.test.js","sourceRoot":"","sources":["../../../src/ValueObjects/Quaternion.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { Angle } from \"./Angle\";\r\nimport { Matrix } from \"./Matrix\";\r\nimport { Quaternion } from \"./Quaternion\";\r\nimport { Vector3 } from \"./Vector3\";\r\ndescribe(\"Quaterion Value Object\", () => {\r\n it(\"Checks for equality\", () => {\r\n const quat1 = new Quaternion(1, 2, 3, 4);\r\n const quat2 = new Quaternion(1, 2, 3, 4);\r\n const quat3 = new Quaternion(10, 20, 30, 40);\r\n\r\n expect(Quaternion.Equal(quat1, quat2)).toEqual(true);\r\n expect(Quaternion.Equal(quat1, quat3)).toEqual(false);\r\n });\r\n\r\n it(\"Constructs a new quaternion from an array\", () => {\r\n const quat = Quaternion.FromArray([1, 2, 3, 4]);\r\n expect(quat.x).toEqual(1);\r\n expect(quat.y).toEqual(2);\r\n expect(quat.z).toEqual(3);\r\n expect(quat.w).toEqual(4);\r\n });\r\n\r\n it(\"Constructs an identity quaternion\", () => {\r\n const quat = Quaternion.Identity();\r\n expect(quat.x).toEqual(0);\r\n expect(quat.y).toEqual(0);\r\n expect(quat.z).toEqual(0);\r\n expect(quat.w).toEqual(1);\r\n });\r\n\r\n it(\"Equates two quaternions for testing\", () => {\r\n const quat1 = new Quaternion(1, 2, 3, 4);\r\n const quat2 = new Quaternion(1, 2, 3, 4);\r\n\r\n expect(quat1).toEqual(quat2);\r\n });\r\n\r\n it(\"Returns an array\", () => {\r\n const quat1 = new Quaternion(1, 2, 3, 4);\r\n expect(quat1.toArray()).toEqual([1, 2, 3, 4]);\r\n });\r\n\r\n it(\"Multiplies two quaternions\", () => {\r\n // See https://www.omnicalculator.com/math/quaternion\r\n const quat1 = new Quaternion(1, 2, 3, 4);\r\n const quat2 = new Quaternion(5, 6, 7, 8);\r\n const product = Quaternion.Multiply(quat1, quat2);\r\n const expected = new Quaternion(24, 48, 48, -6);\r\n expect(product).toEqual(expected);\r\n });\r\n\r\n it(\"Inverts a quaternion\", () => {\r\n const quat1 = new Quaternion(1, 2, 3, 4);\r\n const inverted = Quaternion.Inverse(quat1);\r\n const expected = new Quaternion(-1, -2, -3, 4);\r\n expect(inverted).toEqual(expected);\r\n });\r\n\r\n it(\"Creates an Quaterion from an Axis and Angle\", () => {\r\n // See https://www.andre-gaschler.com/rotationconverter\r\n const axis = new Vector3(1, 2, 3);\r\n const angle = Angle.FromRadians(4);\r\n const quat = Quaternion.FromAngleAxis(axis, angle);\r\n\r\n expect(quat.x).toBeCloseTo(0.24302);\r\n expect(quat.y).toBeCloseTo(0.4860399);\r\n expect(quat.z).toBeCloseTo(0.7290599);\r\n expect(quat.w).toBeCloseTo(-0.4161468);\r\n });\r\n\r\n it(\"Creates an Quaterion from a Yaw Pitch Roll\", () => {\r\n // Numbers are from the babylon playground\r\n\r\n const yaw = Angle.FromRadians(1);\r\n const pitch = Angle.FromRadians(2);\r\n const roll = Angle.FromRadians(3);\r\n const quat = Quaternion.FromYawPitchRoll(yaw, pitch, roll);\r\n\r\n expect(quat.x).toBeCloseTo(0.310622);\r\n expect(quat.y).toBeCloseTo(-0.71828);\r\n expect(quat.z).toBeCloseTo(0.444435);\r\n expect(quat.w).toBeCloseTo(0.4359528);\r\n });\r\n\r\n it(\"Creates an Quaterion from Euler angles\", () => {\r\n // Numbers are from the babylon playground\r\n\r\n const x = Angle.FromRadians(1);\r\n const y = Angle.FromRadians(2);\r\n const z = Angle.FromRadians(3);\r\n const quat = Quaternion.FromEuler(x, y, z);\r\n\r\n expect(quat.x).toBeCloseTo(0.754933);\r\n expect(quat.y).toBeCloseTo(-0.206149);\r\n expect(quat.z).toBeCloseTo(0.444435);\r\n expect(quat.w).toBeCloseTo(0.4359528);\r\n });\r\n\r\n it(\"Slerps\", () => {\r\n // See https://www.euclideanspace.com/maths/algebra/realNormedAlgebra/quaternions/slerp/index.htm\r\n const q1 = new Quaternion(0.1, 0.2, 0.3, 0.9);\r\n const q2 = new Quaternion(0.5, 0.8, 0.1, 0.4);\r\n\r\n const initial = Quaternion.Slerp(q1, q2, 0);\r\n expect(initial.x).toBeCloseTo(q1.x);\r\n expect(initial.y).toBeCloseTo(q1.y);\r\n expect(initial.z).toBeCloseTo(q1.z);\r\n expect(initial.w).toBeCloseTo(q1.w);\r\n\r\n const final = Quaternion.Slerp(q1, q2, 1);\r\n expect(final.x).toBeCloseTo(q2.x);\r\n expect(final.y).toBeCloseTo(q2.y);\r\n expect(final.z).toBeCloseTo(q2.z);\r\n expect(final.w).toBeCloseTo(q2.w);\r\n\r\n const middle = Quaternion.Slerp(q1, q2, 0.35);\r\n expect(middle.x).toBeCloseTo(0.27016);\r\n expect(middle.y).toBeCloseTo(0.46061);\r\n expect(middle.z).toBeCloseTo(0.25244);\r\n expect(middle.w).toBeCloseTo(0.7972);\r\n });\r\n\r\n it(\"Makes a quaterion from a rotation matrix\", () => {\r\n const x = Angle.FromRadians(1);\r\n const y = Angle.FromRadians(2);\r\n const z = Angle.FromRadians(3);\r\n const originalQ = Quaternion.FromEuler(x, y, z);\r\n\r\n const matrix = Matrix.Compose(Vector3.One(), originalQ, Vector3.Zero());\r\n\r\n const result = Quaternion.FromRotationMatrix(matrix);\r\n expect(result.x).toBeCloseTo(originalQ.x);\r\n expect(result.y).toBeCloseTo(originalQ.y);\r\n expect(result.z).toBeCloseTo(originalQ.z);\r\n expect(result.w).toBeCloseTo(originalQ.w);\r\n });\r\n\r\n it(\"Checks if two quaternions are close\", () => {\r\n const a = new Quaternion(1, 2, 3, 4);\r\n const bigger = new Quaternion(1.01, 2.01, 3.01, 4.01);\r\n const smaller = new Quaternion(0.99, 1.99, 2.99, 3.99);\r\n\r\n expect(Quaternion.Close(a, bigger, 0.0101)).toEqual(true);\r\n expect(Quaternion.Close(a, bigger, 0.0099)).toEqual(false);\r\n\r\n expect(Quaternion.Close(a, smaller, 0.0101)).toEqual(true);\r\n expect(Quaternion.Close(a, smaller, 0.0099)).toEqual(false);\r\n });\r\n\r\n it(\"Retuns the angle\", () => {\r\n const angle = Angle.FromDegrees(25);\r\n const axis = new Vector3(1, 2, 3);\r\n const q = Quaternion.FromAngleAxis(axis, angle);\r\n\r\n expect(Angle.Close(q.angle, angle)).toEqual(true);\r\n });\r\n\r\n it(\"Retuns the axis\", () => {\r\n const angle = Angle.FromDegrees(25);\r\n const axis = new Vector3(1, 2, 3);\r\n const q = Quaternion.FromAngleAxis(axis, angle);\r\n\r\n expect(Vector3.Close(q.axis, axis.unit)).toEqual(true);\r\n });\r\n\r\n it(\"Makes a quaternion into a rotation matrix\", () => {\r\n const x = Angle.FromRadians(1);\r\n const y = Angle.FromRadians(2);\r\n const z = Angle.FromRadians(3);\r\n const originalQ = Quaternion.FromEuler(x, y, z);\r\n\r\n const mat = Quaternion.ToRotationMatrix(originalQ);\r\n\r\n expect(Quaternion.Close(mat.rotation, originalQ)).toEqual(true);\r\n expect(Vector3.Close(mat.scale, Vector3.One())).toEqual(true);\r\n expect(Vector3.Close(mat.translation, Vector3.Zero())).toEqual(true);\r\n });\r\n\r\n it(\"Gets the Data Transfer Object\", () => {\r\n const quat = new Quaternion(1, 2, 3, 4);\r\n\r\n expect(quat.dto).toEqual({\r\n x: 1,\r\n y: 2,\r\n z: 3,\r\n w: 4,\r\n });\r\n });\r\n\r\n it(\"Makes a Quaterion from a DTO\", () => {\r\n const quat = Quaternion.FromDTO({\r\n x: 1,\r\n y: 2,\r\n z: 3,\r\n w: 4,\r\n });\r\n\r\n expect(quat.x).toEqual(1);\r\n expect(quat.y).toEqual(2);\r\n expect(quat.z).toEqual(3);\r\n expect(quat.w).toEqual(4);\r\n });\r\n\r\n it(\"Forms a quaternion from a forward direction\", () => {\r\n const dir = new Vector3(0, 0, 1);\r\n const q = Quaternion.FromDirectionVector(dir);\r\n\r\n const expectedQ = Quaternion.Identity();\r\n\r\n expect(q).toEqual(expectedQ);\r\n });\r\n\r\n it(\"Forms a quaternion from a right direction\", () => {\r\n const dir = new Vector3(1, 0, 0);\r\n const q = Quaternion.FromDirectionVector(dir);\r\n\r\n const expectedQ = Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(90),\r\n Angle.FromRadians(0),\r\n Angle.FromDegrees(0)\r\n );\r\n\r\n expect(Quaternion.Close(q, expectedQ)).toEqual(true);\r\n });\r\n\r\n it(\"Forms a quaternion from a left direction\", () => {\r\n const dir = new Vector3(-1, 0, 0);\r\n const q = Quaternion.FromDirectionVector(dir);\r\n\r\n const expectedQ = Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(-90),\r\n Angle.FromRadians(0),\r\n Angle.FromDegrees(0)\r\n );\r\n\r\n expect(Quaternion.Close(q, expectedQ)).toEqual(true);\r\n });\r\n\r\n it(\"Forms a quaternion from a behind direction\", () => {\r\n const dir = new Vector3(0, 0, -1);\r\n const q = Quaternion.FromDirectionVector(dir);\r\n\r\n const expectedQ = Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(180),\r\n Angle.FromRadians(0),\r\n Angle.FromDegrees(0)\r\n );\r\n\r\n expect(Quaternion.Close(q, expectedQ)).toEqual(true);\r\n });\r\n\r\n it(\"Forms a quaternion from a 45 degree up direction\", () => {\r\n const dir = new Vector3(0, 1, 1);\r\n const q = Quaternion.FromDirectionVector(dir);\r\n\r\n const expectedQ = Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(0),\r\n Angle.FromDegrees(-45),\r\n Angle.FromDegrees(0)\r\n );\r\n\r\n expect(Quaternion.Close(q, expectedQ)).toEqual(true);\r\n });\r\n\r\n it(\"Forms a quaternion from a 45 degree up direction\", () => {\r\n const dir = new Vector3(1, 1, 0);\r\n const q = Quaternion.FromDirectionVector(dir);\r\n\r\n const expectedQ = Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(90),\r\n Angle.FromDegrees(-45),\r\n Angle.FromDegrees(0)\r\n );\r\n\r\n expect(Quaternion.Close(q, expectedQ)).toEqual(true);\r\n });\r\n\r\n it(\"Returns an identity if the direction is zero\", () => {\r\n const dir = new Vector3(0, 0, 0);\r\n const q = Quaternion.FromDirectionVector(dir);\r\n\r\n const expectedQ = Quaternion.Identity();\r\n\r\n expect(Quaternion.Close(q, expectedQ)).toEqual(true);\r\n });\r\n\r\n it(\"Works with an up vector\", () => {\r\n const dir = new Vector3(0, 1, 0);\r\n const q = Quaternion.FromDirectionVector(dir);\r\n\r\n const expectedQ = Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(0),\r\n Angle.FromDegrees(-90),\r\n Angle.FromDegrees(0)\r\n );\r\n\r\n expect(Quaternion.Close(q, expectedQ)).toEqual(true);\r\n });\r\n\r\n it(\"Works with an down vector\", () => {\r\n const dir = new Vector3(0, -1, 0);\r\n const q = Quaternion.FromDirectionVector(dir);\r\n\r\n const expectedQ = Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(0),\r\n Angle.FromDegrees(90),\r\n Angle.FromDegrees(0)\r\n );\r\n\r\n expect(Quaternion.Close(q, expectedQ)).toEqual(true);\r\n });\r\n\r\n it(\"Gets the angle between two quaternions\", () => {\r\n const q1 = Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(0),\r\n Angle.FromDegrees(90),\r\n Angle.FromDegrees(0)\r\n );\r\n\r\n const q2 = Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(0),\r\n Angle.FromDegrees(80),\r\n Angle.FromDegrees(0)\r\n );\r\n\r\n const ang = Quaternion.AngleBetween(q1, q2);\r\n expect(ang.degrees).toBeCloseTo(10);\r\n });\r\n\r\n it(\"Keeps the angle between two quaternions less than 180\", () => {\r\n const q1 = Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(0),\r\n Angle.FromDegrees(0),\r\n Angle.FromDegrees(0)\r\n );\r\n\r\n const q2 = Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(0),\r\n Angle.FromDegrees(200),\r\n Angle.FromDegrees(0)\r\n );\r\n\r\n const ang = Quaternion.AngleBetween(q1, q2);\r\n expect(ang.degrees).toBeCloseTo(160);\r\n });\r\n\r\n it(\"Returns 0 if the quaterions are the same\", () => {\r\n const q1 = Quaternion.FromYawPitchRoll(\r\n Angle.FromDegrees(0),\r\n Angle.FromDegrees(0),\r\n Angle.FromDegrees(0)\r\n );\r\n const ang = Quaternion.AngleBetween(q1, q1);\r\n expect(ang.degrees).toEqual(0);\r\n });\r\n});\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Rectangle.js","sourceRoot":"","sources":["../../../src/ValueObjects/Rectangle.ts"],"names":[],"mappings":";;;AAOA,MAAa,SAAS;IACb,MAAM,CAAC,OAAO,CAAC,GAAiB;QACrC,OAAO,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IACjE,CAAC;IAOD,IAAI,GAAG;QACL,OAAO;YACR,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;SACjB,CAAC;IACF,CAAC;IAED,YAAY,GAAW,EAAE,KAAa,EAAE,MAAc,EAAE,IAAY;QAClE,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAzBD,8BAyBC"}
1
+ {"version":3,"file":"Rectangle.js","sourceRoot":"","sources":["../../../src/ValueObjects/Rectangle.ts"],"names":[],"mappings":";;;AAOA,MAAa,SAAS;IACb,MAAM,CAAC,OAAO,CAAC,GAAiB;QACrC,OAAO,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IACjE,CAAC;IAOD,IAAI,GAAG;QACL,OAAO;YACR,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;SACjB,CAAC;IACF,CAAC;IAED,YAAY,GAAW,EAAE,KAAa,EAAE,MAAc,EAAE,IAAY;QAClE,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAzBD,8BAyBC","sourcesContent":["export interface RectangleDTO {\r\n top: number;\r\n left: number;\r\n right: number;\r\n bottom: number;\r\n}\r\n\r\nexport class Rectangle {\r\n public static FromDTO(dto: RectangleDTO):Rectangle {\r\n return new Rectangle(dto.top, dto.right, dto.bottom, dto.left);\r\n }\r\n\r\n readonly top: number;\r\n readonly left: number;\r\n readonly bottom: number;\r\n readonly right: number;\r\n\r\n get dto(): RectangleDTO {\r\n return {\r\n\t\t\ttop: this.top,\r\n\t\t\tbottom: this.bottom,\r\n\t\t\tleft: this.left,\r\n\t\t\tright: this.right\r\n\t\t};\r\n }\r\n\r\n constructor(top: number, right: number, bottom: number, left: number ) {\r\n this.top = top;\r\n this.bottom = bottom;\r\n this.left = left;\r\n this.right = right;\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Rectangle.test.js","sourceRoot":"","sources":["../../../src/ValueObjects/Rectangle.test.ts"],"names":[],"mappings":";;AAAA,2CAAsC;AAEtC,QAAQ,CAAC,wBAAwB,EAAE,GAAE,EAAE;IACtC,EAAE,CAAC,+BAA+B,EAAE,GAAE,EAAE;QACvC,MAAM,IAAI,GAAG,IAAI,qBAAS,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,aAAa,EAAE,GAAE,EAAE;QACrB,MAAM,IAAI,GAAG,IAAI,qBAAS,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gCAAgC,EAAE,GAAE,EAAE;QACxC,MAAM,IAAI,GAAG,qBAAS,CAAC,OAAO,CAAC;YAC9B,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,CAAC;YACP,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,CAAC;SACR,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAA;AACH,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"Rectangle.test.js","sourceRoot":"","sources":["../../../src/ValueObjects/Rectangle.test.ts"],"names":[],"mappings":";;AAAA,2CAAsC;AAEtC,QAAQ,CAAC,wBAAwB,EAAE,GAAE,EAAE;IACtC,EAAE,CAAC,+BAA+B,EAAE,GAAE,EAAE;QACvC,MAAM,IAAI,GAAG,IAAI,qBAAS,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,aAAa,EAAE,GAAE,EAAE;QACrB,MAAM,IAAI,GAAG,IAAI,qBAAS,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gCAAgC,EAAE,GAAE,EAAE;QACxC,MAAM,IAAI,GAAG,qBAAS,CAAC,OAAO,CAAC;YAC9B,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,CAAC;YACP,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,CAAC;SACR,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAA;AACH,CAAC,CAAC,CAAA","sourcesContent":["import {Rectangle} from \"./Rectangle\";\r\n\r\ndescribe(\"Rectangle value object\", ()=>{\r\n\tit(\"Creates and stores the values\", ()=>{\r\n\t\tconst rect = new Rectangle(1,2,3,4);\r\n\t\texpect(rect.top).toEqual(1);\r\n\t\texpect(rect.right).toEqual(2);\r\n\t\texpect(rect.bottom).toEqual(3);\r\n\t\texpect(rect.left).toEqual(4);\r\n\t})\r\n\r\n\tit(\"Forms a dto\", ()=>{\r\n\t\tconst rect = new Rectangle(1,2,3,4);\r\n\t\texpect(rect.dto.top).toEqual(1);\r\n\t\texpect(rect.dto.right).toEqual(2);\r\n\t\texpect(rect.dto.bottom).toEqual(3);\r\n\t\texpect(rect.dto.left).toEqual(4);\r\n\t})\r\n\r\n\tit(\"Forms a rectangle from the DTO\", ()=>{\r\n\t\tconst rect = Rectangle.FromDTO({\r\n\t\t\ttop: 1,\r\n\t\t\tleft: 2,\r\n\t\t\tbottom: 3,\r\n\t\t\tright: 4\r\n\t\t});\r\n\t\texpect(rect.top).toEqual(1);\r\n\t\texpect(rect.left).toEqual(2);\r\n\t\texpect(rect.bottom).toEqual(3);\r\n\t\texpect(rect.right).toEqual(4);\r\n\t})\r\n})"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Vector2.js","sourceRoot":"","sources":["../../../src/ValueObjects/Vector2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Vector2.js","sourceRoot":"","sources":["../../../src/ValueObjects/Vector2.ts"],"names":[],"mappings":"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","sourcesContent":["import { Angle } from \".\";\r\n\r\nexport class Vector2 {\r\n /**\r\n * Creates a zero vector\r\n * @returns Vector [0,0]\r\n */\r\n public static Zero(): Vector2 {\r\n return new Vector2(0, 0);\r\n }\r\n\r\n /**\r\n * Creates a one vector\r\n * @returns Vector [1,1]\r\n */\r\n public static One(): Vector2 {\r\n return new Vector2(1, 1);\r\n }\r\n\r\n /**\r\n * Checks to see if Vector A equals Vector B\r\n * @param a Vector A\r\n * @param b Vector B\r\n * @returns True if Vector A === Vector B\r\n */\r\n public static Equal(a: Vector2, b: Vector2): boolean {\r\n if (a.x !== b.x) return false;\r\n if (a.y !== b.y) return false;\r\n return true;\r\n }\r\n\r\n /**\r\n * Creates a Vector from a Data Transfer Object\r\n * @param dto The Data Transfer Object\r\n * @returns The Vector\r\n */\r\n public static FromDTO(dto: { x: number; y: number }): Vector2 {\r\n return new Vector2(dto.x, dto.y);\r\n }\r\n\r\n /**\r\n * Adds Vector B to Vector A\r\n * @param a Vector A\r\n * @param b Vector B\r\n * @returns A + B\r\n */\r\n public static Add(a: Vector2, b: Vector2): Vector2 {\r\n return new Vector2(a.x + b.x, a.y + b.y);\r\n }\r\n\r\n /**\r\n * Subtracts Vector B from Vector A\r\n * @param a Vector A\r\n * @param b Vector B\r\n * @returns A - B\r\n */\r\n public static Subtract(a: Vector2, b: Vector2): Vector2 {\r\n return new Vector2(a.x - b.x, a.y - b.y);\r\n }\r\n\r\n /**\r\n * Checks to see if Vector A is close to Vector B\r\n * @param a Vector A\r\n * @param b Vector B\r\n * @param threshold Tolerance to define \"close\". Defaults to 0.01\r\n * @returns True if A and B are close enough\r\n */\r\n public static Close = (\r\n a: Vector2,\r\n b: Vector2,\r\n threshold: number = 0.01\r\n ): boolean => {\r\n const diff = Vector2.Subtract(a, b);\r\n const diffMag = diff.magnitued;\r\n\r\n if (diffMag < threshold) return true;\r\n else return false;\r\n };\r\n\r\n /**\r\n * Rotates a vector by an angle\r\n * @param vec The original vector\r\n * @param angle The angle\r\n * @returns A new Vector that has been rotated from the original by an angle\r\n */\r\n public static Rotate = (vec: Vector2, angle: Angle): Vector2 => {\r\n const x = vec.x * Math.cos(angle.radians) - vec.y * Math.sin(angle.radians);\r\n const y = vec.x * Math.sin(angle.radians) + vec.y * Math.cos(angle.radians);\r\n return new Vector2(x, y);\r\n };\r\n\r\n /**\r\n * Scales a vector uniformly\r\n * @param vector The original vector\r\n * @param scale Scale factor\r\n * @returns A new, scaled vector\r\n */\r\n public static Scale = (vector: Vector2, scale: number): Vector2 => {\r\n const x = scale * vector.x;\r\n const y = scale * vector.y;\r\n return new Vector2(x, y);\r\n };\r\n\r\n /**\r\n * Creates a new vector of a given lenght and a unit that is equal to the original vector\r\n * @param vector The original vector. This determines the unit of the final vector\r\n * @param length The desired length of the final vector\r\n * @returns The final vector\r\n */\r\n public static NewVectorOfLength = (\r\n vector: Vector2,\r\n length: number\r\n ): Vector2 => {\r\n const unit = vector.unit;\r\n const x = length * unit.x;\r\n const y = length * unit.y;\r\n return new Vector2(x, y);\r\n };\r\n\r\n /**\r\n * Calculate the dot product between Vectors A and B\r\n * @param a Vector A\r\n * @param b Vector B\r\n * @returns The Dot product between A and B\r\n */\r\n public static Dot = (a: Vector2, b: Vector2): number => {\r\n return a.x * b.x + a.y * b.y;\r\n };\r\n\r\n /**\r\n * Calculates the dot product between Vectors A and B\r\n * @param a Vector A\r\n * @param b Vector B\r\n * @returns A . B\r\n */\r\n public static AngleBetween = (a: Vector2, b: Vector2): Angle => {\r\n const dot = Vector2.Dot(a, b);\r\n const magnitues = a.magnitued * b.magnitued;\r\n\r\n const angRadians = Math.acos(dot / magnitues);\r\n\r\n return Angle.FromRadians(angRadians);\r\n };\r\n\r\n /**\r\n * Calculates the Cross product between Vectors A and B\r\n * @param a Vector A\r\n * @param b Vector B\r\n * @returns A X B\r\n */\r\n public static Cross = (a: Vector2, b: Vector2): number => {\r\n return a.x * b.y - a.y * b.x;\r\n };\r\n\r\n readonly x: number;\r\n readonly y: number;\r\n\r\n /**\r\n * Get the magnitude (length) of the vector\r\n */\r\n get magnitued(): number {\r\n const xSqr = this.x * this.x;\r\n const ySqr = this.y * this.y;\r\n\r\n const magnitude = Math.sqrt(xSqr + ySqr);\r\n return magnitude;\r\n }\r\n\r\n /**\r\n * Get the unit vector\r\n */\r\n get unit(): Vector2 {\r\n const mag = this.magnitued;\r\n if (mag === 0) {\r\n return Vector2.Zero();\r\n }\r\n\r\n const unitX = this.x / mag;\r\n const unitY = this.y / mag;\r\n return new Vector2(unitX, unitY);\r\n }\r\n\r\n /**\r\n * Returns the angle of the direction of this angle in degrees.\r\n * 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\r\n */\r\n get theta(): number {\r\n return (Math.atan2(this.y, this.x) * 180) / Math.PI;\r\n }\r\n\r\n /**\r\n * Retuns the vector as an array of numbers [x,y]\r\n */\r\n get array(): [number, number] {\r\n return [this.x, this.y];\r\n }\r\n\r\n /**\r\n * Get the vector as a Data Transfer Object\r\n */\r\n get dto(): { x: number; y: number } {\r\n return { x: this.x, y: this.y };\r\n }\r\n\r\n constructor(x: number, y: number) {\r\n this.x = x;\r\n this.y = y;\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Vector2.test.js","sourceRoot":"","sources":["../../../src/ValueObjects/Vector2.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Vector2.test.js","sourceRoot":"","sources":["../../../src/ValueObjects/Vector2.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { Angle } from \".\";\r\nimport { Vector2 } from \"./Vector2\";\r\n\r\ndescribe(\"Vector 2 value object\", () => {\r\n it(\"Creates a new vector\", () => {\r\n const v = new Vector2(2, 5);\r\n expect(v.x).toEqual(2);\r\n expect(v.y).toEqual(5);\r\n });\r\n\r\n it(\"Returns the magnitude\", () => {\r\n expect(new Vector2(0, 5).magnitued).toEqual(5);\r\n expect(new Vector2(0, -5).magnitued).toEqual(5);\r\n expect(new Vector2(5, 0).magnitued).toEqual(5);\r\n expect(new Vector2(-5, 0).magnitued).toEqual(5);\r\n expect(new Vector2(-1, -1).magnitued).toBeCloseTo(1.414);\r\n expect(new Vector2(1, 1).magnitued).toBeCloseTo(1.414);\r\n });\r\n\r\n it(\"Returns the unit\", () => {\r\n expect(new Vector2(0, 5).unit).toEqual(new Vector2(0, 1));\r\n expect(new Vector2(0, -5).unit).toEqual(new Vector2(0, -1));\r\n expect(new Vector2(5, 0).unit).toEqual(new Vector2(1, 0));\r\n expect(new Vector2(-5, 0).unit).toEqual(new Vector2(-1, 0));\r\n\r\n const unit1 = new Vector2(5, 5).unit;\r\n expect(unit1.x).toBeCloseTo(0.707);\r\n expect(unit1.y).toBeCloseTo(0.707);\r\n });\r\n\r\n it(\"Retuns theta\", () => {\r\n expect(new Vector2(0, 5).theta).toBeCloseTo(90);\r\n expect(new Vector2(0, -5).theta).toBeCloseTo(-90);\r\n expect(new Vector2(5, 0).theta).toBeCloseTo(0);\r\n expect(new Vector2(-5, 0).theta).toBeCloseTo(180);\r\n });\r\n\r\n test(\"Returns the vector as an array\", () => {\r\n const v1 = new Vector2(1, 2);\r\n\r\n expect(v1.array[0]).toEqual(1);\r\n expect(v1.array[1]).toEqual(2);\r\n });\r\n});\r\n\r\ndescribe(\"Vector 2 static actions\", () => {\r\n it(\"Create a zero vector\", () => {\r\n expect(Vector2.Zero()).toEqual(new Vector2(0, 0));\r\n });\r\n\r\n it(\"Create a one vector\", () => {\r\n expect(Vector2.One()).toEqual(new Vector2(1, 1));\r\n });\r\n\r\n it(\"Check for vectors to be Equal\", () => {\r\n const v1 = new Vector2(1, 2);\r\n const v2 = new Vector2(2, 3);\r\n const v3 = new Vector2(1, 2);\r\n\r\n expect(Vector2.Equal(v1, v2)).toEqual(false);\r\n expect(Vector2.Equal(v1, v3)).toEqual(true);\r\n });\r\n\r\n it(\"Adds vectors\", () => {\r\n const v1 = new Vector2(1, 2);\r\n const v2 = new Vector2(2, 3);\r\n const v3 = Vector2.Add(v1, v2);\r\n\r\n expect(v3).toEqual(new Vector2(3, 5));\r\n });\r\n\r\n it(\"Subtracts vectors\", () => {\r\n const v1 = new Vector2(1, 2);\r\n const v2 = new Vector2(2, 3);\r\n const v3 = Vector2.Subtract(v1, v2);\r\n\r\n expect(v3).toEqual(new Vector2(-1, -1));\r\n });\r\n\r\n it(\"Checks to see if vectors are close using a default threshold\", () => {\r\n const v1 = new Vector2(1, 2);\r\n const v2 = new Vector2(1.001, 2.001);\r\n const v3 = new Vector2(1.1, 2.1);\r\n\r\n expect(Vector2.Close(v1, v2)).toEqual(true);\r\n expect(Vector2.Close(v1, v3)).toEqual(false);\r\n });\r\n\r\n it(\"Checks to see if vectors are close using a passed threshold\", () => {\r\n const v1 = new Vector2(1, 2);\r\n const v2 = new Vector2(1.1, 2.1);\r\n const v3 = new Vector2(2, 3);\r\n\r\n expect(Vector2.Close(v1, v2, 1)).toEqual(true);\r\n expect(Vector2.Close(v1, v3, 1)).toEqual(false);\r\n });\r\n\r\n it(\"Rotates to a new vector\", () => {\r\n const v1 = new Vector2(1, 2);\r\n\r\n const r1 = Vector2.Rotate(v1, Angle.FromDegrees(90));\r\n expect(r1.x).toBeCloseTo(-2);\r\n expect(r1.y).toBeCloseTo(1);\r\n\r\n const r2 = Vector2.Rotate(v1, Angle.FromDegrees(-90));\r\n expect(r2.x).toBeCloseTo(2);\r\n expect(r2.y).toBeCloseTo(-1);\r\n });\r\n\r\n it(\"Scales a vector\", () => {\r\n const v1 = new Vector2(1, 2);\r\n const scaled = Vector2.Scale(v1, 3);\r\n expect(scaled).toEqual(new Vector2(3, 6));\r\n });\r\n\r\n it(\"Make a new vector of length\", () => {\r\n const v1 = new Vector2(1, 1);\r\n const lengthened = Vector2.NewVectorOfLength(v1, 3);\r\n expect(lengthened.x).toBeCloseTo(2.12);\r\n expect(lengthened.y).toBeCloseTo(2.12);\r\n });\r\n\r\n it(\"Calculates the dot between two vectors\", () => {\r\n // https://onlinemschool.com/math/assistance/vector/multiply/\r\n const v1 = new Vector2(1, 2);\r\n const v2 = new Vector2(5, 6);\r\n\r\n const dot = Vector2.Dot(v1, v2);\r\n expect(dot).toEqual(17);\r\n });\r\n\r\n it(\"Calculates the angle between two vectors\", () => {\r\n // https://www.omnicalculator.com/math/angle-between-two-vectors\r\n const v1 = new Vector2(1, 2);\r\n const v2 = new Vector2(3, 4);\r\n\r\n const angle = Vector2.AngleBetween(v1, v2);\r\n expect(angle.degrees).toBeCloseTo(10.305);\r\n });\r\n\r\n it(\"Calculates a Cross product\", () => {\r\n const v1 = new Vector2(1, 2);\r\n const v2 = new Vector2(3, 4);\r\n\r\n const cross = Vector2.Cross(v1, v2);\r\n expect(cross).toEqual(-2);\r\n });\r\n\r\n it(\"Gets the Data Transfer Object\", () => {\r\n const vec = new Vector2(1, 2);\r\n\r\n expect(vec.dto).toEqual({\r\n x: 1,\r\n y: 2\r\n });\r\n });\r\n\r\n it(\"Makes a vector from a DTO\", () => {\r\n const vec = Vector2.FromDTO({\r\n x: 1,\r\n y: 2\r\n });\r\n\r\n expect(vec.x).toEqual(1);\r\n expect(vec.y).toEqual(2);\r\n });\r\n});\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Vector3.js","sourceRoot":"","sources":["../../../src/ValueObjects/Vector3.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Vector3.js","sourceRoot":"","sources":["../../../src/ValueObjects/Vector3.ts"],"names":[],"mappings":"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","sourcesContent":["import { Matrix } from \"./Matrix\";\r\n\r\nexport interface Vector3DTO {\r\n x: number;\r\n y: number;\r\n z: number;\r\n}\r\n\r\nexport class Vector3 {\r\n /**\r\n * Creates a zero vector\r\n * @returns Vector [0,0,0]\r\n */\r\n public static Zero() {\r\n return new Vector3(0, 0, 0);\r\n }\r\n\r\n /**\r\n * Creates a vector of ones\r\n * @returns Vector [1,1,1]\r\n */\r\n public static One() {\r\n return new Vector3(1, 1, 1);\r\n }\r\n\r\n /**\r\n * Creates a Right vector (positive X)\r\n * @param length optional length of the right unit. Default is 1\r\n * @returns Vector [length, 0,0]\r\n */\r\n public static Right(length = 1) {\r\n return new Vector3(length, 0, 0);\r\n }\r\n\r\n /**\r\n * Creates a Left vector (negative X)\r\n * @param length optional length of the left unit. Default is 1\r\n * @returns Vector [-length, 0, 0]\r\n */\r\n public static Left(length = 1) {\r\n return new Vector3(-length, 0, 0);\r\n }\r\n\r\n /**\r\n * Creates an Up vector (positive Y)\r\n * @param length optional length of the vector. Default is 1\r\n * @returns Vector [0, length, 0]\r\n */\r\n public static Up(length = 1) {\r\n return new Vector3(0, length, 0);\r\n }\r\n\r\n /**\r\n * Creates a Down vector (negative Y)\r\n * @param length optional length of the vector. Default is 1\r\n * @returns Vector [0, -length, 0]\r\n */\r\n public static Down(length = 1) {\r\n return new Vector3(0, -length, 0);\r\n }\r\n\r\n /**\r\n * Creates a Forward vector (positive Z)\r\n * @param length optional length of the vector. Default is 1\r\n * @returns Vector [0, 0, length]\r\n */\r\n public static Forward(length = 1) {\r\n return new Vector3(0, 0, length);\r\n }\r\n\r\n /**\r\n * Creates a Backward vector (negative Z)\r\n * @param length optional length of the vector. Default is 1\r\n * @returns Vector [0, 0, -length]\r\n */\r\n public static Backward(length = 1) {\r\n return new Vector3(0, 0, -length);\r\n }\r\n\r\n /**\r\n * Creates a Vector from an array of components\r\n * @param values The x, y, z components as an array\r\n * @returns The Vector\r\n */\r\n public static FromArray(values: [number, number, number]): Vector3 {\r\n return new Vector3(values[0], values[1], values[2]);\r\n }\r\n\r\n /**\r\n * Creates a Vector from a Data Transfer Object\r\n * @param dto The Data Transfer Object\r\n * @returns The Vector\r\n */\r\n public static FromDTO(dto: Vector3DTO): Vector3 {\r\n return new Vector3(dto.x, dto.y, dto.z);\r\n }\r\n\r\n /**\r\n * Adds Vector B to Vector A\r\n * @param a Vector A\r\n * @param b Vector B\r\n * @return Result of A + B\r\n */\r\n static Add = (a: Vector3, b: Vector3): Vector3 => {\r\n return new Vector3(a.x + b.x, a.y + b.y, a.z + b.z);\r\n };\r\n\r\n /**\r\n * Subtracts Vector B from Vector A\r\n * @param a Vector A\r\n * @param b Vector B\r\n * @return Result of A - B\r\n */\r\n static Subtract = (a: Vector3, b: Vector3): Vector3 => {\r\n return new Vector3(a.x - b.x, a.y - b.y, a.z - b.z);\r\n };\r\n\r\n /**\r\n * Checks to see if the two vectors are equal\r\n * @param a Vector A\r\n * @param b Vector B\r\n * @return True if the two vectors are equal, otherwise false\r\n */\r\n static Equal = (a: Vector3, b: Vector3): boolean => {\r\n if (a.x === b.x && a.y === b.y && a.z === b.z) return true;\r\n else return false;\r\n };\r\n\r\n /**\r\n * Checks to see if the two vectors are close\r\n * @param a Vector A\r\n * @param b Vector B\r\n * @param tolerance Tolerance for checking. Defaulted to 0.01\r\n * @return True if the distance between the two vectors is less than the tolerance, otherwise false\r\n */\r\n static Close = (a: Vector3, b: Vector3, tolerance = 0.01): boolean => {\r\n const diff = Vector3.Subtract(a, b);\r\n const diffMag = diff.magnitude;\r\n\r\n if (diffMag < tolerance) return true;\r\n else return false;\r\n };\r\n\r\n /**\r\n * Calculates the Cross Product between two vectors\r\n * @param a Vector A\r\n * @param b Vector B\r\n * @return the cross product between the two vectors\r\n */\r\n static Cross = (a: Vector3, b: Vector3): Vector3 => {\r\n const x = a.y * b.z - a.z * b.y;\r\n const y = a.z * b.x - a.x * b.z;\r\n const z = a.x * b.y - a.y * b.x;\r\n return new Vector3(x, y, z);\r\n };\r\n\r\n /**\r\n * Calculates the Dot Product between two vectors\r\n * @param a Vector A\r\n * @param b Vector B\r\n * @return the dot product between the two vectors\r\n */\r\n static Dot = (a: Vector3, b: Vector3): number => {\r\n return a.x * b.x + a.y * b.y + a.z * b.z;\r\n };\r\n\r\n /**\r\n * Create a new vector that will have the same unit as the original vector but set to the desired length\r\n * @param vec The original vector\r\n * @param length Desired length of the final vector\r\n * @return The resulting vector\r\n */\r\n static NewVectorOfLength = (vec: Vector3, length: number): Vector3 => {\r\n const unit = vec.unit;\r\n return new Vector3(length * unit.x, length * unit.y, length * unit.z);\r\n };\r\n\r\n static Transform = (vector: Vector3, matrix: Matrix): Vector3 => {\r\n const m = matrix.m;\r\n const rx = vector.x * m[0] + vector.y * m[4] + vector.z * m[8] + m[12];\r\n const ry = vector.x * m[1] + vector.y * m[5] + vector.z * m[9] + m[13];\r\n const rz = vector.x * m[2] + vector.y * m[6] + vector.z * m[10] + m[14];\r\n const rw =\r\n 1 / (vector.x * m[3] + vector.y * m[7] + vector.z * m[11] + m[15]);\r\n\r\n const x = rx * rw;\r\n const y = ry * rw;\r\n const z = rz * rw;\r\n\r\n return new Vector3(x, y, z);\r\n };\r\n\r\n /**\r\n * Linearly interpolates between two vectors\r\n * @param initial The starting point\r\n * @param final The end point\r\n * @param percent Percent of the lerp. 0 will return initial and 1 will return final\r\n * @return the LERP result Vector3\r\n */\r\n static Lerp = (\r\n initial: Vector3,\r\n final: Vector3,\r\n percent: number\r\n ): Vector3 => {\r\n const x = Vector3.interpolateNumber(initial.x, final.x, percent);\r\n const y = Vector3.interpolateNumber(initial.y, final.y, percent);\r\n const z = Vector3.interpolateNumber(initial.z, final.z, percent);\r\n\r\n return new Vector3(x, y, z);\r\n };\r\n\r\n private static interpolateNumber(a: number, b: number, percent: number) {\r\n return a + (b - a) * percent;\r\n }\r\n\r\n readonly x: number;\r\n readonly y: number;\r\n readonly z: number;\r\n\r\n /**\r\n * Gets the magnitude of the Vector3\r\n * @returns the magnitude of the Vector3\r\n */\r\n get magnitude(): number {\r\n const xSqr = this.x * this.x;\r\n const ySqr = this.y * this.y;\r\n const zSqr = this.z * this.z;\r\n\r\n const magnitude = Math.sqrt(xSqr + ySqr + zSqr);\r\n return magnitude;\r\n }\r\n\r\n /**\r\n * Gets the unit vector for this Vector3\r\n * @returns the unit vector\r\n */\r\n get unit(): Vector3 {\r\n const mag = this.magnitude;\r\n if (mag === 0) {\r\n return Vector3.Zero();\r\n }\r\n\r\n const unitX = this.x / mag;\r\n const unitY = this.y / mag;\r\n const unitZ = this.z / mag;\r\n return new Vector3(unitX, unitY, unitZ);\r\n }\r\n\r\n /**\r\n * Gets the vector as an array\r\n * @returns an array representing the vector\r\n */\r\n get array(): [number, number, number] {\r\n return [this.x, this.y, this.z];\r\n }\r\n\r\n /**\r\n * Get the vector as a Data Transfer Object\r\n */\r\n get dto(): Vector3DTO {\r\n return { x: this.x, y: this.y, z: this.z };\r\n }\r\n\r\n constructor(x: number, y: number, z: number) {\r\n this.x = x;\r\n this.y = y;\r\n this.z = z;\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Vector3.test.js","sourceRoot":"","sources":["../../../src/ValueObjects/Vector3.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Vector3.test.js","sourceRoot":"","sources":["../../../src/ValueObjects/Vector3.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { Vector3 } from \".\";\r\nimport { Angle } from \"./Angle\";\r\nimport { Matrix } from \"./Matrix\";\r\nimport { Quaternion } from \"./Quaternion\";\r\n\r\ndescribe(\"Vector 3 Value object - Creation\", () => {\r\n it(\"Creates a zero vector\", () => {\r\n const v = Vector3.Zero();\r\n expect(v).toEqual(new Vector3(0, 0, 0));\r\n });\r\n it(\"Creates a one vector\", () => {\r\n const v = Vector3.One();\r\n expect(v).toEqual(new Vector3(1, 1, 1));\r\n });\r\n\r\n it(\"Creates a vector from an array\", () => {\r\n const v = Vector3.FromArray([2, 5, 7]);\r\n expect(v).toEqual(new Vector3(2, 5, 7));\r\n });\r\n\r\n it(\"Creates a unit right vector\", () => {\r\n const v = Vector3.Right();\r\n expect(v).toEqual(new Vector3(1, 0, 0));\r\n });\r\n\r\n it(\"Creates a right vector with length\", () => {\r\n const v = Vector3.Right(3);\r\n expect(v).toEqual(new Vector3(3, 0, 0));\r\n });\r\n\r\n it(\"Creates a unit left vector\", () => {\r\n const v = Vector3.Left();\r\n expect(v).toEqual(new Vector3(-1, 0, 0));\r\n });\r\n\r\n it(\"Creates a left vector with length\", () => {\r\n const v = Vector3.Left(3);\r\n expect(v).toEqual(new Vector3(-3, 0, 0));\r\n });\r\n\r\n it(\"Creates a unit up vector\", () => {\r\n const v = Vector3.Up();\r\n expect(v).toEqual(new Vector3(0, 1, 0));\r\n });\r\n\r\n it(\"Creates a up vector with length\", () => {\r\n const v = Vector3.Up(3);\r\n expect(v).toEqual(new Vector3(0, 3, 0));\r\n });\r\n\r\n it(\"Creates a unit down vector\", () => {\r\n const v = Vector3.Down();\r\n expect(v).toEqual(new Vector3(0, -1, 0));\r\n });\r\n\r\n it(\"Creates a down vector with length\", () => {\r\n const v = Vector3.Down(3);\r\n expect(v).toEqual(new Vector3(0, -3, 0));\r\n });\r\n\r\n it(\"Creates a unit forward vector\", () => {\r\n const v = Vector3.Forward();\r\n expect(v).toEqual(new Vector3(0, 0, 1));\r\n });\r\n\r\n it(\"Creates a forward vector with length\", () => {\r\n const v = Vector3.Forward(3);\r\n expect(v).toEqual(new Vector3(0, 0, 3));\r\n });\r\n\r\n it(\"Creates a unit backward vector\", () => {\r\n const v = Vector3.Backward();\r\n expect(v).toEqual(new Vector3(0, 0, -1));\r\n });\r\n\r\n it(\"Creates a backward vector with length\", () => {\r\n const v = Vector3.Backward(3);\r\n expect(v).toEqual(new Vector3(0, 0, -3));\r\n });\r\n});\r\n\r\ndescribe(\"Vector 3 Value object - Static actions\", () => {\r\n it(\"Adds two vectors\", () => {\r\n const v1 = new Vector3(1, 2, 3);\r\n const v2 = new Vector3(4, 5, 6);\r\n\r\n const v3 = Vector3.Add(v1, v2);\r\n expect(v3).toEqual(new Vector3(5, 7, 9));\r\n });\r\n\r\n test(\"Subtracts two vectors\", () => {\r\n const v1 = new Vector3(1, 2, 3);\r\n const v2 = new Vector3(6, 5, 4);\r\n\r\n const v3 = Vector3.Subtract(v1, v2);\r\n expect(v3).toEqual(new Vector3(-5, -3, -1));\r\n });\r\n\r\n test(\"Checks if two vectors are equal\", () => {\r\n const v1 = new Vector3(1, 2, 3);\r\n const v2 = new Vector3(4, 5, 6);\r\n const v3 = new Vector3(1, 2, 3);\r\n expect(Vector3.Equal(v1, v2)).toEqual(false);\r\n expect(Vector3.Equal(v1, v3)).toEqual(true);\r\n });\r\n\r\n it(\"Checks if Vectors are close without a tolerance\", () => {\r\n const v1 = new Vector3(1, 2, 3);\r\n const v2 = new Vector3(1.1, 2.2, 3.3);\r\n const v3 = new Vector3(1.001, 2.001, 3.001);\r\n expect(Vector3.Close(v1, v2)).toEqual(false);\r\n expect(Vector3.Close(v1, v3)).toEqual(true);\r\n });\r\n\r\n it(\"Checks if Vectors are close with a tolerance\", () => {\r\n const v1 = new Vector3(1, 2, 3);\r\n const v2 = new Vector3(1.1, 2.2, 3.3);\r\n expect(Vector3.Close(v1, v2, 0.3)).toEqual(false);\r\n expect(Vector3.Close(v1, v2, 0.4)).toEqual(true);\r\n });\r\n\r\n it(\"Computes the cross product\", () => {\r\n // From https://www.symbolab.com/solver/vector-cross-product-calculator\r\n const v1 = new Vector3(1, 2, 3);\r\n const v2 = new Vector3(4, 5, -6);\r\n\r\n const cross = Vector3.Cross(v1, v2);\r\n expect(cross).toEqual(new Vector3(-27, 18, -3));\r\n });\r\n\r\n test(\"Cross product\", () => {\r\n // From https://www.symbolab.com/solver/vector-cross-product-calculator\r\n const v1 = new Vector3(1, 2, 3);\r\n const v2 = new Vector3(4, 5, -6);\r\n\r\n const cross = Vector3.Cross(v2, v1);\r\n expect(cross).toEqual(new Vector3(27, -18, 3));\r\n });\r\n\r\n test(\"Dot product\", () => {\r\n // From https://www.calculatorsoup.com/calculators/algebra/dot-product-calculator.php\r\n const v1 = new Vector3(1, 5, 3);\r\n const v2 = new Vector3(2, 3, 6);\r\n\r\n const dot = Vector3.Dot(v1, v2);\r\n expect(dot).toEqual(35);\r\n });\r\n\r\n test(\"New vector of length\", () => {\r\n const v1 = new Vector3(1, -5, 3);\r\n const v2 = Vector3.NewVectorOfLength(v1, 10);\r\n\r\n expect(v2.x).toBeCloseTo(1.69);\r\n expect(v2.y).toBeCloseTo(-8.45);\r\n expect(v2.z).toBeCloseTo(5.07);\r\n });\r\n});\r\n\r\ndescribe(\"Vector 3 Value object - parameters\", () => {\r\n it(\"Gets the vector components\", () => {\r\n const v = new Vector3(2, 5, 7);\r\n expect(v.x).toEqual(2);\r\n expect(v.y).toEqual(5);\r\n expect(v.z).toEqual(7);\r\n });\r\n\r\n it(\"Gets the magnitue\", () => {\r\n // https://www.omnicalculator.com/math/unit-vector\r\n const v1 = new Vector3(1, -5, 3);\r\n expect(v1.magnitude).toBeCloseTo(5.916);\r\n });\r\n\r\n it(\"Gets the unit vector\", () => {\r\n // https://www.omnicalculator.com/math/unit-vector\r\n const v1 = new Vector3(1, -5, 3);\r\n\r\n expect(v1.unit.x).toBeCloseTo(0.169);\r\n expect(v1.unit.y).toBeCloseTo(-0.845);\r\n expect(v1.unit.z).toBeCloseTo(0.507);\r\n });\r\n\r\n it(\"Gets the vector as an array\", () => {\r\n const v1 = new Vector3(1, -5, 3);\r\n expect(v1.array).toEqual([1, -5, 3]);\r\n });\r\n\r\n it(\"Lerps\", () => {\r\n const start = new Vector3(10, 20, 30);\r\n const end = new Vector3(20, 30, 40);\r\n const lerped = Vector3.Lerp(start, end, 0.5);\r\n\r\n expect(lerped).toEqual(new Vector3(15, 25, 35));\r\n });\r\n\r\n it(\"Transforms a Vector with a matrix\", () => {\r\n const pos = new Vector3(5, 0, 0);\r\n const rot = Quaternion.FromAngleAxis(Vector3.Up(), Angle.FromDegrees(-90));\r\n const scale = new Vector3(2, 2, 2);\r\n const matrix = Matrix.Compose(scale, rot, pos);\r\n\r\n const transformed = Vector3.Transform(new Vector3(2, 1, -1), matrix);\r\n const expected = new Vector3(7, 2, 4);\r\n\r\n expect(Vector3.Close(transformed, expected)).toEqual(true);\r\n });\r\n\r\n it(\"Gets the Data Transfer Object\", () => {\r\n const vec = new Vector3(1, 2, 3);\r\n\r\n expect(vec.dto).toEqual({\r\n x: 1,\r\n y: 2,\r\n z: 3,\r\n });\r\n });\r\n\r\n it(\"Makes a vector from a DTO\", () => {\r\n const vec = Vector3.FromDTO({\r\n x: 1,\r\n y: 2,\r\n z: 3,\r\n });\r\n\r\n expect(vec.x).toEqual(1);\r\n expect(vec.y).toEqual(2);\r\n expect(vec.z).toEqual(3);\r\n });\r\n});\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ValueObjects/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,0CAAwB;AACxB,kDAAgC;AAChC,2CAAyB;AACzB,mDAAiC;AACjC,oDAAkC;AAClC,+CAA6B;AAC7B,8CAA4B;AAC5B,4CAA0B;AAC1B,4CAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ValueObjects/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,0CAAwB;AACxB,kDAAgC;AAChC,2CAAyB;AACzB,mDAAiC;AACjC,oDAAkC;AAClC,+CAA6B;AAC7B,8CAA4B;AAC5B,4CAA0B;AAC1B,4CAA0B","sourcesContent":["export * from \"./Angle\";\r\nexport * from \"./Color\";\r\nexport * from \"./LineSegment2D\";\r\nexport * from \"./Matrix\";\r\nexport * from \"./ParametricLine\";\r\nexport * from \"./ParametricPlane\";\r\nexport * from \"./Quaternion\";\r\nexport * from \"./Rectangle\";\r\nexport * from \"./Vector2\";\r\nexport * from \"./Vector3\";\r\n\r\n\r\n\r\n\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,6CAA2B;AAC3B,0CAAwB;AACxB,8CAA4B;AAC5B,iDAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,6CAA2B;AAC3B,0CAAwB;AACxB,8CAA4B;AAC5B,iDAA+B","sourcesContent":["export * from \"./AppObject\";\r\nexport * from \"./Entities\";\r\nexport * from \"./Types\";\r\nexport * from \"./Utilities\";\r\nexport * from \"./ValueObjects\";\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AppObject.js","sourceRoot":"","sources":["../../../src/AppObject/AppObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAI/C,MAAM,OAAgB,SAAU,SAAQ,gBAAgB;CAWvD;AAED,MAAM,UAAU,aAAa,CAAC,EAAU,EAAE,IAAmB;IAC3D,OAAO,IAAI,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,YAAa,SAAQ,SAAS;IAMlC,YAAY,CAAC,IAAY;QACvB,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,YAAY,CAAC,SAA6B;QACxC,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAClE,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CACV,yBAAyB,SAAS,CAAC,IAAI,yBAAyB,IAAI,CAAC,EAAE,EAAE,CAC1E,CAAC;YACF,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,YAAY,CAA+B,IAAY;QACrD,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAM,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,eAAe,CAAC,IAAY;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEjD,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,aAAa;QACX,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;IACnD,CAAC;IAaD,YAAY,EAAU,EAAE,IAAmB;QACzC,KAAK,EAAE,CAAC;QApDF,oBAAe,GAAG,IAAI,GAAG,EAA8B,CAAC;QAyChE,YAAO,GAAG,GAAS,EAAE;YACnB,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;YAC7D,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC7B,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAErC,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBACpC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrC,CAAC;QACH,CAAC,CAAC;QAIA,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;CACF"}
1
+ {"version":3,"file":"AppObject.js","sourceRoot":"","sources":["../../../src/AppObject/AppObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAI/C,MAAM,OAAgB,SAAU,SAAQ,gBAAgB;CAWvD;AAED,MAAM,UAAU,aAAa,CAAC,EAAU,EAAE,IAAmB;IAC3D,OAAO,IAAI,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,YAAa,SAAQ,SAAS;IAMlC,YAAY,CAAC,IAAY;QACvB,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,YAAY,CAAC,SAA6B;QACxC,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAClE,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CACV,yBAAyB,SAAS,CAAC,IAAI,yBAAyB,IAAI,CAAC,EAAE,EAAE,CAC1E,CAAC;YACF,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,YAAY,CAA+B,IAAY;QACrD,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAM,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,eAAe,CAAC,IAAY;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEjD,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,aAAa;QACX,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;IACnD,CAAC;IAaD,YAAY,EAAU,EAAE,IAAmB;QACzC,KAAK,EAAE,CAAC;QApDF,oBAAe,GAAG,IAAI,GAAG,EAA8B,CAAC;QAyChE,YAAO,GAAG,GAAS,EAAE;YACnB,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;YAC7D,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC7B,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAErC,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBACpC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrC,CAAC;QACH,CAAC,CAAC;QAIA,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;CACF","sourcesContent":["import { ObservableEntity } from \"../Entities\";\r\nimport { AppObjectComponent } from \"./AppObjectComponent\";\r\nimport { AppObjectRepo } from \"./AppObjectRepo\";\r\n\r\nexport abstract class AppObject extends ObservableEntity {\r\n abstract readonly id: string;\r\n abstract readonly appObjectRepo: AppObjectRepo;\r\n\r\n abstract hasComponent(type: string): boolean;\r\n abstract addComponent(component: AppObjectComponent): void;\r\n abstract getComponent<T extends AppObjectComponent>(type: string): T | undefined;\r\n abstract removeComponent(type: string): void;\r\n abstract allComponents(): AppObjectComponent[];\r\n\r\n abstract dispose(): void;\r\n}\r\n\r\nexport function makeAppObject(id: string, repo: AppObjectRepo): AppObject {\r\n return new AppObjectImp(id, repo);\r\n}\r\n\r\nclass AppObjectImp extends AppObject {\r\n readonly id: string;\r\n readonly appObjectRepo: AppObjectRepo;\r\n\r\n private componentLookup = new Map<string, AppObjectComponent>();\r\n\r\n hasComponent(type: string): boolean {\r\n return this.componentLookup.has(type);\r\n }\r\n\r\n addComponent(component: AppObjectComponent): void {\r\n const currentComponent = this.componentLookup.get(component.type);\r\n if (currentComponent) {\r\n console.warn(\r\n `[AppObject] Component ${component.type} is being replaced on ${this.id}`\r\n );\r\n currentComponent.dispose();\r\n }\r\n\r\n this.componentLookup.set(component.type, component);\r\n this.notify();\r\n }\r\n\r\n getComponent<T extends AppObjectComponent>(type: string): T | undefined {\r\n if (this.componentLookup.has(type)) {\r\n return this.componentLookup.get(type) as T;\r\n } else {\r\n return undefined;\r\n }\r\n }\r\n\r\n removeComponent(type: string): void {\r\n const component = this.componentLookup.get(type);\r\n\r\n if (!component) return;\r\n\r\n this.componentLookup.delete(type);\r\n this.notify();\r\n }\r\n\r\n allComponents(): AppObjectComponent[] {\r\n return Array.from(this.componentLookup.values());\r\n }\r\n\r\n\r\n dispose = (): void => {\r\n const components = Array.from(this.componentLookup.values());\r\n this.componentLookup.clear();\r\n components.forEach(c => c.dispose());\r\n\r\n if (this.appObjectRepo.has(this.id)) {\r\n this.appObjectRepo.remove(this.id);\r\n }\r\n };\r\n\r\n constructor(id: string, repo: AppObjectRepo) {\r\n super();\r\n this.id = id;\r\n this.appObjectRepo = repo;\r\n this.appObjectRepo.add(this);\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AppObject.test.js","sourceRoot":"","sources":["../../../src/AppObject/AppObject.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AppObject.test.js","sourceRoot":"","sources":["../../../src/AppObject/AppObject.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { AppObject, makeAppObject } from \"./AppObject\";\r\nimport { AppObjectComponent } from \"./AppObjectComponent\";\r\nimport { makeAppObjectRepo } from \"./AppObjectRepo\";\r\n\r\nexport function makeTestRig() {\r\n const repo = makeAppObjectRepo();\r\n const appObj = makeAppObject(\"obj id\", repo);\r\n const observer = jest.fn();\r\n appObj.addObserver(observer);\r\n\r\n return { repo, appObj, observer };\r\n}\r\n\r\ndescribe(\"App Object\", () => {\r\n it(\"Adds itself to the repo\", () => {\r\n const { repo, appObj } = makeTestRig();\r\n\r\n expect(repo.has(appObj.id)).toEqual(true);\r\n });\r\n\r\n it(\"Removes itself from the repo when disposed\", () => {\r\n const { repo, appObj } = makeTestRig();\r\n\r\n appObj.dispose();\r\n expect(repo.has(appObj.id)).toEqual(false);\r\n });\r\n\r\n it(\"Checks to see it has a component\", () => {\r\n const { appObj } = makeTestRig();\r\n\r\n expect(appObj.hasComponent(MockComponent.type)).toEqual(false);\r\n\r\n new MockComponent(appObj);\r\n\r\n expect(appObj.hasComponent(MockComponent.type)).toEqual(true);\r\n });\r\n\r\n it(\"Notifies when an component is added\", () => {\r\n const { appObj, observer } = makeTestRig();\r\n\r\n new MockComponent(appObj);\r\n\r\n expect(observer).toBeCalled();\r\n });\r\n\r\n it(\"Gets a component\", () => {\r\n const { appObj } = makeTestRig();\r\n\r\n expect(appObj.getComponent(MockComponent.type)).toEqual(undefined);\r\n\r\n const mockComponent = new MockComponent(appObj);\r\n\r\n expect(appObj.getComponent(MockComponent.type)).toEqual(mockComponent);\r\n });\r\n\r\n it(\"Warns if a component is replaced\", () => {\r\n const { appObj } = makeTestRig();\r\n\r\n console.warn = jest.fn();\r\n\r\n const mockComponent = new MockComponent(appObj);\r\n appObj.addComponent(mockComponent);\r\n appObj.addComponent(new MockComponent(appObj));\r\n\r\n expect(console.warn).toBeCalled();\r\n });\r\n\r\n it(\"Returns the component list\", () => {\r\n const { appObj } = makeTestRig();\r\n\r\n expect(appObj.allComponents()).toEqual([]);\r\n\r\n const mockComponent = new MockComponent(appObj);\r\n appObj.addComponent(mockComponent);\r\n\r\n const anotherMockComponent = new AnotherMockComponent(appObj);\r\n appObj.addComponent(anotherMockComponent)\r\n\r\n expect(appObj.allComponents()).toEqual([mockComponent, anotherMockComponent]);\r\n });\r\n\r\n it(\"Removes a component\", () => {\r\n const { appObj } = makeTestRig();\r\n const comp = new MockComponent(appObj);\r\n appObj.addComponent(comp)\r\n\r\n expect(appObj.hasComponent(MockComponent.type)).toEqual(true);\r\n\r\n appObj.removeComponent(MockComponent.type);\r\n\r\n expect(appObj.hasComponent(MockComponent.type)).toEqual(false);\r\n });\r\n\r\n it(\"Notifies when an component is removed\", () => {\r\n const { appObj, observer } = makeTestRig();\r\n const comp = new MockComponent(appObj);\r\n appObj.addComponent(comp)\r\n observer.mockClear();\r\n\r\n appObj.removeComponent(MockComponent.type);\r\n appObj.removeComponent(MockComponent.type);\r\n appObj.removeComponent(MockComponent.type);\r\n\r\n expect(observer).toHaveBeenCalledTimes(1);\r\n });\r\n\r\n it(\"Disposes all components when the App Object is disposed\", () => {\r\n const { appObj } = makeTestRig();\r\n\r\n const comp = new MockComponent(appObj);\r\n appObj.addComponent(comp)\r\n\r\n const spy = jest.spyOn(comp, \"dispose\");\r\n\r\n appObj.dispose();\r\n\r\n expect(spy).toBeCalled();\r\n });\r\n\r\n it(\"Clears the component list when disposed\", () => {\r\n const { appObj } = makeTestRig();\r\n\r\n const comp = new MockComponent(appObj);\r\n appObj.addComponent(comp)\r\n\r\n expect(appObj.allComponents()).toHaveLength(1);\r\n\r\n appObj.dispose();\r\n\r\n expect(appObj.allComponents()).toHaveLength(0);\r\n });\r\n\r\n it(\"If an entity is replace, it disposes the original\", () => {\r\n const { appObj } = makeTestRig();\r\n\r\n const comp = new MockComponent(appObj);\r\n appObj.addComponent(comp)\r\n\r\n const spy = jest.spyOn(comp, \"dispose\");\r\n appObj.addComponent(new MockComponent(appObj))\r\n\r\n expect(spy).toBeCalled();\r\n });\r\n});\r\n\r\nclass MockComponent extends AppObjectComponent {\r\n static readonly type: string = \"mockComponent\";\r\n constructor(appObject: AppObject) {\r\n super(appObject, MockComponent.type)\r\n }\r\n}\r\n\r\nclass AnotherMockComponent extends AppObjectComponent {\r\n static readonly type: string = \"mockComponent2\";\r\n constructor(appObject: AppObject) {\r\n super(appObject, AnotherMockComponent.type)\r\n }\r\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AppObjectComponent.js","sourceRoot":"","sources":["../../../src/AppObject/AppObjectComponent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AppObjectComponent.js","sourceRoot":"","sources":["../../../src/AppObject/AppObjectComponent.ts"],"names":[],"mappings":"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","sourcesContent":["import { AppObject } from \"./AppObject\";\r\nimport { AppObjectRepo } from \"./AppObjectRepo\";\r\n\r\nexport enum AppObjectComponentType {\r\n ENTITY = \"Entity\",\r\n PM = \"Presentation Manager\",\r\n UC = \"Use Case\",\r\n CONTROLLER = \"Controller\",\r\n VIEW = \"View\",\r\n UNKNOWN = \"Unknown\",\r\n}\r\n\r\nexport class AppObjectComponent {\r\n readonly componentType: AppObjectComponentType = AppObjectComponentType.UNKNOWN;\r\n readonly type: string;\r\n readonly appObject: AppObject;\r\n get appObjects(): AppObjectRepo {\r\n return this.appObject.appObjectRepo;\r\n }\r\n\r\n private cachedComponents = new Map<string, AppObjectComponent>();\r\n getCachedSingleton<T extends AppObjectComponent>(\r\n type: string\r\n ): T | undefined {\r\n if (!this.cachedComponents.has(type)) {\r\n const component = this.appObjects.getSingleton(type);\r\n if (!component) {\r\n this.warn(\"Unable to get cached singleton type \" + type);\r\n } else {\r\n this.cachedComponents.set(type, component);\r\n }\r\n }\r\n\r\n return this.cachedComponents.get(type) as T;\r\n }\r\n\r\n getCachedLocalComponent<T extends AppObjectComponent>(\r\n type: string\r\n ): T | undefined {\r\n if (!this.cachedComponents.has(type)) {\r\n const component = this.appObject.getComponent(type);\r\n\r\n if (!component) {\r\n this.warn(\"Unable to get local component of type \" + type);\r\n } else {\r\n this.cachedComponents.set(type, component);\r\n }\r\n }\r\n\r\n return this.cachedComponents.get(type) as T;\r\n }\r\n\r\n getSingleton<T extends AppObjectComponent>(\r\n type: string,\r\n logType: \"LOG\" | \"WARN\" | \"ERROR\" = \"WARN\"\r\n ): T | undefined {\r\n const comp = this.appObjects.getSingleton<T>(type);\r\n\r\n if (!comp) {\r\n const msg = \"Unable to get singleton type \" + type;\r\n switch (logType) {\r\n case \"ERROR\":\r\n this.error(msg);\r\n break;\r\n case \"LOG\":\r\n this.log(msg);\r\n break;\r\n case \"WARN\":\r\n this.warn(msg);\r\n break;\r\n }\r\n }\r\n\r\n return comp;\r\n }\r\n\r\n dispose() {\r\n if (this.appObject.getComponent(this.type) === this) {\r\n this.appObject.removeComponent(this.type);\r\n }\r\n }\r\n\r\n log(message: string) {\r\n this.appObjects.submitLog(`${this.appObject.id}/${this.type}`, message);\r\n }\r\n\r\n warn(message: string) {\r\n this.appObjects.submitWarning(`${this.appObject.id}/${this.type}`, message);\r\n }\r\n\r\n error(message: string) {\r\n this.appObjects.submitError(`${this.appObject.id}/${this.type}`, message);\r\n }\r\n\r\n constructor(appObject: AppObject, type: string) {\r\n this.appObject = appObject;\r\n this.type = type;\r\n appObject.addComponent(this);\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AppObjectComponent.test.js","sourceRoot":"","sources":["../../../src/AppObject/AppObjectComponent.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AppObjectComponent.test.js","sourceRoot":"","sources":["../../../src/AppObject/AppObjectComponent.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,aAAa,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,SAAS,WAAW;IAClB,MAAM,aAAa,GAAG,iBAAiB,EAAE,CAAC;IAC1C,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IACtD,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAExE,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;AACvD,CAAC;AAED,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE;QACvB,MAAM,EAAE,kBAAkB,EAAE,GAAG,WAAW,EAAE,CAAC;QAC7C,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC/B,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QACrD,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QAErD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QAErD,kBAAkB,CAAC,OAAO,EAAE,CAAC;QAE7B,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC1B,MAAM,EAAE,kBAAkB,EAAE,aAAa,EAAE,GAAG,WAAW,EAAE,CAAC;QAC5D,MAAM,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,EAAE,kBAAkB,EAAE,aAAa,EAAE,GAAG,WAAW,EAAE,CAAC;QAC5D,aAAa,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAExC,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAExC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,cAAc,CAChD,mBAAmB,EACnB,cAAc,CACf,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,EAAE,kBAAkB,EAAE,aAAa,EAAE,GAAG,WAAW,EAAE,CAAC;QAC5D,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAEpC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAEnC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,cAAc,CAC5C,mBAAmB,EACnB,UAAU,CACX,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,EAAE,kBAAkB,EAAE,aAAa,EAAE,GAAG,WAAW,EAAE,CAAC;QAC5D,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAEtC,kBAAkB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAEvC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,cAAc,CAC9C,mBAAmB,EACnB,YAAY,CACb,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC1B,MAAM,EAAE,kBAAkB,EAAE,aAAa,EAAE,GAAG,WAAW,EAAE,CAAC;QAC5D,MAAM,aAAa,GAAG,IAAI,aAAa,CACrC,aAAa,CAAC,WAAW,CAAC,YAAY,CAAC,CACxC,CAAC;QAEF,MAAM,QAAQ,GAAG,kBAAkB,CAAC,YAAY,CAC9C,aAAa,CAAC,IAAI,CACnB,CAAC;QAEF,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,EAAE,kBAAkB,EAAE,aAAa,EAAE,GAAG,WAAW,EAAE,CAAC;QAE5D,kBAAkB,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACpC,aAAa,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAExC,kBAAkB,CAAC,YAAY,CAAgB,aAAa,CAAC,IAAI,CAAC,CAAC;QAEnE,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,EAAE,kBAAkB,EAAE,aAAa,EAAE,GAAG,WAAW,EAAE,CAAC;QAE5D,kBAAkB,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACrC,aAAa,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAExC,kBAAkB,CAAC,YAAY,CAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAE5E,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,EAAE,kBAAkB,EAAE,aAAa,EAAE,GAAG,WAAW,EAAE,CAAC;QAE5D,kBAAkB,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACnC,aAAa,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAExC,kBAAkB,CAAC,YAAY,CAAgB,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAE1E,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,EAAE,kBAAkB,EAAE,aAAa,EAAE,GAAG,WAAW,EAAE,CAAC;QAE5D,kBAAkB,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACpC,aAAa,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAExC,kBAAkB,CAAC,YAAY,CAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAE3E,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,EAAE,kBAAkB,EAAE,aAAa,EAAE,GAAG,WAAW,EAAE,CAAC;QAC5D,MAAM,aAAa,GAAG,IAAI,aAAa,CACrC,aAAa,CAAC,WAAW,CAAC,YAAY,CAAC,CACxC,CAAC;QAEF,MAAM,QAAQ,GAAG,kBAAkB,CAAC,kBAAkB,CACpD,aAAa,CAAC,IAAI,CACnB,CAAC;QAEF,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,EAAE,kBAAkB,EAAE,aAAa,EAAE,GAAG,WAAW,EAAE,CAAC;QAE5D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QAEtD,IAAI,aAAa,CAAC,aAAa,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC;QAE3D,kBAAkB,CAAC,kBAAkB,CAAgB,aAAa,CAAC,IAAI,CAAC,CAAC;QACzE,kBAAkB,CAAC,kBAAkB,CAAgB,aAAa,CAAC,IAAI,CAAC,CAAC;QACzE,kBAAkB,CAAC,kBAAkB,CAAgB,aAAa,CAAC,IAAI,CAAC,CAAC;QACzE,kBAAkB,CAAC,kBAAkB,CAAgB,aAAa,CAAC,IAAI,CAAC,CAAC;QAEzE,MAAM,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,EAAE,kBAAkB,EAAE,aAAa,EAAE,GAAG,WAAW,EAAE,CAAC;QAE5D,kBAAkB,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACpC,aAAa,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAExC,kBAAkB,CAAC,kBAAkB,CAAgB,aAAa,CAAC,IAAI,CAAC,CAAC;QAEzE,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,MAAM,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QAEpE,MAAM,EAAE,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;QAErC,IAAI,aAAa,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;QAExD,MAAM,CACJ,kBAAkB,CAAC,uBAAuB,CACxC,aAAa,CAAC,IAAI,CACnB,CACF,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QAErD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAE/C,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;QAE1B,kBAAkB,CAAC,uBAAuB,CACxC,aAAa,CAAC,IAAI,CACnB,CAAC;QACF,kBAAkB,CAAC,uBAAuB,CACxC,aAAa,CAAC,IAAI,CACnB,CAAC;QACF,kBAAkB,CAAC,uBAAuB,CACxC,aAAa,CAAC,IAAI,CACnB,CAAC;QACF,kBAAkB,CAAC,uBAAuB,CACxC,aAAa,CAAC,IAAI,CACnB,CAAC;QAEF,MAAM,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,MAAM,aAAc,SAAQ,kBAAkB;IAG5C,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;;AAJM,kBAAI,GAAG,eAAe,CAAC","sourcesContent":["import { AppObject, makeAppObject } from \"./AppObject\";\r\nimport { AppObjectComponent } from \"./AppObjectComponent\";\r\nimport { makeAppObjectRepo } from \"./AppObjectRepo\";\r\n\r\nfunction makeTestRig() {\r\n const appObjectRepo = makeAppObjectRepo();\r\n const appObj = makeAppObject(\"appObj\", appObjectRepo);\r\n const appObjectComponent = new AppObjectComponent(appObj, \"aComponent\");\r\n\r\n return { appObjectComponent, appObj, appObjectRepo };\r\n}\r\n\r\ndescribe(\"App Object Component\", () => {\r\n it(\"Sets the type\", () => {\r\n const { appObjectComponent } = makeTestRig();\r\n expect(appObjectComponent.type).toEqual(\"aComponent\");\r\n });\r\n\r\n it(\"Stores the app object\", () => {\r\n const { appObjectComponent, appObj } = makeTestRig();\r\n expect(appObjectComponent.appObject).toEqual(appObj);\r\n });\r\n\r\n it(\"Adds itself to the app object\", () => {\r\n const { appObjectComponent, appObj } = makeTestRig();\r\n\r\n expect(appObj.hasComponent(appObjectComponent.type)).toEqual(true);\r\n });\r\n\r\n it(\"Removes itself from the app object when disposed\", () => {\r\n const { appObjectComponent, appObj } = makeTestRig();\r\n\r\n appObjectComponent.dispose();\r\n\r\n expect(appObj.hasComponent(appObjectComponent.type)).toEqual(false);\r\n });\r\n\r\n it(\"Returns the repo\", () => {\r\n const { appObjectComponent, appObjectRepo } = makeTestRig();\r\n expect(appObjectComponent.appObjects).toEqual(appObjectRepo);\r\n });\r\n\r\n it(\"Forwards a warn to the App Object Repo warn\", () => {\r\n const { appObjectComponent, appObjectRepo } = makeTestRig();\r\n appObjectRepo.submitWarning = jest.fn();\r\n\r\n appObjectComponent.warn(\"Some warning\");\r\n\r\n expect(appObjectRepo.submitWarning).toBeCalledWith(\r\n `appObj/aComponent`,\r\n \"Some warning\"\r\n );\r\n });\r\n\r\n it(\"Forwards a log to the App Object Repo log\", () => {\r\n const { appObjectComponent, appObjectRepo } = makeTestRig();\r\n appObjectRepo.submitLog = jest.fn();\r\n\r\n appObjectComponent.log(\"Some log\");\r\n\r\n expect(appObjectRepo.submitLog).toBeCalledWith(\r\n `appObj/aComponent`,\r\n \"Some log\"\r\n );\r\n });\r\n\r\n it(\"Forwards an error to the App Object Repo error\", () => {\r\n const { appObjectComponent, appObjectRepo } = makeTestRig();\r\n appObjectRepo.submitError = jest.fn();\r\n\r\n appObjectComponent.error(\"Some error\");\r\n\r\n expect(appObjectRepo.submitError).toBeCalledWith(\r\n `appObj/aComponent`,\r\n \"Some error\"\r\n );\r\n });\r\n\r\n it(\"Gets a singleton\", () => {\r\n const { appObjectComponent, appObjectRepo } = makeTestRig();\r\n const mockSingleton = new MockComponent(\r\n appObjectRepo.getOrCreate(\"Some other\")\r\n );\r\n\r\n const returned = appObjectComponent.getSingleton<MockComponent>(\r\n MockComponent.type\r\n );\r\n\r\n expect(returned).toEqual(mockSingleton);\r\n });\r\n\r\n it(\"Warns by default if the singleton cannot be found\", () => {\r\n const { appObjectComponent, appObjectRepo } = makeTestRig();\r\n\r\n appObjectComponent.warn = jest.fn();\r\n appObjectRepo.submitWarning = jest.fn();\r\n\r\n appObjectComponent.getSingleton<MockComponent>(MockComponent.type);\r\n\r\n expect(appObjectComponent.warn).toBeCalled();\r\n });\r\n\r\n it(\"Errors if the singleton cannot be found\", () => {\r\n const { appObjectComponent, appObjectRepo } = makeTestRig();\r\n\r\n appObjectComponent.error = jest.fn();\r\n appObjectRepo.submitWarning = jest.fn();\r\n\r\n appObjectComponent.getSingleton<MockComponent>(MockComponent.type, \"ERROR\");\r\n\r\n expect(appObjectComponent.error).toBeCalled();\r\n });\r\n\r\n it(\"Logs if the singleton cannot be found\", () => {\r\n const { appObjectComponent, appObjectRepo } = makeTestRig();\r\n\r\n appObjectComponent.log = jest.fn();\r\n appObjectRepo.submitWarning = jest.fn();\r\n\r\n appObjectComponent.getSingleton<MockComponent>(MockComponent.type, \"LOG\");\r\n\r\n expect(appObjectComponent.log).toBeCalled();\r\n });\r\n\r\n it(\"Warns if the singleton cannot be found\", () => {\r\n const { appObjectComponent, appObjectRepo } = makeTestRig();\r\n\r\n appObjectComponent.warn = jest.fn();\r\n appObjectRepo.submitWarning = jest.fn();\r\n\r\n appObjectComponent.getSingleton<MockComponent>(MockComponent.type, \"WARN\");\r\n\r\n expect(appObjectComponent.warn).toBeCalled();\r\n });\r\n\r\n it(\"Gets a cached singleton\", () => {\r\n const { appObjectComponent, appObjectRepo } = makeTestRig();\r\n const mockSingleton = new MockComponent(\r\n appObjectRepo.getOrCreate(\"Some other\")\r\n );\r\n\r\n const returned = appObjectComponent.getCachedSingleton<MockComponent>(\r\n MockComponent.type\r\n );\r\n\r\n expect(returned).toEqual(mockSingleton);\r\n });\r\n\r\n it(\"Gets a cached singleton from the local cache\", () => {\r\n const { appObjectComponent, appObjectRepo } = makeTestRig();\r\n\r\n const spy = jest.spyOn(appObjectRepo, \"getSingleton\");\r\n\r\n new MockComponent(appObjectRepo.getOrCreate(\"Some other\"));\r\n\r\n appObjectComponent.getCachedSingleton<MockComponent>(MockComponent.type);\r\n appObjectComponent.getCachedSingleton<MockComponent>(MockComponent.type);\r\n appObjectComponent.getCachedSingleton<MockComponent>(MockComponent.type);\r\n appObjectComponent.getCachedSingleton<MockComponent>(MockComponent.type);\r\n\r\n expect(spy).toBeCalledTimes(1);\r\n });\r\n\r\n it(\"Warns if the cached singleton cannot be found\", () => {\r\n const { appObjectComponent, appObjectRepo } = makeTestRig();\r\n\r\n appObjectComponent.warn = jest.fn();\r\n appObjectRepo.submitWarning = jest.fn();\r\n\r\n appObjectComponent.getCachedSingleton<MockComponent>(MockComponent.type);\r\n\r\n expect(appObjectComponent.warn).toBeCalled();\r\n });\r\n\r\n it(\"Gets a local component\", () => {\r\n const { appObjectComponent, appObjectRepo, appObj } = makeTestRig();\r\n\r\n const b1 = new MockComponent(appObj);\r\n\r\n new MockComponent(appObjectRepo.getOrCreate(\"otherAO\"));\r\n\r\n expect(\r\n appObjectComponent.getCachedLocalComponent<MockComponent>(\r\n MockComponent.type\r\n )\r\n ).toEqual(b1);\r\n });\r\n\r\n it(\"Caches the local component\", () => {\r\n const { appObjectComponent, appObj } = makeTestRig();\r\n\r\n const spy = jest.spyOn(appObj, \"getComponent\");\r\n\r\n new MockComponent(appObj);\r\n\r\n appObjectComponent.getCachedLocalComponent<MockComponent>(\r\n MockComponent.type\r\n );\r\n appObjectComponent.getCachedLocalComponent<MockComponent>(\r\n MockComponent.type\r\n );\r\n appObjectComponent.getCachedLocalComponent<MockComponent>(\r\n MockComponent.type\r\n );\r\n appObjectComponent.getCachedLocalComponent<MockComponent>(\r\n MockComponent.type\r\n );\r\n\r\n expect(spy).toBeCalledTimes(1);\r\n });\r\n});\r\n\r\nclass MockComponent extends AppObjectComponent {\r\n static type = \"MockComponent\";\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, MockComponent.type);\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AppObjectController.js","sourceRoot":"","sources":["../../../src/AppObject/AppObjectController.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,OAAO,mBAAoB,SAAQ,kBAAkB;IAA3D;;QACW,kBAAa,GAAG,sBAAsB,CAAC,UAAU,CAAC;IAC7D,CAAC;CAAA"}
1
+ {"version":3,"file":"AppObjectController.js","sourceRoot":"","sources":["../../../src/AppObject/AppObjectController.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,OAAO,mBAAoB,SAAQ,kBAAkB;IAA3D;;QACW,kBAAa,GAAG,sBAAsB,CAAC,UAAU,CAAC;IAC7D,CAAC;CAAA","sourcesContent":["import {\r\n AppObjectComponent,\r\n AppObjectComponentType,\r\n} from \"./AppObjectComponent\";\r\n\r\nexport class AppObjectController extends AppObjectComponent {\r\n readonly componentType = AppObjectComponentType.CONTROLLER;\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AppObjectEntity.js","sourceRoot":"","sources":["../../../src/AppObject/AppObjectEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAIlF,MAAM,OAAO,eAAgB,SAAQ,kBAAkB;IAuBrD,OAAO;QACL,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAEjD,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC;QACpC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;QAEnC,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;IAED,YAAY,SAAoB,EAAE,IAAY;QAC5C,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;QAjCf,kBAAa,GAAG,sBAAsB,CAAC,MAAM,CAAC;QAE/C,0BAAqB,GAAG,IAAI,YAAY,EAAQ,CAAC;QACzD,yBAAoB,GAAG,CAAC,QAAiC,EAAE,EAAE;YAC3D,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC,CAAC;QACF,4BAAuB,GAAG,CAAC,QAAiC,EAAQ,EAAE;YACpE,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC,CAAC;QAEM,yBAAoB,GAAG,IAAI,YAAY,EAAQ,CAAC;QACxD,sBAAiB,GAAG,CAAC,QAAiC,EAAQ,EAAE;YAC9D,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC,CAAC;QACF,yBAAoB,GAAG,CAAC,QAAiC,EAAQ,EAAE;YACjE,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC,CAAC;QAEF,mBAAc,GAAG,GAAG,EAAE;YACpB,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC;QACrC,CAAC,CAAC;QAeA,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;CACF"}
1
+ {"version":3,"file":"AppObjectEntity.js","sourceRoot":"","sources":["../../../src/AppObject/AppObjectEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAIlF,MAAM,OAAO,eAAgB,SAAQ,kBAAkB;IAuBrD,OAAO;QACL,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAEjD,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC;QACpC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;QAEnC,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;IAED,YAAY,SAAoB,EAAE,IAAY;QAC5C,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;QAjCf,kBAAa,GAAG,sBAAsB,CAAC,MAAM,CAAC;QAE/C,0BAAqB,GAAG,IAAI,YAAY,EAAQ,CAAC;QACzD,yBAAoB,GAAG,CAAC,QAAiC,EAAE,EAAE;YAC3D,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC,CAAC;QACF,4BAAuB,GAAG,CAAC,QAAiC,EAAQ,EAAE;YACpE,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC,CAAC;QAEM,yBAAoB,GAAG,IAAI,YAAY,EAAQ,CAAC;QACxD,sBAAiB,GAAG,CAAC,QAAiC,EAAQ,EAAE;YAC9D,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC,CAAC;QACF,yBAAoB,GAAG,CAAC,QAAiC,EAAQ,EAAE;YACjE,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC,CAAC;QAEF,mBAAc,GAAG,GAAG,EAAE;YACpB,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC;QACrC,CAAC,CAAC;QAeA,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;CACF","sourcesContent":["import { ObserverList } from \"../Entities\";\r\nimport { AppObject } from \"./AppObject\";\r\nimport { AppObjectComponent, AppObjectComponentType } from \"./AppObjectComponent\";\r\n\r\nexport type AppObjectEntityObserver = () => void;\r\n\r\nexport class AppObjectEntity extends AppObjectComponent {\r\n readonly componentType = AppObjectComponentType.ENTITY;\r\n \r\n private onDisposeObserverList = new ObserverList<void>();\r\n addOnDisposeObserver = (observer: AppObjectEntityObserver) => {\r\n this.onDisposeObserverList.add(observer);\r\n };\r\n removeOnDisposeObserver = (observer: AppObjectEntityObserver): void => {\r\n this.onDisposeObserverList.remove(observer);\r\n };\r\n\r\n private onChangeObserverList = new ObserverList<void>();\r\n addChangeObserver = (observer: AppObjectEntityObserver): void => {\r\n this.onChangeObserverList.add(observer);\r\n };\r\n removeChangeObserver = (observer: AppObjectEntityObserver): void => {\r\n this.onChangeObserverList.remove(observer);\r\n };\r\n\r\n notifyOnChange = () => {\r\n this.onChangeObserverList.notify();\r\n };\r\n\r\n dispose() {\r\n this.removeChangeObserver(this.appObject.notify);\r\n\r\n this.onDisposeObserverList.notify();\r\n this.onChangeObserverList.clear();\r\n this.onDisposeObserverList.clear();\r\n\r\n super.dispose();\r\n }\r\n\r\n constructor(appObject: AppObject, type: string) {\r\n super(appObject, type)\r\n \r\n this.addChangeObserver(appObject.notify);\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AppObjectEntity.test.js","sourceRoot":"","sources":["../../../src/AppObject/AppObjectEntity.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AppObjectEntity.test.js","sourceRoot":"","sources":["../../../src/AppObject/AppObjectEntity.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { AppObject, makeAppObject } from \"./AppObject\";\r\nimport { AppObjectComponentType } from \"./AppObjectComponent\";\r\nimport { AppObjectEntity } from \"./AppObjectEntity\";\r\nimport { makeAppObjectRepo } from \"./AppObjectRepo\";\r\n\r\nclass MockEntity extends AppObjectEntity {\r\n static type = \"mockEntity\";\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, MockEntity.type);\r\n }\r\n}\r\n\r\nfunction makeTestRig() {\r\n const appObjectRepo = makeAppObjectRepo();\r\n const appObj = makeAppObject(\"appObj\", appObjectRepo);\r\n const appObjectEntity = new MockEntity(appObj);\r\n\r\n const onChangeObserver = jest.fn();\r\n appObjectEntity.addChangeObserver(onChangeObserver);\r\n\r\n return { appObjectEntity, onChangeObserver, appObj, appObjectRepo };\r\n}\r\n\r\ndescribe(\"Abstract Observable Entity\", () => {\r\n it(\"Sets the type\", () => {\r\n const { appObjectEntity } = makeTestRig();\r\n expect(appObjectEntity.type).toEqual(\"mockEntity\");\r\n });\r\n\r\n it(\"Notifies on change\", () => {\r\n const { onChangeObserver, appObjectEntity } = makeTestRig();\r\n appObjectEntity.notifyOnChange();\r\n\r\n expect(onChangeObserver).toBeCalled();\r\n });\r\n\r\n it(\"Removes an on change onChangeObserver\", () => {\r\n const { onChangeObserver, appObjectEntity } = makeTestRig();\r\n appObjectEntity.removeChangeObserver(onChangeObserver);\r\n appObjectEntity.notifyOnChange();\r\n\r\n expect(onChangeObserver).not.toBeCalled();\r\n });\r\n\r\n it(\"Notifies when disposed\", () => {\r\n const { appObjectEntity } = makeTestRig();\r\n const disposeObserver = jest.fn();\r\n appObjectEntity.addOnDisposeObserver(disposeObserver);\r\n\r\n appObjectEntity.dispose();\r\n\r\n expect(disposeObserver).toBeCalled();\r\n });\r\n\r\n it(\"Removes a dispose onChangeObserver\", () => {\r\n const { appObjectEntity } = makeTestRig();\r\n const disposeObserver = jest.fn();\r\n appObjectEntity.addOnDisposeObserver(disposeObserver);\r\n appObjectEntity.removeOnDisposeObserver(disposeObserver);\r\n\r\n appObjectEntity.dispose();\r\n expect(disposeObserver).not.toBeCalled();\r\n });\r\n\r\n it(\"Clears all observers when disposed\", () => {\r\n const { onChangeObserver, appObjectEntity } = makeTestRig();\r\n const disposeObserver = jest.fn();\r\n appObjectEntity.addOnDisposeObserver(disposeObserver);\r\n\r\n appObjectEntity.dispose();\r\n\r\n disposeObserver.mockClear();\r\n onChangeObserver.mockClear();\r\n\r\n appObjectEntity.notifyOnChange();\r\n appObjectEntity.dispose();\r\n\r\n expect(onChangeObserver).not.toBeCalled();\r\n expect(disposeObserver).not.toBeCalled();\r\n });\r\n\r\n it(\"Stores the app object\", () => {\r\n const { appObjectEntity, appObj } = makeTestRig();\r\n expect(appObjectEntity.appObject).toEqual(appObj);\r\n });\r\n\r\n it(\"Adds itself to the app object\", () => {\r\n const { appObjectEntity, appObj } = makeTestRig();\r\n\r\n expect(appObj.hasComponent(appObjectEntity.type)).toEqual(true);\r\n });\r\n\r\n it(\"Removes itself from the app object when disposed\", () => {\r\n const { appObjectEntity, appObj } = makeTestRig();\r\n\r\n appObjectEntity.dispose();\r\n\r\n expect(appObj.hasComponent(appObjectEntity.type)).toEqual(false);\r\n });\r\n\r\n it(\"Forwards notifications to the App Object observers\", () => {\r\n const { appObjectEntity, appObj } = makeTestRig();\r\n\r\n const appObjObserver = jest.fn();\r\n appObj.addObserver(appObjObserver);\r\n\r\n appObjectEntity.notifyOnChange();\r\n\r\n expect(appObjObserver).toBeCalled();\r\n });\r\n\r\n it(\"Stops forwarding notifications to the App Object observers when disposed\", () => {\r\n const { appObjectEntity, appObj } = makeTestRig();\r\n\r\n const appObjObserver = jest.fn();\r\n appObj.addObserver(appObjObserver);\r\n\r\n appObjectEntity.dispose();\r\n appObjObserver.mockClear();\r\n\r\n appObjectEntity.notifyOnChange();\r\n\r\n expect(appObjObserver).not.toBeCalled();\r\n });\r\n\r\n it(\"Returns the repo\", () => {\r\n const { appObjectEntity, appObjectRepo } = makeTestRig();\r\n expect(appObjectEntity.appObjects).toEqual(appObjectRepo);\r\n });\r\n\r\n it(\"Forwards a warn to the App Object Repo warn\", () => {\r\n const { appObjectEntity, appObjectRepo } = makeTestRig();\r\n appObjectRepo.submitWarning = jest.fn();\r\n\r\n appObjectEntity.warn(\"Some warning\");\r\n\r\n expect(appObjectRepo.submitWarning).toBeCalledWith(\r\n `appObj/mockEntity`,\r\n \"Some warning\"\r\n );\r\n });\r\n\r\n it(\"Sets Component type to Entity\", () => {\r\n const { appObjectEntity } = makeTestRig();\r\n\r\n expect(appObjectEntity.componentType).toEqual(\r\n AppObjectComponentType.ENTITY\r\n );\r\n });\r\n});\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AppObjectEntityRepo.js","sourceRoot":"","sources":["../../../src/AppObject/AppObjectEntityRepo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,OAAO,mBAEX,SAAQ,eAAe;IAFzB;;QAIU,iBAAY,GAAG,IAAI,GAAG,EAAa,CAAC;QAEpC,2BAAsB,GAAG,IAAI,YAAY,EAAK,CAAC;QACvD,2BAAsB,GAAG,CAAC,QAAkC,EAAE,EAAE;YAC9D,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC,CAAC;QACF,8BAAyB,GAAG,CAAC,QAAkC,EAAQ,EAAE;YACvE,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/C,CAAC,CAAC;QAEM,6BAAwB,GAAG,IAAI,YAAY,EAAK,CAAC;QACzD,6BAAwB,GAAG,CAAC,QAAoC,EAAE,EAAE;YAClE,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC,CAAC;QACF,gCAA2B,GAAG,CAC5B,QAAoC,EAC9B,EAAE;YACR,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC,CAAC;QAEF,oBAAe,GAAG,CAAC,WAAmB,EAAW,EAAE;YACjD,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5C,CAAC,CAAC;QAcF,uBAAkB,GAAG,CAAC,EAAU,EAAE,EAAE;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3C,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAEtB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC7B,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnD,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC,CAAC;QAEF,oBAAe,GAAG,CAAC,WAAmB,EAAiB,EAAE;YACvD,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5C,CAAC,CAAC;QAEF,WAAM,GAAG,GAAQ,EAAE;YACjB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;QAChD,CAAC,CAAC;IACJ,CAAC;IA7BC,GAAG,CAAC,MAAS;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC5D,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACnD,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC9C,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAAA,CAAC;CAmBH"}
1
+ {"version":3,"file":"AppObjectEntityRepo.js","sourceRoot":"","sources":["../../../src/AppObject/AppObjectEntityRepo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,OAAO,mBAEX,SAAQ,eAAe;IAFzB;;QAIU,iBAAY,GAAG,IAAI,GAAG,EAAa,CAAC;QAEpC,2BAAsB,GAAG,IAAI,YAAY,EAAK,CAAC;QACvD,2BAAsB,GAAG,CAAC,QAAkC,EAAE,EAAE;YAC9D,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC,CAAC;QACF,8BAAyB,GAAG,CAAC,QAAkC,EAAQ,EAAE;YACvE,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/C,CAAC,CAAC;QAEM,6BAAwB,GAAG,IAAI,YAAY,EAAK,CAAC;QACzD,6BAAwB,GAAG,CAAC,QAAoC,EAAE,EAAE;YAClE,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC,CAAC;QACF,gCAA2B,GAAG,CAC5B,QAAoC,EAC9B,EAAE;YACR,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC,CAAC;QAEF,oBAAe,GAAG,CAAC,WAAmB,EAAW,EAAE;YACjD,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5C,CAAC,CAAC;QAcF,uBAAkB,GAAG,CAAC,EAAU,EAAE,EAAE;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3C,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAEtB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC7B,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnD,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC,CAAC;QAEF,oBAAe,GAAG,CAAC,WAAmB,EAAiB,EAAE;YACvD,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5C,CAAC,CAAC;QAEF,WAAM,GAAG,GAAQ,EAAE;YACjB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;QAChD,CAAC,CAAC;IACJ,CAAC;IA7BC,GAAG,CAAC,MAAS;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC5D,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACnD,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC9C,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAAA,CAAC;CAmBH","sourcesContent":["import { ObserverList } from \"../Entities\";\r\nimport { AppObjectEntity } from \"./AppObjectEntity\";\r\n\r\nexport class AppObjectEntityRepo<\r\n T extends AppObjectEntity\r\n> extends AppObjectEntity {\r\n\r\n private entityLookup = new Map<string, T>();\r\n\r\n private onEntityAddedObservers = new ObserverList<T>();\r\n addEntityAddedObserver = (observer: (addedEntity: T) => void) => {\r\n this.onEntityAddedObservers.add(observer);\r\n };\r\n removeEntityAddedObserver = (observer: (addedEntity: T) => void): void => {\r\n this.onEntityAddedObservers.remove(observer);\r\n };\r\n\r\n private onEntityRemovedObservers = new ObserverList<T>();\r\n addEntityRemovedObserver = (observer: (removedEntity: T) => void) => {\r\n this.onEntityRemovedObservers.add(observer);\r\n };\r\n removeEntityRemovedObserver = (\r\n observer: (removedEntity: T) => void\r\n ): void => {\r\n this.onEntityRemovedObservers.remove(observer);\r\n };\r\n\r\n hasForAppObject = (appObjectID: string): boolean => {\r\n return this.entityLookup.has(appObjectID);\r\n };\r\n\r\n add(entity: T) {\r\n const existing = this.entityLookup.get(entity.appObject.id);\r\n if (existing) {\r\n existing.removeChangeObserver(this.notifyOnChange);\r\n }\r\n\r\n this.entityLookup.set(entity.appObject.id, entity);\r\n entity.addChangeObserver(this.notifyOnChange);\r\n this.notifyOnChange();\r\n this.onEntityAddedObservers.notify(entity);\r\n };\r\n\r\n removeForAppObject = (id: string) => {\r\n const existing = this.entityLookup.get(id);\r\n if (!existing) return;\r\n\r\n this.entityLookup.delete(id);\r\n existing.removeChangeObserver(this.notifyOnChange);\r\n this.notifyOnChange();\r\n this.onEntityRemovedObservers.notify(existing);\r\n };\r\n\r\n getForAppObject = (appObjectID: string): T | undefined => {\r\n return this.entityLookup.get(appObjectID);\r\n };\r\n\r\n getAll = (): T[] => {\r\n return Array.from(this.entityLookup.values());\r\n };\r\n}\r\n"]}