@haibun/core 1.41.1-alpha → 1.41.3
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/build/currentVersion.d.ts +1 -1
- package/build/currentVersion.d.ts.map +1 -1
- package/build/currentVersion.js +1 -1
- package/build/currentVersion.js.map +1 -1
- package/build/lib/LogHistory.d.ts +1 -1
- package/build/lib/LogHistory.d.ts.map +1 -1
- package/build/lib/LogHistory.js +1 -1
- package/build/lib/LogHistory.js.map +1 -1
- package/build/lib/Logger.d.ts +7 -7
- package/build/lib/Logger.d.ts.map +1 -1
- package/build/lib/Logger.js.map +1 -1
- package/build/lib/contexts.d.ts +1 -2
- package/build/lib/contexts.d.ts.map +1 -1
- package/build/lib/contexts.js +1 -2
- package/build/lib/contexts.js.map +1 -1
- package/build/lib/defs.d.ts +20 -50
- package/build/lib/defs.d.ts.map +1 -1
- package/build/lib/defs.js +19 -0
- package/build/lib/defs.js.map +1 -1
- package/build/lib/domain-types.d.ts +0 -1
- package/build/lib/domain-types.d.ts.map +1 -1
- package/build/lib/domain-types.js.map +1 -1
- package/build/lib/interfaces/logger.d.ts +11 -11
- package/build/lib/interfaces/logger.d.ts.map +1 -1
- package/build/lib/interfaces/logger.js.map +1 -1
- package/build/lib/namedVars.d.ts +4 -4
- package/build/lib/namedVars.d.ts.map +1 -1
- package/build/lib/namedVars.js +9 -4
- package/build/lib/namedVars.js.map +1 -1
- package/build/lib/test/TestSteps.d.ts +2 -12
- package/build/lib/test/TestSteps.d.ts.map +1 -1
- package/build/lib/test/TestSteps.js +0 -12
- package/build/lib/test/TestSteps.js.map +1 -1
- package/build/lib/test/TestStepsWithOptions.d.ts +2 -2
- package/build/lib/test/lib.d.ts +5 -7
- package/build/lib/test/lib.d.ts.map +1 -1
- package/build/lib/test/lib.js +19 -18
- package/build/lib/test/lib.js.map +1 -1
- package/build/lib/util/index.d.ts +1 -2
- package/build/lib/util/index.d.ts.map +1 -1
- package/build/lib/util/index.js +2 -15
- package/build/lib/util/index.js.map +1 -1
- package/build/lib/util/workspace-lib.d.ts +1 -2
- package/build/lib/util/workspace-lib.d.ts.map +1 -1
- package/build/lib/util/workspace-lib.js +0 -22
- package/build/lib/util/workspace-lib.js.map +1 -1
- package/build/phases/Executor.d.ts +8 -8
- package/build/phases/Executor.d.ts.map +1 -1
- package/build/phases/Executor.js +50 -53
- package/build/phases/Executor.js.map +1 -1
- package/build/phases/Resolver.d.ts +7 -8
- package/build/phases/Resolver.d.ts.map +1 -1
- package/build/phases/Resolver.js +17 -31
- package/build/phases/Resolver.js.map +1 -1
- package/build/runner.d.ts +8 -3
- package/build/runner.d.ts.map +1 -1
- package/build/runner.js +28 -10
- package/build/runner.js.map +1 -1
- package/build/steps/conformance.d.ts +1 -1
- package/build/steps/credentials.d.ts +1 -1
- package/build/steps/haibun.d.ts +8 -4
- package/build/steps/haibun.d.ts.map +1 -1
- package/build/steps/haibun.js +32 -7
- package/build/steps/haibun.js.map +1 -1
- package/build/steps/parse.d.ts +2 -2
- package/build/steps/vars.d.ts +15 -15
- package/build/steps/vars.d.ts.map +1 -1
- package/build/steps/vars.js +17 -18
- package/build/steps/vars.js.map +1 -1
- package/package.json +1 -1
- package/build/lib/run-with-options.o.d.ts +0 -2
- package/build/lib/run-with-options.o.d.ts.map +0 -1
- package/build/lib/run-with-options.o.js +0 -113
- package/build/lib/run-with-options.o.js.map +0 -1
- package/build/lib/run.o.d.ts +0 -19
- package/build/lib/run.o.d.ts.map +0 -1
- package/build/lib/run.o.js +0 -62
- package/build/lib/run.o.js.map +0 -1
package/build/phases/Executor.js
CHANGED
|
@@ -1,27 +1,28 @@
|
|
|
1
1
|
import { STAY, STAY_FAILURE, } from '../lib/defs.js';
|
|
2
2
|
import { getNamedToVars } from '../lib/namedVars.js';
|
|
3
|
-
import { actionNotOK,
|
|
3
|
+
import { actionNotOK, setStepperWorlds, sleep, createSteppers, findStepper, constructorName } from '../lib/util/index.js';
|
|
4
4
|
export class Executor {
|
|
5
5
|
// find the stepper and action, call it and return its result
|
|
6
|
-
static async action(steppers,
|
|
7
|
-
const namedWithVars = getNamedToVars(found, world,
|
|
6
|
+
static async action(steppers, featureStep, found, world) {
|
|
7
|
+
const namedWithVars = getNamedToVars(found, world, featureStep);
|
|
8
8
|
const stepper = findStepper(steppers, found.stepperName);
|
|
9
9
|
const action = stepper.steps[found.actionName].action;
|
|
10
|
-
return await action(namedWithVars,
|
|
10
|
+
return await action(namedWithVars, featureStep).catch((caught) => {
|
|
11
11
|
world.logger.error(caught.stack);
|
|
12
|
-
return actionNotOK(`in ${
|
|
12
|
+
return actionNotOK(`in ${featureStep.in}: ${caught.message}`, {
|
|
13
|
+
topics: { caught: (caught?.stack || caught).toString() },
|
|
14
|
+
});
|
|
13
15
|
});
|
|
14
16
|
}
|
|
15
|
-
static async execute(csteppers, world, features,
|
|
17
|
+
static async execute(csteppers, world, features, endFeatureCallbacks) {
|
|
16
18
|
let ok = true;
|
|
17
19
|
const stayOnFailure = world.options[STAY] === STAY_FAILURE;
|
|
18
20
|
const featureResults = [];
|
|
19
|
-
world.shared.values._scored = [];
|
|
20
21
|
let featureNum = 0;
|
|
21
22
|
for (const feature of features) {
|
|
22
23
|
featureNum++;
|
|
23
24
|
const newWorld = { ...world, tag: { ...world.tag, ...{ featureNum: 0 + featureNum } } };
|
|
24
|
-
const featureExecutor = new FeatureExecutor(csteppers,
|
|
25
|
+
const featureExecutor = new FeatureExecutor(csteppers, endFeatureCallbacks);
|
|
25
26
|
await featureExecutor.setup(newWorld);
|
|
26
27
|
const featureResult = await featureExecutor.doFeature(feature);
|
|
27
28
|
ok = ok && featureResult.ok;
|
|
@@ -38,13 +39,13 @@ export class Executor {
|
|
|
38
39
|
}
|
|
39
40
|
export class FeatureExecutor {
|
|
40
41
|
csteppers;
|
|
41
|
-
|
|
42
|
+
endFeatureCallbacks;
|
|
42
43
|
world;
|
|
43
44
|
steppers;
|
|
44
45
|
startOffset = 0;
|
|
45
|
-
constructor(csteppers,
|
|
46
|
+
constructor(csteppers, endFeatureCallbacks) {
|
|
46
47
|
this.csteppers = csteppers;
|
|
47
|
-
this.
|
|
48
|
+
this.endFeatureCallbacks = endFeatureCallbacks;
|
|
48
49
|
}
|
|
49
50
|
async setup(world) {
|
|
50
51
|
this.world = world;
|
|
@@ -61,7 +62,7 @@ export class FeatureExecutor {
|
|
|
61
62
|
world.logger.log(`███ feature ${world.tag.featureNum}: ${feature.path}`);
|
|
62
63
|
let ok = true;
|
|
63
64
|
const stepResults = [];
|
|
64
|
-
for (const step of feature.
|
|
65
|
+
for (const step of feature.featureSteps) {
|
|
65
66
|
world.logger.log(step.in);
|
|
66
67
|
const result = await FeatureExecutor.doFeatureStep(this.steppers, step, world);
|
|
67
68
|
if (world.options.step_delay) {
|
|
@@ -81,65 +82,61 @@ export class FeatureExecutor {
|
|
|
81
82
|
const featureResult = { path: feature.path, ok, stepResults };
|
|
82
83
|
return featureResult;
|
|
83
84
|
}
|
|
84
|
-
static async doFeatureStep(steppers,
|
|
85
|
+
static async doFeatureStep(steppers, featureStep, world) {
|
|
85
86
|
let ok = true;
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
world.shared.unset('_trace');
|
|
95
|
-
}
|
|
96
|
-
const end = world.timer.since();
|
|
97
|
-
// FIXME
|
|
98
|
-
const stepResult = { ...res, name: action.actionName, start, end, traces };
|
|
99
|
-
actionResults.push(stepResult);
|
|
100
|
-
const shouldContinue = applyResShouldContinue(world, res, action);
|
|
101
|
-
ok = ok && shouldContinue;
|
|
102
|
-
if (!shouldContinue) {
|
|
103
|
-
break;
|
|
104
|
-
}
|
|
87
|
+
// FIXME feature should really be attached to the featureStep
|
|
88
|
+
const action = featureStep.action;
|
|
89
|
+
const start = world.timer.since();
|
|
90
|
+
const res = await Executor.action(steppers, featureStep, action, world);
|
|
91
|
+
let traces;
|
|
92
|
+
if (world.shared.get('_trace')) {
|
|
93
|
+
traces = world.shared.get('_trace');
|
|
94
|
+
world.shared.unset('_trace');
|
|
105
95
|
}
|
|
106
|
-
|
|
96
|
+
const end = world.timer.since();
|
|
97
|
+
// FIXME
|
|
98
|
+
const stepResult = { ...res, name: action.actionName, start, end, traces };
|
|
99
|
+
const actionResult = stepResult;
|
|
100
|
+
ok = ok && res.ok;
|
|
101
|
+
return { ok, in: featureStep.in, sourcePath: featureStep.source.path, actionResult, seq: featureStep.seq };
|
|
107
102
|
}
|
|
108
103
|
async onFailure(result, step) {
|
|
109
|
-
for (const
|
|
110
|
-
if (
|
|
111
|
-
const res = await
|
|
112
|
-
this.world.logger.error(`onFailure from ${result.in} for ${constructorName(
|
|
104
|
+
for (const stepper of this.steppers) {
|
|
105
|
+
if (stepper.onFailure) {
|
|
106
|
+
const res = await stepper.onFailure(result, step);
|
|
107
|
+
this.world.logger.error(`onFailure from ${result.in} for ${constructorName(stepper)}`, res);
|
|
113
108
|
}
|
|
114
109
|
}
|
|
115
110
|
}
|
|
116
111
|
async endFeature() {
|
|
117
|
-
for (const
|
|
118
|
-
if (
|
|
119
|
-
this.world.logger.debug(`endFeature ${constructorName(
|
|
120
|
-
await
|
|
112
|
+
for (const stepper of this.steppers) {
|
|
113
|
+
if (stepper.endFeature) {
|
|
114
|
+
this.world.logger.debug(`endFeature ${constructorName(stepper)}`);
|
|
115
|
+
await stepper.endFeature().catch((error) => {
|
|
121
116
|
console.error('endFeature', error);
|
|
122
|
-
throw
|
|
117
|
+
throw error;
|
|
123
118
|
});
|
|
124
|
-
this.world.logger.debug(`endedFeature ${constructorName(
|
|
119
|
+
this.world.logger.debug(`endedFeature ${constructorName(stepper)}`);
|
|
125
120
|
}
|
|
126
121
|
}
|
|
127
122
|
}
|
|
128
123
|
async doEndFeatureCallback(featureResult) {
|
|
129
|
-
if (this.
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
124
|
+
if (this.endFeatureCallbacks) {
|
|
125
|
+
for (const callback of this.endFeatureCallbacks) {
|
|
126
|
+
try {
|
|
127
|
+
await callback({ world: this.world, result: featureResult, steppers: this.steppers, startOffset: this.startOffset });
|
|
128
|
+
}
|
|
129
|
+
catch (error) {
|
|
130
|
+
throw Error(error);
|
|
131
|
+
}
|
|
135
132
|
}
|
|
136
133
|
}
|
|
137
134
|
}
|
|
138
135
|
async close() {
|
|
139
|
-
for (const
|
|
140
|
-
if (
|
|
141
|
-
this.world.logger.debug(`closing ${constructorName(
|
|
142
|
-
await
|
|
136
|
+
for (const stepper of this.steppers) {
|
|
137
|
+
if (stepper.close) {
|
|
138
|
+
this.world.logger.debug(`closing ${constructorName(stepper)}`);
|
|
139
|
+
await stepper.close();
|
|
143
140
|
}
|
|
144
141
|
}
|
|
145
142
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Executor.js","sourceRoot":"","sources":["../../src/phases/Executor.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Executor.js","sourceRoot":"","sources":["../../src/phases/Executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { TStepAction, TResolvedFeature, TExpandedFeature, AStepper, TFeatureStep, TExpandedLine } from '../lib/defs.js';
|
|
2
2
|
export declare class Resolver {
|
|
3
|
-
steppers
|
|
4
|
-
world: TWorld;
|
|
5
|
-
mode: string;
|
|
3
|
+
private steppers;
|
|
6
4
|
types: string[];
|
|
7
|
-
constructor(steppers: AStepper[]
|
|
5
|
+
constructor(steppers: AStepper[]);
|
|
8
6
|
resolveStepsFromFeatures(features: TExpandedFeature[]): Promise<TResolvedFeature[]>;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
findFeatureSteps(feature: TExpandedFeature): Promise<TFeatureStep[]>;
|
|
8
|
+
getFeatureStep(featureLine: TExpandedLine, seq: number, action: TStepAction): TFeatureStep;
|
|
9
|
+
findActionableSteps(actionable: string): TStepAction[];
|
|
10
|
+
private stepApplies;
|
|
12
11
|
static getTypeValidationError: (prelude: string, fileType: string, name: string, typeValidationError: string) => string;
|
|
13
12
|
static getMoreThanOneInclusionError: (prelude: string, fileType: string, name: string) => string;
|
|
14
13
|
static getNoFileTypeInclusionError: (prelude: string, fileType: string, name: string) => string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Resolver.d.ts","sourceRoot":"","sources":["../../src/phases/Resolver.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Resolver.d.ts","sourceRoot":"","sources":["../../src/phases/Resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,WAAW,EACX,gBAAgB,EAEhB,gBAAgB,EAChB,QAAQ,EAER,YAAY,EACZ,aAAa,EACb,MAAM,gBAAgB,CAAC;AAKxB,qBAAa,QAAQ;IAGR,OAAO,CAAC,QAAQ;IAF5B,KAAK,EAAE,MAAM,EAAE,CAAC;gBAEI,QAAQ,EAAE,QAAQ,EAAE;IAIlC,wBAAwB,CAAC,QAAQ,EAAE,gBAAgB,EAAE;IAU9C,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAsBjF,cAAc,CAAC,WAAW,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,YAAY;IAInF,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,EAAE;IAqB7D,OAAO,CAAC,WAAW;IAgBf,MAAM,CAAC,sBAAsB,YAAa,MAAM,YAAY,MAAM,QAAQ,MAAM,uBAAuB,MAAM,YACzB;IACxF,MAAM,CAAC,4BAA4B,YAAa,MAAM,YAAY,MAAM,QAAQ,MAAM,YACpB;IAClE,MAAM,CAAC,2BAA2B,YAAa,MAAM,YAAY,MAAM,QAAQ,MAAM,YAC9B;CACvD"}
|
package/build/phases/Resolver.js
CHANGED
|
@@ -1,57 +1,43 @@
|
|
|
1
|
-
import { OK } from '../lib/defs.js';
|
|
1
|
+
import { OK, } from '../lib/defs.js';
|
|
2
2
|
import { BASE_TYPES } from '../lib/domain-types.js';
|
|
3
3
|
import { namedInterpolation, getMatch } from '../lib/namedVars.js';
|
|
4
4
|
import { getActionable, describeSteppers, isLowerCase, dePolite, constructorName } from '../lib/util/index.js';
|
|
5
5
|
export class Resolver {
|
|
6
6
|
steppers;
|
|
7
|
-
world;
|
|
8
|
-
mode;
|
|
9
7
|
types;
|
|
10
|
-
constructor(steppers
|
|
8
|
+
constructor(steppers) {
|
|
11
9
|
this.steppers = steppers;
|
|
12
|
-
this.world = world;
|
|
13
10
|
this.types = BASE_TYPES;
|
|
14
11
|
}
|
|
15
12
|
async resolveStepsFromFeatures(features) {
|
|
16
|
-
const
|
|
13
|
+
const steps = [];
|
|
17
14
|
for (const feature of features) {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
expanded.push(e);
|
|
22
|
-
}
|
|
23
|
-
catch (e) {
|
|
24
|
-
this.world.logger.error(e);
|
|
25
|
-
throw e;
|
|
26
|
-
}
|
|
15
|
+
const featureSteps = await this.findFeatureSteps(feature);
|
|
16
|
+
const e = { ...feature, ...{ featureSteps } };
|
|
17
|
+
steps.push(e);
|
|
27
18
|
}
|
|
28
|
-
return
|
|
19
|
+
return steps;
|
|
29
20
|
}
|
|
30
|
-
async
|
|
31
|
-
let
|
|
21
|
+
async findFeatureSteps(feature) {
|
|
22
|
+
let featureSteps = [];
|
|
32
23
|
let seq = 0;
|
|
33
24
|
for (const featureLine of feature.expanded) {
|
|
34
25
|
seq++;
|
|
35
26
|
const actionable = getActionable(featureLine.line);
|
|
36
27
|
const actions = this.findActionableSteps(actionable);
|
|
37
|
-
/*
|
|
38
|
-
try {
|
|
39
|
-
// FIXME
|
|
40
|
-
checkRequiredType(feature, featureLine.line, actions, this.world);
|
|
41
|
-
} catch (e) {
|
|
42
|
-
throw e;
|
|
43
|
-
}
|
|
44
|
-
*/
|
|
45
28
|
if (actions.length > 1) {
|
|
46
29
|
throw Error(`more than one step found for "${featureLine.line}": ${JSON.stringify(actions.map((a) => a.actionName))}`);
|
|
47
30
|
}
|
|
48
31
|
else if (actions.length < 1) {
|
|
49
32
|
throw Error(`no step found for ${featureLine.line} in ${feature.path} from ${describeSteppers(this.steppers)}`);
|
|
50
33
|
}
|
|
51
|
-
const
|
|
52
|
-
|
|
34
|
+
const featureStep = this.getFeatureStep(featureLine, seq, actions[0]);
|
|
35
|
+
featureSteps.push(featureStep);
|
|
53
36
|
}
|
|
54
|
-
return
|
|
37
|
+
return featureSteps;
|
|
38
|
+
}
|
|
39
|
+
getFeatureStep(featureLine, seq, action) {
|
|
40
|
+
return { source: featureLine.feature, in: featureLine.line, seq, action };
|
|
55
41
|
}
|
|
56
42
|
findActionableSteps(actionable) {
|
|
57
43
|
if (!actionable.length) {
|
|
@@ -63,7 +49,7 @@ export class Resolver {
|
|
|
63
49
|
const { steps } = stepper;
|
|
64
50
|
for (const actionName in steps) {
|
|
65
51
|
const step = steps[actionName];
|
|
66
|
-
const stepFound = this.
|
|
52
|
+
const stepFound = this.stepApplies(step, actionable, actionName, stepperName);
|
|
67
53
|
if (stepFound) {
|
|
68
54
|
found.push(stepFound);
|
|
69
55
|
}
|
|
@@ -71,7 +57,7 @@ export class Resolver {
|
|
|
71
57
|
}
|
|
72
58
|
return found;
|
|
73
59
|
}
|
|
74
|
-
|
|
60
|
+
stepApplies(step, actionable, actionName, stepperName) {
|
|
75
61
|
const curt = dePolite(actionable);
|
|
76
62
|
if (step.gwta) {
|
|
77
63
|
const { str, vars } = namedInterpolation(step.gwta, this.types);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Resolver.js","sourceRoot":"","sources":["../../src/phases/Resolver.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Resolver.js","sourceRoot":"","sources":["../../src/phases/Resolver.ts"],"names":[],"mappings":"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"}
|
package/build/runner.d.ts
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
|
-
import { TWorld, TExecutorResult, CStepper } from './lib/defs.js';
|
|
1
|
+
import { TWorld, TExecutorResult, CStepper, TEndFeatureCallback } from './lib/defs.js';
|
|
2
2
|
import { TFeaturesBackgrounds } from './phases/collector.js';
|
|
3
|
+
export type TRunnerCallbacks = {
|
|
4
|
+
endFeature?: TEndFeatureCallback[];
|
|
5
|
+
};
|
|
3
6
|
export declare class Runner {
|
|
4
|
-
private result;
|
|
5
7
|
private world;
|
|
6
|
-
|
|
8
|
+
private callbacks;
|
|
9
|
+
private result;
|
|
10
|
+
constructor(world: TWorld, callbacks?: TRunnerCallbacks);
|
|
7
11
|
private errorBail;
|
|
8
12
|
run(steppers: string[]): Promise<TExecutorResult>;
|
|
9
13
|
runFeaturesAndBackgrounds(csteppers: CStepper[], { features, backgrounds }: TFeaturesBackgrounds): Promise<TExecutorResult>;
|
|
14
|
+
private applyEffectFeatures;
|
|
10
15
|
}
|
|
11
16
|
//# sourceMappingURL=runner.d.ts.map
|
package/build/runner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,MAAM,EACN,eAAe,EAEf,QAAQ,EACR,mBAAmB,EAInB,MAAM,eAAe,CAAC;AAWvB,OAAO,EAA6B,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAIxF,MAAM,MAAM,gBAAgB,GAAG;IAC9B,UAAU,CAAC,EAAE,mBAAmB,EAAE,CAAC;CACnC,CAAC;AAEF,qBAAa,MAAM;IAGN,OAAO,CAAC,KAAK;IAAU,OAAO,CAAC,SAAS;IAFpD,OAAO,CAAC,MAAM,CAA8B;gBAExB,KAAK,EAAE,MAAM,EAAU,SAAS,GAAE,gBAAqB;IAE3E,OAAO,CAAC,SAAS,CASf;IAEI,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE;IAatB,yBAAyB,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,oBAAoB;YAoCxF,mBAAmB;CAgBjC"}
|
package/build/runner.js
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import { expand } from './lib/features.js';
|
|
2
|
-
import {
|
|
2
|
+
import { getNamedToVars } from './lib/namedVars.js';
|
|
3
|
+
import { verifyRequiredOptions, verifyExtraOptions, createSteppers, setStepperWorlds, constructorName, } from './lib/util/index.js';
|
|
3
4
|
import { getSteppers } from './lib/util/workspace-lib.js';
|
|
4
5
|
import { getFeaturesAndBackgrounds } from './phases/collector.js';
|
|
5
6
|
import { Executor } from './phases/Executor.js';
|
|
6
7
|
import { Resolver } from './phases/Resolver.js';
|
|
7
8
|
export class Runner {
|
|
8
|
-
result = undefined;
|
|
9
9
|
world;
|
|
10
|
-
|
|
10
|
+
callbacks;
|
|
11
|
+
result = undefined;
|
|
12
|
+
constructor(world, callbacks = {}) {
|
|
11
13
|
this.world = world;
|
|
14
|
+
this.callbacks = callbacks;
|
|
12
15
|
}
|
|
13
16
|
errorBail = (phase, error, details) => {
|
|
14
17
|
this.world.logger.error(`errorBail ${phase} ${error} ${details}`, error.stack);
|
|
@@ -26,8 +29,7 @@ export class Runner {
|
|
|
26
29
|
featuresBackgrounds = getFeaturesAndBackgrounds(this.world.bases, []);
|
|
27
30
|
}
|
|
28
31
|
catch (error) {
|
|
29
|
-
|
|
30
|
-
throw error;
|
|
32
|
+
this.errorBail('Collector', error);
|
|
31
33
|
}
|
|
32
34
|
const { features, backgrounds } = featuresBackgrounds;
|
|
33
35
|
const cSteppers = await getSteppers(steppers).catch((error) => this.errorBail('Steppers', error));
|
|
@@ -37,15 +39,16 @@ export class Runner {
|
|
|
37
39
|
try {
|
|
38
40
|
await verifyRequiredOptions(csteppers, this.world.moduleOptions).catch((error) => this.errorBail('RequiredOptions', error));
|
|
39
41
|
await verifyExtraOptions(this.world.moduleOptions, csteppers).catch((error) => this.errorBail('moduleOptions', error));
|
|
40
|
-
const expandedFeatures = await expand(backgrounds, features).catch((error) => this.errorBail('Expand', error));
|
|
41
42
|
const steppers = await createSteppers(csteppers);
|
|
42
43
|
await setStepperWorlds(steppers, this.world).catch((error) => this.errorBail('StepperOptions', error));
|
|
43
|
-
const
|
|
44
|
-
const
|
|
44
|
+
const expandedFeatures = await expand(backgrounds, features).catch((error) => this.errorBail('Expand', error));
|
|
45
|
+
const resolver = new Resolver(steppers);
|
|
46
|
+
const resolvedFeatures = await resolver
|
|
45
47
|
.resolveStepsFromFeatures(expandedFeatures)
|
|
46
48
|
.catch((error) => this.errorBail('Resolve', error));
|
|
47
|
-
|
|
48
|
-
this.
|
|
49
|
+
const appliedResolvedFeatures = await this.applyEffectFeatures(resolvedFeatures, steppers);
|
|
50
|
+
this.world.logger.log(`features: ${expandedFeatures.length} backgrounds: ${backgrounds.length} steps: (${expandedFeatures.map((e) => e.path)}), ${appliedResolvedFeatures.length}`);
|
|
51
|
+
this.result = await Executor.execute(csteppers, this.world, appliedResolvedFeatures, this.callbacks.endFeature).catch((error) => this.errorBail('Execute', error));
|
|
49
52
|
}
|
|
50
53
|
catch (error) {
|
|
51
54
|
if (!this.result) {
|
|
@@ -54,5 +57,20 @@ export class Runner {
|
|
|
54
57
|
}
|
|
55
58
|
return this.result;
|
|
56
59
|
}
|
|
60
|
+
async applyEffectFeatures(resolvedFeatures, steppers) {
|
|
61
|
+
let allFeatures = [...resolvedFeatures];
|
|
62
|
+
for (const feature of resolvedFeatures) {
|
|
63
|
+
for (const featureStep of feature.featureSteps) {
|
|
64
|
+
const action = featureStep.action;
|
|
65
|
+
const stepper = steppers.find((s) => constructorName(s) === action.stepperName);
|
|
66
|
+
if (stepper && stepper.steps[action.actionName]?.applyEffect) {
|
|
67
|
+
const found = action;
|
|
68
|
+
const namedWithVars = getNamedToVars(found, this.world, featureStep);
|
|
69
|
+
allFeatures = await stepper.steps[action.actionName].applyEffect(namedWithVars, [feature]);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return allFeatures;
|
|
74
|
+
}
|
|
57
75
|
}
|
|
58
76
|
//# sourceMappingURL=runner.js.map
|
package/build/runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EACN,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,eAAe,GACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAwB,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAMhD,MAAM,OAAO,MAAM;IAGE;IAAuB;IAFnC,MAAM,GAAoB,SAAS,CAAC;IAE5C,YAAoB,KAAa,EAAU,YAA8B,EAAE;QAAvD,UAAK,GAAL,KAAK,CAAQ;QAAU,cAAS,GAAT,SAAS,CAAuB;IAAG,CAAC;IAEvE,SAAS,GAAG,CAAC,KAAa,EAAE,KAAgB,EAAE,OAAmB,EAAE,EAAE;QAC5E,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,KAAK,IAAI,KAAK,IAAI,OAAO,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/E,IAAI,CAAC,MAAM,GAAG;YACb,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;YACzB,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG;YACnB,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;SACtG,CAAC;QACF,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,KAAK,CAAC,GAAG,CAAC,QAAkB;QAC3B,IAAI,mBAAmB,GAAyB,SAAS,CAAC;QAC1D,IAAI,CAAC;YACJ,mBAAmB,GAAG,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACvE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,mBAAmB,CAAC;QACtD,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;QAClG,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,SAAqB,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAwB;QACrG,IAAI,CAAC;YACJ,MAAM,qBAAqB,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAChF,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,KAAK,CAAC,CACxC,CAAC;YACF,MAAM,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC;YACvH,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,SAAS,CAAC,CAAC;YACjD,MAAM,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAAC;YAEvG,MAAM,gBAAgB,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;YAE/G,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACxC,MAAM,gBAAgB,GAAG,MAAM,QAAQ;iBACrC,wBAAwB,CAAC,gBAAgB,CAAC;iBAC1C,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;YAErD,MAAM,uBAAuB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;YAE3F,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CACpB,aAAa,gBAAgB,CAAC,MAAM,iBAAiB,WAAW,CAAC,MAAM,YAAY,gBAAgB,CAAC,GAAG,CACtG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CACb,MAAM,uBAAuB,CAAC,MAAM,EAAE,CACvC,CAAC;YAEF,IAAI,CAAC,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,uBAAuB,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,KAAK,CACpH,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAC3C,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBAClB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAChC,CAAC;QACF,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,gBAAoC,EAAE,QAAoB;QAC3F,IAAI,WAAW,GAAG,CAAC,GAAG,gBAAgB,CAAC,CAAC;QAExC,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;YACxC,KAAK,MAAM,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;gBAChD,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;gBAClC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,WAAW,CAAC,CAAC;gBAChF,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC;oBAC9D,MAAM,KAAK,GAAgB,MAAM,CAAC;oBAClC,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;oBACrE,WAAW,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC5F,CAAC;YACF,CAAC;QACF,CAAC;QACD,OAAO,WAAW,CAAC;IACpB,CAAC;CACD"}
|
|
@@ -10,7 +10,7 @@ declare const Conformance: {
|
|
|
10
10
|
world?: import("../lib/defs.js").TWorld;
|
|
11
11
|
close?(): void;
|
|
12
12
|
endFeature?(): Promise<void>;
|
|
13
|
-
onFailure?(result: import("../lib/defs.js").TStepResult, step: import("../lib/defs.js").
|
|
13
|
+
onFailure?(result: import("../lib/defs.js").TStepResult, step: import("../lib/defs.js").TFeatureStep): Promise<void | import("../lib/interfaces/logger.js").TMessageContext>;
|
|
14
14
|
setWorld(world: import("../lib/defs.js").TWorld, steppers: AStepper[]): Promise<void>;
|
|
15
15
|
getWorld(): import("../lib/defs.js").TWorld;
|
|
16
16
|
};
|
|
@@ -18,7 +18,7 @@ declare const Credentials: {
|
|
|
18
18
|
world?: import("../lib/defs.js").TWorld;
|
|
19
19
|
close?(): void;
|
|
20
20
|
endFeature?(): Promise<void>;
|
|
21
|
-
onFailure?(result: import("../lib/defs.js").TStepResult, step: import("../lib/defs.js").
|
|
21
|
+
onFailure?(result: import("../lib/defs.js").TStepResult, step: import("../lib/defs.js").TFeatureStep): Promise<void | import("../lib/interfaces/logger.js").TMessageContext>;
|
|
22
22
|
setWorld(world: import("../lib/defs.js").TWorld, steppers: AStepper[]): Promise<void>;
|
|
23
23
|
getWorld(): import("../lib/defs.js").TWorld;
|
|
24
24
|
};
|
package/build/steps/haibun.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { TNamed, AStepper, TWorld,
|
|
2
|
-
import { Resolver } from '../phases/Resolver.js';
|
|
1
|
+
import { TNamed, AStepper, TWorld, TFeatureStep, TResolvedFeature } from '../lib/defs.js';
|
|
3
2
|
declare const Haibun: {
|
|
4
3
|
new (): {
|
|
5
4
|
steppers: AStepper[];
|
|
@@ -45,12 +44,17 @@ declare const Haibun: {
|
|
|
45
44
|
gwta: string;
|
|
46
45
|
action: () => Promise<import("../lib/defs.js").TOKActionResult>;
|
|
47
46
|
};
|
|
47
|
+
afterEveryStepper: {
|
|
48
|
+
gwta: string;
|
|
49
|
+
action: (usedInEffect: TNamed) => Promise<import("../lib/defs.js").TOKActionResult>;
|
|
50
|
+
applyEffect: ({ stepperName, line }: TNamed, resolvedFeatures: TResolvedFeature[]) => Promise<TResolvedFeature[]>;
|
|
51
|
+
};
|
|
48
52
|
};
|
|
49
|
-
|
|
53
|
+
newFeatureFromEffect(steppers: AStepper[], content: string, seq: number): Promise<TFeatureStep>;
|
|
50
54
|
world?: TWorld;
|
|
51
55
|
close?(): void;
|
|
52
56
|
endFeature?(): Promise<void>;
|
|
53
|
-
onFailure?(result: import("../lib/defs.js").TStepResult, step:
|
|
57
|
+
onFailure?(result: import("../lib/defs.js").TStepResult, step: TFeatureStep): Promise<void | import("../lib/interfaces/logger.js").TMessageContext>;
|
|
54
58
|
getWorld(): TWorld;
|
|
55
59
|
};
|
|
56
60
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"haibun.d.ts","sourceRoot":"","sources":["../../src/steps/haibun.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"haibun.d.ts","sourceRoot":"","sources":["../../src/steps/haibun.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAM9F,QAAA,MAAM,MAAM;;kBACD,QAAQ,EAAE;wBACE,MAAM,YAAY,QAAQ,EAAE;;;;;;;;oCAWtB,MAAM;;;;iCAOT,MAAM;;;;sCAOD,MAAM;;;;;;;;;;;;oCAmBR,MAAM;;;;0CAQA,MAAM;;;;iCASf,MAAM;;;;;;;;uCAcA,MAAM;qDAGQ,MAAM,oBAAoB,gBAAgB,EAAE;;;uCAsBpD,QAAQ,EAAE,WAAW,MAAM,OAAO,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;;;;;;;CAMrG,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
package/build/steps/haibun.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { OK, AStepper } from '../lib/defs.js';
|
|
2
|
+
import { Resolver } from '../phases/Resolver.js';
|
|
2
3
|
import { actionNotOK, findStepper, sleep } from '../lib/util/index.js';
|
|
4
|
+
import { expand } from '../lib/features.js';
|
|
5
|
+
import { asFeatures } from '../lib/resolver-features.js';
|
|
3
6
|
const Haibun = class Haibun extends AStepper {
|
|
4
7
|
steppers;
|
|
5
8
|
async setWorld(world, steppers) {
|
|
@@ -75,14 +78,36 @@ const Haibun = class Haibun extends AStepper {
|
|
|
75
78
|
return OK;
|
|
76
79
|
},
|
|
77
80
|
},
|
|
81
|
+
afterEveryStepper: {
|
|
82
|
+
gwta: 'after every {stepperName}, {line}',
|
|
83
|
+
action: async (usedInEffect) => {
|
|
84
|
+
return OK;
|
|
85
|
+
},
|
|
86
|
+
applyEffect: async ({ stepperName, line }, resolvedFeatures) => {
|
|
87
|
+
const modifiedFeatures = [];
|
|
88
|
+
for (const rf of resolvedFeatures) {
|
|
89
|
+
const theStepper = findStepper(this.steppers, stepperName);
|
|
90
|
+
const newSteps = [];
|
|
91
|
+
for (const featureStep of rf.featureSteps) {
|
|
92
|
+
newSteps.push(featureStep);
|
|
93
|
+
if (featureStep.action.stepperName === stepperName) {
|
|
94
|
+
const newFeatureStep = await this.newFeatureFromEffect(this.steppers, line, featureStep.seq + 0.1);
|
|
95
|
+
newSteps.push(newFeatureStep);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
rf.featureSteps = newSteps;
|
|
99
|
+
modifiedFeatures.push(rf);
|
|
100
|
+
}
|
|
101
|
+
return modifiedFeatures;
|
|
102
|
+
},
|
|
103
|
+
},
|
|
78
104
|
};
|
|
79
|
-
|
|
80
|
-
const
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
};
|
|
105
|
+
async newFeatureFromEffect(steppers, content, seq) {
|
|
106
|
+
const features = asFeatures([{ path: `resolved from ${content}`, content }]);
|
|
107
|
+
const expandedFeatures = await expand([], features);
|
|
108
|
+
const featureSteps = await new Resolver(steppers).findFeatureSteps(expandedFeatures[0]);
|
|
109
|
+
return { ...featureSteps[0], seq };
|
|
110
|
+
}
|
|
86
111
|
};
|
|
87
112
|
export default Haibun;
|
|
88
113
|
//# sourceMappingURL=haibun.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"haibun.js","sourceRoot":"","sources":["../../src/steps/haibun.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAU,QAAQ,
|
|
1
|
+
{"version":3,"file":"haibun.js","sourceRoot":"","sources":["../../src/steps/haibun.ts"],"names":[],"mappings":"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"}
|
package/build/steps/parse.d.ts
CHANGED
|
@@ -12,13 +12,13 @@ declare const Parse: {
|
|
|
12
12
|
};
|
|
13
13
|
conformance: {
|
|
14
14
|
gwta: string;
|
|
15
|
-
action: ({ where }: TNamed) => Promise<import("../lib/defs.js").
|
|
15
|
+
action: ({ where }: TNamed) => Promise<import("../lib/defs.js").TNotOKActionResult | import("../lib/defs.js").TOKActionResult>;
|
|
16
16
|
};
|
|
17
17
|
};
|
|
18
18
|
world?: import("../lib/defs.js").TWorld;
|
|
19
19
|
close?(): void;
|
|
20
20
|
endFeature?(): Promise<void>;
|
|
21
|
-
onFailure?(result: import("../lib/defs.js").TStepResult, step: import("../lib/defs.js").
|
|
21
|
+
onFailure?(result: import("../lib/defs.js").TStepResult, step: import("../lib/defs.js").TFeatureStep): Promise<void | import("../lib/interfaces/logger.js").TMessageContext>;
|
|
22
22
|
setWorld(world: import("../lib/defs.js").TWorld, steppers: AStepper[]): Promise<void>;
|
|
23
23
|
getWorld(): import("../lib/defs.js").TWorld;
|
|
24
24
|
};
|