@autometa/events 0.0.10 → 0.1.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.
- package/.turbo/turbo-build.log +18 -34
- package/.turbo/turbo-build:dts.log +31 -0
- package/.turbo/turbo-build:dts:tsc.log +11 -0
- package/.turbo/turbo-clean.log +4 -0
- package/.turbo/turbo-lint.log +1 -1
- package/.turbo/turbo-lint:fix.log +4 -0
- package/.turbo/turbo-prettify.log +5 -0
- package/.turbo/turbo-test.log +5 -5
- package/CHANGELOG.md +21 -0
- package/dist/esm/index.js +199 -3
- package/dist/esm/index.js.map +1 -0
- package/dist/index.d.cts +696 -0
- package/dist/index.d.ts +695 -3
- package/dist/index.js +240 -2
- package/dist/index.js.map +1 -0
- package/package.json +16 -16
- package/tsup.config.ts +2 -0
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,37 +1,21 @@
|
|
|
1
1
|
|
|
2
|
-
> @autometa/events@0.0.10 build /
|
|
3
|
-
> pnpm build:js && pnpm build:dts
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
> @autometa/events@0.0.10 build:js /home/runner/work/autometa/autometa/packages/events
|
|
2
|
+
> @autometa/events@0.0.10 build /Users/ben.aherne/Documents/GitHub/autometa/packages/events
|
|
7
3
|
> tsup
|
|
8
4
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
> @autometa/events@0.0.10 build:dts:tsc /home/runner/work/autometa/autometa/packages/events
|
|
29
|
-
> tsc --build --clean && tsc && tsup --entry.index out/src/index.d.ts --dtsOnly
|
|
30
|
-
|
|
31
|
-
[34mCLI[39m Building entry: {"index":"out/src/index.d.ts"}
|
|
32
|
-
[34mCLI[39m Using tsconfig: tsconfig.json
|
|
33
|
-
[34mCLI[39m tsup v6.7.0
|
|
34
|
-
[34mCLI[39m Using tsup config: /home/runner/work/autometa/autometa/packages/events/tsup.config.ts
|
|
35
|
-
[34mDTS[39m Build start
|
|
36
|
-
[32mDTS[39m ⚡️ Build success in 50ms
|
|
37
|
-
[32mDTS[39m [1mdist/index.d.ts [22m[32m97.00 B[39m
|
|
5
|
+
CLI Building entry: src/index.ts
|
|
6
|
+
CLI Using tsconfig: tsconfig.json
|
|
7
|
+
CLI tsup v6.7.0
|
|
8
|
+
CLI Using tsup config: /Users/ben.aherne/Documents/GitHub/autometa/packages/events/tsup.config.ts
|
|
9
|
+
CLI Target: es2020
|
|
10
|
+
CLI Cleaning output folder
|
|
11
|
+
CJS Build start
|
|
12
|
+
ESM Build start
|
|
13
|
+
CJS You have emitDecoratorMetadata enabled but @swc/core was not installed, skipping swc plugin
|
|
14
|
+
ESM You have emitDecoratorMetadata enabled but @swc/core was not installed, skipping swc plugin
|
|
15
|
+
CJS dist/index.js 961.00 B
|
|
16
|
+
CJS ⚡️ Build success in 14ms
|
|
17
|
+
ESM dist/esm/index.js 75.00 B
|
|
18
|
+
ESM ⚡️ Build success in 16ms
|
|
19
|
+
DTS Build start
|
|
20
|
+
DTS ⚡️ Build success in 1969ms
|
|
21
|
+
DTS dist/index.d.ts 61.00 B
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
|
|
2
|
+
> @autometa/events@0.0.10 build:dts /Users/ben.aherne/Documents/GitHub/autometa/packages/events
|
|
3
|
+
> tsup --dts-only
|
|
4
|
+
|
|
5
|
+
CLI Building entry: src/index.ts
|
|
6
|
+
CLI Using tsconfig: tsconfig.json
|
|
7
|
+
CLI tsup v6.7.0
|
|
8
|
+
CLI Using tsup config: /Users/ben.aherne/Documents/GitHub/autometa/packages/events/tsup.config.ts
|
|
9
|
+
DTS Build start
|
|
10
|
+
src/event-subscriber.ts(1,23): error TS2307: Cannot find module '@autometa/types' or its corresponding type declarations.
|
|
11
|
+
|
|
12
|
+
Error: error occured in dts build
|
|
13
|
+
at Worker.<anonymous> (/Users/ben.aherne/Documents/GitHub/autometa/node_modules/.pnpm/tsup@6.7.0_ts-node@10.9.1_typescript@4.9.5/node_modules/tsup/dist/index.js:2281:26)
|
|
14
|
+
at Worker.emit (node:events:513:28)
|
|
15
|
+
at MessagePort.<anonymous> (node:internal/worker:238:53)
|
|
16
|
+
at [nodejs.internal.kHybridDispatch] (node:internal/event_target:738:20)
|
|
17
|
+
at exports.emitMessage (node:internal/per_context/messageport:23:28)
|
|
18
|
+
DTS Build error
|
|
19
|
+
RollupError: Failed to compile. Check the logs above.
|
|
20
|
+
at error (/Users/ben.aherne/Documents/GitHub/autometa/node_modules/.pnpm/rollup@3.12.0/node_modules/rollup/dist/shared/rollup.js:260:30)
|
|
21
|
+
at Object.error (/Users/ben.aherne/Documents/GitHub/autometa/node_modules/.pnpm/rollup@3.12.0/node_modules/rollup/dist/shared/rollup.js:24090:20)
|
|
22
|
+
at Object.error (/Users/ben.aherne/Documents/GitHub/autometa/node_modules/.pnpm/rollup@3.12.0/node_modules/rollup/dist/shared/rollup.js:23331:42)
|
|
23
|
+
at generateDtsFromTs (/Users/ben.aherne/Documents/GitHub/autometa/node_modules/.pnpm/tsup@6.7.0_ts-node@10.9.1_typescript@4.9.5/node_modules/tsup/dist/rollup.js:7498:22)
|
|
24
|
+
at /Users/ben.aherne/Documents/GitHub/autometa/node_modules/.pnpm/tsup@6.7.0_ts-node@10.9.1_typescript@4.9.5/node_modules/tsup/dist/rollup.js:7505:59
|
|
25
|
+
at _nullishCoalesce (/Users/ben.aherne/Documents/GitHub/autometa/node_modules/.pnpm/tsup@6.7.0_ts-node@10.9.1_typescript@4.9.5/node_modules/tsup/dist/rollup.js:1:198)
|
|
26
|
+
at Object.transform (/Users/ben.aherne/Documents/GitHub/autometa/node_modules/.pnpm/tsup@6.7.0_ts-node@10.9.1_typescript@4.9.5/node_modules/tsup/dist/rollup.js:7505:18)
|
|
27
|
+
at /Users/ben.aherne/Documents/GitHub/autometa/node_modules/.pnpm/rollup@3.12.0/node_modules/rollup/dist/shared/rollup.js:24289:40
|
|
28
|
+
src/event-options.ts(5,38): error TS2307: Cannot find module '@autometa/gherkin' or its corresponding type declarations.
|
|
29
|
+
src/event-options.ts(6,42): error TS2307: Cannot find module '@autometa/types' or its corresponding type declarations.
|
|
30
|
+
|
|
31
|
+
ELIFECYCLE Command failed with exit code 1.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
|
|
2
|
+
> @autometa/events@0.0.10 build:dts:tsc /Users/ben.aherne/Documents/GitHub/autometa/packages/events
|
|
3
|
+
> tsc
|
|
4
|
+
|
|
5
|
+
src/event-dispatcher.ts(20,22): error TS2307: Cannot find module '@autometa/bind-decorator' or its corresponding type declarations.
|
|
6
|
+
src/event-options.ts(6,10): error TS2305: Module '"@autometa/gherkin"' has no exported member 'Examples'.
|
|
7
|
+
src/event-options.ts(7,42): error TS2307: Cannot find module '@autometa/types' or its corresponding type declarations.
|
|
8
|
+
src/event-options.ts(8,28): error TS2307: Cannot find module '@autometa/types' or its corresponding type declarations.
|
|
9
|
+
src/event-subscriber.ts(1,23): error TS2307: Cannot find module '@autometa/types' or its corresponding type declarations.
|
|
10
|
+
../gherkin/index.ts(1,15): error TS6305: Output file '/Users/ben.aherne/Documents/GitHub/autometa/packages/gherkin/out/src/index.d.ts' has not been built from source file '/Users/ben.aherne/Documents/GitHub/autometa/packages/gherkin/src/index.ts'.
|
|
11
|
+
ELIFECYCLE Command failed with exit code 2.
|
package/.turbo/turbo-lint.log
CHANGED
package/.turbo/turbo-test.log
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
|
|
2
|
-
> @autometa/events@0.0
|
|
2
|
+
> @autometa/events@0.1.0 test /Users/ben.aherne/Documents/GitHub/autometa/packages/events
|
|
3
3
|
> vitest run --passWithNoTests
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
RUN v0.33.0 /Users/ben.aherne/Documents/GitHub/autometa/packages/events/src
|
|
7
7
|
|
|
8
|
-
[2minclude: [22m[33m**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}[39m
|
|
9
|
-
[2mexclude: [22m[33m**/node_modules/**[2m, [22m**/dist/**[2m, [22m**/cypress/**[2m, [22m**/.{idea,git,cache,output,temp}/**[2m, [22m**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build}.config.*[39m
|
|
10
|
-
[2mwatch exclude: [22m[33m**/node_modules/**[2m, [22m**/dist/**[39m
|
|
11
8
|
No test files found, exiting with code 0
|
|
12
9
|
|
|
10
|
+
include: **/*.{test,spec}.?(c|m)[jt]s?(x)
|
|
11
|
+
exclude: **/node_modules/**, **/dist/**, **/cypress/**, **/.{idea,git,cache,output,temp}/**, **/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build}.config.*
|
|
12
|
+
watch exclude: **/node_modules/**, **/dist/**
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# Gherkin
|
|
2
2
|
|
|
3
|
+
## 0.1.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [e8f02f3a]
|
|
8
|
+
- @autometa/gherkin@0.4.1
|
|
9
|
+
- @autometa/errors@0.1.1
|
|
10
|
+
|
|
11
|
+
## 0.1.0
|
|
12
|
+
|
|
13
|
+
### Minor Changes
|
|
14
|
+
|
|
15
|
+
- 554b77e: Releasing packages
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- Updated dependencies [554b77e]
|
|
20
|
+
- @autometa/errors@0.1.0
|
|
21
|
+
- @autometa/gherkin@0.4.0
|
|
22
|
+
- @autometa/types@0.4.0
|
|
23
|
+
|
|
3
24
|
## 0.0.10
|
|
4
25
|
|
|
5
26
|
### Patch Changes
|
package/dist/esm/index.js
CHANGED
|
@@ -1,5 +1,201 @@
|
|
|
1
|
-
// src/
|
|
2
|
-
|
|
1
|
+
// src/event-options.ts
|
|
2
|
+
import { CucumberExpression } from "@cucumber/cucumber-expressions";
|
|
3
|
+
import { object, string, literal, z } from "zod";
|
|
4
|
+
var uuidRegex = /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/gm;
|
|
5
|
+
var UUIDStringSchema = string().regex(uuidRegex).optional();
|
|
6
|
+
var StatusSchema = z.union([
|
|
7
|
+
literal("FAILED"),
|
|
8
|
+
literal("BROKEN"),
|
|
9
|
+
literal("PASSED"),
|
|
10
|
+
literal("SKIPPED")
|
|
11
|
+
]);
|
|
12
|
+
var EventOptionsSchema = object({
|
|
13
|
+
title: string().optional(),
|
|
14
|
+
keyword: string().optional(),
|
|
15
|
+
tags: string().array().optional(),
|
|
16
|
+
modifier: literal("skip").or(literal("only")).optional(),
|
|
17
|
+
status: StatusSchema.optional()
|
|
18
|
+
});
|
|
19
|
+
var ErrorEventSchema = EventOptionsSchema.extend({
|
|
20
|
+
error: z.instanceof(Error).optional()
|
|
21
|
+
});
|
|
22
|
+
var ArgsEventSchema = EventOptionsSchema.extend({
|
|
23
|
+
args: z.array(z.unknown()).optional()
|
|
24
|
+
});
|
|
25
|
+
var StartFeatureOptsSchema = EventOptionsSchema.extend({
|
|
26
|
+
path: string().optional()
|
|
27
|
+
});
|
|
28
|
+
var EndFeatureOptsSchema = ErrorEventSchema;
|
|
29
|
+
var EndRuleOptsSchema = ErrorEventSchema;
|
|
30
|
+
var StartScenarioOutlineOptsSchema = EventOptionsSchema;
|
|
31
|
+
var EndScenarioOutlineOptsSchema = ErrorEventSchema;
|
|
32
|
+
var StartScenarioOptsSchema = EventOptionsSchema.extend({
|
|
33
|
+
examples: object({ key: string() }).array().optional()
|
|
34
|
+
});
|
|
35
|
+
var EndScenarioOptsSchema = ErrorEventSchema;
|
|
36
|
+
var StartStepOptsSchema = EventOptionsSchema.extend({
|
|
37
|
+
args: z.array(z.unknown()).optional(),
|
|
38
|
+
expression: z.instanceof(CucumberExpression).optional(),
|
|
39
|
+
text: string().optional()
|
|
40
|
+
});
|
|
41
|
+
var EndStepOptsSchema = ErrorEventSchema.extend({
|
|
42
|
+
args: z.array(z.unknown()).optional(),
|
|
43
|
+
expression: z.instanceof(CucumberExpression),
|
|
44
|
+
text: string()
|
|
45
|
+
});
|
|
46
|
+
var StartBeforeOptsSchema = ArgsEventSchema;
|
|
47
|
+
var EndBeforeOptsSchema = ErrorEventSchema;
|
|
48
|
+
var StartAfterOptsSchema = ArgsEventSchema;
|
|
49
|
+
var EndAfterOptsSchema = ErrorEventSchema;
|
|
50
|
+
var StartSetupOptsSchema = ArgsEventSchema;
|
|
51
|
+
var EndSetupOptsSchema = ErrorEventSchema;
|
|
52
|
+
var StartTeardownOptsSchema = ArgsEventSchema;
|
|
53
|
+
var EndTeardownOptsSchema = ErrorEventSchema;
|
|
54
|
+
|
|
55
|
+
// src/event-subscriber.ts
|
|
56
|
+
import { object as object2, function as fun } from "zod";
|
|
57
|
+
var EventSubscriberSchema = object2({
|
|
58
|
+
onFeature: fun()
|
|
59
|
+
});
|
|
60
|
+
var ProviderSubscriber = class {
|
|
61
|
+
constructor() {
|
|
62
|
+
this.addFixtureInstance = (instance) => {
|
|
63
|
+
this.fixtures.instances?.push(instance);
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
// src/test-emitter.ts
|
|
69
|
+
import EventEmitter from "events";
|
|
70
|
+
import { AutomationError } from "@autometa/errors";
|
|
71
|
+
var TestEmitter = class extends EventEmitter {
|
|
72
|
+
constructor(name) {
|
|
73
|
+
super();
|
|
74
|
+
this.name = name;
|
|
75
|
+
this.emitStart = (...args) => {
|
|
76
|
+
this.emit(`onStart${this.name}`, ...args);
|
|
77
|
+
};
|
|
78
|
+
this.onStart = (action) => {
|
|
79
|
+
if (action) {
|
|
80
|
+
this.on(`onStart${this.name}`, tryWrapper(this.name, action));
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
this.onEnd = (action) => {
|
|
84
|
+
if (action) {
|
|
85
|
+
this.on(`onEnd${this.name}`, tryWrapper(this.name, action));
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
this.emitEnd = (...args) => {
|
|
89
|
+
this.emit(`onEnd${this.name}`, ...args);
|
|
90
|
+
};
|
|
91
|
+
this.load = (onStart, onEnd) => {
|
|
92
|
+
this.onStart(onStart);
|
|
93
|
+
this.onEnd(onEnd);
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
function tryWrapper(name, action) {
|
|
98
|
+
return (...args) => {
|
|
99
|
+
try {
|
|
100
|
+
const result = action(...args);
|
|
101
|
+
if (result instanceof Promise) {
|
|
102
|
+
throw new AutomationError(
|
|
103
|
+
`A Subscriber action cannot be async or return a promise. Executing ${name}`
|
|
104
|
+
);
|
|
105
|
+
}
|
|
106
|
+
} catch (e) {
|
|
107
|
+
console.error(
|
|
108
|
+
`Event Subscriber ${name} threw an error ${e.message}`
|
|
109
|
+
);
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
// src/test-event-emitter.ts
|
|
115
|
+
var TestEventEmitter = class {
|
|
116
|
+
constructor() {
|
|
117
|
+
this.scenarioOutline = new TestEmitter(
|
|
118
|
+
"ScenarioOutline"
|
|
119
|
+
);
|
|
120
|
+
this.feature = new TestEmitter("Feature");
|
|
121
|
+
this.rule = new TestEmitter("Rule");
|
|
122
|
+
this.scenario = new TestEmitter("Scenario");
|
|
123
|
+
this.scenarioWrapper = new TestEmitter("Scenario Wrapper");
|
|
124
|
+
this.setup = new TestEmitter("Setup");
|
|
125
|
+
this.teardown = new TestEmitter("Teardown");
|
|
126
|
+
this.before = new TestEmitter("Before");
|
|
127
|
+
this.after = new TestEmitter("After");
|
|
128
|
+
this.step = new TestEmitter("Step");
|
|
129
|
+
this.load = ({
|
|
130
|
+
onFeatureStart,
|
|
131
|
+
onFeatureEnd,
|
|
132
|
+
onScenarioOutlineStart,
|
|
133
|
+
onScenarioOutlineEnd,
|
|
134
|
+
onScenarioStart,
|
|
135
|
+
onScenarioEnd,
|
|
136
|
+
onRuleStart,
|
|
137
|
+
onRuleEnd,
|
|
138
|
+
onBeforeStart,
|
|
139
|
+
onBeforeEnd,
|
|
140
|
+
onSetupStart,
|
|
141
|
+
onSetupEnd,
|
|
142
|
+
onStepStart,
|
|
143
|
+
onStepEnd,
|
|
144
|
+
onAfterStart,
|
|
145
|
+
onAfterEnd,
|
|
146
|
+
onTeardownStart,
|
|
147
|
+
onTeardownEnd,
|
|
148
|
+
onPreScenarioStart,
|
|
149
|
+
onPostScenarioEnd
|
|
150
|
+
}) => {
|
|
151
|
+
this.feature.load(onFeatureStart, onFeatureEnd);
|
|
152
|
+
this.rule.load(onRuleStart, onRuleEnd);
|
|
153
|
+
this.scenarioOutline.load(onScenarioOutlineStart, onScenarioOutlineEnd);
|
|
154
|
+
this.scenario.load(onScenarioStart, onScenarioEnd);
|
|
155
|
+
this.step.load(onStepStart, onStepEnd);
|
|
156
|
+
this.before.load(onBeforeStart, onBeforeEnd);
|
|
157
|
+
this.after.load(onAfterStart, onAfterEnd);
|
|
158
|
+
this.setup.load(onSetupStart, onSetupEnd);
|
|
159
|
+
this.teardown.load(onTeardownStart, onTeardownEnd);
|
|
160
|
+
this.scenarioWrapper.load(onPreScenarioStart, onPostScenarioEnd);
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
// src/test-status.ts
|
|
166
|
+
var Status = {
|
|
167
|
+
FAILED: "FAILED",
|
|
168
|
+
BROKEN: "BROKEN",
|
|
169
|
+
PASSED: "PASSED",
|
|
170
|
+
SKIPPED: "SKIPPED"
|
|
171
|
+
};
|
|
3
172
|
export {
|
|
4
|
-
|
|
173
|
+
ArgsEventSchema,
|
|
174
|
+
EndAfterOptsSchema,
|
|
175
|
+
EndBeforeOptsSchema,
|
|
176
|
+
EndFeatureOptsSchema,
|
|
177
|
+
EndRuleOptsSchema,
|
|
178
|
+
EndScenarioOptsSchema,
|
|
179
|
+
EndScenarioOutlineOptsSchema,
|
|
180
|
+
EndSetupOptsSchema,
|
|
181
|
+
EndStepOptsSchema,
|
|
182
|
+
EndTeardownOptsSchema,
|
|
183
|
+
ErrorEventSchema,
|
|
184
|
+
EventOptionsSchema,
|
|
185
|
+
EventSubscriberSchema,
|
|
186
|
+
ProviderSubscriber,
|
|
187
|
+
StartAfterOptsSchema,
|
|
188
|
+
StartBeforeOptsSchema,
|
|
189
|
+
StartFeatureOptsSchema,
|
|
190
|
+
StartScenarioOptsSchema,
|
|
191
|
+
StartScenarioOutlineOptsSchema,
|
|
192
|
+
StartSetupOptsSchema,
|
|
193
|
+
StartStepOptsSchema,
|
|
194
|
+
StartTeardownOptsSchema,
|
|
195
|
+
Status,
|
|
196
|
+
StatusSchema,
|
|
197
|
+
TestEmitter,
|
|
198
|
+
TestEventEmitter,
|
|
199
|
+
UUIDStringSchema
|
|
5
200
|
};
|
|
201
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/event-options.ts","../../src/event-subscriber.ts","../../src/test-emitter.ts","../../src/test-event-emitter.ts","../../src/test-status.ts"],"sourcesContent":["import { CucumberExpression } from \"@cucumber/cucumber-expressions\";\nimport { object, string, literal, z } from \"zod\";\nconst uuidRegex =\n /^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$/gm;\nexport const UUIDStringSchema = string().regex(uuidRegex).optional();\n\nexport const StatusSchema = z.union([\n literal(\"FAILED\"),\n literal(\"BROKEN\"),\n literal(\"PASSED\"),\n literal(\"SKIPPED\")\n]);\nexport const EventOptionsSchema = object({\n title: string().optional(),\n keyword: string().optional(),\n tags: string().array().optional(),\n modifier: literal(\"skip\").or(literal(\"only\")).optional(),\n status: StatusSchema.optional()\n});\n\nexport const ErrorEventSchema = EventOptionsSchema.extend({\n error: z.instanceof(Error).optional()\n});\nexport const ArgsEventSchema = EventOptionsSchema.extend({\n args: z.array(z.unknown()).optional()\n});\n\nexport const StartFeatureOptsSchema = EventOptionsSchema.extend({\n path: string().optional()\n});\n\nexport const EndFeatureOptsSchema = ErrorEventSchema;\n\nexport const EndRuleOptsSchema = ErrorEventSchema;\n\nexport const StartScenarioOutlineOptsSchema = EventOptionsSchema;\n// .extend({\n// uuid: UUIDStringSchema.optional()\n// });\n\nexport const EndScenarioOutlineOptsSchema = ErrorEventSchema;\n\nexport const StartScenarioOptsSchema = EventOptionsSchema.extend({\n examples: object({ key: string() }).array().optional()\n});\n\nexport const EndScenarioOptsSchema = ErrorEventSchema;\n\nexport const StartStepOptsSchema = EventOptionsSchema.extend({\n args: z.array(z.unknown()).optional(),\n expression: z.instanceof(CucumberExpression).optional(),\n text: string().optional()\n});\nexport const EndStepOptsSchema = ErrorEventSchema.extend({\n args: z.array(z.unknown()).optional(),\n expression: z.instanceof(CucumberExpression),\n text: string()\n});\nexport const StartBeforeOptsSchema = ArgsEventSchema;\nexport const EndBeforeOptsSchema = ErrorEventSchema;\nexport const StartAfterOptsSchema = ArgsEventSchema;\nexport const EndAfterOptsSchema = ErrorEventSchema;\nexport const StartSetupOptsSchema = ArgsEventSchema;\nexport const EndSetupOptsSchema = ErrorEventSchema;\nexport const StartTeardownOptsSchema = ArgsEventSchema;\nexport const EndTeardownOptsSchema = ErrorEventSchema;\n\nexport type EventOptions = z.infer<typeof EventOptionsSchema>;\nexport type StartFeatureOpts = z.infer<typeof StartFeatureOptsSchema>;\nexport type EndFeatureOpts = z.infer<typeof EndFeatureOptsSchema>;\nexport type StartRuleOpts = EventOptions;\nexport type EndRuleOpts = z.infer<typeof EndRuleOptsSchema>;\nexport type StartScenarioOutlineOpts = z.infer<\n typeof StartScenarioOutlineOptsSchema\n>;\nexport type EndScenarioOutlineOpts = z.infer<\n typeof EndScenarioOutlineOptsSchema\n>;\nexport type StartScenarioOpts = z.infer<typeof StartScenarioOptsSchema>;\nexport type EndScenarioOpts = z.infer<typeof EndScenarioOptsSchema>;\nexport type StartStepOpts = z.infer<typeof StartStepOptsSchema>;\nexport type EndStepOpts = z.infer<typeof EndStepOptsSchema>;\nexport type StartBeforeOpts = z.infer<typeof StartBeforeOptsSchema>;\nexport type EndBeforeOpts = z.infer<typeof EndBeforeOptsSchema>;\nexport type StartAfterOpts = z.infer<typeof StartAfterOptsSchema>;\nexport type EndAfterOpts = z.infer<typeof EndAfterOptsSchema>;\nexport type StartSetupOpts = z.infer<typeof StartSetupOptsSchema>;\nexport type EndSetupOpts = z.infer<typeof EndSetupOptsSchema>;\nexport type StartTeardownOpts = z.infer<typeof StartTeardownOptsSchema>;\nexport type EndTeardownOpts = z.infer<typeof EndTeardownOptsSchema>;\n","import { Class } from \"@autometa/types\";\nimport { InjectionToken } from \"tsyringe\";\nimport {\n EndAfterOpts,\n EndBeforeOpts,\n EndFeatureOpts,\n EndRuleOpts,\n EndScenarioOpts,\n EndSetupOpts,\n EndStepOpts,\n EndTeardownOpts,\n StartAfterOpts,\n StartBeforeOpts,\n StartFeatureOpts,\n StartRuleOpts,\n StartScenarioOpts,\n StartScenarioOutlineOpts,\n StartSetupOpts,\n StartStepOpts,\n StartTeardownOpts,\n} from \"./event-options\";\nimport {object, function as fun} from 'zod'\nexport type DependencyInstanceProvider = {\n token: InjectionToken<unknown>;\n instance: unknown;\n};\n\nexport const EventSubscriberSchema = object({\n onFeature: fun()\n})\nexport interface EventSubscriber {\n onFeatureStart?(opts: StartFeatureOpts): void;\n onFeatureEnd?(opts: EndFeatureOpts): void;\n onRuleStart?(opts: StartRuleOpts): void;\n onRuleEnd?(opts: EndRuleOpts): void;\n onScenarioOutlineStart?(opts: StartScenarioOutlineOpts): void;\n onScenarioOutlineEnd?(opts: EndScenarioOpts): void;\n onPreScenarioStart?(): void;\n onPostScenarioEnd?(): void;\n onScenarioStart?(opts: StartScenarioOpts): void;\n onScenarioEnd?(opts: EndScenarioOpts): void;\n onStepStart?(opts: StartStepOpts): void;\n onStepEnd?(opts: EndStepOpts): void;\n onSetupStart?(opts: StartSetupOpts): void;\n onSetupEnd?(opts: EndSetupOpts): void;\n onTeardownStart?(opts: StartTeardownOpts): void;\n onTeardownEnd?(opts: EndTeardownOpts): void;\n onBeforeStart?(opts: StartBeforeOpts): void;\n onBeforeEnd?(opts: EndBeforeOpts): void;\n onAfterStart?(opts: StartAfterOpts): void;\n onAfterEnd?(opts: EndAfterOpts): void;\n}\n\nexport abstract class ProviderSubscriber implements EventSubscriber {\n abstract get fixtures(): {\n instances?: DependencyInstanceProvider[];\n prototypes?: Class<unknown>[];\n };\n\n addFixtureInstance = (instance: DependencyInstanceProvider) => {\n this.fixtures.instances?.push(instance);\n };\n\n onFeatureStart?(opts: StartFeatureOpts): void;\n}\n","import EventEmitter from \"events\";\nimport { Cb } from \"./test-event-emitter\";\nimport { AutomationError } from \"@autometa/errors\";\nexport class TestEmitter<\n TArgsStart = never,\n TArgsEnd = never\n> extends EventEmitter {\n constructor(readonly name: string) {\n super();\n }\n\n emitStart = (...args: TArgsStart[]) => {\n this.emit(`onStart${this.name}`, ...args);\n };\n\n onStart = (action?: (...args: unknown[]) => void) => {\n if (action) {\n this.on(`onStart${this.name}`, tryWrapper(this.name, action));\n }\n };\n\n onEnd = (action?: (...args: unknown[]) => void) => {\n if (action) {\n this.on(`onEnd${this.name}`, tryWrapper(this.name, action));\n }\n };\n\n emitEnd = (...args: TArgsEnd[]) => {\n this.emit(`onEnd${this.name}`, ...args);\n };\n\n load = (onStart?: Cb, onEnd?: Cb) => {\n this.onStart(onStart);\n this.onEnd(onEnd);\n };\n}\n\nfunction tryWrapper(name: string, action: (...args: unknown[]) => void) {\n return (...args: unknown[]) => {\n try {\n const result = action(...args);\n if ((result as unknown) instanceof Promise) {\n throw new AutomationError(\n `A Subscriber action cannot be async or return a promise. Executing ${name}`\n );\n }\n } catch (e) {\n console.error(\n `Event Subscriber ${name} threw an error ${(e as Error).message}`\n );\n }\n };\n}\n","import { EventSubscriber } from \"./event-subscriber\";\nimport { TestEmitter } from \"./test-emitter\";\nimport {\n StartScenarioOutlineOpts,\n EndScenarioOutlineOpts,\n StartFeatureOpts,\n EndFeatureOpts,\n StartRuleOpts,\n EndRuleOpts,\n StartScenarioOpts,\n EndScenarioOpts,\n StartSetupOpts,\n EndSetupOpts,\n StartTeardownOpts,\n EndTeardownOpts,\n StartBeforeOpts,\n EndBeforeOpts,\n StartAfterOpts,\n EndAfterOpts,\n StartStepOpts,\n EndStepOpts,\n} from \"./event-options\";\nexport class TestEventEmitter {\n scenarioOutline = new TestEmitter<StartScenarioOutlineOpts, EndScenarioOutlineOpts>(\n \"ScenarioOutline\"\n );\n feature = new TestEmitter<StartFeatureOpts, EndFeatureOpts>(\"Feature\");\n rule = new TestEmitter<StartRuleOpts, EndRuleOpts>(\"Rule\");\n scenario = new TestEmitter<StartScenarioOpts, EndScenarioOpts>(\"Scenario\");\n scenarioWrapper = new TestEmitter<never, never>(\"Scenario Wrapper\");\n setup = new TestEmitter<StartSetupOpts, EndSetupOpts>(\"Setup\");\n teardown = new TestEmitter<StartTeardownOpts, EndTeardownOpts>(\"Teardown\");\n before = new TestEmitter<StartBeforeOpts, EndBeforeOpts>(\"Before\");\n after = new TestEmitter<StartAfterOpts, EndAfterOpts>(\"After\");\n step = new TestEmitter<StartStepOpts, EndStepOpts>(\"Step\");\n\n load = ({\n onFeatureStart,\n onFeatureEnd,\n onScenarioOutlineStart,\n onScenarioOutlineEnd,\n onScenarioStart,\n onScenarioEnd,\n onRuleStart,\n onRuleEnd,\n onBeforeStart,\n onBeforeEnd,\n onSetupStart,\n onSetupEnd,\n onStepStart,\n onStepEnd,\n onAfterStart,\n onAfterEnd,\n onTeardownStart,\n onTeardownEnd,\n onPreScenarioStart,\n onPostScenarioEnd,\n }: EventSubscriber) => {\n this.feature.load(onFeatureStart, onFeatureEnd);\n this.rule.load(onRuleStart, onRuleEnd);\n this.scenarioOutline.load(onScenarioOutlineStart, onScenarioOutlineEnd);\n this.scenario.load(onScenarioStart, onScenarioEnd);\n this.step.load(onStepStart, onStepEnd);\n this.before.load(onBeforeStart, onBeforeEnd);\n this.after.load(onAfterStart, onAfterEnd);\n this.setup.load(onSetupStart, onSetupEnd);\n this.teardown.load(onTeardownStart, onTeardownEnd);\n this.scenarioWrapper.load(onPreScenarioStart, onPostScenarioEnd);\n };\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type Cb = (...args: any[]) => void;\n","export const Status = {\n FAILED: \"FAILED\",\n BROKEN: \"BROKEN\",\n PASSED: \"PASSED\",\n SKIPPED: \"SKIPPED\",\n} as const;\n\nexport type StatusType = keyof typeof Status;\n"],"mappings":"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","names":["object"]}
|