@haibun/core 1.22.0 → 1.24.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/build/lib/contexts.d.ts +1 -0
  2. package/build/lib/contexts.js +6 -0
  3. package/build/lib/contexts.js.map +1 -1
  4. package/build/lib/defs.d.ts +4 -1
  5. package/build/lib/defs.js.map +1 -1
  6. package/build/lib/domain.d.ts +3 -2
  7. package/build/lib/domain.js +3 -2
  8. package/build/lib/domain.js.map +1 -1
  9. package/build/lib/namedVars.test.js +2 -2
  10. package/build/lib/namedVars.test.js.map +1 -1
  11. package/build/lib/run-with-options.js +0 -1
  12. package/build/lib/run-with-options.js.map +1 -1
  13. package/build/lib/run.js +5 -4
  14. package/build/lib/run.js.map +1 -1
  15. package/build/lib/run.test.js +25 -35
  16. package/build/lib/run.test.js.map +1 -1
  17. package/build/lib/test/TestSteps.d.ts +1 -1
  18. package/build/lib/test/TestSteps.js +4 -4
  19. package/build/lib/test/TestSteps.js.map +1 -1
  20. package/build/lib/test/TestStepsWithOptions.js +1 -1
  21. package/build/lib/test/TestStepsWithOptions.js.map +1 -1
  22. package/build/lib/test/lib.js +3 -3
  23. package/build/lib/test/lib.js.map +1 -1
  24. package/build/lib/util/index.d.ts +1 -0
  25. package/build/lib/util/index.js +8 -4
  26. package/build/lib/util/index.js.map +1 -1
  27. package/build/lib/util/util.test.js +48 -2
  28. package/build/lib/util/util.test.js.map +1 -1
  29. package/build/phases/Builder.d.ts +10 -3
  30. package/build/phases/Builder.js +54 -28
  31. package/build/phases/Builder.js.map +1 -1
  32. package/build/phases/Executor.d.ts +1 -1
  33. package/build/phases/Executor.js +9 -9
  34. package/build/phases/Executor.js.map +1 -1
  35. package/build/phases/Resolver.d.ts +9 -4
  36. package/build/phases/Resolver.js +69 -32
  37. package/build/phases/Resolver.js.map +1 -1
  38. package/build/phases/Resolver.test.js +14 -2
  39. package/build/phases/Resolver.test.js.map +1 -1
  40. package/build/steps/haibun.d.ts +18 -5
  41. package/build/steps/haibun.js +40 -2
  42. package/build/steps/haibun.js.map +1 -1
  43. package/build/steps/haibun.test.js +72 -2
  44. package/build/steps/haibun.test.js.map +1 -1
  45. package/package.json +2 -2
@@ -7,8 +7,8 @@ import { AStepper, OK } from '../defs.js';
7
7
  describe('output', () => {
8
8
  it('resultOutput default', async () => {
9
9
  const features = [
10
- { path: '/features/test.feature', content: `When I have a test\nThen fail` },
11
- { path: '/features/test.feature', content: `When I have a test\nThen the test should pass` },
10
+ { path: '/features/test1.feature', content: `When I have a test\nThen fails` },
11
+ { path: '/features/test2.feature', content: `When I have a test\nThen it passes` },
12
12
  ];
13
13
  const result = await testWithDefaults(features, [TestSteps]);
14
14
  expect(result.ok).toBe(false);
@@ -128,4 +128,50 @@ describe('asError', () => {
128
128
  expect(util.asError(undefined)).toEqual(new Error());
129
129
  });
130
130
  });
131
+ describe('depolite', () => {
132
+ describe('conjunctions', () => {
133
+ test('Given', () => {
134
+ expect(util.dePolite('Given test')).toBe('test');
135
+ });
136
+ test('When', () => {
137
+ expect(util.dePolite('When test')).toBe('test');
138
+ });
139
+ test('Then', () => {
140
+ expect(util.dePolite('Then test')).toBe('test');
141
+ });
142
+ test('And', () => {
143
+ expect(util.dePolite('And test')).toBe('test');
144
+ });
145
+ });
146
+ describe('articles', () => {
147
+ test('The', () => {
148
+ expect(util.dePolite('The test')).toBe('test');
149
+ });
150
+ test('A', () => {
151
+ expect(util.dePolite('A test')).toBe('test');
152
+ });
153
+ test('An', () => {
154
+ expect(util.dePolite('An test')).toBe('test');
155
+ });
156
+ });
157
+ describe('pronouns', () => {
158
+ test('I', () => {
159
+ expect(util.dePolite('I test')).toBe('test');
160
+ });
161
+ test(`I'm`, () => {
162
+ expect(util.dePolite(`I'm test`)).toBe('test');
163
+ });
164
+ });
165
+ describe('combinations', () => {
166
+ test('Given I test', () => {
167
+ expect(util.dePolite('Given I test')).toBe('test');
168
+ });
169
+ test(`Given I am test`, () => {
170
+ expect(util.dePolite(`Given I am test`)).toBe('test');
171
+ });
172
+ test('Given am an test', () => {
173
+ expect(util.dePolite('Given am an test')).toBe('test');
174
+ });
175
+ });
176
+ });
131
177
  //# sourceMappingURL=util.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.test.js","sourceRoot":"","sources":["../../../src/lib/util/util.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.test.js","sourceRoot":"","sources":["../../../src/lib/util/util.test.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,oCAAoC,EAAE,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACvI,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,oBAAoB,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAe,EAAE,EAAE,MAAM,YAAY,CAAC;AAEvD,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACtB,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACpC,MAAM,QAAQ,GAAG;YACf,EAAE,IAAI,EAAE,yBAAyB,EAAE,OAAO,EAAE,gCAAgC,EAAE;YAC9E,EAAE,IAAI,EAAE,yBAAyB,EAAE,OAAO,EAAE,oCAAoC,EAAE;SACnF,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QAE7D,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC1D,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,MAAM,EAAE,GAAG,MAAM,EAAG,SAAQ,QAAQ;QAClC,OAAO,GAAG;YACR,CAAC,EAAE;gBACD,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;aACpD;YACD,CAAC,EAAE;gBACD,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;aACpD;SACF,CAAC;QACF,KAAK,GAAG;YACN,IAAI,EAAE;gBACJ,KAAK,EAAE,8BAA8B;gBACrC,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE;aACvB;SACF,CAAC;KACH,CAAC;IAEF,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC;QACpB,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QAC/D,MAAM,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QACjE,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC;QACpB,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QAC/D,MAAM,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACtE,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC;QACpB,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QAClH,MAAM,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAmB,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACxF,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACxB,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC;QACpB,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;IAC/E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,oCAAoC,EAAE,MAAM,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAC9G,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7B,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;QAChC,MAAM,EAAE,KAAK,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,oCAAoC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAEpG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IACjG,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE;QACtB,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE;QACvB,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC7B,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;SAAI,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,gEAAgE;QAChE,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC/B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC/B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAS,CAAC,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAQ,CAAC,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC1B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC/B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACxB,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;YACjB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;YAChB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;YAChB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE;YACf,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE;YACf,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE;YACb,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE;YACd,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE;YACb,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE;YACf,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE;YACxB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE;YAC3B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE;YAC5B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAC"}
@@ -1,9 +1,16 @@
1
1
  import { WorkspaceContext } from '../lib/contexts.js';
2
- import { AStepper, TResolvedFeature, TWorld } from '../lib/defs.js';
2
+ import { AStepper, TFinalize, TResolvedFeature, TWorld } from '../lib/defs.js';
3
+ import { Resolver } from './Resolver.js';
4
+ export declare const BUILT = "_built";
5
+ export declare const EVENT_AFTER = "_after";
3
6
  export default class Builder {
4
- world: any;
7
+ world: TWorld;
5
8
  workspace: WorkspaceContext;
6
9
  steppers: AStepper[];
10
+ finalizers: {
11
+ [path: string]: TFinalize[];
12
+ };
7
13
  constructor(steppers: AStepper[], world: TWorld, workspace?: WorkspaceContext);
8
- build(features: TResolvedFeature[]): Promise<import("../lib/defs.js").TOKActionResult>;
14
+ buildStep(feature: TResolvedFeature, resolver: Resolver): Promise<void>;
15
+ finalize(): Promise<void>;
9
16
  }
@@ -1,45 +1,71 @@
1
1
  import { WorkspaceContext } from '../lib/contexts.js';
2
- import { OK } from '../lib/defs.js';
3
- import { applyResShouldContinue } from '../lib/util/index.js';
4
- import { Executor } from './Executor.js';
2
+ import { getNamedToVars } from '../lib/namedVars.js';
3
+ import { applyResShouldContinue, findStepper } from '../lib/util/index.js';
4
+ export const BUILT = '_built';
5
+ export const EVENT_AFTER = '_after';
5
6
  export default class Builder {
6
7
  world;
7
8
  workspace;
8
9
  steppers;
10
+ finalizers = {};
9
11
  constructor(steppers, world, workspace = new WorkspaceContext(`builder`)) {
10
12
  this.steppers = steppers;
11
13
  this.world = world;
12
14
  this.workspace = workspace;
13
15
  }
14
- async build(features) {
15
- const finalizers = {};
16
- this.world.shared.values._scored = [];
17
- for (const feature of features) {
18
- for (const vstep of feature.vsteps) {
19
- for (const action of vstep.actions) {
20
- if (action.step.build) {
21
- if (!this.workspace.get(feature.path)) {
22
- this.workspace.createPath(feature.path);
23
- finalizers[feature.path] = [];
24
- }
25
- const res = await Executor.action(this.steppers, vstep, vstep.actions[0], this.world);
26
- const shouldContinue = applyResShouldContinue(this.world, res, action);
27
- if (!shouldContinue) {
28
- throw Error(`${action.actionName}: ${res.message}`);
29
- }
30
- if (res.finalize) {
31
- finalizers[feature.path].push(res.finalize);
32
- }
33
- }
34
- }
16
+ /*
17
+ async build(features: TResolvedFeature[]) {
18
+ this.world.shared.values._scored = [];
19
+ for (const feature of features) {
20
+ await this.buildSteps(feature);
21
+ }
22
+ for (const key of Object.keys(this.finalizers)) {
23
+ for (const finalize of this.finalizers[key]) {
24
+ finalize(this.workspace.get(key));
25
+ }
26
+ }
27
+
28
+ return OK;
29
+ }
30
+
31
+ public async buildSteps(feature: TResolvedFeature) {
32
+ for (const vstep of feature.vsteps) {
33
+ await this.buildStep(vstep, feature);
34
+ }
35
+ }
36
+ */
37
+ async buildStep(feature, resolver) {
38
+ const vstep = feature.vsteps[0];
39
+ for (const action of vstep.actions) {
40
+ if (!action.step.build) {
41
+ continue;
42
+ }
43
+ if (!this.workspace.get(feature.path)) {
44
+ this.workspace.createPath(feature.path);
45
+ this.finalizers[feature.path] = [];
46
+ }
47
+ const found = vstep.actions[0];
48
+ const namedWithVars = getNamedToVars(found, this.world, vstep);
49
+ const stepper = findStepper(this.steppers, found.stepperName);
50
+ const res = await stepper.steps[found.actionName].build(namedWithVars, vstep, this.workspace, resolver, this.steppers);
51
+ const shouldContinue = applyResShouldContinue(this.world, res, action);
52
+ if (!shouldContinue || !res.ok) {
53
+ throw Error(`${action.actionName}: ${res.message}`);
54
+ }
55
+ if (res.finalize) {
56
+ this.finalizers[feature.path].push(res.finalize);
57
+ }
58
+ if (res.workspace) {
59
+ this.world.shared.values[BUILT] = { ...this.world.shared.values[BUILT], ...this.workspace };
35
60
  }
36
61
  }
37
- for (const key of Object.keys(finalizers)) {
38
- for (const finalize of finalizers[key]) {
39
- finalize(this.workspace.get(key));
62
+ }
63
+ async finalize() {
64
+ for (const key of Object.keys(this.finalizers)) {
65
+ for (const finalize of this.finalizers[key]) {
66
+ await finalize(this.workspace.get(key));
40
67
  }
41
68
  }
42
- return OK;
43
69
  }
44
70
  }
45
71
  //# sourceMappingURL=Builder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Builder.js","sourceRoot":"","sources":["../../src/phases/Builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAY,EAAE,EAAkG,MAAM,gBAAgB,CAAC;AAC9I,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,CAAC,OAAO,OAAO,OAAO;IAC1B,KAAK,CAAM;IACX,SAAS,CAAmB;IAC5B,QAAQ,CAAa;IACrB,YAAY,QAAoB,EAAE,KAAa,EAAE,YAA8B,IAAI,gBAAgB,CAAC,SAAS,CAAC;QAC5G,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IACD,KAAK,CAAC,KAAK,CAAC,QAA4B;QACtC,MAAM,UAAU,GAAoC,EAAE,CAAC;QACvD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;QACtC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC9B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE;gBAClC,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE;oBAClC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE;wBACrB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;4BACrC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;4BACxC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;yBAC/B;wBACD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;wBAEtF,MAAM,cAAc,GAAG,sBAAsB,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;wBACvE,IAAI,CAAC,cAAc,EAAE;4BACnB,MAAM,KAAK,CAAC,GAAG,MAAM,CAAC,UAAU,KAA8B,GAAI,CAAC,OAAO,EAAE,CAAC,CAAC;yBAC/E;wBACD,IAAyC,GAAI,CAAC,QAAQ,EAAE;4BACtD,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAsC,GAAI,CAAC,QAAS,CAAC,CAAC;yBACpF;qBACF;iBACF;aACF;SACF;QACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACzC,KAAK,MAAM,QAAQ,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE;gBACtC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;aACnC;SACF;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;CACF"}
1
+ {"version":3,"file":"Builder.js","sourceRoot":"","sources":["../../src/phases/Builder.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { TVStep, TResolvedFeature, TResult, TStepResult, TFeatureResult, TActionResult, TWorld, AStepper, TEndFeatureCallback, CStepper, TFound } from '../lib/defs.js';
2
2
  export declare class Executor {
3
- static action(steppers: AStepper[], vstep: TVStep, a: TFound, world: TWorld): Promise<Partial<TActionResult>>;
3
+ static action(steppers: AStepper[], vstep: TVStep, found: TFound, world: TWorld): Promise<TActionResult>;
4
4
  static execute(csteppers: CStepper[], world: TWorld, features: TResolvedFeature[], endFeatureCallback?: TEndFeatureCallback): Promise<TResult>;
5
5
  }
6
6
  export declare class FeatureExecutor {
@@ -2,11 +2,11 @@ import { getNamedToVars } from '../lib/namedVars.js';
2
2
  import { actionNotOK, applyResShouldContinue, setWorldStepperOptions, sleep, createSteppers, findStepper } from '../lib/util/index.js';
3
3
  export class Executor {
4
4
  // find the stepper and action, call it and return its result
5
- static async action(steppers, vstep, a, world) {
5
+ static async action(steppers, vstep, found, world) {
6
6
  try {
7
- const namedWithVars = getNamedToVars(a, world, vstep);
8
- const stepper = findStepper(steppers, a.stepperName);
9
- return await stepper.steps[a.actionName].action(namedWithVars, vstep);
7
+ const namedWithVars = getNamedToVars(found, world, vstep);
8
+ const stepper = findStepper(steppers, found.stepperName);
9
+ return await stepper.steps[found.actionName].action(namedWithVars, vstep);
10
10
  }
11
11
  catch (caught) {
12
12
  world.logger.error(caught.stack);
@@ -89,10 +89,10 @@ export class FeatureExecutor {
89
89
  static async doFeatureStep(steppers, vstep, world) {
90
90
  let ok = true;
91
91
  const actionResults = [];
92
- // FIXME feature should really be attached ot the vstep
93
- for (const a of vstep.actions) {
92
+ // FIXME feature should really be attached to the vstep
93
+ for (const action of vstep.actions) {
94
94
  const start = world.timer.since();
95
- const res = await Executor.action(steppers, vstep, a, world);
95
+ const res = await Executor.action(steppers, vstep, action, world);
96
96
  let traces;
97
97
  if (world.shared.get('_trace')) {
98
98
  traces = world.shared.get('_trace');
@@ -100,9 +100,9 @@ export class FeatureExecutor {
100
100
  }
101
101
  const end = world.timer.since();
102
102
  // FIXME
103
- const stepResult = { ...res, name: a.actionName, start, end, traces };
103
+ const stepResult = { ...res, name: action.actionName, start, end, traces };
104
104
  actionResults.push(stepResult);
105
- const shouldContinue = applyResShouldContinue(world, res, a);
105
+ const shouldContinue = applyResShouldContinue(world, res, action);
106
106
  ok = ok && shouldContinue;
107
107
  if (!shouldContinue) {
108
108
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"Executor.js","sourceRoot":"","sources":["../../src/phases/Executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Executor.js","sourceRoot":"","sources":["../../src/phases/Executor.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,19 @@
1
1
  import { TFound, TResolvedFeature, TWorld, TExpandedFeature, AStepper } from '../lib/defs.js';
2
+ import Builder from './Builder.js';
2
3
  export declare class Resolver {
3
4
  steppers: AStepper[];
4
5
  world: TWorld;
5
6
  mode: string;
6
- constructor(steppers: AStepper[], mode: string, world: TWorld);
7
- resolveSteps(features: TExpandedFeature[]): Promise<TResolvedFeature[]>;
8
- addSteps(feature: TExpandedFeature): Promise<TResolvedFeature>;
7
+ types: string[];
8
+ builder: Builder;
9
+ constructor(steppers: AStepper[], world: TWorld, builder?: Builder);
10
+ resolveStepsFromFeatures(features: TExpandedFeature[]): Promise<TResolvedFeature[]>;
11
+ private applyActionEvents;
12
+ private findVSteps;
13
+ findActionableSteps(actionable: string): TFound[];
14
+ private choose;
9
15
  static getPrelude: (path: string, line: string, featureLine: string) => string;
10
16
  static getTypeValidationError: (prelude: string, fileType: string, name: string, typeValidationError: string) => string;
11
17
  static getMoreThanOneInclusionError: (prelude: string, fileType: string, name: string) => string;
12
18
  static getNoFileTypeInclusionError: (prelude: string, fileType: string, name: string) => string;
13
- findSteps(actionable: string): TFound[];
14
19
  }
@@ -1,21 +1,29 @@
1
1
  import { OK, BASE_TYPES } from '../lib/defs.js';
2
2
  import { namedInterpolation, getMatch } from '../lib/namedVars.js';
3
- import { getActionable, describeSteppers, isLowerCase } from '../lib/util/index.js';
3
+ import { asExpandedFeatures } from '../lib/test/lib.js';
4
+ import { getActionable, describeSteppers, isLowerCase, dePolite } from '../lib/util/index.js';
5
+ import { BUILT, EVENT_AFTER } from './Builder.js';
4
6
  export class Resolver {
5
7
  steppers;
6
8
  world;
7
9
  mode;
8
- constructor(steppers, mode, world) {
10
+ types;
11
+ builder;
12
+ constructor(steppers, world, builder) {
9
13
  this.steppers = steppers;
10
- this.mode = mode;
11
14
  this.world = world;
15
+ this.builder = builder;
16
+ this.types = [...BASE_TYPES, ...this.world.domains.map((d) => d.name)];
12
17
  }
13
- async resolveSteps(features) {
18
+ async resolveStepsFromFeatures(features) {
14
19
  const expanded = [];
15
20
  for (const feature of features) {
16
21
  try {
17
- const steps = await this.addSteps(feature);
18
- expanded.push(steps);
22
+ const vsteps = await this.findVSteps(feature);
23
+ const e = { ...feature, ...{ vsteps } };
24
+ await this.builder?.buildStep(e, this);
25
+ this.world.shared.values[BUILT] && await this.applyActionEvents(this.world.shared.values[BUILT].values, EVENT_AFTER, e);
26
+ expanded.push(e);
19
27
  }
20
28
  catch (e) {
21
29
  this.world.logger.error(e);
@@ -24,10 +32,32 @@ export class Resolver {
24
32
  }
25
33
  return expanded;
26
34
  }
27
- async addSteps(feature) {
28
- const vsteps = feature.expanded.map((featureLine, seq) => {
35
+ async applyActionEvents(values, event, expanded) {
36
+ for (const [k, a] of Object.entries(values)) {
37
+ const { action: actionable, vstep: sourceVStep } = a;
38
+ const [e, domain] = k.split(':');
39
+ if (e !== event) {
40
+ continue;
41
+ }
42
+ const expandedFeature = asExpandedFeatures([{ path: sourceVStep.source.path, content: actionable }]);
43
+ const vstep = this.findVSteps(expandedFeature[0]);
44
+ const found = this.findActionableSteps(actionable)[0];
45
+ const { source } = sourceVStep;
46
+ const { actionName, stepperName, step } = found;
47
+ const { named, vars } = sourceVStep.actions[0];
48
+ const action = { actionName, stepperName, step, named, vars };
49
+ const nv = { ...vstep, source, in: actionable, seq: expanded.vsteps.length + 1, ...{ actions: [action] } };
50
+ expanded.vsteps.push(nv);
51
+ }
52
+ }
53
+ async findVSteps(feature) {
54
+ // const vsteps = await feature.expanded.map(async (featureLine, seq) => {
55
+ const vsteps = [];
56
+ let seq = 0;
57
+ for (const featureLine of feature.expanded) {
58
+ seq++;
29
59
  const actionable = getActionable(featureLine.line);
30
- const actions = this.findSteps(actionable);
60
+ const actions = this.findActionableSteps(actionable);
31
61
  /*
32
62
  try {
33
63
  // FIXME
@@ -39,46 +69,53 @@ export class Resolver {
39
69
  if (actions.length > 1) {
40
70
  throw Error(`more than one step found for "${featureLine.line}": ${JSON.stringify(actions.map((a) => a.actionName))}`);
41
71
  }
42
- else if (actions.length < 1 && this.mode !== 'some') {
72
+ else if (actions.length < 1) {
43
73
  throw Error(`no step found for ${featureLine.line} in ${feature.path} from ${describeSteppers(this.steppers)}`);
44
74
  }
45
- return { source: featureLine.feature, in: featureLine.line, seq, actions };
46
- });
47
- return { ...feature, vsteps };
75
+ const wtw = { source: featureLine.feature, in: featureLine.line, seq, actions };
76
+ vsteps.push(wtw);
77
+ }
78
+ return vsteps;
48
79
  }
49
- static getPrelude = (path, line, featureLine) => `In '${path}', step '${featureLine}' using '${line}':`;
50
- static getTypeValidationError = (prelude, fileType, name, typeValidationError) => `${prelude} Type '${fileType}' doesn't validate for '${name}': ${typeValidationError}`;
51
- static getMoreThanOneInclusionError = (prelude, fileType, name) => `${prelude} more than one '${fileType}' inclusion for '${name}'`;
52
- static getNoFileTypeInclusionError = (prelude, fileType, name) => `${prelude} no '${fileType}' inclusion for '${name}'`;
53
- findSteps(actionable) {
80
+ findActionableSteps(actionable) {
54
81
  if (!actionable.length) {
55
82
  return [comment];
56
83
  }
57
84
  const found = [];
58
- const types = [...BASE_TYPES, ...this.world.domains.map((d) => d.name)];
59
85
  for (const stepper of this.steppers) {
60
86
  const stepperName = stepper.constructor.name;
61
87
  const { steps } = stepper;
62
88
  for (const actionName in steps) {
63
89
  const step = steps[actionName];
64
- const addIfMatch = (m) => m && found.push(m);
65
- if (step.gwta) {
66
- const { str, vars } = namedInterpolation(step.gwta, types);
67
- const f = str.charAt(0);
68
- const s = isLowerCase(f) ? ['[', f, f.toUpperCase(), ']', str.substring(1)].join('') : str;
69
- const r = new RegExp(`^(Given|When|Then|And)?( the )?( I('m)? (am )?)? ?${s}`);
70
- addIfMatch(getMatch(actionable, r, actionName, stepperName, step, vars));
71
- }
72
- else if (step.match) {
73
- addIfMatch(getMatch(actionable, step.match, actionName, stepperName, step));
74
- }
75
- else if (actionable.length > 0 && step.exact === actionable) {
76
- found.push({ actionName, stepperName, step });
90
+ const stepFound = this.choose(step, actionable, actionName, stepperName);
91
+ if (stepFound) {
92
+ found.push(stepFound);
77
93
  }
78
94
  }
79
95
  }
80
96
  return found;
81
97
  }
98
+ choose(step, actionable, actionName, stepperName) {
99
+ const curt = dePolite(actionable);
100
+ if (step.gwta) {
101
+ const { str, vars } = namedInterpolation(step.gwta, this.types);
102
+ const f = str.charAt(0);
103
+ const s = isLowerCase(f) ? ['[', f, f.toUpperCase(), ']', str.substring(1)].join('') : str;
104
+ const r = new RegExp(`^${s}`);
105
+ //const r = new RegExp(`^(Given|When|Then|And)?( the )?( I('m)? (am )?)? ?${s}`);
106
+ return getMatch(curt, r, actionName, stepperName, step, vars);
107
+ }
108
+ else if (step.match) {
109
+ return getMatch(actionable, step.match, actionName, stepperName, step);
110
+ }
111
+ else if (step.exact === curt) {
112
+ return { actionName, stepperName, step };
113
+ }
114
+ }
115
+ static getPrelude = (path, line, featureLine) => `In '${path}', step '${featureLine}' using '${line}':`;
116
+ static getTypeValidationError = (prelude, fileType, name, typeValidationError) => `${prelude} Type '${fileType}' doesn't validate for '${name}': ${typeValidationError}`;
117
+ static getMoreThanOneInclusionError = (prelude, fileType, name) => `${prelude} more than one '${fileType}' inclusion for '${name}'`;
118
+ static getNoFileTypeInclusionError = (prelude, fileType, name) => `${prelude} no '${fileType}' inclusion for '${name}'`;
82
119
  }
83
120
  const comment = {
84
121
  stepperName: 'Haibun',
@@ -1 +1 @@
1
- {"version":3,"file":"Resolver.js","sourceRoot":"","sources":["../../src/phases/Resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Resolver.js","sourceRoot":"","sources":["../../src/phases/Resolver.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,19 @@
1
1
  import { AStepper, OK } from '../lib/defs.js';
2
2
  import { asExpandedFeatures, getDefaultWorld } from '../lib/test/lib.js';
3
+ import TestSteps from '../lib/test/TestSteps.js';
3
4
  import { createSteppers } from '../lib/util/index.js';
4
5
  import { Resolver } from './Resolver.js';
6
+ describe('resolve steps', () => {
7
+ it('resolves steps', async () => {
8
+ const features = asExpandedFeatures([{ path: 'l1', content: 'Then it passes' }]);
9
+ const steppers = await createSteppers([TestSteps]);
10
+ const resolver = new Resolver(steppers, {
11
+ ...getDefaultWorld(0).world,
12
+ });
13
+ const res = await resolver.resolveStepsFromFeatures(features);
14
+ expect(res.length).toBe(1);
15
+ });
16
+ });
5
17
  describe('validate map steps', () => {
6
18
  class TestStepper extends AStepper {
7
19
  steps = {
@@ -25,10 +37,10 @@ describe('validate map steps', () => {
25
37
  }
26
38
  const getResolvedSteps = async (features) => {
27
39
  const steppers = await createSteppers([TestStepper]);
28
- const resolver = new Resolver(steppers, '', {
40
+ const resolver = new Resolver(steppers, {
29
41
  ...getDefaultWorld(0).world,
30
42
  });
31
- return await resolver.resolveSteps(features);
43
+ return await resolver.resolveStepsFromFeatures(features);
32
44
  };
33
45
  describe('exact', () => {
34
46
  test('exact', async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"Resolver.test.js","sourceRoot":"","sources":["../../src/phases/Resolver.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Resolver.test.js","sourceRoot":"","sources":["../../src/phases/Resolver.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
- import { TNamed, AStepper } from '../lib/defs.js';
1
+ import { TNamed, AStepper, TWorld, TVStep } from '../lib/defs.js';
2
+ import { Resolver } from '../phases/Resolver.js';
2
3
  declare const Haibun: {
3
4
  new (): {
5
+ steppers: AStepper[];
6
+ setWorld(world: TWorld, steppers: AStepper[]): void;
4
7
  steps: {
5
8
  prose: {
6
9
  gwta: string;
@@ -30,7 +33,16 @@ declare const Haibun: {
30
33
  gwta: string;
31
34
  action: ({ which }: TNamed) => Promise<import("../lib/defs.js").TOKActionResult>;
32
35
  };
33
- forever: {
36
+ afterEvery: {
37
+ gwta: string;
38
+ action: ({ domainID, action }: TNamed) => Promise<import("../lib/defs.js").TOKActionResult>;
39
+ build: ({ domainID, action }: TNamed, vstep: TVStep, workspace: any, resolver: Resolver, steppers: AStepper[]) => Promise<import("../lib/defs.js").TNotOKActionResult | {
40
+ workspace: any;
41
+ ok: true;
42
+ topics?: import("../lib/defs.js").TActionResultTopics;
43
+ }>;
44
+ };
45
+ until: {
34
46
  gwta: string;
35
47
  action: ({ what, value }: TNamed) => Promise<import("../lib/defs.js").TOKActionResult>;
36
48
  };
@@ -43,12 +55,13 @@ declare const Haibun: {
43
55
  action: ({ comment }: TNamed) => Promise<import("../lib/defs.js").TOKActionResult>;
44
56
  };
45
57
  };
46
- world?: import("../lib/defs.js").TWorld;
58
+ findDomainAction: (domainID: string, action: string, resolver: any, steppers: any) => AStepper;
59
+ findAction: (action: string, resolver: Resolver, steppers: any) => AStepper;
60
+ world?: TWorld;
47
61
  close?(): void;
48
62
  endFeature?(): void;
49
63
  onFailure?(result: import("../lib/defs.js").TStepResult): void;
50
- setWorld(world: import("../lib/defs.js").TWorld, steppers: AStepper[]): void;
51
- getWorld(): import("../lib/defs.js").TWorld;
64
+ getWorld(): TWorld;
52
65
  };
53
66
  };
54
67
  export default Haibun;