@@ -18,14 +18,16 @@ const DEFAULT = {
1818} ;
1919
2020class StateTravel {
21- constructor ( internals , file , driver , pdriver ) {
21+ constructor ( internals , file , driver , pdriver , stepOnly = true ) {
2222 this . file = file ;
2323 this . internals = internals ;
2424 this . driver = driver ;
2525 this . pdriver = pdriver ;
2626 this . _counter = 0 ;
2727 this . _default = async function _default ( ) {
28- await State . step ( this . pdriver , ++ this . _counter , this . internals ) ;
28+ if ( ! stepOnly ) {
29+ await State . step ( this . pdriver , ++ this . _counter , this . internals ) ;
30+ }
2931
3032 return State . update (
3133 this . pdriver ,
@@ -49,24 +51,25 @@ const noTravelError = prop => {
4951 } ;
5052} ;
5153
52- module . exports = {
53- getInterface : ( context , file , driver , internals , pdriver ) => {
54- if ( context . learnable ) {
55- const st = new StateTravel ( internals , file , context , pdriver ) ;
54+ module . exports = function ( step = true ) {
55+ return {
56+ getInterface : ( context , file , driver , internals , pdriver ) => {
57+ if ( context . learnable ) {
58+ const st = new StateTravel ( internals , file , context , pdriver , step ) ;
59+ return Shadow . overshadow (
60+ driver ,
61+ Object . assign ( st , context . statechanger ) ,
62+ noTravelError
63+ ) ;
64+ }
65+
5666 return Shadow . overshadow (
5767 driver ,
58- Object . assign ( st , context . statechanger ) ,
68+ new StateTravel ( internals , file , context , pdriver , step ) ,
5969 noTravelError
6070 ) ;
6171 }
6272
63- return Shadow . overshadow (
64- driver ,
65- new StateTravel ( internals , file , context , pdriver ) ,
66- noTravelError
67- ) ;
68- }
69-
7073 /* hasModification: true,
7174
7275 modify: (context, driver, internals) => {
@@ -84,4 +87,5 @@ module.exports = {
8487
8588 return { driver: _driver };
8689 } */
90+ } ;
8791} ;
0 commit comments