@@ -18,14 +18,16 @@ const DEFAULT = {
18
18
} ;
19
19
20
20
class StateTravel {
21
- constructor ( internals , file , driver , pdriver ) {
21
+ constructor ( internals , file , driver , pdriver , stepOnly = true ) {
22
22
this . file = file ;
23
23
this . internals = internals ;
24
24
this . driver = driver ;
25
25
this . pdriver = pdriver ;
26
26
this . _counter = 0 ;
27
27
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
+ }
29
31
30
32
return State . update (
31
33
this . pdriver ,
@@ -49,24 +51,25 @@ const noTravelError = prop => {
49
51
} ;
50
52
} ;
51
53
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
+
56
66
return Shadow . overshadow (
57
67
driver ,
58
- Object . assign ( st , context . statechanger ) ,
68
+ new StateTravel ( internals , file , context , pdriver , step ) ,
59
69
noTravelError
60
70
) ;
61
71
}
62
72
63
- return Shadow . overshadow (
64
- driver ,
65
- new StateTravel ( internals , file , context , pdriver ) ,
66
- noTravelError
67
- ) ;
68
- }
69
-
70
73
/* hasModification: true,
71
74
72
75
modify: (context, driver, internals) => {
@@ -84,4 +87,5 @@ module.exports = {
84
87
85
88
return { driver: _driver };
86
89
} */
90
+ } ;
87
91
} ;
0 commit comments