@vived/app 5.3.0 → 6.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Babylon/Adapters/showBabylonInspectorAdapter.test.js +3 -0
- package/dist/cjs/Babylon/Adapters/showBabylonInspectorAdapter.test.js.map +1 -1
- package/dist/cjs/Babylon/Mocks/MockSceneRayPickUC.js.map +1 -1
- package/dist/cjs/Babylon/Mocks/ShowBabylonInspectorPmMock.js.map +1 -1
- package/dist/cjs/Babylon/PM/ShowBabylonInspectorPM.js +9 -6
- package/dist/cjs/Babylon/PM/ShowBabylonInspectorPM.js.map +1 -1
- package/dist/cjs/BaseApp/PM/IsAuthoringPM.js +6 -9
- package/dist/cjs/BaseApp/PM/IsAuthoringPM.js.map +1 -1
- package/dist/cjs/BaseApp/PM/IsAuthoringPM.test.js +2 -6
- package/dist/cjs/BaseApp/PM/IsAuthoringPM.test.js.map +1 -1
- package/dist/cjs/BaseApp/PM/IsReviewingPM.js +6 -9
- package/dist/cjs/BaseApp/PM/IsReviewingPM.js.map +1 -1
- package/dist/cjs/BaseApp/PM/IsReviewingPM.test.js +2 -6
- package/dist/cjs/BaseApp/PM/IsReviewingPM.test.js.map +1 -1
- package/dist/cjs/BaseApp/PM/SlideTextPM.js +6 -5
- package/dist/cjs/BaseApp/PM/SlideTextPM.js.map +1 -1
- package/dist/cjs/BaseApp/PM/SlideTextPM.test.js +2 -6
- package/dist/cjs/BaseApp/PM/SlideTextPM.test.js.map +1 -1
- package/dist/cjs/BaseApp/UC/EditSlideTextUC.test.js +1 -0
- package/dist/cjs/BaseApp/UC/EditSlideTextUC.test.js.map +1 -1
- package/dist/cjs/BaseApp/UC/SerializeBaseAppState.js +1 -1
- package/dist/cjs/BaseApp/UC/SerializeBaseAppState.js.map +1 -1
- package/dist/cjs/Callouts/Factories/calloutFactory.test.js +6 -0
- package/dist/cjs/Callouts/Factories/calloutFactory.test.js.map +1 -1
- package/dist/cjs/Callouts/UC/CreateCalloutUndoRedo.test.js +8 -9
- package/dist/cjs/Callouts/UC/CreateCalloutUndoRedo.test.js.map +1 -1
- package/dist/cjs/Callouts/UC/SerializeCallouts.js +1 -1
- package/dist/cjs/Callouts/UC/SerializeCallouts.js.map +1 -1
- package/dist/cjs/Callouts/UC/TryAddCallout.test.js.map +1 -1
- package/dist/cjs/Challenge/UCs/SerializeChallenge.js +1 -1
- package/dist/cjs/Challenge/UCs/SerializeChallenge.js.map +1 -1
- package/dist/cjs/Challenge/UCs/ShowChallengeHelpUC.test.js +3 -2
- package/dist/cjs/Challenge/UCs/ShowChallengeHelpUC.test.js.map +1 -1
- package/dist/cjs/ChannelModel/PMs/ActiveModelPM.js +6 -5
- package/dist/cjs/ChannelModel/PMs/ActiveModelPM.js.map +1 -1
- package/dist/cjs/ChannelModel/PMs/ActiveModelPM.test.js +2 -6
- package/dist/cjs/ChannelModel/PMs/ActiveModelPM.test.js.map +1 -1
- package/dist/cjs/ChannelModel/PMs/ModelHasCalloutsPM.js +5 -3
- package/dist/cjs/ChannelModel/PMs/ModelHasCalloutsPM.js.map +1 -1
- package/dist/cjs/ChannelModel/PMs/ModelHasCalloutsPM.test.js +1 -0
- package/dist/cjs/ChannelModel/PMs/ModelHasCalloutsPM.test.js.map +1 -1
- package/dist/cjs/ChannelModel/PMs/ModelHasLandmarksPM.js +3 -7
- package/dist/cjs/ChannelModel/PMs/ModelHasLandmarksPM.js.map +1 -1
- package/dist/cjs/ChannelModel/PMs/ModelHasLandmarksPM.test.js +1 -0
- package/dist/cjs/ChannelModel/PMs/ModelHasLandmarksPM.test.js.map +1 -1
- package/dist/cjs/ChannelModel/PMs/ModelObjectsAreHiddenPM.js +3 -9
- package/dist/cjs/ChannelModel/PMs/ModelObjectsAreHiddenPM.js.map +1 -1
- package/dist/cjs/ChannelModel/PMs/ModelObjectsAreHiddenPM.test.js +1 -0
- package/dist/cjs/ChannelModel/PMs/ModelObjectsAreHiddenPM.test.js.map +1 -1
- package/dist/cjs/ChannelModel/PMs/ModelObjectsAreStickablePM.js +3 -7
- package/dist/cjs/ChannelModel/PMs/ModelObjectsAreStickablePM.js.map +1 -1
- package/dist/cjs/ChannelModel/PMs/ModelObjectsAreStickablePM.test.js +1 -0
- package/dist/cjs/ChannelModel/PMs/ModelObjectsAreStickablePM.test.js.map +1 -1
- package/dist/cjs/ChannelModel/PMs/ModelObjectsHaveOverlayPM.js +3 -9
- package/dist/cjs/ChannelModel/PMs/ModelObjectsHaveOverlayPM.js.map +1 -1
- package/dist/cjs/ChannelModel/PMs/ModelObjectsHaveOverlayPM.test.js +1 -0
- package/dist/cjs/ChannelModel/PMs/ModelObjectsHaveOverlayPM.test.js.map +1 -1
- package/dist/cjs/ChannelModel/UC/LoadChannelModelUC.test.js +6 -6
- package/dist/cjs/ChannelModel/UC/LoadChannelModelUC.test.js.map +1 -1
- package/dist/cjs/ChannelModel/UC/SelectChannelModelUC.test.js +1 -1
- package/dist/cjs/ChannelModel/UC/SelectChannelModelUC.test.js.map +1 -1
- package/dist/cjs/ChannelModel/UC/SerializeActiveModel.js +1 -1
- package/dist/cjs/ChannelModel/UC/SerializeActiveModel.js.map +1 -1
- package/dist/cjs/Dispatcher/Entities/AppDispatcher.js +7 -0
- package/dist/cjs/Dispatcher/Entities/AppDispatcher.js.map +1 -1
- package/dist/cjs/Dispatcher/Entities/AppDispatcher.test.js +31 -0
- package/dist/cjs/Dispatcher/Entities/AppDispatcher.test.js.map +1 -1
- package/dist/cjs/Dispatcher/Factories/DispatcherFeatureFactory.js +3 -1
- package/dist/cjs/Dispatcher/Factories/DispatcherFeatureFactory.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/GetAssetBlobURLUCMock.js +1 -1
- package/dist/cjs/Dispatcher/Mocks/GetAssetBlobURLUCMock.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/GetLinkedAssetsUCMock.js +1 -1
- package/dist/cjs/Dispatcher/Mocks/GetLinkedAssetsUCMock.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockDispatcher.js +2 -2
- package/dist/cjs/Dispatcher/Mocks/MockDispatcher.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockGetAssetFolderURL.js +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockGetAssetFolderURL.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockShowAlert.js +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockShowAlert.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockShowConfirm.js +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockShowConfirm.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockShowMarkdown.js +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockShowMarkdown.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockShowSpinner.js +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockShowSpinner.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockSubmitResult.js +5 -5
- package/dist/cjs/Dispatcher/Mocks/MockSubmitResult.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/ShowSelectModelUCMock.js +1 -1
- package/dist/cjs/Dispatcher/Mocks/ShowSelectModelUCMock.js.map +1 -1
- package/dist/cjs/Dispatcher/UC/AppIsReadyUC.test.js +3 -1
- package/dist/cjs/Dispatcher/UC/AppIsReadyUC.test.js.map +1 -1
- package/dist/cjs/Dispatcher/UC/DispatchStartZSpaceUC.test.js +2 -1
- package/dist/cjs/Dispatcher/UC/DispatchStartZSpaceUC.test.js.map +1 -1
- package/dist/cjs/Dispatcher/UC/DispatchStateChangeUC.test.js +1 -0
- package/dist/cjs/Dispatcher/UC/DispatchStateChangeUC.test.js.map +1 -1
- package/dist/cjs/Dispatcher/UC/DispatchStopZSpaceUC.test.js +2 -1
- package/dist/cjs/Dispatcher/UC/DispatchStopZSpaceUC.test.js.map +1 -1
- package/dist/cjs/Dispatcher/UC/GetAssetBlobURLUC.test.js +3 -1
- package/dist/cjs/Dispatcher/UC/GetAssetBlobURLUC.test.js.map +1 -1
- package/dist/cjs/Dispatcher/UC/GetAssetFolderURLUC.test.js +3 -1
- package/dist/cjs/Dispatcher/UC/GetAssetFolderURLUC.test.js.map +1 -1
- package/dist/cjs/Dispatcher/UC/GetAssetMetaUC.test.js +3 -1
- package/dist/cjs/Dispatcher/UC/GetAssetMetaUC.test.js.map +1 -1
- package/dist/cjs/Dispatcher/UC/GetAssetsForOwnerUC.test.js +3 -1
- package/dist/cjs/Dispatcher/UC/GetAssetsForOwnerUC.test.js.map +1 -1
- package/dist/cjs/Dispatcher/UC/GetLinkedAssetsUC.test.js +3 -1
- package/dist/cjs/Dispatcher/UC/GetLinkedAssetsUC.test.js.map +1 -1
- package/dist/cjs/Dispatcher/UC/GoToNextStateUC.test.js +3 -1
- package/dist/cjs/Dispatcher/UC/GoToNextStateUC.test.js.map +1 -1
- package/dist/cjs/Dispatcher/UC/GoToPreviousStateUC.test.js +3 -1
- package/dist/cjs/Dispatcher/UC/GoToPreviousStateUC.test.js.map +1 -1
- package/dist/cjs/Dispatcher/UC/HasNextStateUC.test.js +3 -1
- package/dist/cjs/Dispatcher/UC/HasNextStateUC.test.js.map +1 -1
- package/dist/cjs/Dispatcher/UC/HasPreviousStateUC.test.js +3 -1
- package/dist/cjs/Dispatcher/UC/HasPreviousStateUC.test.js.map +1 -1
- package/dist/cjs/Dispatcher/UC/IsAssetFetchedUC.test.js +3 -1
- package/dist/cjs/Dispatcher/UC/IsAssetFetchedUC.test.js.map +1 -1
- package/dist/cjs/Dispatcher/UC/IsZSpaceAvailableUC.test.js +3 -1
- package/dist/cjs/Dispatcher/UC/IsZSpaceAvailableUC.test.js.map +1 -1
- package/dist/cjs/Dispatcher/UC/RegisterExternalStylesheetsUC.test.js +3 -1
- package/dist/cjs/Dispatcher/UC/RegisterExternalStylesheetsUC.test.js.map +1 -1
- package/dist/cjs/Dispatcher/UC/RestoreCurrentStateUC.test.js +3 -1
- package/dist/cjs/Dispatcher/UC/RestoreCurrentStateUC.test.js.map +1 -1
- package/dist/cjs/Dispatcher/UC/StateIsCompleteUC.test.js +3 -1
- package/dist/cjs/Dispatcher/UC/StateIsCompleteUC.test.js.map +1 -1
- package/dist/cjs/Dispatcher/UC/SubmitActivityAssetUC.test.js +5 -3
- package/dist/cjs/Dispatcher/UC/SubmitActivityAssetUC.test.js.map +1 -1
- package/dist/cjs/Dispatcher/UC/SubmitResultResultUC.test.js +11 -5
- package/dist/cjs/Dispatcher/UC/SubmitResultResultUC.test.js.map +1 -1
- package/dist/cjs/Enablement/PM/EnabledStatePM.js +5 -9
- package/dist/cjs/Enablement/PM/EnabledStatePM.js.map +1 -1
- package/dist/cjs/Enablement/PM/EnabledStatePM.test.js +1 -0
- package/dist/cjs/Enablement/PM/EnabledStatePM.test.js.map +1 -1
- package/dist/cjs/Environment/UCs/SerializeEnvironment.js +1 -1
- package/dist/cjs/Environment/UCs/SerializeEnvironment.js.map +1 -1
- package/dist/cjs/Hideable/Factories/setupHideable.test.js +6 -0
- package/dist/cjs/Hideable/Factories/setupHideable.test.js.map +1 -1
- package/dist/cjs/Hideable/UCs/SerializeHideableObjects.js +1 -1
- package/dist/cjs/Hideable/UCs/SerializeHideableObjects.js.map +1 -1
- package/dist/cjs/Hideable/UCs/TryHideWithPickUC.test.js.map +1 -1
- package/dist/cjs/HoverLabel/UseCases/SerializeAllowHoverLabel.js +1 -1
- package/dist/cjs/HoverLabel/UseCases/SerializeAllowHoverLabel.js.map +1 -1
- package/dist/cjs/HoverLabel/UseCases/TryShowHoverLabel.test.js.map +1 -1
- package/dist/cjs/Label/Controller/submitCustomLabel.test.js +3 -0
- package/dist/cjs/Label/Controller/submitCustomLabel.test.js.map +1 -1
- package/dist/cjs/Label/Controller/updateCustomLabel.test.js +3 -0
- package/dist/cjs/Label/Controller/updateCustomLabel.test.js.map +1 -1
- package/dist/cjs/Label/UC/ClearCustomLabelUC.test.js +0 -7
- package/dist/cjs/Label/UC/ClearCustomLabelUC.test.js.map +1 -1
- package/dist/cjs/Label/UC/SerializeCustomLabels.js +1 -1
- package/dist/cjs/Label/UC/SerializeCustomLabels.js.map +1 -1
- package/dist/cjs/Label/UC/SetCustomLabelUC.test.js +0 -7
- package/dist/cjs/Label/UC/SetCustomLabelUC.test.js.map +1 -1
- package/dist/cjs/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.test.js.map +1 -1
- package/dist/cjs/LabelDrop/UseCases/SerializeLabelDrop.js +1 -1
- package/dist/cjs/LabelDrop/UseCases/SerializeLabelDrop.js.map +1 -1
- package/dist/cjs/LabelDrop/UseCases/ToggleLabelDropTargetUC.test.js.map +1 -1
- package/dist/cjs/Landmarks/PM/LandmarkSizePM.js +5 -8
- package/dist/cjs/Landmarks/PM/LandmarkSizePM.js.map +1 -1
- package/dist/cjs/Landmarks/UseCases/SerializeLandmarks.js +1 -1
- package/dist/cjs/Landmarks/UseCases/SerializeLandmarks.js.map +1 -1
- package/dist/cjs/Landmarks/UseCases/TryAddNewLandmarkUC.test.js +2 -0
- package/dist/cjs/Landmarks/UseCases/TryAddNewLandmarkUC.test.js.map +1 -1
- package/dist/cjs/ObjectPick/UseCases/SerializeObjectPick.js +1 -1
- package/dist/cjs/ObjectPick/UseCases/SerializeObjectPick.js.map +1 -1
- package/dist/cjs/ObjectPick/UseCases/TrySelectObjectPickUC.test.js.map +1 -1
- package/dist/cjs/ObjectPick/UseCases/TrySubmitObjectPickUC.test.js +1 -0
- package/dist/cjs/ObjectPick/UseCases/TrySubmitObjectPickUC.test.js.map +1 -1
- package/dist/cjs/OverlayColor/UC/SerializeOverlayColoredObjects.js +1 -1
- package/dist/cjs/OverlayColor/UC/SerializeOverlayColoredObjects.js.map +1 -1
- package/dist/cjs/Question/UC/SerializeQuestionChallenge.js +1 -1
- package/dist/cjs/Question/UC/SerializeQuestionChallenge.js.map +1 -1
- package/dist/cjs/Question/UC/SubmitQuestionAnswerUC.test.js +1 -0
- package/dist/cjs/Question/UC/SubmitQuestionAnswerUC.test.js.map +1 -1
- package/dist/cjs/RequestHandler/Entities/AppHandler.js +4 -0
- package/dist/cjs/RequestHandler/Entities/AppHandler.js.map +1 -1
- package/dist/cjs/RequestHandler/Entities/AppHandler.test.js +27 -0
- package/dist/cjs/RequestHandler/Entities/AppHandler.test.js.map +1 -1
- package/dist/cjs/RequestHandler/Factories/RequestHandlerFeatureFactory.js +28 -29
- package/dist/cjs/RequestHandler/Factories/RequestHandlerFeatureFactory.js.map +1 -1
- package/dist/cjs/RequestHandler/Factories/RequestHandlerFeatureFactory.test.js +128 -0
- package/dist/cjs/RequestHandler/Factories/RequestHandlerFeatureFactory.test.js.map +1 -0
- package/dist/cjs/RequestHandler/Mocks/MockAppHandlerEntity.js +1 -0
- package/dist/cjs/RequestHandler/Mocks/MockAppHandlerEntity.js.map +1 -1
- package/dist/cjs/SceneRoot/UC/SerializeSceneRoot.js +1 -1
- package/dist/cjs/SceneRoot/UC/SerializeSceneRoot.js.map +1 -1
- package/dist/cjs/Selection/Controller/MouseHoverOnAppObject.test.js.map +1 -1
- package/dist/cjs/Selection/Controller/MousePressOnAppObject.test.js.map +1 -1
- package/dist/cjs/Selection/Controller/MouseSelectAppObject.test.js.map +1 -1
- package/dist/cjs/StateMachine/Controller/clickRestorePreviousState.js +21 -0
- package/dist/cjs/StateMachine/Controller/clickRestorePreviousState.js.map +1 -0
- package/dist/cjs/StateMachine/Controller/clickRestorePreviousState.test.js +34 -0
- package/dist/cjs/StateMachine/Controller/clickRestorePreviousState.test.js.map +1 -0
- package/dist/cjs/StateMachine/Controller/index.js +1 -1
- package/dist/cjs/StateMachine/Controller/index.js.map +1 -1
- package/dist/cjs/StateMachine/Entities/StateMachineEntity.js +26 -4
- package/dist/cjs/StateMachine/Entities/StateMachineEntity.js.map +1 -1
- package/dist/cjs/StateMachine/Entities/StateMachineEntity.test.js +23 -4
- package/dist/cjs/StateMachine/Entities/StateMachineEntity.test.js.map +1 -1
- package/dist/cjs/Stick/UCs/TryStickAppObjectUC.test.js.map +1 -1
- package/dist/cjs/StoredView/PM/HasStoredViewPM.js +6 -10
- package/dist/cjs/StoredView/PM/HasStoredViewPM.js.map +1 -1
- package/dist/cjs/StoredView/PM/HasStoredViewPM.test.js +1 -0
- package/dist/cjs/StoredView/PM/HasStoredViewPM.test.js.map +1 -1
- package/dist/cjs/StoredView/UC/SerializeStoredView.js +1 -1
- package/dist/cjs/StoredView/UC/SerializeStoredView.js.map +1 -1
- package/dist/cjs/Stylus/PMs/StylusIsInUsePM.js +7 -6
- package/dist/cjs/Stylus/PMs/StylusIsInUsePM.js.map +1 -1
- package/dist/cjs/Stylus/PMs/StylusIsInUsePM.test.js +2 -6
- package/dist/cjs/Stylus/PMs/StylusIsInUsePM.test.js.map +1 -1
- package/dist/cjs/Stylus/UCs/EmulateStylusUC.test.js.map +1 -1
- package/dist/cjs/Transform3D/UC/BumpTransformScaleAboutPixelPoint.test.js.map +1 -1
- package/dist/cjs/Transform3D/UC/PinchTransform.test.js.map +1 -1
- package/dist/cjs/Transform3D/UC/TryPanTransformUC.test.js.map +1 -1
- package/dist/cjs/Transparency/UCs/SerializeTransparentObjects.js +1 -1
- package/dist/cjs/Transparency/UCs/SerializeTransparentObjects.js.map +1 -1
- package/dist/cjs/zSpace/PM/ZSpaceIsEnabledPM.js +6 -5
- package/dist/cjs/zSpace/PM/ZSpaceIsEnabledPM.js.map +1 -1
- package/dist/cjs/zSpace/PM/ZSpaceIsEnabledPM.test.js +4 -8
- package/dist/cjs/zSpace/PM/ZSpaceIsEnabledPM.test.js.map +1 -1
- package/dist/cjs/zSpace/PM/ZSpaceIsSupportedPM.js +6 -5
- package/dist/cjs/zSpace/PM/ZSpaceIsSupportedPM.js.map +1 -1
- package/dist/cjs/zSpace/PM/ZSpaceIsSupportedPM.test.js +1 -0
- package/dist/cjs/zSpace/PM/ZSpaceIsSupportedPM.test.js.map +1 -1
- package/dist/esm/Babylon/Adapters/showBabylonInspectorAdapter.test.js +3 -0
- package/dist/esm/Babylon/Adapters/showBabylonInspectorAdapter.test.js.map +1 -1
- package/dist/esm/Babylon/Mocks/MockSceneRayPickUC.js.map +1 -1
- package/dist/esm/Babylon/Mocks/ShowBabylonInspectorPmMock.js.map +1 -1
- package/dist/esm/Babylon/PM/ShowBabylonInspectorPM.js +9 -6
- package/dist/esm/Babylon/PM/ShowBabylonInspectorPM.js.map +1 -1
- package/dist/esm/BaseApp/PM/IsAuthoringPM.js +7 -10
- package/dist/esm/BaseApp/PM/IsAuthoringPM.js.map +1 -1
- package/dist/esm/BaseApp/PM/IsAuthoringPM.test.js +2 -6
- package/dist/esm/BaseApp/PM/IsAuthoringPM.test.js.map +1 -1
- package/dist/esm/BaseApp/PM/IsReviewingPM.js +7 -10
- package/dist/esm/BaseApp/PM/IsReviewingPM.js.map +1 -1
- package/dist/esm/BaseApp/PM/IsReviewingPM.test.js +2 -6
- package/dist/esm/BaseApp/PM/IsReviewingPM.test.js.map +1 -1
- package/dist/esm/BaseApp/PM/SlideTextPM.js +7 -6
- package/dist/esm/BaseApp/PM/SlideTextPM.js.map +1 -1
- package/dist/esm/BaseApp/PM/SlideTextPM.test.js +2 -6
- package/dist/esm/BaseApp/PM/SlideTextPM.test.js.map +1 -1
- package/dist/esm/BaseApp/UC/EditSlideTextUC.test.js +1 -0
- package/dist/esm/BaseApp/UC/EditSlideTextUC.test.js.map +1 -1
- package/dist/esm/BaseApp/UC/SerializeBaseAppState.js +1 -1
- package/dist/esm/BaseApp/UC/SerializeBaseAppState.js.map +1 -1
- package/dist/esm/Callouts/Factories/calloutFactory.test.js +6 -0
- package/dist/esm/Callouts/Factories/calloutFactory.test.js.map +1 -1
- package/dist/esm/Callouts/UC/CreateCalloutUndoRedo.test.js +8 -9
- package/dist/esm/Callouts/UC/CreateCalloutUndoRedo.test.js.map +1 -1
- package/dist/esm/Callouts/UC/SerializeCallouts.js +1 -1
- package/dist/esm/Callouts/UC/SerializeCallouts.js.map +1 -1
- package/dist/esm/Callouts/UC/TryAddCallout.test.js.map +1 -1
- package/dist/esm/Challenge/UCs/SerializeChallenge.js +1 -1
- package/dist/esm/Challenge/UCs/SerializeChallenge.js.map +1 -1
- package/dist/esm/Challenge/UCs/ShowChallengeHelpUC.test.js +3 -2
- package/dist/esm/Challenge/UCs/ShowChallengeHelpUC.test.js.map +1 -1
- package/dist/esm/ChannelModel/PMs/ActiveModelPM.js +7 -6
- package/dist/esm/ChannelModel/PMs/ActiveModelPM.js.map +1 -1
- package/dist/esm/ChannelModel/PMs/ActiveModelPM.test.js +2 -6
- package/dist/esm/ChannelModel/PMs/ActiveModelPM.test.js.map +1 -1
- package/dist/esm/ChannelModel/PMs/ModelHasCalloutsPM.js +5 -3
- package/dist/esm/ChannelModel/PMs/ModelHasCalloutsPM.js.map +1 -1
- package/dist/esm/ChannelModel/PMs/ModelHasCalloutsPM.test.js +1 -0
- package/dist/esm/ChannelModel/PMs/ModelHasCalloutsPM.test.js.map +1 -1
- package/dist/esm/ChannelModel/PMs/ModelHasLandmarksPM.js +3 -7
- package/dist/esm/ChannelModel/PMs/ModelHasLandmarksPM.js.map +1 -1
- package/dist/esm/ChannelModel/PMs/ModelHasLandmarksPM.test.js +1 -0
- package/dist/esm/ChannelModel/PMs/ModelHasLandmarksPM.test.js.map +1 -1
- package/dist/esm/ChannelModel/PMs/ModelObjectsAreHiddenPM.js +3 -9
- package/dist/esm/ChannelModel/PMs/ModelObjectsAreHiddenPM.js.map +1 -1
- package/dist/esm/ChannelModel/PMs/ModelObjectsAreHiddenPM.test.js +1 -0
- package/dist/esm/ChannelModel/PMs/ModelObjectsAreHiddenPM.test.js.map +1 -1
- package/dist/esm/ChannelModel/PMs/ModelObjectsAreStickablePM.js +3 -7
- package/dist/esm/ChannelModel/PMs/ModelObjectsAreStickablePM.js.map +1 -1
- package/dist/esm/ChannelModel/PMs/ModelObjectsAreStickablePM.test.js +1 -0
- package/dist/esm/ChannelModel/PMs/ModelObjectsAreStickablePM.test.js.map +1 -1
- package/dist/esm/ChannelModel/PMs/ModelObjectsHaveOverlayPM.js +3 -9
- package/dist/esm/ChannelModel/PMs/ModelObjectsHaveOverlayPM.js.map +1 -1
- package/dist/esm/ChannelModel/PMs/ModelObjectsHaveOverlayPM.test.js +1 -0
- package/dist/esm/ChannelModel/PMs/ModelObjectsHaveOverlayPM.test.js.map +1 -1
- package/dist/esm/ChannelModel/UC/LoadChannelModelUC.test.js +6 -6
- package/dist/esm/ChannelModel/UC/LoadChannelModelUC.test.js.map +1 -1
- package/dist/esm/ChannelModel/UC/SelectChannelModelUC.test.js +1 -1
- package/dist/esm/ChannelModel/UC/SelectChannelModelUC.test.js.map +1 -1
- package/dist/esm/ChannelModel/UC/SerializeActiveModel.js +1 -1
- package/dist/esm/ChannelModel/UC/SerializeActiveModel.js.map +1 -1
- package/dist/esm/Dispatcher/Entities/AppDispatcher.js +7 -0
- package/dist/esm/Dispatcher/Entities/AppDispatcher.js.map +1 -1
- package/dist/esm/Dispatcher/Entities/AppDispatcher.test.js +31 -0
- package/dist/esm/Dispatcher/Entities/AppDispatcher.test.js.map +1 -1
- package/dist/esm/Dispatcher/Factories/DispatcherFeatureFactory.js +3 -1
- package/dist/esm/Dispatcher/Factories/DispatcherFeatureFactory.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/GetAssetBlobURLUCMock.js +1 -1
- package/dist/esm/Dispatcher/Mocks/GetAssetBlobURLUCMock.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/GetLinkedAssetsUCMock.js +1 -1
- package/dist/esm/Dispatcher/Mocks/GetLinkedAssetsUCMock.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/MockDispatcher.js +2 -2
- package/dist/esm/Dispatcher/Mocks/MockDispatcher.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/MockGetAssetFolderURL.js +1 -1
- package/dist/esm/Dispatcher/Mocks/MockGetAssetFolderURL.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/MockShowAlert.js +1 -1
- package/dist/esm/Dispatcher/Mocks/MockShowAlert.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/MockShowConfirm.js +1 -1
- package/dist/esm/Dispatcher/Mocks/MockShowConfirm.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/MockShowMarkdown.js +1 -1
- package/dist/esm/Dispatcher/Mocks/MockShowMarkdown.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/MockShowSpinner.js +1 -1
- package/dist/esm/Dispatcher/Mocks/MockShowSpinner.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/MockSubmitResult.js +5 -5
- package/dist/esm/Dispatcher/Mocks/MockSubmitResult.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/ShowSelectModelUCMock.js +1 -1
- package/dist/esm/Dispatcher/Mocks/ShowSelectModelUCMock.js.map +1 -1
- package/dist/esm/Dispatcher/UC/AppIsReadyUC.test.js +3 -1
- package/dist/esm/Dispatcher/UC/AppIsReadyUC.test.js.map +1 -1
- package/dist/esm/Dispatcher/UC/DispatchStartZSpaceUC.test.js +2 -1
- package/dist/esm/Dispatcher/UC/DispatchStartZSpaceUC.test.js.map +1 -1
- package/dist/esm/Dispatcher/UC/DispatchStateChangeUC.test.js +1 -0
- package/dist/esm/Dispatcher/UC/DispatchStateChangeUC.test.js.map +1 -1
- package/dist/esm/Dispatcher/UC/DispatchStopZSpaceUC.test.js +2 -1
- package/dist/esm/Dispatcher/UC/DispatchStopZSpaceUC.test.js.map +1 -1
- package/dist/esm/Dispatcher/UC/GetAssetBlobURLUC.test.js +3 -1
- package/dist/esm/Dispatcher/UC/GetAssetBlobURLUC.test.js.map +1 -1
- package/dist/esm/Dispatcher/UC/GetAssetFolderURLUC.test.js +3 -1
- package/dist/esm/Dispatcher/UC/GetAssetFolderURLUC.test.js.map +1 -1
- package/dist/esm/Dispatcher/UC/GetAssetMetaUC.test.js +3 -1
- package/dist/esm/Dispatcher/UC/GetAssetMetaUC.test.js.map +1 -1
- package/dist/esm/Dispatcher/UC/GetAssetsForOwnerUC.test.js +3 -1
- package/dist/esm/Dispatcher/UC/GetAssetsForOwnerUC.test.js.map +1 -1
- package/dist/esm/Dispatcher/UC/GetLinkedAssetsUC.test.js +3 -1
- package/dist/esm/Dispatcher/UC/GetLinkedAssetsUC.test.js.map +1 -1
- package/dist/esm/Dispatcher/UC/GoToNextStateUC.test.js +3 -1
- package/dist/esm/Dispatcher/UC/GoToNextStateUC.test.js.map +1 -1
- package/dist/esm/Dispatcher/UC/GoToPreviousStateUC.test.js +3 -1
- package/dist/esm/Dispatcher/UC/GoToPreviousStateUC.test.js.map +1 -1
- package/dist/esm/Dispatcher/UC/HasNextStateUC.test.js +3 -1
- package/dist/esm/Dispatcher/UC/HasNextStateUC.test.js.map +1 -1
- package/dist/esm/Dispatcher/UC/HasPreviousStateUC.test.js +3 -1
- package/dist/esm/Dispatcher/UC/HasPreviousStateUC.test.js.map +1 -1
- package/dist/esm/Dispatcher/UC/IsAssetFetchedUC.test.js +3 -1
- package/dist/esm/Dispatcher/UC/IsAssetFetchedUC.test.js.map +1 -1
- package/dist/esm/Dispatcher/UC/IsZSpaceAvailableUC.test.js +3 -1
- package/dist/esm/Dispatcher/UC/IsZSpaceAvailableUC.test.js.map +1 -1
- package/dist/esm/Dispatcher/UC/RegisterExternalStylesheetsUC.test.js +3 -1
- package/dist/esm/Dispatcher/UC/RegisterExternalStylesheetsUC.test.js.map +1 -1
- package/dist/esm/Dispatcher/UC/RestoreCurrentStateUC.test.js +3 -1
- package/dist/esm/Dispatcher/UC/RestoreCurrentStateUC.test.js.map +1 -1
- package/dist/esm/Dispatcher/UC/StateIsCompleteUC.test.js +3 -1
- package/dist/esm/Dispatcher/UC/StateIsCompleteUC.test.js.map +1 -1
- package/dist/esm/Dispatcher/UC/SubmitActivityAssetUC.test.js +5 -3
- package/dist/esm/Dispatcher/UC/SubmitActivityAssetUC.test.js.map +1 -1
- package/dist/esm/Dispatcher/UC/SubmitResultResultUC.test.js +11 -5
- package/dist/esm/Dispatcher/UC/SubmitResultResultUC.test.js.map +1 -1
- package/dist/esm/Enablement/PM/EnabledStatePM.js +5 -9
- package/dist/esm/Enablement/PM/EnabledStatePM.js.map +1 -1
- package/dist/esm/Enablement/PM/EnabledStatePM.test.js +1 -0
- package/dist/esm/Enablement/PM/EnabledStatePM.test.js.map +1 -1
- package/dist/esm/Environment/UCs/SerializeEnvironment.js +1 -1
- package/dist/esm/Environment/UCs/SerializeEnvironment.js.map +1 -1
- package/dist/esm/Hideable/Factories/setupHideable.test.js +6 -0
- package/dist/esm/Hideable/Factories/setupHideable.test.js.map +1 -1
- package/dist/esm/Hideable/UCs/SerializeHideableObjects.js +1 -1
- package/dist/esm/Hideable/UCs/SerializeHideableObjects.js.map +1 -1
- package/dist/esm/Hideable/UCs/TryHideWithPickUC.test.js.map +1 -1
- package/dist/esm/HoverLabel/UseCases/SerializeAllowHoverLabel.js +1 -1
- package/dist/esm/HoverLabel/UseCases/SerializeAllowHoverLabel.js.map +1 -1
- package/dist/esm/HoverLabel/UseCases/TryShowHoverLabel.test.js.map +1 -1
- package/dist/esm/Label/Controller/submitCustomLabel.test.js +3 -0
- package/dist/esm/Label/Controller/submitCustomLabel.test.js.map +1 -1
- package/dist/esm/Label/Controller/updateCustomLabel.test.js +3 -0
- package/dist/esm/Label/Controller/updateCustomLabel.test.js.map +1 -1
- package/dist/esm/Label/UC/ClearCustomLabelUC.test.js +0 -7
- package/dist/esm/Label/UC/ClearCustomLabelUC.test.js.map +1 -1
- package/dist/esm/Label/UC/SerializeCustomLabels.js +1 -1
- package/dist/esm/Label/UC/SerializeCustomLabels.js.map +1 -1
- package/dist/esm/Label/UC/SetCustomLabelUC.test.js +0 -7
- package/dist/esm/Label/UC/SetCustomLabelUC.test.js.map +1 -1
- package/dist/esm/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.test.js.map +1 -1
- package/dist/esm/LabelDrop/UseCases/SerializeLabelDrop.js +1 -1
- package/dist/esm/LabelDrop/UseCases/SerializeLabelDrop.js.map +1 -1
- package/dist/esm/LabelDrop/UseCases/ToggleLabelDropTargetUC.test.js.map +1 -1
- package/dist/esm/Landmarks/PM/LandmarkSizePM.js +5 -8
- package/dist/esm/Landmarks/PM/LandmarkSizePM.js.map +1 -1
- package/dist/esm/Landmarks/UseCases/SerializeLandmarks.js +1 -1
- package/dist/esm/Landmarks/UseCases/SerializeLandmarks.js.map +1 -1
- package/dist/esm/Landmarks/UseCases/TryAddNewLandmarkUC.test.js +2 -0
- package/dist/esm/Landmarks/UseCases/TryAddNewLandmarkUC.test.js.map +1 -1
- package/dist/esm/ObjectPick/UseCases/SerializeObjectPick.js +1 -1
- package/dist/esm/ObjectPick/UseCases/SerializeObjectPick.js.map +1 -1
- package/dist/esm/ObjectPick/UseCases/TrySelectObjectPickUC.test.js.map +1 -1
- package/dist/esm/ObjectPick/UseCases/TrySubmitObjectPickUC.test.js +1 -0
- package/dist/esm/ObjectPick/UseCases/TrySubmitObjectPickUC.test.js.map +1 -1
- package/dist/esm/OverlayColor/UC/SerializeOverlayColoredObjects.js +1 -1
- package/dist/esm/OverlayColor/UC/SerializeOverlayColoredObjects.js.map +1 -1
- package/dist/esm/Question/UC/SerializeQuestionChallenge.js +1 -1
- package/dist/esm/Question/UC/SerializeQuestionChallenge.js.map +1 -1
- package/dist/esm/Question/UC/SubmitQuestionAnswerUC.test.js +1 -0
- package/dist/esm/Question/UC/SubmitQuestionAnswerUC.test.js.map +1 -1
- package/dist/esm/RequestHandler/Entities/AppHandler.js +4 -0
- package/dist/esm/RequestHandler/Entities/AppHandler.js.map +1 -1
- package/dist/esm/RequestHandler/Entities/AppHandler.test.js +27 -0
- package/dist/esm/RequestHandler/Entities/AppHandler.test.js.map +1 -1
- package/dist/esm/RequestHandler/Factories/RequestHandlerFeatureFactory.js +28 -29
- package/dist/esm/RequestHandler/Factories/RequestHandlerFeatureFactory.js.map +1 -1
- package/dist/esm/RequestHandler/Factories/RequestHandlerFeatureFactory.test.js +126 -0
- package/dist/esm/RequestHandler/Factories/RequestHandlerFeatureFactory.test.js.map +1 -0
- package/dist/esm/RequestHandler/Mocks/MockAppHandlerEntity.js +1 -0
- package/dist/esm/RequestHandler/Mocks/MockAppHandlerEntity.js.map +1 -1
- package/dist/esm/SceneRoot/UC/SerializeSceneRoot.js +1 -1
- package/dist/esm/SceneRoot/UC/SerializeSceneRoot.js.map +1 -1
- package/dist/esm/Selection/Controller/MouseHoverOnAppObject.test.js.map +1 -1
- package/dist/esm/Selection/Controller/MousePressOnAppObject.test.js.map +1 -1
- package/dist/esm/Selection/Controller/MouseSelectAppObject.test.js.map +1 -1
- package/dist/esm/StateMachine/Controller/clickRestorePreviousState.js +17 -0
- package/dist/esm/StateMachine/Controller/clickRestorePreviousState.js.map +1 -0
- package/dist/esm/StateMachine/Controller/clickRestorePreviousState.test.js +32 -0
- package/dist/esm/StateMachine/Controller/clickRestorePreviousState.test.js.map +1 -0
- package/dist/esm/StateMachine/Controller/index.js +1 -1
- package/dist/esm/StateMachine/Controller/index.js.map +1 -1
- package/dist/esm/StateMachine/Entities/StateMachineEntity.js +26 -4
- package/dist/esm/StateMachine/Entities/StateMachineEntity.js.map +1 -1
- package/dist/esm/StateMachine/Entities/StateMachineEntity.test.js +23 -4
- package/dist/esm/StateMachine/Entities/StateMachineEntity.test.js.map +1 -1
- package/dist/esm/Stick/UCs/TryStickAppObjectUC.test.js.map +1 -1
- package/dist/esm/StoredView/PM/HasStoredViewPM.js +7 -11
- package/dist/esm/StoredView/PM/HasStoredViewPM.js.map +1 -1
- package/dist/esm/StoredView/PM/HasStoredViewPM.test.js +1 -0
- package/dist/esm/StoredView/PM/HasStoredViewPM.test.js.map +1 -1
- package/dist/esm/StoredView/UC/SerializeStoredView.js +1 -1
- package/dist/esm/StoredView/UC/SerializeStoredView.js.map +1 -1
- package/dist/esm/Stylus/PMs/StylusIsInUsePM.js +8 -7
- package/dist/esm/Stylus/PMs/StylusIsInUsePM.js.map +1 -1
- package/dist/esm/Stylus/PMs/StylusIsInUsePM.test.js +2 -6
- package/dist/esm/Stylus/PMs/StylusIsInUsePM.test.js.map +1 -1
- package/dist/esm/Stylus/UCs/EmulateStylusUC.test.js.map +1 -1
- package/dist/esm/Transform3D/UC/BumpTransformScaleAboutPixelPoint.test.js.map +1 -1
- package/dist/esm/Transform3D/UC/PinchTransform.test.js.map +1 -1
- package/dist/esm/Transform3D/UC/TryPanTransformUC.test.js.map +1 -1
- package/dist/esm/Transparency/UCs/SerializeTransparentObjects.js +1 -1
- package/dist/esm/Transparency/UCs/SerializeTransparentObjects.js.map +1 -1
- package/dist/esm/zSpace/PM/ZSpaceIsEnabledPM.js +7 -6
- package/dist/esm/zSpace/PM/ZSpaceIsEnabledPM.js.map +1 -1
- package/dist/esm/zSpace/PM/ZSpaceIsEnabledPM.test.js +4 -8
- package/dist/esm/zSpace/PM/ZSpaceIsEnabledPM.test.js.map +1 -1
- package/dist/esm/zSpace/PM/ZSpaceIsSupportedPM.js +7 -6
- package/dist/esm/zSpace/PM/ZSpaceIsSupportedPM.js.map +1 -1
- package/dist/esm/zSpace/PM/ZSpaceIsSupportedPM.test.js +1 -0
- package/dist/esm/zSpace/PM/ZSpaceIsSupportedPM.test.js.map +1 -1
- package/dist/types/Babylon/PM/ShowBabylonInspectorPM.d.ts +3 -2
- package/dist/types/Babylon/PM/ShowBabylonInspectorPM.d.ts.map +1 -1
- package/dist/types/BaseApp/PM/IsAuthoringPM.d.ts +2 -2
- package/dist/types/BaseApp/PM/IsAuthoringPM.d.ts.map +1 -1
- package/dist/types/BaseApp/PM/IsReviewingPM.d.ts +2 -2
- package/dist/types/BaseApp/PM/IsReviewingPM.d.ts.map +1 -1
- package/dist/types/BaseApp/PM/SlideTextPM.d.ts +2 -2
- package/dist/types/BaseApp/PM/SlideTextPM.d.ts.map +1 -1
- package/dist/types/BaseApp/UC/SerializeBaseAppState.d.ts +1 -1
- package/dist/types/Callouts/Controller/MouseAddCalloutMC.d.ts +1 -1
- package/dist/types/Callouts/Controller/MouseAddCalloutMC.d.ts.map +1 -1
- package/dist/types/Callouts/Controller/TouchAddCalloutTC.d.ts +1 -1
- package/dist/types/Callouts/Controller/TouchAddCalloutTC.d.ts.map +1 -1
- package/dist/types/Callouts/UC/SerializeCallouts.d.ts +1 -1
- package/dist/types/Challenge/UCs/SerializeChallenge.d.ts +1 -1
- package/dist/types/ChannelModel/PMs/ActiveModelPM.d.ts +4 -3
- package/dist/types/ChannelModel/PMs/ActiveModelPM.d.ts.map +1 -1
- package/dist/types/ChannelModel/UC/SerializeActiveModel.d.ts +2 -2
- package/dist/types/Dispatcher/Entities/AppDispatcher.d.ts +1 -0
- package/dist/types/Dispatcher/Entities/AppDispatcher.d.ts.map +1 -1
- package/dist/types/Dispatcher/Factories/DispatcherFeatureFactory.d.ts +1 -0
- package/dist/types/Dispatcher/Factories/DispatcherFeatureFactory.d.ts.map +1 -1
- package/dist/types/Dispatcher/Mocks/GetAssetBlobURLUCMock.d.ts +1 -1
- package/dist/types/Dispatcher/Mocks/GetAssetBlobURLUCMock.d.ts.map +1 -1
- package/dist/types/Dispatcher/Mocks/GetLinkedAssetsUCMock.d.ts +1 -1
- package/dist/types/Dispatcher/Mocks/GetLinkedAssetsUCMock.d.ts.map +1 -1
- package/dist/types/Dispatcher/Mocks/MockDispatcher.d.ts +2 -2
- package/dist/types/Dispatcher/Mocks/MockDispatcher.d.ts.map +1 -1
- package/dist/types/Dispatcher/Mocks/MockGetAssetFolderURL.d.ts +1 -1
- package/dist/types/Dispatcher/Mocks/MockGetAssetFolderURL.d.ts.map +1 -1
- package/dist/types/Dispatcher/Mocks/MockShowAlert.d.ts +1 -1
- package/dist/types/Dispatcher/Mocks/MockShowAlert.d.ts.map +1 -1
- package/dist/types/Dispatcher/Mocks/MockShowConfirm.d.ts +1 -1
- package/dist/types/Dispatcher/Mocks/MockShowConfirm.d.ts.map +1 -1
- package/dist/types/Dispatcher/Mocks/MockShowMarkdown.d.ts +1 -1
- package/dist/types/Dispatcher/Mocks/MockShowMarkdown.d.ts.map +1 -1
- package/dist/types/Dispatcher/Mocks/MockShowSpinner.d.ts +1 -1
- package/dist/types/Dispatcher/Mocks/MockShowSpinner.d.ts.map +1 -1
- package/dist/types/Dispatcher/Mocks/MockSubmitResult.d.ts +5 -5
- package/dist/types/Dispatcher/Mocks/MockSubmitResult.d.ts.map +1 -1
- package/dist/types/Dispatcher/Mocks/ShowSelectModelUCMock.d.ts +4 -1
- package/dist/types/Dispatcher/Mocks/ShowSelectModelUCMock.d.ts.map +1 -1
- package/dist/types/Environment/UCs/SerializeEnvironment.d.ts +1 -1
- package/dist/types/Hideable/UCs/SerializeHideableObjects.d.ts +2 -2
- package/dist/types/HoverLabel/UseCases/SerializeAllowHoverLabel.d.ts +1 -1
- package/dist/types/Label/UC/SerializeCustomLabels.d.ts +1 -2
- package/dist/types/Label/UC/SerializeCustomLabels.d.ts.map +1 -1
- package/dist/types/LabelDrop/UseCases/SerializeLabelDrop.d.ts +1 -1
- package/dist/types/Landmarks/UseCases/SerializeLandmarks.d.ts +1 -1
- package/dist/types/ObjectPick/UseCases/SerializeObjectPick.d.ts +1 -1
- package/dist/types/OverlayColor/UC/SerializeOverlayColoredObjects.d.ts +2 -2
- package/dist/types/Question/UC/SerializeQuestionChallenge.d.ts +1 -1
- package/dist/types/RequestHandler/Entities/AppHandler.d.ts +1 -0
- package/dist/types/RequestHandler/Entities/AppHandler.d.ts.map +1 -1
- package/dist/types/RequestHandler/Factories/RequestHandlerFeatureFactory.d.ts +19 -20
- package/dist/types/RequestHandler/Factories/RequestHandlerFeatureFactory.d.ts.map +1 -1
- package/dist/types/RequestHandler/Factories/RequestHandlerFeatureFactory.test.d.ts +2 -0
- package/dist/types/RequestHandler/Factories/RequestHandlerFeatureFactory.test.d.ts.map +1 -0
- package/dist/types/RequestHandler/Mocks/MockAppHandlerEntity.d.ts +1 -0
- package/dist/types/RequestHandler/Mocks/MockAppHandlerEntity.d.ts.map +1 -1
- package/dist/types/SceneRoot/UC/SerializeSceneRoot.d.ts +1 -1
- package/dist/types/StateMachine/Controller/clickRestorePreviousState.d.ts +7 -0
- package/dist/types/StateMachine/Controller/clickRestorePreviousState.d.ts.map +1 -0
- package/dist/types/StateMachine/Controller/clickRestorePreviousState.test.d.ts +2 -0
- package/dist/types/StateMachine/Controller/clickRestorePreviousState.test.d.ts.map +1 -0
- package/dist/types/StateMachine/Controller/index.d.ts +1 -1
- package/dist/types/StateMachine/Controller/index.d.ts.map +1 -1
- package/dist/types/StateMachine/Entities/StateMachineEntity.d.ts +87 -2
- package/dist/types/StateMachine/Entities/StateMachineEntity.d.ts.map +1 -1
- package/dist/types/StoredView/PM/HasStoredViewPM.d.ts +2 -2
- package/dist/types/StoredView/PM/HasStoredViewPM.d.ts.map +1 -1
- package/dist/types/StoredView/UC/SerializeStoredView.d.ts +1 -1
- package/dist/types/Stylus/PMs/StylusIsInUsePM.d.ts +2 -2
- package/dist/types/Stylus/PMs/StylusIsInUsePM.d.ts.map +1 -1
- package/dist/types/Transform3D/UC/MoveTransformUC.d.ts +3 -3
- package/dist/types/Transform3D/UC/MoveTransformUC.d.ts.map +1 -1
- package/dist/types/Transform3D/UC/PanTransformUC.d.ts +3 -3
- package/dist/types/Transform3D/UC/PanTransformUC.d.ts.map +1 -1
- package/dist/types/Transform3D/UC/TryMoveTransformUC.d.ts +1 -1
- package/dist/types/Transform3D/UC/TryMoveTransformUC.d.ts.map +1 -1
- package/dist/types/Transform3D/UC/TryPanTransformUC.d.ts +2 -2
- package/dist/types/Transform3D/UC/TryPanTransformUC.d.ts.map +1 -1
- package/dist/types/Transparency/UCs/SerializeTransparentObjects.d.ts +2 -2
- package/dist/types/zSpace/PM/ZSpaceIsEnabledPM.d.ts +2 -2
- package/dist/types/zSpace/PM/ZSpaceIsEnabledPM.d.ts.map +1 -1
- package/dist/types/zSpace/PM/ZSpaceIsSupportedPM.d.ts +2 -2
- package/dist/types/zSpace/PM/ZSpaceIsSupportedPM.d.ts.map +1 -1
- package/package.json +4 -3
- package/src/Dispatcher/README.md +652 -0
- package/src/RequestHandler/README.md +790 -0
- package/src/StateMachine/README.md +430 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TryAddNewLandmarkUC.test.js","sourceRoot":"","sources":["../../../../src/Landmarks/UseCases/TryAddNewLandmarkUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport { ParametricLine, Quaternion, Vector3 } from \"@vived/core\";\nimport { makeMockSceneRayPickUC, SceneRayPick } from \"../../Babylon\";\nimport { makeMockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\nimport { makeToolRepo } from \"../../Tools\";\nimport { makeMockUndoRedo } from \"../../UndoRedo/Mocks/MockUndoRedo\";\nimport { makeLandmarkGlobals } from \"../Entities\";\nimport { makeLandmarkRepoEntity } from \"../Entities/LandmarkRepo\";\nimport { makeTryAddLandmarkUC } from \"./TryAddNewLandmarkUC\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const dispatchStateChange = makeMockDispatchStateChange(appObjects);\n const doDispatchMock = jest.fn();\n dispatchStateChange.doDispatch = doDispatchMock;\n\n const mockUndo = makeMockUndoRedo(appObjects);\n const submitActionMock = jest.fn();\n mockUndo.submitAction = submitActionMock;\n\n const mockRayPick = makeMockSceneRayPickUC(appObjects);\n const mockPick = jest.fn().mockReturnValue({\n hit: true,\n appObjectID: \"anAppObject\",\n normal: Vector3.Forward(),\n worldPickPoint: Vector3.Zero(),\n });\n mockRayPick.sceneRayPick = mockPick;\n\n const pickedAO = appObjects.getOrCreate(\"anAppObject\");\n const repo = makeLandmarkRepoEntity(pickedAO);\n\n const landmarkGlobals = makeLandmarkGlobals(\n appObjects.getOrCreate(\"LandmarkGlobals\"),\n );\n const tryAddLandmarkUC = makeTryAddLandmarkUC(pickedAO);\n\n const toolRepo = makeToolRepo(appObjects.getOrCreate(\"ToolRepo\"));\n toolRepo.makeTool(\"LANDMARK\");\n toolRepo.makeTool(\"OTHER\");\n toolRepo.triggerTool(\"LANDMARK\");\n\n return {\n tryAddLandmarkUC,\n landmarkGlobals,\n mockPick,\n repo,\n doDispatchMock,\n mockUndo,\n submitActionMock,\n toolRepo,\n };\n}\n\ndescribe(\"Try Add Landmark Test\", () => {\n it(\"Tries to add new landmark\", () => {\n const { repo, tryAddLandmarkUC } = makeTestRig();\n\n const newLandmark = tryAddLandmarkUC.addFromRay(ParametricLine.Forward());\n if (!newLandmark) {\n expect(1).toEqual(0);\n return;\n }\n\n expect(repo.hasForAppObject(newLandmark.appObject.id)).toEqual(true);\n });\n\n it(\"Sets the position to the pick pos\", () => {\n const { tryAddLandmarkUC, mockPick } = makeTestRig();\n\n mockPick.mockReturnValue({\n hit: true,\n appObjectID: \"anAppObject\",\n normal: Vector3.Forward(),\n worldPickPoint: new Vector3(1, 2, 3),\n });\n\n const newLandmark = tryAddLandmarkUC.addFromRay(ParametricLine.Forward());\n if (!newLandmark) {\n expect(1).toEqual(0);\n return;\n }\n\n expect(newLandmark.position).toEqual(new Vector3(1, 2, 3));\n });\n\n it(\"Sets the rotation to the look rotation\", () => {\n const { tryAddLandmarkUC, mockPick } = makeTestRig();\n\n mockPick.mockReturnValue({\n hit: true,\n appObjectID: \"anAppObject\",\n normal: new Vector3(1, 2, 3),\n worldPickPoint: Vector3.Zero(),\n });\n\n const newLandmark = tryAddLandmarkUC.addFromRay(ParametricLine.Forward());\n if (!newLandmark) {\n expect(1).toEqual(0);\n return;\n }\n const expectedQ = Quaternion.FromDirectionVector(new Vector3(1, 2, 3));\n\n expect(Quaternion.Close(newLandmark.rotation, expectedQ)).toEqual(true);\n });\n\n it(\"Sets the last size from landmarkGlobals\", () => {\n const { tryAddLandmarkUC, landmarkGlobals } = makeTestRig();\n\n landmarkGlobals.lastSize = 0.8;\n\n const newLandmark = tryAddLandmarkUC.addFromRay(ParametricLine.Forward());\n\n expect(newLandmark?.size).toEqual(0.8);\n });\n\n it(\"Sets label\", () => {\n const { tryAddLandmarkUC } = makeTestRig();\n\n const newLandmark = tryAddLandmarkUC.addFromRay(ParametricLine.Forward());\n\n expect(newLandmark?.label.display).toEqual(\"\");\n });\n\n it(\"Submits an undo\", () => {\n const { tryAddLandmarkUC, submitActionMock } = makeTestRig();\n\n tryAddLandmarkUC.addFromRay(ParametricLine.Forward());\n\n expect(submitActionMock).toHaveBeenCalled();\n });\n\n it(\"Dispatches state change\", () => {\n const { tryAddLandmarkUC, doDispatchMock } = makeTestRig();\n\n const newLandmark = tryAddLandmarkUC.addFromRay(ParametricLine.Forward());\n if (!newLandmark) {\n expect(1).toEqual(0);\n return;\n }\n\n expect(doDispatchMock).toHaveBeenCalled();\n });\n\n it(\"Does not add if allow is returns false\", () => {\n const { tryAddLandmarkUC } = makeTestRig();\n\n tryAddLandmarkUC.allow = () => {\n return false;\n };\n\n const newLandmark = tryAddLandmarkUC.addFromRay(ParametricLine.Forward());\n\n expect(newLandmark).toBeUndefined();\n });\n\n it(\"Does not allow if the tool is not Callout\", () => {\n const { tryAddLandmarkUC, toolRepo } = makeTestRig();\n\n toolRepo.triggerTool(\"OTHER\");\n\n expect(tryAddLandmarkUC.allow()).toEqual(false);\n\n toolRepo.triggerTool(\"LANDMARK\");\n\n expect(tryAddLandmarkUC.allow()).toEqual(true);\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"TryAddNewLandmarkUC.test.js","sourceRoot":"","sources":["../../../../src/Landmarks/UseCases/TryAddNewLandmarkUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport { ParametricLine, Quaternion, Vector3 } from \"@vived/core\";\nimport { makeMockSceneRayPickUC, SceneRayPick } from \"../../Babylon\";\nimport { makeMockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\nimport { makeSelection } from \"../../Selection/Entities/Selection\";\nimport { makeToolRepo } from \"../../Tools\";\nimport { makeMockUndoRedo } from \"../../UndoRedo/Mocks/MockUndoRedo\";\nimport { makeLandmarkGlobals } from \"../Entities\";\nimport { makeLandmarkRepoEntity } from \"../Entities/LandmarkRepo\";\nimport { makeTryAddLandmarkUC } from \"./TryAddNewLandmarkUC\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const dispatchStateChange = makeMockDispatchStateChange(appObjects);\n const doDispatchMock = jest.fn();\n dispatchStateChange.doDispatch = doDispatchMock;\n\n const mockUndo = makeMockUndoRedo(appObjects);\n const submitActionMock = jest.fn();\n mockUndo.submitAction = submitActionMock;\n\n const mockRayPick = makeMockSceneRayPickUC(appObjects);\n const mockPick = jest.fn().mockReturnValue({\n hit: true,\n appObjectID: \"anAppObject\",\n normal: Vector3.Forward(),\n worldPickPoint: Vector3.Zero(),\n });\n mockRayPick.sceneRayPick = mockPick;\n\n const pickedAO = appObjects.getOrCreate(\"anAppObject\");\n const repo = makeLandmarkRepoEntity(pickedAO);\n\n const landmarkGlobals = makeLandmarkGlobals(\n appObjects.getOrCreate(\"LandmarkGlobals\"),\n );\n const selection = makeSelection(appObjects.getOrCreate(\"Selection\"));\n const tryAddLandmarkUC = makeTryAddLandmarkUC(pickedAO);\n\n const toolRepo = makeToolRepo(appObjects.getOrCreate(\"ToolRepo\"));\n toolRepo.makeTool(\"LANDMARK\");\n toolRepo.makeTool(\"OTHER\");\n toolRepo.triggerTool(\"LANDMARK\");\n\n return {\n tryAddLandmarkUC,\n landmarkGlobals,\n mockPick,\n repo,\n doDispatchMock,\n mockUndo,\n submitActionMock,\n toolRepo,\n };\n}\n\ndescribe(\"Try Add Landmark Test\", () => {\n it(\"Tries to add new landmark\", () => {\n const { repo, tryAddLandmarkUC } = makeTestRig();\n\n const newLandmark = tryAddLandmarkUC.addFromRay(ParametricLine.Forward());\n if (!newLandmark) {\n expect(1).toEqual(0);\n return;\n }\n\n expect(repo.hasForAppObject(newLandmark.appObject.id)).toEqual(true);\n });\n\n it(\"Sets the position to the pick pos\", () => {\n const { tryAddLandmarkUC, mockPick } = makeTestRig();\n\n mockPick.mockReturnValue({\n hit: true,\n appObjectID: \"anAppObject\",\n normal: Vector3.Forward(),\n worldPickPoint: new Vector3(1, 2, 3),\n });\n\n const newLandmark = tryAddLandmarkUC.addFromRay(ParametricLine.Forward());\n if (!newLandmark) {\n expect(1).toEqual(0);\n return;\n }\n\n expect(newLandmark.position).toEqual(new Vector3(1, 2, 3));\n });\n\n it(\"Sets the rotation to the look rotation\", () => {\n const { tryAddLandmarkUC, mockPick } = makeTestRig();\n\n mockPick.mockReturnValue({\n hit: true,\n appObjectID: \"anAppObject\",\n normal: new Vector3(1, 2, 3),\n worldPickPoint: Vector3.Zero(),\n });\n\n const newLandmark = tryAddLandmarkUC.addFromRay(ParametricLine.Forward());\n if (!newLandmark) {\n expect(1).toEqual(0);\n return;\n }\n const expectedQ = Quaternion.FromDirectionVector(new Vector3(1, 2, 3));\n\n expect(Quaternion.Close(newLandmark.rotation, expectedQ)).toEqual(true);\n });\n\n it(\"Sets the last size from landmarkGlobals\", () => {\n const { tryAddLandmarkUC, landmarkGlobals } = makeTestRig();\n\n landmarkGlobals.lastSize = 0.8;\n\n const newLandmark = tryAddLandmarkUC.addFromRay(ParametricLine.Forward());\n\n expect(newLandmark?.size).toEqual(0.8);\n });\n\n it(\"Sets label\", () => {\n const { tryAddLandmarkUC } = makeTestRig();\n\n const newLandmark = tryAddLandmarkUC.addFromRay(ParametricLine.Forward());\n\n expect(newLandmark?.label.display).toEqual(\"\");\n });\n\n it(\"Submits an undo\", () => {\n const { tryAddLandmarkUC, submitActionMock } = makeTestRig();\n\n tryAddLandmarkUC.addFromRay(ParametricLine.Forward());\n\n expect(submitActionMock).toHaveBeenCalled();\n });\n\n it(\"Dispatches state change\", () => {\n const { tryAddLandmarkUC, doDispatchMock } = makeTestRig();\n\n const newLandmark = tryAddLandmarkUC.addFromRay(ParametricLine.Forward());\n if (!newLandmark) {\n expect(1).toEqual(0);\n return;\n }\n\n expect(doDispatchMock).toHaveBeenCalled();\n });\n\n it(\"Does not add if allow is returns false\", () => {\n const { tryAddLandmarkUC } = makeTestRig();\n\n tryAddLandmarkUC.allow = () => {\n return false;\n };\n\n const newLandmark = tryAddLandmarkUC.addFromRay(ParametricLine.Forward());\n\n expect(newLandmark).toBeUndefined();\n });\n\n it(\"Does not allow if the tool is not Callout\", () => {\n const { tryAddLandmarkUC, toolRepo } = makeTestRig();\n\n toolRepo.triggerTool(\"OTHER\");\n\n expect(tryAddLandmarkUC.allow()).toEqual(false);\n\n toolRepo.triggerTool(\"LANDMARK\");\n\n expect(tryAddLandmarkUC.allow()).toEqual(true);\n });\n});\n"]}
|
|
@@ -35,7 +35,7 @@ class SerializeObjectPick extends core_1.AppObjectUC {
|
|
|
35
35
|
constructor(appObject) {
|
|
36
36
|
super(appObject, SerializeObjectPick.type);
|
|
37
37
|
this.name = "object-pick";
|
|
38
|
-
this.
|
|
38
|
+
this.serializationVersion = 1;
|
|
39
39
|
const objectPick = ObjectPickEntity_1.ObjectPickEntity.get(this.appObjects);
|
|
40
40
|
if (!objectPick) {
|
|
41
41
|
throw new Error("[SerializeObjectPick] App Object does not have a Object Pick Entity. Add one");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SerializeObjectPick.js","sourceRoot":"","sources":["../../../../src/ObjectPick/UseCases/SerializeObjectPick.ts"],"names":[],"mappings":";;;AAAA,sCAAqD;AACrD,qDAA0E;AAC1E,mEAAgE;AAEhE,MAAa,mBACX,SAAQ,kBAAW;IAUnB,cAAc;QACZ,MAAM,KAAK,GAA2B;YACpC,gBAAgB,EAAE,IAAI,CAAC,UAAU,CAAC,gBAAgB;SACnD,CAAC;QAEF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,gBAAgB,CAAC,KAAa,EAAE,OAAe;QAC7C,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;YAClB,IAAI,CAAC,YAAY,CAAC,KAA+B,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,KAA6B;QAChD,IAAI,KAAK,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACzC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC;QACxC,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YACpC,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC;IAC1C,CAAC;IAED,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAtC7C,SAAI,GAAG,aAAa,CAAC;QACrB,yBAAoB,GAAG,CAAC,CAAC;QAuCvB,MAAM,UAAU,GAAG,mCAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACb,8EAA8E,CAC/E,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,MAAM,YAAY,GAAG,iCAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QACrE,IAAI,YAAY,EAAE,CAAC;YACjB,YAAY,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;;AA5DH,kDA6DC;AAzDiB,wBAAI,GAAG,qBAAqB,AAAxB,CAAyB","sourcesContent":["import { AppObject, AppObjectUC } from \"@vived/core\";\nimport { SerializedSystem, StateMachineEntity } from \"../../StateMachine\";\nimport { ObjectPickEntity } from \"../Entities/ObjectPickEntity\";\n\nexport class SerializeObjectPick\n extends AppObjectUC\n implements SerializedSystem\n{\n static readonly type = \"SerializeObjectPick\";\n\n name = \"object-pick\";\n
|
|
1
|
+
{"version":3,"file":"SerializeObjectPick.js","sourceRoot":"","sources":["../../../../src/ObjectPick/UseCases/SerializeObjectPick.ts"],"names":[],"mappings":";;;AAAA,sCAAqD;AACrD,qDAA0E;AAC1E,mEAAgE;AAEhE,MAAa,mBACX,SAAQ,kBAAW;IAUnB,cAAc;QACZ,MAAM,KAAK,GAA2B;YACpC,gBAAgB,EAAE,IAAI,CAAC,UAAU,CAAC,gBAAgB;SACnD,CAAC;QAEF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,gBAAgB,CAAC,KAAa,EAAE,OAAe;QAC7C,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;YAClB,IAAI,CAAC,YAAY,CAAC,KAA+B,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,KAA6B;QAChD,IAAI,KAAK,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACzC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC;QACxC,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YACpC,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC;IAC1C,CAAC;IAED,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAtC7C,SAAI,GAAG,aAAa,CAAC;QACrB,yBAAoB,GAAG,CAAC,CAAC;QAuCvB,MAAM,UAAU,GAAG,mCAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACb,8EAA8E,CAC/E,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,MAAM,YAAY,GAAG,iCAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QACrE,IAAI,YAAY,EAAE,CAAC;YACjB,YAAY,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;;AA5DH,kDA6DC;AAzDiB,wBAAI,GAAG,qBAAqB,AAAxB,CAAyB","sourcesContent":["import { AppObject, AppObjectUC } from \"@vived/core\";\nimport { SerializedSystem, StateMachineEntity } from \"../../StateMachine\";\nimport { ObjectPickEntity } from \"../Entities/ObjectPickEntity\";\n\nexport class SerializeObjectPick\n extends AppObjectUC\n implements SerializedSystem\n{\n static readonly type = \"SerializeObjectPick\";\n\n name = \"object-pick\";\n serializationVersion = 1;\n\n private objectPick: ObjectPickEntity;\n\n getSystemState(): object {\n const state: SerializedObjectPickV1 = {\n correctObjectIds: this.objectPick.correctObjectIds,\n };\n\n return state;\n }\n\n applySystemState(state: object, version: number): void {\n if (version === 1) {\n this.applyStateV1(state as SerializedObjectPickV1);\n } else {\n this.applyDefaultState();\n }\n }\n\n private applyStateV1(state: SerializedObjectPickV1) {\n if (state.correctObjectIds === undefined) {\n this.applyDefaultState();\n return;\n }\n\n this.objectPick.clearCorrectObjectIds();\n state.correctObjectIds.forEach((id) => {\n this.objectPick.addCorrectObjectId(id);\n });\n }\n\n applyDefaultState(): void {\n this.objectPick.clearCorrectObjectIds();\n }\n\n constructor(appObject: AppObject) {\n super(appObject, SerializeObjectPick.type);\n\n const objectPick = ObjectPickEntity.get(this.appObjects);\n if (!objectPick) {\n throw new Error(\n \"[SerializeObjectPick] App Object does not have a Object Pick Entity. Add one\",\n );\n }\n this.objectPick = objectPick;\n\n const stateMachine = StateMachineEntity.get(appObject.appObjectRepo);\n if (stateMachine) {\n stateMachine.registerSerializedSystem(this);\n } else {\n this.warn(\"Unable to find StateMachineEntity\");\n }\n }\n}\n\nexport interface SerializedObjectPickV1 {\n correctObjectIds: string[];\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrySelectObjectPickUC.test.js","sourceRoot":"","sources":["../../../../src/ObjectPick/UseCases/TrySelectObjectPickUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport { ParametricLine, Vector2, Vector3 } from \"@vived/core\";\nimport { makeBaseAppState } from \"../../BaseApp/Entity/BaseAppState\";\nimport {\n makeMockPixelToSceneRayUC,\n makeMockSceneRayPickUC,\n} from \"../../Babylon/Mocks\";\nimport { SceneRayPick } from \"../../Babylon/UC/SceneRayPickUC\";\nimport { makeChallengeEntityMock } from \"../../Challenge/Mocks/ChallengeEntityMock\";\nimport { makeMockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\nimport { makeUndoRedoEntity } from \"../../UndoRedo/Entities/UndoRedoEntity\";\nimport { makeObjectPickEntity } from \"../Entities/ObjectPickEntity\";\nimport {\n makeTrySelectObjectPickUC,\n TrySelectObjectPickUC,\n} from \"./TrySelectObjectPickUC\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const mockDispatchStateChange = makeMockDispatchStateChange(appObjects);\n const doDispatchMock = jest.fn();\n mockDispatchStateChange.doDispatch = doDispatchMock;\n\n const baseApp = makeBaseAppState(appObjects.getOrCreate(\"App\"));\n const undo = makeUndoRedoEntity(appObjects.getOrCreate(\"Undo\"));\n const challenge = makeChallengeEntityMock(appObjects);\n\n const objectPick = makeObjectPickEntity(appObjects.getOrCreate(\"ObjectPick\"));\n\n baseApp.isAuthoring = true;\n objectPick.isSelectingCorrectObjects = true;\n challenge.selectedChallenge = \"OBJECT_PICK\";\n\n const mockPickResult: SceneRayPick = {\n hit: true,\n appObjectID: \"sceneObject\",\n };\n const mockRayPick = makeMockSceneRayPickUC(appObjects);\n const mockPick = jest.fn().mockReturnValue(mockPickResult);\n mockRayPick.sceneRayPick = mockPick;\n\n const mockPixelToRay = makeMockPixelToSceneRayUC(appObjects);\n mockPixelToRay.pixelToSceneRay = jest.fn();\n\n const uc = makeTrySelectObjectPickUC(appObjects.getOrCreate(\"ObjectPick\"));\n\n return {\n objectPick,\n uc,\n baseApp,\n doDispatchMock,\n appObjects,\n mockPixelToRay,\n undo,\n mockPick,\n };\n}\n\ndescribe(\"Try Select Object Pick Use Case\", () => {\n it(\"Gets the singleton\", () => {\n const { appObjects, uc } = makeTestRig();\n\n expect(TrySelectObjectPickUC.get(appObjects)).toEqual(uc);\n });\n\n it(\"Forms the pixel into a ray and passed it to the try with ray\", () => {\n const { mockPixelToRay, uc } = makeTestRig();\n\n const mockRay = ParametricLine.FromTwoPoint(\n new Vector3(1, 2, 3),\n new Vector3(4, 5, 6)
|
|
1
|
+
{"version":3,"file":"TrySelectObjectPickUC.test.js","sourceRoot":"","sources":["../../../../src/ObjectPick/UseCases/TrySelectObjectPickUC.test.ts"],"names":[],"mappings":";;AAAA,sCAAgD;AAChD,sCAA+D;AAC/D,oEAAqE;AACrE,+CAG6B;AAE7B,mFAAoF;AACpF,4FAA6F;AAC7F,2EAA4E;AAC5E,mEAAoE;AACpE,mEAGiC;AAEjC,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAC;IACvC,MAAM,uBAAuB,GAAG,IAAA,qDAA2B,EAAC,UAAU,CAAC,CAAC;IACxE,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACjC,uBAAuB,CAAC,UAAU,GAAG,cAAc,CAAC;IAEpD,MAAM,OAAO,GAAG,IAAA,+BAAgB,EAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,IAAA,mCAAkB,EAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,IAAA,6CAAuB,EAAC,UAAU,CAAC,CAAC;IAEtD,MAAM,UAAU,GAAG,IAAA,uCAAoB,EAAC,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC;IAE9E,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAC3B,UAAU,CAAC,yBAAyB,GAAG,IAAI,CAAC;IAC5C,SAAS,CAAC,iBAAiB,GAAG,aAAa,CAAC;IAE5C,MAAM,cAAc,GAAiB;QACnC,GAAG,EAAE,IAAI;QACT,WAAW,EAAE,aAAa;KAC3B,CAAC;IACF,MAAM,WAAW,GAAG,IAAA,8BAAsB,EAAC,UAAU,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;IAC3D,WAAW,CAAC,YAAY,GAAG,QAAQ,CAAC;IAEpC,MAAM,cAAc,GAAG,IAAA,iCAAyB,EAAC,UAAU,CAAC,CAAC;IAC7D,cAAc,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAE3C,MAAM,EAAE,GAAG,IAAA,iDAAyB,EAAC,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC;IAE3E,OAAO;QACL,UAAU;QACV,EAAE;QACF,OAAO;QACP,cAAc;QACd,UAAU;QACV,cAAc;QACd,IAAI;QACJ,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;IAC/C,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC;QAEzC,MAAM,CAAC,6CAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACtE,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC;QAE7C,MAAM,OAAO,GAAG,qBAAc,CAAC,YAAY,CACzC,IAAI,cAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACpB,IAAI,cAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CACrB,CAAC;QACD,cAAc,CAAC,eAA6B,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAEvE,EAAE,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAE1B,EAAE,CAAC,YAAY,CAAC,IAAI,cAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAEnC,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,oBAAoB,CACzD,IAAI,cAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAClB,CAAC;QACF,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAEzC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;QAEzD,EAAE,CAAC,UAAU,CAAC,qBAAc,CAAC,OAAO,EAAE,CAAC,CAAC;QAExC,MAAM,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAEnD,MAAM,cAAc,GAAiB;YACnC,GAAG,EAAE,KAAK;SACX,CAAC;QACF,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;QAEzC,cAAc,CAAC,GAAG,GAAG,KAAK,CAAC;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;QAEzD,EAAE,CAAC,UAAU,CAAC,qBAAc,CAAC,OAAO,EAAE,CAAC,CAAC;QAExC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAEnD,MAAM,cAAc,GAAiB;YACnC,GAAG,EAAE,IAAI;YACT,WAAW,EAAE,SAAS;SACvB,CAAC;QACF,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;QAEzC,cAAc,CAAC,GAAG,GAAG,KAAK,CAAC;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;QAEzD,EAAE,CAAC,UAAU,CAAC,qBAAc,CAAC,OAAO,EAAE,CAAC,CAAC;QAExC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,EAAE,EAAE,EAAE,cAAc,EAAE,GAAG,WAAW,EAAE,CAAC;QAE7C,EAAE,CAAC,UAAU,CAAC,qBAAc,CAAC,OAAO,EAAE,CAAC,CAAC;QAExC,MAAM,CAAC,cAAc,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAE/C,EAAE,CAAC,UAAU,CAAC,qBAAc,CAAC,OAAO,EAAE,CAAC,CAAC;QAExC,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;QAE7D,IAAI,CAAC,MAAM,EAAE,CAAC;QAEd,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEhD,IAAI,CAAC,MAAM,EAAE,CAAC;QAEd,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,WAAW,EAAE,CAAC;QACnD,EAAE,CAAC,UAAU,CAAC,qBAAc,CAAC,OAAO,EAAE,CAAC,CAAC;QAExC,cAAc,CAAC,SAAS,EAAE,CAAC;QAE3B,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,MAAM,CAAC,cAAc,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAE1C,cAAc,CAAC,SAAS,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,EAAE,CAAC;QAEd,MAAM,CAAC,cAAc,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport { ParametricLine, Vector2, Vector3 } from \"@vived/core\";\nimport { makeBaseAppState } from \"../../BaseApp/Entity/BaseAppState\";\nimport {\n makeMockPixelToSceneRayUC,\n makeMockSceneRayPickUC,\n} from \"../../Babylon/Mocks\";\nimport { SceneRayPick } from \"../../Babylon/UC/SceneRayPickUC\";\nimport { makeChallengeEntityMock } from \"../../Challenge/Mocks/ChallengeEntityMock\";\nimport { makeMockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\nimport { makeUndoRedoEntity } from \"../../UndoRedo/Entities/UndoRedoEntity\";\nimport { makeObjectPickEntity } from \"../Entities/ObjectPickEntity\";\nimport {\n makeTrySelectObjectPickUC,\n TrySelectObjectPickUC,\n} from \"./TrySelectObjectPickUC\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const mockDispatchStateChange = makeMockDispatchStateChange(appObjects);\n const doDispatchMock = jest.fn();\n mockDispatchStateChange.doDispatch = doDispatchMock;\n\n const baseApp = makeBaseAppState(appObjects.getOrCreate(\"App\"));\n const undo = makeUndoRedoEntity(appObjects.getOrCreate(\"Undo\"));\n const challenge = makeChallengeEntityMock(appObjects);\n\n const objectPick = makeObjectPickEntity(appObjects.getOrCreate(\"ObjectPick\"));\n\n baseApp.isAuthoring = true;\n objectPick.isSelectingCorrectObjects = true;\n challenge.selectedChallenge = \"OBJECT_PICK\";\n\n const mockPickResult: SceneRayPick = {\n hit: true,\n appObjectID: \"sceneObject\",\n };\n const mockRayPick = makeMockSceneRayPickUC(appObjects);\n const mockPick = jest.fn().mockReturnValue(mockPickResult);\n mockRayPick.sceneRayPick = mockPick;\n\n const mockPixelToRay = makeMockPixelToSceneRayUC(appObjects);\n mockPixelToRay.pixelToSceneRay = jest.fn();\n\n const uc = makeTrySelectObjectPickUC(appObjects.getOrCreate(\"ObjectPick\"));\n\n return {\n objectPick,\n uc,\n baseApp,\n doDispatchMock,\n appObjects,\n mockPixelToRay,\n undo,\n mockPick,\n };\n}\n\ndescribe(\"Try Select Object Pick Use Case\", () => {\n it(\"Gets the singleton\", () => {\n const { appObjects, uc } = makeTestRig();\n\n expect(TrySelectObjectPickUC.get(appObjects)).toEqual(uc);\n });\n\n it(\"Forms the pixel into a ray and passed it to the try with ray\", () => {\n const { mockPixelToRay, uc } = makeTestRig();\n\n const mockRay = ParametricLine.FromTwoPoint(\n new Vector3(1, 2, 3),\n new Vector3(4, 5, 6),\n );\n (mockPixelToRay.pixelToSceneRay as jest.Mock).mockReturnValue(mockRay);\n\n uc.tryWithRay = jest.fn();\n\n uc.tryWithPixel(new Vector2(7, 8));\n\n expect(mockPixelToRay.pixelToSceneRay).toHaveBeenCalledWith(\n new Vector2(7, 8),\n );\n expect(uc.tryWithRay).toHaveBeenCalledWith(mockRay);\n });\n\n it(\"Tries Select Object Pick successfully\", () => {\n const { uc, objectPick } = makeTestRig();\n\n const spy = jest.spyOn(objectPick, \"addCorrectObjectId\");\n\n uc.tryWithRay(ParametricLine.Forward());\n\n expect(spy).toHaveBeenCalledWith(\"sceneObject\");\n });\n\n it(\"Does not add when the pick does not hit\", () => {\n const { uc, mockPick, objectPick } = makeTestRig();\n\n const mockPickResult: SceneRayPick = {\n hit: false,\n };\n mockPick.mockReturnValue(mockPickResult);\n\n mockPickResult.hit = false;\n const spy = jest.spyOn(objectPick, \"addCorrectObjectId\");\n\n uc.tryWithRay(ParametricLine.Forward());\n\n expect(spy).not.toHaveBeenCalled();\n });\n\n it(\"Does not add when the pick does not an app object\", () => {\n const { uc, mockPick, objectPick } = makeTestRig();\n\n const mockPickResult: SceneRayPick = {\n hit: true,\n appObjectID: undefined,\n };\n mockPick.mockReturnValue(mockPickResult);\n\n mockPickResult.hit = false;\n const spy = jest.spyOn(objectPick, \"addCorrectObjectId\");\n\n uc.tryWithRay(ParametricLine.Forward());\n\n expect(spy).not.toHaveBeenCalled();\n });\n\n it(\"Dispatches a state change\", () => {\n const { uc, doDispatchMock } = makeTestRig();\n\n uc.tryWithRay(ParametricLine.Forward());\n\n expect(doDispatchMock).toHaveBeenCalled();\n });\n\n it(\"Is undoable and redoable\", () => {\n const { uc, undo, objectPick } = makeTestRig();\n\n uc.tryWithRay(ParametricLine.Forward());\n\n expect(objectPick.correctObjectIds).toEqual([\"sceneObject\"]);\n\n undo.doUndo();\n\n expect(objectPick.correctObjectIds).toEqual([]);\n\n undo.doRedo();\n\n expect(objectPick.correctObjectIds).toEqual([\"sceneObject\"]);\n });\n\n it(\"Undo and redo dispatch a state change\", () => {\n const { uc, undo, doDispatchMock } = makeTestRig();\n uc.tryWithRay(ParametricLine.Forward());\n\n doDispatchMock.mockClear();\n\n undo.doUndo();\n expect(doDispatchMock).toHaveBeenCalled();\n\n doDispatchMock.mockClear();\n undo.doRedo();\n\n expect(doDispatchMock).toHaveBeenCalled();\n });\n});\n"]}
|
|
@@ -14,6 +14,7 @@ function makeTestRig() {
|
|
|
14
14
|
baseApp.isAuthoring = false;
|
|
15
15
|
const challenge = (0, Challenge_1.makeChallengeEntityMock)(appObjects);
|
|
16
16
|
const mockSubmitResult = (0, Dispatcher_1.makeMockSubmitResult)(appObjects);
|
|
17
|
+
mockSubmitResult.submitHitResult = jest.fn();
|
|
17
18
|
const mockPickResult = {
|
|
18
19
|
hit: true,
|
|
19
20
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrySubmitObjectPickUC.test.js","sourceRoot":"","sources":["../../../../src/ObjectPick/UseCases/TrySubmitObjectPickUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport { ParametricLine, Vector2, Vector3 } from \"@vived/core\";\nimport { makeBaseAppState } from \"../../BaseApp/Entity/BaseAppState\";\nimport {\n makeMockPixelToSceneRayUC,\n makeMockSceneRayPickUC,\n SceneRayPick,\n} from \"../../Babylon\";\nimport { makeChallengeEntityMock } from \"../../Challenge\";\nimport { makeMockSubmitResult } from \"../../Dispatcher\";\nimport { makeObjectPickEntity } from \"../Entities/ObjectPickEntity\";\nimport {\n makeTrySubmitObjectPickUC,\n TrySubmitObjectPickUC,\n} from \"./TrySubmitObjectPickUC\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n\n const baseApp = makeBaseAppState(appObjects.getOrCreate(\"App\"));\n baseApp.isAuthoring = false;\n\n const challenge = makeChallengeEntityMock(appObjects);\n\n const mockSubmitResult = makeMockSubmitResult(appObjects);\n\n const mockPickResult: SceneRayPick = {\n hit: true,\n };\n const mockRayPick = makeMockSceneRayPickUC(appObjects);\n const mockPick = jest.fn().mockReturnValue(mockPickResult);\n mockRayPick.sceneRayPick = mockPick;\n\n const mockPixelToRay = makeMockPixelToSceneRayUC(appObjects);\n mockPixelToRay.pixelToSceneRay = jest.fn();\n\n const objectPick = makeObjectPickEntity(appObjects.getOrCreate(\"ObjectPick\"));\n\n const sceneObject = appObjects.getOrCreate(\"parent\");\n\n const uc = makeTrySubmitObjectPickUC(appObjects.getOrCreate(\"ObjectPick\"));\n const trySubmitObjectPick = uc.tryWithRay;\n\n return {\n trySubmitObjectPick,\n objectPick,\n mockSubmitResult,\n sceneObject,\n mockPickResult,\n baseApp,\n challenge,\n mockPixelToRay,\n appObjects,\n uc,\n };\n}\n\ndescribe(\"Submit Object Pick UC\", () => {\n it(\"Gets the singleton\", () => {\n const { appObjects, uc } = makeTestRig();\n\n expect(TrySubmitObjectPickUC.get(appObjects)).toEqual(uc);\n });\n\n it(\"Forms the pixel into a ray and passed it to the try with ray\", () => {\n const { mockPixelToRay, uc } = makeTestRig();\n\n const mockRay = ParametricLine.FromTwoPoint(\n new Vector3(1, 2, 3),\n new Vector3(4, 5, 6)\n );\n (mockPixelToRay.pixelToSceneRay as jest.Mock).mockReturnValue(mockRay);\n\n uc.tryWithRay = jest.fn();\n\n uc.tryWithPixel(new Vector2(7, 8));\n\n expect(mockPixelToRay.pixelToSceneRay).toHaveBeenCalledWith(\n new Vector2(7, 8)\n );\n expect(uc.tryWithRay).toHaveBeenCalledWith(mockRay);\n });\n\n it(\"Doesn't submit object pick when authoring\", () => {\n const { baseApp, objectPick, trySubmitObjectPick } = makeTestRig();\n const mockSubmit = jest.fn();\n\n baseApp.isAuthoring = true;\n objectPick.submit = mockSubmit;\n\n const pickRay = new ParametricLine({\n x0: 1,\n y0: 1,\n z0: 1,\n a: 1,\n b: 1,\n c: 1,\n });\n trySubmitObjectPick(pickRay);\n\n expect(mockSubmit).not.toHaveBeenCalled();\n });\n\n it(\"Doesn't submit object pick when challenge is not OBJECT_PICK\", () => {\n const { challenge, objectPick, trySubmitObjectPick } = makeTestRig();\n const mockSubmit = jest.fn();\n\n challenge.selectedChallenge = \"QUESTION\";\n objectPick.submit = mockSubmit;\n\n const pickRay = new ParametricLine({\n x0: 1,\n y0: 1,\n z0: 1,\n a: 1,\n b: 1,\n c: 1,\n });\n trySubmitObjectPick(pickRay);\n\n expect(mockSubmit).not.toHaveBeenCalled();\n });\n\n it(\"Doesn't submit object pick when app mode is review\", () => {\n const { baseApp, objectPick, trySubmitObjectPick } = makeTestRig();\n const mockSubmit = jest.fn();\n\n baseApp.isReviewing = true;\n objectPick.submit = mockSubmit;\n\n const pickRay = new ParametricLine({\n x0: 1,\n y0: 1,\n z0: 1,\n a: 1,\n b: 1,\n c: 1,\n });\n trySubmitObjectPick(pickRay);\n\n expect(mockSubmit).not.toHaveBeenCalled();\n });\n\n it(\"Submits object pick when not authoring\", () => {\n const {\n sceneObject,\n challenge,\n objectPick,\n trySubmitObjectPick,\n mockPickResult,\n } = makeTestRig();\n\n mockPickResult.appObjectID = sceneObject.id;\n\n const mockSubmit = jest.fn();\n\n challenge.selectedChallenge = \"OBJECT_PICK\";\n objectPick.submit = mockSubmit;\n\n const pickRay = new ParametricLine({\n x0: 1,\n y0: 1,\n z0: 1,\n a: 1,\n b: 1,\n c: 1,\n });\n trySubmitObjectPick(pickRay);\n\n expect(mockSubmit).toHaveBeenCalled();\n });\n\n it(\"Dispatches a submitHitResult\", () => {\n const {\n challenge,\n objectPick,\n sceneObject,\n mockPickResult,\n trySubmitObjectPick,\n mockSubmitResult,\n baseApp,\n } = makeTestRig();\n\n const mockSubmit = jest.fn();\n\n mockPickResult.appObjectID = sceneObject.id;\n\n challenge.selectedChallenge = \"OBJECT_PICK\";\n objectPick.submit = mockSubmit;\n\n const pickRay = new ParametricLine({\n x0: 1,\n y0: 1,\n z0: 1,\n a: 1,\n b: 1,\n c: 1,\n });\n trySubmitObjectPick(pickRay);\n\n expect(mockSubmitResult.submitHitResult).toHaveBeenCalledWith({\n success: objectPick.hasSubmitted,\n description: baseApp.slideText,\n });\n });\n\n it(\"Sets the appState to Review\", () => {\n const {\n sceneObject,\n challenge,\n objectPick,\n trySubmitObjectPick,\n mockPickResult,\n baseApp,\n } = makeTestRig();\n\n mockPickResult.appObjectID = sceneObject.id;\n\n const mockSubmit = jest.fn();\n\n challenge.selectedChallenge = \"OBJECT_PICK\";\n objectPick.submit = mockSubmit;\n\n const pickRay = new ParametricLine({\n x0: 1,\n y0: 1,\n z0: 1,\n a: 1,\n b: 1,\n c: 1,\n });\n trySubmitObjectPick(pickRay);\n\n expect(baseApp.isReviewing).toEqual(true);\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"TrySubmitObjectPickUC.test.js","sourceRoot":"","sources":["../../../../src/ObjectPick/UseCases/TrySubmitObjectPickUC.test.ts"],"names":[],"mappings":";;AAAA,sCAAgD;AAChD,sCAA+D;AAC/D,oEAAqE;AACrE,2CAIuB;AACvB,+CAA0D;AAC1D,iDAAwD;AACxD,mEAAoE;AACpE,mEAGiC;AAEjC,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAC;IAEvC,MAAM,OAAO,GAAG,IAAA,+BAAgB,EAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAChE,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;IAE5B,MAAM,SAAS,GAAG,IAAA,mCAAuB,EAAC,UAAU,CAAC,CAAC;IAEtD,MAAM,gBAAgB,GAAG,IAAA,iCAAoB,EAAC,UAAU,CAAC,CAAC;IAC1D,gBAAgB,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAE7C,MAAM,cAAc,GAAiB;QACnC,GAAG,EAAE,IAAI;KACV,CAAC;IACF,MAAM,WAAW,GAAG,IAAA,gCAAsB,EAAC,UAAU,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;IAC3D,WAAW,CAAC,YAAY,GAAG,QAAQ,CAAC;IAEpC,MAAM,cAAc,GAAG,IAAA,mCAAyB,EAAC,UAAU,CAAC,CAAC;IAC7D,cAAc,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAE3C,MAAM,UAAU,GAAG,IAAA,uCAAoB,EAAC,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC;IAE9E,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAErD,MAAM,EAAE,GAAG,IAAA,iDAAyB,EAAC,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC;IAC3E,MAAM,mBAAmB,GAAG,EAAE,CAAC,UAAU,CAAC;IAE1C,OAAO;QACL,mBAAmB;QACnB,UAAU;QACV,gBAAgB;QAChB,WAAW;QACX,cAAc;QACd,OAAO;QACP,SAAS;QACT,cAAc;QACd,UAAU;QACV,EAAE;KACH,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC;QAEzC,MAAM,CAAC,6CAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACtE,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC;QAE7C,MAAM,OAAO,GAAG,qBAAc,CAAC,YAAY,CACzC,IAAI,cAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACpB,IAAI,cAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CACrB,CAAC;QACD,cAAc,CAAC,eAA6B,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAEvE,EAAE,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAE1B,EAAE,CAAC,YAAY,CAAC,IAAI,cAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAEnC,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,oBAAoB,CACzD,IAAI,cAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAClB,CAAC;QACF,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,GAAG,WAAW,EAAE,CAAC;QACnE,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAE7B,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;QAC3B,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC;QAE/B,MAAM,OAAO,GAAG,IAAI,qBAAc,CAAC;YACjC,EAAE,EAAE,CAAC;YACL,EAAE,EAAE,CAAC;YACL,EAAE,EAAE,CAAC;YACL,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;SACL,CAAC,CAAC;QACH,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAE7B,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACtE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,mBAAmB,EAAE,GAAG,WAAW,EAAE,CAAC;QACrE,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAE7B,SAAS,CAAC,iBAAiB,GAAG,UAAU,CAAC;QACzC,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC;QAE/B,MAAM,OAAO,GAAG,IAAI,qBAAc,CAAC;YACjC,EAAE,EAAE,CAAC;YACL,EAAE,EAAE,CAAC;YACL,EAAE,EAAE,CAAC;YACL,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;SACL,CAAC,CAAC;QACH,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAE7B,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,GAAG,WAAW,EAAE,CAAC;QACnE,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAE7B,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;QAC3B,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC;QAE/B,MAAM,OAAO,GAAG,IAAI,qBAAc,CAAC;YACjC,EAAE,EAAE,CAAC;YACL,EAAE,EAAE,CAAC;YACL,EAAE,EAAE,CAAC;YACL,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;SACL,CAAC,CAAC;QACH,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAE7B,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,EACJ,WAAW,EACX,SAAS,EACT,UAAU,EACV,mBAAmB,EACnB,cAAc,GACf,GAAG,WAAW,EAAE,CAAC;QAElB,cAAc,CAAC,WAAW,GAAG,WAAW,CAAC,EAAE,CAAC;QAE5C,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAE7B,SAAS,CAAC,iBAAiB,GAAG,aAAa,CAAC;QAC5C,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC;QAE/B,MAAM,OAAO,GAAG,IAAI,qBAAc,CAAC;YACjC,EAAE,EAAE,CAAC;YACL,EAAE,EAAE,CAAC;YACL,EAAE,EAAE,CAAC;YACL,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;SACL,CAAC,CAAC;QACH,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAE7B,MAAM,CAAC,UAAU,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,EACJ,SAAS,EACT,UAAU,EACV,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,OAAO,GACR,GAAG,WAAW,EAAE,CAAC;QAElB,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAE7B,cAAc,CAAC,WAAW,GAAG,WAAW,CAAC,EAAE,CAAC;QAE5C,SAAS,CAAC,iBAAiB,GAAG,aAAa,CAAC;QAC5C,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC;QAE/B,MAAM,OAAO,GAAG,IAAI,qBAAc,CAAC;YACjC,EAAE,EAAE,CAAC;YACL,EAAE,EAAE,CAAC;YACL,EAAE,EAAE,CAAC;YACL,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;SACL,CAAC,CAAC;QACH,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAE7B,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAAC;YAC5D,OAAO,EAAE,UAAU,CAAC,YAAY;YAChC,WAAW,EAAE,OAAO,CAAC,SAAS;SAC/B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,EACJ,WAAW,EACX,SAAS,EACT,UAAU,EACV,mBAAmB,EACnB,cAAc,EACd,OAAO,GACR,GAAG,WAAW,EAAE,CAAC;QAElB,cAAc,CAAC,WAAW,GAAG,WAAW,CAAC,EAAE,CAAC;QAE5C,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAE7B,SAAS,CAAC,iBAAiB,GAAG,aAAa,CAAC;QAC5C,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC;QAE/B,MAAM,OAAO,GAAG,IAAI,qBAAc,CAAC;YACjC,EAAE,EAAE,CAAC;YACL,EAAE,EAAE,CAAC;YACL,EAAE,EAAE,CAAC;YACL,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;SACL,CAAC,CAAC;QACH,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAE7B,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport { ParametricLine, Vector2, Vector3 } from \"@vived/core\";\nimport { makeBaseAppState } from \"../../BaseApp/Entity/BaseAppState\";\nimport {\n makeMockPixelToSceneRayUC,\n makeMockSceneRayPickUC,\n SceneRayPick,\n} from \"../../Babylon\";\nimport { makeChallengeEntityMock } from \"../../Challenge\";\nimport { makeMockSubmitResult } from \"../../Dispatcher\";\nimport { makeObjectPickEntity } from \"../Entities/ObjectPickEntity\";\nimport {\n makeTrySubmitObjectPickUC,\n TrySubmitObjectPickUC,\n} from \"./TrySubmitObjectPickUC\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n\n const baseApp = makeBaseAppState(appObjects.getOrCreate(\"App\"));\n baseApp.isAuthoring = false;\n\n const challenge = makeChallengeEntityMock(appObjects);\n\n const mockSubmitResult = makeMockSubmitResult(appObjects);\n mockSubmitResult.submitHitResult = jest.fn();\n\n const mockPickResult: SceneRayPick = {\n hit: true,\n };\n const mockRayPick = makeMockSceneRayPickUC(appObjects);\n const mockPick = jest.fn().mockReturnValue(mockPickResult);\n mockRayPick.sceneRayPick = mockPick;\n\n const mockPixelToRay = makeMockPixelToSceneRayUC(appObjects);\n mockPixelToRay.pixelToSceneRay = jest.fn();\n\n const objectPick = makeObjectPickEntity(appObjects.getOrCreate(\"ObjectPick\"));\n\n const sceneObject = appObjects.getOrCreate(\"parent\");\n\n const uc = makeTrySubmitObjectPickUC(appObjects.getOrCreate(\"ObjectPick\"));\n const trySubmitObjectPick = uc.tryWithRay;\n\n return {\n trySubmitObjectPick,\n objectPick,\n mockSubmitResult,\n sceneObject,\n mockPickResult,\n baseApp,\n challenge,\n mockPixelToRay,\n appObjects,\n uc,\n };\n}\n\ndescribe(\"Submit Object Pick UC\", () => {\n it(\"Gets the singleton\", () => {\n const { appObjects, uc } = makeTestRig();\n\n expect(TrySubmitObjectPickUC.get(appObjects)).toEqual(uc);\n });\n\n it(\"Forms the pixel into a ray and passed it to the try with ray\", () => {\n const { mockPixelToRay, uc } = makeTestRig();\n\n const mockRay = ParametricLine.FromTwoPoint(\n new Vector3(1, 2, 3),\n new Vector3(4, 5, 6),\n );\n (mockPixelToRay.pixelToSceneRay as jest.Mock).mockReturnValue(mockRay);\n\n uc.tryWithRay = jest.fn();\n\n uc.tryWithPixel(new Vector2(7, 8));\n\n expect(mockPixelToRay.pixelToSceneRay).toHaveBeenCalledWith(\n new Vector2(7, 8),\n );\n expect(uc.tryWithRay).toHaveBeenCalledWith(mockRay);\n });\n\n it(\"Doesn't submit object pick when authoring\", () => {\n const { baseApp, objectPick, trySubmitObjectPick } = makeTestRig();\n const mockSubmit = jest.fn();\n\n baseApp.isAuthoring = true;\n objectPick.submit = mockSubmit;\n\n const pickRay = new ParametricLine({\n x0: 1,\n y0: 1,\n z0: 1,\n a: 1,\n b: 1,\n c: 1,\n });\n trySubmitObjectPick(pickRay);\n\n expect(mockSubmit).not.toHaveBeenCalled();\n });\n\n it(\"Doesn't submit object pick when challenge is not OBJECT_PICK\", () => {\n const { challenge, objectPick, trySubmitObjectPick } = makeTestRig();\n const mockSubmit = jest.fn();\n\n challenge.selectedChallenge = \"QUESTION\";\n objectPick.submit = mockSubmit;\n\n const pickRay = new ParametricLine({\n x0: 1,\n y0: 1,\n z0: 1,\n a: 1,\n b: 1,\n c: 1,\n });\n trySubmitObjectPick(pickRay);\n\n expect(mockSubmit).not.toHaveBeenCalled();\n });\n\n it(\"Doesn't submit object pick when app mode is review\", () => {\n const { baseApp, objectPick, trySubmitObjectPick } = makeTestRig();\n const mockSubmit = jest.fn();\n\n baseApp.isReviewing = true;\n objectPick.submit = mockSubmit;\n\n const pickRay = new ParametricLine({\n x0: 1,\n y0: 1,\n z0: 1,\n a: 1,\n b: 1,\n c: 1,\n });\n trySubmitObjectPick(pickRay);\n\n expect(mockSubmit).not.toHaveBeenCalled();\n });\n\n it(\"Submits object pick when not authoring\", () => {\n const {\n sceneObject,\n challenge,\n objectPick,\n trySubmitObjectPick,\n mockPickResult,\n } = makeTestRig();\n\n mockPickResult.appObjectID = sceneObject.id;\n\n const mockSubmit = jest.fn();\n\n challenge.selectedChallenge = \"OBJECT_PICK\";\n objectPick.submit = mockSubmit;\n\n const pickRay = new ParametricLine({\n x0: 1,\n y0: 1,\n z0: 1,\n a: 1,\n b: 1,\n c: 1,\n });\n trySubmitObjectPick(pickRay);\n\n expect(mockSubmit).toHaveBeenCalled();\n });\n\n it(\"Dispatches a submitHitResult\", () => {\n const {\n challenge,\n objectPick,\n sceneObject,\n mockPickResult,\n trySubmitObjectPick,\n mockSubmitResult,\n baseApp,\n } = makeTestRig();\n\n const mockSubmit = jest.fn();\n\n mockPickResult.appObjectID = sceneObject.id;\n\n challenge.selectedChallenge = \"OBJECT_PICK\";\n objectPick.submit = mockSubmit;\n\n const pickRay = new ParametricLine({\n x0: 1,\n y0: 1,\n z0: 1,\n a: 1,\n b: 1,\n c: 1,\n });\n trySubmitObjectPick(pickRay);\n\n expect(mockSubmitResult.submitHitResult).toHaveBeenCalledWith({\n success: objectPick.hasSubmitted,\n description: baseApp.slideText,\n });\n });\n\n it(\"Sets the appState to Review\", () => {\n const {\n sceneObject,\n challenge,\n objectPick,\n trySubmitObjectPick,\n mockPickResult,\n baseApp,\n } = makeTestRig();\n\n mockPickResult.appObjectID = sceneObject.id;\n\n const mockSubmit = jest.fn();\n\n challenge.selectedChallenge = \"OBJECT_PICK\";\n objectPick.submit = mockSubmit;\n\n const pickRay = new ParametricLine({\n x0: 1,\n y0: 1,\n z0: 1,\n a: 1,\n b: 1,\n c: 1,\n });\n trySubmitObjectPick(pickRay);\n\n expect(baseApp.isReviewing).toEqual(true);\n });\n});\n"]}
|
|
@@ -71,7 +71,7 @@ class SerializeOverlayColoredObjectsImp extends SerializeOverlayColoredObjects {
|
|
|
71
71
|
}
|
|
72
72
|
constructor(appObj) {
|
|
73
73
|
super(appObj, SerializeOverlayColoredObjects.type);
|
|
74
|
-
this.
|
|
74
|
+
this.serializationVersion = 1;
|
|
75
75
|
const stateMachine = this.appObjects.getSingleton(StateMachineEntity_1.StateMachineEntity.type);
|
|
76
76
|
if (stateMachine) {
|
|
77
77
|
stateMachine.registerSerializedSystem(this);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SerializeOverlayColoredObjects.js","sourceRoot":"","sources":["../../../../src/OverlayColor/UC/SerializeOverlayColoredObjects.ts"],"names":[],"mappings":"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","sourcesContent":["import { OverlayColor, OverlayColorEnums } from \"../Entities/OverlayColor\";\nimport {\n SerializedSystem,\n StateMachineEntity,\n} from \"../../StateMachine/Entities/StateMachineEntity\";\nimport { AppObjectUC, AppObject } from \"@vived/core\";\n\nexport abstract class SerializeOverlayColoredObjects\n extends AppObjectUC\n implements SerializedSystem\n{\n static readonly type = \"SerializeOverlayColoredObjects\";\n name: string = \"overlaycolored-objects\";\n abstract
|
|
1
|
+
{"version":3,"file":"SerializeOverlayColoredObjects.js","sourceRoot":"","sources":["../../../../src/OverlayColor/UC/SerializeOverlayColoredObjects.ts"],"names":[],"mappings":"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","sourcesContent":["import { OverlayColor, OverlayColorEnums } from \"../Entities/OverlayColor\";\nimport {\n SerializedSystem,\n StateMachineEntity,\n} from \"../../StateMachine/Entities/StateMachineEntity\";\nimport { AppObjectUC, AppObject } from \"@vived/core\";\n\nexport abstract class SerializeOverlayColoredObjects\n extends AppObjectUC\n implements SerializedSystem\n{\n static readonly type = \"SerializeOverlayColoredObjects\";\n name: string = \"overlaycolored-objects\";\n abstract serializationVersion: number;\n abstract getSystemState(): object;\n abstract applySystemState(\n state: object,\n version: number,\n transitionDuration: number,\n ): void;\n abstract applyDefaultState(transitionDuration: number): void;\n}\n\nexport function makeSerializeOverlayColoredObjects(\n appObject: AppObject,\n): SerializeOverlayColoredObjects {\n return new SerializeOverlayColoredObjectsImp(appObject);\n}\n\nexport class SerializeOverlayColoredObjectsImp extends SerializeOverlayColoredObjects {\n serializationVersion = 1;\n\n getSystemState(): object {\n const overlayColoredObjects: SerializedOverlayColoredObjectV1[] = [];\n\n const allOverlayColors = this.appObjects.getAllComponents<OverlayColor>(\n OverlayColor.type,\n );\n\n allOverlayColors.forEach((overlayColor) => {\n if (overlayColor.overlayColor !== OverlayColorEnums.NONE)\n overlayColoredObjects.push({\n id: overlayColor.appObject.id,\n overlayColor: overlayColor.overlayColor,\n });\n });\n\n const state: SerializedOverlayColoredObjectsV1 = {\n overlayColoredObjects,\n };\n\n return state;\n }\n\n applySystemState(\n state: object,\n version: number,\n durationS: number,\n ): Promise<void> | void {\n if (version === 1) {\n return this.applyStateV1(\n state as SerializedOverlayColoredObjectsV1,\n durationS,\n );\n } else {\n this.applyDefaultState();\n }\n }\n\n private applyStateV1(\n state: SerializedOverlayColoredObjectsV1,\n durationS: number,\n ) {\n const { overlayColoredObjects } = state;\n if (!overlayColoredObjects) {\n this.applyDefaultState();\n return;\n }\n\n // Create a Map for faster lookups\n const overlayLookup = new Map<string, OverlayColorEnums>();\n overlayColoredObjects.forEach((overlayColorObj) => {\n overlayLookup.set(overlayColorObj.id, overlayColorObj.overlayColor);\n });\n\n const allOverlayColors = this.appObjects.getAllComponents<OverlayColor>(\n OverlayColor.type,\n );\n\n allOverlayColors.forEach((overlayColor) => {\n const appObjectId = overlayColor.appObject.id;\n overlayColor.overlayColor =\n overlayLookup.get(appObjectId) ?? OverlayColorEnums.NONE;\n });\n\n overlayLookup.forEach((desiredColor, remainingObjectId) => {\n const appObject = this.appObjects.getOrCreate(remainingObjectId);\n const overlayColor = OverlayColor.addIfMissing(appObject);\n overlayColor.overlayColor = desiredColor;\n });\n }\n\n applyDefaultState(): void {\n const allOverlayColors = this.appObjects.getAllComponents<OverlayColor>(\n OverlayColor.type,\n );\n\n allOverlayColors.forEach((overlayColor) => {\n overlayColor.overlayColor = OverlayColorEnums.NONE;\n });\n }\n\n constructor(appObj: AppObject) {\n super(appObj, SerializeOverlayColoredObjects.type);\n\n const stateMachine = this.appObjects.getSingleton<StateMachineEntity>(\n StateMachineEntity.type,\n );\n if (stateMachine) {\n stateMachine.registerSerializedSystem(this);\n } else {\n this.warn(\"Unable to find StateMachineEntity\");\n }\n }\n}\n\nexport interface SerializedOverlayColoredObjectV1 {\n id: string;\n overlayColor: OverlayColorEnums;\n}\n\nexport interface SerializedOverlayColoredObjectsV1 {\n overlayColoredObjects: SerializedOverlayColoredObjectV1[];\n}\n"]}
|
|
@@ -80,7 +80,7 @@ class SerializeQuestionChallenge extends core_1.AppObjectUC {
|
|
|
80
80
|
constructor(appObject) {
|
|
81
81
|
super(appObject, SerializeQuestionChallenge.type);
|
|
82
82
|
this.name = "question";
|
|
83
|
-
this.
|
|
83
|
+
this.serializationVersion = 3;
|
|
84
84
|
this.questionEntity = appObject.getComponent(QuestionEntity_1.QuestionEntity.type);
|
|
85
85
|
if (!this.questionEntity) {
|
|
86
86
|
this.warn("SerializeQuestionChallenge has been added to an app object that does not have QuestionEntity");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SerializeQuestionChallenge.js","sourceRoot":"","sources":["../../../../src/Question/UC/SerializeQuestionChallenge.ts"],"names":[],"mappings":"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","sourcesContent":["import { AppObject, AppObjectUC } from \"@vived/core\";\nimport { SerializedSystem, StateMachineEntity } from \"../../StateMachine\";\nimport { QuestionEntity } from \"../Entities/QuestionEntity\";\n\nexport class SerializeQuestionChallenge\n extends AppObjectUC\n implements SerializedSystem\n{\n static readonly type = \"SerializeQuestionChallenge\";\n\n name = \"question\";\n
|
|
1
|
+
{"version":3,"file":"SerializeQuestionChallenge.js","sourceRoot":"","sources":["../../../../src/Question/UC/SerializeQuestionChallenge.ts"],"names":[],"mappings":"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","sourcesContent":["import { AppObject, AppObjectUC } from \"@vived/core\";\nimport { SerializedSystem, StateMachineEntity } from \"../../StateMachine\";\nimport { QuestionEntity } from \"../Entities/QuestionEntity\";\n\nexport class SerializeQuestionChallenge\n extends AppObjectUC\n implements SerializedSystem\n{\n static readonly type = \"SerializeQuestionChallenge\";\n\n name = \"question\";\n serializationVersion = 3;\n private questionEntity?: QuestionEntity;\n\n getSystemState(): object {\n if (!this.questionEntity) {\n return {};\n }\n\n const answers: AnswerDataV1[] = this.questionEntity\n .getAllAnswers()\n .map((answer) => {\n return {\n id: answer.id,\n feedback: answer.feedbackText,\n isCorrect: answer.isCorrect,\n text: answer.text,\n };\n });\n\n const state: ChallengeDataV3 = {\n answers,\n };\n\n return state;\n }\n\n applySystemState(state: object, version: number): void {\n if (version === 1) {\n const mappedState = this.mapV1ToV3(state as ChallengeDataV1);\n this.applyDataV3(mappedState);\n } else if (version === 2) {\n const mappedState = this.mapV2ToV3(state as ChallengeDataV2);\n this.applyDataV3(mappedState);\n } else if (version === 3) {\n this.applyDataV3(state as ChallengeDataV3);\n } else {\n // Unsupported version\n this.warn(\n `Unsupported data version ${version} for serialized system ${this.name}. Reverting to default state`,\n );\n this.applyDefaultState();\n }\n }\n\n applyDefaultState(): void {\n this.questionEntity?.setDefaultState();\n }\n\n private mapV1ToV3(data: ChallengeDataV1): ChallengeDataV3 {\n // Easy!\n return data;\n }\n\n private mapV2ToV3(data: ChallengeDataV2): ChallengeDataV3 {\n const { answers } = data;\n return {\n answers,\n };\n }\n\n private applyDataV3(data: ChallengeDataV3) {\n if (!this.questionEntity) return;\n\n const stateAnswerIDs: string[] = [];\n data.answers.forEach((answerData) => {\n let answer = this.questionEntity!.getAnswer(answerData.id);\n if (!answer) {\n answer = this.questionEntity!.answerFactory(answerData.id);\n this.questionEntity?.addAnswer(answer);\n }\n\n answer.text = answerData.text;\n answer.isCorrect = answerData.isCorrect;\n answer.feedbackText = answerData.feedback;\n\n stateAnswerIDs.push(answerData.id);\n });\n\n const allAnswers = Array.from(this.questionEntity.getAllAnswers());\n allAnswers.forEach((ans) => {\n if (!stateAnswerIDs.includes(ans.id)) {\n this.questionEntity!.removeAnswer(ans.id);\n }\n });\n }\n\n constructor(appObject: AppObject) {\n super(appObject, SerializeQuestionChallenge.type);\n\n this.questionEntity = appObject.getComponent<QuestionEntity>(\n QuestionEntity.type,\n );\n\n if (!this.questionEntity) {\n this.warn(\n \"SerializeQuestionChallenge has been added to an app object that does not have QuestionEntity\",\n );\n }\n\n const stateMachine = StateMachineEntity.get(this.appObject.appObjectRepo);\n if (stateMachine) {\n stateMachine.registerSerializedSystem(this);\n } else {\n this.warn(\"Unable to find StateMachineEntity\");\n }\n }\n}\n\nexport interface ChallengeDataV3 {\n answers: AnswerDataV1[];\n}\n\nexport interface ChallengeDataV2 {\n questionText: string;\n answers: AnswerDataV1[];\n}\n\nexport interface ChallengeDataV1 {\n answers: AnswerDataV1[];\n}\n\nexport interface AnswerDataV1 {\n id: string;\n text: string;\n feedback: string;\n isCorrect: boolean;\n}\n"]}
|
|
@@ -28,6 +28,7 @@ function makeTestRig() {
|
|
|
28
28
|
const app = appObjects.getOrCreate("app");
|
|
29
29
|
const baseApp = (0, BaseAppState_1.makeBaseAppState)(app);
|
|
30
30
|
const mockSubmit = new MockSubmitResult(app, Dispatcher_1.SubmitResultResultUC.type);
|
|
31
|
+
mockSubmit.submitHitResult = jest.fn();
|
|
31
32
|
const questionAO = appObjects.getOrCreate("Question");
|
|
32
33
|
const questionEnt = (0, Entities_1.makeQuestionEntity)(questionAO);
|
|
33
34
|
questionEnt.answerFactory = (id) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubmitQuestionAnswerUC.test.js","sourceRoot":"","sources":["../../../../src/Question/UC/SubmitQuestionAnswerUC.test.ts"],"names":[],"mappings":";;AAAA,sCAAgD;AAChD,oEAAqE;AACrE,iDAM0B;AAC1B,0CAA2E;AAC3E,qEAAsE;AAEtE,MAAM,gBAAiB,SAAQ,iCAAoB;IAAnD;;QACE,oBAAe,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAa9B,CAAC;IAZC,oBAAoB,CAAC,IAAuB;QAC1C,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IACD,oBAAoB,CAAC,IAAuB;QAC1C,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IACD,mBAAmB,CAAC,IAAsB;QACxC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IACD,iBAAiB,CAAC,IAAoB;QACpC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;CACF;AAED,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAC;IAEvC,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,IAAA,+BAAgB,EAAC,GAAG,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,IAAI,gBAAgB,CAAC,GAAG,EAAE,iCAAoB,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"SubmitQuestionAnswerUC.test.js","sourceRoot":"","sources":["../../../../src/Question/UC/SubmitQuestionAnswerUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport { makeBaseAppState } from \"../../BaseApp/Entity/BaseAppState\";\nimport {\n MultiHitResultDTO,\n ProgressResultDTO,\n QualityResultDTO,\n ScoreResultDTO,\n SubmitResultResultUC,\n} from \"../../Dispatcher\";\nimport { makeQuestionAnswerEntity, makeQuestionEntity } from \"../Entities\";\nimport { makeSubmitQuestionAnswerUC } from \"./SubmitQuestionAnswerUC\";\n\nclass MockSubmitResult extends SubmitResultResultUC {\n submitHitResult = jest.fn();\n submitProgressResult(data: ProgressResultDTO): void {\n throw new Error(\"Method not implemented.\");\n }\n submitMultiHitResult(data: MultiHitResultDTO): void {\n throw new Error(\"Method not implemented.\");\n }\n submitQualityResult(data: QualityResultDTO): void {\n throw new Error(\"Method not implemented.\");\n }\n submitScoreResult(data: ScoreResultDTO): void {\n throw new Error(\"Method not implemented.\");\n }\n}\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n\n const app = appObjects.getOrCreate(\"app\");\n const baseApp = makeBaseAppState(app);\n const mockSubmit = new MockSubmitResult(app, SubmitResultResultUC.type);\n mockSubmit.submitHitResult = jest.fn();\n\n const questionAO = appObjects.getOrCreate(\"Question\");\n const questionEnt = makeQuestionEntity(questionAO);\n questionEnt.answerFactory = (id?: string) => {\n const index = questionEnt.getAllAnswers().length + 1;\n const ao = appObjects.getOrCreate(id ?? \"answer\" + index);\n return makeQuestionAnswerEntity(ao);\n };\n\n const mockAns = questionEnt.createNewAnswer();\n const uc = makeSubmitQuestionAnswerUC(questionAO);\n\n baseApp.isAuthoring = false;\n baseApp.slideText = \"Hello World!\";\n baseApp.isReviewing = false;\n\n const mockSubmitAnswer = jest.fn();\n questionEnt.submitAnswer = mockSubmitAnswer;\n\n return {\n mockSubmit,\n appObjects,\n mockAns,\n uc,\n baseApp,\n questionEnt,\n mockSubmitAnswer,\n };\n}\n\ndescribe(\"Submit Question Answer UC\", () => {\n it(\"Submits answer ID\", () => {\n const { mockSubmitAnswer, mockAns, uc } = makeTestRig();\n\n uc.submitAnswer(mockAns.id);\n\n expect(mockSubmitAnswer).toHaveBeenCalledWith(mockAns.id);\n });\n\n it(\"Doesn't submit answer when authoring\", () => {\n const { baseApp, uc, mockSubmitAnswer, mockAns } = makeTestRig();\n baseApp.isAuthoring = true;\n\n uc.submitAnswer(mockAns.id);\n\n expect(mockSubmitAnswer).not.toHaveBeenCalled();\n });\n\n it(\"Warns if the answer ID is not known\", () => {\n const { uc } = makeTestRig();\n\n uc.warn = jest.fn();\n\n uc.submitAnswer(\"unknown\");\n\n expect(uc.warn).toHaveBeenCalled();\n });\n\n it(\"Warns if it cannot find the base app\", () => {\n const { uc, baseApp, mockAns } = makeTestRig();\n\n uc.warn = jest.fn();\n baseApp.dispose();\n\n uc.submitAnswer(mockAns.id);\n\n expect(uc.warn).toHaveBeenCalled();\n });\n\n it(\"Dispatches a submitHitResult\", () => {\n const { baseApp, questionEnt, mockAns, uc, mockSubmit } = makeTestRig();\n\n uc.submitAnswer(mockAns.id);\n\n expect(mockSubmit.submitHitResult).toHaveBeenCalledWith({\n success: questionEnt.gotItRight,\n description: baseApp.slideText,\n });\n });\n\n it(\"Sets the baseApp to Review\", () => {\n const { baseApp, mockAns, uc } = makeTestRig();\n\n uc.submitAnswer(mockAns.id);\n\n expect(baseApp.isReviewing).toEqual(true);\n });\n});\n"]}
|
|
@@ -41,7 +41,11 @@ class RequestHandlerImp extends AppHandlerEntity {
|
|
|
41
41
|
this.getAppPayloadRequest = "GET_APP_PAYLOAD_VERSION";
|
|
42
42
|
this.getAppHandlerVersionRequest = "GET_APP_HANDLER_VERSION";
|
|
43
43
|
this.appHandlerVersion = 1;
|
|
44
|
+
this.verbose = false;
|
|
44
45
|
this.handler = (request) => {
|
|
46
|
+
if (this.verbose) {
|
|
47
|
+
console.log(`[AppHandler] Request received:`, request);
|
|
48
|
+
}
|
|
45
49
|
if (request.type === this.getAppPayloadRequest) {
|
|
46
50
|
this.handlePayloadVersionRequest(request);
|
|
47
51
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppHandler.js","sourceRoot":"","sources":["../../../../src/RequestHandler/Entities/AppHandler.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"AppHandler.js","sourceRoot":"","sources":["../../../../src/RequestHandler/Entities/AppHandler.ts"],"names":[],"mappings":"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","sourcesContent":["import { AppObject, AppObjectEntity, Handler, Request } from \"@vived/core\";\n\nexport interface RequestHandler {\n readonly requestType: string;\n payloadVersion: number;\n handleRequest: (version: number, payload?: unknown) => void;\n}\n\nexport abstract class AppHandlerEntity extends AppObjectEntity {\n static readonly type = \"APP_HANDLER_ENTITY\";\n abstract handler: Handler;\n abstract registerRequestHandler: (requestHandler: RequestHandler) => void;\n abstract verbose: boolean;\n}\n\nexport function makeAppHandler(appObject: AppObject): AppHandlerEntity {\n return new RequestHandlerImp(appObject);\n}\n\nclass RequestHandlerImp extends AppHandlerEntity {\n private handlers = new Map<string, RequestHandler>();\n private getAppPayloadRequest = \"GET_APP_PAYLOAD_VERSION\";\n private getAppHandlerVersionRequest = \"GET_APP_HANDLER_VERSION\";\n private readonly appHandlerVersion = 1;\n verbose = false;\n\n handler: Handler = (request: Request): void => {\n if (this.verbose) {\n console.log(`[AppHandler] Request received:`, request);\n }\n if (request.type === this.getAppPayloadRequest) {\n this.handlePayloadVersionRequest(request);\n return;\n }\n\n if (request.type === this.getAppHandlerVersionRequest) {\n this.handleAppHandlerVersionRequest(request);\n return;\n }\n\n const handler = this.handlers.get(request.type);\n\n if (!handler) {\n console.warn(\n `[AppHandler] Unsupported request type received: ${request.type}`,\n );\n return;\n }\n\n try {\n handler.handleRequest(request.version, request.payload);\n } catch (e) {\n console.warn(`[AppHandler] ${e}`);\n }\n };\n\n registerRequestHandler = (handler: RequestHandler): void => {\n if (this.handlers.has(handler.requestType)) {\n console.warn(\n `[AppHandler] More than one handler is being registered for ${handler.requestType}. Previous handler is being overwritten`,\n );\n }\n\n this.handlers.set(handler.requestType, handler);\n };\n\n private handlePayloadVersionRequest(request: Request) {\n if (request.version !== 2) {\n throw new UnsupportedRequestVersion(request.type, request.version);\n }\n\n const payload = request.payload as PayloadVersionPayload;\n if (payload.callback === undefined) {\n throw new UnableToParsePayload(\n request.type,\n request.version,\n JSON.stringify(payload),\n );\n }\n\n const versionMap = new Map<string, number>();\n this.handlers.forEach((handler) => {\n versionMap.set(handler.requestType, handler.payloadVersion);\n });\n\n payload.callback(versionMap);\n }\n\n private handleAppHandlerVersionRequest(request: Request) {\n if (request.version !== 1) {\n throw new UnsupportedRequestVersion(request.type, request.version);\n }\n\n const payload = request.payload as AppHandlerVersionPayload;\n if (payload.callback === undefined) {\n throw new UnableToParsePayload(\n request.type,\n request.version,\n JSON.stringify(payload),\n );\n }\n\n payload.callback(this.appHandlerVersion);\n }\n\n constructor(appObject: AppObject) {\n super(appObject, AppHandlerEntity.type);\n }\n}\n\ntype PayloadVersionPayload = {\n callback: (requestVersionLookup: Map<string, number>) => void;\n};\n\ntype AppHandlerVersionPayload = {\n callback: (version: number) => void;\n};\n\nexport class UnsupportedRequestVersion extends Error {\n constructor(requestType: string, version: number) {\n const msg = `Version ${version} of request type ${requestType} is not supported`;\n super(msg);\n }\n}\n\nexport class UnableToParsePayload extends Error {\n constructor(requestType: string, version: number, payload: string) {\n const msg = `Unable to parse payload for version ${version} of request type ${requestType}: ${payload}`;\n super(msg);\n }\n}\n"]}
|
|
@@ -135,5 +135,32 @@ describe("App Handler", () => {
|
|
|
135
135
|
};
|
|
136
136
|
expect(() => appHandler.handler(request)).toThrowError();
|
|
137
137
|
});
|
|
138
|
+
it("Verbose flag defaults to false", () => {
|
|
139
|
+
const { appHandler } = makeTestRig();
|
|
140
|
+
expect(appHandler.verbose).toBe(false);
|
|
141
|
+
});
|
|
142
|
+
it("Does not log requests when verbose is false", () => {
|
|
143
|
+
const { appHandler, mockRequestHandler } = makeTestRig();
|
|
144
|
+
console.log = jest.fn();
|
|
145
|
+
const request = {
|
|
146
|
+
type: "A_REQUEST",
|
|
147
|
+
version: 2,
|
|
148
|
+
payload: { foo: "bar" },
|
|
149
|
+
};
|
|
150
|
+
appHandler.handler(request);
|
|
151
|
+
expect(console.log).not.toHaveBeenCalled();
|
|
152
|
+
});
|
|
153
|
+
it("Logs requests when verbose is true", () => {
|
|
154
|
+
const { appHandler, mockRequestHandler } = makeTestRig();
|
|
155
|
+
console.log = jest.fn();
|
|
156
|
+
appHandler.verbose = true;
|
|
157
|
+
const request = {
|
|
158
|
+
type: "A_REQUEST",
|
|
159
|
+
version: 2,
|
|
160
|
+
payload: { foo: "bar" },
|
|
161
|
+
};
|
|
162
|
+
appHandler.handler(request);
|
|
163
|
+
expect(console.log).toHaveBeenCalledWith("[AppHandler] Request received:", request);
|
|
164
|
+
});
|
|
138
165
|
});
|
|
139
166
|
//# sourceMappingURL=AppHandler.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppHandler.test.js","sourceRoot":"","sources":["../../../../src/RequestHandler/Entities/AppHandler.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo, Request } from \"@vived/core\";\nimport {\n makeAppHandler,\n RequestHandler,\n UnsupportedRequestVersion,\n} from \"./AppHandler\";\n\nclass MockHandler implements RequestHandler {\n readonly requestType = \"A_REQUEST\";\n readonly payloadVersion = 1;\n handleRequest = jest.fn();\n}\n\nfunction makeTestRig() {\n const appObjectRepo = makeAppObjectRepo();\n const handlerAO = appObjectRepo.getOrCreate(\"Handler\");\n const appHandler = makeAppHandler(handlerAO);\n const mockRequestHandler = new MockHandler();\n appHandler.registerRequestHandler(mockRequestHandler);\n\n return { appHandler, mockRequestHandler };\n}\n\ndescribe(\"App Handler\", () => {\n it(\"Warns if multiple request handlers are added for the same type\", () => {\n const { appHandler } = makeTestRig();\n console.warn = jest.fn();\n const anotherHandler = new MockHandler();\n\n appHandler.registerRequestHandler(anotherHandler);\n\n expect(console.warn).toHaveBeenCalled();\n });\n\n it(\"Triggers the handler when a request received\", () => {\n const { appHandler, mockRequestHandler } = makeTestRig();\n const request: Request = {\n type: \"A_REQUEST\",\n version: 2,\n payload: { foo: \"bar\" },\n };\n\n appHandler.handler(request);\n\n expect(mockRequestHandler.handleRequest).toHaveBeenCalledWith(2, {\n foo: \"bar\",\n });\n });\n\n it(\"Warns if a request type has not been registered\", () => {\n const { appHandler } = makeTestRig();\n console.warn = jest.fn();\n const request: Request = {\n type: \"A_DIFFERENT_REQUEST\",\n version: 2,\n payload: { foo: \"bar\" },\n };\n\n appHandler.handler(request);\n expect(console.warn).toHaveBeenCalled();\n });\n\n it(\"Consoles a warn if the the handler throw an error\", () => {\n const { appHandler, mockRequestHandler } = makeTestRig();\n console.warn = jest.fn();\n const request: Request = {\n type: \"A_REQUEST\",\n version: 2,\n payload: { foo: \"bar\" },\n };\n\n mockRequestHandler.handleRequest.mockImplementation(() => {\n throw new UnsupportedRequestVersion(\"A_REQUEST\", 2);\n });\n\n appHandler.handler(request);\n\n expect(console.warn).toHaveBeenCalled();\n });\n\n it(\"Handles the GET_APP_PAYLOAD_VERSION request\", (done) => {\n const { appHandler } = makeTestRig();\n\n const expectedResponse = new Map<string, number>([[\"A_REQUEST\", 1]]);\n\n function callback(payloadVersions: Map<string, number>) {\n try {\n expect(payloadVersions).toEqual(expectedResponse);\n done();\n } catch (e) {\n done(e);\n }\n }\n\n const request: Request = {\n type: \"GET_APP_PAYLOAD_VERSION\",\n version: 2,\n payload: { callback },\n };\n\n appHandler.handler(request);\n });\n\n it(\"Throws for an unsupported version of the get payload version request\", () => {\n const { appHandler } = makeTestRig();\n\n const request: Request = {\n type: \"GET_APP_PAYLOAD_VERSION\",\n version: 1,\n payload: { callback: () => {} },\n };\n\n expect(() => appHandler.handler(request)).toThrowError();\n });\n\n it(\"Throws for a bungled payload of the get payload version request\", () => {\n const { appHandler } = makeTestRig();\n\n const request: Request = {\n type: \"GET_APP_PAYLOAD_VERSION\",\n version: 2,\n payload: { foo: \"bar\" },\n };\n\n expect(() => appHandler.handler(request)).toThrowError();\n });\n\n it(\"Handles the GET_APP_HANDLER_VERSION request\", (done) => {\n const { appHandler } = makeTestRig();\n\n function callback(appHandlerVersion: number) {\n try {\n expect(appHandlerVersion).toEqual(1);\n done();\n } catch (e) {\n done(e);\n }\n }\n\n const request: Request = {\n type: \"GET_APP_HANDLER_VERSION\",\n version: 1,\n payload: { callback },\n };\n\n appHandler.handler(request);\n });\n\n it(\"Throws for an unsupported version of the get payload version request\", () => {\n const { appHandler } = makeTestRig();\n\n const request: Request = {\n type: \"GET_APP_HANDLER_VERSION\",\n version: 0,\n payload: { callback: () => {} },\n };\n\n expect(() => appHandler.handler(request)).toThrowError();\n });\n\n it(\"Throws for a bungled payload of the get payload version request\", () => {\n const { appHandler } = makeTestRig();\n\n const request: Request = {\n type: \"GET_APP_HANDLER_VERSION\",\n version: 1,\n payload: { foo: \"bar\" },\n };\n\n expect(() => appHandler.handler(request)).toThrowError();\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"AppHandler.test.js","sourceRoot":"","sources":["../../../../src/RequestHandler/Entities/AppHandler.test.ts"],"names":[],"mappings":";;AAAA,sCAAyD;AACzD,6CAIsB;AAEtB,MAAM,WAAW;IAAjB;QACW,gBAAW,GAAG,WAAW,CAAC;QAC1B,mBAAc,GAAG,CAAC,CAAC;QAC5B,kBAAa,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAC5B,CAAC;CAAA;AAED,SAAS,WAAW;IAClB,MAAM,aAAa,GAAG,IAAA,wBAAiB,GAAE,CAAC;IAC1C,MAAM,SAAS,GAAG,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG,IAAA,2BAAc,EAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,kBAAkB,GAAG,IAAI,WAAW,EAAE,CAAC;IAC7C,UAAU,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;IAEtD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC;AAC5C,CAAC;AAED,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,MAAM,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QACrC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACzB,MAAM,cAAc,GAAG,IAAI,WAAW,EAAE,CAAC;QAEzC,UAAU,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;QAElD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,GAAG,WAAW,EAAE,CAAC;QACzD,MAAM,OAAO,GAAY;YACvB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE;SACxB,CAAC;QAEF,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE5B,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAAC,CAAC,EAAE;YAC/D,GAAG,EAAE,KAAK;SACX,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QACrC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACzB,MAAM,OAAO,GAAY;YACvB,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE;SACxB,CAAC;QAEF,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,GAAG,WAAW,EAAE,CAAC;QACzD,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACzB,MAAM,OAAO,GAAY;YACvB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE;SACxB,CAAC;QAEF,kBAAkB,CAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,EAAE;YACvD,MAAM,IAAI,sCAAyB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE5B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,CAAC,IAAI,EAAE,EAAE;QACzD,MAAM,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAErC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAiB,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAErE,SAAS,QAAQ,CAAC,eAAoC;YACpD,IAAI,CAAC;gBACH,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;gBAClD,IAAI,EAAE,CAAC;YACT,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,CAAC,CAAC,CAAC;YACV,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAY;YACvB,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,EAAE,QAAQ,EAAE;SACtB,CAAC;QAEF,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;QAC9E,MAAM,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAErC,MAAM,OAAO,GAAY;YACvB,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE;SAChC,CAAC;QAEF,MAAM,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACzE,MAAM,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAErC,MAAM,OAAO,GAAY;YACvB,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE;SACxB,CAAC;QAEF,MAAM,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,CAAC,IAAI,EAAE,EAAE;QACzD,MAAM,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAErC,SAAS,QAAQ,CAAC,iBAAyB;YACzC,IAAI,CAAC;gBACH,MAAM,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACrC,IAAI,EAAE,CAAC;YACT,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,CAAC,CAAC,CAAC;YACV,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAY;YACvB,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,EAAE,QAAQ,EAAE;SACtB,CAAC;QAEF,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;QAC9E,MAAM,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAErC,MAAM,OAAO,GAAY;YACvB,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE;SAChC,CAAC;QAEF,MAAM,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACzE,MAAM,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAErC,MAAM,OAAO,GAAY;YACvB,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE;SACxB,CAAC;QAEF,MAAM,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAErC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,GAAG,WAAW,EAAE,CAAC;QACzD,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACxB,MAAM,OAAO,GAAY;YACvB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE;SACxB,CAAC;QAEF,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE5B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,GAAG,WAAW,EAAE,CAAC;QACzD,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACxB,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1B,MAAM,OAAO,GAAY;YACvB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE;SACxB,CAAC;QAEF,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE5B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,oBAAoB,CACtC,gCAAgC,EAChC,OAAO,CACR,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { makeAppObjectRepo, Request } from \"@vived/core\";\nimport {\n makeAppHandler,\n RequestHandler,\n UnsupportedRequestVersion,\n} from \"./AppHandler\";\n\nclass MockHandler implements RequestHandler {\n readonly requestType = \"A_REQUEST\";\n readonly payloadVersion = 1;\n handleRequest = jest.fn();\n}\n\nfunction makeTestRig() {\n const appObjectRepo = makeAppObjectRepo();\n const handlerAO = appObjectRepo.getOrCreate(\"Handler\");\n const appHandler = makeAppHandler(handlerAO);\n const mockRequestHandler = new MockHandler();\n appHandler.registerRequestHandler(mockRequestHandler);\n\n return { appHandler, mockRequestHandler };\n}\n\ndescribe(\"App Handler\", () => {\n it(\"Warns if multiple request handlers are added for the same type\", () => {\n const { appHandler } = makeTestRig();\n console.warn = jest.fn();\n const anotherHandler = new MockHandler();\n\n appHandler.registerRequestHandler(anotherHandler);\n\n expect(console.warn).toHaveBeenCalled();\n });\n\n it(\"Triggers the handler when a request received\", () => {\n const { appHandler, mockRequestHandler } = makeTestRig();\n const request: Request = {\n type: \"A_REQUEST\",\n version: 2,\n payload: { foo: \"bar\" },\n };\n\n appHandler.handler(request);\n\n expect(mockRequestHandler.handleRequest).toHaveBeenCalledWith(2, {\n foo: \"bar\",\n });\n });\n\n it(\"Warns if a request type has not been registered\", () => {\n const { appHandler } = makeTestRig();\n console.warn = jest.fn();\n const request: Request = {\n type: \"A_DIFFERENT_REQUEST\",\n version: 2,\n payload: { foo: \"bar\" },\n };\n\n appHandler.handler(request);\n expect(console.warn).toHaveBeenCalled();\n });\n\n it(\"Consoles a warn if the the handler throw an error\", () => {\n const { appHandler, mockRequestHandler } = makeTestRig();\n console.warn = jest.fn();\n const request: Request = {\n type: \"A_REQUEST\",\n version: 2,\n payload: { foo: \"bar\" },\n };\n\n mockRequestHandler.handleRequest.mockImplementation(() => {\n throw new UnsupportedRequestVersion(\"A_REQUEST\", 2);\n });\n\n appHandler.handler(request);\n\n expect(console.warn).toHaveBeenCalled();\n });\n\n it(\"Handles the GET_APP_PAYLOAD_VERSION request\", (done) => {\n const { appHandler } = makeTestRig();\n\n const expectedResponse = new Map<string, number>([[\"A_REQUEST\", 1]]);\n\n function callback(payloadVersions: Map<string, number>) {\n try {\n expect(payloadVersions).toEqual(expectedResponse);\n done();\n } catch (e) {\n done(e);\n }\n }\n\n const request: Request = {\n type: \"GET_APP_PAYLOAD_VERSION\",\n version: 2,\n payload: { callback },\n };\n\n appHandler.handler(request);\n });\n\n it(\"Throws for an unsupported version of the get payload version request\", () => {\n const { appHandler } = makeTestRig();\n\n const request: Request = {\n type: \"GET_APP_PAYLOAD_VERSION\",\n version: 1,\n payload: { callback: () => {} },\n };\n\n expect(() => appHandler.handler(request)).toThrowError();\n });\n\n it(\"Throws for a bungled payload of the get payload version request\", () => {\n const { appHandler } = makeTestRig();\n\n const request: Request = {\n type: \"GET_APP_PAYLOAD_VERSION\",\n version: 2,\n payload: { foo: \"bar\" },\n };\n\n expect(() => appHandler.handler(request)).toThrowError();\n });\n\n it(\"Handles the GET_APP_HANDLER_VERSION request\", (done) => {\n const { appHandler } = makeTestRig();\n\n function callback(appHandlerVersion: number) {\n try {\n expect(appHandlerVersion).toEqual(1);\n done();\n } catch (e) {\n done(e);\n }\n }\n\n const request: Request = {\n type: \"GET_APP_HANDLER_VERSION\",\n version: 1,\n payload: { callback },\n };\n\n appHandler.handler(request);\n });\n\n it(\"Throws for an unsupported version of the get payload version request\", () => {\n const { appHandler } = makeTestRig();\n\n const request: Request = {\n type: \"GET_APP_HANDLER_VERSION\",\n version: 0,\n payload: { callback: () => {} },\n };\n\n expect(() => appHandler.handler(request)).toThrowError();\n });\n\n it(\"Throws for a bungled payload of the get payload version request\", () => {\n const { appHandler } = makeTestRig();\n\n const request: Request = {\n type: \"GET_APP_HANDLER_VERSION\",\n version: 1,\n payload: { foo: \"bar\" },\n };\n\n expect(() => appHandler.handler(request)).toThrowError();\n });\n\n it(\"Verbose flag defaults to false\", () => {\n const { appHandler } = makeTestRig();\n\n expect(appHandler.verbose).toBe(false);\n });\n\n it(\"Does not log requests when verbose is false\", () => {\n const { appHandler, mockRequestHandler } = makeTestRig();\n console.log = jest.fn();\n const request: Request = {\n type: \"A_REQUEST\",\n version: 2,\n payload: { foo: \"bar\" },\n };\n\n appHandler.handler(request);\n\n expect(console.log).not.toHaveBeenCalled();\n });\n\n it(\"Logs requests when verbose is true\", () => {\n const { appHandler, mockRequestHandler } = makeTestRig();\n console.log = jest.fn();\n appHandler.verbose = true;\n const request: Request = {\n type: \"A_REQUEST\",\n version: 2,\n payload: { foo: \"bar\" },\n };\n\n appHandler.handler(request);\n\n expect(console.log).toHaveBeenCalledWith(\n \"[AppHandler] Request received:\",\n request,\n );\n });\n});\n"]}
|
|
@@ -19,9 +19,16 @@ const UC_1 = require("../UC");
|
|
|
19
19
|
* @extends DomainFactory
|
|
20
20
|
*/
|
|
21
21
|
class RequestHandlerFeatureFactory extends core_1.DomainFactory {
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
get appHandler() {
|
|
23
|
+
return this._appHandler;
|
|
24
|
+
}
|
|
25
|
+
constructor(appObject, config) {
|
|
26
|
+
super(appObject);
|
|
24
27
|
this.factoryName = "RequestHandlerFeatureFactory";
|
|
28
|
+
this.zSpaceSupported = config?.zSpaceSupported ?? true;
|
|
29
|
+
this.themeSupported = config?.themeSupported ?? true;
|
|
30
|
+
this.babylonSupported = config?.babylonSupported ?? true;
|
|
31
|
+
this.verbose = config?.verbose ?? false;
|
|
25
32
|
}
|
|
26
33
|
/**
|
|
27
34
|
* Sets up all entities required for the Request Handler Feature.
|
|
@@ -30,7 +37,9 @@ class RequestHandlerFeatureFactory extends core_1.DomainFactory {
|
|
|
30
37
|
* registration of request handlers for the application.
|
|
31
38
|
*/
|
|
32
39
|
setupEntities() {
|
|
33
|
-
|
|
40
|
+
const appHandlerEntity = (0, Entities_1.makeAppHandler)(this.appObject);
|
|
41
|
+
appHandlerEntity.verbose = this.verbose;
|
|
42
|
+
this._appHandler = appHandlerEntity.handler;
|
|
34
43
|
}
|
|
35
44
|
/**
|
|
36
45
|
* Sets up all use cases for the Request Handler Feature.
|
|
@@ -49,25 +58,26 @@ class RequestHandlerFeatureFactory extends core_1.DomainFactory {
|
|
|
49
58
|
* - StopZSpace: Manages ZSpace functionality shutdown
|
|
50
59
|
*/
|
|
51
60
|
setupUCs() {
|
|
61
|
+
// Required Use Cases
|
|
52
62
|
(0, UC_1.makeDisposeAppUC)(this.appObject);
|
|
53
|
-
(0, UC_1.makeEnableFeatureUC)(this.appObject);
|
|
54
63
|
(0, UC_1.makeSetAppStateUC)(this.appObject);
|
|
55
64
|
(0, UC_1.makeSetIsAuthoringUC)(this.appObject);
|
|
56
|
-
(0, UC_1.makeSetThemeColorUC)(this.appObject);
|
|
57
|
-
(0, UC_1.makeShowBabylonInspectorUC)(this.appObject);
|
|
58
65
|
(0, UC_1.makeStartAppUC)(this.appObject);
|
|
59
|
-
(0, UC_1.makeStartZSpaceUC)(this.appObject);
|
|
60
66
|
(0, UC_1.makeStopAppUC)(this.appObject);
|
|
61
|
-
(0, UC_1.
|
|
67
|
+
(0, UC_1.makeEnableFeatureUC)(this.appObject);
|
|
68
|
+
if (this.themeSupported) {
|
|
69
|
+
(0, UC_1.makeSetThemeColorUC)(this.appObject);
|
|
70
|
+
}
|
|
71
|
+
if (this.babylonSupported) {
|
|
72
|
+
(0, UC_1.makeShowBabylonInspectorUC)(this.appObject);
|
|
73
|
+
}
|
|
74
|
+
if (this.zSpaceSupported) {
|
|
75
|
+
(0, UC_1.makeStartZSpaceUC)(this.appObject);
|
|
76
|
+
(0, UC_1.makeStopZSpaceUC)(this.appObject);
|
|
77
|
+
}
|
|
62
78
|
}
|
|
63
|
-
/**
|
|
64
|
-
* Sets up all presentation models for the Request Handler Feature.
|
|
65
|
-
*
|
|
66
|
-
* Currently no presentation models are required for the Request Handler
|
|
67
|
-
* feature as it primarily handles backend operations and use case coordination.
|
|
68
|
-
*/
|
|
69
79
|
setupPMs() {
|
|
70
|
-
//
|
|
80
|
+
// No PMs to set up for this feature
|
|
71
81
|
}
|
|
72
82
|
/**
|
|
73
83
|
* Performs any final setup operations after all components are initialized.
|
|
@@ -78,27 +88,16 @@ class RequestHandlerFeatureFactory extends core_1.DomainFactory {
|
|
|
78
88
|
finalSetup() {
|
|
79
89
|
// No additional setup required for this feature
|
|
80
90
|
}
|
|
81
|
-
/**
|
|
82
|
-
* Returns the created AppHandler entity.
|
|
83
|
-
*
|
|
84
|
-
* This method provides equivalent functionality to the return value of
|
|
85
|
-
* the original setupAppHandlers function, allowing consumers who need
|
|
86
|
-
* the AppHandlerEntity reference to access it after factory creation.
|
|
87
|
-
*
|
|
88
|
-
* @returns The AppHandlerEntity created during setupEntities, or undefined if not created
|
|
89
|
-
*/
|
|
90
|
-
getAppHandlerEntity() {
|
|
91
|
-
return this.appHandlerEntity;
|
|
92
|
-
}
|
|
93
91
|
}
|
|
94
92
|
exports.RequestHandlerFeatureFactory = RequestHandlerFeatureFactory;
|
|
95
93
|
/**
|
|
96
94
|
* Factory function to create a new RequestHandlerFeatureFactory
|
|
97
95
|
* @param appObjects The AppObjectRepo to get the AppHandlers AppObject from
|
|
96
|
+
* @param config Optional configuration object for the Request Handler Feature
|
|
98
97
|
* @returns A new RequestHandlerFeatureFactory instance
|
|
99
98
|
*/
|
|
100
|
-
function makeRequestHandlerFeatureFactory(appObjects) {
|
|
99
|
+
function makeRequestHandlerFeatureFactory(appObjects, config) {
|
|
101
100
|
const appObject = appObjects.getOrCreate("AppHandlers");
|
|
102
|
-
return new RequestHandlerFeatureFactory(appObject);
|
|
101
|
+
return new RequestHandlerFeatureFactory(appObject, config);
|
|
103
102
|
}
|
|
104
103
|
//# sourceMappingURL=RequestHandlerFeatureFactory.js.map
|