@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.
@@ -1,37 +1,21 @@
1
1
 
2
- > @autometa/events@0.0.10 build /home/runner/work/autometa/autometa/packages/events
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
- CLI Building entry: src/index.ts
10
- CLI Using tsconfig: tsconfig.json
11
- CLI tsup v6.7.0
12
- CLI Using tsup config: /home/runner/work/autometa/autometa/packages/events/tsup.config.ts
13
- CLI Target: es2020
14
- CLI Cleaning output folder
15
- CJS Build start
16
- ESM Build start
17
- CJS You have emitDecoratorMetadata enabled but @swc/core was not installed, skipping swc plugin
18
- ESM You have emitDecoratorMetadata enabled but @swc/core was not installed, skipping swc plugin
19
- CJS dist/index.js 961.00 B
20
- CJS ⚡️ Build success in 13ms
21
- ESM dist/esm/index.js 75.00 B
22
- ESM ⚡️ Build success in 13ms
23
-
24
- > @autometa/events@0.0.10 build:dts /home/runner/work/autometa/autometa/packages/events
25
- > pnpm build:dts:tsc
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
- CLI Building entry: {"index":"out/src/index.d.ts"}
32
- CLI Using tsconfig: tsconfig.json
33
- CLI tsup v6.7.0
34
- CLI Using tsup config: /home/runner/work/autometa/autometa/packages/events/tsup.config.ts
35
- DTS Build start
36
- DTS ⚡️ Build success in 50ms
37
- DTS dist/index.d.ts 97.00 B
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.
@@ -0,0 +1,4 @@
1
+
2
+ > @autometa/events@0.0.10 clean /Users/ben.aherne/Documents/GitHub/autometa/packages/events
3
+ > rimraf dist
4
+
@@ -1,4 +1,4 @@
1
1
 
2
- > @autometa/events@0.0.10 lint /home/runner/work/autometa/autometa/packages/events
2
+ > @autometa/events@0.0.10 lint /Users/ben.aherne/Documents/GitHub/autometa/packages/events
3
3
  > eslint . --max-warnings 0
4
4
 
@@ -0,0 +1,4 @@
1
+
2
+ > @autometa/events@0.0.10 lint:fix /Users/ben.aherne/Documents/GitHub/autometa/packages/events
3
+ > eslint . --fix "--max-warnings=0"
4
+
@@ -0,0 +1,5 @@
1
+
2
+ > @autometa/events@0.0.10 prettify /Users/ben.aherne/Documents/GitHub/autometa/packages/events
3
+ > prettier --config .prettierrc 'src/**/*.ts' --write
4
+
5
+  ELIFECYCLE  Command failed.
@@ -1,12 +1,12 @@
1
1
 
2
- > @autometa/events@0.0.10 test /home/runner/work/autometa/autometa/packages/events
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
-  RUN  v0.29.8 /home/runner/work/autometa/autometa/packages/events/src
6
+ RUN v0.33.0 /Users/ben.aherne/Documents/GitHub/autometa/packages/events/src
7
7
 
8
- include: **/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}
9
- exclude: **/node_modules/**, **/dist/**, **/cypress/**, **/.{idea,git,cache,output,temp}/**, **/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build}.config.*
10
- watch exclude: **/node_modules/**, **/dist/**
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/index.ts
2
- var src_default = {};
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
- src_default as default
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":";AAAA,SAAS,0BAA0B;AACnC,SAAS,QAAQ,QAAQ,SAAS,SAAS;AAC3C,IAAM,YACJ;AACK,IAAM,mBAAmB,OAAO,EAAE,MAAM,SAAS,EAAE,SAAS;AAE5D,IAAM,eAAe,EAAE,MAAM;AAAA,EAClC,QAAQ,QAAQ;AAAA,EAChB,QAAQ,QAAQ;AAAA,EAChB,QAAQ,QAAQ;AAAA,EAChB,QAAQ,SAAS;AACnB,CAAC;AACM,IAAM,qBAAqB,OAAO;AAAA,EACvC,OAAO,OAAO,EAAE,SAAS;AAAA,EACzB,SAAS,OAAO,EAAE,SAAS;AAAA,EAC3B,MAAM,OAAO,EAAE,MAAM,EAAE,SAAS;AAAA,EAChC,UAAU,QAAQ,MAAM,EAAE,GAAG,QAAQ,MAAM,CAAC,EAAE,SAAS;AAAA,EACvD,QAAQ,aAAa,SAAS;AAChC,CAAC;AAEM,IAAM,mBAAmB,mBAAmB,OAAO;AAAA,EACxD,OAAO,EAAE,WAAW,KAAK,EAAE,SAAS;AACtC,CAAC;AACM,IAAM,kBAAkB,mBAAmB,OAAO;AAAA,EACvD,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,SAAS;AACtC,CAAC;AAEM,IAAM,yBAAyB,mBAAmB,OAAO;AAAA,EAC9D,MAAM,OAAO,EAAE,SAAS;AAC1B,CAAC;AAEM,IAAM,uBAAuB;AAE7B,IAAM,oBAAoB;AAE1B,IAAM,iCAAiC;AAKvC,IAAM,+BAA+B;AAErC,IAAM,0BAA0B,mBAAmB,OAAO;AAAA,EAC/D,UAAU,OAAO,EAAE,KAAK,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS;AACvD,CAAC;AAEM,IAAM,wBAAwB;AAE9B,IAAM,sBAAsB,mBAAmB,OAAO;AAAA,EAC3D,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,SAAS;AAAA,EACpC,YAAY,EAAE,WAAW,kBAAkB,EAAE,SAAS;AAAA,EACtD,MAAM,OAAO,EAAE,SAAS;AAC1B,CAAC;AACM,IAAM,oBAAoB,iBAAiB,OAAO;AAAA,EACvD,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,SAAS;AAAA,EACpC,YAAY,EAAE,WAAW,kBAAkB;AAAA,EAC3C,MAAM,OAAO;AACf,CAAC;AACM,IAAM,wBAAwB;AAC9B,IAAM,sBAAsB;AAC5B,IAAM,uBAAuB;AAC7B,IAAM,qBAAqB;AAC3B,IAAM,uBAAuB;AAC7B,IAAM,qBAAqB;AAC3B,IAAM,0BAA0B;AAChC,IAAM,wBAAwB;;;AC5CrC,SAAQ,UAAAA,SAAQ,YAAY,WAAU;AAM/B,IAAM,wBAAwBA,QAAO;AAAA,EAC1C,WAAW,IAAI;AACjB,CAAC;AAwBM,IAAe,qBAAf,MAA6D;AAAA,EAA7D;AAML,8BAAqB,CAAC,aAAyC;AAC7D,WAAK,SAAS,WAAW,KAAK,QAAQ;AAAA,IACxC;AAAA;AAGF;;;AChEA,OAAO,kBAAkB;AAEzB,SAAS,uBAAuB;AACzB,IAAM,cAAN,cAGG,aAAa;AAAA,EACrB,YAAqB,MAAc;AACjC,UAAM;AADa;AAIrB,qBAAY,IAAI,SAAuB;AACrC,WAAK,KAAK,UAAU,KAAK,IAAI,IAAI,GAAG,IAAI;AAAA,IAC1C;AAEA,mBAAU,CAAC,WAA0C;AACnD,UAAI,QAAQ;AACV,aAAK,GAAG,UAAU,KAAK,IAAI,IAAI,WAAW,KAAK,MAAM,MAAM,CAAC;AAAA,MAC9D;AAAA,IACF;AAEA,iBAAQ,CAAC,WAA0C;AACjD,UAAI,QAAQ;AACV,aAAK,GAAG,QAAQ,KAAK,IAAI,IAAI,WAAW,KAAK,MAAM,MAAM,CAAC;AAAA,MAC5D;AAAA,IACF;AAEA,mBAAU,IAAI,SAAqB;AACjC,WAAK,KAAK,QAAQ,KAAK,IAAI,IAAI,GAAG,IAAI;AAAA,IACxC;AAEA,gBAAO,CAAC,SAAc,UAAe;AACnC,WAAK,QAAQ,OAAO;AACpB,WAAK,MAAM,KAAK;AAAA,IAClB;AAAA,EAzBA;AA0BF;AAEA,SAAS,WAAW,MAAc,QAAsC;AACtE,SAAO,IAAI,SAAoB;AAC7B,QAAI;AACF,YAAM,SAAS,OAAO,GAAG,IAAI;AAC7B,UAAK,kBAA8B,SAAS;AAC1C,cAAM,IAAI;AAAA,UACR,sEAAsE,IAAI;AAAA,QAC5E;AAAA,MACF;AAAA,IACF,SAAS,GAAG;AACV,cAAQ;AAAA,QACN,oBAAoB,IAAI,mBAAoB,EAAY,OAAO;AAAA,MACjE;AAAA,IACF;AAAA,EACF;AACF;;;AC9BO,IAAM,mBAAN,MAAuB;AAAA,EAAvB;AACL,2BAAkB,IAAI;AAAA,MACpB;AAAA,IACF;AACA,mBAAU,IAAI,YAA8C,SAAS;AACrE,gBAAO,IAAI,YAAwC,MAAM;AACzD,oBAAW,IAAI,YAAgD,UAAU;AACzE,2BAAkB,IAAI,YAA0B,kBAAkB;AAClE,iBAAQ,IAAI,YAA0C,OAAO;AAC7D,oBAAW,IAAI,YAAgD,UAAU;AACzE,kBAAS,IAAI,YAA4C,QAAQ;AACjE,iBAAQ,IAAI,YAA0C,OAAO;AAC7D,gBAAO,IAAI,YAAwC,MAAM;AAEzD,gBAAO,CAAC;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,MAAuB;AACrB,WAAK,QAAQ,KAAK,gBAAgB,YAAY;AAC9C,WAAK,KAAK,KAAK,aAAa,SAAS;AACrC,WAAK,gBAAgB,KAAK,wBAAwB,oBAAoB;AACtE,WAAK,SAAS,KAAK,iBAAiB,aAAa;AACjD,WAAK,KAAK,KAAK,aAAa,SAAS;AACrC,WAAK,OAAO,KAAK,eAAe,WAAW;AAC3C,WAAK,MAAM,KAAK,cAAc,UAAU;AACxC,WAAK,MAAM,KAAK,cAAc,UAAU;AACxC,WAAK,SAAS,KAAK,iBAAiB,aAAa;AACjD,WAAK,gBAAgB,KAAK,oBAAoB,iBAAiB;AAAA,IACjE;AAAA;AACF;;;ACrEO,IAAM,SAAS;AAAA,EACpB,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AACX;","names":["object"]}