@vived/core 1.2.3 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) 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/Version.js +171 -0
  81. package/dist/cjs/ValueObjects/Version.js.map +1 -0
  82. package/dist/cjs/ValueObjects/Version.test.js +310 -0
  83. package/dist/cjs/ValueObjects/Version.test.js.map +1 -0
  84. package/dist/cjs/ValueObjects/index.js +1 -0
  85. package/dist/cjs/ValueObjects/index.js.map +1 -1
  86. package/dist/cjs/index.js.map +1 -1
  87. package/dist/esm/AppObject/AppObject.js.map +1 -1
  88. package/dist/esm/AppObject/AppObject.test.js.map +1 -1
  89. package/dist/esm/AppObject/AppObjectComponent.js.map +1 -1
  90. package/dist/esm/AppObject/AppObjectComponent.test.js.map +1 -1
  91. package/dist/esm/AppObject/AppObjectController.js.map +1 -1
  92. package/dist/esm/AppObject/AppObjectEntity.js.map +1 -1
  93. package/dist/esm/AppObject/AppObjectEntity.test.js.map +1 -1
  94. package/dist/esm/AppObject/AppObjectEntityRepo.js.map +1 -1
  95. package/dist/esm/AppObject/AppObjectEntityRepo.test.js.map +1 -1
  96. package/dist/esm/AppObject/AppObjectPM.js.map +1 -1
  97. package/dist/esm/AppObject/AppObjectPM.test.js.map +1 -1
  98. package/dist/esm/AppObject/AppObjectRepo.js.map +1 -1
  99. package/dist/esm/AppObject/AppObjectRepo.test.js.map +1 -1
  100. package/dist/esm/AppObject/AppObjectUC.js.map +1 -1
  101. package/dist/esm/AppObject/AppObjectView.js.map +1 -1
  102. package/dist/esm/AppObject/getSingletonComponent.js.map +1 -1
  103. package/dist/esm/AppObject/getSingletonComponent.test.js.map +1 -1
  104. package/dist/esm/AppObject/index.js.map +1 -1
  105. package/dist/esm/AppObject/printAppObjectDetails.js.map +1 -1
  106. package/dist/esm/Entities/MemoizedAngle.js.map +1 -1
  107. package/dist/esm/Entities/MemoizedAngle.test.js.map +1 -1
  108. package/dist/esm/Entities/MemoizedBoolean.js.map +1 -1
  109. package/dist/esm/Entities/MemoizedBoolean.test.js.map +1 -1
  110. package/dist/esm/Entities/MemoizedColor.js.map +1 -1
  111. package/dist/esm/Entities/MemoizedColor.test.js.map +1 -1
  112. package/dist/esm/Entities/MemoizedNumber.js.map +1 -1
  113. package/dist/esm/Entities/MemoizedNumber.test.js.map +1 -1
  114. package/dist/esm/Entities/MemoizedQuaternion.js.map +1 -1
  115. package/dist/esm/Entities/MemoizedQuaternion.test.js.map +1 -1
  116. package/dist/esm/Entities/MemoizedString.js.map +1 -1
  117. package/dist/esm/Entities/MemoizedString.test.js.map +1 -1
  118. package/dist/esm/Entities/MemoizedVector2.js.map +1 -1
  119. package/dist/esm/Entities/MemoizedVector2.test.js.map +1 -1
  120. package/dist/esm/Entities/MemoizedVector3.js.map +1 -1
  121. package/dist/esm/Entities/MemoizedVector3.test.js.map +1 -1
  122. package/dist/esm/Entities/ObservableEntity.js.map +1 -1
  123. package/dist/esm/Entities/ObservableEntity.test.js.map +1 -1
  124. package/dist/esm/Entities/ObserverList.js.map +1 -1
  125. package/dist/esm/Entities/ObserverList.test.js.map +1 -1
  126. package/dist/esm/Entities/RangedNumber.js.map +1 -1
  127. package/dist/esm/Entities/RangedNumber.test.js.map +1 -1
  128. package/dist/esm/Entities/index.js.map +1 -1
  129. package/dist/esm/Types/AppBoundary.js.map +1 -1
  130. package/dist/esm/Types/EaseFn.js.map +1 -1
  131. package/dist/esm/Types/PmAdapter.js.map +1 -1
  132. package/dist/esm/Types/SingletonPmAdapter.js.map +1 -1
  133. package/dist/esm/Types/index.js.map +1 -1
  134. package/dist/esm/Utilities/LengthConverters.js.map +1 -1
  135. package/dist/esm/Utilities/LengthConverters.test.js.map +1 -1
  136. package/dist/esm/Utilities/LerpNumber.js.map +1 -1
  137. package/dist/esm/Utilities/LerpNumber.test.js.map +1 -1
  138. package/dist/esm/Utilities/degreesToRadians.js.map +1 -1
  139. package/dist/esm/Utilities/degreesToRadians.test.js.map +1 -1
  140. package/dist/esm/Utilities/easeFunctions.js.map +1 -1
  141. package/dist/esm/Utilities/easeFunctions.test.js.map +1 -1
  142. package/dist/esm/Utilities/generateUniqueID.js.map +1 -1
  143. package/dist/esm/Utilities/index.js.map +1 -1
  144. package/dist/esm/Utilities/interpolateNumber.js.map +1 -1
  145. package/dist/esm/Utilities/interpolateNumber.test.js.map +1 -1
  146. package/dist/esm/ValueObjects/Angle.js.map +1 -1
  147. package/dist/esm/ValueObjects/Angle.test.js.map +1 -1
  148. package/dist/esm/ValueObjects/Color.js.map +1 -1
  149. package/dist/esm/ValueObjects/Color.test.js.map +1 -1
  150. package/dist/esm/ValueObjects/LineSegment2D.js.map +1 -1
  151. package/dist/esm/ValueObjects/LineSegment2D.test.js.map +1 -1
  152. package/dist/esm/ValueObjects/Matrix.js.map +1 -1
  153. package/dist/esm/ValueObjects/Matrix.test.js.map +1 -1
  154. package/dist/esm/ValueObjects/ParametricLine.js.map +1 -1
  155. package/dist/esm/ValueObjects/ParametricLine.test.js.map +1 -1
  156. package/dist/esm/ValueObjects/ParametricPlane.js.map +1 -1
  157. package/dist/esm/ValueObjects/ParametricPlane.test.js.map +1 -1
  158. package/dist/esm/ValueObjects/Quaternion.js.map +1 -1
  159. package/dist/esm/ValueObjects/Quaternion.test.js.map +1 -1
  160. package/dist/esm/ValueObjects/Rectangle.js.map +1 -1
  161. package/dist/esm/ValueObjects/Rectangle.test.js.map +1 -1
  162. package/dist/esm/ValueObjects/Vector2.js.map +1 -1
  163. package/dist/esm/ValueObjects/Vector2.test.js.map +1 -1
  164. package/dist/esm/ValueObjects/Vector3.js.map +1 -1
  165. package/dist/esm/ValueObjects/Vector3.test.js.map +1 -1
  166. package/dist/esm/ValueObjects/Version.js +167 -0
  167. package/dist/esm/ValueObjects/Version.js.map +1 -0
  168. package/dist/esm/ValueObjects/Version.test.js +308 -0
  169. package/dist/esm/ValueObjects/Version.test.js.map +1 -0
  170. package/dist/esm/ValueObjects/index.js +1 -0
  171. package/dist/esm/ValueObjects/index.js.map +1 -1
  172. package/dist/esm/index.js.map +1 -1
  173. package/dist/types/ValueObjects/Version.d.ts +23 -0
  174. package/dist/types/ValueObjects/Version.d.ts.map +1 -0
  175. package/dist/types/ValueObjects/Version.test.d.ts +2 -0
  176. package/dist/types/ValueObjects/Version.test.d.ts.map +1 -0
  177. package/dist/types/ValueObjects/index.d.ts +1 -0
  178. package/dist/types/ValueObjects/index.d.ts.map +1 -1
  179. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AppObject.js","sourceRoot":"","sources":["../../../src/AppObject/AppObject.ts"],"names":[],"mappings":";;;AAiBA,sCAEC;AAnBD,0CAA+C;AAI/C,MAAsB,SAAU,SAAQ,2BAAgB;CAWvD;AAXD,8BAWC;AAED,SAAgB,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":";;;AAiBA,sCAEC;AAnBD,0CAA+C;AAI/C,MAAsB,SAAU,SAAQ,2BAAgB;CAWvD;AAXD,8BAWC;AAED,SAAgB,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":";;AAIA,kCAOC;AAXD,2CAAuD;AACvD,6DAA0D;AAC1D,mDAAoD;AAEpD,SAAgB,WAAW;IACzB,MAAM,IAAI,GAAG,IAAA,iCAAiB,GAAE,CAAC;IACjC,MAAM,MAAM,GAAG,IAAA,yBAAa,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAC3B,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAE7B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AACpC,CAAC;AAED,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QAEvC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QAEvC,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QAEjC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAE/D,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;QAE1B,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAC;QAE3C,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;QAE1B,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC1B,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QAEjC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEnE,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;QAEhD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QAEjC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAEzB,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,CAAC,YAAY,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;QAE/C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QAEjC,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAE3C,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QAEnC,MAAM,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC9D,MAAM,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAA;QAEzC,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC7B,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QAEzB,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE9D,MAAM,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAE3C,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QACzB,QAAQ,CAAC,SAAS,EAAE,CAAC;QAErB,MAAM,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAE3C,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QAEjC,MAAM,IAAI,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QAEzB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAExC,MAAM,CAAC,OAAO,EAAE,CAAC;QAEjB,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QAEjC,MAAM,IAAI,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QAEzB,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAE/C,MAAM,CAAC,OAAO,EAAE,CAAC;QAEjB,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QAEjC,MAAM,IAAI,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QAEzB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACxC,MAAM,CAAC,YAAY,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC,CAAA;QAE9C,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,MAAM,aAAc,SAAQ,uCAAkB;IAE5C,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC,IAAI,CAAC,CAAA;IACtC,CAAC;;AAHe,kBAAI,GAAW,eAAe,CAAC;AAMjD,MAAM,oBAAqB,SAAQ,uCAAkB;IAEnD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAA;IAC7C,CAAC;;AAHe,yBAAI,GAAW,gBAAgB,CAAC"}
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":"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","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,6DAG8B;AAE9B,MAAa,mBAAoB,SAAQ,uCAAkB;IAA3D;;QACW,kBAAa,GAAG,2CAAsB,CAAC,UAAU,CAAC;IAC7D,CAAC;CAAA;AAFD,kDAEC"}
1
+ {"version":3,"file":"AppObjectController.js","sourceRoot":"","sources":["../../../src/AppObject/AppObjectController.ts"],"names":[],"mappings":";;;AAAA,6DAG8B;AAE9B,MAAa,mBAAoB,SAAQ,uCAAkB;IAA3D;;QACW,kBAAa,GAAG,2CAAsB,CAAC,UAAU,CAAC;IAC7D,CAAC;CAAA;AAFD,kDAEC","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,0CAA2C;AAE3C,6DAAkF;AAIlF,MAAa,eAAgB,SAAQ,uCAAkB;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,2CAAsB,CAAC,MAAM,CAAC;QAE/C,0BAAqB,GAAG,IAAI,uBAAY,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,uBAAY,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;AAtCD,0CAsCC"}
1
+ {"version":3,"file":"AppObjectEntity.js","sourceRoot":"","sources":["../../../src/AppObject/AppObjectEntity.ts"],"names":[],"mappings":";;;AAAA,0CAA2C;AAE3C,6DAAkF;AAIlF,MAAa,eAAgB,SAAQ,uCAAkB;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,2CAAsB,CAAC,MAAM,CAAC;QAE/C,0BAAqB,GAAG,IAAI,uBAAY,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,uBAAY,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;AAtCD,0CAsCC","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,0CAA2C;AAC3C,uDAAoD;AAEpD,MAAa,mBAEX,SAAQ,iCAAe;IAFzB;;QAIU,iBAAY,GAAG,IAAI,GAAG,EAAa,CAAC;QAEpC,2BAAsB,GAAG,IAAI,uBAAY,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,uBAAY,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;AAzDD,kDAyDC"}
1
+ {"version":3,"file":"AppObjectEntityRepo.js","sourceRoot":"","sources":["../../../src/AppObject/AppObjectEntityRepo.ts"],"names":[],"mappings":";;;AAAA,0CAA2C;AAC3C,uDAAoD;AAEpD,MAAa,mBAEX,SAAQ,iCAAe;IAFzB;;QAIU,iBAAY,GAAG,IAAI,GAAG,EAAa,CAAC;QAEpC,2BAAsB,GAAG,IAAI,uBAAY,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,uBAAY,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;AAzDD,kDAyDC","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"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AppObjectEntityRepo.test.js","sourceRoot":"","sources":["../../../src/AppObject/AppObjectEntityRepo.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AppObjectEntityRepo.test.js","sourceRoot":"","sources":["../../../src/AppObject/AppObjectEntityRepo.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { AppObject, makeAppObject } from \"./AppObject\";\r\nimport { AppObjectEntity } from \"./AppObjectEntity\";\r\nimport { AppObjectEntityRepo } from \"./AppObjectEntityRepo\";\r\nimport { makeAppObjectRepo } from \"./AppObjectRepo\";\r\n\r\nclass MockAppEntity extends AppObjectEntity {\r\n static type: string = \"mockEntity\";\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, MockAppEntity.type)\r\n }\r\n}\r\n\r\nclass MockEntityRepoImp extends AppObjectEntityRepo<MockAppEntity> {\r\n static type: string = \"Mock Repo\";\r\n\r\n makeEntity(appObj: AppObject): MockAppEntity {\r\n return new MockAppEntity(appObj);\r\n }\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, MockAppEntity.type)\r\n }\r\n}\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const repoAppObj = makeAppObject(\"repo\", appObjects);\r\n const repo = new MockEntityRepoImp(repoAppObj);\r\n \r\n const appObj = makeAppObject(\"appObjID\", appObjects);\r\n const observer = jest.fn();\r\n repo.addChangeObserver(observer);\r\n\r\n return { repo, observer, appObj };\r\n}\r\n\r\ndescribe(\"Observable Entity Repo\", () => {\r\n it(\"Allows an entity to be added\", () => {\r\n const { repo, appObj } = makeTestRig();\r\n const entity = new MockAppEntity(appObj);\r\n\r\n expect(repo.hasForAppObject(\"appObjID\")).toEqual(false);\r\n\r\n repo.add(entity);\r\n\r\n expect(repo.hasForAppObject(\"appObjID\")).toEqual(true);\r\n });\r\n\r\n it(\"Notifies when an entity is added\", () => {\r\n const { repo, observer, appObj } = makeTestRig();\r\n const entity =new MockAppEntity(appObj);\r\n repo.add(entity);\r\n\r\n expect(observer).toBeCalled();\r\n });\r\n\r\n it(\"Forwards notification from an added entity\", () => {\r\n const { repo, observer, appObj } = makeTestRig();\r\n const entity =new MockAppEntity(appObj);\r\n repo.add(entity);\r\n\r\n observer.mockClear();\r\n\r\n entity.notifyOnChange();\r\n\r\n expect(observer).toBeCalled();\r\n });\r\n\r\n it(\"Stops notifying if adding an entity replaces and exisitng entity\", () => {\r\n const { repo, observer, appObj } = makeTestRig();\r\n\r\n console.warn = jest.fn(); // Replacing warns. This keeps the console clean\r\n\r\n const original =new MockAppEntity(appObj);\r\n repo.add(original);\r\n\r\n const replacement =new MockAppEntity(appObj);\r\n repo.add(replacement);\r\n observer.mockClear();\r\n\r\n original.notifyOnChange();\r\n\r\n expect(observer).not.toBeCalled();\r\n });\r\n\r\n it(\"Removes an entity\", () => {\r\n const { repo, appObj } = makeTestRig();\r\n const entity =new MockAppEntity(appObj);\r\n\r\n repo.add(entity);\r\n\r\n expect(repo.hasForAppObject(\"appObjID\")).toEqual(true);\r\n\r\n repo.removeForAppObject(\"appObjID\");\r\n\r\n expect(repo.hasForAppObject(\"appObjID\")).toEqual(false);\r\n });\r\n\r\n it(\"Notifies if an entity is removed\", () => {\r\n const { repo, observer, appObj } = makeTestRig();\r\n const entity =new MockAppEntity(appObj);\r\n\r\n repo.add(entity);\r\n observer.mockClear();\r\n\r\n repo.removeForAppObject(\"appObjID\");\r\n\r\n expect(observer).toBeCalled();\r\n });\r\n\r\n it(\"Does not notifyOnChange if the entity to be removed cannot be found\", () => {\r\n const { repo, observer } = makeTestRig();\r\n\r\n repo.removeForAppObject(\"someId\");\r\n repo.removeForAppObject(\"someId\");\r\n repo.removeForAppObject(\"someId\");\r\n\r\n expect(observer).not.toBeCalled();\r\n });\r\n\r\n it(\"Stops observing a removed entity\", () => {\r\n const { repo, observer, appObj } = makeTestRig();\r\n const entity =new MockAppEntity(appObj);\r\n\r\n repo.add(entity);\r\n repo.removeForAppObject(\"appObjID\");\r\n\r\n observer.mockClear();\r\n\r\n entity.notifyOnChange();\r\n\r\n expect(observer).not.toBeCalled();\r\n });\r\n\r\n it(\"Gets an entity\", () => {\r\n const { repo, appObj } = makeTestRig();\r\n const entity =new MockAppEntity(appObj);\r\n repo.add(entity);\r\n\r\n expect(repo.getForAppObject(\"appObjID\")).toEqual(entity);\r\n });\r\n\r\n it(\"Gets all entities\", () => {\r\n const { repo, appObj } = makeTestRig();\r\n const entity =new MockAppEntity(appObj);\r\n repo.add(entity);\r\n\r\n expect(repo.getAll()).toEqual([entity]);\r\n });\r\n\r\n it(\"Returns undefined for an unknown entity\", () => {\r\n const { repo } = makeTestRig();\r\n\r\n expect(repo.getForAppObject(\"unknownID\")).toBeUndefined();\r\n });\r\n\r\n\r\n it(\"Supports notifying an observer when an entity is added\", () => {\r\n const { repo, appObj } = makeTestRig();\r\n\r\n const addEntityObserver = jest.fn();\r\n repo.addEntityAddedObserver(addEntityObserver);\r\n\r\n const ent =new MockAppEntity(appObj);\r\n repo.add(ent);\r\n\r\n expect(addEntityObserver).toBeCalledWith(ent);\r\n });\r\n\r\n it(\"Add entity observer can be removed\", () => {\r\n const { repo, appObj } = makeTestRig();\r\n\r\n const addEntityObserver = jest.fn();\r\n repo.addEntityAddedObserver(addEntityObserver);\r\n repo.removeEntityAddedObserver(addEntityObserver);\r\n\r\n const ent =new MockAppEntity(appObj);\r\n repo.add(ent);\r\n\r\n expect(addEntityObserver).not.toBeCalled();\r\n });\r\n\r\n it(\"Supports notifying an observer when an entity is removed\", () => {\r\n const { repo, appObj } = makeTestRig();\r\n\r\n const removeEntityObserver = jest.fn();\r\n repo.addEntityRemovedObserver(removeEntityObserver);\r\n\r\n const ent =new MockAppEntity(appObj);\r\n repo.add(ent);\r\n\r\n repo.removeForAppObject(\"appObjID\");\r\n\r\n expect(removeEntityObserver).toBeCalledWith(ent);\r\n });\r\n\r\n it(\"Remove entity observer can be removed\", () => {\r\n const { repo, appObj } = makeTestRig();\r\n\r\n const removeEntityObserver = jest.fn();\r\n repo.addEntityRemovedObserver(removeEntityObserver);\r\n repo.removeEntityRemovedObserver(removeEntityObserver);\r\n\r\n const ent =new MockAppEntity(appObj);\r\n repo.add(ent);\r\n repo.removeForAppObject(\"appObjID\");\r\n\r\n expect(removeEntityObserver).not.toBeCalled();\r\n });\r\n});\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AppObjectPM.js","sourceRoot":"","sources":["../../../src/AppObject/AppObjectPM.ts"],"names":[],"mappings":";;;AAAA,0CAA2C;AAC3C,6DAAkF;AAElF,MAAsB,WAAe,SAAQ,uCAAkB;IAA/D;;QACW,kBAAa,GAAG,2CAAsB,CAAC,EAAE,CAAC;QAQ3C,iBAAY,GAAG,IAAI,uBAAY,EAAK,CAAC;IA8B/C,CAAC;IAlCC,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAID,OAAO,CAAC,UAA2B;QACjC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAElC,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC/B,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,UAAU,CAAC,UAA2B;QACpC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAED,YAAY,CAAC,EAAK;QAChB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC;YACvD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACpD,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;QACD,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;CACF;AAvCD,kCAuCC"}
1
+ {"version":3,"file":"AppObjectPM.js","sourceRoot":"","sources":["../../../src/AppObject/AppObjectPM.ts"],"names":[],"mappings":";;;AAAA,0CAA2C;AAC3C,6DAAkF;AAElF,MAAsB,WAAe,SAAQ,uCAAkB;IAA/D;;QACW,kBAAa,GAAG,2CAAsB,CAAC,EAAE,CAAC;QAQ3C,iBAAY,GAAG,IAAI,uBAAY,EAAK,CAAC;IA8B/C,CAAC;IAlCC,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAID,OAAO,CAAC,UAA2B;QACjC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAElC,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC/B,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,UAAU,CAAC,UAA2B;QACpC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAED,YAAY,CAAC,EAAK;QAChB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC;YACvD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACpD,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;QACD,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;CACF;AAvCD,kCAuCC","sourcesContent":["import { ObserverList } from \"../Entities\";\r\nimport { AppObjectComponent, AppObjectComponentType } from \"./AppObjectComponent\";\r\n\r\nexport abstract class AppObjectPM<T> extends AppObjectComponent {\r\n readonly componentType = AppObjectComponentType.PM;\r\n abstract vmsAreEqual(a: T, b: T): boolean;\r\n\r\n private _lastVM?: T;\r\n get lastVM(): T | undefined {\r\n return this._lastVM;\r\n }\r\n\r\n private observerList = new ObserverList<T>();\r\n\r\n addView(updateView: (vm: T) => void): void {\r\n this.observerList.add(updateView);\r\n\r\n if (this._lastVM !== undefined) {\r\n updateView(this._lastVM);\r\n }\r\n }\r\n\r\n removeView(updateView: (vm: T) => void): void {\r\n this.observerList.remove(updateView);\r\n }\r\n\r\n doUpdateView(vm: T) {\r\n if (this._lastVM && this.vmsAreEqual(this._lastVM, vm)) {\r\n return;\r\n }\r\n\r\n this._lastVM = vm;\r\n this.observerList.notify(vm);\r\n }\r\n\r\n dispose() {\r\n this.observerList.clear();\r\n if (this.appObject.getComponent(this.type) === this) {\r\n this.appObject.removeComponent(this.type);\r\n }\r\n super.dispose();\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AppObjectPM.test.js","sourceRoot":"","sources":["../../../src/AppObject/AppObjectPM.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AppObjectPM.test.js","sourceRoot":"","sources":["../../../src/AppObject/AppObjectPM.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { AppObject } from \"./AppObject\";\r\nimport { AppObjectComponentType } from \"./AppObjectComponent\";\r\nimport { AppObjectPM } from \"./AppObjectPM\";\r\nimport { makeAppObjectRepo } from \"./AppObjectRepo\";\r\n\r\ninterface MockVM {\r\n val: number;\r\n}\r\n\r\nclass MockPM extends AppObjectPM<MockVM> {\r\n static readonly type = \"MockPM\";\r\n\r\n readonly defaultVM = { val: 0 };\r\n get currentVM(): MockVM {\r\n return { val: 5 };\r\n }\r\n\r\n vmsAreEqual(a: MockVM, b: MockVM): boolean {\r\n return a.val === b.val;\r\n }\r\n\r\n constructor(appObj: AppObject) {\r\n super(appObj, MockPM.type);\r\n }\r\n}\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const appObj = appObjects.getOrCreate(\"appObj\");\r\n\r\n return { appObj, appObjects };\r\n}\r\n\r\ndescribe(\"App Object PM\", () => {\r\n it(\"Initializes with the last VM if it has been set\", () => {\r\n const { appObj } = makeTestRig();\r\n const pm = new MockPM(appObj);\r\n const view = jest.fn();\r\n\r\n pm.doUpdateView({ val: 6 });\r\n\r\n pm.addView(view);\r\n\r\n expect(view).toBeCalledWith({ val: 6 });\r\n });\r\n\r\n it(\"Adds a view but does not call it if no VM has been set\", () => {\r\n const { appObj } = makeTestRig();\r\n const pm = new MockPM(appObj);\r\n const view = jest.fn();\r\n\r\n pm.addView(view);\r\n\r\n expect(view).not.toBeCalled();\r\n });\r\n\r\n it(\"Doesn't notify if the vms are equal\", () => {\r\n const { appObj } = makeTestRig();\r\n const pm = new MockPM(appObj);\r\n const view = jest.fn();\r\n\r\n pm.doUpdateView({ val: 6 });\r\n pm.addView(view);\r\n\r\n view.mockClear();\r\n\r\n pm.doUpdateView({ val: 6 });\r\n pm.doUpdateView({ val: 6 });\r\n pm.doUpdateView({ val: 6 });\r\n\r\n expect(view).not.toBeCalled();\r\n });\r\n\r\n it(\"Removes a view\", () => {\r\n const { appObj } = makeTestRig();\r\n const pm = new MockPM(appObj);\r\n const view = jest.fn();\r\n\r\n pm.addView(view);\r\n\r\n view.mockClear();\r\n\r\n pm.removeView(view);\r\n\r\n pm.doUpdateView({ val: 10 });\r\n\r\n expect(view).not.toBeCalled();\r\n });\r\n\r\n it(\"Can be disposed\", () => {\r\n const { appObj } = makeTestRig();\r\n const pm = new MockPM(appObj);\r\n const view = jest.fn();\r\n\r\n pm.addView(view);\r\n view.mockClear();\r\n\r\n pm.dispose();\r\n\r\n pm.doUpdateView({ val: 10 });\r\n\r\n expect(view).not.toBeCalled();\r\n });\r\n\r\n it(\"Adds itself to the App Object\", () => {\r\n const { appObj } = makeTestRig();\r\n\r\n expect(appObj.hasComponent(MockPM.type)).toEqual(false);\r\n\r\n const pm = new MockPM(appObj);\r\n\r\n expect(appObj.hasComponent(MockPM.type)).toEqual(true);\r\n });\r\n\r\n it(\"Removes itself from the App Object when disposed\", () => {\r\n const { appObj } = makeTestRig();\r\n const pm = new MockPM(appObj);\r\n\r\n expect(appObj.hasComponent(MockPM.type)).toEqual(true);\r\n\r\n pm.dispose();\r\n\r\n expect(appObj.hasComponent(MockPM.type)).toEqual(false);\r\n });\r\n\r\n it(\"Returns the repo\", () => {\r\n const { appObj, appObjects } = makeTestRig();\r\n\r\n const pm = new MockPM(appObj);\r\n expect(pm.appObjects).toEqual(appObjects);\r\n });\r\n\r\n it(\"Forwards a warn to the App Object Repo warn\", () => {\r\n const { appObj, appObjects } = makeTestRig();\r\n appObjects.submitWarning = jest.fn();\r\n\r\n const pm = new MockPM(appObj);\r\n pm.warn(\"Some warning\");\r\n\r\n expect(appObjects.submitWarning).toBeCalledWith(\r\n `appObj/MockPM`,\r\n \"Some warning\"\r\n );\r\n });\r\n\r\n it(\"Sets Component type to PM\", () => {\r\n const { appObj } = makeTestRig();\r\n const pm = new MockPM(appObj);\r\n\r\n expect(pm.componentType).toEqual(AppObjectComponentType.PM);\r\n });\r\n});\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AppObjectRepo.js","sourceRoot":"","sources":["../../../src/AppObject/AppObjectRepo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AppObjectRepo.js","sourceRoot":"","sources":["../../../src/AppObject/AppObjectRepo.ts"],"names":[],"mappings":"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","sourcesContent":["import { ObservableEntity, ObserverList } from \"../Entities\";\r\nimport { AppObject, makeAppObject } from \"./AppObject\";\r\nimport { AppObjectComponent } from \"./AppObjectComponent\";\r\n\r\nexport abstract class AppObjectRepo extends ObservableEntity {\r\n abstract has(appObjectID: string): boolean;\r\n abstract add(appObject: AppObject): void;\r\n abstract remove(appObjectID: string): void;\r\n abstract get(appObjectID: string): AppObject | undefined;\r\n abstract getOrCreate(appObjectID: string): AppObject;\r\n abstract getAll(): AppObject[];\r\n\r\n abstract submitLog(sender: string, message: string): void;\r\n abstract submitWarning(sender: string, message: string): void;\r\n abstract submitError(sender: string, message: string): void;\r\n abstract submitFatal(sender: string, message: string): void;\r\n\r\n abstract registerSingleton(component: AppObjectComponent): void;\r\n abstract getSingleton<T extends AppObjectComponent>(\r\n type: string\r\n ): T | undefined;\r\n\r\n abstract getAppObjectComponent<T extends AppObjectComponent>(\r\n appObjectID: string,\r\n type: string\r\n ): T | undefined;\r\n abstract getAllAppObjectsWithComponent(componentType: string): AppObject[];\r\n abstract getAllComponents<T extends AppObjectComponent>(type: string): T[];\r\n\r\n abstract addAppObjectAddedObserver: (\r\n observer: (addedEntity: AppObject) => void\r\n ) => void;\r\n abstract removeAppObjectAddedObserver: (\r\n observer: (addedEntity: AppObject) => void\r\n ) => void;\r\n\r\n abstract addAppObjectRemovedObserver: (\r\n observer: (addedEntity: AppObject) => void\r\n ) => void;\r\n abstract removedAppObjectRemovedObserver: (\r\n observer: (addedEntity: AppObject) => void\r\n ) => void;\r\n}\r\n\r\nexport function makeAppObjectRepo(): AppObjectRepo {\r\n return new AppObjectRepoImp();\r\n}\r\n\r\nclass AppObjectRepoImp extends AppObjectRepo {\r\n private appObjectLookup = new Map<string, AppObject>();\r\n private singletons = new Map<string, AppObjectComponent>();\r\n\r\n private onAppObjectAddedObserver = new ObserverList<AppObject>();\r\n addAppObjectAddedObserver = (observer: (addedEntity: AppObject) => void) => {\r\n this.onAppObjectAddedObserver.add(observer);\r\n };\r\n removeAppObjectAddedObserver = (\r\n observer: (addedEntity: AppObject) => void\r\n ): void => {\r\n this.onAppObjectAddedObserver.remove(observer);\r\n };\r\n\r\n private onAppObjectRemovedObservers = new ObserverList<AppObject>();\r\n addAppObjectRemovedObserver = (\r\n observer: (removedEntity: AppObject) => void\r\n ) => {\r\n this.onAppObjectRemovedObservers.add(observer);\r\n };\r\n removedAppObjectRemovedObserver = (\r\n observer: (removedEntity: AppObject) => void\r\n ): void => {\r\n this.onAppObjectRemovedObservers.remove(observer);\r\n };\r\n\r\n has = (id: string): boolean => {\r\n return this.appObjectLookup.has(id);\r\n };\r\n\r\n add = (appObject: AppObject) => {\r\n const existing = this.appObjectLookup.get(appObject.id);\r\n if (existing) {\r\n existing.removeObserver(this.notify);\r\n }\r\n\r\n this.appObjectLookup.set(appObject.id, appObject);\r\n appObject.addObserver(this.notify);\r\n this.notify();\r\n this.onAppObjectAddedObserver.notify(appObject);\r\n };\r\n\r\n remove = (id: string) => {\r\n const existing = this.appObjectLookup.get(id);\r\n if (!existing) return;\r\n\r\n this.appObjectLookup.delete(id);\r\n existing.removeObserver(this.notify);\r\n this.notify();\r\n this.onAppObjectRemovedObservers.notify(existing);\r\n };\r\n\r\n get = (id: string): AppObject | undefined => {\r\n return this.appObjectLookup.get(id);\r\n };\r\n\r\n getOrCreate = (id: string): AppObject => {\r\n const existing = this.appObjectLookup.get(id);\r\n\r\n if (!existing) {\r\n return makeAppObject(id, this);\r\n } else {\r\n return existing;\r\n }\r\n };\r\n\r\n getAll = (): AppObject[] => {\r\n return Array.from(this.appObjectLookup.values());\r\n };\r\n\r\n getAllAppObjectsWithComponent(componentType: string): AppObject[] {\r\n const rArray: AppObject[] = [];\r\n\r\n this.appObjectLookup.forEach((appObj) => {\r\n if (appObj.hasComponent(componentType)) {\r\n rArray.push(appObj);\r\n }\r\n });\r\n\r\n return rArray;\r\n }\r\n\r\n getAllComponents<T extends AppObjectComponent>(type: string): T[] {\r\n const rArray: T[] = [];\r\n\r\n this.appObjectLookup.forEach((appObj) => {\r\n const aoEntity = appObj.getComponent(type);\r\n if (aoEntity) {\r\n rArray.push(aoEntity as T);\r\n }\r\n });\r\n\r\n return rArray;\r\n }\r\n\r\n getAppObjectComponent<T extends AppObjectComponent>(\r\n id: string,\r\n entityType: string\r\n ): T | undefined {\r\n const ao = this.appObjectLookup.get(id);\r\n if (!ao) {\r\n return undefined;\r\n }\r\n\r\n return ao.getComponent(entityType) as T;\r\n }\r\n\r\n submitLog(sender: string, message: string): void {\r\n console.log(`[${sender}]: ${message}`);\r\n }\r\n submitWarning(sender: string, message: string): void {\r\n console.warn(`[${sender}]: ${message}`);\r\n }\r\n submitError(sender: string, message: string): void {\r\n console.error(`[${sender}]: ${message}`);\r\n }\r\n submitFatal(sender: string, message: string): void {\r\n console.error(`FATAL ERROR - [${sender}]: ${message}`);\r\n }\r\n\r\n registerSingleton(component: AppObjectComponent): void {\r\n if (this.singletons.has(component.type)) {\r\n this.submitWarning(\r\n \"AppObjectRepo\",\r\n `Singleton for type ${component.type} already exists. Relpacing`\r\n );\r\n }\r\n\r\n this.singletons.set(component.type, component);\r\n }\r\n\r\n getSingleton<T extends AppObjectComponent>(type: string): T | undefined {\r\n if (this.singletons.has(type)) {\r\n return this.singletons.get(type) as T;\r\n }\r\n\r\n const components = this.getAllComponents<AppObjectComponent>(type);\r\n if (components.length === 1) {\r\n this.singletons.set(components[0].type, components[0]);\r\n return components[0] as T;\r\n } else if (components.length === 0) {\r\n this.submitWarning(\r\n \"AppObjectRepo\",\r\n `Unable to find a singleton for ${type}`\r\n );\r\n return undefined;\r\n } else if (components.length > 1) {\r\n this.submitWarning(\r\n \"AppObjectRepo\",\r\n `Multiple ${type} found. There should only be one if it truly a singleton. Using the first one`\r\n );\r\n return components[0] as T;\r\n }\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AppObjectRepo.test.js","sourceRoot":"","sources":["../../../src/AppObject/AppObjectRepo.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AppObjectRepo.test.js","sourceRoot":"","sources":["../../../src/AppObject/AppObjectRepo.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\nfunction makeTestRig() {\r\n const repo = makeAppObjectRepo();\r\n\r\n const observer = jest.fn();\r\n repo.addObserver(observer);\r\n\r\n return { repo, observer };\r\n}\r\n\r\ndescribe(\"Observable appObject Repo\", () => {\r\n it(\"Allows an App Object to be added\", () => {\r\n const { repo } = makeTestRig();\r\n const appObject = makeAppObject(\"appObj\", repo);\r\n\r\n expect(repo.has(appObject.id)).toEqual(true);\r\n });\r\n\r\n it(\"Notifies when an appObject is added\", () => {\r\n const { repo, observer } = makeTestRig();\r\n makeAppObject(\"appObj\", repo);\r\n\r\n expect(observer).toBeCalled();\r\n });\r\n\r\n it(\"Forwards notification from an added App Object\", () => {\r\n const { repo, observer } = makeTestRig();\r\n const appObject = makeAppObject(\"appObj\", repo);\r\n\r\n observer.mockClear();\r\n\r\n appObject.notify();\r\n\r\n expect(observer).toBeCalled();\r\n });\r\n\r\n it(\"Stops notifying if adding an App Object replaces and existing appObject\", () => {\r\n const { repo, observer } = makeTestRig();\r\n\r\n const original = makeAppObject(\"appObj\", repo);\r\n makeAppObject(\"appObj\", repo);\r\n observer.mockClear();\r\n\r\n original.notify();\r\n\r\n expect(observer).not.toBeCalled();\r\n });\r\n\r\n it(\"Removes an App Object\", () => {\r\n const { repo } = makeTestRig();\r\n const appObject = makeAppObject(\"appObj\", repo);\r\n\r\n expect(repo.has(appObject.id)).toEqual(true);\r\n\r\n repo.remove(appObject.id);\r\n\r\n expect(repo.has(appObject.id)).toEqual(false);\r\n });\r\n\r\n it(\"Notifies if an App Object is removed\", () => {\r\n const { repo, observer } = makeTestRig();\r\n const appObject = makeAppObject(\"appObj\", repo);\r\n observer.mockClear();\r\n\r\n repo.remove(appObject.id);\r\n\r\n expect(observer).toBeCalled();\r\n });\r\n\r\n it(\"Does not notify if the App Object to be removed cannot be found\", () => {\r\n const { repo, observer } = makeTestRig();\r\n\r\n repo.remove(\"someId\");\r\n\r\n expect(observer).not.toBeCalled();\r\n });\r\n\r\n it(\"Stops observing a removed App Object\", () => {\r\n const { repo, observer } = makeTestRig();\r\n const appObject = makeAppObject(\"appObj\", repo);\r\n\r\n repo.remove(appObject.id);\r\n\r\n observer.mockClear();\r\n\r\n appObject.notify();\r\n\r\n expect(observer).not.toBeCalled();\r\n });\r\n\r\n it(\"Gets an App Object\", () => {\r\n const { repo } = makeTestRig();\r\n const appObject = makeAppObject(\"appObj\", repo);\r\n\r\n expect(repo.get(\"appObj\")).toEqual(appObject);\r\n });\r\n\r\n it(\"Gets all App Objects\", () => {\r\n const { repo } = makeTestRig();\r\n const appObject = makeAppObject(\"appObj\", repo);\r\n\r\n expect(repo.getAll()).toEqual([appObject]);\r\n });\r\n\r\n it(\"Returns undefined for an unknown App Object\", () => {\r\n const { repo } = makeTestRig();\r\n\r\n expect(repo.get(\"unknownID\")).toBeUndefined();\r\n });\r\n\r\n it(\"Supports notifying an observer when an App Object is added\", () => {\r\n const { repo } = makeTestRig();\r\n\r\n const addEntityObserver = jest.fn();\r\n repo.addAppObjectAddedObserver(addEntityObserver);\r\n\r\n const ent = makeAppObject(\"appObj\", repo);\r\n\r\n expect(addEntityObserver).toBeCalledWith(ent);\r\n });\r\n\r\n it(\"Add App Object observer can be removed\", () => {\r\n const { repo } = makeTestRig();\r\n\r\n const addEntityObserver = jest.fn();\r\n repo.addAppObjectAddedObserver(addEntityObserver);\r\n repo.removeAppObjectAddedObserver(addEntityObserver);\r\n\r\n makeAppObject(\"appObj\", repo);\r\n\r\n expect(addEntityObserver).not.toBeCalled();\r\n });\r\n\r\n it(\"Supports notifying an observer when an App Object is removed\", () => {\r\n const { repo } = makeTestRig();\r\n\r\n const removeEntityObserver = jest.fn();\r\n repo.addAppObjectRemovedObserver(removeEntityObserver);\r\n\r\n const ent = makeAppObject(\"appObj\", repo);\r\n\r\n repo.remove(\"appObj\");\r\n\r\n expect(removeEntityObserver).toBeCalledWith(ent);\r\n });\r\n\r\n it(\"Remove App Object observer can be removed\", () => {\r\n const { repo } = makeTestRig();\r\n\r\n const removeEntityObserver = jest.fn();\r\n repo.addAppObjectRemovedObserver(removeEntityObserver);\r\n repo.removedAppObjectRemovedObserver(removeEntityObserver);\r\n\r\n makeAppObject(\"appObj\", repo);\r\n repo.remove(\"appObj\");\r\n\r\n expect(removeEntityObserver).not.toBeCalled();\r\n });\r\n\r\n it(\"Creats a new App Object when getOrCreate is called but the AO does not exist\", () => {\r\n const { repo } = makeTestRig();\r\n\r\n expect(repo.has(\"ao1\")).toEqual(false);\r\n\r\n const ao = repo.getOrCreate(\"ao1\");\r\n\r\n expect(ao.id).toEqual(\"ao1\");\r\n expect(repo.has(\"ao1\")).toEqual(true);\r\n });\r\n\r\n it(\"Gets the existing App Object when getOrCreate is called and the AO exists\", () => {\r\n const { repo } = makeTestRig();\r\n\r\n const appObject = makeAppObject(\"appObj\", repo);\r\n const ao = repo.getOrCreate(\"appObj\");\r\n\r\n expect(ao).toEqual(appObject);\r\n });\r\n\r\n it(\"Get all App Objects with component type\", () => {\r\n const { repo } = makeTestRig();\r\n\r\n expect(repo.getAllAppObjectsWithComponent(MockComponent.type)).toEqual([]);\r\n\r\n makeAppObject(\"appObj1\", repo);\r\n const appObj2 = makeAppObject(\"appObj2\", repo);\r\n const appObj3 = makeAppObject(\"appObj3\", repo);\r\n\r\n new MockComponent(appObj2);\r\n new MockComponent(appObj3);\r\n\r\n expect(repo.getAllAppObjectsWithComponent(MockComponent.type)).toEqual([\r\n appObj2,\r\n appObj3,\r\n ]);\r\n });\r\n\r\n it(\"Get a component on an object\", () => {\r\n const { repo } = makeTestRig();\r\n\r\n const appObj = repo.getOrCreate(\"appObj\");\r\n\r\n const comp = new MockComponent(appObj);\r\n\r\n expect(repo.getAppObjectComponent(\"appObj\", MockComponent.type)).toEqual(\r\n comp\r\n );\r\n });\r\n\r\n it(\"Returns undefined if the App Object does not have an entity when calling get entity on object\", () => {\r\n const { repo } = makeTestRig();\r\n\r\n repo.getOrCreate(\"appObj\");\r\n\r\n expect(repo.getAppObjectComponent(\"appObj\", MockComponent.type)).toEqual(\r\n undefined\r\n );\r\n });\r\n\r\n it(\"Returns undefined if the App Object does not exist when calling get entity on object\", () => {\r\n const { repo } = makeTestRig();\r\n expect(repo.getAppObjectComponent(\"appObj\", MockComponent.type)).toEqual(\r\n undefined\r\n );\r\n });\r\n\r\n it(\"Get all Components\", () => {\r\n const { repo } = makeTestRig();\r\n\r\n expect(repo.getAllComponents<MockComponent>(MockComponent.type)).toEqual(\r\n []\r\n );\r\n\r\n const appObj1 = makeAppObject(\"appObj2\", repo);\r\n const comp1 = new MockComponent(appObj1);\r\n\r\n const appObj2 = makeAppObject(\"appObj3\", repo);\r\n const comp2 = new MockComponent(appObj2);\r\n\r\n expect(repo.getAllComponents<MockComponent>(MockComponent.type)).toEqual([\r\n comp1,\r\n comp2,\r\n ]);\r\n });\r\n\r\n it(\"Registers a singleton\", () => {\r\n const { repo } = makeTestRig();\r\n const appObj1 = makeAppObject(\"appObj2\", repo);\r\n const comp1 = new MockComponent(appObj1);\r\n\r\n repo.registerSingleton(comp1);\r\n\r\n expect(repo.getSingleton(MockComponent.type)).toEqual(comp1);\r\n });\r\n\r\n it(\"Warns and replaces if multiple singleton are registered\", () => {\r\n const { repo } = makeTestRig();\r\n const appObj1 = makeAppObject(\"appObj1\", repo);\r\n const comp1 = new MockComponent(appObj1);\r\n\r\n repo.registerSingleton(comp1);\r\n\r\n const appObj2 = makeAppObject(\"appObj2\", repo);\r\n const comp2 = new MockComponent(appObj2);\r\n\r\n repo.submitWarning = jest.fn();\r\n\r\n repo.registerSingleton(comp2);\r\n expect(repo.getSingleton(MockComponent.type)).toEqual(comp2);\r\n expect(repo.submitWarning).toBeCalled();\r\n });\r\n\r\n it(\"Searches for a singleton that has not been registered\", () => {\r\n const { repo } = makeTestRig();\r\n const appObj1 = makeAppObject(\"appObj2\", repo);\r\n const comp1 = new MockComponent(appObj1);\r\n\r\n repo.registerSingleton(comp1);\r\n\r\n expect(repo.getSingleton(MockComponent.type)).toEqual(comp1);\r\n });\r\n\r\n it(\"Warns if it cannot find a singleton\", () => {\r\n const { repo } = makeTestRig();\r\n\r\n repo.submitWarning = jest.fn();\r\n\r\n repo.getSingleton(MockComponent.type);\r\n\r\n expect(repo.submitWarning).toBeCalled();\r\n });\r\n\r\n \r\n it(\"Warns if it finds multiple singletons and returns the first one\", () => {\r\n const { repo } = makeTestRig();\r\n const appObj1 = makeAppObject(\"appObj1\", repo);\r\n const comp1 = new MockComponent(appObj1);\r\n \r\n const appObj2 = makeAppObject(\"appObj2\", repo);\r\n new MockComponent(appObj2);\r\n\r\n repo.submitWarning = jest.fn();\r\n\r\n expect(repo.getSingleton(MockComponent.type)).toEqual(comp1);\r\n expect(repo.submitWarning).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"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AppObjectUC.js","sourceRoot":"","sources":["../../../src/AppObject/AppObjectUC.ts"],"names":[],"mappings":";;;AAAA,6DAAkF;AAElF,MAAa,WAAY,SAAQ,uCAAkB;IAAnD;;QACU,kBAAa,GAAG,2CAAsB,CAAC,EAAE,CAAC;IACpD,CAAC;CAAA;AAFD,kCAEC"}
1
+ {"version":3,"file":"AppObjectUC.js","sourceRoot":"","sources":["../../../src/AppObject/AppObjectUC.ts"],"names":[],"mappings":";;;AAAA,6DAAkF;AAElF,MAAa,WAAY,SAAQ,uCAAkB;IAAnD;;QACU,kBAAa,GAAG,2CAAsB,CAAC,EAAE,CAAC;IACpD,CAAC;CAAA;AAFD,kCAEC","sourcesContent":["import { AppObjectComponent, AppObjectComponentType } from \"./AppObjectComponent\";\r\n\r\nexport class AppObjectUC extends AppObjectComponent {\r\n\treadonly componentType = AppObjectComponentType.UC;\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AppObjectView.js","sourceRoot":"","sources":["../../../src/AppObject/AppObjectView.ts"],"names":[],"mappings":";;;AAAA,6DAAkF;AAElF,MAAa,aAAc,SAAQ,uCAAkB;IAArD;;QACU,kBAAa,GAAG,2CAAsB,CAAC,IAAI,CAAC;IACtD,CAAC;CAAA;AAFD,sCAEC"}
1
+ {"version":3,"file":"AppObjectView.js","sourceRoot":"","sources":["../../../src/AppObject/AppObjectView.ts"],"names":[],"mappings":";;;AAAA,6DAAkF;AAElF,MAAa,aAAc,SAAQ,uCAAkB;IAArD;;QACU,kBAAa,GAAG,2CAAsB,CAAC,IAAI,CAAC;IACtD,CAAC;CAAA;AAFD,sCAEC","sourcesContent":["import { AppObjectComponent, AppObjectComponentType } from \"./AppObjectComponent\";\r\n\r\nexport class AppObjectView extends AppObjectComponent {\r\n\treadonly componentType = AppObjectComponentType.VIEW;\r\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"getSingletonComponent.js","sourceRoot":"","sources":["../../../src/AppObject/getSingletonComponent.ts"],"names":[],"mappings":";;AAGA,sDAKC;AALD,SAAgB,qBAAqB,CACnC,IAAY,EACZ,UAAyB;IAEzB,OAAO,UAAU,CAAC,YAAY,CAAI,IAAI,CAAC,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"getSingletonComponent.js","sourceRoot":"","sources":["../../../src/AppObject/getSingletonComponent.ts"],"names":[],"mappings":";;AAGA,sDAKC;AALD,SAAgB,qBAAqB,CACnC,IAAY,EACZ,UAAyB;IAEzB,OAAO,UAAU,CAAC,YAAY,CAAI,IAAI,CAAC,CAAC;AAC1C,CAAC","sourcesContent":["import { AppObjectComponent } from \"./AppObjectComponent\";\r\nimport { AppObjectRepo } from \"./AppObjectRepo\";\r\n\r\nexport function getSingletonComponent<T extends AppObjectComponent>(\r\n type: string,\r\n appObjects: AppObjectRepo\r\n): T | undefined {\r\n return appObjects.getSingleton<T>(type);\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"getSingletonComponent.test.js","sourceRoot":"","sources":["../../../src/AppObject/getSingletonComponent.test.ts"],"names":[],"mappings":";;AAAA,mDAAoD;AACpD,mEAAgE;AAEhE,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,UAAU,GAAG,IAAA,iCAAiB,GAAE,CAAC;QAEvC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAEpC,IAAA,6CAAqB,EACnB,gBAAgB,EAChB,UAAU,CACX,CAAC;QAEF,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAA;IAClE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"getSingletonComponent.test.js","sourceRoot":"","sources":["../../../src/AppObject/getSingletonComponent.test.ts"],"names":[],"mappings":";;AAAA,mDAAoD;AACpD,mEAAgE;AAEhE,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,UAAU,GAAG,IAAA,iCAAiB,GAAE,CAAC;QAEvC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAEpC,IAAA,6CAAqB,EACnB,gBAAgB,EAChB,UAAU,CACX,CAAC;QAEF,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAA;IAClE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { makeAppObjectRepo } from \"./AppObjectRepo\";\r\nimport { getSingletonComponent } from \"./getSingletonComponent\";\r\n\r\ndescribe(\"Get Singleton Component\", () => {\r\n it(\"Calls the get singleton on the app object repo\", () => {\r\n const appObjects = makeAppObjectRepo();\r\n\r\n appObjects.getSingleton = jest.fn();\r\n\r\n getSingletonComponent(\r\n \"Mock Component\",\r\n appObjects\r\n );\r\n\r\n expect(appObjects.getSingleton).toBeCalledWith(\"Mock Component\")\r\n });\r\n});\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/AppObject/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B;AAC3B,oDAAiC;AACjC,wDAAqC;AACrC,gDAA6B;AAC7B,kDAA+B;AAC/B,gDAA6B;AAC7B,wDAAqC;AACrC,kDAA+B;AAC/B,0DAAwC;AACxC,0DAAwC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/AppObject/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B;AAC3B,oDAAiC;AACjC,wDAAqC;AACrC,gDAA6B;AAC7B,kDAA+B;AAC/B,gDAA6B;AAC7B,wDAAqC;AACrC,kDAA+B;AAC/B,0DAAwC;AACxC,0DAAwC","sourcesContent":["export * from \"./AppObject\"\r\nexport * from \"./AppObjectEntity\"\r\nexport * from \"./AppObjectEntityRepo\"\r\nexport * from \"./AppObjectPM\"\r\nexport * from \"./AppObjectRepo\"\r\nexport * from \"./AppObjectUC\"\r\nexport * from \"./AppObjectController\"\r\nexport * from \"./AppObjectView\"\r\nexport * from \"./getSingletonComponent\";\r\nexport * from \"./printAppObjectDetails\";"]}
@@ -1 +1 @@
1
- {"version":3,"file":"printAppObjectDetails.js","sourceRoot":"","sources":["../../../src/AppObject/printAppObjectDetails.ts"],"names":[],"mappings":";;AAEA,sDAcC;AAdD,SAAgB,qBAAqB,CAAC,EAAU,EAAE,UAAyB;IACzE,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;QACxE,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,OAAO,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;IACnC,MAAM,UAAU,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;IAC7C,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QAC/B,OAAO,CAAC,GAAG,CAAC,kBAAkB,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;AACpE,CAAC"}
1
+ {"version":3,"file":"printAppObjectDetails.js","sourceRoot":"","sources":["../../../src/AppObject/printAppObjectDetails.ts"],"names":[],"mappings":";;AAEA,sDAcC;AAdD,SAAgB,qBAAqB,CAAC,EAAU,EAAE,UAAyB;IACzE,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;QACxE,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,OAAO,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;IACnC,MAAM,UAAU,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;IAC7C,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QAC/B,OAAO,CAAC,GAAG,CAAC,kBAAkB,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;AACpE,CAAC","sourcesContent":["import { AppObjectRepo } from \"./AppObjectRepo\";\r\n\r\nexport function printAppObjectDetails(id: string, appObjects: AppObjectRepo) {\r\n const appObject = appObjects.get(id);\r\n if (!appObject) {\r\n console.warn(\"[printAppObjectDetails] Unable to find App Object by ID\");\r\n return;\r\n }\r\n\r\n console.log(\"[printAppObjectDetails] Start App Object Details ---\");\r\n console.log(`id: ${appObject.id}`);\r\n const components = appObject.allComponents();\r\n components.forEach((component) => {\r\n console.log(`Has Component: ${component.type}`);\r\n });\r\n console.log(\"[printAppObjectDetails] End App Object Details ---\");\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MemoizedAngle.js","sourceRoot":"","sources":["../../../src/Entities/MemoizedAngle.ts"],"names":[],"mappings":";;;AAEA,MAAa,aAAa;IAExB,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IACD,IAAI,GAAG,CAAC,CAAQ;QACd,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO;YAAE,OAAO;QAE5C,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAEM,aAAa,CAAC,GAAU;QAC7B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IAClB,CAAC;IAID,YAAY,YAAmB,EAAE,gBAA4B;QAC3D,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;CACF;AAtBD,sCAsBC"}
1
+ {"version":3,"file":"MemoizedAngle.js","sourceRoot":"","sources":["../../../src/Entities/MemoizedAngle.ts"],"names":[],"mappings":";;;AAEA,MAAa,aAAa;IAExB,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IACD,IAAI,GAAG,CAAC,CAAQ;QACd,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO;YAAE,OAAO;QAE5C,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAEM,aAAa,CAAC,GAAU;QAC7B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IAClB,CAAC;IAID,YAAY,YAAmB,EAAE,gBAA4B;QAC3D,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;CACF;AAtBD,sCAsBC","sourcesContent":["import { Angle } from \"../ValueObjects\";\r\n\r\nexport class MemoizedAngle {\r\n private _val: Angle;\r\n get val(): Angle {\r\n return this._val;\r\n }\r\n set val(b: Angle) {\r\n if (this._val.degrees === b.degrees) return;\r\n\r\n this._val = b;\r\n this.onChangeCallback();\r\n }\r\n\r\n public setValQuietly(val: Angle) {\r\n this._val = val;\r\n }\r\n\r\n private onChangeCallback: () => void;\r\n\r\n constructor(initialValue: Angle, onChangeCallback: () => void) {\r\n this._val = initialValue;\r\n this.onChangeCallback = onChangeCallback;\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MemoizedAngle.test.js","sourceRoot":"","sources":["../../../src/Entities/MemoizedAngle.test.ts"],"names":[],"mappings":";;AAAA,kDAAwC;AACxC,mDAAgD;AAEhD,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACnC,MAAM,cAAc,GAAG,IAAI,6BAAa,CAAC,oBAAK,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3E,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2CAA2C,EAAE,GAAG,EAAE;IACrD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACrB,MAAM,cAAc,GAAG,IAAI,6BAAa,CAAC,oBAAK,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEpE,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;IAE5B,cAAc,CAAC,GAAG,GAAG,oBAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAE3C,MAAM,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;AAC1B,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,8CAA8C,EAAE,GAAG,EAAE;IACxD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACrB,MAAM,cAAc,GAAG,IAAI,6BAAa,CAAC,oBAAK,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEpE,cAAc,CAAC,GAAG,GAAG,oBAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAC3C,cAAc,CAAC,GAAG,GAAG,oBAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAC3C,cAAc,CAAC,GAAG,GAAG,oBAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAE3C,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6CAA6C,EAAE,GAAG,EAAE;IACvD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACrB,MAAM,eAAe,GAAG,IAAI,6BAAa,CAAC,oBAAK,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAErE,eAAe,CAAC,aAAa,CAAC,oBAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IAErD,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;AAC9B,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"MemoizedAngle.test.js","sourceRoot":"","sources":["../../../src/Entities/MemoizedAngle.test.ts"],"names":[],"mappings":";;AAAA,kDAAwC;AACxC,mDAAgD;AAEhD,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACnC,MAAM,cAAc,GAAG,IAAI,6BAAa,CAAC,oBAAK,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3E,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2CAA2C,EAAE,GAAG,EAAE;IACrD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACrB,MAAM,cAAc,GAAG,IAAI,6BAAa,CAAC,oBAAK,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEpE,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;IAE5B,cAAc,CAAC,GAAG,GAAG,oBAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAE3C,MAAM,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;AAC1B,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,8CAA8C,EAAE,GAAG,EAAE;IACxD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACrB,MAAM,cAAc,GAAG,IAAI,6BAAa,CAAC,oBAAK,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEpE,cAAc,CAAC,GAAG,GAAG,oBAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAC3C,cAAc,CAAC,GAAG,GAAG,oBAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAC3C,cAAc,CAAC,GAAG,GAAG,oBAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAE3C,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6CAA6C,EAAE,GAAG,EAAE;IACvD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACrB,MAAM,eAAe,GAAG,IAAI,6BAAa,CAAC,oBAAK,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAErE,eAAe,CAAC,aAAa,CAAC,oBAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IAErD,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;AAC9B,CAAC,CAAC,CAAC","sourcesContent":["import { Angle } from \"../ValueObjects\";\r\nimport { MemoizedAngle } from \"./MemoizedAngle\";\r\n\r\ntest(\"Initial value is stored\", () => {\r\n const memoizedNumber = new MemoizedAngle(Angle.FromDegrees(55), jest.fn());\r\n expect(memoizedNumber.val.degrees).toEqual(55);\r\n});\r\n\r\ntest(\"Callback is called when something changes\", () => {\r\n const cb = jest.fn();\r\n const memoizedNumber = new MemoizedAngle(Angle.FromDegrees(33), cb);\r\n\r\n expect(cb).not.toBeCalled();\r\n\r\n memoizedNumber.val = Angle.FromDegrees(55);\r\n\r\n expect(cb).toBeCalled();\r\n});\r\n\r\ntest(\"CB is only called when something has changed\", () => {\r\n const cb = jest.fn();\r\n const memoizedNumber = new MemoizedAngle(Angle.FromDegrees(33), cb);\r\n\r\n memoizedNumber.val = Angle.FromDegrees(33);\r\n memoizedNumber.val = Angle.FromDegrees(33);\r\n memoizedNumber.val = Angle.FromDegrees(33);\r\n\r\n expect(cb).not.toBeCalled();\r\n});\r\n\r\ntest(\"Setting the value quietly should not notify\", () => {\r\n const cb = jest.fn();\r\n const memoizedBoolean = new MemoizedAngle(Angle.FromDegrees(33), cb);\r\n\r\n memoizedBoolean.setValQuietly(Angle.FromDegrees(55));\r\n\r\n expect(cb).not.toBeCalled();\r\n});\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MemoizedBoolean.js","sourceRoot":"","sources":["../../../src/Entities/MemoizedBoolean.ts"],"names":[],"mappings":";;;AAAA,MAAa,eAAe;IAE1B,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IACD,IAAI,GAAG,CAAC,CAAU;QAChB,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO;QAE5B,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAEM,aAAa,CAAC,GAAY;QAC/B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IAClB,CAAC;IAID,YAAY,YAAqB,EAAE,gBAA4B;QAC7D,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;CACF;AAtBD,0CAsBC"}
1
+ {"version":3,"file":"MemoizedBoolean.js","sourceRoot":"","sources":["../../../src/Entities/MemoizedBoolean.ts"],"names":[],"mappings":";;;AAAA,MAAa,eAAe;IAE1B,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IACD,IAAI,GAAG,CAAC,CAAU;QAChB,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO;QAE5B,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAEM,aAAa,CAAC,GAAY;QAC/B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IAClB,CAAC;IAID,YAAY,YAAqB,EAAE,gBAA4B;QAC7D,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;CACF;AAtBD,0CAsBC","sourcesContent":["export class MemoizedBoolean {\r\n private _val: boolean;\r\n get val(): boolean {\r\n return this._val;\r\n }\r\n set val(b: boolean) {\r\n if (this._val === b) return;\r\n\r\n this._val = b;\r\n this.onChangeCallback();\r\n }\r\n\r\n public setValQuietly(val: boolean) {\r\n this._val = val;\r\n }\r\n\r\n private onChangeCallback: () => void;\r\n\r\n constructor(initialValue: boolean, onChangeCallback: () => void) {\r\n this._val = initialValue;\r\n this.onChangeCallback = onChangeCallback;\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MemoizedBoolean.test.js","sourceRoot":"","sources":["../../../src/Entities/MemoizedBoolean.test.ts"],"names":[],"mappings":";;AAAA,uDAAoD;AAEpD,IAAI,CAAC,yBAAyB,EAAE,GAAE,EAAE;IAClC,MAAM,YAAY,GAAG,IAAI,iCAAe,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1D,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvC,MAAM,aAAa,GAAG,IAAI,iCAAe,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5D,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,2CAA2C,EAAE,GAAE,EAAE;IACpD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACrB,MAAM,eAAe,GAAG,IAAI,iCAAe,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAEtD,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;IAE5B,eAAe,CAAC,GAAG,GAAG,KAAK,CAAC;IAE5B,MAAM,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;IACxB,EAAE,CAAC,SAAS,EAAE,CAAC;IAEf,eAAe,CAAC,GAAG,GAAG,IAAI,CAAC;IAE3B,MAAM,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;AAC1B,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,8CAA8C,EAAE,GAAE,EAAE;IACvD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACrB,MAAM,eAAe,GAAG,IAAI,iCAAe,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAEtD,eAAe,CAAC,GAAG,GAAG,IAAI,CAAC;IAC3B,eAAe,CAAC,GAAG,GAAG,IAAI,CAAC;IAC3B,eAAe,CAAC,GAAG,GAAG,IAAI,CAAC;IAE3B,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;AAC9B,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,6CAA6C,EAAE,GAAE,EAAE;IACtD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACrB,MAAM,eAAe,GAAG,IAAI,iCAAe,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAEtD,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAErC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;AAC9B,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"MemoizedBoolean.test.js","sourceRoot":"","sources":["../../../src/Entities/MemoizedBoolean.test.ts"],"names":[],"mappings":";;AAAA,uDAAoD;AAEpD,IAAI,CAAC,yBAAyB,EAAE,GAAE,EAAE;IAClC,MAAM,YAAY,GAAG,IAAI,iCAAe,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1D,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvC,MAAM,aAAa,GAAG,IAAI,iCAAe,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5D,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,2CAA2C,EAAE,GAAE,EAAE;IACpD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACrB,MAAM,eAAe,GAAG,IAAI,iCAAe,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAEtD,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;IAE5B,eAAe,CAAC,GAAG,GAAG,KAAK,CAAC;IAE5B,MAAM,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;IACxB,EAAE,CAAC,SAAS,EAAE,CAAC;IAEf,eAAe,CAAC,GAAG,GAAG,IAAI,CAAC;IAE3B,MAAM,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;AAC1B,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,8CAA8C,EAAE,GAAE,EAAE;IACvD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACrB,MAAM,eAAe,GAAG,IAAI,iCAAe,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAEtD,eAAe,CAAC,GAAG,GAAG,IAAI,CAAC;IAC3B,eAAe,CAAC,GAAG,GAAG,IAAI,CAAC;IAC3B,eAAe,CAAC,GAAG,GAAG,IAAI,CAAC;IAE3B,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;AAC9B,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,6CAA6C,EAAE,GAAE,EAAE;IACtD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACrB,MAAM,eAAe,GAAG,IAAI,iCAAe,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAEtD,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAErC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;AAC9B,CAAC,CAAC,CAAA","sourcesContent":["import { MemoizedBoolean } from \"./MemoizedBoolean\";\r\n\r\ntest(\"Initial value is stored\", ()=>{\r\n const memoizedTrue = new MemoizedBoolean(true, jest.fn());\r\n expect(memoizedTrue.val).toEqual(true);\r\n\r\n const memoizedFalse = new MemoizedBoolean(false, jest.fn());\r\n expect(memoizedFalse.val).toEqual(false);\r\n})\r\n\r\ntest(\"Callback is called when something changes\", ()=>{\r\n const cb = jest.fn();\r\n const memoizedBoolean = new MemoizedBoolean(true, cb);\r\n\r\n expect(cb).not.toBeCalled();\r\n\r\n memoizedBoolean.val = false;\r\n\r\n expect(cb).toBeCalled();\r\n cb.mockClear();\r\n\r\n memoizedBoolean.val = true;\r\n\r\n expect(cb).toBeCalled();\r\n})\r\n\r\ntest(\"CB is only called when something has changed\", ()=>{\r\n const cb = jest.fn();\r\n const memoizedBoolean = new MemoizedBoolean(true, cb);\r\n\r\n memoizedBoolean.val = true;\r\n memoizedBoolean.val = true;\r\n memoizedBoolean.val = true;\r\n\r\n expect(cb).not.toBeCalled();\r\n})\r\n\r\ntest(\"Setting the value quietly should not notify\", ()=>{\r\n const cb = jest.fn();\r\n const memoizedBoolean = new MemoizedBoolean(true, cb);\r\n\r\n memoizedBoolean.setValQuietly(false);\r\n\r\n expect(cb).not.toBeCalled();\r\n})"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MemoizedColor.js","sourceRoot":"","sources":["../../../src/Entities/MemoizedColor.ts"],"names":[],"mappings":";;;AAAA,kDAAwC;AAExC,MAAa,aAAa;IAGxB,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,GAAG,CAAC,CAAQ;QACd,IAAI,oBAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO;QAEtC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAEM,aAAa,CAAC,GAAU;QAC7B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IAClB,CAAC;IAID,YAAY,YAAmB,EAAE,gBAA4B;QAC3D,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;CACF;AAxBD,sCAwBC"}
1
+ {"version":3,"file":"MemoizedColor.js","sourceRoot":"","sources":["../../../src/Entities/MemoizedColor.ts"],"names":[],"mappings":";;;AAAA,kDAAwC;AAExC,MAAa,aAAa;IAGxB,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,GAAG,CAAC,CAAQ;QACd,IAAI,oBAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO;QAEtC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAEM,aAAa,CAAC,GAAU;QAC7B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IAClB,CAAC;IAID,YAAY,YAAmB,EAAE,gBAA4B;QAC3D,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;CACF;AAxBD,sCAwBC","sourcesContent":["import { Color } from \"../ValueObjects\";\r\n\r\nexport class MemoizedColor {\r\n private _val: Color;\r\n\r\n get val(): Color {\r\n return this._val;\r\n }\r\n\r\n set val(v: Color) {\r\n if (Color.Equal(v, this._val)) return;\r\n\r\n this._val = v;\r\n this.onChangeCallback();\r\n }\r\n\r\n public setValQuietly(val: Color) {\r\n this._val = val;\r\n }\r\n\r\n private onChangeCallback: () => void;\r\n\r\n constructor(initialValue: Color, onChangeCallback: () => void) {\r\n this._val = initialValue;\r\n this.onChangeCallback = onChangeCallback;\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MemoizedColor.test.js","sourceRoot":"","sources":["../../../src/Entities/MemoizedColor.test.ts"],"names":[],"mappings":";;AAAA,kDAAwC;AACxC,mDAAgD;AAEhD,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACnC,MAAM,YAAY,GAAG,oBAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C,MAAM,cAAc,GAAG,IAAI,6BAAa,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAClE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yCAAyC,EAAE,GAAG,EAAE;IACnD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACrB,MAAM,YAAY,GAAG,oBAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,IAAI,6BAAa,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAEzD,YAAY,CAAC,GAAG,GAAG,oBAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAE5C,MAAM,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;AAC1B,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,8CAA8C,EAAE,GAAG,EAAE;IACxD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACrB,MAAM,YAAY,GAAG,oBAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,IAAI,6BAAa,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAEzD,YAAY,CAAC,GAAG,GAAG,oBAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1C,YAAY,CAAC,GAAG,GAAG,oBAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1C,YAAY,CAAC,GAAG,GAAG,oBAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAE1C,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6CAA6C,EAAE,GAAG,EAAE;IACvD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACrB,MAAM,YAAY,GAAG,IAAI,6BAAa,CAAC,oBAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEnE,YAAY,CAAC,aAAa,CAAC,oBAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAEnD,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;AAC9B,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"MemoizedColor.test.js","sourceRoot":"","sources":["../../../src/Entities/MemoizedColor.test.ts"],"names":[],"mappings":";;AAAA,kDAAwC;AACxC,mDAAgD;AAEhD,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACnC,MAAM,YAAY,GAAG,oBAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C,MAAM,cAAc,GAAG,IAAI,6BAAa,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAClE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yCAAyC,EAAE,GAAG,EAAE;IACnD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACrB,MAAM,YAAY,GAAG,oBAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,IAAI,6BAAa,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAEzD,YAAY,CAAC,GAAG,GAAG,oBAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAE5C,MAAM,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;AAC1B,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,8CAA8C,EAAE,GAAG,EAAE;IACxD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACrB,MAAM,YAAY,GAAG,oBAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,IAAI,6BAAa,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAEzD,YAAY,CAAC,GAAG,GAAG,oBAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1C,YAAY,CAAC,GAAG,GAAG,oBAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1C,YAAY,CAAC,GAAG,GAAG,oBAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAE1C,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6CAA6C,EAAE,GAAG,EAAE;IACvD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACrB,MAAM,YAAY,GAAG,IAAI,6BAAa,CAAC,oBAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEnE,YAAY,CAAC,aAAa,CAAC,oBAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAEnD,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;AAC9B,CAAC,CAAC,CAAC","sourcesContent":["import { Color } from \"../ValueObjects\";\r\nimport { MemoizedColor } from \"./MemoizedColor\";\r\n\r\ntest(\"Initial value is stored\", () => {\r\n const initialColor = Color.RGBA(5, 6, 7, 8);\r\n const memoizedVector = new MemoizedColor(initialColor, jest.fn());\r\n expect(memoizedVector.val).toEqual(Color.RGBA(5, 6, 7, 8));\r\n});\r\n\r\ntest(\"Callback is called when the val changes\", () => {\r\n const cb = jest.fn();\r\n const initialColor = Color.RGBA(5, 6, 7, 8);\r\n const memoizedQuat = new MemoizedColor(initialColor, cb);\r\n\r\n memoizedQuat.val = Color.RGBA(8, 9, 10, 11);\r\n\r\n expect(cb).toBeCalled();\r\n});\r\n\r\ntest(\"Callback is called only when the val changes\", () => {\r\n const cb = jest.fn();\r\n const initialColor = Color.RGBA(5, 6, 7, 8);\r\n const memoizedQuat = new MemoizedColor(initialColor, cb);\r\n\r\n memoizedQuat.val = Color.RGBA(5, 6, 7, 8);\r\n memoizedQuat.val = Color.RGBA(5, 6, 7, 8);\r\n memoizedQuat.val = Color.RGBA(5, 6, 7, 8);\r\n\r\n expect(cb).not.toBeCalled();\r\n});\r\n\r\ntest(\"Setting the value quietly should not notify\", () => {\r\n const cb = jest.fn();\r\n const memoizedQuat = new MemoizedColor(Color.RGBA(5, 6, 7, 8), cb);\r\n\r\n memoizedQuat.setValQuietly(Color.RGBA(0, 0, 0, 0));\r\n\r\n expect(cb).not.toBeCalled();\r\n});\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MemoizedNumber.js","sourceRoot":"","sources":["../../../src/Entities/MemoizedNumber.ts"],"names":[],"mappings":";;;AAAA,MAAa,cAAc;IAEzB,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IACD,IAAI,GAAG,CAAC,CAAS;QACf,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO;QAE5B,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAEM,aAAa,CAAC,GAAW;QAC9B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IAClB,CAAC;IAID,YAAY,YAAoB,EAAE,gBAA4B;QAC5D,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;CACF;AAtBD,wCAsBC"}
1
+ {"version":3,"file":"MemoizedNumber.js","sourceRoot":"","sources":["../../../src/Entities/MemoizedNumber.ts"],"names":[],"mappings":";;;AAAA,MAAa,cAAc;IAEzB,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IACD,IAAI,GAAG,CAAC,CAAS;QACf,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO;QAE5B,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAEM,aAAa,CAAC,GAAW;QAC9B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IAClB,CAAC;IAID,YAAY,YAAoB,EAAE,gBAA4B;QAC5D,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;CACF;AAtBD,wCAsBC","sourcesContent":["export class MemoizedNumber {\r\n private _val: number;\r\n get val(): number {\r\n return this._val;\r\n }\r\n set val(b: number) {\r\n if (this._val === b) return;\r\n\r\n this._val = b;\r\n this.onChangeCallback();\r\n }\r\n\r\n public setValQuietly(val: number) {\r\n this._val = val;\r\n }\r\n \r\n private onChangeCallback: () => void;\r\n\r\n constructor(initialValue: number, onChangeCallback: () => void) {\r\n this._val = initialValue;\r\n this.onChangeCallback = onChangeCallback;\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MemoizedNumber.test.js","sourceRoot":"","sources":["../../../src/Entities/MemoizedNumber.test.ts"],"names":[],"mappings":";;AAAA,qDAAkD;AAElD,IAAI,CAAC,yBAAyB,EAAE,GAAE,EAAE;IAClC,MAAM,cAAc,GAAG,IAAI,+BAAc,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACzD,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AACzC,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,2CAA2C,EAAE,GAAE,EAAE;IACpD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACrB,MAAM,cAAc,GAAG,IAAI,+BAAc,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAElD,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;IAE5B,cAAc,CAAC,GAAG,GAAG,EAAE,CAAC;IAExB,MAAM,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;AAC1B,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,8CAA8C,EAAE,GAAE,EAAE;IACvD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACrB,MAAM,cAAc,GAAG,IAAI,+BAAc,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAElD,cAAc,CAAC,GAAG,GAAG,EAAE,CAAC;IACxB,cAAc,CAAC,GAAG,GAAG,EAAE,CAAC;IACxB,cAAc,CAAC,GAAG,GAAG,EAAE,CAAC;IAExB,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;AAC9B,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,6CAA6C,EAAE,GAAE,EAAE;IACtD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACrB,MAAM,eAAe,GAAG,IAAI,+BAAc,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAElD,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAEjC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;AAC9B,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"MemoizedNumber.test.js","sourceRoot":"","sources":["../../../src/Entities/MemoizedNumber.test.ts"],"names":[],"mappings":";;AAAA,qDAAkD;AAElD,IAAI,CAAC,yBAAyB,EAAE,GAAE,EAAE;IAClC,MAAM,cAAc,GAAG,IAAI,+BAAc,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACzD,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AACzC,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,2CAA2C,EAAE,GAAE,EAAE;IACpD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACrB,MAAM,cAAc,GAAG,IAAI,+BAAc,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAElD,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;IAE5B,cAAc,CAAC,GAAG,GAAG,EAAE,CAAC;IAExB,MAAM,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;AAC1B,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,8CAA8C,EAAE,GAAE,EAAE;IACvD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACrB,MAAM,cAAc,GAAG,IAAI,+BAAc,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAElD,cAAc,CAAC,GAAG,GAAG,EAAE,CAAC;IACxB,cAAc,CAAC,GAAG,GAAG,EAAE,CAAC;IACxB,cAAc,CAAC,GAAG,GAAG,EAAE,CAAC;IAExB,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;AAC9B,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,6CAA6C,EAAE,GAAE,EAAE;IACtD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACrB,MAAM,eAAe,GAAG,IAAI,+BAAc,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAElD,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAEjC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;AAC9B,CAAC,CAAC,CAAA","sourcesContent":["import { MemoizedNumber } from \"./MemoizedNumber\";\r\n\r\ntest(\"Initial value is stored\", ()=>{\r\n const memoizedNumber = new MemoizedNumber(33, jest.fn());\r\n expect(memoizedNumber.val).toEqual(33);\r\n})\r\n\r\ntest(\"Callback is called when something changes\", ()=>{\r\n const cb = jest.fn();\r\n const memoizedNumber = new MemoizedNumber(33, cb);\r\n\r\n expect(cb).not.toBeCalled();\r\n\r\n memoizedNumber.val = 55;\r\n\r\n expect(cb).toBeCalled();\r\n})\r\n\r\ntest(\"CB is only called when something has changed\", ()=>{\r\n const cb = jest.fn();\r\n const memoizedNumber = new MemoizedNumber(33, cb);\r\n\r\n memoizedNumber.val = 33;\r\n memoizedNumber.val = 33;\r\n memoizedNumber.val = 33;\r\n\r\n expect(cb).not.toBeCalled();\r\n})\r\n\r\ntest(\"Setting the value quietly should not notify\", ()=>{\r\n const cb = jest.fn();\r\n const memoizedBoolean = new MemoizedNumber(2, cb);\r\n\r\n memoizedBoolean.setValQuietly(3);\r\n\r\n expect(cb).not.toBeCalled();\r\n})"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MemoizedQuaternion.js","sourceRoot":"","sources":["../../../src/Entities/MemoizedQuaternion.ts"],"names":[],"mappings":";;;AAAA,kDAA6C;AAE7C,MAAa,kBAAkB;IAG7B,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,GAAG,CAAC,CAAa;QACnB,IAAI,yBAAU,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO;QAE3C,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAEM,aAAa,CAAC,GAAe;QAClC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IAClB,CAAC;IAID,YAAY,YAAwB,EAAE,gBAA4B;QAChE,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;CACF;AAxBD,gDAwBC"}
1
+ {"version":3,"file":"MemoizedQuaternion.js","sourceRoot":"","sources":["../../../src/Entities/MemoizedQuaternion.ts"],"names":[],"mappings":";;;AAAA,kDAA6C;AAE7C,MAAa,kBAAkB;IAG7B,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,GAAG,CAAC,CAAa;QACnB,IAAI,yBAAU,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO;QAE3C,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAEM,aAAa,CAAC,GAAe;QAClC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IAClB,CAAC;IAID,YAAY,YAAwB,EAAE,gBAA4B;QAChE,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;CACF;AAxBD,gDAwBC","sourcesContent":["import { Quaternion } from \"../ValueObjects\";\r\n\r\nexport class MemoizedQuaternion {\r\n private _val: Quaternion;\r\n\r\n get val(): Quaternion {\r\n return this._val;\r\n }\r\n\r\n set val(v: Quaternion) {\r\n if (Quaternion.Equal(v, this._val)) return;\r\n\r\n this._val = v;\r\n this.onChangeCallback();\r\n }\r\n\r\n public setValQuietly(val: Quaternion) {\r\n this._val = val;\r\n }\r\n\r\n private onChangeCallback: () => void;\r\n\r\n constructor(initialValue: Quaternion, onChangeCallback: () => void) {\r\n this._val = initialValue;\r\n this.onChangeCallback = onChangeCallback;\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MemoizedQuaternion.test.js","sourceRoot":"","sources":["../../../src/Entities/MemoizedQuaternion.test.ts"],"names":[],"mappings":";;AAAA,kDAA6C;AAC7C,6DAA0D;AAE1D,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACnC,MAAM,WAAW,GAAG,IAAI,yBAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C,MAAM,cAAc,GAAG,IAAI,uCAAkB,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACtE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,yBAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yCAAyC,EAAE,GAAG,EAAE;IACnD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACrB,MAAM,WAAW,GAAG,IAAI,yBAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,IAAI,uCAAkB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAE7D,YAAY,CAAC,GAAG,GAAG,IAAI,yBAAU,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAEhD,MAAM,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;AAC1B,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,8CAA8C,EAAE,GAAG,EAAE;IACxD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACrB,MAAM,WAAW,GAAG,IAAI,yBAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,IAAI,uCAAkB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAE7D,YAAY,CAAC,GAAG,GAAG,IAAI,yBAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9C,YAAY,CAAC,GAAG,GAAG,IAAI,yBAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9C,YAAY,CAAC,GAAG,GAAG,IAAI,yBAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAE9C,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6CAA6C,EAAE,GAAG,EAAE;IACvD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACrB,MAAM,YAAY,GAAG,IAAI,uCAAkB,CAAC,yBAAU,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IAEvE,YAAY,CAAC,aAAa,CAAC,yBAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;IAElD,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;AAC9B,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"MemoizedQuaternion.test.js","sourceRoot":"","sources":["../../../src/Entities/MemoizedQuaternion.test.ts"],"names":[],"mappings":";;AAAA,kDAA6C;AAC7C,6DAA0D;AAE1D,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACnC,MAAM,WAAW,GAAG,IAAI,yBAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C,MAAM,cAAc,GAAG,IAAI,uCAAkB,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACtE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,yBAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yCAAyC,EAAE,GAAG,EAAE;IACnD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACrB,MAAM,WAAW,GAAG,IAAI,yBAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,IAAI,uCAAkB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAE7D,YAAY,CAAC,GAAG,GAAG,IAAI,yBAAU,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAEhD,MAAM,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;AAC1B,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,8CAA8C,EAAE,GAAG,EAAE;IACxD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACrB,MAAM,WAAW,GAAG,IAAI,yBAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,IAAI,uCAAkB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAE7D,YAAY,CAAC,GAAG,GAAG,IAAI,yBAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9C,YAAY,CAAC,GAAG,GAAG,IAAI,yBAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9C,YAAY,CAAC,GAAG,GAAG,IAAI,yBAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAE9C,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6CAA6C,EAAE,GAAG,EAAE;IACvD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACrB,MAAM,YAAY,GAAG,IAAI,uCAAkB,CAAC,yBAAU,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IAEvE,YAAY,CAAC,aAAa,CAAC,yBAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;IAElD,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;AAC9B,CAAC,CAAC,CAAC","sourcesContent":["import { Quaternion } from \"../ValueObjects\";\r\nimport { MemoizedQuaternion } from \"./MemoizedQuaternion\";\r\n\r\ntest(\"Initial value is stored\", () => {\r\n const initialQuat = new Quaternion(5, 6, 7, 8);\r\n const memoizedVector = new MemoizedQuaternion(initialQuat, jest.fn());\r\n expect(memoizedVector.val).toEqual(new Quaternion(5, 6, 7, 8));\r\n});\r\n\r\ntest(\"Callback is called when the val changes\", () => {\r\n const cb = jest.fn();\r\n const initialQuat = new Quaternion(5, 6, 7, 8);\r\n const memoizedQuat = new MemoizedQuaternion(initialQuat, cb);\r\n\r\n memoizedQuat.val = new Quaternion(8, 9, 10, 11);\r\n\r\n expect(cb).toBeCalled();\r\n});\r\n\r\ntest(\"Callback is called only when the val changes\", () => {\r\n const cb = jest.fn();\r\n const initialQuat = new Quaternion(5, 6, 7, 8);\r\n const memoizedQuat = new MemoizedQuaternion(initialQuat, cb);\r\n\r\n memoizedQuat.val = new Quaternion(5, 6, 7, 8);\r\n memoizedQuat.val = new Quaternion(5, 6, 7, 8);\r\n memoizedQuat.val = new Quaternion(5, 6, 7, 8);\r\n\r\n expect(cb).not.toBeCalled();\r\n});\r\n\r\ntest(\"Setting the value quietly should not notify\", () => {\r\n const cb = jest.fn();\r\n const memoizedQuat = new MemoizedQuaternion(Quaternion.Identity(), cb);\r\n\r\n memoizedQuat.setValQuietly(Quaternion.Identity());\r\n\r\n expect(cb).not.toBeCalled();\r\n});\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MemoizedString.js","sourceRoot":"","sources":["../../../src/Entities/MemoizedString.ts"],"names":[],"mappings":";;;AAAA,MAAa,cAAc;IAEzB,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IACD,IAAI,GAAG,CAAC,CAAS;QACf,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO;QAE5B,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAEM,aAAa,CAAC,GAAW;QAC9B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IAClB,CAAC;IAID,YAAY,YAAoB,EAAE,gBAA4B;QAC5D,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;CACF;AAtBD,wCAsBC"}
1
+ {"version":3,"file":"MemoizedString.js","sourceRoot":"","sources":["../../../src/Entities/MemoizedString.ts"],"names":[],"mappings":";;;AAAA,MAAa,cAAc;IAEzB,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IACD,IAAI,GAAG,CAAC,CAAS;QACf,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO;QAE5B,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAEM,aAAa,CAAC,GAAW;QAC9B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IAClB,CAAC;IAID,YAAY,YAAoB,EAAE,gBAA4B;QAC5D,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;CACF;AAtBD,wCAsBC","sourcesContent":["export class MemoizedString {\r\n private _val: string;\r\n get val(): string {\r\n return this._val;\r\n }\r\n set val(b: string) {\r\n if (this._val === b) return;\r\n\r\n this._val = b;\r\n this.onChangeCallback();\r\n }\r\n\r\n public setValQuietly(val: string) {\r\n this._val = val;\r\n }\r\n \r\n private onChangeCallback: () => void;\r\n\r\n constructor(initialValue: string, onChangeCallback: () => void) {\r\n this._val = initialValue;\r\n this.onChangeCallback = onChangeCallback;\r\n }\r\n}\r\n"]}