@vived/app 6.7.1 → 6.8.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 (204) hide show
  1. package/README.md +145 -1
  2. package/dist/cjs/BaseApp/UC/RenderCanvasUC.js.map +1 -1
  3. package/dist/cjs/BaseApp/UC/RenderCanvasUC.test.js.map +1 -1
  4. package/dist/cjs/Challenge/Factories/ChallengeFeatureFactory.js.map +1 -1
  5. package/dist/cjs/Challenge/Factories/ChallengeFeatureFactory.test.js.map +1 -1
  6. package/dist/cjs/EventSystem/Entities/EventEntity.js.map +1 -1
  7. package/dist/cjs/EventSystem/Entities/EventEntity.test.js +4 -1
  8. package/dist/cjs/EventSystem/Entities/EventEntity.test.js.map +1 -1
  9. package/dist/cjs/EventSystem/Entities/index.js.map +1 -1
  10. package/dist/cjs/EventSystem/EventSystem.integration.test.js.map +1 -1
  11. package/dist/cjs/EventSystem/Factories/EventSystemFeatureFactory.js.map +1 -1
  12. package/dist/cjs/EventSystem/Factories/EventSystemFeatureFactory.test.js.map +1 -1
  13. package/dist/cjs/EventSystem/Factories/index.js.map +1 -1
  14. package/dist/cjs/EventSystem/Mocks/MockEventEntity.js.map +1 -1
  15. package/dist/cjs/EventSystem/Mocks/index.js.map +1 -1
  16. package/dist/cjs/EventSystem/index.js.map +1 -1
  17. package/dist/cjs/EventSystem/types.js.map +1 -1
  18. package/dist/cjs/LabelDrop/Factories/LabelDropFeatureFactory.js.map +1 -1
  19. package/dist/cjs/LabelDrop/UseCases/SubmitLabelDropResultUC.js.map +1 -1
  20. package/dist/cjs/LabelDrop/UseCases/SubmitLabelDropResultUC.test.js.map +1 -1
  21. package/dist/cjs/LabelDrop/UseCases/index.js.map +1 -1
  22. package/dist/cjs/Procedure/Adapters/index.js.map +1 -1
  23. package/dist/cjs/Procedure/Adapters/procedureAdapter.js.map +1 -1
  24. package/dist/cjs/Procedure/Adapters/procedureAdapter.test.js.map +1 -1
  25. package/dist/cjs/Procedure/Adapters/procedureAuthoringAdapter.js.map +1 -1
  26. package/dist/cjs/Procedure/Adapters/procedureAuthoringAdapter.test.js.map +1 -1
  27. package/dist/cjs/Procedure/Adapters/procedureHintAdapter.js.map +1 -1
  28. package/dist/cjs/Procedure/Adapters/procedureHintAdapter.test.js.map +1 -1
  29. package/dist/cjs/Procedure/Adapters/procedureProgressAdapter.js.map +1 -1
  30. package/dist/cjs/Procedure/Adapters/procedureProgressAdapter.test.js.map +1 -1
  31. package/dist/cjs/Procedure/Adapters/procedureQuizResultAdapter.js.map +1 -1
  32. package/dist/cjs/Procedure/Adapters/procedureQuizResultAdapter.test.js +3 -1
  33. package/dist/cjs/Procedure/Adapters/procedureQuizResultAdapter.test.js.map +1 -1
  34. package/dist/cjs/Procedure/Entities/HintRegistry.js.map +1 -1
  35. package/dist/cjs/Procedure/Entities/HintRegistry.test.js.map +1 -1
  36. package/dist/cjs/Procedure/Entities/ProcedureEntity.js.map +1 -1
  37. package/dist/cjs/Procedure/Entities/ProcedureEntity.test.js +1 -12
  38. package/dist/cjs/Procedure/Entities/ProcedureEntity.test.js.map +1 -1
  39. package/dist/cjs/Procedure/Entities/index.js.map +1 -1
  40. package/dist/cjs/Procedure/Factories/ProcedureFeatureFactory.js.map +1 -1
  41. package/dist/cjs/Procedure/Factories/ProcedureFeatureFactory.test.js +3 -1
  42. package/dist/cjs/Procedure/Factories/ProcedureFeatureFactory.test.js.map +1 -1
  43. package/dist/cjs/Procedure/Factories/index.js.map +1 -1
  44. package/dist/cjs/Procedure/Mocks/MockProcedureEntity.js.map +1 -1
  45. package/dist/cjs/Procedure/Mocks/MockProcedurePM.js.map +1 -1
  46. package/dist/cjs/Procedure/Mocks/index.js.map +1 -1
  47. package/dist/cjs/Procedure/PM/ProcedurePM.js.map +1 -1
  48. package/dist/cjs/Procedure/PM/ProcedurePM.test.js +1 -1
  49. package/dist/cjs/Procedure/PM/ProcedurePM.test.js.map +1 -1
  50. package/dist/cjs/Procedure/PM/index.js.map +1 -1
  51. package/dist/cjs/Procedure/ProcedureEventSystem.integration.test.js.map +1 -1
  52. package/dist/cjs/Procedure/UCs/AddProcedureEventUC.js.map +1 -1
  53. package/dist/cjs/Procedure/UCs/AddProcedureEventUC.test.js +1 -4
  54. package/dist/cjs/Procedure/UCs/AddProcedureEventUC.test.js.map +1 -1
  55. package/dist/cjs/Procedure/UCs/MoveProcedureEventDownUC.js.map +1 -1
  56. package/dist/cjs/Procedure/UCs/MoveProcedureEventDownUC.test.js.map +1 -1
  57. package/dist/cjs/Procedure/UCs/MoveProcedureEventUpUC.js.map +1 -1
  58. package/dist/cjs/Procedure/UCs/MoveProcedureEventUpUC.test.js.map +1 -1
  59. package/dist/cjs/Procedure/UCs/RecordProcedureEventUC.js.map +1 -1
  60. package/dist/cjs/Procedure/UCs/RecordProcedureEventUC.test.js.map +1 -1
  61. package/dist/cjs/Procedure/UCs/RecordProcedureSessionUC.js.map +1 -1
  62. package/dist/cjs/Procedure/UCs/RecordProcedureSessionUC.test.js +22 -4
  63. package/dist/cjs/Procedure/UCs/RecordProcedureSessionUC.test.js.map +1 -1
  64. package/dist/cjs/Procedure/UCs/RemoveProcedureEventUC.js.map +1 -1
  65. package/dist/cjs/Procedure/UCs/RemoveProcedureEventUC.test.js.map +1 -1
  66. package/dist/cjs/Procedure/UCs/ResetProcedureProgressUC.js.map +1 -1
  67. package/dist/cjs/Procedure/UCs/ResetProcedureProgressUC.test.js.map +1 -1
  68. package/dist/cjs/Procedure/UCs/SerializeProcedure.js.map +1 -1
  69. package/dist/cjs/Procedure/UCs/SerializeProcedure.test.js +6 -1
  70. package/dist/cjs/Procedure/UCs/SerializeProcedure.test.js.map +1 -1
  71. package/dist/cjs/Procedure/UCs/SetProcedureIsQuizUC.js.map +1 -1
  72. package/dist/cjs/Procedure/UCs/SetProcedureIsQuizUC.test.js.map +1 -1
  73. package/dist/cjs/Procedure/UCs/SetProcedureOrderMattersUC.js.map +1 -1
  74. package/dist/cjs/Procedure/UCs/SetProcedureOrderMattersUC.test.js.map +1 -1
  75. package/dist/cjs/Procedure/UCs/SetProcedureShowHintsUC.js.map +1 -1
  76. package/dist/cjs/Procedure/UCs/SetProcedureShowHintsUC.test.js.map +1 -1
  77. package/dist/cjs/Procedure/UCs/SubmitProcedureQuizUC.js.map +1 -1
  78. package/dist/cjs/Procedure/UCs/SubmitProcedureQuizUC.test.js.map +1 -1
  79. package/dist/cjs/Procedure/UCs/UpdateProcedureEventsUCHook.js.map +1 -1
  80. package/dist/cjs/Procedure/UCs/UpdateProcedureEventsUCHook.test.js.map +1 -1
  81. package/dist/cjs/Procedure/UCs/index.js.map +1 -1
  82. package/dist/cjs/Procedure/index.js.map +1 -1
  83. package/dist/cjs/Procedure/types.js.map +1 -1
  84. package/dist/cjs/RequestHandler/UC/SetThemeColorUC.test.js +9 -0
  85. package/dist/cjs/RequestHandler/UC/SetThemeColorUC.test.js.map +1 -1
  86. package/dist/cjs/ThemeColors/Entities/ThemeColors.js +24 -0
  87. package/dist/cjs/ThemeColors/Entities/ThemeColors.js.map +1 -1
  88. package/dist/cjs/ThemeColors/Entities/ThemeColors.test.js +20 -0
  89. package/dist/cjs/ThemeColors/Entities/ThemeColors.test.js.map +1 -1
  90. package/dist/cjs/TouchController/UC/UpdateTouchInoutBound.test.js.map +1 -1
  91. package/dist/cjs/TouchController/UC/UpdateTouchInputBound.js.map +1 -1
  92. package/dist/cjs/index.js.map +1 -1
  93. package/dist/esm/BaseApp/UC/RenderCanvasUC.js.map +1 -1
  94. package/dist/esm/BaseApp/UC/RenderCanvasUC.test.js.map +1 -1
  95. package/dist/esm/Challenge/Factories/ChallengeFeatureFactory.js.map +1 -1
  96. package/dist/esm/Challenge/Factories/ChallengeFeatureFactory.test.js.map +1 -1
  97. package/dist/esm/EventSystem/Entities/EventEntity.js.map +1 -1
  98. package/dist/esm/EventSystem/Entities/EventEntity.test.js +4 -1
  99. package/dist/esm/EventSystem/Entities/EventEntity.test.js.map +1 -1
  100. package/dist/esm/EventSystem/Entities/index.js.map +1 -1
  101. package/dist/esm/EventSystem/EventSystem.integration.test.js.map +1 -1
  102. package/dist/esm/EventSystem/Factories/EventSystemFeatureFactory.js.map +1 -1
  103. package/dist/esm/EventSystem/Factories/EventSystemFeatureFactory.test.js.map +1 -1
  104. package/dist/esm/EventSystem/Factories/index.js.map +1 -1
  105. package/dist/esm/EventSystem/Mocks/MockEventEntity.js.map +1 -1
  106. package/dist/esm/EventSystem/Mocks/index.js.map +1 -1
  107. package/dist/esm/EventSystem/index.js.map +1 -1
  108. package/dist/esm/EventSystem/types.js.map +1 -1
  109. package/dist/esm/LabelDrop/Factories/LabelDropFeatureFactory.js.map +1 -1
  110. package/dist/esm/LabelDrop/UseCases/SubmitLabelDropResultUC.js.map +1 -1
  111. package/dist/esm/LabelDrop/UseCases/SubmitLabelDropResultUC.test.js.map +1 -1
  112. package/dist/esm/LabelDrop/UseCases/index.js.map +1 -1
  113. package/dist/esm/Procedure/Adapters/index.js.map +1 -1
  114. package/dist/esm/Procedure/Adapters/procedureAdapter.js.map +1 -1
  115. package/dist/esm/Procedure/Adapters/procedureAdapter.test.js.map +1 -1
  116. package/dist/esm/Procedure/Adapters/procedureAuthoringAdapter.js.map +1 -1
  117. package/dist/esm/Procedure/Adapters/procedureAuthoringAdapter.test.js.map +1 -1
  118. package/dist/esm/Procedure/Adapters/procedureHintAdapter.js.map +1 -1
  119. package/dist/esm/Procedure/Adapters/procedureHintAdapter.test.js.map +1 -1
  120. package/dist/esm/Procedure/Adapters/procedureProgressAdapter.js.map +1 -1
  121. package/dist/esm/Procedure/Adapters/procedureProgressAdapter.test.js.map +1 -1
  122. package/dist/esm/Procedure/Adapters/procedureQuizResultAdapter.js.map +1 -1
  123. package/dist/esm/Procedure/Adapters/procedureQuizResultAdapter.test.js +3 -1
  124. package/dist/esm/Procedure/Adapters/procedureQuizResultAdapter.test.js.map +1 -1
  125. package/dist/esm/Procedure/Entities/HintRegistry.js.map +1 -1
  126. package/dist/esm/Procedure/Entities/HintRegistry.test.js.map +1 -1
  127. package/dist/esm/Procedure/Entities/ProcedureEntity.js.map +1 -1
  128. package/dist/esm/Procedure/Entities/ProcedureEntity.test.js +1 -12
  129. package/dist/esm/Procedure/Entities/ProcedureEntity.test.js.map +1 -1
  130. package/dist/esm/Procedure/Entities/index.js.map +1 -1
  131. package/dist/esm/Procedure/Factories/ProcedureFeatureFactory.js.map +1 -1
  132. package/dist/esm/Procedure/Factories/ProcedureFeatureFactory.test.js +5 -3
  133. package/dist/esm/Procedure/Factories/ProcedureFeatureFactory.test.js.map +1 -1
  134. package/dist/esm/Procedure/Factories/index.js.map +1 -1
  135. package/dist/esm/Procedure/Mocks/MockProcedureEntity.js.map +1 -1
  136. package/dist/esm/Procedure/Mocks/MockProcedurePM.js.map +1 -1
  137. package/dist/esm/Procedure/Mocks/index.js.map +1 -1
  138. package/dist/esm/Procedure/PM/ProcedurePM.js.map +1 -1
  139. package/dist/esm/Procedure/PM/ProcedurePM.test.js +2 -2
  140. package/dist/esm/Procedure/PM/ProcedurePM.test.js.map +1 -1
  141. package/dist/esm/Procedure/PM/index.js.map +1 -1
  142. package/dist/esm/Procedure/ProcedureEventSystem.integration.test.js +2 -2
  143. package/dist/esm/Procedure/ProcedureEventSystem.integration.test.js.map +1 -1
  144. package/dist/esm/Procedure/UCs/AddProcedureEventUC.js.map +1 -1
  145. package/dist/esm/Procedure/UCs/AddProcedureEventUC.test.js +3 -6
  146. package/dist/esm/Procedure/UCs/AddProcedureEventUC.test.js.map +1 -1
  147. package/dist/esm/Procedure/UCs/MoveProcedureEventDownUC.js.map +1 -1
  148. package/dist/esm/Procedure/UCs/MoveProcedureEventDownUC.test.js +2 -2
  149. package/dist/esm/Procedure/UCs/MoveProcedureEventDownUC.test.js.map +1 -1
  150. package/dist/esm/Procedure/UCs/MoveProcedureEventUpUC.js.map +1 -1
  151. package/dist/esm/Procedure/UCs/MoveProcedureEventUpUC.test.js +2 -2
  152. package/dist/esm/Procedure/UCs/MoveProcedureEventUpUC.test.js.map +1 -1
  153. package/dist/esm/Procedure/UCs/RecordProcedureEventUC.js.map +1 -1
  154. package/dist/esm/Procedure/UCs/RecordProcedureEventUC.test.js +2 -2
  155. package/dist/esm/Procedure/UCs/RecordProcedureEventUC.test.js.map +1 -1
  156. package/dist/esm/Procedure/UCs/RecordProcedureSessionUC.js.map +1 -1
  157. package/dist/esm/Procedure/UCs/RecordProcedureSessionUC.test.js +22 -4
  158. package/dist/esm/Procedure/UCs/RecordProcedureSessionUC.test.js.map +1 -1
  159. package/dist/esm/Procedure/UCs/RemoveProcedureEventUC.js.map +1 -1
  160. package/dist/esm/Procedure/UCs/RemoveProcedureEventUC.test.js +2 -2
  161. package/dist/esm/Procedure/UCs/RemoveProcedureEventUC.test.js.map +1 -1
  162. package/dist/esm/Procedure/UCs/ResetProcedureProgressUC.js.map +1 -1
  163. package/dist/esm/Procedure/UCs/ResetProcedureProgressUC.test.js +2 -2
  164. package/dist/esm/Procedure/UCs/ResetProcedureProgressUC.test.js.map +1 -1
  165. package/dist/esm/Procedure/UCs/SerializeProcedure.js.map +1 -1
  166. package/dist/esm/Procedure/UCs/SerializeProcedure.test.js +8 -3
  167. package/dist/esm/Procedure/UCs/SerializeProcedure.test.js.map +1 -1
  168. package/dist/esm/Procedure/UCs/SetProcedureIsQuizUC.js.map +1 -1
  169. package/dist/esm/Procedure/UCs/SetProcedureIsQuizUC.test.js +1 -1
  170. package/dist/esm/Procedure/UCs/SetProcedureIsQuizUC.test.js.map +1 -1
  171. package/dist/esm/Procedure/UCs/SetProcedureOrderMattersUC.js.map +1 -1
  172. package/dist/esm/Procedure/UCs/SetProcedureOrderMattersUC.test.js +1 -1
  173. package/dist/esm/Procedure/UCs/SetProcedureOrderMattersUC.test.js.map +1 -1
  174. package/dist/esm/Procedure/UCs/SetProcedureShowHintsUC.js.map +1 -1
  175. package/dist/esm/Procedure/UCs/SetProcedureShowHintsUC.test.js +1 -1
  176. package/dist/esm/Procedure/UCs/SetProcedureShowHintsUC.test.js.map +1 -1
  177. package/dist/esm/Procedure/UCs/SubmitProcedureQuizUC.js.map +1 -1
  178. package/dist/esm/Procedure/UCs/SubmitProcedureQuizUC.test.js +2 -2
  179. package/dist/esm/Procedure/UCs/SubmitProcedureQuizUC.test.js.map +1 -1
  180. package/dist/esm/Procedure/UCs/UpdateProcedureEventsUCHook.js.map +1 -1
  181. package/dist/esm/Procedure/UCs/UpdateProcedureEventsUCHook.test.js +1 -1
  182. package/dist/esm/Procedure/UCs/UpdateProcedureEventsUCHook.test.js.map +1 -1
  183. package/dist/esm/Procedure/UCs/index.js.map +1 -1
  184. package/dist/esm/Procedure/index.js.map +1 -1
  185. package/dist/esm/Procedure/types.js.map +1 -1
  186. package/dist/esm/RequestHandler/UC/SetThemeColorUC.test.js +9 -0
  187. package/dist/esm/RequestHandler/UC/SetThemeColorUC.test.js.map +1 -1
  188. package/dist/esm/ThemeColors/Entities/ThemeColors.js +24 -0
  189. package/dist/esm/ThemeColors/Entities/ThemeColors.js.map +1 -1
  190. package/dist/esm/ThemeColors/Entities/ThemeColors.test.js +20 -0
  191. package/dist/esm/ThemeColors/Entities/ThemeColors.test.js.map +1 -1
  192. package/dist/esm/TouchController/UC/UpdateTouchInoutBound.test.js.map +1 -1
  193. package/dist/esm/TouchController/UC/UpdateTouchInputBound.js.map +1 -1
  194. package/dist/esm/index.js.map +1 -1
  195. package/dist/types/Procedure/Entities/ProcedureEntity.d.ts.map +1 -1
  196. package/dist/types/Procedure/Mocks/MockProcedureEntity.d.ts.map +1 -1
  197. package/dist/types/Procedure/UCs/AddProcedureEventUC.d.ts.map +1 -1
  198. package/dist/types/Procedure/UCs/RecordProcedureSessionUC.d.ts.map +1 -1
  199. package/dist/types/Procedure/UCs/SetProcedureIsQuizUC.d.ts.map +1 -1
  200. package/dist/types/Procedure/UCs/SubmitProcedureQuizUC.d.ts.map +1 -1
  201. package/dist/types/Procedure/types.d.ts.map +1 -1
  202. package/dist/types/ThemeColors/Entities/ThemeColors.d.ts +12 -0
  203. package/dist/types/ThemeColors/Entities/ThemeColors.d.ts.map +1 -1
  204. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"RemoveProcedureEventUC.js","sourceRoot":"","sources":["../../../../src/Procedure/UCs/RemoveProcedureEventUC.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,WAAW,EAAiB,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,MAAM,OAAgB,sBAAuB,SAAQ,WAAW;;AAC9C,2BAAI,GAAG,wBAAwB,CAAC;AAIzC,0BAAG,GAAG,CACX,UAAyB,EACW,EAAE,CACtC,UAAU;KACP,WAAW,CAAC,WAAW,CAAC;KACxB,YAAY,CAAyB,sBAAsB,CAAC,IAAI,CAAC,CAAC;AAGzE,MAAM,UAAU,0BAA0B,CACxC,SAAoB;IAEpB,OAAO,IAAI,yBAAyB,CAAC,SAAS,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,yBAA0B,SAAQ,sBAAsB;IAC5D,IAAY,eAAe;QACzB,OAAO,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED,WAAW,CAAC,OAAe;QACzB,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;YACzD,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC;QACpC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;QAED,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;CACF","sourcesContent":["import { AppObject, AppObjectUC, AppObjectRepo } from \"@vived/core\";\r\nimport { ProcedureEntity } from \"../Entities/ProcedureEntity\";\r\n\r\nexport abstract class RemoveProcedureEventUC extends AppObjectUC {\r\n static readonly type = \"RemoveProcedureEventUC\";\r\n\r\n abstract removeEvent(eventId: string): void;\r\n\r\n static get = (\r\n appObjects: AppObjectRepo,\r\n ): RemoveProcedureEventUC | undefined =>\r\n appObjects\r\n .getOrCreate(\"Procedure\")\r\n .getComponent<RemoveProcedureEventUC>(RemoveProcedureEventUC.type);\r\n}\r\n\r\nexport function makeRemoveProcedureEventUC(\r\n appObject: AppObject,\r\n): RemoveProcedureEventUC {\r\n return new RemoveProcedureEventUCImp(appObject);\r\n}\r\n\r\nclass RemoveProcedureEventUCImp extends RemoveProcedureEventUC {\r\n private get procedureEntity(): ProcedureEntity | undefined {\r\n return ProcedureEntity.get(this.appObjects);\r\n }\r\n\r\n removeEvent(eventId: string): void {\r\n if (!eventId || eventId.trim() === \"\") {\r\n this.warn(\"Cannot remove empty event ID from procedure\");\r\n return;\r\n }\r\n\r\n const entity = this.procedureEntity;\r\n if (!entity) {\r\n this.warn(\"ProcedureEntity not found - cannot remove event\");\r\n return;\r\n }\r\n\r\n entity.removeEventId(eventId.trim());\r\n }\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, RemoveProcedureEventUC.type);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"RemoveProcedureEventUC.js","sourceRoot":"","sources":["../../../../src/Procedure/UCs/RemoveProcedureEventUC.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,WAAW,EAAiB,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,MAAM,OAAgB,sBAAuB,SAAQ,WAAW;;AAC9C,2BAAI,GAAG,wBAAwB,CAAC;AAIzC,0BAAG,GAAG,CACX,UAAyB,EACW,EAAE,CACtC,UAAU;KACP,WAAW,CAAC,WAAW,CAAC;KACxB,YAAY,CAAyB,sBAAsB,CAAC,IAAI,CAAC,CAAC;AAGzE,MAAM,UAAU,0BAA0B,CACxC,SAAoB;IAEpB,OAAO,IAAI,yBAAyB,CAAC,SAAS,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,yBAA0B,SAAQ,sBAAsB;IAC5D,IAAY,eAAe;QACzB,OAAO,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED,WAAW,CAAC,OAAe;QACzB,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;YACzD,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC;QACpC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;QAED,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;CACF","sourcesContent":["import { AppObject, AppObjectUC, AppObjectRepo } from \"@vived/core\";\nimport { ProcedureEntity } from \"../Entities/ProcedureEntity\";\n\nexport abstract class RemoveProcedureEventUC extends AppObjectUC {\n static readonly type = \"RemoveProcedureEventUC\";\n\n abstract removeEvent(eventId: string): void;\n\n static get = (\n appObjects: AppObjectRepo,\n ): RemoveProcedureEventUC | undefined =>\n appObjects\n .getOrCreate(\"Procedure\")\n .getComponent<RemoveProcedureEventUC>(RemoveProcedureEventUC.type);\n}\n\nexport function makeRemoveProcedureEventUC(\n appObject: AppObject,\n): RemoveProcedureEventUC {\n return new RemoveProcedureEventUCImp(appObject);\n}\n\nclass RemoveProcedureEventUCImp extends RemoveProcedureEventUC {\n private get procedureEntity(): ProcedureEntity | undefined {\n return ProcedureEntity.get(this.appObjects);\n }\n\n removeEvent(eventId: string): void {\n if (!eventId || eventId.trim() === \"\") {\n this.warn(\"Cannot remove empty event ID from procedure\");\n return;\n }\n\n const entity = this.procedureEntity;\n if (!entity) {\n this.warn(\"ProcedureEntity not found - cannot remove event\");\n return;\n }\n\n entity.removeEventId(eventId.trim());\n }\n\n constructor(appObject: AppObject) {\n super(appObject, RemoveProcedureEventUC.type);\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import { makeAppObjectRepo } from "@vived/core";
2
- import { makeProcedureEntity } from "../Entities/ProcedureEntity";
3
- import { RemoveProcedureEventUC, makeRemoveProcedureEventUC } from "./RemoveProcedureEventUC";
2
+ import { makeProcedureEntity, } from "../Entities/ProcedureEntity";
3
+ import { RemoveProcedureEventUC, makeRemoveProcedureEventUC, } from "./RemoveProcedureEventUC";
4
4
  function makeTestRig() {
5
5
  const appObjects = makeAppObjectRepo();
6
6
  const appObject = appObjects.getOrCreate("Procedure");
@@ -1 +1 @@
1
- {"version":3,"file":"RemoveProcedureEventUC.test.js","sourceRoot":"","sources":["../../../../src/Procedure/UCs/RemoveProcedureEventUC.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAmB,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAE9F,SAAS,WAAW;IACnB,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACtD,MAAM,eAAe,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACvD,eAAe,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACtC,eAAe,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACtC,MAAM,EAAE,GAAG,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACjD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC;AACvD,CAAC;AAED,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QACjD,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC;QACzC,MAAM,CAAC,sBAAsB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACvD,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC;QAC9C,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC1B,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC3C,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC;QAC9C,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAC9B,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACxD,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAC1D,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAErC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACnB,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAEtB,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;QACjE,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QAClD,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;QACvC,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,EAAE,GAAG,0BAA0B,CAAC,SAAS,CAAC,CAAC;QACjD,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAErC,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAE1B,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACrD,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { ProcedureEntity, makeProcedureEntity } from \"../Entities/ProcedureEntity\";\r\nimport { RemoveProcedureEventUC, makeRemoveProcedureEventUC } from \"./RemoveProcedureEventUC\";\r\n\r\nfunction makeTestRig() {\r\n\tconst appObjects = makeAppObjectRepo();\r\n\tconst appObject = appObjects.getOrCreate(\"Procedure\");\r\n\tconst procedureEntity = makeProcedureEntity(appObject);\r\n\tprocedureEntity.addEventId(\"event_a\");\r\n\tprocedureEntity.addEventId(\"event_b\");\r\n\tconst uc = makeRemoveProcedureEventUC(appObject);\r\n\treturn { appObjects, appObject, procedureEntity, uc };\r\n}\r\n\r\ndescribe(\"RemoveProcedureEventUC\", () => {\r\n\tit(\"can be retrieved via static get method\", () => {\r\n\t\tconst { appObjects, uc } = makeTestRig();\r\n\t\texpect(RemoveProcedureEventUC.get(appObjects)).toBe(uc);\r\n\t});\r\n\r\n\tit(\"removes an existing event ID from the entity\", () => {\r\n\t\tconst { procedureEntity, uc } = makeTestRig();\r\n\t\tuc.removeEvent(\"event_a\");\r\n\t\texpect(procedureEntity.eventIds).toEqual([\"event_b\"]);\r\n\t});\r\n\r\n\tit(\"trims whitespace before removing\", () => {\r\n\t\tconst { procedureEntity, uc } = makeTestRig();\r\n\t\tuc.removeEvent(\" event_a \");\r\n\t\texpect(procedureEntity.eventIds).toEqual([\"event_b\"]);\r\n\t});\r\n\r\n\tit(\"warns and does not remove for empty event IDs\", () => {\r\n\t\tconst { procedureEntity, uc, appObjects } = makeTestRig();\r\n\t\tappObjects.submitWarning = jest.fn();\r\n\r\n\t\tuc.removeEvent(\"\");\r\n\t\tuc.removeEvent(\" \");\r\n\r\n\t\texpect(procedureEntity.eventIds).toEqual([\"event_a\", \"event_b\"]);\r\n\t\texpect(appObjects.submitWarning).toHaveBeenCalled();\r\n\t});\r\n\r\n\tit(\"warns when ProcedureEntity is not found\", () => {\r\n\t\tconst appObjects = makeAppObjectRepo();\r\n\t\tconst appObject = appObjects.getOrCreate(\"Procedure\");\r\n\t\tconst uc = makeRemoveProcedureEventUC(appObject);\r\n\t\tappObjects.submitWarning = jest.fn();\r\n\r\n\t\tuc.removeEvent(\"event_a\");\r\n\r\n\t\texpect(appObjects.submitWarning).toHaveBeenCalled();\r\n\t});\r\n});\r\n"]}
1
+ {"version":3,"file":"RemoveProcedureEventUC.test.js","sourceRoot":"","sources":["../../../../src/Procedure/UCs/RemoveProcedureEventUC.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAEL,mBAAmB,GACpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,0BAA0B,CAAC;AAElC,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACtD,MAAM,eAAe,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACvD,eAAe,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACtC,eAAe,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACtC,MAAM,EAAE,GAAG,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACjD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC;AACxD,CAAC;AAED,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC;QACzC,MAAM,CAAC,sBAAsB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC;QAC9C,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC1B,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC;QAC9C,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAC9B,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAC1D,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAErC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACnB,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAEtB,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;QACjE,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;QACvC,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,EAAE,GAAG,0BAA0B,CAAC,SAAS,CAAC,CAAC;QACjD,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAErC,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAE1B,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport {\n ProcedureEntity,\n makeProcedureEntity,\n} from \"../Entities/ProcedureEntity\";\nimport {\n RemoveProcedureEventUC,\n makeRemoveProcedureEventUC,\n} from \"./RemoveProcedureEventUC\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const appObject = appObjects.getOrCreate(\"Procedure\");\n const procedureEntity = makeProcedureEntity(appObject);\n procedureEntity.addEventId(\"event_a\");\n procedureEntity.addEventId(\"event_b\");\n const uc = makeRemoveProcedureEventUC(appObject);\n return { appObjects, appObject, procedureEntity, uc };\n}\n\ndescribe(\"RemoveProcedureEventUC\", () => {\n it(\"can be retrieved via static get method\", () => {\n const { appObjects, uc } = makeTestRig();\n expect(RemoveProcedureEventUC.get(appObjects)).toBe(uc);\n });\n\n it(\"removes an existing event ID from the entity\", () => {\n const { procedureEntity, uc } = makeTestRig();\n uc.removeEvent(\"event_a\");\n expect(procedureEntity.eventIds).toEqual([\"event_b\"]);\n });\n\n it(\"trims whitespace before removing\", () => {\n const { procedureEntity, uc } = makeTestRig();\n uc.removeEvent(\" event_a \");\n expect(procedureEntity.eventIds).toEqual([\"event_b\"]);\n });\n\n it(\"warns and does not remove for empty event IDs\", () => {\n const { procedureEntity, uc, appObjects } = makeTestRig();\n appObjects.submitWarning = jest.fn();\n\n uc.removeEvent(\"\");\n uc.removeEvent(\" \");\n\n expect(procedureEntity.eventIds).toEqual([\"event_a\", \"event_b\"]);\n expect(appObjects.submitWarning).toHaveBeenCalled();\n });\n\n it(\"warns when ProcedureEntity is not found\", () => {\n const appObjects = makeAppObjectRepo();\n const appObject = appObjects.getOrCreate(\"Procedure\");\n const uc = makeRemoveProcedureEventUC(appObject);\n appObjects.submitWarning = jest.fn();\n\n uc.removeEvent(\"event_a\");\n\n expect(appObjects.submitWarning).toHaveBeenCalled();\n });\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ResetProcedureProgressUC.js","sourceRoot":"","sources":["../../../../src/Procedure/UCs/ResetProcedureProgressUC.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,WAAW,EAAiB,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,OAAgB,wBAAyB,SAAQ,WAAW;;AAChD,6BAAI,GAAG,0BAA0B,CAAC;AAI3C,4BAAG,GAAG,CACX,UAAyB,EACa,EAAE,CACxC,UAAU;KACP,WAAW,CAAC,WAAW,CAAC;KACxB,YAAY,CAA2B,wBAAwB,CAAC,IAAI,CAAC,CAAC;AAG7E,MAAM,UAAU,4BAA4B,CAC1C,SAAoB;IAEpB,OAAO,IAAI,2BAA2B,CAAC,SAAS,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,2BAA4B,SAAQ,wBAAwB;IAChE,IAAY,eAAe;QACzB,OAAO,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED,IAAY,WAAW;QACrB,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC;IAED,aAAa;QACX,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC;QACpC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,MAAM,CAAC,KAAK,EAAE,CAAC;QAEf,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,IAAI,WAAW,EAAE,CAAC;YAChB,WAAW,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAED,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;CACF","sourcesContent":["import { AppObject, AppObjectUC, AppObjectRepo } from \"@vived/core\";\r\nimport { ProcedureEntity } from \"../Entities/ProcedureEntity\";\r\nimport { EventEntity } from \"../../EventSystem\";\r\n\r\nexport abstract class ResetProcedureProgressUC extends AppObjectUC {\r\n static readonly type = \"ResetProcedureProgressUC\";\r\n\r\n abstract resetProgress(): void;\r\n\r\n static get = (\r\n appObjects: AppObjectRepo,\r\n ): ResetProcedureProgressUC | undefined =>\r\n appObjects\r\n .getOrCreate(\"Procedure\")\r\n .getComponent<ResetProcedureProgressUC>(ResetProcedureProgressUC.type);\r\n}\r\n\r\nexport function makeResetProcedureProgressUC(\r\n appObject: AppObject,\r\n): ResetProcedureProgressUC {\r\n return new ResetProcedureProgressUCImp(appObject);\r\n}\r\n\r\nclass ResetProcedureProgressUCImp extends ResetProcedureProgressUC {\r\n private get procedureEntity(): ProcedureEntity | undefined {\r\n return ProcedureEntity.get(this.appObjects);\r\n }\r\n\r\n private get eventEntity(): EventEntity | undefined {\r\n return EventEntity.get(this.appObjects);\r\n }\r\n\r\n resetProgress(): void {\r\n const entity = this.procedureEntity;\r\n if (!entity) {\r\n this.warn(\"ProcedureEntity not found - cannot reset progress\");\r\n return;\r\n }\r\n\r\n entity.reset();\r\n\r\n const eventEntity = this.eventEntity;\r\n if (eventEntity) {\r\n eventEntity.reset();\r\n }\r\n }\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, ResetProcedureProgressUC.type);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ResetProcedureProgressUC.js","sourceRoot":"","sources":["../../../../src/Procedure/UCs/ResetProcedureProgressUC.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,WAAW,EAAiB,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,OAAgB,wBAAyB,SAAQ,WAAW;;AAChD,6BAAI,GAAG,0BAA0B,CAAC;AAI3C,4BAAG,GAAG,CACX,UAAyB,EACa,EAAE,CACxC,UAAU;KACP,WAAW,CAAC,WAAW,CAAC;KACxB,YAAY,CAA2B,wBAAwB,CAAC,IAAI,CAAC,CAAC;AAG7E,MAAM,UAAU,4BAA4B,CAC1C,SAAoB;IAEpB,OAAO,IAAI,2BAA2B,CAAC,SAAS,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,2BAA4B,SAAQ,wBAAwB;IAChE,IAAY,eAAe;QACzB,OAAO,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED,IAAY,WAAW;QACrB,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC;IAED,aAAa;QACX,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC;QACpC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,MAAM,CAAC,KAAK,EAAE,CAAC;QAEf,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,IAAI,WAAW,EAAE,CAAC;YAChB,WAAW,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAED,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;CACF","sourcesContent":["import { AppObject, AppObjectUC, AppObjectRepo } from \"@vived/core\";\nimport { ProcedureEntity } from \"../Entities/ProcedureEntity\";\nimport { EventEntity } from \"../../EventSystem\";\n\nexport abstract class ResetProcedureProgressUC extends AppObjectUC {\n static readonly type = \"ResetProcedureProgressUC\";\n\n abstract resetProgress(): void;\n\n static get = (\n appObjects: AppObjectRepo,\n ): ResetProcedureProgressUC | undefined =>\n appObjects\n .getOrCreate(\"Procedure\")\n .getComponent<ResetProcedureProgressUC>(ResetProcedureProgressUC.type);\n}\n\nexport function makeResetProcedureProgressUC(\n appObject: AppObject,\n): ResetProcedureProgressUC {\n return new ResetProcedureProgressUCImp(appObject);\n}\n\nclass ResetProcedureProgressUCImp extends ResetProcedureProgressUC {\n private get procedureEntity(): ProcedureEntity | undefined {\n return ProcedureEntity.get(this.appObjects);\n }\n\n private get eventEntity(): EventEntity | undefined {\n return EventEntity.get(this.appObjects);\n }\n\n resetProgress(): void {\n const entity = this.procedureEntity;\n if (!entity) {\n this.warn(\"ProcedureEntity not found - cannot reset progress\");\n return;\n }\n\n entity.reset();\n\n const eventEntity = this.eventEntity;\n if (eventEntity) {\n eventEntity.reset();\n }\n }\n\n constructor(appObject: AppObject) {\n super(appObject, ResetProcedureProgressUC.type);\n }\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import { makeAppObjectRepo } from "@vived/core";
2
2
  import { ResetProcedureProgressUC, makeResetProcedureProgressUC, } from "./ResetProcedureProgressUC";
3
- import { makeProcedureEntity } from "../Entities/ProcedureEntity";
4
- import { makeEventEntity } from "../../EventSystem/Entities/EventEntity";
3
+ import { makeProcedureEntity, } from "../Entities/ProcedureEntity";
4
+ import { makeEventEntity, } from "../../EventSystem/Entities/EventEntity";
5
5
  describe("ResetProcedureProgressUC", () => {
6
6
  let appObjects;
7
7
  let procedureEntity;
@@ -1 +1 @@
1
- {"version":3,"file":"ResetProcedureProgressUC.test.js","sourceRoot":"","sources":["../../../../src/Procedure/UCs/ResetProcedureProgressUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { AppObjectRepo, makeAppObjectRepo } from \"@vived/core\";\r\nimport {\r\n ResetProcedureProgressUC,\r\n makeResetProcedureProgressUC,\r\n} from \"./ResetProcedureProgressUC\";\r\nimport { ProcedureEntity, makeProcedureEntity } from \"../Entities/ProcedureEntity\";\r\nimport { EventEntity, makeEventEntity } from \"../../EventSystem/Entities/EventEntity\";\r\n\r\ndescribe(\"ResetProcedureProgressUC\", () => {\r\n let appObjects: AppObjectRepo;\r\n let procedureEntity: ProcedureEntity;\r\n let eventEntity: EventEntity;\r\n let resetUC: ResetProcedureProgressUC;\r\n\r\n beforeEach(() => {\r\n appObjects = makeAppObjectRepo();\r\n const appObject = appObjects.getOrCreate(\"Procedure\");\r\n\r\n procedureEntity = makeProcedureEntity(appObject);\r\n eventEntity = makeEventEntity(appObjects.getOrCreate(\"EventSystem\"));\r\n\r\n resetUC = makeResetProcedureProgressUC(appObject);\r\n });\r\n\r\n it(\"resets ProcedureEntity when resetting progress\", () => {\r\n procedureEntity.addEventId(\"event1\");\r\n procedureEntity.recordUserEvent(\"event1\");\r\n\r\n resetUC.resetProgress();\r\n\r\n expect(procedureEntity.userEventLog).toEqual([]);\r\n });\r\n\r\n it(\"resets EventEntity when resetting progress\", () => {\r\n eventEntity.register(\"event1\", \"Event 1\");\r\n eventEntity.emit(\"event1\");\r\n\r\n expect(eventEntity.getLastEmittedId()).toBe(\"event1\");\r\n\r\n resetUC.resetProgress();\r\n\r\n expect(eventEntity.getLastEmittedId()).toBeNull();\r\n expect(eventEntity.getEmittedEvents()).toEqual([]);\r\n });\r\n\r\n it(\"handles missing EventEntity gracefully\", () => {\r\n const freshAppObjects = makeAppObjectRepo();\r\n const freshAppObject = freshAppObjects.getOrCreate(\"Procedure\");\r\n makeProcedureEntity(freshAppObject);\r\n const freshUC = makeResetProcedureProgressUC(freshAppObject);\r\n\r\n expect(() => freshUC.resetProgress()).not.toThrow();\r\n });\r\n\r\n it(\"warns when ProcedureEntity is not found\", () => {\r\n const freshAppObjects = makeAppObjectRepo();\r\n const freshAppObject = freshAppObjects.getOrCreate(\"Procedure\");\r\n const freshUC = makeResetProcedureProgressUC(freshAppObject);\r\n const warnSpy = jest.spyOn(freshUC, \"warn\");\r\n\r\n freshUC.resetProgress();\r\n\r\n expect(warnSpy).toHaveBeenCalledWith(\r\n \"ProcedureEntity not found - cannot reset progress\",\r\n );\r\n });\r\n\r\n it(\"can be retrieved via static get method\", () => {\r\n const retrieved = ResetProcedureProgressUC.get(appObjects);\r\n expect(retrieved).toBe(resetUC);\r\n });\r\n});\r\n"]}
1
+ {"version":3,"file":"ResetProcedureProgressUC.test.js","sourceRoot":"","sources":["../../../../src/Procedure/UCs/ResetProcedureProgressUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { AppObjectRepo, makeAppObjectRepo } from \"@vived/core\";\nimport {\n ResetProcedureProgressUC,\n makeResetProcedureProgressUC,\n} from \"./ResetProcedureProgressUC\";\nimport {\n ProcedureEntity,\n makeProcedureEntity,\n} from \"../Entities/ProcedureEntity\";\nimport {\n EventEntity,\n makeEventEntity,\n} from \"../../EventSystem/Entities/EventEntity\";\n\ndescribe(\"ResetProcedureProgressUC\", () => {\n let appObjects: AppObjectRepo;\n let procedureEntity: ProcedureEntity;\n let eventEntity: EventEntity;\n let resetUC: ResetProcedureProgressUC;\n\n beforeEach(() => {\n appObjects = makeAppObjectRepo();\n const appObject = appObjects.getOrCreate(\"Procedure\");\n\n procedureEntity = makeProcedureEntity(appObject);\n eventEntity = makeEventEntity(appObjects.getOrCreate(\"EventSystem\"));\n\n resetUC = makeResetProcedureProgressUC(appObject);\n });\n\n it(\"resets ProcedureEntity when resetting progress\", () => {\n procedureEntity.addEventId(\"event1\");\n procedureEntity.recordUserEvent(\"event1\");\n\n resetUC.resetProgress();\n\n expect(procedureEntity.userEventLog).toEqual([]);\n });\n\n it(\"resets EventEntity when resetting progress\", () => {\n eventEntity.register(\"event1\", \"Event 1\");\n eventEntity.emit(\"event1\");\n\n expect(eventEntity.getLastEmittedId()).toBe(\"event1\");\n\n resetUC.resetProgress();\n\n expect(eventEntity.getLastEmittedId()).toBeNull();\n expect(eventEntity.getEmittedEvents()).toEqual([]);\n });\n\n it(\"handles missing EventEntity gracefully\", () => {\n const freshAppObjects = makeAppObjectRepo();\n const freshAppObject = freshAppObjects.getOrCreate(\"Procedure\");\n makeProcedureEntity(freshAppObject);\n const freshUC = makeResetProcedureProgressUC(freshAppObject);\n\n expect(() => freshUC.resetProgress()).not.toThrow();\n });\n\n it(\"warns when ProcedureEntity is not found\", () => {\n const freshAppObjects = makeAppObjectRepo();\n const freshAppObject = freshAppObjects.getOrCreate(\"Procedure\");\n const freshUC = makeResetProcedureProgressUC(freshAppObject);\n const warnSpy = jest.spyOn(freshUC, \"warn\");\n\n freshUC.resetProgress();\n\n expect(warnSpy).toHaveBeenCalledWith(\n \"ProcedureEntity not found - cannot reset progress\",\n );\n });\n\n it(\"can be retrieved via static get method\", () => {\n const retrieved = ResetProcedureProgressUC.get(appObjects);\n expect(retrieved).toBe(resetUC);\n });\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"SerializeProcedure.js","sourceRoot":"","sources":["../../../../src/Procedure/UCs/SerializeProcedure.ts"],"names":[],"mappings":"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","sourcesContent":["import {\r\n AppObject,\r\n AppObjectUC,\r\n AppObjectRepo,\r\n getSingletonComponent,\r\n} from \"@vived/core\";\r\nimport { StateMachineEntity } from \"../../StateMachine\";\r\nimport { SerializedSystem } from \"../../StateMachine/Entities/StateMachineEntity\";\r\nimport { ProcedureEntity } from \"../Entities/ProcedureEntity\";\r\nimport { SerializeProcedureStateV1, PROCEDURE_SYSTEM_NAME } from \"../types\";\r\n\r\nexport abstract class SerializeProcedure\r\n extends AppObjectUC\r\n implements SerializedSystem\r\n{\r\n static readonly type = \"SerializeProcedure\";\r\n\r\n readonly name = PROCEDURE_SYSTEM_NAME;\r\n readonly serializationVersion = 1;\r\n\r\n abstract getSystemState(): object | undefined;\r\n abstract applySystemState(\r\n state: object,\r\n version: number,\r\n transitionDuration: number,\r\n ): void;\r\n abstract applyDefaultState(transitionDuration: number): void;\r\n\r\n static get = (appObjects: AppObjectRepo): SerializeProcedure | undefined =>\r\n getSingletonComponent(SerializeProcedure.type, appObjects);\r\n}\r\n\r\nexport function makeSerializeProcedure(\r\n appObject: AppObject,\r\n): SerializeProcedure {\r\n return new SerializeProcedureImp(appObject);\r\n}\r\n\r\nclass SerializeProcedureImp extends SerializeProcedure {\r\n private get procedureEntity(): ProcedureEntity | undefined {\r\n return ProcedureEntity.get(this.appObjects);\r\n }\r\n\r\n private get stateMachineEntity(): StateMachineEntity | undefined {\r\n return StateMachineEntity.get(this.appObjects);\r\n }\r\n\r\n getSystemState(): object | undefined {\r\n const entity = this.procedureEntity;\r\n if (!entity) {\r\n this.warn(\"ProcedureEntity not found - cannot get system state\");\r\n return undefined;\r\n }\r\n\r\n try {\r\n const state: SerializeProcedureStateV1 = {\r\n eventIds: entity.eventIds,\r\n orderMatters: entity.orderMatters,\r\n showHints: entity.showHints,\r\n isQuiz: entity.isQuiz,\r\n };\r\n return state;\r\n } catch (error) {\r\n this.warn(`Error getting procedure state: ${error}`);\r\n return undefined;\r\n }\r\n }\r\n\r\n applySystemState(\r\n state: object,\r\n version: number,\r\n transitionDuration: number,\r\n ): void {\r\n const entity = this.procedureEntity;\r\n if (!entity) {\r\n this.warn(\"ProcedureEntity not found - cannot apply system state\");\r\n return;\r\n }\r\n\r\n try {\r\n if (version !== 1) {\r\n this.warn(\r\n `Unsupported serialization version ${version}, falling back to default state`,\r\n );\r\n this.applyDefaultState(transitionDuration);\r\n return;\r\n }\r\n\r\n const procedureData = state as SerializeProcedureStateV1;\r\n if (!this.isValidV1Data(procedureData)) {\r\n this.warn(\r\n \"Invalid procedure data format, falling back to default state\",\r\n );\r\n this.applyDefaultState(transitionDuration);\r\n return;\r\n }\r\n\r\n entity.clearEventIds();\r\n procedureData.eventIds.forEach((eventId) => entity.addEventId(eventId));\r\n entity.setOrderMatters(procedureData.orderMatters);\r\n entity.setShowHints(procedureData.showHints);\r\n entity.setIsQuiz(procedureData.isQuiz);\r\n\r\n entity.reset();\r\n } catch (error) {\r\n this.warn(\r\n `Error applying procedure state: ${error}, falling back to default state`,\r\n );\r\n this.applyDefaultState(transitionDuration);\r\n }\r\n }\r\n\r\n applyDefaultState(_transitionDuration: number): void {\r\n const entity = this.procedureEntity;\r\n if (!entity) {\r\n this.warn(\"ProcedureEntity not found - cannot apply default state\");\r\n return;\r\n }\r\n\r\n try {\r\n entity.clearEventIds();\r\n entity.setOrderMatters(true);\r\n entity.setShowHints(true);\r\n entity.setIsQuiz(false);\r\n entity.reset();\r\n } catch (error) {\r\n this.warn(`Error applying default procedure state: ${error}`);\r\n }\r\n }\r\n\r\n private isValidV1Data(data: any): data is SerializeProcedureStateV1 {\r\n return (\r\n data &&\r\n typeof data === \"object\" &&\r\n Array.isArray(data.eventIds) &&\r\n data.eventIds.every((id: any) => typeof id === \"string\") &&\r\n typeof data.orderMatters === \"boolean\" &&\r\n typeof data.showHints === \"boolean\" &&\r\n typeof data.isQuiz === \"boolean\"\r\n );\r\n }\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, SerializeProcedure.type);\r\n\r\n this.appObjects.registerSingleton(this);\r\n\r\n const stateMachine = this.stateMachineEntity;\r\n if (stateMachine) {\r\n stateMachine.registerSerializedSystem(this);\r\n } else {\r\n this.warn(\r\n \"StateMachineEntity not found - procedure state will not persist\",\r\n );\r\n }\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"SerializeProcedure.js","sourceRoot":"","sources":["../../../../src/Procedure/UCs/SerializeProcedure.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n AppObject,\n AppObjectUC,\n AppObjectRepo,\n getSingletonComponent,\n} from \"@vived/core\";\nimport { StateMachineEntity } from \"../../StateMachine\";\nimport { SerializedSystem } from \"../../StateMachine/Entities/StateMachineEntity\";\nimport { ProcedureEntity } from \"../Entities/ProcedureEntity\";\nimport { SerializeProcedureStateV1, PROCEDURE_SYSTEM_NAME } from \"../types\";\n\nexport abstract class SerializeProcedure\n extends AppObjectUC\n implements SerializedSystem\n{\n static readonly type = \"SerializeProcedure\";\n\n readonly name = PROCEDURE_SYSTEM_NAME;\n readonly serializationVersion = 1;\n\n abstract getSystemState(): object | undefined;\n abstract applySystemState(\n state: object,\n version: number,\n transitionDuration: number,\n ): void;\n abstract applyDefaultState(transitionDuration: number): void;\n\n static get = (appObjects: AppObjectRepo): SerializeProcedure | undefined =>\n getSingletonComponent(SerializeProcedure.type, appObjects);\n}\n\nexport function makeSerializeProcedure(\n appObject: AppObject,\n): SerializeProcedure {\n return new SerializeProcedureImp(appObject);\n}\n\nclass SerializeProcedureImp extends SerializeProcedure {\n private get procedureEntity(): ProcedureEntity | undefined {\n return ProcedureEntity.get(this.appObjects);\n }\n\n private get stateMachineEntity(): StateMachineEntity | undefined {\n return StateMachineEntity.get(this.appObjects);\n }\n\n getSystemState(): object | undefined {\n const entity = this.procedureEntity;\n if (!entity) {\n this.warn(\"ProcedureEntity not found - cannot get system state\");\n return undefined;\n }\n\n try {\n const state: SerializeProcedureStateV1 = {\n eventIds: entity.eventIds,\n orderMatters: entity.orderMatters,\n showHints: entity.showHints,\n isQuiz: entity.isQuiz,\n };\n return state;\n } catch (error) {\n this.warn(`Error getting procedure state: ${error}`);\n return undefined;\n }\n }\n\n applySystemState(\n state: object,\n version: number,\n transitionDuration: number,\n ): void {\n const entity = this.procedureEntity;\n if (!entity) {\n this.warn(\"ProcedureEntity not found - cannot apply system state\");\n return;\n }\n\n try {\n if (version !== 1) {\n this.warn(\n `Unsupported serialization version ${version}, falling back to default state`,\n );\n this.applyDefaultState(transitionDuration);\n return;\n }\n\n const procedureData = state as SerializeProcedureStateV1;\n if (!this.isValidV1Data(procedureData)) {\n this.warn(\n \"Invalid procedure data format, falling back to default state\",\n );\n this.applyDefaultState(transitionDuration);\n return;\n }\n\n entity.clearEventIds();\n procedureData.eventIds.forEach((eventId) => entity.addEventId(eventId));\n entity.setOrderMatters(procedureData.orderMatters);\n entity.setShowHints(procedureData.showHints);\n entity.setIsQuiz(procedureData.isQuiz);\n\n entity.reset();\n } catch (error) {\n this.warn(\n `Error applying procedure state: ${error}, falling back to default state`,\n );\n this.applyDefaultState(transitionDuration);\n }\n }\n\n applyDefaultState(_transitionDuration: number): void {\n const entity = this.procedureEntity;\n if (!entity) {\n this.warn(\"ProcedureEntity not found - cannot apply default state\");\n return;\n }\n\n try {\n entity.clearEventIds();\n entity.setOrderMatters(true);\n entity.setShowHints(true);\n entity.setIsQuiz(false);\n entity.reset();\n } catch (error) {\n this.warn(`Error applying default procedure state: ${error}`);\n }\n }\n\n private isValidV1Data(data: any): data is SerializeProcedureStateV1 {\n return (\n data &&\n typeof data === \"object\" &&\n Array.isArray(data.eventIds) &&\n data.eventIds.every((id: any) => typeof id === \"string\") &&\n typeof data.orderMatters === \"boolean\" &&\n typeof data.showHints === \"boolean\" &&\n typeof data.isQuiz === \"boolean\"\n );\n }\n\n constructor(appObject: AppObject) {\n super(appObject, SerializeProcedure.type);\n\n this.appObjects.registerSingleton(this);\n\n const stateMachine = this.stateMachineEntity;\n if (stateMachine) {\n stateMachine.registerSerializedSystem(this);\n } else {\n this.warn(\n \"StateMachineEntity not found - procedure state will not persist\",\n );\n }\n }\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import { makeAppObjectRepo } from "@vived/core";
2
2
  import { makeStateMachineEntity } from "../../StateMachine/Entities/StateMachineEntity";
3
- import { makeProcedureEntity } from "../Entities/ProcedureEntity";
4
- import { SerializeProcedure, makeSerializeProcedure } from "./SerializeProcedure";
3
+ import { makeProcedureEntity, } from "../Entities/ProcedureEntity";
4
+ import { SerializeProcedure, makeSerializeProcedure, } from "./SerializeProcedure";
5
5
  function makeTestRig() {
6
6
  const appObjects = makeAppObjectRepo();
7
7
  const appObject = appObjects.getOrCreate("Procedure");
@@ -65,7 +65,12 @@ describe("SerializeProcedure", () => {
65
65
  const { procedureEntity, uc } = makeTestRig();
66
66
  procedureEntity.addEventId("old_event");
67
67
  const consoleSpy = jest.spyOn(console, "warn").mockImplementation(() => { });
68
- uc.applySystemState({ eventIds: ["new_event"], orderMatters: false, showHints: false, isQuiz: false }, 99, 0);
68
+ uc.applySystemState({
69
+ eventIds: ["new_event"],
70
+ orderMatters: false,
71
+ showHints: false,
72
+ isQuiz: false,
73
+ }, 99, 0);
69
74
  expect(procedureEntity.eventIds).toEqual([]);
70
75
  expect(procedureEntity.orderMatters).toBe(true);
71
76
  consoleSpy.mockRestore();
@@ -1 +1 @@
1
- {"version":3,"file":"SerializeProcedure.test.js","sourceRoot":"","sources":["../../../../src/Procedure/UCs/SerializeProcedure.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { makeStateMachineEntity } from \"../../StateMachine/Entities/StateMachineEntity\";\r\nimport { ProcedureEntity, makeProcedureEntity } from \"../Entities/ProcedureEntity\";\r\nimport { SerializeProcedure, makeSerializeProcedure } from \"./SerializeProcedure\";\r\n\r\nfunction makeTestRig() {\r\n\tconst appObjects = makeAppObjectRepo();\r\n\tconst appObject = appObjects.getOrCreate(\"Procedure\");\r\n\tconst stateMachine = makeStateMachineEntity(appObjects.getOrCreate(\"StateMachine\"));\r\n\tconst procedureEntity = makeProcedureEntity(appObject);\r\n\tconst uc = makeSerializeProcedure(appObject);\r\n\treturn { appObjects, appObject, procedureEntity, stateMachine, uc };\r\n}\r\n\r\ndescribe(\"SerializeProcedure\", () => {\r\n\tit(\"can be retrieved via static get method\", () => {\r\n\t\tconst { appObjects, uc } = makeTestRig();\r\n\t\texpect(SerializeProcedure.get(appObjects)).toBe(uc);\r\n\t});\r\n\r\n\tit(\"registers itself with the StateMachineEntity\", () => {\r\n\t\tconst { uc } = makeTestRig();\r\n\t\texpect(uc.name).toBe(\"procedure\");\r\n\t});\r\n\r\n\tit(\"has the correct name and serialization version\", () => {\r\n\t\tconst { uc } = makeTestRig();\r\n\t\texpect(uc.name).toBe(\"procedure\");\r\n\t\texpect(uc.serializationVersion).toBe(1);\r\n\t});\r\n\r\n\tit(\"getSystemState returns correct V1 shape\", () => {\r\n\t\tconst { procedureEntity, uc } = makeTestRig();\r\n\t\tprocedureEntity.addEventId(\"event_a\");\r\n\t\tprocedureEntity.addEventId(\"event_b\");\r\n\t\tprocedureEntity.setOrderMatters(false);\r\n\t\tprocedureEntity.setShowHints(false);\r\n\t\tprocedureEntity.setIsQuiz(true);\r\n\r\n\t\tconst state = uc.getSystemState();\r\n\r\n\t\texpect(state).toEqual({\r\n\t\t\teventIds: [\"event_a\", \"event_b\"],\r\n\t\t\torderMatters: false,\r\n\t\t\tshowHints: false,\r\n\t\t\tisQuiz: true,\r\n\t\t});\r\n\t});\r\n\r\n\tit(\"getSystemState returns undefined when ProcedureEntity is not found\", () => {\r\n\t\tconst appObjects = makeAppObjectRepo();\r\n\t\tmakeStateMachineEntity(appObjects.getOrCreate(\"StateMachine\"));\r\n\t\tconst uc = makeSerializeProcedure(appObjects.getOrCreate(\"Procedure\"));\r\n\t\tconst consoleSpy = jest.spyOn(console, \"warn\").mockImplementation(() => {});\r\n\r\n\t\texpect(uc.getSystemState()).toBeUndefined();\r\n\t\tconsoleSpy.mockRestore();\r\n\t});\r\n\r\n\tit(\"applySystemState restores entity from valid V1 data\", () => {\r\n\t\tconst { procedureEntity, uc } = makeTestRig();\r\n\t\tconst state = {\r\n\t\t\teventIds: [\"ev1\", \"ev2\"],\r\n\t\t\torderMatters: false,\r\n\t\t\tshowHints: false,\r\n\t\t\tisQuiz: true,\r\n\t\t};\r\n\r\n\t\tuc.applySystemState(state, 1, 0);\r\n\r\n\t\texpect(procedureEntity.eventIds).toEqual([\"ev1\", \"ev2\"]);\r\n\t\texpect(procedureEntity.orderMatters).toBe(false);\r\n\t\texpect(procedureEntity.showHints).toBe(false);\r\n\t\texpect(procedureEntity.isQuiz).toBe(true);\r\n\t});\r\n\r\n\tit(\"applySystemState falls back to default for unsupported version\", () => {\r\n\t\tconst { procedureEntity, uc } = makeTestRig();\r\n\t\tprocedureEntity.addEventId(\"old_event\");\r\n\t\tconst consoleSpy = jest.spyOn(console, \"warn\").mockImplementation(() => {});\r\n\r\n\t\tuc.applySystemState({ eventIds: [\"new_event\"], orderMatters: false, showHints: false, isQuiz: false }, 99, 0);\r\n\r\n\t\texpect(procedureEntity.eventIds).toEqual([]);\r\n\t\texpect(procedureEntity.orderMatters).toBe(true);\r\n\t\tconsoleSpy.mockRestore();\r\n\t});\r\n\r\n\tit(\"applySystemState falls back to default for invalid data\", () => {\r\n\t\tconst { procedureEntity, uc } = makeTestRig();\r\n\t\tprocedureEntity.addEventId(\"old_event\");\r\n\t\tconst consoleSpy = jest.spyOn(console, \"warn\").mockImplementation(() => {});\r\n\r\n\t\tuc.applySystemState({ notValid: true }, 1, 0);\r\n\r\n\t\texpect(procedureEntity.eventIds).toEqual([]);\r\n\t\tconsoleSpy.mockRestore();\r\n\t});\r\n\r\n\tit(\"applyDefaultState resets entity to initial configuration\", () => {\r\n\t\tconst { procedureEntity, uc } = makeTestRig();\r\n\t\tprocedureEntity.addEventId(\"event_a\");\r\n\t\tprocedureEntity.setOrderMatters(false);\r\n\t\tprocedureEntity.setShowHints(false);\r\n\t\tprocedureEntity.setIsQuiz(true);\r\n\r\n\t\tuc.applyDefaultState(0);\r\n\r\n\t\texpect(procedureEntity.eventIds).toEqual([]);\r\n\t\texpect(procedureEntity.orderMatters).toBe(true);\r\n\t\texpect(procedureEntity.showHints).toBe(true);\r\n\t\texpect(procedureEntity.isQuiz).toBe(false);\r\n\t});\r\n});\r\n"]}
1
+ {"version":3,"file":"SerializeProcedure.test.js","sourceRoot":"","sources":["../../../../src/Procedure/UCs/SerializeProcedure.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport { makeStateMachineEntity } from \"../../StateMachine/Entities/StateMachineEntity\";\nimport {\n ProcedureEntity,\n makeProcedureEntity,\n} from \"../Entities/ProcedureEntity\";\nimport {\n SerializeProcedure,\n makeSerializeProcedure,\n} from \"./SerializeProcedure\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const appObject = appObjects.getOrCreate(\"Procedure\");\n const stateMachine = makeStateMachineEntity(\n appObjects.getOrCreate(\"StateMachine\"),\n );\n const procedureEntity = makeProcedureEntity(appObject);\n const uc = makeSerializeProcedure(appObject);\n return { appObjects, appObject, procedureEntity, stateMachine, uc };\n}\n\ndescribe(\"SerializeProcedure\", () => {\n it(\"can be retrieved via static get method\", () => {\n const { appObjects, uc } = makeTestRig();\n expect(SerializeProcedure.get(appObjects)).toBe(uc);\n });\n\n it(\"registers itself with the StateMachineEntity\", () => {\n const { uc } = makeTestRig();\n expect(uc.name).toBe(\"procedure\");\n });\n\n it(\"has the correct name and serialization version\", () => {\n const { uc } = makeTestRig();\n expect(uc.name).toBe(\"procedure\");\n expect(uc.serializationVersion).toBe(1);\n });\n\n it(\"getSystemState returns correct V1 shape\", () => {\n const { procedureEntity, uc } = makeTestRig();\n procedureEntity.addEventId(\"event_a\");\n procedureEntity.addEventId(\"event_b\");\n procedureEntity.setOrderMatters(false);\n procedureEntity.setShowHints(false);\n procedureEntity.setIsQuiz(true);\n\n const state = uc.getSystemState();\n\n expect(state).toEqual({\n eventIds: [\"event_a\", \"event_b\"],\n orderMatters: false,\n showHints: false,\n isQuiz: true,\n });\n });\n\n it(\"getSystemState returns undefined when ProcedureEntity is not found\", () => {\n const appObjects = makeAppObjectRepo();\n makeStateMachineEntity(appObjects.getOrCreate(\"StateMachine\"));\n const uc = makeSerializeProcedure(appObjects.getOrCreate(\"Procedure\"));\n const consoleSpy = jest.spyOn(console, \"warn\").mockImplementation(() => {});\n\n expect(uc.getSystemState()).toBeUndefined();\n consoleSpy.mockRestore();\n });\n\n it(\"applySystemState restores entity from valid V1 data\", () => {\n const { procedureEntity, uc } = makeTestRig();\n const state = {\n eventIds: [\"ev1\", \"ev2\"],\n orderMatters: false,\n showHints: false,\n isQuiz: true,\n };\n\n uc.applySystemState(state, 1, 0);\n\n expect(procedureEntity.eventIds).toEqual([\"ev1\", \"ev2\"]);\n expect(procedureEntity.orderMatters).toBe(false);\n expect(procedureEntity.showHints).toBe(false);\n expect(procedureEntity.isQuiz).toBe(true);\n });\n\n it(\"applySystemState falls back to default for unsupported version\", () => {\n const { procedureEntity, uc } = makeTestRig();\n procedureEntity.addEventId(\"old_event\");\n const consoleSpy = jest.spyOn(console, \"warn\").mockImplementation(() => {});\n\n uc.applySystemState(\n {\n eventIds: [\"new_event\"],\n orderMatters: false,\n showHints: false,\n isQuiz: false,\n },\n 99,\n 0,\n );\n\n expect(procedureEntity.eventIds).toEqual([]);\n expect(procedureEntity.orderMatters).toBe(true);\n consoleSpy.mockRestore();\n });\n\n it(\"applySystemState falls back to default for invalid data\", () => {\n const { procedureEntity, uc } = makeTestRig();\n procedureEntity.addEventId(\"old_event\");\n const consoleSpy = jest.spyOn(console, \"warn\").mockImplementation(() => {});\n\n uc.applySystemState({ notValid: true }, 1, 0);\n\n expect(procedureEntity.eventIds).toEqual([]);\n consoleSpy.mockRestore();\n });\n\n it(\"applyDefaultState resets entity to initial configuration\", () => {\n const { procedureEntity, uc } = makeTestRig();\n procedureEntity.addEventId(\"event_a\");\n procedureEntity.setOrderMatters(false);\n procedureEntity.setShowHints(false);\n procedureEntity.setIsQuiz(true);\n\n uc.applyDefaultState(0);\n\n expect(procedureEntity.eventIds).toEqual([]);\n expect(procedureEntity.orderMatters).toBe(true);\n expect(procedureEntity.showHints).toBe(true);\n expect(procedureEntity.isQuiz).toBe(false);\n });\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"SetProcedureIsQuizUC.js","sourceRoot":"","sources":["../../../../src/Procedure/UCs/SetProcedureIsQuizUC.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,WAAW,EAAiB,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,MAAM,OAAgB,oBAAqB,SAAQ,WAAW;;AAC5C,yBAAI,GAAG,sBAAsB,CAAC;AAIvC,wBAAG,GAAG,CACX,UAAyB,EACS,EAAE,CACpC,UAAU;KACP,WAAW,CAAC,WAAW,CAAC;KACxB,YAAY,CAAuB,oBAAoB,CAAC,IAAI,CAAC,CAAC;AAGrE,MAAM,UAAU,wBAAwB,CACtC,SAAoB;IAEpB,OAAO,IAAI,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,uBAAwB,SAAQ,oBAAoB;IACxD,IAAY,eAAe;QACzB,OAAO,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED,SAAS,CAAC,MAAe;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC;QACpC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;YAC3D,OAAO;QACT,CAAC;QAED,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAED,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;CACF","sourcesContent":["import { AppObject, AppObjectUC, AppObjectRepo } from \"@vived/core\";\r\nimport { ProcedureEntity } from \"../Entities/ProcedureEntity\";\r\n\r\nexport abstract class SetProcedureIsQuizUC extends AppObjectUC {\r\n static readonly type = \"SetProcedureIsQuizUC\";\r\n\r\n abstract setIsQuiz(isQuiz: boolean): void;\r\n\r\n static get = (\r\n appObjects: AppObjectRepo,\r\n ): SetProcedureIsQuizUC | undefined =>\r\n appObjects\r\n .getOrCreate(\"Procedure\")\r\n .getComponent<SetProcedureIsQuizUC>(SetProcedureIsQuizUC.type);\r\n}\r\n\r\nexport function makeSetProcedureIsQuizUC(\r\n appObject: AppObject,\r\n): SetProcedureIsQuizUC {\r\n return new SetProcedureIsQuizUCImp(appObject);\r\n}\r\n\r\nclass SetProcedureIsQuizUCImp extends SetProcedureIsQuizUC {\r\n private get procedureEntity(): ProcedureEntity | undefined {\r\n return ProcedureEntity.get(this.appObjects);\r\n }\r\n\r\n setIsQuiz(isQuiz: boolean): void {\r\n const entity = this.procedureEntity;\r\n if (!entity) {\r\n this.warn(\"ProcedureEntity not found - cannot set isQuiz\");\r\n return;\r\n }\r\n\r\n entity.setIsQuiz(isQuiz);\r\n }\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, SetProcedureIsQuizUC.type);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"SetProcedureIsQuizUC.js","sourceRoot":"","sources":["../../../../src/Procedure/UCs/SetProcedureIsQuizUC.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,WAAW,EAAiB,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,MAAM,OAAgB,oBAAqB,SAAQ,WAAW;;AAC5C,yBAAI,GAAG,sBAAsB,CAAC;AAIvC,wBAAG,GAAG,CAAC,UAAyB,EAAoC,EAAE,CAC3E,UAAU;KACP,WAAW,CAAC,WAAW,CAAC;KACxB,YAAY,CAAuB,oBAAoB,CAAC,IAAI,CAAC,CAAC;AAGrE,MAAM,UAAU,wBAAwB,CACtC,SAAoB;IAEpB,OAAO,IAAI,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,uBAAwB,SAAQ,oBAAoB;IACxD,IAAY,eAAe;QACzB,OAAO,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED,SAAS,CAAC,MAAe;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC;QACpC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;YAC3D,OAAO;QACT,CAAC;QAED,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAED,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;CACF","sourcesContent":["import { AppObject, AppObjectUC, AppObjectRepo } from \"@vived/core\";\nimport { ProcedureEntity } from \"../Entities/ProcedureEntity\";\n\nexport abstract class SetProcedureIsQuizUC extends AppObjectUC {\n static readonly type = \"SetProcedureIsQuizUC\";\n\n abstract setIsQuiz(isQuiz: boolean): void;\n\n static get = (appObjects: AppObjectRepo): SetProcedureIsQuizUC | undefined =>\n appObjects\n .getOrCreate(\"Procedure\")\n .getComponent<SetProcedureIsQuizUC>(SetProcedureIsQuizUC.type);\n}\n\nexport function makeSetProcedureIsQuizUC(\n appObject: AppObject,\n): SetProcedureIsQuizUC {\n return new SetProcedureIsQuizUCImp(appObject);\n}\n\nclass SetProcedureIsQuizUCImp extends SetProcedureIsQuizUC {\n private get procedureEntity(): ProcedureEntity | undefined {\n return ProcedureEntity.get(this.appObjects);\n }\n\n setIsQuiz(isQuiz: boolean): void {\n const entity = this.procedureEntity;\n if (!entity) {\n this.warn(\"ProcedureEntity not found - cannot set isQuiz\");\n return;\n }\n\n entity.setIsQuiz(isQuiz);\n }\n\n constructor(appObject: AppObject) {\n super(appObject, SetProcedureIsQuizUC.type);\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { makeAppObjectRepo } from "@vived/core";
2
- import { makeProcedureEntity } from "../Entities/ProcedureEntity";
2
+ import { makeProcedureEntity, } from "../Entities/ProcedureEntity";
3
3
  import { SetProcedureIsQuizUC, makeSetProcedureIsQuizUC, } from "./SetProcedureIsQuizUC";
4
4
  describe("SetProcedureIsQuizUC", () => {
5
5
  let appObjects;
@@ -1 +1 @@
1
- {"version":3,"file":"SetProcedureIsQuizUC.test.js","sourceRoot":"","sources":["../../../../src/Procedure/UCs/SetProcedureIsQuizUC.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAmB,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EACL,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,wBAAwB,CAAC;AAEhC,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,IAAI,UAAyB,CAAC;IAC9B,IAAI,eAAgC,CAAC;IACrC,IAAI,WAAiC,CAAC;IAEtC,UAAU,CAAC,GAAG,EAAE;QACd,UAAU,GAAG,iBAAiB,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAEtD,eAAe,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACjD,WAAW,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAC9C,MAAM,SAAS,GAAG,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACvD,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,SAAS,CAAC,YAAY,CACtC,oBAAoB,CAAC,IAAI,CAC1B,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEL,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QACxC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE3C,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAE5B,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE1C,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC7B,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC;QAE5C,WAAW,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;QAErC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEL,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QAClD,MAAM,kBAAkB,GAAG,iBAAiB,EAAE,CAAC;QAC/C,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACrE,MAAM,UAAU,GAAG,wBAAwB,CAAC,iBAAiB,CAAC,CAAC;QAE/D,kBAAkB,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAE7C,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAE3B,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC9D,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC","sourcesContent":["import { AppObjectRepo, makeAppObjectRepo } from \"@vived/core\";\r\nimport { ProcedureEntity, makeProcedureEntity } from \"../Entities/ProcedureEntity\";\r\nimport {\r\n SetProcedureIsQuizUC,\r\n makeSetProcedureIsQuizUC,\r\n} from \"./SetProcedureIsQuizUC\";\r\n\r\ndescribe(\"SetProcedureIsQuizUC\", () => {\r\n let appObjects: AppObjectRepo;\r\n let procedureEntity: ProcedureEntity;\r\n let setIsQuizUC: SetProcedureIsQuizUC;\r\n\r\n beforeEach(() => {\r\n appObjects = makeAppObjectRepo();\r\n const appObject = appObjects.getOrCreate(\"Procedure\");\r\n\r\n procedureEntity = makeProcedureEntity(appObject);\r\n setIsQuizUC = makeSetProcedureIsQuizUC(appObject);\r\n });\r\n\r\n it(\"can be retrieved via static get method\", () => {\r\n const retrieved = SetProcedureIsQuizUC.get(appObjects);\r\n expect(retrieved).toBe(setIsQuizUC);\r\n });\r\n\r\n it(\"registers itself on the AppObject\", () => {\r\n const appObject = appObjects.getOrCreate(\"Procedure\");\r\n const retrieved = appObject.getComponent<SetProcedureIsQuizUC>(\r\n SetProcedureIsQuizUC.type,\r\n );\r\n expect(retrieved).toBe(setIsQuizUC);\r\n });\r\n\r\n it(\"successfully sets isQuiz to true\", () => {\r\n expect(procedureEntity.isQuiz).toBe(false);\r\n\r\n setIsQuizUC.setIsQuiz(true);\r\n\r\n expect(procedureEntity.isQuiz).toBe(true);\r\n });\r\n\r\n it(\"successfully sets isQuiz to false\", () => {\r\n setIsQuizUC.setIsQuiz(true);\r\n expect(procedureEntity.isQuiz).toBe(true);\r\n\r\n setIsQuizUC.setIsQuiz(false);\r\n expect(procedureEntity.isQuiz).toBe(false);\r\n });\r\n\r\n it(\"triggers state update when property changes\", () => {\r\n const initialState = procedureEntity.isQuiz;\r\n\r\n setIsQuizUC.setIsQuiz(!initialState);\r\n\r\n expect(procedureEntity.isQuiz).toBe(!initialState);\r\n });\r\n\r\n it(\"handles missing ProcedureEntity gracefully\", () => {\r\n const isolatedAppObjects = makeAppObjectRepo();\r\n const isolatedAppObject = isolatedAppObjects.getOrCreate(\"Isolated\");\r\n const isolatedUC = makeSetProcedureIsQuizUC(isolatedAppObject);\r\n\r\n isolatedAppObjects.submitWarning = jest.fn();\r\n\r\n isolatedUC.setIsQuiz(true);\r\n\r\n expect(isolatedAppObjects.submitWarning).toHaveBeenCalled();\r\n });\r\n});\r\n"]}
1
+ {"version":3,"file":"SetProcedureIsQuizUC.test.js","sourceRoot":"","sources":["../../../../src/Procedure/UCs/SetProcedureIsQuizUC.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAEL,mBAAmB,GACpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,wBAAwB,CAAC;AAEhC,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,IAAI,UAAyB,CAAC;IAC9B,IAAI,eAAgC,CAAC;IACrC,IAAI,WAAiC,CAAC;IAEtC,UAAU,CAAC,GAAG,EAAE;QACd,UAAU,GAAG,iBAAiB,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAEtD,eAAe,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACjD,WAAW,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,SAAS,GAAG,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACvD,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,SAAS,CAAC,YAAY,CACtC,oBAAoB,CAAC,IAAI,CAC1B,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE3C,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAE5B,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE1C,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC7B,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC;QAE5C,WAAW,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;QAErC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,kBAAkB,GAAG,iBAAiB,EAAE,CAAC;QAC/C,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACrE,MAAM,UAAU,GAAG,wBAAwB,CAAC,iBAAiB,CAAC,CAAC;QAE/D,kBAAkB,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAE7C,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAE3B,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { AppObjectRepo, makeAppObjectRepo } from \"@vived/core\";\nimport {\n ProcedureEntity,\n makeProcedureEntity,\n} from \"../Entities/ProcedureEntity\";\nimport {\n SetProcedureIsQuizUC,\n makeSetProcedureIsQuizUC,\n} from \"./SetProcedureIsQuizUC\";\n\ndescribe(\"SetProcedureIsQuizUC\", () => {\n let appObjects: AppObjectRepo;\n let procedureEntity: ProcedureEntity;\n let setIsQuizUC: SetProcedureIsQuizUC;\n\n beforeEach(() => {\n appObjects = makeAppObjectRepo();\n const appObject = appObjects.getOrCreate(\"Procedure\");\n\n procedureEntity = makeProcedureEntity(appObject);\n setIsQuizUC = makeSetProcedureIsQuizUC(appObject);\n });\n\n it(\"can be retrieved via static get method\", () => {\n const retrieved = SetProcedureIsQuizUC.get(appObjects);\n expect(retrieved).toBe(setIsQuizUC);\n });\n\n it(\"registers itself on the AppObject\", () => {\n const appObject = appObjects.getOrCreate(\"Procedure\");\n const retrieved = appObject.getComponent<SetProcedureIsQuizUC>(\n SetProcedureIsQuizUC.type,\n );\n expect(retrieved).toBe(setIsQuizUC);\n });\n\n it(\"successfully sets isQuiz to true\", () => {\n expect(procedureEntity.isQuiz).toBe(false);\n\n setIsQuizUC.setIsQuiz(true);\n\n expect(procedureEntity.isQuiz).toBe(true);\n });\n\n it(\"successfully sets isQuiz to false\", () => {\n setIsQuizUC.setIsQuiz(true);\n expect(procedureEntity.isQuiz).toBe(true);\n\n setIsQuizUC.setIsQuiz(false);\n expect(procedureEntity.isQuiz).toBe(false);\n });\n\n it(\"triggers state update when property changes\", () => {\n const initialState = procedureEntity.isQuiz;\n\n setIsQuizUC.setIsQuiz(!initialState);\n\n expect(procedureEntity.isQuiz).toBe(!initialState);\n });\n\n it(\"handles missing ProcedureEntity gracefully\", () => {\n const isolatedAppObjects = makeAppObjectRepo();\n const isolatedAppObject = isolatedAppObjects.getOrCreate(\"Isolated\");\n const isolatedUC = makeSetProcedureIsQuizUC(isolatedAppObject);\n\n isolatedAppObjects.submitWarning = jest.fn();\n\n isolatedUC.setIsQuiz(true);\n\n expect(isolatedAppObjects.submitWarning).toHaveBeenCalled();\n });\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"SetProcedureOrderMattersUC.js","sourceRoot":"","sources":["../../../../src/Procedure/UCs/SetProcedureOrderMattersUC.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,WAAW,EAAiB,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,MAAM,OAAgB,0BAA2B,SAAQ,WAAW;;AAClD,+BAAI,GAAG,4BAA4B,CAAC;AAI7C,8BAAG,GAAG,CACX,UAAyB,EACe,EAAE,CAC1C,UAAU;KACP,WAAW,CAAC,WAAW,CAAC;KACxB,YAAY,CACX,0BAA0B,CAAC,IAAI,CAChC,CAAC;AAGR,MAAM,UAAU,8BAA8B,CAC5C,SAAoB;IAEpB,OAAO,IAAI,6BAA6B,CAAC,SAAS,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,6BAA8B,SAAQ,0BAA0B;IACpE,IAAY,eAAe;QACzB,OAAO,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED,eAAe,CAAC,YAAqB;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC;QACpC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QAED,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IACvC,CAAC;IAED,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,0BAA0B,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;CACF","sourcesContent":["import { AppObject, AppObjectUC, AppObjectRepo } from \"@vived/core\";\r\nimport { ProcedureEntity } from \"../Entities/ProcedureEntity\";\r\n\r\nexport abstract class SetProcedureOrderMattersUC extends AppObjectUC {\r\n static readonly type = \"SetProcedureOrderMattersUC\";\r\n\r\n abstract setOrderMatters(orderMatters: boolean): void;\r\n\r\n static get = (\r\n appObjects: AppObjectRepo,\r\n ): SetProcedureOrderMattersUC | undefined =>\r\n appObjects\r\n .getOrCreate(\"Procedure\")\r\n .getComponent<SetProcedureOrderMattersUC>(\r\n SetProcedureOrderMattersUC.type,\r\n );\r\n}\r\n\r\nexport function makeSetProcedureOrderMattersUC(\r\n appObject: AppObject,\r\n): SetProcedureOrderMattersUC {\r\n return new SetProcedureOrderMattersUCImp(appObject);\r\n}\r\n\r\nclass SetProcedureOrderMattersUCImp extends SetProcedureOrderMattersUC {\r\n private get procedureEntity(): ProcedureEntity | undefined {\r\n return ProcedureEntity.get(this.appObjects);\r\n }\r\n\r\n setOrderMatters(orderMatters: boolean): void {\r\n const entity = this.procedureEntity;\r\n if (!entity) {\r\n this.warn(\"ProcedureEntity not found - cannot set orderMatters\");\r\n return;\r\n }\r\n\r\n entity.setOrderMatters(orderMatters);\r\n }\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, SetProcedureOrderMattersUC.type);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"SetProcedureOrderMattersUC.js","sourceRoot":"","sources":["../../../../src/Procedure/UCs/SetProcedureOrderMattersUC.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,WAAW,EAAiB,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,MAAM,OAAgB,0BAA2B,SAAQ,WAAW;;AAClD,+BAAI,GAAG,4BAA4B,CAAC;AAI7C,8BAAG,GAAG,CACX,UAAyB,EACe,EAAE,CAC1C,UAAU;KACP,WAAW,CAAC,WAAW,CAAC;KACxB,YAAY,CACX,0BAA0B,CAAC,IAAI,CAChC,CAAC;AAGR,MAAM,UAAU,8BAA8B,CAC5C,SAAoB;IAEpB,OAAO,IAAI,6BAA6B,CAAC,SAAS,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,6BAA8B,SAAQ,0BAA0B;IACpE,IAAY,eAAe;QACzB,OAAO,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED,eAAe,CAAC,YAAqB;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC;QACpC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QAED,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IACvC,CAAC;IAED,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,0BAA0B,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;CACF","sourcesContent":["import { AppObject, AppObjectUC, AppObjectRepo } from \"@vived/core\";\nimport { ProcedureEntity } from \"../Entities/ProcedureEntity\";\n\nexport abstract class SetProcedureOrderMattersUC extends AppObjectUC {\n static readonly type = \"SetProcedureOrderMattersUC\";\n\n abstract setOrderMatters(orderMatters: boolean): void;\n\n static get = (\n appObjects: AppObjectRepo,\n ): SetProcedureOrderMattersUC | undefined =>\n appObjects\n .getOrCreate(\"Procedure\")\n .getComponent<SetProcedureOrderMattersUC>(\n SetProcedureOrderMattersUC.type,\n );\n}\n\nexport function makeSetProcedureOrderMattersUC(\n appObject: AppObject,\n): SetProcedureOrderMattersUC {\n return new SetProcedureOrderMattersUCImp(appObject);\n}\n\nclass SetProcedureOrderMattersUCImp extends SetProcedureOrderMattersUC {\n private get procedureEntity(): ProcedureEntity | undefined {\n return ProcedureEntity.get(this.appObjects);\n }\n\n setOrderMatters(orderMatters: boolean): void {\n const entity = this.procedureEntity;\n if (!entity) {\n this.warn(\"ProcedureEntity not found - cannot set orderMatters\");\n return;\n }\n\n entity.setOrderMatters(orderMatters);\n }\n\n constructor(appObject: AppObject) {\n super(appObject, SetProcedureOrderMattersUC.type);\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { makeAppObjectRepo } from "@vived/core";
2
- import { makeProcedureEntity } from "../Entities/ProcedureEntity";
2
+ import { makeProcedureEntity, } from "../Entities/ProcedureEntity";
3
3
  import { SetProcedureOrderMattersUC, makeSetProcedureOrderMattersUC, } from "./SetProcedureOrderMattersUC";
4
4
  describe("SetProcedureOrderMattersUC", () => {
5
5
  let appObjects;
@@ -1 +1 @@
1
- {"version":3,"file":"SetProcedureOrderMattersUC.test.js","sourceRoot":"","sources":["../../../../src/Procedure/UCs/SetProcedureOrderMattersUC.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAmB,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,8BAA8B,CAAC;AAEtC,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,IAAI,UAAyB,CAAC;IAC9B,IAAI,eAAgC,CAAC;IACrC,IAAI,iBAA6C,CAAC;IAElD,UAAU,CAAC,GAAG,EAAE;QACd,UAAU,GAAG,iBAAiB,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAEtD,eAAe,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACjD,iBAAiB,GAAG,8BAA8B,CAAC,SAAS,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAC9C,MAAM,SAAS,GAAG,0BAA0B,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC7D,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,SAAS,CAAC,YAAY,CACtC,0BAA0B,CAAC,IAAI,CAChC,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEL,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QAC/C,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEhD,iBAAiB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAEzC,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,iBAAiB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEjD,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,YAAY,GAAG,eAAe,CAAC,YAAY,CAAC;QAElD,iBAAiB,CAAC,eAAe,CAAC,CAAC,YAAY,CAAC,CAAC;QAEjD,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEL,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QAClD,MAAM,kBAAkB,GAAG,iBAAiB,EAAE,CAAC;QAC/C,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACrE,MAAM,UAAU,GAAG,8BAA8B,CAAC,iBAAiB,CAAC,CAAC;QAErE,kBAAkB,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAE7C,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAElC,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC9D,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC","sourcesContent":["import { AppObjectRepo, makeAppObjectRepo } from \"@vived/core\";\r\nimport { ProcedureEntity, makeProcedureEntity } from \"../Entities/ProcedureEntity\";\r\nimport {\r\n SetProcedureOrderMattersUC,\r\n makeSetProcedureOrderMattersUC,\r\n} from \"./SetProcedureOrderMattersUC\";\r\n\r\ndescribe(\"SetProcedureOrderMattersUC\", () => {\r\n let appObjects: AppObjectRepo;\r\n let procedureEntity: ProcedureEntity;\r\n let setOrderMattersUC: SetProcedureOrderMattersUC;\r\n\r\n beforeEach(() => {\r\n appObjects = makeAppObjectRepo();\r\n const appObject = appObjects.getOrCreate(\"Procedure\");\r\n\r\n procedureEntity = makeProcedureEntity(appObject);\r\n setOrderMattersUC = makeSetProcedureOrderMattersUC(appObject);\r\n });\r\n\r\n it(\"can be retrieved via static get method\", () => {\r\n const retrieved = SetProcedureOrderMattersUC.get(appObjects);\r\n expect(retrieved).toBe(setOrderMattersUC);\r\n });\r\n\r\n it(\"registers itself on the AppObject\", () => {\r\n const appObject = appObjects.getOrCreate(\"Procedure\");\r\n const retrieved = appObject.getComponent<SetProcedureOrderMattersUC>(\r\n SetProcedureOrderMattersUC.type,\r\n );\r\n expect(retrieved).toBe(setOrderMattersUC);\r\n });\r\n\r\n it(\"successfully sets orderMatters to false\", () => {\r\n expect(procedureEntity.orderMatters).toBe(true);\r\n\r\n setOrderMattersUC.setOrderMatters(false);\r\n\r\n expect(procedureEntity.orderMatters).toBe(false);\r\n });\r\n\r\n it(\"successfully sets orderMatters to true\", () => {\r\n setOrderMattersUC.setOrderMatters(false);\r\n expect(procedureEntity.orderMatters).toBe(false);\r\n\r\n setOrderMattersUC.setOrderMatters(true);\r\n expect(procedureEntity.orderMatters).toBe(true);\r\n });\r\n\r\n it(\"triggers state update when property changes\", () => {\r\n const initialState = procedureEntity.orderMatters;\r\n\r\n setOrderMattersUC.setOrderMatters(!initialState);\r\n\r\n expect(procedureEntity.orderMatters).toBe(!initialState);\r\n });\r\n\r\n it(\"handles missing ProcedureEntity gracefully\", () => {\r\n const isolatedAppObjects = makeAppObjectRepo();\r\n const isolatedAppObject = isolatedAppObjects.getOrCreate(\"Isolated\");\r\n const isolatedUC = makeSetProcedureOrderMattersUC(isolatedAppObject);\r\n\r\n isolatedAppObjects.submitWarning = jest.fn();\r\n\r\n isolatedUC.setOrderMatters(false);\r\n\r\n expect(isolatedAppObjects.submitWarning).toHaveBeenCalled();\r\n });\r\n});\r\n"]}
1
+ {"version":3,"file":"SetProcedureOrderMattersUC.test.js","sourceRoot":"","sources":["../../../../src/Procedure/UCs/SetProcedureOrderMattersUC.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAEL,mBAAmB,GACpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,8BAA8B,CAAC;AAEtC,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,IAAI,UAAyB,CAAC;IAC9B,IAAI,eAAgC,CAAC;IACrC,IAAI,iBAA6C,CAAC;IAElD,UAAU,CAAC,GAAG,EAAE;QACd,UAAU,GAAG,iBAAiB,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAEtD,eAAe,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACjD,iBAAiB,GAAG,8BAA8B,CAAC,SAAS,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,SAAS,GAAG,0BAA0B,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC7D,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,SAAS,CAAC,YAAY,CACtC,0BAA0B,CAAC,IAAI,CAChC,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEhD,iBAAiB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAEzC,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,iBAAiB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEjD,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,YAAY,GAAG,eAAe,CAAC,YAAY,CAAC;QAElD,iBAAiB,CAAC,eAAe,CAAC,CAAC,YAAY,CAAC,CAAC;QAEjD,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,kBAAkB,GAAG,iBAAiB,EAAE,CAAC;QAC/C,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACrE,MAAM,UAAU,GAAG,8BAA8B,CAAC,iBAAiB,CAAC,CAAC;QAErE,kBAAkB,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAE7C,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAElC,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { AppObjectRepo, makeAppObjectRepo } from \"@vived/core\";\nimport {\n ProcedureEntity,\n makeProcedureEntity,\n} from \"../Entities/ProcedureEntity\";\nimport {\n SetProcedureOrderMattersUC,\n makeSetProcedureOrderMattersUC,\n} from \"./SetProcedureOrderMattersUC\";\n\ndescribe(\"SetProcedureOrderMattersUC\", () => {\n let appObjects: AppObjectRepo;\n let procedureEntity: ProcedureEntity;\n let setOrderMattersUC: SetProcedureOrderMattersUC;\n\n beforeEach(() => {\n appObjects = makeAppObjectRepo();\n const appObject = appObjects.getOrCreate(\"Procedure\");\n\n procedureEntity = makeProcedureEntity(appObject);\n setOrderMattersUC = makeSetProcedureOrderMattersUC(appObject);\n });\n\n it(\"can be retrieved via static get method\", () => {\n const retrieved = SetProcedureOrderMattersUC.get(appObjects);\n expect(retrieved).toBe(setOrderMattersUC);\n });\n\n it(\"registers itself on the AppObject\", () => {\n const appObject = appObjects.getOrCreate(\"Procedure\");\n const retrieved = appObject.getComponent<SetProcedureOrderMattersUC>(\n SetProcedureOrderMattersUC.type,\n );\n expect(retrieved).toBe(setOrderMattersUC);\n });\n\n it(\"successfully sets orderMatters to false\", () => {\n expect(procedureEntity.orderMatters).toBe(true);\n\n setOrderMattersUC.setOrderMatters(false);\n\n expect(procedureEntity.orderMatters).toBe(false);\n });\n\n it(\"successfully sets orderMatters to true\", () => {\n setOrderMattersUC.setOrderMatters(false);\n expect(procedureEntity.orderMatters).toBe(false);\n\n setOrderMattersUC.setOrderMatters(true);\n expect(procedureEntity.orderMatters).toBe(true);\n });\n\n it(\"triggers state update when property changes\", () => {\n const initialState = procedureEntity.orderMatters;\n\n setOrderMattersUC.setOrderMatters(!initialState);\n\n expect(procedureEntity.orderMatters).toBe(!initialState);\n });\n\n it(\"handles missing ProcedureEntity gracefully\", () => {\n const isolatedAppObjects = makeAppObjectRepo();\n const isolatedAppObject = isolatedAppObjects.getOrCreate(\"Isolated\");\n const isolatedUC = makeSetProcedureOrderMattersUC(isolatedAppObject);\n\n isolatedAppObjects.submitWarning = jest.fn();\n\n isolatedUC.setOrderMatters(false);\n\n expect(isolatedAppObjects.submitWarning).toHaveBeenCalled();\n });\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"SetProcedureShowHintsUC.js","sourceRoot":"","sources":["../../../../src/Procedure/UCs/SetProcedureShowHintsUC.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,WAAW,EAAiB,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,MAAM,OAAgB,uBAAwB,SAAQ,WAAW;;AAC/C,4BAAI,GAAG,yBAAyB,CAAC;AAI1C,2BAAG,GAAG,CACX,UAAyB,EACY,EAAE,CACvC,UAAU;KACP,WAAW,CAAC,WAAW,CAAC;KACxB,YAAY,CAA0B,uBAAuB,CAAC,IAAI,CAAC,CAAC;AAG3E,MAAM,UAAU,2BAA2B,CACzC,SAAoB;IAEpB,OAAO,IAAI,0BAA0B,CAAC,SAAS,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,0BAA2B,SAAQ,uBAAuB;IAC9D,IAAY,eAAe;QACzB,OAAO,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED,YAAY,CAAC,SAAkB;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC;QACpC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;QAED,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;CACF","sourcesContent":["import { AppObject, AppObjectUC, AppObjectRepo } from \"@vived/core\";\r\nimport { ProcedureEntity } from \"../Entities/ProcedureEntity\";\r\n\r\nexport abstract class SetProcedureShowHintsUC extends AppObjectUC {\r\n static readonly type = \"SetProcedureShowHintsUC\";\r\n\r\n abstract setShowHints(showHints: boolean): void;\r\n\r\n static get = (\r\n appObjects: AppObjectRepo,\r\n ): SetProcedureShowHintsUC | undefined =>\r\n appObjects\r\n .getOrCreate(\"Procedure\")\r\n .getComponent<SetProcedureShowHintsUC>(SetProcedureShowHintsUC.type);\r\n}\r\n\r\nexport function makeSetProcedureShowHintsUC(\r\n appObject: AppObject,\r\n): SetProcedureShowHintsUC {\r\n return new SetProcedureShowHintsUCImp(appObject);\r\n}\r\n\r\nclass SetProcedureShowHintsUCImp extends SetProcedureShowHintsUC {\r\n private get procedureEntity(): ProcedureEntity | undefined {\r\n return ProcedureEntity.get(this.appObjects);\r\n }\r\n\r\n setShowHints(showHints: boolean): void {\r\n const entity = this.procedureEntity;\r\n if (!entity) {\r\n this.warn(\"ProcedureEntity not found - cannot set showHints\");\r\n return;\r\n }\r\n\r\n entity.setShowHints(showHints);\r\n }\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, SetProcedureShowHintsUC.type);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"SetProcedureShowHintsUC.js","sourceRoot":"","sources":["../../../../src/Procedure/UCs/SetProcedureShowHintsUC.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,WAAW,EAAiB,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,MAAM,OAAgB,uBAAwB,SAAQ,WAAW;;AAC/C,4BAAI,GAAG,yBAAyB,CAAC;AAI1C,2BAAG,GAAG,CACX,UAAyB,EACY,EAAE,CACvC,UAAU;KACP,WAAW,CAAC,WAAW,CAAC;KACxB,YAAY,CAA0B,uBAAuB,CAAC,IAAI,CAAC,CAAC;AAG3E,MAAM,UAAU,2BAA2B,CACzC,SAAoB;IAEpB,OAAO,IAAI,0BAA0B,CAAC,SAAS,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,0BAA2B,SAAQ,uBAAuB;IAC9D,IAAY,eAAe;QACzB,OAAO,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED,YAAY,CAAC,SAAkB;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC;QACpC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;QAED,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;CACF","sourcesContent":["import { AppObject, AppObjectUC, AppObjectRepo } from \"@vived/core\";\nimport { ProcedureEntity } from \"../Entities/ProcedureEntity\";\n\nexport abstract class SetProcedureShowHintsUC extends AppObjectUC {\n static readonly type = \"SetProcedureShowHintsUC\";\n\n abstract setShowHints(showHints: boolean): void;\n\n static get = (\n appObjects: AppObjectRepo,\n ): SetProcedureShowHintsUC | undefined =>\n appObjects\n .getOrCreate(\"Procedure\")\n .getComponent<SetProcedureShowHintsUC>(SetProcedureShowHintsUC.type);\n}\n\nexport function makeSetProcedureShowHintsUC(\n appObject: AppObject,\n): SetProcedureShowHintsUC {\n return new SetProcedureShowHintsUCImp(appObject);\n}\n\nclass SetProcedureShowHintsUCImp extends SetProcedureShowHintsUC {\n private get procedureEntity(): ProcedureEntity | undefined {\n return ProcedureEntity.get(this.appObjects);\n }\n\n setShowHints(showHints: boolean): void {\n const entity = this.procedureEntity;\n if (!entity) {\n this.warn(\"ProcedureEntity not found - cannot set showHints\");\n return;\n }\n\n entity.setShowHints(showHints);\n }\n\n constructor(appObject: AppObject) {\n super(appObject, SetProcedureShowHintsUC.type);\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { makeAppObjectRepo } from "@vived/core";
2
- import { makeProcedureEntity } from "../Entities/ProcedureEntity";
2
+ import { makeProcedureEntity, } from "../Entities/ProcedureEntity";
3
3
  import { SetProcedureShowHintsUC, makeSetProcedureShowHintsUC, } from "./SetProcedureShowHintsUC";
4
4
  describe("SetProcedureShowHintsUC", () => {
5
5
  let appObjects;
@@ -1 +1 @@
1
- {"version":3,"file":"SetProcedureShowHintsUC.test.js","sourceRoot":"","sources":["../../../../src/Procedure/UCs/SetProcedureShowHintsUC.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAmB,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EACL,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,2BAA2B,CAAC;AAEnC,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,IAAI,UAAyB,CAAC;IAC9B,IAAI,eAAgC,CAAC;IACrC,IAAI,cAAuC,CAAC;IAE5C,UAAU,CAAC,GAAG,EAAE;QACd,UAAU,GAAG,iBAAiB,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAEtD,eAAe,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACjD,cAAc,GAAG,2BAA2B,CAAC,SAAS,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAC9C,MAAM,SAAS,GAAG,uBAAuB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC1D,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,SAAS,CAAC,YAAY,CACtC,uBAAuB,CAAC,IAAI,CAC7B,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEL,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC5C,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE7C,cAAc,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAEnC,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,cAAc,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE9C,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,YAAY,GAAG,eAAe,CAAC,SAAS,CAAC;QAE/C,cAAc,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC;QAE3C,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEL,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QAClD,MAAM,kBAAkB,GAAG,iBAAiB,EAAE,CAAC;QAC/C,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACrE,MAAM,UAAU,GAAG,2BAA2B,CAAC,iBAAiB,CAAC,CAAC;QAElE,kBAAkB,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAE7C,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAE/B,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC9D,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC","sourcesContent":["import { AppObjectRepo, makeAppObjectRepo } from \"@vived/core\";\r\nimport { ProcedureEntity, makeProcedureEntity } from \"../Entities/ProcedureEntity\";\r\nimport {\r\n SetProcedureShowHintsUC,\r\n makeSetProcedureShowHintsUC,\r\n} from \"./SetProcedureShowHintsUC\";\r\n\r\ndescribe(\"SetProcedureShowHintsUC\", () => {\r\n let appObjects: AppObjectRepo;\r\n let procedureEntity: ProcedureEntity;\r\n let setShowHintsUC: SetProcedureShowHintsUC;\r\n\r\n beforeEach(() => {\r\n appObjects = makeAppObjectRepo();\r\n const appObject = appObjects.getOrCreate(\"Procedure\");\r\n\r\n procedureEntity = makeProcedureEntity(appObject);\r\n setShowHintsUC = makeSetProcedureShowHintsUC(appObject);\r\n });\r\n\r\n it(\"can be retrieved via static get method\", () => {\r\n const retrieved = SetProcedureShowHintsUC.get(appObjects);\r\n expect(retrieved).toBe(setShowHintsUC);\r\n });\r\n\r\n it(\"registers itself on the AppObject\", () => {\r\n const appObject = appObjects.getOrCreate(\"Procedure\");\r\n const retrieved = appObject.getComponent<SetProcedureShowHintsUC>(\r\n SetProcedureShowHintsUC.type,\r\n );\r\n expect(retrieved).toBe(setShowHintsUC);\r\n });\r\n\r\n it(\"successfully sets showHints to false\", () => {\r\n expect(procedureEntity.showHints).toBe(true);\r\n\r\n setShowHintsUC.setShowHints(false);\r\n\r\n expect(procedureEntity.showHints).toBe(false);\r\n });\r\n\r\n it(\"successfully sets showHints to true\", () => {\r\n setShowHintsUC.setShowHints(false);\r\n expect(procedureEntity.showHints).toBe(false);\r\n\r\n setShowHintsUC.setShowHints(true);\r\n expect(procedureEntity.showHints).toBe(true);\r\n });\r\n\r\n it(\"triggers state update when property changes\", () => {\r\n const initialState = procedureEntity.showHints;\r\n\r\n setShowHintsUC.setShowHints(!initialState);\r\n\r\n expect(procedureEntity.showHints).toBe(!initialState);\r\n });\r\n\r\n it(\"handles missing ProcedureEntity gracefully\", () => {\r\n const isolatedAppObjects = makeAppObjectRepo();\r\n const isolatedAppObject = isolatedAppObjects.getOrCreate(\"Isolated\");\r\n const isolatedUC = makeSetProcedureShowHintsUC(isolatedAppObject);\r\n\r\n isolatedAppObjects.submitWarning = jest.fn();\r\n\r\n isolatedUC.setShowHints(false);\r\n\r\n expect(isolatedAppObjects.submitWarning).toHaveBeenCalled();\r\n });\r\n});\r\n"]}
1
+ {"version":3,"file":"SetProcedureShowHintsUC.test.js","sourceRoot":"","sources":["../../../../src/Procedure/UCs/SetProcedureShowHintsUC.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAEL,mBAAmB,GACpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,2BAA2B,CAAC;AAEnC,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,IAAI,UAAyB,CAAC;IAC9B,IAAI,eAAgC,CAAC;IACrC,IAAI,cAAuC,CAAC;IAE5C,UAAU,CAAC,GAAG,EAAE;QACd,UAAU,GAAG,iBAAiB,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAEtD,eAAe,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACjD,cAAc,GAAG,2BAA2B,CAAC,SAAS,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,SAAS,GAAG,uBAAuB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC1D,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,SAAS,CAAC,YAAY,CACtC,uBAAuB,CAAC,IAAI,CAC7B,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE7C,cAAc,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAEnC,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,cAAc,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE9C,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,YAAY,GAAG,eAAe,CAAC,SAAS,CAAC;QAE/C,cAAc,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC;QAE3C,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,kBAAkB,GAAG,iBAAiB,EAAE,CAAC;QAC/C,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACrE,MAAM,UAAU,GAAG,2BAA2B,CAAC,iBAAiB,CAAC,CAAC;QAElE,kBAAkB,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAE7C,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAE/B,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { AppObjectRepo, makeAppObjectRepo } from \"@vived/core\";\nimport {\n ProcedureEntity,\n makeProcedureEntity,\n} from \"../Entities/ProcedureEntity\";\nimport {\n SetProcedureShowHintsUC,\n makeSetProcedureShowHintsUC,\n} from \"./SetProcedureShowHintsUC\";\n\ndescribe(\"SetProcedureShowHintsUC\", () => {\n let appObjects: AppObjectRepo;\n let procedureEntity: ProcedureEntity;\n let setShowHintsUC: SetProcedureShowHintsUC;\n\n beforeEach(() => {\n appObjects = makeAppObjectRepo();\n const appObject = appObjects.getOrCreate(\"Procedure\");\n\n procedureEntity = makeProcedureEntity(appObject);\n setShowHintsUC = makeSetProcedureShowHintsUC(appObject);\n });\n\n it(\"can be retrieved via static get method\", () => {\n const retrieved = SetProcedureShowHintsUC.get(appObjects);\n expect(retrieved).toBe(setShowHintsUC);\n });\n\n it(\"registers itself on the AppObject\", () => {\n const appObject = appObjects.getOrCreate(\"Procedure\");\n const retrieved = appObject.getComponent<SetProcedureShowHintsUC>(\n SetProcedureShowHintsUC.type,\n );\n expect(retrieved).toBe(setShowHintsUC);\n });\n\n it(\"successfully sets showHints to false\", () => {\n expect(procedureEntity.showHints).toBe(true);\n\n setShowHintsUC.setShowHints(false);\n\n expect(procedureEntity.showHints).toBe(false);\n });\n\n it(\"successfully sets showHints to true\", () => {\n setShowHintsUC.setShowHints(false);\n expect(procedureEntity.showHints).toBe(false);\n\n setShowHintsUC.setShowHints(true);\n expect(procedureEntity.showHints).toBe(true);\n });\n\n it(\"triggers state update when property changes\", () => {\n const initialState = procedureEntity.showHints;\n\n setShowHintsUC.setShowHints(!initialState);\n\n expect(procedureEntity.showHints).toBe(!initialState);\n });\n\n it(\"handles missing ProcedureEntity gracefully\", () => {\n const isolatedAppObjects = makeAppObjectRepo();\n const isolatedAppObject = isolatedAppObjects.getOrCreate(\"Isolated\");\n const isolatedUC = makeSetProcedureShowHintsUC(isolatedAppObject);\n\n isolatedAppObjects.submitWarning = jest.fn();\n\n isolatedUC.setShowHints(false);\n\n expect(isolatedAppObjects.submitWarning).toHaveBeenCalled();\n });\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"SubmitProcedureQuizUC.js","sourceRoot":"","sources":["../../../../src/Procedure/UCs/SubmitProcedureQuizUC.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,WAAW,EAAiB,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,MAAM,OAAgB,qBAAsB,SAAQ,WAAW;;AAC7C,0BAAI,GAAG,uBAAuB,CAAC;AAIxC,yBAAG,GAAG,CACX,UAAyB,EACU,EAAE,CACrC,UAAU;KACP,WAAW,CAAC,WAAW,CAAC;KACxB,YAAY,CAAwB,qBAAqB,CAAC,IAAI,CAAC,CAAC;AAGvE,MAAM,UAAU,yBAAyB,CACvC,SAAoB;IAEpB,OAAO,IAAI,wBAAwB,CAAC,SAAS,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,wBAAyB,SAAQ,qBAAqB;IAC1D,IAAY,eAAe;QACzB,OAAO,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED,IAAY,YAAY;QACtB,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM;QACJ,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC;QACpC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;YAC5D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QAED,MAAM,CAAC,MAAM,EAAE,CAAC;QAEhB,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC;QAClC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CACP,sFAAsF,CACvF,CAAC;YACF,OAAO;QACT,CAAC;QAED,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;QAE3B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,UAAU,IAAI,CAAC,CAAC;QAC5C,iBAAiB,CACf;YACE,KAAK;YACL,QAAQ,EAAE,GAAG;YACb,WAAW,EAAE,OAAO,CAAC,SAAS;SAC/B,EACD,IAAI,CAAC,UAAU,CAChB,CAAC;IACJ,CAAC;IAED,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;CACF","sourcesContent":["import { AppObject, AppObjectUC, AppObjectRepo } from \"@vived/core\";\r\nimport { BaseAppState } from \"../../BaseApp\";\r\nimport { submitScoreResult } from \"../../Dispatcher\";\r\nimport { ProcedureEntity } from \"../Entities/ProcedureEntity\";\r\n\r\nexport abstract class SubmitProcedureQuizUC extends AppObjectUC {\r\n static readonly type = \"SubmitProcedureQuizUC\";\r\n\r\n abstract submit(): void;\r\n\r\n static get = (\r\n appObjects: AppObjectRepo,\r\n ): SubmitProcedureQuizUC | undefined =>\r\n appObjects\r\n .getOrCreate(\"Procedure\")\r\n .getComponent<SubmitProcedureQuizUC>(SubmitProcedureQuizUC.type);\r\n}\r\n\r\nexport function makeSubmitProcedureQuizUC(\r\n appObject: AppObject,\r\n): SubmitProcedureQuizUC {\r\n return new SubmitProcedureQuizUCImp(appObject);\r\n}\r\n\r\nclass SubmitProcedureQuizUCImp extends SubmitProcedureQuizUC {\r\n private get procedureEntity(): ProcedureEntity | undefined {\r\n return ProcedureEntity.get(this.appObjects);\r\n }\r\n\r\n private get baseAppState(): BaseAppState | undefined {\r\n return BaseAppState.get(this.appObjects);\r\n }\r\n\r\n submit(): void {\r\n const entity = this.procedureEntity;\r\n if (!entity) {\r\n this.warn(\"ProcedureEntity not found - cannot submit quiz\");\r\n return;\r\n }\r\n\r\n if (!entity.isQuiz) {\r\n this.warn(\"Cannot submit - not in quiz mode\");\r\n return;\r\n }\r\n\r\n entity.submit();\r\n\r\n const baseApp = this.baseAppState;\r\n if (!baseApp) {\r\n this.warn(\r\n \"BaseAppState not found - quiz submitted locally but score cannot be reported to host\",\r\n );\r\n return;\r\n }\r\n\r\n baseApp.isReviewing = true;\r\n\r\n const score = entity.score?.percentage ?? 0;\r\n submitScoreResult(\r\n {\r\n score,\r\n maxScore: 100,\r\n description: baseApp.slideText,\r\n },\r\n this.appObjects,\r\n );\r\n }\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, SubmitProcedureQuizUC.type);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"SubmitProcedureQuizUC.js","sourceRoot":"","sources":["../../../../src/Procedure/UCs/SubmitProcedureQuizUC.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,WAAW,EAAiB,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,MAAM,OAAgB,qBAAsB,SAAQ,WAAW;;AAC7C,0BAAI,GAAG,uBAAuB,CAAC;AAIxC,yBAAG,GAAG,CAAC,UAAyB,EAAqC,EAAE,CAC5E,UAAU;KACP,WAAW,CAAC,WAAW,CAAC;KACxB,YAAY,CAAwB,qBAAqB,CAAC,IAAI,CAAC,CAAC;AAGvE,MAAM,UAAU,yBAAyB,CACvC,SAAoB;IAEpB,OAAO,IAAI,wBAAwB,CAAC,SAAS,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,wBAAyB,SAAQ,qBAAqB;IAC1D,IAAY,eAAe;QACzB,OAAO,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED,IAAY,YAAY;QACtB,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM;QACJ,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC;QACpC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;YAC5D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QAED,MAAM,CAAC,MAAM,EAAE,CAAC;QAEhB,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC;QAClC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CACP,sFAAsF,CACvF,CAAC;YACF,OAAO;QACT,CAAC;QAED,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;QAE3B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,UAAU,IAAI,CAAC,CAAC;QAC5C,iBAAiB,CACf;YACE,KAAK;YACL,QAAQ,EAAE,GAAG;YACb,WAAW,EAAE,OAAO,CAAC,SAAS;SAC/B,EACD,IAAI,CAAC,UAAU,CAChB,CAAC;IACJ,CAAC;IAED,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;CACF","sourcesContent":["import { AppObject, AppObjectUC, AppObjectRepo } from \"@vived/core\";\nimport { BaseAppState } from \"../../BaseApp\";\nimport { submitScoreResult } from \"../../Dispatcher\";\nimport { ProcedureEntity } from \"../Entities/ProcedureEntity\";\n\nexport abstract class SubmitProcedureQuizUC extends AppObjectUC {\n static readonly type = \"SubmitProcedureQuizUC\";\n\n abstract submit(): void;\n\n static get = (appObjects: AppObjectRepo): SubmitProcedureQuizUC | undefined =>\n appObjects\n .getOrCreate(\"Procedure\")\n .getComponent<SubmitProcedureQuizUC>(SubmitProcedureQuizUC.type);\n}\n\nexport function makeSubmitProcedureQuizUC(\n appObject: AppObject,\n): SubmitProcedureQuizUC {\n return new SubmitProcedureQuizUCImp(appObject);\n}\n\nclass SubmitProcedureQuizUCImp extends SubmitProcedureQuizUC {\n private get procedureEntity(): ProcedureEntity | undefined {\n return ProcedureEntity.get(this.appObjects);\n }\n\n private get baseAppState(): BaseAppState | undefined {\n return BaseAppState.get(this.appObjects);\n }\n\n submit(): void {\n const entity = this.procedureEntity;\n if (!entity) {\n this.warn(\"ProcedureEntity not found - cannot submit quiz\");\n return;\n }\n\n if (!entity.isQuiz) {\n this.warn(\"Cannot submit - not in quiz mode\");\n return;\n }\n\n entity.submit();\n\n const baseApp = this.baseAppState;\n if (!baseApp) {\n this.warn(\n \"BaseAppState not found - quiz submitted locally but score cannot be reported to host\",\n );\n return;\n }\n\n baseApp.isReviewing = true;\n\n const score = entity.score?.percentage ?? 0;\n submitScoreResult(\n {\n score,\n maxScore: 100,\n description: baseApp.slideText,\n },\n this.appObjects,\n );\n }\n\n constructor(appObject: AppObject) {\n super(appObject, SubmitProcedureQuizUC.type);\n }\n}\n"]}
@@ -1,7 +1,7 @@
1
- import { makeAppObjectRepo, } from "@vived/core";
1
+ import { makeAppObjectRepo } from "@vived/core";
2
2
  import { makeBaseAppState } from "../../BaseApp";
3
3
  import { SubmitResultResultUC } from "../../Dispatcher";
4
- import { makeProcedureEntity } from "../Entities/ProcedureEntity";
4
+ import { makeProcedureEntity, } from "../Entities/ProcedureEntity";
5
5
  import { SubmitProcedureQuizUC, makeSubmitProcedureQuizUC, } from "./SubmitProcedureQuizUC";
6
6
  class MockSubmitResultUC extends SubmitResultResultUC {
7
7
  constructor(appObject) {
@@ -1 +1 @@
1
- {"version":3,"file":"SubmitProcedureQuizUC.test.js","sourceRoot":"","sources":["../../../../src/Procedure/UCs/SubmitProcedureQuizUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import {\r\n AppObject,\r\n AppObjectRepo,\r\n makeAppObjectRepo,\r\n} from \"@vived/core\";\r\nimport { BaseAppState, makeBaseAppState } from \"../../BaseApp\";\r\nimport { SubmitResultResultUC } from \"../../Dispatcher\";\r\nimport { ProcedureEntity, makeProcedureEntity } from \"../Entities/ProcedureEntity\";\r\nimport {\r\n SubmitProcedureQuizUC,\r\n makeSubmitProcedureQuizUC,\r\n} from \"./SubmitProcedureQuizUC\";\r\n\r\nclass MockSubmitResultUC extends SubmitResultResultUC {\r\n submitHitResult = jest.fn();\r\n submitProgressResult = jest.fn();\r\n submitMultiHitResult = jest.fn();\r\n submitQualityResult = jest.fn();\r\n submitScoreResult = jest.fn();\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, SubmitResultResultUC.type);\r\n }\r\n}\r\n\r\ndescribe(\"SubmitProcedureQuizUC\", () => {\r\n let appObjects: AppObjectRepo;\r\n let procedureEntity: ProcedureEntity;\r\n let submitQuizUC: SubmitProcedureQuizUC;\r\n let baseAppState: BaseAppState;\r\n\r\n beforeEach(() => {\r\n jest.restoreAllMocks();\r\n\r\n appObjects = makeAppObjectRepo();\r\n const appObject = appObjects.getOrCreate(\"Procedure\");\r\n\r\n procedureEntity = makeProcedureEntity(appObject);\r\n submitQuizUC = makeSubmitProcedureQuizUC(appObject);\r\n\r\n baseAppState = makeBaseAppState(appObject);\r\n appObjects.registerSingleton(baseAppState);\r\n baseAppState.slideText = \"Procedure challenge description\";\r\n });\r\n\r\n const createSubmitResultMock = (\r\n targetAppObjects: AppObjectRepo,\r\n ): MockSubmitResultUC => {\r\n const mockSubmitResult = new MockSubmitResultUC(\r\n targetAppObjects.getOrCreate(\"Dispatcher\"),\r\n );\r\n targetAppObjects.registerSingleton(mockSubmitResult);\r\n return mockSubmitResult;\r\n };\r\n\r\n it(\"can be retrieved via static get method\", () => {\r\n const retrieved = SubmitProcedureQuizUC.get(appObjects);\r\n expect(retrieved).toBe(submitQuizUC);\r\n });\r\n\r\n it(\"submits score result to host and enters review mode\", () => {\r\n const mockSubmitResult = createSubmitResultMock(appObjects);\r\n\r\n procedureEntity.setIsQuiz(true);\r\n procedureEntity.addEventId(\"event-1\");\r\n procedureEntity.addEventId(\"event-2\");\r\n procedureEntity.recordUserEvent(\"event-1\");\r\n\r\n submitQuizUC.submit();\r\n\r\n expect(mockSubmitResult.submitScoreResult).toHaveBeenCalledWith({\r\n score: 50,\r\n maxScore: 100,\r\n description: \"Procedure challenge description\",\r\n });\r\n expect(baseAppState.isReviewing).toBe(true);\r\n });\r\n\r\n it(\"warns and does not submit score when not in quiz mode\", () => {\r\n const warningSpy = jest.fn();\r\n appObjects.submitWarning = warningSpy;\r\n const mockSubmitResult = createSubmitResultMock(appObjects);\r\n\r\n submitQuizUC.submit();\r\n\r\n expect(mockSubmitResult.submitScoreResult).not.toHaveBeenCalled();\r\n expect(warningSpy).toHaveBeenCalledWith(\r\n \"Procedure/SubmitProcedureQuizUC\",\r\n \"Cannot submit - not in quiz mode\",\r\n );\r\n });\r\n\r\n it(\"warns and does not submit score when ProcedureEntity is missing\", () => {\r\n const isolatedAppObjects = makeAppObjectRepo();\r\n const isolatedAppObject = isolatedAppObjects.getOrCreate(\"Procedure\");\r\n const isolatedUC = makeSubmitProcedureQuizUC(isolatedAppObject);\r\n const warningSpy = jest.fn();\r\n isolatedAppObjects.submitWarning = warningSpy;\r\n\r\n isolatedUC.submit();\r\n\r\n expect(warningSpy).toHaveBeenCalledWith(\r\n \"Procedure/SubmitProcedureQuizUC\",\r\n \"ProcedureEntity not found - cannot submit quiz\",\r\n );\r\n });\r\n\r\n it(\"warns and does not submit score when BaseAppState is missing\", () => {\r\n const noBaseAppObjects = makeAppObjectRepo();\r\n const appObject = noBaseAppObjects.getOrCreate(\"Procedure\");\r\n const entity = makeProcedureEntity(appObject);\r\n const uc = makeSubmitProcedureQuizUC(appObject);\r\n const warningSpy = jest.fn();\r\n noBaseAppObjects.submitWarning = warningSpy;\r\n\r\n const mockSubmitResult = createSubmitResultMock(noBaseAppObjects);\r\n\r\n entity.setIsQuiz(true);\r\n entity.addEventId(\"event-1\");\r\n entity.recordUserEvent(\"event-1\");\r\n\r\n uc.submit();\r\n\r\n expect(mockSubmitResult.submitScoreResult).not.toHaveBeenCalled();\r\n expect(warningSpy).toHaveBeenCalledWith(\r\n \"Procedure/SubmitProcedureQuizUC\",\r\n \"BaseAppState not found - quiz submitted locally but score cannot be reported to host\",\r\n );\r\n expect(entity.isSubmitted).toBe(true);\r\n });\r\n\r\n it(\"submits locally and warns when SubmitResultResultUC is missing\", () => {\r\n const warningSpy = jest.fn();\r\n appObjects.submitWarning = warningSpy;\r\n\r\n procedureEntity.setIsQuiz(true);\r\n procedureEntity.addEventId(\"event-1\");\r\n procedureEntity.recordUserEvent(\"event-1\");\r\n\r\n submitQuizUC.submit();\r\n\r\n expect(procedureEntity.isSubmitted).toBe(true);\r\n expect(procedureEntity.score?.percentage).toBe(100);\r\n expect(warningSpy).toHaveBeenCalledWith(\r\n \"submitScoreResult\",\r\n \"Can't find SubmitResultResultUC\",\r\n );\r\n expect(baseAppState.isReviewing).toBe(true);\r\n });\r\n});\r\n"]}
1
+ {"version":3,"file":"SubmitProcedureQuizUC.test.js","sourceRoot":"","sources":["../../../../src/Procedure/UCs/SubmitProcedureQuizUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { AppObject, AppObjectRepo, makeAppObjectRepo } from \"@vived/core\";\nimport { BaseAppState, makeBaseAppState } from \"../../BaseApp\";\nimport { SubmitResultResultUC } from \"../../Dispatcher\";\nimport {\n ProcedureEntity,\n makeProcedureEntity,\n} from \"../Entities/ProcedureEntity\";\nimport {\n SubmitProcedureQuizUC,\n makeSubmitProcedureQuizUC,\n} from \"./SubmitProcedureQuizUC\";\n\nclass MockSubmitResultUC extends SubmitResultResultUC {\n submitHitResult = jest.fn();\n submitProgressResult = jest.fn();\n submitMultiHitResult = jest.fn();\n submitQualityResult = jest.fn();\n submitScoreResult = jest.fn();\n\n constructor(appObject: AppObject) {\n super(appObject, SubmitResultResultUC.type);\n }\n}\n\ndescribe(\"SubmitProcedureQuizUC\", () => {\n let appObjects: AppObjectRepo;\n let procedureEntity: ProcedureEntity;\n let submitQuizUC: SubmitProcedureQuizUC;\n let baseAppState: BaseAppState;\n\n beforeEach(() => {\n jest.restoreAllMocks();\n\n appObjects = makeAppObjectRepo();\n const appObject = appObjects.getOrCreate(\"Procedure\");\n\n procedureEntity = makeProcedureEntity(appObject);\n submitQuizUC = makeSubmitProcedureQuizUC(appObject);\n\n baseAppState = makeBaseAppState(appObject);\n appObjects.registerSingleton(baseAppState);\n baseAppState.slideText = \"Procedure challenge description\";\n });\n\n const createSubmitResultMock = (\n targetAppObjects: AppObjectRepo,\n ): MockSubmitResultUC => {\n const mockSubmitResult = new MockSubmitResultUC(\n targetAppObjects.getOrCreate(\"Dispatcher\"),\n );\n targetAppObjects.registerSingleton(mockSubmitResult);\n return mockSubmitResult;\n };\n\n it(\"can be retrieved via static get method\", () => {\n const retrieved = SubmitProcedureQuizUC.get(appObjects);\n expect(retrieved).toBe(submitQuizUC);\n });\n\n it(\"submits score result to host and enters review mode\", () => {\n const mockSubmitResult = createSubmitResultMock(appObjects);\n\n procedureEntity.setIsQuiz(true);\n procedureEntity.addEventId(\"event-1\");\n procedureEntity.addEventId(\"event-2\");\n procedureEntity.recordUserEvent(\"event-1\");\n\n submitQuizUC.submit();\n\n expect(mockSubmitResult.submitScoreResult).toHaveBeenCalledWith({\n score: 50,\n maxScore: 100,\n description: \"Procedure challenge description\",\n });\n expect(baseAppState.isReviewing).toBe(true);\n });\n\n it(\"warns and does not submit score when not in quiz mode\", () => {\n const warningSpy = jest.fn();\n appObjects.submitWarning = warningSpy;\n const mockSubmitResult = createSubmitResultMock(appObjects);\n\n submitQuizUC.submit();\n\n expect(mockSubmitResult.submitScoreResult).not.toHaveBeenCalled();\n expect(warningSpy).toHaveBeenCalledWith(\n \"Procedure/SubmitProcedureQuizUC\",\n \"Cannot submit - not in quiz mode\",\n );\n });\n\n it(\"warns and does not submit score when ProcedureEntity is missing\", () => {\n const isolatedAppObjects = makeAppObjectRepo();\n const isolatedAppObject = isolatedAppObjects.getOrCreate(\"Procedure\");\n const isolatedUC = makeSubmitProcedureQuizUC(isolatedAppObject);\n const warningSpy = jest.fn();\n isolatedAppObjects.submitWarning = warningSpy;\n\n isolatedUC.submit();\n\n expect(warningSpy).toHaveBeenCalledWith(\n \"Procedure/SubmitProcedureQuizUC\",\n \"ProcedureEntity not found - cannot submit quiz\",\n );\n });\n\n it(\"warns and does not submit score when BaseAppState is missing\", () => {\n const noBaseAppObjects = makeAppObjectRepo();\n const appObject = noBaseAppObjects.getOrCreate(\"Procedure\");\n const entity = makeProcedureEntity(appObject);\n const uc = makeSubmitProcedureQuizUC(appObject);\n const warningSpy = jest.fn();\n noBaseAppObjects.submitWarning = warningSpy;\n\n const mockSubmitResult = createSubmitResultMock(noBaseAppObjects);\n\n entity.setIsQuiz(true);\n entity.addEventId(\"event-1\");\n entity.recordUserEvent(\"event-1\");\n\n uc.submit();\n\n expect(mockSubmitResult.submitScoreResult).not.toHaveBeenCalled();\n expect(warningSpy).toHaveBeenCalledWith(\n \"Procedure/SubmitProcedureQuizUC\",\n \"BaseAppState not found - quiz submitted locally but score cannot be reported to host\",\n );\n expect(entity.isSubmitted).toBe(true);\n });\n\n it(\"submits locally and warns when SubmitResultResultUC is missing\", () => {\n const warningSpy = jest.fn();\n appObjects.submitWarning = warningSpy;\n\n procedureEntity.setIsQuiz(true);\n procedureEntity.addEventId(\"event-1\");\n procedureEntity.recordUserEvent(\"event-1\");\n\n submitQuizUC.submit();\n\n expect(procedureEntity.isSubmitted).toBe(true);\n expect(procedureEntity.score?.percentage).toBe(100);\n expect(warningSpy).toHaveBeenCalledWith(\n \"submitScoreResult\",\n \"Can't find SubmitResultResultUC\",\n );\n expect(baseAppState.isReviewing).toBe(true);\n });\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateProcedureEventsUCHook.js","sourceRoot":"","sources":["../../../../src/Procedure/UCs/UpdateProcedureEventsUCHook.ts"],"names":[],"mappings":"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","sourcesContent":["import {\r\n AppObject,\r\n AppObjectUC,\r\n AppObjectRepo,\r\n getSingletonComponent,\r\n} from \"@vived/core\";\r\nimport { BaseAppState } from \"../../BaseApp\";\r\nimport { ChallengeEntity } from \"../../Challenge\";\r\nimport { EventEntity } from \"../../EventSystem\";\r\nimport { ProcedureEntity } from \"../Entities/ProcedureEntity\";\r\n\r\nexport abstract class UpdateProcedureEventsUCHook extends AppObjectUC {\r\n static readonly type = \"UpdateProcedureEventsUCHook\";\r\n\r\n static get = (\r\n appObjects: AppObjectRepo,\r\n ): UpdateProcedureEventsUCHook | undefined =>\r\n getSingletonComponent(UpdateProcedureEventsUCHook.type, appObjects);\r\n}\r\n\r\nexport function makeUpdateProcedureEventsUCHook(\r\n appObject: AppObject,\r\n): UpdateProcedureEventsUCHook {\r\n return new UpdateProcedureEventsUCHookImp(appObject);\r\n}\r\n\r\nclass UpdateProcedureEventsUCHookImp extends UpdateProcedureEventsUCHook {\r\n private lastSelectedChallenge: string | null = null;\r\n\r\n private get baseAppState(): BaseAppState | undefined {\r\n return BaseAppState.get(this.appObjects);\r\n }\r\n\r\n private get challengeEntity(): ChallengeEntity | undefined {\r\n return ChallengeEntity.get(this.appObjects);\r\n }\r\n\r\n private get procedureEntity(): ProcedureEntity | undefined {\r\n return ProcedureEntity.get(this.appObjects);\r\n }\r\n\r\n private get eventEntity(): EventEntity | undefined {\r\n return EventEntity.get(this.appObjects);\r\n }\r\n\r\n private get isAuthoring(): boolean {\r\n const baseApp = this.baseAppState;\r\n return baseApp ? baseApp.isAuthoring : false;\r\n }\r\n\r\n private get selectedChallenge(): string | null {\r\n const challenge = this.challengeEntity;\r\n return challenge ? challenge.selectedChallenge : null;\r\n }\r\n\r\n private shouldProcessEvents(): boolean {\r\n return !this.isAuthoring && this.selectedChallenge === \"PROCEDURE\";\r\n }\r\n\r\n private shouldResetProcedure(newChallenge: string | null): boolean {\r\n if (this.isAuthoring) return false;\r\n if (newChallenge !== \"PROCEDURE\") return false;\r\n if (this.lastSelectedChallenge === \"PROCEDURE\") return false;\r\n return true;\r\n }\r\n\r\n private onStateChange = (): void => {\r\n const currentChallenge = this.selectedChallenge;\r\n\r\n if (this.shouldResetProcedure(currentChallenge)) {\r\n this.lastSelectedChallenge = currentChallenge;\r\n\r\n const procedureEntity = this.procedureEntity;\r\n if (procedureEntity) {\r\n procedureEntity.reset();\r\n } else {\r\n this.warn(\r\n \"ProcedureEntity not found - cannot reset on challenge change\",\r\n );\r\n }\r\n }\r\n\r\n this.lastSelectedChallenge = currentChallenge;\r\n };\r\n\r\n private onEmission = (eventId: string): void => {\r\n if (!this.shouldProcessEvents()) return;\r\n\r\n const procedureEntity = this.procedureEntity;\r\n if (!procedureEntity) return;\r\n\r\n procedureEntity.recordUserEvent(eventId);\r\n };\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, UpdateProcedureEventsUCHook.type);\r\n\r\n this.appObjects.registerSingleton(this);\r\n\r\n const baseApp = this.baseAppState;\r\n if (baseApp) {\r\n baseApp.addChangeObserver(this.onStateChange);\r\n } else {\r\n this.warn(\r\n \"BaseAppState not found - authoring mode changes will not be detected\",\r\n );\r\n }\r\n\r\n const challenge = this.challengeEntity;\r\n if (challenge) {\r\n challenge.addChangeObserver(this.onStateChange);\r\n } else {\r\n this.warn(\r\n \"ChallengeEntity not found - challenge changes will not be detected\",\r\n );\r\n }\r\n\r\n const eventEntity = this.eventEntity;\r\n if (eventEntity) {\r\n eventEntity.addEmissionListener(this.onEmission);\r\n } else {\r\n this.warn(\"EventEntity not found - events will not be processed\");\r\n }\r\n\r\n this.lastSelectedChallenge = this.selectedChallenge;\r\n this.onStateChange();\r\n }\r\n\r\n dispose(): void {\r\n this.baseAppState?.removeChangeObserver(this.onStateChange);\r\n this.challengeEntity?.removeChangeObserver(this.onStateChange);\r\n this.eventEntity?.removeEmissionListener(this.onEmission);\r\n this.lastSelectedChallenge = null;\r\n super.dispose();\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"UpdateProcedureEventsUCHook.js","sourceRoot":"","sources":["../../../../src/Procedure/UCs/UpdateProcedureEventsUCHook.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n AppObject,\n AppObjectUC,\n AppObjectRepo,\n getSingletonComponent,\n} from \"@vived/core\";\nimport { BaseAppState } from \"../../BaseApp\";\nimport { ChallengeEntity } from \"../../Challenge\";\nimport { EventEntity } from \"../../EventSystem\";\nimport { ProcedureEntity } from \"../Entities/ProcedureEntity\";\n\nexport abstract class UpdateProcedureEventsUCHook extends AppObjectUC {\n static readonly type = \"UpdateProcedureEventsUCHook\";\n\n static get = (\n appObjects: AppObjectRepo,\n ): UpdateProcedureEventsUCHook | undefined =>\n getSingletonComponent(UpdateProcedureEventsUCHook.type, appObjects);\n}\n\nexport function makeUpdateProcedureEventsUCHook(\n appObject: AppObject,\n): UpdateProcedureEventsUCHook {\n return new UpdateProcedureEventsUCHookImp(appObject);\n}\n\nclass UpdateProcedureEventsUCHookImp extends UpdateProcedureEventsUCHook {\n private lastSelectedChallenge: string | null = null;\n\n private get baseAppState(): BaseAppState | undefined {\n return BaseAppState.get(this.appObjects);\n }\n\n private get challengeEntity(): ChallengeEntity | undefined {\n return ChallengeEntity.get(this.appObjects);\n }\n\n private get procedureEntity(): ProcedureEntity | undefined {\n return ProcedureEntity.get(this.appObjects);\n }\n\n private get eventEntity(): EventEntity | undefined {\n return EventEntity.get(this.appObjects);\n }\n\n private get isAuthoring(): boolean {\n const baseApp = this.baseAppState;\n return baseApp ? baseApp.isAuthoring : false;\n }\n\n private get selectedChallenge(): string | null {\n const challenge = this.challengeEntity;\n return challenge ? challenge.selectedChallenge : null;\n }\n\n private shouldProcessEvents(): boolean {\n return !this.isAuthoring && this.selectedChallenge === \"PROCEDURE\";\n }\n\n private shouldResetProcedure(newChallenge: string | null): boolean {\n if (this.isAuthoring) return false;\n if (newChallenge !== \"PROCEDURE\") return false;\n if (this.lastSelectedChallenge === \"PROCEDURE\") return false;\n return true;\n }\n\n private onStateChange = (): void => {\n const currentChallenge = this.selectedChallenge;\n\n if (this.shouldResetProcedure(currentChallenge)) {\n this.lastSelectedChallenge = currentChallenge;\n\n const procedureEntity = this.procedureEntity;\n if (procedureEntity) {\n procedureEntity.reset();\n } else {\n this.warn(\n \"ProcedureEntity not found - cannot reset on challenge change\",\n );\n }\n }\n\n this.lastSelectedChallenge = currentChallenge;\n };\n\n private onEmission = (eventId: string): void => {\n if (!this.shouldProcessEvents()) return;\n\n const procedureEntity = this.procedureEntity;\n if (!procedureEntity) return;\n\n procedureEntity.recordUserEvent(eventId);\n };\n\n constructor(appObject: AppObject) {\n super(appObject, UpdateProcedureEventsUCHook.type);\n\n this.appObjects.registerSingleton(this);\n\n const baseApp = this.baseAppState;\n if (baseApp) {\n baseApp.addChangeObserver(this.onStateChange);\n } else {\n this.warn(\n \"BaseAppState not found - authoring mode changes will not be detected\",\n );\n }\n\n const challenge = this.challengeEntity;\n if (challenge) {\n challenge.addChangeObserver(this.onStateChange);\n } else {\n this.warn(\n \"ChallengeEntity not found - challenge changes will not be detected\",\n );\n }\n\n const eventEntity = this.eventEntity;\n if (eventEntity) {\n eventEntity.addEmissionListener(this.onEmission);\n } else {\n this.warn(\"EventEntity not found - events will not be processed\");\n }\n\n this.lastSelectedChallenge = this.selectedChallenge;\n this.onStateChange();\n }\n\n dispose(): void {\n this.baseAppState?.removeChangeObserver(this.onStateChange);\n this.challengeEntity?.removeChangeObserver(this.onStateChange);\n this.eventEntity?.removeEmissionListener(this.onEmission);\n this.lastSelectedChallenge = null;\n super.dispose();\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import { AppObjectEntity, makeAppObjectRepo, } from "@vived/core";
2
2
  import { UpdateProcedureEventsUCHook, makeUpdateProcedureEventsUCHook, } from "./UpdateProcedureEventsUCHook";
3
- import { makeProcedureEntity } from "../Entities/ProcedureEntity";
3
+ import { makeProcedureEntity, } from "../Entities/ProcedureEntity";
4
4
  import { EventEntity } from "../../EventSystem/Entities/EventEntity";
5
5
  class MockBaseAppState extends AppObjectEntity {
6
6
  get isAuthoring() {