@haibun/core 1.46.2 → 1.46.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.
Files changed (153) hide show
  1. package/build/applyEffectFeatures.d.ts +3 -0
  2. package/build/applyEffectFeatures.d.ts.map +1 -0
  3. package/build/applyEffectFeatures.js +32 -0
  4. package/build/applyEffectFeatures.js.map +1 -0
  5. package/build/currentVersion.d.ts +2 -0
  6. package/build/currentVersion.d.ts.map +1 -0
  7. package/build/currentVersion.js +2 -0
  8. package/build/currentVersion.js.map +1 -0
  9. package/build/index.d.ts +2 -0
  10. package/build/index.d.ts.map +1 -0
  11. package/build/index.js +2 -0
  12. package/build/index.js.map +1 -0
  13. package/build/lib/Logger.d.ts +46 -0
  14. package/build/lib/Logger.d.ts.map +1 -0
  15. package/build/lib/Logger.js +79 -0
  16. package/build/lib/Logger.js.map +1 -0
  17. package/build/lib/Logger.test.d.ts +2 -0
  18. package/build/lib/TestLogger.d.ts +11 -0
  19. package/build/lib/TestLogger.d.ts.map +1 -0
  20. package/build/lib/TestLogger.js +11 -0
  21. package/build/lib/TestLogger.js.map +1 -0
  22. package/build/lib/Timer.d.ts +8 -0
  23. package/build/lib/Timer.d.ts.map +1 -0
  24. package/build/lib/Timer.js +12 -0
  25. package/build/lib/Timer.js.map +1 -0
  26. package/build/lib/defs.d.ts +287 -0
  27. package/build/lib/defs.d.ts.map +1 -0
  28. package/build/lib/defs.js +85 -0
  29. package/build/lib/defs.js.map +1 -0
  30. package/build/lib/domain-types.d.ts +13 -0
  31. package/build/lib/domain-types.d.ts.map +1 -0
  32. package/build/lib/domain-types.js +7 -0
  33. package/build/lib/domain-types.js.map +1 -0
  34. package/build/lib/features.d.ts +23 -0
  35. package/build/lib/features.d.ts.map +1 -0
  36. package/build/lib/features.js +100 -0
  37. package/build/lib/features.js.map +1 -0
  38. package/build/lib/features.test.d.ts +2 -0
  39. package/build/lib/features.test.js +112 -0
  40. package/build/lib/features.test.js.map +1 -0
  41. package/build/lib/interfaces/artifacts.d.ts +47 -0
  42. package/build/lib/interfaces/artifacts.d.ts.map +1 -0
  43. package/build/lib/interfaces/artifacts.js +2 -0
  44. package/build/lib/interfaces/artifacts.js.map +1 -0
  45. package/build/lib/interfaces/logger.d.ts +52 -0
  46. package/build/lib/interfaces/logger.d.ts.map +1 -0
  47. package/build/lib/interfaces/logger.js +17 -0
  48. package/build/lib/interfaces/logger.js.map +1 -0
  49. package/build/lib/namedVars.d.ts +20 -0
  50. package/build/lib/namedVars.d.ts.map +1 -0
  51. package/build/lib/namedVars.js +138 -0
  52. package/build/lib/namedVars.js.map +1 -0
  53. package/build/lib/namedVars.test.d.ts +2 -0
  54. package/build/lib/namedVars.test.js +106 -0
  55. package/build/lib/namedVars.test.js.map +1 -0
  56. package/build/lib/resolver-features.d.ts +18 -0
  57. package/build/lib/resolver-features.d.ts.map +1 -0
  58. package/build/lib/resolver-features.js +12 -0
  59. package/build/lib/resolver-features.js.map +1 -0
  60. package/build/lib/test/SetTimeStepper.d.ts +10 -0
  61. package/build/lib/test/SetTimeStepper.d.ts.map +1 -0
  62. package/build/lib/test/SetTimeStepper.js +20 -0
  63. package/build/lib/test/SetTimeStepper.js.map +1 -0
  64. package/build/lib/test/TestSteps.d.ts +33 -0
  65. package/build/lib/test/TestSteps.d.ts.map +1 -0
  66. package/build/lib/test/TestSteps.js +32 -0
  67. package/build/lib/test/TestSteps.js.map +1 -0
  68. package/build/lib/test/TestStepsWithOptions.d.ts +25 -0
  69. package/build/lib/test/TestStepsWithOptions.d.ts.map +1 -0
  70. package/build/lib/test/TestStepsWithOptions.js +21 -0
  71. package/build/lib/test/TestStepsWithOptions.js.map +1 -0
  72. package/build/lib/test/lib.d.ts +26 -0
  73. package/build/lib/test/lib.d.ts.map +1 -1
  74. package/build/lib/test/lib.test.d.ts +2 -0
  75. package/build/lib/test/lib.test.d.ts.map +1 -0
  76. package/build/lib/test/lib.test.js +9 -0
  77. package/build/lib/test/lib.test.js.map +1 -0
  78. package/build/lib/util/index.d.ts +81 -0
  79. package/build/lib/util/index.d.ts.map +1 -0
  80. package/build/lib/util/index.js +248 -0
  81. package/build/lib/util/index.js.map +1 -0
  82. package/build/lib/util/util.test.d.ts +2 -0
  83. package/build/lib/util/util.test.d.ts.map +1 -0
  84. package/build/lib/util/util.test.js +238 -0
  85. package/build/lib/util/util.test.js.map +1 -0
  86. package/build/lib/util/workspace-lib.d.ts +15 -0
  87. package/build/lib/util/workspace-lib.d.ts.map +1 -0
  88. package/build/lib/util/workspace-lib.js +47 -0
  89. package/build/lib/util/workspace-lib.js.map +1 -0
  90. package/build/lib/util/workspace-lib.test.d.ts +2 -0
  91. package/build/lib/util/workspace-lib.test.d.ts.map +1 -0
  92. package/build/lib/util/workspace-lib.test.js +20 -0
  93. package/build/lib/util/workspace-lib.test.js.map +1 -0
  94. package/build/phases/Executor.d.ts +20 -0
  95. package/build/phases/Executor.d.ts.map +1 -0
  96. package/build/phases/Executor.js +152 -0
  97. package/build/phases/Executor.js.map +1 -0
  98. package/build/phases/Resolver.d.ts +15 -0
  99. package/build/phases/Resolver.d.ts.map +1 -0
  100. package/build/phases/Resolver.js +93 -0
  101. package/build/phases/Resolver.js.map +1 -0
  102. package/build/phases/Resolver.test.d.ts +2 -0
  103. package/build/phases/Resolver.test.d.ts.map +1 -0
  104. package/build/phases/Resolver.test.js +87 -0
  105. package/build/phases/Resolver.test.js.map +1 -0
  106. package/build/phases/collector.d.ts +15 -0
  107. package/build/phases/collector.d.ts.map +1 -0
  108. package/build/phases/collector.js +49 -0
  109. package/build/phases/collector.js.map +1 -0
  110. package/build/phases/collector.test.d.ts +2 -0
  111. package/build/phases/collector.test.d.ts.map +1 -0
  112. package/build/phases/collector.test.js +96 -0
  113. package/build/phases/collector.test.js.map +1 -0
  114. package/build/runner.d.ts +12 -0
  115. package/build/runner.d.ts.map +1 -0
  116. package/build/runner.js +61 -0
  117. package/build/runner.js.map +1 -0
  118. package/build/runner.test.d.ts +2 -0
  119. package/build/runner.test.d.ts.map +1 -0
  120. package/build/runner.test.js +24 -0
  121. package/build/runner.test.js.map +1 -0
  122. package/build/steps/conformance.d.ts +17 -0
  123. package/build/steps/conformance.d.ts.map +1 -0
  124. package/build/steps/conformance.js +12 -0
  125. package/build/steps/conformance.js.map +1 -0
  126. package/build/steps/credentials.d.ts +25 -0
  127. package/build/steps/credentials.d.ts.map +1 -0
  128. package/build/steps/credentials.js +38 -0
  129. package/build/steps/credentials.js.map +1 -0
  130. package/build/steps/haibun.d.ts +94 -0
  131. package/build/steps/haibun.test.d.ts +2 -0
  132. package/build/steps/haibun.test.d.ts.map +1 -0
  133. package/build/steps/haibun.test.js +48 -0
  134. package/build/steps/haibun.test.js.map +1 -0
  135. package/build/steps/lib/parse.d.ts +4 -0
  136. package/build/steps/lib/parse.d.ts.map +1 -0
  137. package/build/steps/lib/parse.js +42 -0
  138. package/build/steps/lib/parse.js.map +1 -0
  139. package/build/steps/lib/tts.d.ts +17 -0
  140. package/build/steps/lib/tts.d.ts.map +1 -0
  141. package/build/steps/lib/tts.js +80 -0
  142. package/build/steps/lib/tts.js.map +1 -0
  143. package/build/steps/parse.d.ts +25 -0
  144. package/build/steps/parse.d.ts.map +1 -0
  145. package/build/steps/parse.js +30 -0
  146. package/build/steps/parse.js.map +1 -0
  147. package/build/steps/vars.d.ts +5 -6
  148. package/build/steps/vars.d.ts.map +1 -1
  149. package/build/steps/vars.js.map +1 -1
  150. package/build/steps/vars.test.d.ts +2 -0
  151. package/build/steps/vars.test.js +43 -0
  152. package/build/steps/vars.test.js.map +1 -0
  153. package/package.json +1 -1
@@ -0,0 +1,85 @@
1
+ import { constructorName } from './util/index.js';
2
+ export const isProcessFeatureResults = (s) => s.processFeatureResult !== undefined;
3
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
4
+ const example = {
5
+ path: 'path',
6
+ base: 'base',
7
+ name: 'name',
8
+ featureSteps: [
9
+ {
10
+ path: 'path',
11
+ in: 'in',
12
+ seq: 0,
13
+ action: {
14
+ actionName: 'actionName',
15
+ stepperName: 'stepperName',
16
+ step: { action: async () => await Promise.resolve(OK) },
17
+ },
18
+ },
19
+ ],
20
+ };
21
+ export class AStepper {
22
+ world;
23
+ cycles;
24
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
25
+ async setWorld(world, steppers) {
26
+ this.world = world;
27
+ await Promise.resolve();
28
+ }
29
+ getWorld() {
30
+ if (!this.world) {
31
+ throw Error(`stepper without world ${constructorName(this)}`);
32
+ }
33
+ return this.world;
34
+ }
35
+ }
36
+ export const OK = { ok: true };
37
+ export const HAIBUN = 'HAIBUN';
38
+ export const BASE_PREFIX = `${HAIBUN}_`;
39
+ export const CAPTURE = 'capture';
40
+ export const BASE_DOMAINS = [{ name: 'string', resolve: (inp) => inp }];
41
+ export const STAY_ALWAYS = 'always';
42
+ export const STAY_FAILURE = 'failure';
43
+ export const STAY = 'STAY';
44
+ export const CHECK_YES = '✅';
45
+ export const CHECK_NO = '❌';
46
+ export const STEP_DELAY = 'STEP_DELAY';
47
+ export const DEFAULT_DEST = 'default';
48
+ export const CONTINUE_AFTER_ERROR = 'CONTINUE_AFTER_ERROR';
49
+ export const SCENARIO_START = 'scenarioStart';
50
+ export class Context {
51
+ context;
52
+ values;
53
+ constructor(context, initial) {
54
+ this.context = context;
55
+ this.values = initial || {};
56
+ }
57
+ toString() {
58
+ return `context ${this.context} values ${this.values}`;
59
+ }
60
+ set(name, value) {
61
+ this.values[name] = value;
62
+ }
63
+ setOnly(name, value) {
64
+ if (this.get(name)) {
65
+ throw Error(`${name} is already set to ${this.values[name]}`);
66
+ }
67
+ this.set(name, value);
68
+ }
69
+ get(name) {
70
+ return this.values[name];
71
+ }
72
+ concat(name, value) {
73
+ const t = this.values[name] || [];
74
+ this.values[name] = [...t, value];
75
+ }
76
+ unset(name) {
77
+ delete this.values[name];
78
+ }
79
+ }
80
+ export class WorldContext extends Context {
81
+ constructor(tag, initial) {
82
+ super(`world ${JSON.stringify(tag)}`, initial);
83
+ }
84
+ }
85
+ //# sourceMappingURL=defs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defs.js","sourceRoot":"","sources":["../../src/lib/defs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export declare const WEB_PAGE = "webpage";
2
+ export declare const WEB_CONTROL = "webcontrol";
3
+ export declare const SELECTOR = "selector";
4
+ export type TValidator = (content: string) => string | undefined;
5
+ export interface IDependencies {
6
+ requires?: string[];
7
+ }
8
+ export interface ISharedContext {
9
+ get(key: string): unknown;
10
+ set(key: string, value: unknown): void;
11
+ }
12
+ export declare const BASE_TYPES: string[];
13
+ //# sourceMappingURL=domain-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain-types.d.ts","sourceRoot":"","sources":["../../src/lib/domain-types.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,QAAQ,YAAY,CAAC;AAClC,eAAO,MAAM,WAAW,eAAe,CAAC;AACxC,eAAO,MAAM,QAAQ,aAAa,CAAC;AAGnC,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;AAGjE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAGD,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;CACxC;AAGD,eAAO,MAAM,UAAU,UAA8C,CAAC"}
@@ -0,0 +1,7 @@
1
+ // Core types that replace the domain system, used in vars and modules like filesystem, web
2
+ export const WEB_PAGE = 'webpage';
3
+ export const WEB_CONTROL = 'webcontrol';
4
+ export const SELECTOR = 'selector';
5
+ // Type constants
6
+ export const BASE_TYPES = ['string', WEB_CONTROL, WEB_PAGE, SELECTOR];
7
+ //# sourceMappingURL=domain-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain-types.js","sourceRoot":"","sources":["../../src/lib/domain-types.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,MAAM,CAAC,MAAM,QAAQ,GAAG,SAAS,CAAC;AAClC,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAC;AACxC,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAAC;AAgBnC,iBAAiB;AACjB,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { TExpandedFeature, TFeature, TFeatures } from './defs.js';
2
+ export declare function expand(backgrounds: TFeatures, features: TFeatures): Promise<TExpandedFeature[]>;
3
+ export declare function expandBackgrounds(features: TFeatures): Promise<TFeatures>;
4
+ export declare function findUpper(path: string, features: TFeatures): {
5
+ rem: string;
6
+ upper: TFeature[];
7
+ };
8
+ export declare function expandFeatures(features: TFeature[], backgrounds: TFeature[]): Promise<TExpandedFeature[]>;
9
+ export declare function withNameType(base: any, path: string, content: string): {
10
+ path: string;
11
+ base: any;
12
+ name: string;
13
+ type: string;
14
+ content: string;
15
+ };
16
+ export declare const asFeatureLine: (line: string, feature: TFeature) => {
17
+ line: string;
18
+ feature: TFeature;
19
+ };
20
+ export declare function findFeatures(name: string, backgrounds: TFeatures, type?: string): TFeatures;
21
+ export declare function findFeaturesOfType(backgrounds: TFeatures, type?: string): TFeatures;
22
+ export declare const featureSplit: (content: string) => string[];
23
+ //# sourceMappingURL=features.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../../src/lib/features.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAiB,QAAQ,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGjF,wBAAsB,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAIrG;AAGD,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,SAAS,sBAe1D;AAMD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS;;;EAS1D;AAED,wBAAsB,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAU/G;AAqBD,wBAAgB,YAAY,CAAC,IAAI,KAAA,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;;;;;;EAK/D;AAED,eAAO,MAAM,aAAa,SAAU,MAAM,WAAW,QAAQ;;;CAAwB,CAAC;AAqBtF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,SAAY,GAAG,SAAS,CAG9F;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,SAAS,EAAE,IAAI,SAAY,GAAG,SAAS,CAEtF;AAID,eAAO,MAAM,YAAY,YAAa,MAAM,aAKd,CAAC"}
@@ -0,0 +1,100 @@
1
+ import { getActionable } from './util/index.js';
2
+ export async function expand(backgrounds, features) {
3
+ const expandedBackgrounds = await expandBackgrounds(backgrounds);
4
+ const expandedFeatures = await expandFeatures(features, expandedBackgrounds);
5
+ return expandedFeatures;
6
+ }
7
+ // Expand backgrounds by prepending 'upper' features to 'lower' features
8
+ export async function expandBackgrounds(features) {
9
+ const expanded = [];
10
+ for (const { base, path, content: feature } of features) {
11
+ let res = feature;
12
+ let r = findUpper(path, features);
13
+ while (r.upper.length > 0 && r.rem !== '/') {
14
+ r = findUpper(r.rem, features);
15
+ for (const s of r.upper) {
16
+ res = s.content + '\n' + res;
17
+ }
18
+ }
19
+ expanded.push(withNameType(base, path, res));
20
+ }
21
+ return Promise.resolve(expanded);
22
+ }
23
+ const upperPath = (path) => {
24
+ const r = path.split('/');
25
+ return '/' + r.slice(1, r.length - 1).join('/');
26
+ };
27
+ export function findUpper(path, features) {
28
+ const rem = upperPath(path);
29
+ const upper = features.filter((f) => {
30
+ const p = upperPath(f.path);
31
+ return p === rem;
32
+ });
33
+ return { rem, upper };
34
+ }
35
+ export async function expandFeatures(features, backgrounds) {
36
+ const expandeds = [];
37
+ for (const feature of features) {
38
+ const expanded = await expandIncluded(feature, backgrounds);
39
+ const ex = { path: feature.path, base: feature.base, name: feature.name, expanded };
40
+ expandeds.push(ex);
41
+ }
42
+ return expandeds;
43
+ }
44
+ async function expandIncluded(feature, backgrounds) {
45
+ let lines = [];
46
+ const split = featureSplit(feature.content);
47
+ for (const l of split) {
48
+ const actionable = getActionable(l);
49
+ if (actionable.match(/^Backgrounds: .*$/)) {
50
+ lines = lines.concat(doIncludes(l, backgrounds));
51
+ }
52
+ else if (actionable.match(/^Scenarios: .*$/)) {
53
+ lines = lines.concat(doIncludes(l, backgrounds));
54
+ }
55
+ else {
56
+ const nl = asFeatureLine(l, feature);
57
+ lines.push(nl);
58
+ }
59
+ }
60
+ return Promise.resolve(lines);
61
+ }
62
+ export function withNameType(base, path, content) {
63
+ const s = path.split('.');
64
+ const name = s[0];
65
+ const type = s.length === 3 ? s[1] : 'feature';
66
+ return { path, base, name, type, content };
67
+ }
68
+ export const asFeatureLine = (line, feature) => ({ line, feature });
69
+ function doIncludes(input, backgrounds) {
70
+ const includes = input
71
+ .replace(/^.*?: /, '')
72
+ .split(',')
73
+ .map((a) => a.trim());
74
+ const ret = [];
75
+ for (const l of includes) {
76
+ const bg = findFeatures(l, backgrounds);
77
+ if (bg.length !== 1) {
78
+ throw Error(`can't find single "${l}.feature" from ${backgrounds.map((b) => b.path).join(', ')}`);
79
+ }
80
+ const origin = bg[0];
81
+ for (const l of featureSplit(origin.content)) {
82
+ ret.push(asFeatureLine(l, origin));
83
+ }
84
+ }
85
+ return ret;
86
+ }
87
+ export function findFeatures(name, backgrounds, type = 'feature') {
88
+ const ftype = findFeaturesOfType(backgrounds, type);
89
+ return ftype.filter((f) => f.path.endsWith(`/${name}.${fileTypeToExt(type)}`));
90
+ }
91
+ export function findFeaturesOfType(backgrounds, type = 'feature') {
92
+ return backgrounds.filter((f) => f.path.endsWith(`.${fileTypeToExt(type)}`));
93
+ }
94
+ const fileTypeToExt = (type) => (type === 'feature' ? 'feature' : `${type}.feature`);
95
+ export const featureSplit = (content) => content
96
+ .trim()
97
+ .split('\n')
98
+ .map((a) => a.trim())
99
+ .filter((a) => a.length > 0);
100
+ //# sourceMappingURL=features.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features.js","sourceRoot":"","sources":["../../src/lib/features.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=features.test.d.ts.map
@@ -0,0 +1,112 @@
1
+ import { describe, it, test, expect } from 'vitest';
2
+ import { DEFAULT_DEST } from './defs.js';
3
+ import * as steps from './features.js';
4
+ import { testWithDefaults } from './test/lib.js';
5
+ import { asFeatures } from './resolver-features.js';
6
+ import Vars from '../steps/vars.js';
7
+ const varsStepper = [Vars];
8
+ describe('expandBackgrounds', () => {
9
+ test('simple', async () => {
10
+ const features = asFeatures([{ path: '/f1', content: 'f1_step' }]);
11
+ const res = await steps.expandBackgrounds(features);
12
+ expect(res).toEqual(features);
13
+ });
14
+ test('hierarchical', async () => {
15
+ const features = asFeatures([
16
+ { path: '/f1', content: 'f1_step' },
17
+ { path: '/f1/l1f1', content: 'l1f1_step' },
18
+ ]);
19
+ const expected = asFeatures([
20
+ { path: '/f1', content: 'f1_step' },
21
+ { path: '/f1/l1f1', content: 'f1_step\nl1f1_step' },
22
+ ]);
23
+ const res = await steps.expandBackgrounds(features);
24
+ expect(res).toEqual(expected);
25
+ });
26
+ test('multiple hierarchical', async () => {
27
+ const features = asFeatures([
28
+ { path: '/f1', content: 'f1_step' },
29
+ { path: '/l1/l1f1', content: 'l1_step' },
30
+ { path: '/l2/l2f1', content: 'l2_step' },
31
+ ]);
32
+ const expected = asFeatures([
33
+ { path: '/f1', content: 'f1_step' },
34
+ { path: '/l1/l1f1', content: 'f1_step\nl1_step' },
35
+ { path: '/l2/l2f1', content: 'f1_step\nl2_step' },
36
+ ]);
37
+ const res = await steps.expandBackgrounds(features);
38
+ expect(res).toEqual(expected);
39
+ });
40
+ });
41
+ describe('feature finding', () => {
42
+ const features = asFeatures([
43
+ { path: '/l0.feature', content: 'l0_feature' },
44
+ { path: '/l0/l1.feature', content: 'l1_feature' },
45
+ ]);
46
+ test('does not find partial feature', () => {
47
+ const res = steps.findFeatures('0', features);
48
+ expect(res).toEqual([]);
49
+ });
50
+ test('finds feature', () => {
51
+ const res = steps.findFeatures('l0', features);
52
+ expect(res).toEqual(asFeatures([{ path: '/l0.feature', content: 'l0_feature' }]));
53
+ });
54
+ test('finds l1 feature', () => {
55
+ const res = steps.findFeatures('l1', features);
56
+ expect(res).toEqual(asFeatures([{ path: '/l0/l1.feature', content: 'l1_feature' }]));
57
+ });
58
+ test('finds multiple', () => {
59
+ const res = steps.findFeatures('l1', asFeatures([...features, { path: '/l1/l1.feature', content: 'l1_l1_feature' }]));
60
+ expect(res).toEqual(asFeatures([
61
+ { path: '/l0/l1.feature', content: 'l1_feature' },
62
+ { path: '/l1/l1.feature', content: 'l1_l1_feature' },
63
+ ]));
64
+ });
65
+ test('finds fileType', () => {
66
+ const res = steps.findFeatures('l1', asFeatures([...features, { path: '/l1/l1.mytype.feature', content: 'l1_l1_mytype.feature' }]), 'mytype');
67
+ expect(res).toEqual(asFeatures([{ path: '/l1/l1.mytype.feature', content: 'l1_l1_mytype.feature' }]));
68
+ });
69
+ });
70
+ describe('expand features', () => {
71
+ test('applies backgrounds', async () => {
72
+ const features = asFeatures([{ path: '/f1', content: 'Backgrounds: b1\nExtant' }]);
73
+ const backgrounds = asFeatures([{ path: '/b1.feature', content: 'result' }]);
74
+ const res = await steps.expandFeatures(features, backgrounds);
75
+ expect(res[0].expanded.map((e) => e.line)).toEqual(['result', 'Extant']);
76
+ expect(res[0].expanded.map((e) => e.feature.name)).toEqual(['/b1', '/f1']);
77
+ });
78
+ test('applies backgrounds hierarchical', async () => {
79
+ const features = asFeatures([{ path: '/l1/f1', content: 'Backgrounds: b2' }]);
80
+ const backgrounds = asFeatures([
81
+ { path: '/l1/b1.feature', content: 'non-result' },
82
+ { path: '/l2/b2.feature', content: 'result' },
83
+ ]);
84
+ const res = await steps.expandFeatures(features, backgrounds);
85
+ expect(res[0].expanded.length).toBe(1);
86
+ expect(res[0].expanded[0].line).toEqual('result');
87
+ expect(res[0].expanded[0].feature.name).toEqual('/l2/b2');
88
+ });
89
+ });
90
+ describe('env vars', () => {
91
+ it('env or var or literal finds env', async () => {
92
+ const feature = { path: '/features/test.feature', content: `set "what" to "var"\nset x to {what}` };
93
+ const envVariables = { what: 'env' };
94
+ const { world } = await testWithDefaults([feature], varsStepper, {
95
+ options: { DEST: DEFAULT_DEST, envVariables },
96
+ moduleOptions: {},
97
+ });
98
+ expect(world.shared.get('what')).toBe('var');
99
+ expect(world.shared.get('x')).toBe('env');
100
+ });
101
+ it('env or var or literal finds var', async () => {
102
+ const feature = { path: '/features/test.feature', content: `set "what" to "var"\nset x to what` };
103
+ const { world } = await testWithDefaults([feature], varsStepper);
104
+ expect(world.shared.get('x')).toBe('var');
105
+ });
106
+ it('env or var or literal finds literal', async () => {
107
+ const feature = { path: '/features/test.feature', content: `set x to what` };
108
+ const { world } = await testWithDefaults([feature], varsStepper);
109
+ expect(world.shared.get('x')).toBe('what');
110
+ });
111
+ });
112
+ //# sourceMappingURL=features.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features.test.js","sourceRoot":"","sources":["../../src/lib/features.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ export type TArtifact = (TArtifactSpeech | TArtifactVideo | TArtifactVideoStart | TArtifactImage | TArtifactHTML | TArtifactJSON | TArtifactHTTPTrace);
2
+ export type TArtifactSpeech = {
3
+ artifactType: 'speech';
4
+ transcript: string;
5
+ durationS: number;
6
+ path: string;
7
+ runtimePath: string;
8
+ };
9
+ export type TArtifactVideo = {
10
+ artifactType: 'video';
11
+ path: string;
12
+ runtimePath: string;
13
+ };
14
+ export type TArtifactVideoStart = {
15
+ artifactType: 'video/start';
16
+ start: number;
17
+ };
18
+ export type TArtifactImage = {
19
+ artifactType: 'image';
20
+ path: string;
21
+ runtimePath: string;
22
+ };
23
+ export type TArtifactHTML = {
24
+ artifactType: 'html';
25
+ html: string;
26
+ };
27
+ export type TArtifactJSON = {
28
+ artifactType: 'json';
29
+ json: object;
30
+ };
31
+ export type TArtifactHTTPTrace = {
32
+ artifactType: 'json/http/trace';
33
+ httpEvent: 'response' | 'request' | 'route';
34
+ trace: THTTPTraceContent;
35
+ };
36
+ export type TArtifactType = TArtifact['artifactType'];
37
+ export type THTTPTraceContent = {
38
+ frameURL?: string;
39
+ requestingPage?: string;
40
+ requestingURL?: string;
41
+ method?: string;
42
+ headers?: Record<string, string>;
43
+ postData?: unknown;
44
+ status?: number;
45
+ statusText?: string;
46
+ };
47
+ //# sourceMappingURL=artifacts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifacts.d.ts","sourceRoot":"","sources":["../../../src/lib/interfaces/artifacts.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,CACpB,eAAe,GACf,cAAc,GACd,mBAAmB,GACnB,cAAc,GACd,aAAa,GACb,aAAa,GACb,kBAAkB,CACrB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC7B,YAAY,EAAE,QAAQ,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC5B,YAAY,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IACjC,YAAY,EAAE,aAAa,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;CACd,CAAC;AACF,MAAM,MAAM,cAAc,GAAG;IAC5B,YAAY,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACpB,CAAC;AACF,MAAM,MAAM,aAAa,GAAG;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACb,CAAC;AACF,MAAM,MAAM,aAAa,GAAG;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACb,CAAC;AACF,MAAM,MAAM,kBAAkB,GAAG;IAChC,YAAY,EAAE,iBAAiB,CAAC;IAChC,SAAS,EAAE,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;IAC5C,KAAK,EAAE,iBAAiB,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;AAEtD,MAAM,MAAM,iBAAiB,GAAG;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=artifacts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../src/lib/interfaces/artifacts.ts"],"names":[],"mappings":""}
@@ -0,0 +1,52 @@
1
+ import { TMessageContext, TTag } from '../defs.js';
2
+ export type TLogLevel = 'none' | 'debug' | 'log' | 'info' | 'warn' | 'error';
3
+ export type TLogArgs = string;
4
+ export type TLogHistory = {
5
+ message: TLogArgs;
6
+ level: TLogLevel;
7
+ caller: string;
8
+ messageContext: TMessageContext;
9
+ };
10
+ export declare enum EExecutionMessageType {
11
+ INIT = "INIT",
12
+ EXECUTION_START = "EXECUTION_START",
13
+ FEATURE_START = "FEATURE_START",
14
+ SCENARIO_START = "SCENARIO_START",
15
+ STEP_START = "STEP_START",
16
+ STEP_NEXT = "STEP_NEXT",
17
+ ACTION = "ACTION",
18
+ TRACE = "TRACE",
19
+ STEP_END = "STEP_END",
20
+ SCENARIO_END = "SCENARIO_END",
21
+ FEATURE_END = "FEATURE_END",
22
+ EXECUTION_END = "EXECUTION_END",
23
+ ON_FAILURE = "ON_FAILURE"
24
+ }
25
+ export interface ILogger {
26
+ debug: (what: TLogArgs, ctx?: TMessageContext) => void;
27
+ log: (what: TLogArgs, ctx?: TMessageContext) => void;
28
+ info: (what: TLogArgs, ctx?: TMessageContext) => void;
29
+ warn: (what: TLogArgs, ctx?: TMessageContext) => void;
30
+ error: (what: TLogArgs, ctx?: TMessageContext) => void;
31
+ addSubscriber: (subscriber: ILogOutput) => void;
32
+ removeSubscriber: (subscriber: ILogOutput) => void;
33
+ }
34
+ export interface IConnect {
35
+ connect: () => Promise<void>;
36
+ disconnect: () => Promise<void>;
37
+ addKeepalive?: (keepalive: unknown) => void;
38
+ }
39
+ export interface IConnectedLogger extends ILogger, IConnect {
40
+ }
41
+ export interface ILoggerKeepAlive {
42
+ start: () => Promise<void>;
43
+ stop: () => Promise<void>;
44
+ }
45
+ export interface ILogOutput {
46
+ out: (level: TLogLevel, args: TLogArgs, ctx?: TMessageContext) => void;
47
+ }
48
+ export type TOutputEnv = {
49
+ output: ILogOutput;
50
+ tag: TTag;
51
+ };
52
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/lib/interfaces/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEnD,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAC7E,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE9B,MAAM,MAAM,WAAW,GAAG;IACzB,OAAO,EAAE,QAAQ,CAAC;IAClB,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,eAAe,CAAA;CAC/B,CAAC;AAGF,oBAAY,qBAAqB;IAChC,IAAI,SAAS;IACb,eAAe,oBAAoB;IACnC,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;IACjC,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,YAAY,iBAAiB;IAC7B,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,UAAU,eAAe;CACzB;AAED,MAAM,WAAW,OAAO;IACvB,KAAK,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;IACvD,GAAG,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;IACrD,IAAI,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;IACtD,IAAI,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;IACtD,KAAK,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;IACvD,aAAa,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IAChD,gBAAgB,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;CACnD;AAED,MAAM,WAAW,QAAQ;IACxB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,gBAAiB,SAAQ,OAAO,EAAE,QAAQ;CAAI;AAE/D,MAAM,WAAW,gBAAgB;IAChC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IAC1B,GAAG,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;CACvE;AAED,MAAM,MAAM,UAAU,GAAG;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,GAAG,EAAE,IAAI,CAAA;CAAE,CAAC"}
@@ -0,0 +1,17 @@
1
+ export var EExecutionMessageType;
2
+ (function (EExecutionMessageType) {
3
+ EExecutionMessageType["INIT"] = "INIT";
4
+ EExecutionMessageType["EXECUTION_START"] = "EXECUTION_START";
5
+ EExecutionMessageType["FEATURE_START"] = "FEATURE_START";
6
+ EExecutionMessageType["SCENARIO_START"] = "SCENARIO_START";
7
+ EExecutionMessageType["STEP_START"] = "STEP_START";
8
+ EExecutionMessageType["STEP_NEXT"] = "STEP_NEXT";
9
+ EExecutionMessageType["ACTION"] = "ACTION";
10
+ EExecutionMessageType["TRACE"] = "TRACE";
11
+ EExecutionMessageType["STEP_END"] = "STEP_END";
12
+ EExecutionMessageType["SCENARIO_END"] = "SCENARIO_END";
13
+ EExecutionMessageType["FEATURE_END"] = "FEATURE_END";
14
+ EExecutionMessageType["EXECUTION_END"] = "EXECUTION_END";
15
+ EExecutionMessageType["ON_FAILURE"] = "ON_FAILURE";
16
+ })(EExecutionMessageType || (EExecutionMessageType = {}));
17
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/lib/interfaces/logger.ts"],"names":[],"mappings":"AAaA,MAAM,CAAN,IAAY,qBAcX;AAdD,WAAY,qBAAqB;IAChC,sCAAa,CAAA;IACb,4DAAmC,CAAA;IACnC,wDAA+B,CAAA;IAC/B,0DAAiC,CAAA;IACjC,kDAAyB,CAAA;IACzB,gDAAuB,CAAA;IACvB,0CAAiB,CAAA;IACjB,wCAAe,CAAA;IACf,8CAAqB,CAAA;IACrB,sDAA6B,CAAA;IAC7B,oDAA2B,CAAA;IAC3B,wDAA+B,CAAA;IAC/B,kDAAyB,CAAA;AAC1B,CAAC,EAdW,qBAAqB,KAArB,qBAAqB,QAchC"}
@@ -0,0 +1,20 @@
1
+ import { TStepperStep, TNamedVar, TStepAction, TNamed, TWorld, TFeatureStep } from './defs.js';
2
+ export declare const matchGroups: (num?: number) => string;
3
+ export declare const namedInterpolation: (inp: string, types?: string[]) => {
4
+ str: string;
5
+ vars?: TNamedVar[];
6
+ };
7
+ export declare function getNamedMatches(regexp: RegExp, what: string): {
8
+ [key: string]: string;
9
+ };
10
+ export declare const getMatch: (actionable: string, r: RegExp, actionName: string, stepperName: string, step: TStepperStep, vars?: TNamedVar[]) => {
11
+ actionName: string;
12
+ stepperName: string;
13
+ step: TStepperStep;
14
+ named: {
15
+ [key: string]: string;
16
+ };
17
+ vars: TNamedVar[];
18
+ };
19
+ export declare function getNamedToVars(found: TStepAction, world: TWorld, featureStep: TFeatureStep): TNamed;
20
+ //# sourceMappingURL=namedVars.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"namedVars.d.ts","sourceRoot":"","sources":["../../src/lib/namedVars.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAU,MAAM,WAAW,CAAC;AAYvG,eAAO,MAAM,WAAW,0BASvB,CAAC;AAEF,eAAO,MAAM,kBAAkB,QAAS,MAAM,UAAS,MAAM,EAAE,KAAgB;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAA;CAyB/G,CAAC;AAaF,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;;EAG3D;AAED,eAAO,MAAM,QAAQ,eACR,MAAM,KACf,MAAM,cACG,MAAM,eACL,MAAM,QACb,YAAY,SACX,SAAS,EAAE;;;;;;;;CAOlB,CAAC;AAIF,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,UAuE1F"}