@autometa/events 0.1.2 → 0.1.4
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-test.log +1 -1
- package/CHANGELOG.md +14 -0
- package/dist/esm/index.js +5 -10
- package/dist/esm/index.js.map +1 -1
- package/dist/index.d.cts +42 -44
- package/dist/index.d.ts +42 -44
- package/dist/index.js +5 -10
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
package/.turbo/turbo-test.log
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Gherkin
|
|
2
2
|
|
|
3
|
+
## 0.1.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- ff45dc43: fix(jest-executor): step text was not correctly logged
|
|
8
|
+
|
|
9
|
+
## 0.1.3
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 29ed7239: fix(test-builder): onStepStart event not firing
|
|
14
|
+
- Updated dependencies [29ed7239]
|
|
15
|
+
- @autometa/gherkin@0.4.3
|
|
16
|
+
|
|
3
17
|
## 0.1.2
|
|
4
18
|
|
|
5
19
|
### Patch Changes
|
package/dist/esm/index.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
// src/event-options.ts
|
|
2
|
-
import { CucumberExpression } from "@cucumber/cucumber-expressions";
|
|
3
2
|
import { object, string, literal, z } from "zod";
|
|
4
3
|
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
4
|
var UUIDStringSchema = string().regex(uuidRegex).optional();
|
|
@@ -29,20 +28,16 @@ var EndFeatureOptsSchema = ErrorEventSchema;
|
|
|
29
28
|
var EndRuleOptsSchema = ErrorEventSchema;
|
|
30
29
|
var StartScenarioOutlineOptsSchema = EventOptionsSchema;
|
|
31
30
|
var EndScenarioOutlineOptsSchema = ErrorEventSchema;
|
|
32
|
-
var StartScenarioOptsSchema = EventOptionsSchema
|
|
33
|
-
examples: object({ key: string() }).array().optional()
|
|
34
|
-
});
|
|
31
|
+
var StartScenarioOptsSchema = EventOptionsSchema;
|
|
35
32
|
var EndScenarioOptsSchema = ErrorEventSchema;
|
|
36
33
|
var StartStepOptsSchema = EventOptionsSchema.extend({
|
|
37
34
|
args: z.array(z.unknown()).optional(),
|
|
38
|
-
expression: z.
|
|
39
|
-
text: string().optional()
|
|
35
|
+
expression: z.string().optional()
|
|
40
36
|
});
|
|
41
|
-
var EndStepOptsSchema =
|
|
37
|
+
var EndStepOptsSchema = EventOptionsSchema.extend({
|
|
42
38
|
args: z.array(z.unknown()).optional(),
|
|
43
|
-
expression: z.
|
|
44
|
-
|
|
45
|
-
});
|
|
39
|
+
expression: z.string()
|
|
40
|
+
}).and(ErrorEventSchema);
|
|
46
41
|
var StartBeforeOptsSchema = ArgsEventSchema;
|
|
47
42
|
var EndBeforeOptsSchema = ErrorEventSchema;
|
|
48
43
|
var StartAfterOptsSchema = ArgsEventSchema;
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +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"]}
|
|
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 { 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;\n\nexport const EndScenarioOptsSchema = ErrorEventSchema;\n\nexport const StartStepOptsSchema = EventOptionsSchema.extend({\n args: z.array(z.unknown()).optional(),\n expression: z.string().optional(),\n});\nexport const EndStepOptsSchema = EventOptionsSchema.extend({\n args: z.array(z.unknown()).optional(),\n expression: z.string(),\n}).and(ErrorEventSchema);\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"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import * as _cucumber_cucumber_expressions from '@cucumber/cucumber-expressions';
|
|
2
|
-
import { CucumberExpression } from '@cucumber/cucumber-expressions';
|
|
3
1
|
import * as zod from 'zod';
|
|
4
2
|
import { z } from 'zod';
|
|
5
3
|
import { Class } from '@autometa/types';
|
|
@@ -179,36 +177,23 @@ declare const EndScenarioOutlineOptsSchema: z.ZodObject<{
|
|
|
179
177
|
error?: Error | undefined;
|
|
180
178
|
}>;
|
|
181
179
|
declare const StartScenarioOptsSchema: z.ZodObject<{
|
|
182
|
-
status: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"FAILED">, z.ZodLiteral<"BROKEN">, z.ZodLiteral<"PASSED">, z.ZodLiteral<"SKIPPED">]>>;
|
|
183
180
|
title: z.ZodOptional<z.ZodString>;
|
|
184
181
|
keyword: z.ZodOptional<z.ZodString>;
|
|
185
182
|
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
186
183
|
modifier: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"skip">, z.ZodLiteral<"only">]>>;
|
|
187
|
-
|
|
188
|
-
key: z.ZodString;
|
|
189
|
-
}, "strip", z.ZodTypeAny, {
|
|
190
|
-
key: string;
|
|
191
|
-
}, {
|
|
192
|
-
key: string;
|
|
193
|
-
}>, "many">>;
|
|
184
|
+
status: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"FAILED">, z.ZodLiteral<"BROKEN">, z.ZodLiteral<"PASSED">, z.ZodLiteral<"SKIPPED">]>>;
|
|
194
185
|
}, "strip", z.ZodTypeAny, {
|
|
195
|
-
status?: "FAILED" | "BROKEN" | "PASSED" | "SKIPPED" | undefined;
|
|
196
186
|
title?: string | undefined;
|
|
197
187
|
keyword?: string | undefined;
|
|
198
188
|
tags?: string[] | undefined;
|
|
199
189
|
modifier?: "skip" | "only" | undefined;
|
|
200
|
-
examples?: {
|
|
201
|
-
key: string;
|
|
202
|
-
}[] | undefined;
|
|
203
|
-
}, {
|
|
204
190
|
status?: "FAILED" | "BROKEN" | "PASSED" | "SKIPPED" | undefined;
|
|
191
|
+
}, {
|
|
205
192
|
title?: string | undefined;
|
|
206
193
|
keyword?: string | undefined;
|
|
207
194
|
tags?: string[] | undefined;
|
|
208
195
|
modifier?: "skip" | "only" | undefined;
|
|
209
|
-
|
|
210
|
-
key: string;
|
|
211
|
-
}[] | undefined;
|
|
196
|
+
status?: "FAILED" | "BROKEN" | "PASSED" | "SKIPPED" | undefined;
|
|
212
197
|
}>;
|
|
213
198
|
declare const EndScenarioOptsSchema: z.ZodObject<{
|
|
214
199
|
status: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"FAILED">, z.ZodLiteral<"BROKEN">, z.ZodLiteral<"PASSED">, z.ZodLiteral<"SKIPPED">]>>;
|
|
@@ -239,8 +224,7 @@ declare const StartStepOptsSchema: z.ZodObject<{
|
|
|
239
224
|
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
240
225
|
modifier: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"skip">, z.ZodLiteral<"only">]>>;
|
|
241
226
|
args: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
|
|
242
|
-
expression: z.ZodOptional<z.
|
|
243
|
-
text: z.ZodOptional<z.ZodString>;
|
|
227
|
+
expression: z.ZodOptional<z.ZodString>;
|
|
244
228
|
}, "strip", z.ZodTypeAny, {
|
|
245
229
|
status?: "FAILED" | "BROKEN" | "PASSED" | "SKIPPED" | undefined;
|
|
246
230
|
title?: string | undefined;
|
|
@@ -248,8 +232,7 @@ declare const StartStepOptsSchema: z.ZodObject<{
|
|
|
248
232
|
tags?: string[] | undefined;
|
|
249
233
|
modifier?: "skip" | "only" | undefined;
|
|
250
234
|
args?: unknown[] | undefined;
|
|
251
|
-
expression?:
|
|
252
|
-
text?: string | undefined;
|
|
235
|
+
expression?: string | undefined;
|
|
253
236
|
}, {
|
|
254
237
|
status?: "FAILED" | "BROKEN" | "PASSED" | "SKIPPED" | undefined;
|
|
255
238
|
title?: string | undefined;
|
|
@@ -257,40 +240,54 @@ declare const StartStepOptsSchema: z.ZodObject<{
|
|
|
257
240
|
tags?: string[] | undefined;
|
|
258
241
|
modifier?: "skip" | "only" | undefined;
|
|
259
242
|
args?: unknown[] | undefined;
|
|
260
|
-
expression?:
|
|
261
|
-
text?: string | undefined;
|
|
243
|
+
expression?: string | undefined;
|
|
262
244
|
}>;
|
|
263
|
-
declare const EndStepOptsSchema: z.ZodObject<{
|
|
245
|
+
declare const EndStepOptsSchema: z.ZodIntersection<z.ZodObject<{
|
|
264
246
|
status: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"FAILED">, z.ZodLiteral<"BROKEN">, z.ZodLiteral<"PASSED">, z.ZodLiteral<"SKIPPED">]>>;
|
|
265
|
-
error: z.ZodOptional<z.ZodType<Error, z.ZodTypeDef, Error>>;
|
|
266
247
|
title: z.ZodOptional<z.ZodString>;
|
|
267
248
|
keyword: z.ZodOptional<z.ZodString>;
|
|
268
249
|
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
269
250
|
modifier: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"skip">, z.ZodLiteral<"only">]>>;
|
|
270
251
|
args: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
|
|
271
|
-
expression: z.
|
|
272
|
-
text: z.ZodString;
|
|
252
|
+
expression: z.ZodString;
|
|
273
253
|
}, "strip", z.ZodTypeAny, {
|
|
274
|
-
expression:
|
|
275
|
-
text: string;
|
|
254
|
+
expression: string;
|
|
276
255
|
status?: "FAILED" | "BROKEN" | "PASSED" | "SKIPPED" | undefined;
|
|
277
|
-
error?: Error | undefined;
|
|
278
256
|
title?: string | undefined;
|
|
279
257
|
keyword?: string | undefined;
|
|
280
258
|
tags?: string[] | undefined;
|
|
281
259
|
modifier?: "skip" | "only" | undefined;
|
|
282
260
|
args?: unknown[] | undefined;
|
|
283
261
|
}, {
|
|
284
|
-
expression:
|
|
285
|
-
text: string;
|
|
262
|
+
expression: string;
|
|
286
263
|
status?: "FAILED" | "BROKEN" | "PASSED" | "SKIPPED" | undefined;
|
|
287
|
-
error?: Error | undefined;
|
|
288
264
|
title?: string | undefined;
|
|
289
265
|
keyword?: string | undefined;
|
|
290
266
|
tags?: string[] | undefined;
|
|
291
267
|
modifier?: "skip" | "only" | undefined;
|
|
292
268
|
args?: unknown[] | undefined;
|
|
293
|
-
}
|
|
269
|
+
}>, z.ZodObject<{
|
|
270
|
+
status: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"FAILED">, z.ZodLiteral<"BROKEN">, z.ZodLiteral<"PASSED">, z.ZodLiteral<"SKIPPED">]>>;
|
|
271
|
+
title: z.ZodOptional<z.ZodString>;
|
|
272
|
+
keyword: z.ZodOptional<z.ZodString>;
|
|
273
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
274
|
+
modifier: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"skip">, z.ZodLiteral<"only">]>>;
|
|
275
|
+
error: z.ZodOptional<z.ZodType<Error, z.ZodTypeDef, Error>>;
|
|
276
|
+
}, "strip", z.ZodTypeAny, {
|
|
277
|
+
status?: "FAILED" | "BROKEN" | "PASSED" | "SKIPPED" | undefined;
|
|
278
|
+
title?: string | undefined;
|
|
279
|
+
keyword?: string | undefined;
|
|
280
|
+
tags?: string[] | undefined;
|
|
281
|
+
modifier?: "skip" | "only" | undefined;
|
|
282
|
+
error?: Error | undefined;
|
|
283
|
+
}, {
|
|
284
|
+
status?: "FAILED" | "BROKEN" | "PASSED" | "SKIPPED" | undefined;
|
|
285
|
+
title?: string | undefined;
|
|
286
|
+
keyword?: string | undefined;
|
|
287
|
+
tags?: string[] | undefined;
|
|
288
|
+
modifier?: "skip" | "only" | undefined;
|
|
289
|
+
error?: Error | undefined;
|
|
290
|
+
}>>;
|
|
294
291
|
declare const StartBeforeOptsSchema: z.ZodObject<{
|
|
295
292
|
status: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"FAILED">, z.ZodLiteral<"BROKEN">, z.ZodLiteral<"PASSED">, z.ZodLiteral<"SKIPPED">]>>;
|
|
296
293
|
title: z.ZodOptional<z.ZodString>;
|
|
@@ -584,14 +581,11 @@ declare class TestEventEmitter {
|
|
|
584
581
|
error?: Error | undefined;
|
|
585
582
|
}>;
|
|
586
583
|
scenario: TestEmitter<{
|
|
587
|
-
status?: "FAILED" | "BROKEN" | "PASSED" | "SKIPPED" | undefined;
|
|
588
584
|
title?: string | undefined;
|
|
589
585
|
keyword?: string | undefined;
|
|
590
586
|
tags?: string[] | undefined;
|
|
591
587
|
modifier?: "skip" | "only" | undefined;
|
|
592
|
-
|
|
593
|
-
key: string;
|
|
594
|
-
}[] | undefined;
|
|
588
|
+
status?: "FAILED" | "BROKEN" | "PASSED" | "SKIPPED" | undefined;
|
|
595
589
|
}, {
|
|
596
590
|
status?: "FAILED" | "BROKEN" | "PASSED" | "SKIPPED" | undefined;
|
|
597
591
|
title?: string | undefined;
|
|
@@ -668,18 +662,22 @@ declare class TestEventEmitter {
|
|
|
668
662
|
tags?: string[] | undefined;
|
|
669
663
|
modifier?: "skip" | "only" | undefined;
|
|
670
664
|
args?: unknown[] | undefined;
|
|
671
|
-
expression?:
|
|
672
|
-
text?: string | undefined;
|
|
665
|
+
expression?: string | undefined;
|
|
673
666
|
}, {
|
|
674
|
-
expression:
|
|
675
|
-
text: string;
|
|
667
|
+
expression: string;
|
|
676
668
|
status?: "FAILED" | "BROKEN" | "PASSED" | "SKIPPED" | undefined;
|
|
677
|
-
error?: Error | undefined;
|
|
678
669
|
title?: string | undefined;
|
|
679
670
|
keyword?: string | undefined;
|
|
680
671
|
tags?: string[] | undefined;
|
|
681
672
|
modifier?: "skip" | "only" | undefined;
|
|
682
673
|
args?: unknown[] | undefined;
|
|
674
|
+
} & {
|
|
675
|
+
status?: "FAILED" | "BROKEN" | "PASSED" | "SKIPPED" | undefined;
|
|
676
|
+
title?: string | undefined;
|
|
677
|
+
keyword?: string | undefined;
|
|
678
|
+
tags?: string[] | undefined;
|
|
679
|
+
modifier?: "skip" | "only" | undefined;
|
|
680
|
+
error?: Error | undefined;
|
|
683
681
|
}>;
|
|
684
682
|
load: ({ onFeatureStart, onFeatureEnd, onScenarioOutlineStart, onScenarioOutlineEnd, onScenarioStart, onScenarioEnd, onRuleStart, onRuleEnd, onBeforeStart, onBeforeEnd, onSetupStart, onSetupEnd, onStepStart, onStepEnd, onAfterStart, onAfterEnd, onTeardownStart, onTeardownEnd, onPreScenarioStart, onPostScenarioEnd, }: EventSubscriber) => void;
|
|
685
683
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import * as _cucumber_cucumber_expressions from '@cucumber/cucumber-expressions';
|
|
2
|
-
import { CucumberExpression } from '@cucumber/cucumber-expressions';
|
|
3
1
|
import * as zod from 'zod';
|
|
4
2
|
import { z } from 'zod';
|
|
5
3
|
import { Class } from '@autometa/types';
|
|
@@ -179,36 +177,23 @@ declare const EndScenarioOutlineOptsSchema: z.ZodObject<{
|
|
|
179
177
|
error?: Error | undefined;
|
|
180
178
|
}>;
|
|
181
179
|
declare const StartScenarioOptsSchema: z.ZodObject<{
|
|
182
|
-
status: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"FAILED">, z.ZodLiteral<"BROKEN">, z.ZodLiteral<"PASSED">, z.ZodLiteral<"SKIPPED">]>>;
|
|
183
180
|
title: z.ZodOptional<z.ZodString>;
|
|
184
181
|
keyword: z.ZodOptional<z.ZodString>;
|
|
185
182
|
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
186
183
|
modifier: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"skip">, z.ZodLiteral<"only">]>>;
|
|
187
|
-
|
|
188
|
-
key: z.ZodString;
|
|
189
|
-
}, "strip", z.ZodTypeAny, {
|
|
190
|
-
key: string;
|
|
191
|
-
}, {
|
|
192
|
-
key: string;
|
|
193
|
-
}>, "many">>;
|
|
184
|
+
status: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"FAILED">, z.ZodLiteral<"BROKEN">, z.ZodLiteral<"PASSED">, z.ZodLiteral<"SKIPPED">]>>;
|
|
194
185
|
}, "strip", z.ZodTypeAny, {
|
|
195
|
-
status?: "FAILED" | "BROKEN" | "PASSED" | "SKIPPED" | undefined;
|
|
196
186
|
title?: string | undefined;
|
|
197
187
|
keyword?: string | undefined;
|
|
198
188
|
tags?: string[] | undefined;
|
|
199
189
|
modifier?: "skip" | "only" | undefined;
|
|
200
|
-
examples?: {
|
|
201
|
-
key: string;
|
|
202
|
-
}[] | undefined;
|
|
203
|
-
}, {
|
|
204
190
|
status?: "FAILED" | "BROKEN" | "PASSED" | "SKIPPED" | undefined;
|
|
191
|
+
}, {
|
|
205
192
|
title?: string | undefined;
|
|
206
193
|
keyword?: string | undefined;
|
|
207
194
|
tags?: string[] | undefined;
|
|
208
195
|
modifier?: "skip" | "only" | undefined;
|
|
209
|
-
|
|
210
|
-
key: string;
|
|
211
|
-
}[] | undefined;
|
|
196
|
+
status?: "FAILED" | "BROKEN" | "PASSED" | "SKIPPED" | undefined;
|
|
212
197
|
}>;
|
|
213
198
|
declare const EndScenarioOptsSchema: z.ZodObject<{
|
|
214
199
|
status: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"FAILED">, z.ZodLiteral<"BROKEN">, z.ZodLiteral<"PASSED">, z.ZodLiteral<"SKIPPED">]>>;
|
|
@@ -239,8 +224,7 @@ declare const StartStepOptsSchema: z.ZodObject<{
|
|
|
239
224
|
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
240
225
|
modifier: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"skip">, z.ZodLiteral<"only">]>>;
|
|
241
226
|
args: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
|
|
242
|
-
expression: z.ZodOptional<z.
|
|
243
|
-
text: z.ZodOptional<z.ZodString>;
|
|
227
|
+
expression: z.ZodOptional<z.ZodString>;
|
|
244
228
|
}, "strip", z.ZodTypeAny, {
|
|
245
229
|
status?: "FAILED" | "BROKEN" | "PASSED" | "SKIPPED" | undefined;
|
|
246
230
|
title?: string | undefined;
|
|
@@ -248,8 +232,7 @@ declare const StartStepOptsSchema: z.ZodObject<{
|
|
|
248
232
|
tags?: string[] | undefined;
|
|
249
233
|
modifier?: "skip" | "only" | undefined;
|
|
250
234
|
args?: unknown[] | undefined;
|
|
251
|
-
expression?:
|
|
252
|
-
text?: string | undefined;
|
|
235
|
+
expression?: string | undefined;
|
|
253
236
|
}, {
|
|
254
237
|
status?: "FAILED" | "BROKEN" | "PASSED" | "SKIPPED" | undefined;
|
|
255
238
|
title?: string | undefined;
|
|
@@ -257,40 +240,54 @@ declare const StartStepOptsSchema: z.ZodObject<{
|
|
|
257
240
|
tags?: string[] | undefined;
|
|
258
241
|
modifier?: "skip" | "only" | undefined;
|
|
259
242
|
args?: unknown[] | undefined;
|
|
260
|
-
expression?:
|
|
261
|
-
text?: string | undefined;
|
|
243
|
+
expression?: string | undefined;
|
|
262
244
|
}>;
|
|
263
|
-
declare const EndStepOptsSchema: z.ZodObject<{
|
|
245
|
+
declare const EndStepOptsSchema: z.ZodIntersection<z.ZodObject<{
|
|
264
246
|
status: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"FAILED">, z.ZodLiteral<"BROKEN">, z.ZodLiteral<"PASSED">, z.ZodLiteral<"SKIPPED">]>>;
|
|
265
|
-
error: z.ZodOptional<z.ZodType<Error, z.ZodTypeDef, Error>>;
|
|
266
247
|
title: z.ZodOptional<z.ZodString>;
|
|
267
248
|
keyword: z.ZodOptional<z.ZodString>;
|
|
268
249
|
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
269
250
|
modifier: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"skip">, z.ZodLiteral<"only">]>>;
|
|
270
251
|
args: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
|
|
271
|
-
expression: z.
|
|
272
|
-
text: z.ZodString;
|
|
252
|
+
expression: z.ZodString;
|
|
273
253
|
}, "strip", z.ZodTypeAny, {
|
|
274
|
-
expression:
|
|
275
|
-
text: string;
|
|
254
|
+
expression: string;
|
|
276
255
|
status?: "FAILED" | "BROKEN" | "PASSED" | "SKIPPED" | undefined;
|
|
277
|
-
error?: Error | undefined;
|
|
278
256
|
title?: string | undefined;
|
|
279
257
|
keyword?: string | undefined;
|
|
280
258
|
tags?: string[] | undefined;
|
|
281
259
|
modifier?: "skip" | "only" | undefined;
|
|
282
260
|
args?: unknown[] | undefined;
|
|
283
261
|
}, {
|
|
284
|
-
expression:
|
|
285
|
-
text: string;
|
|
262
|
+
expression: string;
|
|
286
263
|
status?: "FAILED" | "BROKEN" | "PASSED" | "SKIPPED" | undefined;
|
|
287
|
-
error?: Error | undefined;
|
|
288
264
|
title?: string | undefined;
|
|
289
265
|
keyword?: string | undefined;
|
|
290
266
|
tags?: string[] | undefined;
|
|
291
267
|
modifier?: "skip" | "only" | undefined;
|
|
292
268
|
args?: unknown[] | undefined;
|
|
293
|
-
}
|
|
269
|
+
}>, z.ZodObject<{
|
|
270
|
+
status: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"FAILED">, z.ZodLiteral<"BROKEN">, z.ZodLiteral<"PASSED">, z.ZodLiteral<"SKIPPED">]>>;
|
|
271
|
+
title: z.ZodOptional<z.ZodString>;
|
|
272
|
+
keyword: z.ZodOptional<z.ZodString>;
|
|
273
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
274
|
+
modifier: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"skip">, z.ZodLiteral<"only">]>>;
|
|
275
|
+
error: z.ZodOptional<z.ZodType<Error, z.ZodTypeDef, Error>>;
|
|
276
|
+
}, "strip", z.ZodTypeAny, {
|
|
277
|
+
status?: "FAILED" | "BROKEN" | "PASSED" | "SKIPPED" | undefined;
|
|
278
|
+
title?: string | undefined;
|
|
279
|
+
keyword?: string | undefined;
|
|
280
|
+
tags?: string[] | undefined;
|
|
281
|
+
modifier?: "skip" | "only" | undefined;
|
|
282
|
+
error?: Error | undefined;
|
|
283
|
+
}, {
|
|
284
|
+
status?: "FAILED" | "BROKEN" | "PASSED" | "SKIPPED" | undefined;
|
|
285
|
+
title?: string | undefined;
|
|
286
|
+
keyword?: string | undefined;
|
|
287
|
+
tags?: string[] | undefined;
|
|
288
|
+
modifier?: "skip" | "only" | undefined;
|
|
289
|
+
error?: Error | undefined;
|
|
290
|
+
}>>;
|
|
294
291
|
declare const StartBeforeOptsSchema: z.ZodObject<{
|
|
295
292
|
status: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"FAILED">, z.ZodLiteral<"BROKEN">, z.ZodLiteral<"PASSED">, z.ZodLiteral<"SKIPPED">]>>;
|
|
296
293
|
title: z.ZodOptional<z.ZodString>;
|
|
@@ -584,14 +581,11 @@ declare class TestEventEmitter {
|
|
|
584
581
|
error?: Error | undefined;
|
|
585
582
|
}>;
|
|
586
583
|
scenario: TestEmitter<{
|
|
587
|
-
status?: "FAILED" | "BROKEN" | "PASSED" | "SKIPPED" | undefined;
|
|
588
584
|
title?: string | undefined;
|
|
589
585
|
keyword?: string | undefined;
|
|
590
586
|
tags?: string[] | undefined;
|
|
591
587
|
modifier?: "skip" | "only" | undefined;
|
|
592
|
-
|
|
593
|
-
key: string;
|
|
594
|
-
}[] | undefined;
|
|
588
|
+
status?: "FAILED" | "BROKEN" | "PASSED" | "SKIPPED" | undefined;
|
|
595
589
|
}, {
|
|
596
590
|
status?: "FAILED" | "BROKEN" | "PASSED" | "SKIPPED" | undefined;
|
|
597
591
|
title?: string | undefined;
|
|
@@ -668,18 +662,22 @@ declare class TestEventEmitter {
|
|
|
668
662
|
tags?: string[] | undefined;
|
|
669
663
|
modifier?: "skip" | "only" | undefined;
|
|
670
664
|
args?: unknown[] | undefined;
|
|
671
|
-
expression?:
|
|
672
|
-
text?: string | undefined;
|
|
665
|
+
expression?: string | undefined;
|
|
673
666
|
}, {
|
|
674
|
-
expression:
|
|
675
|
-
text: string;
|
|
667
|
+
expression: string;
|
|
676
668
|
status?: "FAILED" | "BROKEN" | "PASSED" | "SKIPPED" | undefined;
|
|
677
|
-
error?: Error | undefined;
|
|
678
669
|
title?: string | undefined;
|
|
679
670
|
keyword?: string | undefined;
|
|
680
671
|
tags?: string[] | undefined;
|
|
681
672
|
modifier?: "skip" | "only" | undefined;
|
|
682
673
|
args?: unknown[] | undefined;
|
|
674
|
+
} & {
|
|
675
|
+
status?: "FAILED" | "BROKEN" | "PASSED" | "SKIPPED" | undefined;
|
|
676
|
+
title?: string | undefined;
|
|
677
|
+
keyword?: string | undefined;
|
|
678
|
+
tags?: string[] | undefined;
|
|
679
|
+
modifier?: "skip" | "only" | undefined;
|
|
680
|
+
error?: Error | undefined;
|
|
683
681
|
}>;
|
|
684
682
|
load: ({ onFeatureStart, onFeatureEnd, onScenarioOutlineStart, onScenarioOutlineEnd, onScenarioStart, onScenarioEnd, onRuleStart, onRuleEnd, onBeforeStart, onBeforeEnd, onSetupStart, onSetupEnd, onStepStart, onStepEnd, onAfterStart, onAfterEnd, onTeardownStart, onTeardownEnd, onPreScenarioStart, onPostScenarioEnd, }: EventSubscriber) => void;
|
|
685
683
|
}
|
package/dist/index.js
CHANGED
|
@@ -61,7 +61,6 @@ __export(src_exports, {
|
|
|
61
61
|
module.exports = __toCommonJS(src_exports);
|
|
62
62
|
|
|
63
63
|
// src/event-options.ts
|
|
64
|
-
var import_cucumber_expressions = require("@cucumber/cucumber-expressions");
|
|
65
64
|
var import_zod = require("zod");
|
|
66
65
|
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;
|
|
67
66
|
var UUIDStringSchema = (0, import_zod.string)().regex(uuidRegex).optional();
|
|
@@ -91,20 +90,16 @@ var EndFeatureOptsSchema = ErrorEventSchema;
|
|
|
91
90
|
var EndRuleOptsSchema = ErrorEventSchema;
|
|
92
91
|
var StartScenarioOutlineOptsSchema = EventOptionsSchema;
|
|
93
92
|
var EndScenarioOutlineOptsSchema = ErrorEventSchema;
|
|
94
|
-
var StartScenarioOptsSchema = EventOptionsSchema
|
|
95
|
-
examples: (0, import_zod.object)({ key: (0, import_zod.string)() }).array().optional()
|
|
96
|
-
});
|
|
93
|
+
var StartScenarioOptsSchema = EventOptionsSchema;
|
|
97
94
|
var EndScenarioOptsSchema = ErrorEventSchema;
|
|
98
95
|
var StartStepOptsSchema = EventOptionsSchema.extend({
|
|
99
96
|
args: import_zod.z.array(import_zod.z.unknown()).optional(),
|
|
100
|
-
expression: import_zod.z.
|
|
101
|
-
text: (0, import_zod.string)().optional()
|
|
97
|
+
expression: import_zod.z.string().optional()
|
|
102
98
|
});
|
|
103
|
-
var EndStepOptsSchema =
|
|
99
|
+
var EndStepOptsSchema = EventOptionsSchema.extend({
|
|
104
100
|
args: import_zod.z.array(import_zod.z.unknown()).optional(),
|
|
105
|
-
expression: import_zod.z.
|
|
106
|
-
|
|
107
|
-
});
|
|
101
|
+
expression: import_zod.z.string()
|
|
102
|
+
}).and(ErrorEventSchema);
|
|
108
103
|
var StartBeforeOptsSchema = ArgsEventSchema;
|
|
109
104
|
var EndBeforeOptsSchema = ErrorEventSchema;
|
|
110
105
|
var StartAfterOptsSchema = ArgsEventSchema;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/event-options.ts","../src/event-subscriber.ts","../src/test-emitter.ts","../src/test-event-emitter.ts","../src/test-status.ts"],"sourcesContent":["export * from './event-options'\nexport * from './event-subscriber'\nexport * from './test-event-emitter'\nexport * from './test-emitter'\nexport * from './test-status'","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":["import_zod","fun","EventEmitter"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/event-options.ts","../src/event-subscriber.ts","../src/test-emitter.ts","../src/test-event-emitter.ts","../src/test-status.ts"],"sourcesContent":["export * from './event-options'\nexport * from './event-subscriber'\nexport * from './test-event-emitter'\nexport * from './test-emitter'\nexport * from './test-status'","import { 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;\n\nexport const EndScenarioOptsSchema = ErrorEventSchema;\n\nexport const StartStepOptsSchema = EventOptionsSchema.extend({\n args: z.array(z.unknown()).optional(),\n expression: z.string().optional(),\n});\nexport const EndStepOptsSchema = EventOptionsSchema.extend({\n args: z.array(z.unknown()).optional(),\n expression: z.string(),\n}).and(ErrorEventSchema);\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":["import_zod","fun","EventEmitter"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@autometa/events",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -39,8 +39,8 @@
|
|
|
39
39
|
"webpack": "^5.77.0",
|
|
40
40
|
"webpack-cli": "^5.0.1",
|
|
41
41
|
"webpack-node-externals": "^3.0.0",
|
|
42
|
-
"
|
|
43
|
-
"
|
|
42
|
+
"eslint-config-custom": "0.6.0",
|
|
43
|
+
"tsconfig": "0.7.0"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
46
|
"@cucumber/messages": "^21.0.1",
|
|
@@ -49,8 +49,8 @@
|
|
|
49
49
|
"uuid": "^9.0.0",
|
|
50
50
|
"zod": "^3.21.4",
|
|
51
51
|
"@autometa/errors": "^0.1.1",
|
|
52
|
-
"@autometa/
|
|
53
|
-
"@autometa/
|
|
52
|
+
"@autometa/gherkin": "0.4.3",
|
|
53
|
+
"@autometa/types": "0.4.0"
|
|
54
54
|
},
|
|
55
55
|
"scripts": {
|
|
56
56
|
"test": "vitest run --passWithNoTests",
|