effect-bdd 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/README.md +14 -0
  2. package/dist/Bdd.d.ts +0 -1
  3. package/dist/Bdd.js +1 -2
  4. package/dist/Errors.d.ts +0 -1
  5. package/dist/Errors.js +1 -2
  6. package/dist/bin.d.ts +0 -1
  7. package/dist/bin.js +1 -2
  8. package/dist/index.d.ts +0 -1
  9. package/dist/index.js +1 -2
  10. package/dist/internal/cli/errors.d.ts +0 -1
  11. package/dist/internal/cli/errors.js +1 -2
  12. package/dist/internal/cli/glob.d.ts +0 -1
  13. package/dist/internal/cli/glob.js +1 -2
  14. package/dist/internal/cli/loaders.d.ts +0 -1
  15. package/dist/internal/cli/loaders.js +1 -2
  16. package/dist/internal/cli/models.d.ts +0 -1
  17. package/dist/internal/cli/models.js +1 -2
  18. package/dist/internal/cli/moduleLoader.d.ts +0 -1
  19. package/dist/internal/cli/moduleLoader.js +1 -2
  20. package/dist/internal/cli/reporter.d.ts +0 -1
  21. package/dist/internal/cli/reporter.js +1 -2
  22. package/dist/internal/cli/runner.d.ts +0 -1
  23. package/dist/internal/cli/runner.js +1 -2
  24. package/dist/internal/cli/tagExpression.d.ts +0 -1
  25. package/dist/internal/cli/tagExpression.js +1 -2
  26. package/dist/internal/cucumberCompiler.d.ts +0 -1
  27. package/dist/internal/cucumberCompiler.js +1 -2
  28. package/dist/internal/expression.d.ts +0 -1
  29. package/dist/internal/expression.js +1 -2
  30. package/dist/internal/matching.d.ts +0 -1
  31. package/dist/internal/matching.js +1 -2
  32. package/dist/internal/parser.d.ts +0 -1
  33. package/dist/internal/parser.js +1 -2
  34. package/dist/internal/runner.d.ts +0 -1
  35. package/dist/internal/runner.js +1 -2
  36. package/dist/main.d.ts +0 -1
  37. package/dist/main.js +1 -2
  38. package/package.json +4 -10
  39. package/dist/Bdd.d.ts.map +0 -1
  40. package/dist/Bdd.js.map +0 -1
  41. package/dist/Errors.d.ts.map +0 -1
  42. package/dist/Errors.js.map +0 -1
  43. package/dist/bin.d.ts.map +0 -1
  44. package/dist/bin.js.map +0 -1
  45. package/dist/index.d.ts.map +0 -1
  46. package/dist/index.js.map +0 -1
  47. package/dist/internal/cli/errors.d.ts.map +0 -1
  48. package/dist/internal/cli/errors.js.map +0 -1
  49. package/dist/internal/cli/glob.d.ts.map +0 -1
  50. package/dist/internal/cli/glob.js.map +0 -1
  51. package/dist/internal/cli/loaders.d.ts.map +0 -1
  52. package/dist/internal/cli/loaders.js.map +0 -1
  53. package/dist/internal/cli/models.d.ts.map +0 -1
  54. package/dist/internal/cli/models.js.map +0 -1
  55. package/dist/internal/cli/moduleLoader.d.ts.map +0 -1
  56. package/dist/internal/cli/moduleLoader.js.map +0 -1
  57. package/dist/internal/cli/reporter.d.ts.map +0 -1
  58. package/dist/internal/cli/reporter.js.map +0 -1
  59. package/dist/internal/cli/runner.d.ts.map +0 -1
  60. package/dist/internal/cli/runner.js.map +0 -1
  61. package/dist/internal/cli/tagExpression.d.ts.map +0 -1
  62. package/dist/internal/cli/tagExpression.js.map +0 -1
  63. package/dist/internal/cucumberCompiler.d.ts.map +0 -1
  64. package/dist/internal/cucumberCompiler.js.map +0 -1
  65. package/dist/internal/expression.d.ts.map +0 -1
  66. package/dist/internal/expression.js.map +0 -1
  67. package/dist/internal/matching.d.ts.map +0 -1
  68. package/dist/internal/matching.js.map +0 -1
  69. package/dist/internal/parser.d.ts.map +0 -1
  70. package/dist/internal/parser.js.map +0 -1
  71. package/dist/internal/runner.d.ts.map +0 -1
  72. package/dist/internal/runner.js.map +0 -1
  73. package/dist/main.d.ts.map +0 -1
  74. package/dist/main.js.map +0 -1
  75. package/src/Bdd.ts +0 -575
  76. package/src/Errors.ts +0 -60
  77. package/src/bin.ts +0 -10
  78. package/src/index.ts +0 -155
  79. package/src/internal/cli/errors.ts +0 -20
  80. package/src/internal/cli/glob.ts +0 -37
  81. package/src/internal/cli/loaders.ts +0 -100
  82. package/src/internal/cli/models.ts +0 -118
  83. package/src/internal/cli/moduleLoader.ts +0 -41
  84. package/src/internal/cli/reporter.ts +0 -367
  85. package/src/internal/cli/runner.ts +0 -336
  86. package/src/internal/cli/tagExpression.ts +0 -173
  87. package/src/internal/cucumberCompiler.ts +0 -58
  88. package/src/internal/expression.ts +0 -103
  89. package/src/internal/matching.ts +0 -81
  90. package/src/internal/parser.ts +0 -155
  91. package/src/internal/runner.ts +0 -373
  92. package/src/main.ts +0 -169
@@ -1 +0,0 @@
1
- {"version":3,"file":"parser.js","names":["Context","Effect","pipe","Option","ParseError","GherkinCompiler","Service","parse","source","uri","flatMap","compiler","compile","toFeature","fnUntraced","parsed","feature","document","undefined","parseError","pickles","length","location","line","column","indexDocument","name","steps","Map","scenarios","child","children","background","indexBackground","scenario","indexScenario","rule","ruleChild","step","set","id","findScenario","pickle","index","astNodeIds","liftPredicate","ids","fromNullishOr","find","has","get","findStep","pickleStep","map","stepLine","stepKeyword","normalizeKeyword","keyword","trimmed","trim","message","fail"],"sources":["../../src/internal/parser.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/internal/runner.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"runner.js","names":["Arr","Effect","pipe","Option","Record","Schema","MatchError","ParseError","StepError","Matching","Parser","decodeTable","row","decode","decodeUnknownEffect","table","headers","rows","map","cells","cell","value","undefined","succeed","forEach","rowObject","decodeDocString","schema","docString","content","run","featureDefinition","source","parse","flatMap","feature","validateFeatureDefinition","buildScenarioTasks","runScenarioTask","scenarios","name","void","fail","message","scenario","step","line","candidates","pickles","pickle","scenarioIndex","findScenario","rule","getOrUndefined","featureName","scenarioName","scenarioLine","location","getOrElse","ruleName","ruleLine","tags","tag","task","runSteps","steps","initial","as","length","state","index","runStep","stepKind","kind","resolve","transition","captures","decodeArgument","argument","mapError","cause","text","stepLine","expression","hasStepArgument","failMatch","_tag","dataTable","matchError","textMatches","matchingTextTransitions","transitions","matches","matchingKeywordTransitions","match","onEmpty","renderTransitionKinds","onNonEmpty","headNonEmpty","header","fromEntries","concreteStepKind","onNone","stepKeyword","column","onSome"],"sources":["../../src/internal/runner.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,gBAAgB;AAChB,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAA;AACxD,OAAO,KAAK,OAAO,MAAM,6BAA6B,CAAA;AA4EtD,gBAAgB;AAChB,eAAO,MAAM,GAAG;;;;;;;;;;;;;+FAwEf,CAAA;AAED,gBAAgB;AAChB,eAAO,MAAM,GAAG,6DAEd,CAAA"}
package/dist/main.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"main.js","names":["Effect","Layer","Option","CliError","Command","Flag","PackageJson","type","GlobResolver","ModuleLoader","Reporter","Runner","CucumberCompiler","features","string","pipe","withAlias","withDescription","between","Infinity","steps","reporter","choice","outputFileText","file","optional","outputFileHtml","outputFileJson","outputFileJunit","parallel","integer","filter","value","withDefault","verbose","boolean","tags","name","failFast","cli","make","fnUntraced","options","reporters","length","outputFiles","isSome","text","html","json","junit","filters","names","makeReporters","mapError","toUserError","result","run","emitAll","summary","failed","diagnostics","fail","UserError","cause","provide","mergeAll","Live","Cucumber","version","error","renderUserError","message","String"],"sources":["../src/main.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/src/Bdd.ts DELETED
@@ -1,575 +0,0 @@
1
- /**
2
- * @since 4.0.0
3
- */
4
- import type * as Effect from "effect/Effect"
5
- import { type Pipeable, pipeArguments } from "effect/Pipeable"
6
- import type * as Schema from "effect/Schema"
7
- import { MatchError, ParseError, StepError } from "./Errors.ts"
8
- import * as cucumberCompiler from "./internal/cucumberCompiler.ts"
9
- import * as expression from "./internal/expression.ts"
10
- import * as parser from "./internal/parser.ts"
11
- import * as runner from "./internal/runner.ts"
12
-
13
- /**
14
- * Error type returned by `Bdd.run`.
15
- *
16
- * @category errors
17
- * @since 4.0.0
18
- */
19
- export type RunError = ParseError | MatchError | StepError
20
-
21
- /**
22
- * Service used to compile Gherkin source into executable scenarios.
23
- *
24
- * **Details**
25
- *
26
- * The built-in `Cucumber` layer uses Cucumber's parser and Pickle compiler.
27
- * Custom implementations must preserve the compiled step, argument, tag, and
28
- * source-location semantics expected by the runner.
29
- *
30
- * @category services
31
- * @since 4.0.0
32
- */
33
- export const GherkinCompiler = Object.assign(parser.GherkinCompiler, {
34
- Cucumber: cucumberCompiler.Cucumber
35
- })
36
-
37
- /**
38
- * Service used to compile Gherkin source into executable scenarios.
39
- *
40
- * **Details**
41
- *
42
- * The built-in `Cucumber` layer uses Cucumber's parser and Pickle compiler.
43
- * Custom implementations must preserve the compiled step, argument, tag, and
44
- * source-location semantics expected by the runner.
45
- *
46
- * @category services
47
- * @since 4.0.0
48
- */
49
- export type GherkinCompiler = parser.GherkinCompiler
50
-
51
- /**
52
- * Advanced keyword metadata attached to a transition.
53
- *
54
- * @category models
55
- * @since 4.0.0
56
- */
57
- export type StepKind = "Step" | "Given" | "When" | "Then"
58
-
59
- /**
60
- * A named capture decoded from step text with a Schema.
61
- *
62
- * @category utility types
63
- * @since 4.0.0
64
- */
65
- export type Capture<Name extends string, A> = expression.Capture<Name, A>
66
-
67
- /**
68
- * Advanced type helper that maps capture definitions to decoded values.
69
- *
70
- * @category utility types
71
- * @since 4.0.0
72
- */
73
- export type CapturesOf<Captures extends ReadonlyArray<Capture<string, unknown>>> = {
74
- readonly [Capture in Captures[number] as Capture["name"]]: Capture extends expression.Capture<string, infer A> ? A
75
- : never
76
- }
77
-
78
- /**
79
- * Advanced matcher type for a compiled step expression.
80
- *
81
- * @category utility types
82
- * @since 4.0.0
83
- */
84
- export type Expression<A> = expression.Matcher<A>
85
-
86
- /**
87
- * A decoded DataTable argument.
88
- *
89
- * @category models
90
- * @since 4.0.0
91
- */
92
- export interface TableArg<A> {
93
- readonly _tag: "TableArg"
94
- readonly decode: (table: runner.DataTableInput) => Effect.Effect<A, unknown>
95
- }
96
-
97
- /**
98
- * A decoded DocString argument.
99
- *
100
- * @category models
101
- * @since 4.0.0
102
- */
103
- export interface DocStringArg<A> {
104
- readonly _tag: "DocStringArg"
105
- readonly decode: (docString: runner.DocStringInput) => Effect.Effect<A, unknown>
106
- }
107
-
108
- /**
109
- * Advanced union of decoded step argument descriptors.
110
- *
111
- * @category models
112
- * @since 4.0.0
113
- */
114
- export type StepArg<A> = TableArg<A> | DocStringArg<A>
115
-
116
- /**
117
- * Advanced model for a transition registered on a feature definition.
118
- *
119
- * @category models
120
- * @since 4.0.0
121
- */
122
- export interface Transition<State, E, R, Captures = unknown, Argument = unknown> {
123
- readonly kind: StepKind
124
- readonly expression: Expression<Captures>
125
- readonly argument?: StepArg<Argument>
126
- readonly run: (captures: Captures, argument: Argument, state: State) => Effect.Effect<State, E, R>
127
- }
128
-
129
- /**
130
- * Existential transition type stored by feature definitions.
131
- *
132
- * **Details**
133
- *
134
- * A feature can contain many transitions with different capture and step
135
- * argument shapes. The public constructors keep those shapes typed at the
136
- * handler boundary, while the runtime matcher stores transitions through this
137
- * existential type.
138
- *
139
- * @category models
140
- * @since 4.0.0
141
- */
142
- export type AnyTransition<State, E, R> = Transition<State, E, R, any, any>
143
-
144
- /**
145
- * A local immutable feature definition used to interpret scenarios from Gherkin source.
146
- *
147
- * @category models
148
- * @since 4.0.0
149
- */
150
- export interface Feature<State, E = never, R = never> extends Pipeable {
151
- readonly _tag: "Feature"
152
- readonly name: string
153
- readonly initial: State
154
- readonly transitions: ReadonlyArray<AnyTransition<State, E, R>>
155
- }
156
-
157
- /**
158
- * Result returned after all scenarios pass.
159
- *
160
- * @category models
161
- * @since 4.0.0
162
- */
163
- export interface Report {
164
- readonly feature: string
165
- readonly scenarios: ReadonlyArray<{
166
- readonly name: string
167
- readonly steps: number
168
- readonly tags: ReadonlyArray<string>
169
- }>
170
- }
171
-
172
- type FeatureType<State, E, R> = Feature<State, E, R>
173
- type ReportType = Report
174
- type RunErrorType = RunError
175
- type GherkinCompilerType = GherkinCompiler
176
- type CaptureType<Name extends string, A> = Capture<Name, A>
177
- type TableArgType<A> = TableArg<A>
178
- type DocStringArgType<A> = DocStringArg<A>
179
-
180
- /**
181
- * Creates a named capture decoded from step text.
182
- *
183
- * **When to use**
184
- *
185
- * Use a capture when a Gherkin step contains a value that should be decoded
186
- * before it reaches the step implementation.
187
- *
188
- * **Example** (Capturing a number)
189
- *
190
- * ```ts
191
- * import { Bdd } from "effect-bdd"
192
- * import { Schema } from "effect"
193
- *
194
- * const qty = Bdd.capture("qty", Schema.FiniteFromString)
195
- *
196
- * const step = Bdd.when`${qty} items are added`
197
- * ```
198
- *
199
- * @category constructors
200
- * @since 4.0.0
201
- */
202
- const capture_: <const Name extends string, A>(
203
- name: Name,
204
- schema: Schema.Codec<A, string>
205
- ) => Capture<Name, A> = expression.makeCapture
206
-
207
- /**
208
- * Creates a DataTable decoder from a row Schema.
209
- *
210
- * **Details**
211
- *
212
- * The first row of the Gherkin table is interpreted as the header row. Each
213
- * following row is converted into an object and decoded with the supplied
214
- * Schema.
215
- *
216
- * **Example** (Decoding table rows)
217
- *
218
- * ```ts
219
- * import { Bdd } from "effect-bdd"
220
- * import { Schema } from "effect"
221
- *
222
- * const Item = Schema.Struct({
223
- * sku: Schema.String,
224
- * qty: Schema.FiniteFromString
225
- * })
226
- *
227
- * const items = Bdd.table(Item)
228
- * ```
229
- *
230
- * @category constructors
231
- * @since 4.0.0
232
- */
233
- const table_ = <S extends Schema.Decoder<unknown, never>>(row: S): TableArg<ReadonlyArray<S["Type"]>> => ({
234
- _tag: "TableArg",
235
- decode: runner.decodeTable(row)
236
- })
237
-
238
- /**
239
- * Creates a DocString decoder from a Schema.
240
- *
241
- * **When to use**
242
- *
243
- * Use `docString` for larger step arguments, such as JSON payloads or plain
244
- * text blocks, that should be decoded before the step implementation runs.
245
- *
246
- * **Example** (Decoding JSON)
247
- *
248
- * ```ts
249
- * import { Bdd } from "effect-bdd"
250
- * import { Schema } from "effect"
251
- *
252
- * const Payload = Schema.Struct({
253
- * sku: Schema.String,
254
- * qty: Schema.Number
255
- * })
256
- *
257
- * const payload = Bdd.docString(Schema.fromJsonString(Payload))
258
- * ```
259
- *
260
- * @category constructors
261
- * @since 4.0.0
262
- */
263
- const docString_ = <S extends Schema.Decoder<unknown, never>>(schema: S): DocStringArg<S["Type"]> => ({
264
- _tag: "DocStringArg",
265
- decode: runner.decodeDocString(schema)
266
- })
267
-
268
- /**
269
- * Creates a feature definition with an explicit initial state.
270
- *
271
- * **Details**
272
- *
273
- * A feature definition is an immutable state machine. Each registered step
274
- * receives the current state and returns the next state in an `Effect`.
275
- *
276
- * **Example** (Building a feature)
277
- *
278
- * ```ts
279
- * import { Bdd } from "effect-bdd"
280
- * import { Effect } from "effect"
281
- *
282
- * const feature = Bdd.feature("Counter", { initial: 0 }).pipe(
283
- * Bdd.given`zero`(() => Effect.succeed(0)),
284
- * Bdd.when`increment`((_captures, state) => Effect.succeed(state + 1))
285
- * )
286
- * ```
287
- *
288
- * @category constructors
289
- * @since 4.0.0
290
- */
291
- const feature_ = <State>(name: string, options: {
292
- readonly initial: State
293
- }): Feature<State> => makeFeature(name, options.initial, [])
294
-
295
- /**
296
- * Tagged-template transition factory that does not attach Gherkin keyword metadata.
297
- *
298
- * **When to use**
299
- *
300
- * Use `step` for a transition that is semantically valid as any concrete
301
- * Gherkin step kind. Prefer `given`, `when`, or `then` when the transition
302
- * represents setup, action, or assertion specifically.
303
- *
304
- * @category constructors
305
- * @since 4.0.0
306
- */
307
- const step_: StepTag<"Step"> = makeStepTag("Step")
308
-
309
- /**
310
- * Tagged-template transition factory for `Given` steps.
311
- *
312
- * **Details**
313
- *
314
- * A source `Given` step only matches `given` or keyword-agnostic `step`
315
- * transitions.
316
- *
317
- * `And` and `But` steps inherit the previous concrete Gherkin keyword before
318
- * matching, so they can match a `given` transition when they follow a `Given`.
319
- *
320
- * @category constructors
321
- * @since 4.0.0
322
- */
323
- const given_: StepTag<"Given"> = makeStepTag("Given")
324
-
325
- /**
326
- * Tagged-template transition factory for `When` steps.
327
- *
328
- * **Details**
329
- *
330
- * A source `When` step only matches `when` or keyword-agnostic `step`
331
- * transitions.
332
- *
333
- * `And` and `But` steps inherit the previous concrete Gherkin keyword before
334
- * matching, so they can match a `when` transition when they follow a `When`.
335
- *
336
- * @category constructors
337
- * @since 4.0.0
338
- */
339
- const when_: StepTag<"When"> = makeStepTag("When")
340
-
341
- /**
342
- * Tagged-template transition factory for `Then` steps.
343
- *
344
- * **Details**
345
- *
346
- * A source `Then` step only matches `then` or keyword-agnostic `step`
347
- * transitions.
348
- *
349
- * `And` and `But` steps inherit the previous concrete Gherkin keyword before
350
- * matching, so they can match a `then` transition when they follow a `Then`.
351
- *
352
- * @category constructors
353
- * @since 4.0.0
354
- */
355
- const then_: StepTag<"Then"> = makeStepTag("Then")
356
-
357
- /**
358
- * Runs Gherkin source against a feature definition.
359
- *
360
- * **Details**
361
- *
362
- * The feature definition name must match the Gherkin `Feature:` name. Every
363
- * scenario starts from the feature's initial state. Background steps run before
364
- * each scenario, then scenario steps run in source order.
365
- *
366
- * **Example** (Running Gherkin)
367
- *
368
- * ```ts
369
- * import { Bdd } from "effect-bdd"
370
- * import { Effect } from "effect"
371
- *
372
- * const feature = Bdd.feature("Counter", { initial: 0 }).pipe(
373
- * Bdd.given`zero`(() => Effect.succeed(0)),
374
- * Bdd.when`increment`((_captures, state) => Effect.succeed(state + 1))
375
- * )
376
- *
377
- * const program = Bdd.run(feature, `
378
- * Feature: Counter
379
- *
380
- * Scenario: Increment
381
- * Given zero
382
- * When increment
383
- * `).pipe(Effect.provide(Bdd.GherkinCompiler.Cucumber))
384
- * ```
385
- *
386
- * @category running
387
- * @since 4.0.0
388
- */
389
- const run_ = <State, E, R>(
390
- self: Feature<State, E, R>,
391
- source: string
392
- ): Effect.Effect<Report, RunError, R | GherkinCompiler> => runner.run(self, source)
393
-
394
- /**
395
- * Namespace-style API for building and running BDD feature definitions.
396
- *
397
- * **Details**
398
- *
399
- * The namespace contains constructors for captures, step arguments, feature
400
- * definitions, step transitions, and the Gherkin runner.
401
- *
402
- * **Example** (Defining and running a feature)
403
- *
404
- * ```ts
405
- * import { Bdd } from "effect-bdd"
406
- * import { Effect, Schema } from "effect"
407
- *
408
- * const qty = Bdd.capture("qty", Schema.FiniteFromString)
409
- *
410
- * const feature = Bdd.feature("Counter", { initial: 0 }).pipe(
411
- * Bdd.given`zero`(() => Effect.succeed(0)),
412
- * Bdd.when`increment by ${qty}`(({ qty }, state) => Effect.succeed(state + qty))
413
- * )
414
- *
415
- * const program = Bdd.run(feature, `
416
- * Feature: Counter
417
- *
418
- * Scenario: Increment
419
- * Given zero
420
- * When increment by 2
421
- * `).pipe(Effect.provide(Bdd.GherkinCompiler.Cucumber))
422
- * ```
423
- *
424
- * @category models
425
- * @since 4.0.0
426
- */
427
- export const Bdd = {
428
- ParseError,
429
- MatchError,
430
- StepError,
431
- GherkinCompiler,
432
- capture: capture_,
433
- table: table_,
434
- docString: docString_,
435
- feature: feature_,
436
- step: step_,
437
- given: given_,
438
- when: when_,
439
- // oxlint-disable-next-line unicorn/no-thenable
440
- then: then_,
441
- run: run_
442
- }
443
-
444
- /**
445
- * Type helpers for the {@link Bdd} value namespace.
446
- *
447
- * @since 4.0.0
448
- */
449
- export declare namespace Bdd {
450
- /**
451
- * A local immutable feature definition used to interpret scenarios from Gherkin source.
452
- *
453
- * @since 4.0.0
454
- */
455
- export type Feature<State, E = never, R = never> = FeatureType<State, E, R>
456
-
457
- /**
458
- * Result returned after all scenarios pass.
459
- *
460
- * @since 4.0.0
461
- */
462
- export type Report = ReportType
463
-
464
- /**
465
- * Error type returned by `Bdd.run`.
466
- *
467
- * @since 4.0.0
468
- */
469
- export type RunError = RunErrorType
470
-
471
- /**
472
- * Service used to compile Gherkin source into executable scenarios.
473
- *
474
- * @since 4.0.0
475
- */
476
- export type GherkinCompiler = GherkinCompilerType
477
-
478
- /**
479
- * A named capture decoded from step text with a Schema.
480
- *
481
- * @since 4.0.0
482
- */
483
- export type Capture<Name extends string, A> = CaptureType<Name, A>
484
-
485
- /**
486
- * A decoded DataTable argument.
487
- *
488
- * @since 4.0.0
489
- */
490
- export type TableArg<A> = TableArgType<A>
491
-
492
- /**
493
- * A decoded DocString argument.
494
- *
495
- * @since 4.0.0
496
- */
497
- export type DocStringArg<A> = DocStringArgType<A>
498
- }
499
-
500
- /**
501
- * Advanced tagged-template function type used to register transitions.
502
- *
503
- * @category utility types
504
- * @since 4.0.0
505
- */
506
- export interface StepTag<Kind extends StepKind> {
507
- <const Captures extends ReadonlyArray<Capture<string, unknown>>>(
508
- strings: TemplateStringsArray,
509
- ...captures: Captures
510
- ): StepBuilder<CapturesOf<Captures>, Kind>
511
- }
512
-
513
- /**
514
- * Advanced builder returned by a tagged-template transition.
515
- *
516
- * @category utility types
517
- * @since 4.0.0
518
- */
519
- export interface StepBuilder<Captures, Kind extends StepKind> {
520
- <State, E, R>(
521
- impl: (captures: Captures, state: State) => Effect.Effect<State, E, R>
522
- ): <E0, R0>(self: Feature<State, E0, R0>) => Feature<State, E | E0, R | R0>
523
- <State, Arg, E, R>(
524
- arg: StepArg<Arg>,
525
- impl: (captures: Captures, arg: Arg, state: State) => Effect.Effect<State, E, R>
526
- ): <E0, R0>(self: Feature<State, E0, R0>) => Feature<State, E | E0, R | R0>
527
- readonly kind: Kind
528
- readonly expression: Expression<Captures>
529
- }
530
-
531
- const makeFeature = <State, E, R>(
532
- name: string,
533
- initial: State,
534
- transitions: ReadonlyArray<AnyTransition<State, E, R>>
535
- ): Feature<State, E, R> => ({
536
- _tag: "Feature",
537
- name,
538
- initial,
539
- transitions,
540
- pipe() {
541
- return pipeArguments(this, arguments)
542
- }
543
- })
544
-
545
- function makeStepTag<Kind extends StepKind>(kind: Kind): StepTag<Kind> {
546
- return ((strings: TemplateStringsArray, ...captures: ReadonlyArray<Capture<string, unknown>>) => {
547
- const matcher = expression.makeMatcher(strings, captures)
548
- const builder = ((first: unknown, second?: unknown) => (self: Feature<unknown, unknown, unknown>) => {
549
- const transition: AnyTransition<unknown, unknown, unknown> = second === undefined ?
550
- {
551
- kind,
552
- expression: matcher,
553
- run: (captures, _argument, state) =>
554
- (first as (captures: unknown, state: unknown) => Effect.Effect<unknown, unknown, unknown>)(captures, state)
555
- } :
556
- {
557
- kind,
558
- expression: matcher,
559
- argument: first as StepArg<unknown>,
560
- run: (captures, argument, state) =>
561
- (second as (
562
- captures: unknown,
563
- argument: unknown,
564
- state: unknown
565
- ) => Effect.Effect<unknown, unknown, unknown>)(captures, argument, state)
566
- }
567
- return makeFeature(self.name, self.initial, [...self.transitions, transition])
568
- }) as StepBuilder<unknown, Kind>
569
- Object.defineProperties(builder, {
570
- kind: { value: kind },
571
- expression: { value: matcher }
572
- })
573
- return builder
574
- }) as StepTag<Kind>
575
- }