@serenity-js/core 3.4.1 → 3.5.0

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 (472) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/lib/Serenity.d.ts +7 -6
  3. package/lib/Serenity.d.ts.map +1 -1
  4. package/lib/Serenity.js +1 -1
  5. package/lib/Serenity.js.map +1 -1
  6. package/lib/adapter/TestRunnerAdapter.d.ts +1 -1
  7. package/lib/adapter/TestRunnerAdapter.d.ts.map +1 -1
  8. package/lib/config/SerenityConfig.d.ts +5 -5
  9. package/lib/config/SerenityConfig.d.ts.map +1 -1
  10. package/lib/errors/ErrorFactory.d.ts +3 -3
  11. package/lib/errors/ErrorFactory.d.ts.map +1 -1
  12. package/lib/errors/ErrorFactory.js.map +1 -1
  13. package/lib/errors/ErrorOptions.d.ts +2 -2
  14. package/lib/errors/ErrorOptions.d.ts.map +1 -1
  15. package/lib/errors/ErrorSerialiser.d.ts +1 -1
  16. package/lib/errors/ErrorSerialiser.d.ts.map +1 -1
  17. package/lib/errors/ErrorSerialiser.js +1 -1
  18. package/lib/errors/ErrorSerialiser.js.map +1 -1
  19. package/lib/errors/RaiseErrors.d.ts +3 -3
  20. package/lib/errors/RaiseErrors.d.ts.map +1 -1
  21. package/lib/errors/diff/AnsiDiffFormatter.d.ts +2 -2
  22. package/lib/errors/diff/AnsiDiffFormatter.d.ts.map +1 -1
  23. package/lib/errors/diff/AnsiDiffFormatter.js.map +1 -1
  24. package/lib/errors/diff/NoOpDiffFormatter.d.ts +1 -1
  25. package/lib/errors/diff/NoOpDiffFormatter.d.ts.map +1 -1
  26. package/lib/errors/model/AssertionError.d.ts +1 -1
  27. package/lib/errors/model/AssertionError.d.ts.map +1 -1
  28. package/lib/errors/model/ConfigurationError.d.ts +1 -1
  29. package/lib/errors/model/ConfigurationError.d.ts.map +1 -1
  30. package/lib/errors/model/ImplementationPendingError.d.ts +1 -1
  31. package/lib/errors/model/ImplementationPendingError.d.ts.map +1 -1
  32. package/lib/errors/model/ListItemNotFoundError.d.ts +1 -1
  33. package/lib/errors/model/ListItemNotFoundError.d.ts.map +1 -1
  34. package/lib/errors/model/LogicError.d.ts +1 -1
  35. package/lib/errors/model/LogicError.d.ts.map +1 -1
  36. package/lib/errors/model/OperationInterruptedError.d.ts +1 -1
  37. package/lib/errors/model/OperationInterruptedError.d.ts.map +1 -1
  38. package/lib/errors/model/TestCompromisedError.d.ts +1 -1
  39. package/lib/errors/model/TestCompromisedError.d.ts.map +1 -1
  40. package/lib/errors/model/TimeoutExpiredError.d.ts +1 -1
  41. package/lib/errors/model/TimeoutExpiredError.d.ts.map +1 -1
  42. package/lib/errors/model/UnknownError.d.ts +1 -1
  43. package/lib/errors/model/UnknownError.d.ts.map +1 -1
  44. package/lib/events/ActivityFinished.d.ts +2 -2
  45. package/lib/events/ActivityFinished.d.ts.map +1 -1
  46. package/lib/events/ActivityRelatedArtifactArchived.d.ts +3 -2
  47. package/lib/events/ActivityRelatedArtifactArchived.d.ts.map +1 -1
  48. package/lib/events/ActivityRelatedArtifactArchived.js.map +1 -1
  49. package/lib/events/ActivityRelatedArtifactGenerated.d.ts +1 -1
  50. package/lib/events/ActivityRelatedArtifactGenerated.d.ts.map +1 -1
  51. package/lib/events/ActivityRelatedArtifactGenerated.js.map +1 -1
  52. package/lib/events/ActivityStarts.d.ts +2 -2
  53. package/lib/events/ActivityStarts.d.ts.map +1 -1
  54. package/lib/events/ArtifactArchived.d.ts +3 -2
  55. package/lib/events/ArtifactArchived.d.ts.map +1 -1
  56. package/lib/events/ArtifactArchived.js.map +1 -1
  57. package/lib/events/ArtifactGenerated.d.ts +1 -1
  58. package/lib/events/ArtifactGenerated.d.ts.map +1 -1
  59. package/lib/events/ArtifactGenerated.js.map +1 -1
  60. package/lib/events/AsyncOperationAborted.d.ts +1 -1
  61. package/lib/events/AsyncOperationAborted.d.ts.map +1 -1
  62. package/lib/events/AsyncOperationAborted.js.map +1 -1
  63. package/lib/events/AsyncOperationAttempted.d.ts +1 -1
  64. package/lib/events/AsyncOperationAttempted.d.ts.map +1 -1
  65. package/lib/events/AsyncOperationAttempted.js.map +1 -1
  66. package/lib/events/AsyncOperationCompleted.d.ts +1 -1
  67. package/lib/events/AsyncOperationCompleted.d.ts.map +1 -1
  68. package/lib/events/AsyncOperationCompleted.js.map +1 -1
  69. package/lib/events/AsyncOperationFailed.d.ts +1 -1
  70. package/lib/events/AsyncOperationFailed.d.ts.map +1 -1
  71. package/lib/events/AsyncOperationFailed.js.map +1 -1
  72. package/lib/events/BusinessRuleDetected.d.ts +1 -1
  73. package/lib/events/BusinessRuleDetected.d.ts.map +1 -1
  74. package/lib/events/BusinessRuleDetected.js.map +1 -1
  75. package/lib/events/EmitsDomainEvents.d.ts +4 -5
  76. package/lib/events/EmitsDomainEvents.d.ts.map +1 -1
  77. package/lib/events/FeatureNarrativeDetected.d.ts +1 -1
  78. package/lib/events/FeatureNarrativeDetected.d.ts.map +1 -1
  79. package/lib/events/FeatureNarrativeDetected.js.map +1 -1
  80. package/lib/events/InteractionFinished.d.ts +1 -1
  81. package/lib/events/InteractionFinished.d.ts.map +1 -1
  82. package/lib/events/InteractionFinished.js.map +1 -1
  83. package/lib/events/InteractionStarts.d.ts +1 -1
  84. package/lib/events/InteractionStarts.d.ts.map +1 -1
  85. package/lib/events/RetryableSceneDetected.d.ts +1 -1
  86. package/lib/events/RetryableSceneDetected.d.ts.map +1 -1
  87. package/lib/events/RetryableSceneDetected.js.map +1 -1
  88. package/lib/events/SceneBackgroundDetected.d.ts +2 -2
  89. package/lib/events/SceneBackgroundDetected.d.ts.map +1 -1
  90. package/lib/events/SceneBackgroundDetected.js.map +1 -1
  91. package/lib/events/SceneDescriptionDetected.d.ts +1 -1
  92. package/lib/events/SceneDescriptionDetected.d.ts.map +1 -1
  93. package/lib/events/SceneDescriptionDetected.js.map +1 -1
  94. package/lib/events/SceneFinished.d.ts +1 -1
  95. package/lib/events/SceneFinished.d.ts.map +1 -1
  96. package/lib/events/SceneFinished.js.map +1 -1
  97. package/lib/events/SceneFinishes.d.ts +1 -1
  98. package/lib/events/SceneFinishes.d.ts.map +1 -1
  99. package/lib/events/SceneFinishes.js.map +1 -1
  100. package/lib/events/SceneParametersDetected.d.ts +1 -1
  101. package/lib/events/SceneParametersDetected.d.ts.map +1 -1
  102. package/lib/events/SceneParametersDetected.js.map +1 -1
  103. package/lib/events/SceneSequenceDetected.d.ts +1 -1
  104. package/lib/events/SceneSequenceDetected.d.ts.map +1 -1
  105. package/lib/events/SceneSequenceDetected.js.map +1 -1
  106. package/lib/events/SceneStarts.d.ts +1 -1
  107. package/lib/events/SceneStarts.d.ts.map +1 -1
  108. package/lib/events/SceneStarts.js.map +1 -1
  109. package/lib/events/SceneTagged.d.ts +1 -1
  110. package/lib/events/SceneTagged.d.ts.map +1 -1
  111. package/lib/events/SceneTagged.js.map +1 -1
  112. package/lib/events/SceneTemplateDetected.d.ts +1 -1
  113. package/lib/events/SceneTemplateDetected.d.ts.map +1 -1
  114. package/lib/events/SceneTemplateDetected.js.map +1 -1
  115. package/lib/events/TaskFinished.d.ts +1 -1
  116. package/lib/events/TaskFinished.d.ts.map +1 -1
  117. package/lib/events/TaskFinished.js.map +1 -1
  118. package/lib/events/TaskStarts.d.ts +1 -1
  119. package/lib/events/TaskStarts.d.ts.map +1 -1
  120. package/lib/events/TestRunFinished.d.ts +1 -1
  121. package/lib/events/TestRunFinished.d.ts.map +1 -1
  122. package/lib/events/TestRunFinished.js.map +1 -1
  123. package/lib/events/TestRunnerDetected.d.ts +1 -1
  124. package/lib/events/TestRunnerDetected.d.ts.map +1 -1
  125. package/lib/events/TestRunnerDetected.js.map +1 -1
  126. package/lib/events/TestSuiteFinished.d.ts +1 -1
  127. package/lib/events/TestSuiteFinished.d.ts.map +1 -1
  128. package/lib/events/TestSuiteFinished.js.map +1 -1
  129. package/lib/events/TestSuiteStarts.d.ts +1 -1
  130. package/lib/events/TestSuiteStarts.d.ts.map +1 -1
  131. package/lib/events/TestSuiteStarts.js.map +1 -1
  132. package/lib/instance.d.ts +3 -3
  133. package/lib/instance.d.ts.map +1 -1
  134. package/lib/instance.js.map +1 -1
  135. package/lib/io/FileSystem.d.ts +2 -2
  136. package/lib/io/FileSystem.d.ts.map +1 -1
  137. package/lib/io/FileSystemLocation.d.ts +2 -1
  138. package/lib/io/FileSystemLocation.d.ts.map +1 -1
  139. package/lib/io/FileSystemLocation.js.map +1 -1
  140. package/lib/io/Path.js +1 -1
  141. package/lib/io/Path.js.map +1 -1
  142. package/lib/io/format.d.ts +1 -1
  143. package/lib/io/format.d.ts.map +1 -1
  144. package/lib/io/inspected.d.ts +1 -1
  145. package/lib/io/inspected.d.ts.map +1 -1
  146. package/lib/io/inspected.js.map +1 -1
  147. package/lib/io/loader/ClassDescriptionParser.d.ts +2 -2
  148. package/lib/io/loader/ClassDescriptionParser.d.ts.map +1 -1
  149. package/lib/io/loader/ClassDescriptionParser.js +1 -1
  150. package/lib/io/loader/ClassDescriptionParser.js.map +1 -1
  151. package/lib/io/loader/ClassDescriptor.d.ts +1 -1
  152. package/lib/io/loader/ClassDescriptor.d.ts.map +1 -1
  153. package/lib/io/loader/ClassLoader.d.ts +3 -3
  154. package/lib/io/loader/ClassLoader.d.ts.map +1 -1
  155. package/lib/io/stringified.d.ts +1 -1
  156. package/lib/io/stringified.d.ts.map +1 -1
  157. package/lib/model/ActivityDetails.d.ts +2 -1
  158. package/lib/model/ActivityDetails.d.ts.map +1 -1
  159. package/lib/model/ActivityDetails.js.map +1 -1
  160. package/lib/model/Artifact.d.ts +2 -1
  161. package/lib/model/Artifact.d.ts.map +1 -1
  162. package/lib/model/Artifact.js.map +1 -1
  163. package/lib/model/BusinessRule.d.ts +2 -1
  164. package/lib/model/BusinessRule.d.ts.map +1 -1
  165. package/lib/model/BusinessRule.js.map +1 -1
  166. package/lib/model/ScenarioDetails.d.ts +2 -1
  167. package/lib/model/ScenarioDetails.d.ts.map +1 -1
  168. package/lib/model/ScenarioDetails.js.map +1 -1
  169. package/lib/model/ScenarioParameters.d.ts +2 -1
  170. package/lib/model/ScenarioParameters.d.ts.map +1 -1
  171. package/lib/model/ScenarioParameters.js.map +1 -1
  172. package/lib/model/TestSuiteDetails.d.ts +2 -1
  173. package/lib/model/TestSuiteDetails.d.ts.map +1 -1
  174. package/lib/model/TestSuiteDetails.js.map +1 -1
  175. package/lib/model/artifacts/HTTPRequestResponse.d.ts +1 -1
  176. package/lib/model/artifacts/HTTPRequestResponse.d.ts.map +1 -1
  177. package/lib/model/artifacts/JSONData.d.ts +1 -1
  178. package/lib/model/artifacts/JSONData.d.ts.map +1 -1
  179. package/lib/model/artifacts/TestReport.d.ts +1 -1
  180. package/lib/model/artifacts/TestReport.d.ts.map +1 -1
  181. package/lib/model/outcomes.d.ts +3 -2
  182. package/lib/model/outcomes.d.ts.map +1 -1
  183. package/lib/model/outcomes.js +8 -9
  184. package/lib/model/outcomes.js.map +1 -1
  185. package/lib/model/tags/ArbitraryTag.js +1 -1
  186. package/lib/model/tags/ArbitraryTag.js.map +1 -1
  187. package/lib/model/tags/BrowserTag.d.ts +1 -1
  188. package/lib/model/tags/BrowserTag.d.ts.map +1 -1
  189. package/lib/model/tags/BrowserTag.js +1 -1
  190. package/lib/model/tags/BrowserTag.js.map +1 -1
  191. package/lib/model/tags/CapabilityTag.js +1 -1
  192. package/lib/model/tags/CapabilityTag.js.map +1 -1
  193. package/lib/model/tags/ExecutionRetriedTag.d.ts +1 -1
  194. package/lib/model/tags/ExecutionRetriedTag.d.ts.map +1 -1
  195. package/lib/model/tags/ExecutionRetriedTag.js +1 -1
  196. package/lib/model/tags/ExecutionRetriedTag.js.map +1 -1
  197. package/lib/model/tags/FeatureTag.js +1 -1
  198. package/lib/model/tags/FeatureTag.js.map +1 -1
  199. package/lib/model/tags/IssueTag.js +1 -1
  200. package/lib/model/tags/IssueTag.js.map +1 -1
  201. package/lib/model/tags/ManualTag.js +1 -1
  202. package/lib/model/tags/ManualTag.js.map +1 -1
  203. package/lib/model/tags/PlatformTag.d.ts +1 -1
  204. package/lib/model/tags/PlatformTag.d.ts.map +1 -1
  205. package/lib/model/tags/PlatformTag.js +1 -1
  206. package/lib/model/tags/PlatformTag.js.map +1 -1
  207. package/lib/model/tags/Tag.d.ts +2 -1
  208. package/lib/model/tags/Tag.d.ts.map +1 -1
  209. package/lib/model/tags/Tag.js.map +1 -1
  210. package/lib/model/tags/Tags.d.ts +1 -1
  211. package/lib/model/tags/Tags.d.ts.map +1 -1
  212. package/lib/model/tags/Tags.js +1 -1
  213. package/lib/model/tags/Tags.js.map +1 -1
  214. package/lib/model/tags/ThemeTag.js +1 -1
  215. package/lib/model/tags/ThemeTag.js.map +1 -1
  216. package/lib/screenplay/Activity.d.ts +3 -3
  217. package/lib/screenplay/Activity.d.ts.map +1 -1
  218. package/lib/screenplay/Activity.js +1 -1
  219. package/lib/screenplay/Activity.js.map +1 -1
  220. package/lib/screenplay/Actor.d.ts +16 -9
  221. package/lib/screenplay/Actor.d.ts.map +1 -1
  222. package/lib/screenplay/Actor.js +6 -0
  223. package/lib/screenplay/Actor.js.map +1 -1
  224. package/lib/screenplay/Answerable.d.ts +1 -1
  225. package/lib/screenplay/Answerable.d.ts.map +1 -1
  226. package/lib/screenplay/Answered.d.ts +1 -1
  227. package/lib/screenplay/Answered.d.ts.map +1 -1
  228. package/lib/screenplay/Interaction.d.ts +3 -3
  229. package/lib/screenplay/Interaction.d.ts.map +1 -1
  230. package/lib/screenplay/Optional.d.ts +1 -1
  231. package/lib/screenplay/Optional.d.ts.map +1 -1
  232. package/lib/screenplay/Question.d.ts +6 -6
  233. package/lib/screenplay/Question.d.ts.map +1 -1
  234. package/lib/screenplay/RecursivelyAnswered.d.ts +1 -1
  235. package/lib/screenplay/RecursivelyAnswered.d.ts.map +1 -1
  236. package/lib/screenplay/Task.d.ts +1 -1
  237. package/lib/screenplay/Task.d.ts.map +1 -1
  238. package/lib/screenplay/WithAnswerableProperties.d.ts +2 -2
  239. package/lib/screenplay/WithAnswerableProperties.d.ts.map +1 -1
  240. package/lib/screenplay/abilities/Ability.d.ts +2 -2
  241. package/lib/screenplay/abilities/Ability.d.ts.map +1 -1
  242. package/lib/screenplay/abilities/AbilityType.d.ts +1 -1
  243. package/lib/screenplay/abilities/AbilityType.d.ts.map +1 -1
  244. package/lib/screenplay/abilities/AnswerQuestions.d.ts +3 -3
  245. package/lib/screenplay/abilities/AnswerQuestions.d.ts.map +1 -1
  246. package/lib/screenplay/abilities/CanHaveAbilities.d.ts +2 -2
  247. package/lib/screenplay/abilities/CanHaveAbilities.d.ts.map +1 -1
  248. package/lib/screenplay/abilities/PerformActivities.d.ts +4 -4
  249. package/lib/screenplay/abilities/PerformActivities.d.ts.map +1 -1
  250. package/lib/screenplay/abilities/PerformActivities.js.map +1 -1
  251. package/lib/screenplay/abilities/UsesAbilities.d.ts +2 -2
  252. package/lib/screenplay/abilities/UsesAbilities.d.ts.map +1 -1
  253. package/lib/screenplay/activities/PerformsActivities.d.ts +1 -1
  254. package/lib/screenplay/activities/PerformsActivities.d.ts.map +1 -1
  255. package/lib/screenplay/artifacts/CollectsArtifacts.d.ts +1 -1
  256. package/lib/screenplay/artifacts/CollectsArtifacts.d.ts.map +1 -1
  257. package/lib/screenplay/debugging/Debug.d.ts +6 -6
  258. package/lib/screenplay/debugging/Debug.d.ts.map +1 -1
  259. package/lib/screenplay/debugging/Log.d.ts +4 -4
  260. package/lib/screenplay/debugging/Log.d.ts.map +1 -1
  261. package/lib/screenplay/notes/ChainableSetter.d.ts +2 -2
  262. package/lib/screenplay/notes/ChainableSetter.d.ts.map +1 -1
  263. package/lib/screenplay/notes/NotepadAdapter.d.ts +4 -4
  264. package/lib/screenplay/notes/NotepadAdapter.d.ts.map +1 -1
  265. package/lib/screenplay/notes/NotepadAdapter.js.map +1 -1
  266. package/lib/screenplay/notes/notes.d.ts +1 -1
  267. package/lib/screenplay/notes/notes.d.ts.map +1 -1
  268. package/lib/screenplay/questions/AnswersQuestions.d.ts +1 -1
  269. package/lib/screenplay/questions/AnswersQuestions.d.ts.map +1 -1
  270. package/lib/screenplay/questions/Check.d.ts +5 -5
  271. package/lib/screenplay/questions/Check.d.ts.map +1 -1
  272. package/lib/screenplay/questions/Expectation.d.ts +2 -2
  273. package/lib/screenplay/questions/Expectation.d.ts.map +1 -1
  274. package/lib/screenplay/questions/Expectation.js.map +1 -1
  275. package/lib/screenplay/questions/List.d.ts +8 -7
  276. package/lib/screenplay/questions/List.d.ts.map +1 -1
  277. package/lib/screenplay/questions/List.js.map +1 -1
  278. package/lib/screenplay/questions/MetaQuestion.d.ts +2 -2
  279. package/lib/screenplay/questions/MetaQuestion.d.ts.map +1 -1
  280. package/lib/screenplay/questions/Unanswered.d.ts +2 -1
  281. package/lib/screenplay/questions/Unanswered.d.ts.map +1 -1
  282. package/lib/screenplay/questions/Unanswered.js.map +1 -1
  283. package/lib/screenplay/questions/expectations/ExpectationDetails.d.ts +2 -1
  284. package/lib/screenplay/questions/expectations/ExpectationDetails.d.ts.map +1 -1
  285. package/lib/screenplay/questions/expectations/ExpectationDetails.js.map +1 -1
  286. package/lib/screenplay/questions/expectations/ExpectationOutcome.d.ts +1 -1
  287. package/lib/screenplay/questions/expectations/ExpectationOutcome.d.ts.map +1 -1
  288. package/lib/screenplay/questions/q.d.ts +2 -2
  289. package/lib/screenplay/questions/q.d.ts.map +1 -1
  290. package/lib/screenplay/questions/q.js.map +1 -1
  291. package/lib/screenplay/time/TellsTime.d.ts +19 -0
  292. package/lib/screenplay/time/TellsTime.d.ts.map +1 -0
  293. package/lib/screenplay/time/TellsTime.js +3 -0
  294. package/lib/screenplay/time/TellsTime.js.map +1 -0
  295. package/lib/screenplay/time/abilities/ScheduleWork.d.ts +3 -2
  296. package/lib/screenplay/time/abilities/ScheduleWork.d.ts.map +1 -1
  297. package/lib/screenplay/time/abilities/ScheduleWork.js.map +1 -1
  298. package/lib/screenplay/time/activities/Wait.d.ts +3 -3
  299. package/lib/screenplay/time/activities/Wait.d.ts.map +1 -1
  300. package/lib/screenplay/time/activities/Wait.js +1 -1
  301. package/lib/screenplay/time/activities/Wait.js.map +1 -1
  302. package/lib/screenplay/time/index.d.ts +1 -0
  303. package/lib/screenplay/time/index.d.ts.map +1 -1
  304. package/lib/screenplay/time/index.js +1 -0
  305. package/lib/screenplay/time/index.js.map +1 -1
  306. package/lib/screenplay/time/models/Clock.js +1 -1
  307. package/lib/screenplay/time/models/Clock.js.map +1 -1
  308. package/lib/screenplay/time/models/DelayedCallback.d.ts +1 -1
  309. package/lib/screenplay/time/models/DelayedCallback.d.ts.map +1 -1
  310. package/lib/screenplay/time/models/Duration.d.ts +2 -1
  311. package/lib/screenplay/time/models/Duration.d.ts.map +1 -1
  312. package/lib/screenplay/time/models/Duration.js +1 -1
  313. package/lib/screenplay/time/models/Duration.js.map +1 -1
  314. package/lib/screenplay/time/models/RepeatUntilLimits.d.ts +1 -1
  315. package/lib/screenplay/time/models/RepeatUntilLimits.d.ts.map +1 -1
  316. package/lib/screenplay/time/models/Scheduler.d.ts +3 -3
  317. package/lib/screenplay/time/models/Scheduler.d.ts.map +1 -1
  318. package/lib/stage/Cast.d.ts +1 -1
  319. package/lib/stage/Cast.d.ts.map +1 -1
  320. package/lib/stage/Extras.d.ts +2 -2
  321. package/lib/stage/Extras.d.ts.map +1 -1
  322. package/lib/stage/ListensToDomainEvents.d.ts +1 -1
  323. package/lib/stage/ListensToDomainEvents.d.ts.map +1 -1
  324. package/lib/stage/Stage.d.ts +9 -7
  325. package/lib/stage/Stage.d.ts.map +1 -1
  326. package/lib/stage/Stage.js +1 -1
  327. package/lib/stage/Stage.js.map +1 -1
  328. package/lib/stage/StageCrewMember.d.ts +2 -2
  329. package/lib/stage/StageCrewMember.d.ts.map +1 -1
  330. package/lib/stage/StageCrewMemberBuilder.d.ts +2 -2
  331. package/lib/stage/StageCrewMemberBuilder.d.ts.map +1 -1
  332. package/lib/stage/StageCrewMemberBuilderDependencies.d.ts +2 -2
  333. package/lib/stage/StageCrewMemberBuilderDependencies.d.ts.map +1 -1
  334. package/lib/stage/StageManager.d.ts +4 -4
  335. package/lib/stage/StageManager.d.ts.map +1 -1
  336. package/lib/stage/StageManager.js.map +1 -1
  337. package/lib/stage/crew/artifact-archiver/ArtifactArchiver.d.ts +3 -3
  338. package/lib/stage/crew/artifact-archiver/ArtifactArchiver.d.ts.map +1 -1
  339. package/lib/stage/crew/artifact-archiver/ArtifactArchiver.js.map +1 -1
  340. package/lib/stage/crew/stream-reporter/StreamReporter.d.ts +4 -4
  341. package/lib/stage/crew/stream-reporter/StreamReporter.d.ts.map +1 -1
  342. package/lib/stage/queues/DomainEventQueue.d.ts +2 -2
  343. package/lib/stage/queues/DomainEventQueue.d.ts.map +1 -1
  344. package/lib/stage/queues/DomainEventQueues.d.ts +2 -2
  345. package/lib/stage/queues/DomainEventQueues.d.ts.map +1 -1
  346. package/lib/stage/queues/DomainEventQueues.js.map +1 -1
  347. package/package.json +5 -5
  348. package/src/Serenity.ts +11 -9
  349. package/src/adapter/TestRunnerAdapter.ts +1 -1
  350. package/src/config/SerenityConfig.ts +5 -5
  351. package/src/errors/ErrorFactory.ts +5 -4
  352. package/src/errors/ErrorOptions.ts +2 -2
  353. package/src/errors/ErrorSerialiser.ts +2 -1
  354. package/src/errors/RaiseErrors.ts +3 -3
  355. package/src/errors/diff/AnsiDiffFormatter.ts +3 -2
  356. package/src/errors/diff/NoOpDiffFormatter.ts +1 -1
  357. package/src/errors/model/AssertionError.ts +1 -1
  358. package/src/errors/model/ConfigurationError.ts +1 -1
  359. package/src/errors/model/ImplementationPendingError.ts +1 -1
  360. package/src/errors/model/ListItemNotFoundError.ts +1 -1
  361. package/src/errors/model/LogicError.ts +1 -1
  362. package/src/errors/model/OperationInterruptedError.ts +1 -1
  363. package/src/errors/model/TestCompromisedError.ts +1 -1
  364. package/src/errors/model/TimeoutExpiredError.ts +1 -1
  365. package/src/errors/model/UnknownError.ts +1 -1
  366. package/src/events/ActivityFinished.ts +2 -2
  367. package/src/events/ActivityRelatedArtifactArchived.ts +4 -2
  368. package/src/events/ActivityRelatedArtifactGenerated.ts +4 -2
  369. package/src/events/ActivityStarts.ts +2 -2
  370. package/src/events/ArtifactArchived.ts +4 -2
  371. package/src/events/ArtifactGenerated.ts +4 -2
  372. package/src/events/AsyncOperationAborted.ts +2 -1
  373. package/src/events/AsyncOperationAttempted.ts +2 -1
  374. package/src/events/AsyncOperationCompleted.ts +2 -1
  375. package/src/events/AsyncOperationFailed.ts +2 -1
  376. package/src/events/BusinessRuleDetected.ts +2 -1
  377. package/src/events/EmitsDomainEvents.ts +4 -5
  378. package/src/events/FeatureNarrativeDetected.ts +2 -1
  379. package/src/events/InteractionFinished.ts +3 -2
  380. package/src/events/InteractionStarts.ts +1 -1
  381. package/src/events/RetryableSceneDetected.ts +2 -1
  382. package/src/events/SceneBackgroundDetected.ts +3 -2
  383. package/src/events/SceneDescriptionDetected.ts +2 -1
  384. package/src/events/SceneFinished.ts +4 -2
  385. package/src/events/SceneFinishes.ts +2 -1
  386. package/src/events/SceneParametersDetected.ts +2 -1
  387. package/src/events/SceneSequenceDetected.ts +2 -1
  388. package/src/events/SceneStarts.ts +2 -1
  389. package/src/events/SceneTagged.ts +2 -1
  390. package/src/events/SceneTemplateDetected.ts +2 -1
  391. package/src/events/TaskFinished.ts +3 -2
  392. package/src/events/TaskStarts.ts +1 -1
  393. package/src/events/TestRunFinished.ts +3 -2
  394. package/src/events/TestRunnerDetected.ts +2 -1
  395. package/src/events/TestSuiteFinished.ts +4 -2
  396. package/src/events/TestSuiteStarts.ts +2 -1
  397. package/src/instance.ts +4 -3
  398. package/src/io/FileSystem.ts +2 -2
  399. package/src/io/FileSystemLocation.ts +2 -1
  400. package/src/io/format.ts +1 -1
  401. package/src/io/inspected.ts +2 -1
  402. package/src/io/loader/ClassDescriptionParser.ts +2 -2
  403. package/src/io/loader/ClassDescriptor.ts +1 -1
  404. package/src/io/loader/ClassLoader.ts +3 -3
  405. package/src/io/stringified.ts +1 -1
  406. package/src/model/ActivityDetails.ts +2 -1
  407. package/src/model/Artifact.ts +2 -1
  408. package/src/model/BusinessRule.ts +2 -1
  409. package/src/model/ScenarioDetails.ts +2 -1
  410. package/src/model/ScenarioParameters.ts +2 -1
  411. package/src/model/TestSuiteDetails.ts +2 -1
  412. package/src/model/artifacts/HTTPRequestResponse.ts +1 -1
  413. package/src/model/artifacts/JSONData.ts +1 -1
  414. package/src/model/artifacts/TestReport.ts +1 -1
  415. package/src/model/outcomes.ts +4 -2
  416. package/src/model/tags/BrowserTag.ts +1 -1
  417. package/src/model/tags/ExecutionRetriedTag.ts +1 -1
  418. package/src/model/tags/PlatformTag.ts +1 -1
  419. package/src/model/tags/Tag.ts +2 -1
  420. package/src/model/tags/Tags.ts +2 -1
  421. package/src/screenplay/Activity.ts +3 -3
  422. package/src/screenplay/Actor.ts +25 -12
  423. package/src/screenplay/Answerable.ts +1 -1
  424. package/src/screenplay/Answered.ts +1 -1
  425. package/src/screenplay/Interaction.ts +3 -3
  426. package/src/screenplay/Optional.ts +1 -1
  427. package/src/screenplay/Question.ts +6 -6
  428. package/src/screenplay/RecursivelyAnswered.ts +1 -1
  429. package/src/screenplay/Task.ts +1 -1
  430. package/src/screenplay/WithAnswerableProperties.ts +2 -2
  431. package/src/screenplay/abilities/Ability.ts +2 -2
  432. package/src/screenplay/abilities/AbilityType.ts +1 -1
  433. package/src/screenplay/abilities/AnswerQuestions.ts +3 -3
  434. package/src/screenplay/abilities/CanHaveAbilities.ts +2 -2
  435. package/src/screenplay/abilities/PerformActivities.ts +9 -6
  436. package/src/screenplay/abilities/UsesAbilities.ts +2 -2
  437. package/src/screenplay/activities/PerformsActivities.ts +1 -1
  438. package/src/screenplay/artifacts/CollectsArtifacts.ts +1 -1
  439. package/src/screenplay/debugging/Debug.ts +6 -6
  440. package/src/screenplay/debugging/Log.ts +4 -4
  441. package/src/screenplay/notes/ChainableSetter.ts +2 -2
  442. package/src/screenplay/notes/NotepadAdapter.ts +7 -6
  443. package/src/screenplay/notes/notes.ts +1 -1
  444. package/src/screenplay/questions/AnswersQuestions.ts +1 -1
  445. package/src/screenplay/questions/Check.ts +5 -5
  446. package/src/screenplay/questions/Expectation.ts +4 -3
  447. package/src/screenplay/questions/List.ts +8 -7
  448. package/src/screenplay/questions/MetaQuestion.ts +2 -2
  449. package/src/screenplay/questions/Unanswered.ts +2 -1
  450. package/src/screenplay/questions/expectations/ExpectationDetails.ts +2 -1
  451. package/src/screenplay/questions/expectations/ExpectationOutcome.ts +1 -1
  452. package/src/screenplay/questions/q.ts +3 -2
  453. package/src/screenplay/time/TellsTime.ts +19 -0
  454. package/src/screenplay/time/abilities/ScheduleWork.ts +4 -2
  455. package/src/screenplay/time/activities/Wait.ts +4 -3
  456. package/src/screenplay/time/index.ts +1 -0
  457. package/src/screenplay/time/models/DelayedCallback.ts +1 -1
  458. package/src/screenplay/time/models/Duration.ts +2 -1
  459. package/src/screenplay/time/models/RepeatUntilLimits.ts +1 -1
  460. package/src/screenplay/time/models/Scheduler.ts +4 -4
  461. package/src/stage/Cast.ts +1 -1
  462. package/src/stage/Extras.ts +2 -2
  463. package/src/stage/ListensToDomainEvents.ts +1 -1
  464. package/src/stage/Stage.ts +12 -8
  465. package/src/stage/StageCrewMember.ts +2 -2
  466. package/src/stage/StageCrewMemberBuilder.ts +2 -2
  467. package/src/stage/StageCrewMemberBuilderDependencies.ts +2 -2
  468. package/src/stage/StageManager.ts +6 -5
  469. package/src/stage/crew/artifact-archiver/ArtifactArchiver.ts +8 -6
  470. package/src/stage/crew/stream-reporter/StreamReporter.ts +4 -4
  471. package/src/stage/queues/DomainEventQueue.ts +2 -2
  472. package/src/stage/queues/DomainEventQueues.ts +3 -2
@@ -1,5 +1,5 @@
1
- import { Answerable } from './Answerable';
2
- import { Question } from './Question';
1
+ import type { Answerable } from './Answerable';
2
+ import type { Question } from './Question';
3
3
 
4
4
  /**
5
5
  * Describes a plain JavaScript object with {@apilink Answerable} properties.
@@ -1,5 +1,5 @@
1
- import { AbilityType } from './AbilityType';
2
- import { UsesAbilities } from './UsesAbilities';
1
+ import type { AbilityType } from './AbilityType';
2
+ import type { UsesAbilities } from './UsesAbilities';
3
3
 
4
4
  /**
5
5
  * **Abilities** enable {@apilink Actor|actors}
@@ -1,4 +1,4 @@
1
- import { Ability } from './Ability';
1
+ import type { Ability } from './Ability';
2
2
 
3
3
  /**
4
4
  * An interface describing the static access method that every {@apilink Ability} class
@@ -1,8 +1,8 @@
1
- import { Answerable } from '../Answerable';
1
+ import type { Answerable } from '../Answerable';
2
2
  import { Question } from '../Question';
3
- import { AnswersQuestions } from '../questions';
3
+ import type { AnswersQuestions } from '../questions';
4
4
  import { Ability } from './Ability';
5
- import { UsesAbilities } from './UsesAbilities';
5
+ import type { UsesAbilities } from './UsesAbilities';
6
6
 
7
7
  /**
8
8
  * This {@apilink Ability} enables an {@apilink Actor} to resolve the value of a given {@apilink Answerable}.
@@ -1,5 +1,5 @@
1
- import { Ability } from './Ability';
2
- import { UsesAbilities } from './UsesAbilities';
1
+ import type { Ability } from './Ability';
2
+ import type { UsesAbilities } from './UsesAbilities';
3
3
 
4
4
  /**
5
5
  * Describes an {@apilink Actor} who can have an {@apilink Ability} to perform some {@apilink Activity}.
@@ -1,7 +1,12 @@
1
1
  import { match } from 'tiny-types';
2
2
 
3
3
  import { AssertionError, ImplementationPendingError, TestCompromisedError } from '../../errors';
4
- import { EmitsDomainEvents, InteractionFinished, InteractionStarts, TaskFinished, TaskStarts } from '../../events';
4
+ import type { EmitsDomainEvents} from '../../events';
5
+ import { InteractionFinished, InteractionStarts, TaskFinished, TaskStarts } from '../../events';
6
+ import type {
7
+ Outcome,
8
+ ProblemIndication
9
+ } from '../../model';
5
10
  import {
6
11
  ActivityDetails,
7
12
  ExecutionCompromised,
@@ -9,12 +14,10 @@ import {
9
14
  ExecutionFailedWithError,
10
15
  ExecutionSuccessful,
11
16
  ImplementationPending,
12
- Name,
13
- Outcome,
14
- ProblemIndication
17
+ Name
15
18
  } from '../../model';
16
- import { PerformsActivities } from '../activities/PerformsActivities';
17
- import { Activity } from '../Activity';
19
+ import type { PerformsActivities } from '../activities/PerformsActivities';
20
+ import type { Activity } from '../Activity';
18
21
  import { Interaction } from '../Interaction';
19
22
  import { Ability } from './index';
20
23
 
@@ -1,5 +1,5 @@
1
- import { Ability } from './Ability';
2
- import { AbilityType } from './AbilityType';
1
+ import type { Ability } from './Ability';
2
+ import type { AbilityType } from './AbilityType';
3
3
 
4
4
  /**
5
5
  * Describes an {@apilink Actor} who can use their {@apilink Ability|abilities} to perform an {@apilink Activity}
@@ -1,4 +1,4 @@
1
- import { Activity } from '../Activity';
1
+ import type { Activity } from '../Activity';
2
2
 
3
3
  /**
4
4
  * Describes an {@apilink Actor} who can perform a sequence of {@apilink Activity|Activities},
@@ -1,4 +1,4 @@
1
- import { Artifact, Name } from '../../model';
1
+ import type { Artifact, Name } from '../../model';
2
2
 
3
3
  /**
4
4
  * Describes an {@apilink Actor} who can collect {@apilink Artifact|Artifacts}, such as {@apilink Photo|Photos} or {@apilink JSONData},
@@ -2,13 +2,13 @@ import { ErrorSerialiser } from '../../errors';
2
2
  import { d } from '../../io';
3
3
  import { stringified } from '../../io/stringified';
4
4
  import { LogEntry, Name } from '../../model';
5
- import { UsesAbilities } from '../abilities';
6
- import { Answerable } from '../Answerable';
7
- import { Answered } from '../Answered';
8
- import { CollectsArtifacts } from '../artifacts';
5
+ import type { UsesAbilities } from '../abilities';
6
+ import type { Answerable } from '../Answerable';
7
+ import type { Answered } from '../Answered';
8
+ import type { CollectsArtifacts } from '../artifacts';
9
9
  import { Interaction } from '../Interaction';
10
- import { AnswersQuestions } from '../questions';
11
- import { DebuggingResult } from './DebuggingResult';
10
+ import type { AnswersQuestions } from '../questions';
11
+ import type { DebuggingResult } from './DebuggingResult';
12
12
 
13
13
  /**
14
14
  * Instructs the {@apilink Actor|actor} to evaluate and {@apilink Log|log} the provided {@apilink Answerable} values.
@@ -1,11 +1,11 @@
1
1
  import { d } from '../../io';
2
2
  import { stringified } from '../../io/stringified';
3
3
  import { LogEntry, Name } from '../../model';
4
- import { UsesAbilities } from '../abilities';
5
- import { Answerable } from '../Answerable';
6
- import { CollectsArtifacts } from '../artifacts';
4
+ import type { UsesAbilities } from '../abilities';
5
+ import type { Answerable } from '../Answerable';
6
+ import type { CollectsArtifacts } from '../artifacts';
7
7
  import { Interaction } from '../Interaction';
8
- import { AnswersQuestions } from '../questions';
8
+ import type { AnswersQuestions } from '../questions';
9
9
 
10
10
  /**
11
11
  * Instructs the {@apilink Actor} to {@apilink CollectsArtifacts|collect} arbitrary static values and answers to {@apilink Answerable|Answerables},
@@ -1,5 +1,5 @@
1
- import { Answerable } from '../Answerable';
2
- import { Interaction } from '../Interaction';
1
+ import type { Answerable } from '../Answerable';
2
+ import type { Interaction } from '../Interaction';
3
3
 
4
4
  /**
5
5
  * @group Notes
@@ -1,12 +1,13 @@
1
- import { JSONObject } from 'tiny-types';
1
+ import type { JSONObject } from 'tiny-types';
2
2
 
3
3
  import { commaSeparated } from '../../io';
4
- import { UsesAbilities } from '../abilities';
5
- import { Answerable } from '../Answerable';
4
+ import type { UsesAbilities } from '../abilities';
5
+ import type { Answerable } from '../Answerable';
6
6
  import { Interaction } from '../Interaction';
7
- import { Question, QuestionAdapter } from '../Question';
8
- import { AnswersQuestions } from '../questions';
9
- import { ChainableSetter } from './ChainableSetter';
7
+ import type { QuestionAdapter } from '../Question';
8
+ import { Question } from '../Question';
9
+ import type { AnswersQuestions } from '../questions';
10
+ import type { ChainableSetter } from './ChainableSetter';
10
11
  import { TakeNotes } from './TakeNotes';
11
12
 
12
13
  /**
@@ -1,5 +1,5 @@
1
1
  import { Notepad } from './Notepad';
2
- import { NotepadAdapter } from './NotepadAdapter';
2
+ import type { NotepadAdapter } from './NotepadAdapter';
3
3
 
4
4
  /**
5
5
  * Alias for {@apilink Notepad.notes}.
@@ -1,4 +1,4 @@
1
- import { Answerable } from '../Answerable';
1
+ import type { Answerable } from '../Answerable';
2
2
 
3
3
  /**
4
4
  * Describes an {@apilink Actor} who can answer a {@apilink Question} about the system under test.
@@ -1,10 +1,10 @@
1
1
  import { d } from '../../io';
2
- import { PerformsActivities } from '../activities';
3
- import { Activity } from '../Activity';
4
- import { Answerable } from '../Answerable';
5
- import { AnswersQuestions } from '../questions';
2
+ import type { PerformsActivities } from '../activities';
3
+ import type { Activity } from '../Activity';
4
+ import type { Answerable } from '../Answerable';
5
+ import type { AnswersQuestions } from '../questions';
6
6
  import { Task } from '../Task';
7
- import { Expectation } from './Expectation';
7
+ import type { Expectation } from './Expectation';
8
8
  import { ExpectationMet } from './expectations';
9
9
 
10
10
  /**
@@ -1,8 +1,9 @@
1
- import { JSONValue } from 'tiny-types';
1
+ import type { JSONValue } from 'tiny-types';
2
2
 
3
3
  import { asyncMap, d } from '../../io';
4
- import { Answerable, AnswersQuestions, ExpectationDetails, ExpectationMet, ExpectationNotMet, Question, QuestionAdapter } from '../';
5
- import { ExpectationOutcome } from './expectations';
4
+ import type { Answerable, AnswersQuestions, QuestionAdapter } from '../';
5
+ import { ExpectationDetails, ExpectationMet, ExpectationNotMet, Question } from '../';
6
+ import type { ExpectationOutcome } from './expectations';
6
7
 
7
8
  /**
8
9
  * @group Expectations
@@ -1,14 +1,15 @@
1
1
  import { ListItemNotFoundError, LogicError } from '../../errors';
2
2
  import { d } from '../../io';
3
- import { UsesAbilities } from '../abilities';
4
- import { Actor } from '../Actor';
5
- import { Answerable } from '../Answerable';
6
- import { Question, QuestionAdapter } from '../Question';
7
- import { AnswersQuestions } from '../questions';
3
+ import type { UsesAbilities } from '../abilities';
4
+ import type { Actor } from '../Actor';
5
+ import type { Answerable } from '../Answerable';
6
+ import type { QuestionAdapter } from '../Question';
7
+ import { Question } from '../Question';
8
+ import type { AnswersQuestions } from '../questions';
8
9
  import { Task } from '../Task';
9
- import { Expectation } from './Expectation';
10
+ import type { Expectation } from './Expectation';
10
11
  import { ExpectationMet } from './expectations';
11
- import { MetaQuestion } from './MetaQuestion';
12
+ import type { MetaQuestion } from './MetaQuestion';
12
13
 
13
14
  /**
14
15
  * Serenity/JS Screenplay Pattern-style wrapper around {@apilink Array}
@@ -1,5 +1,5 @@
1
- import { Answerable } from '../Answerable';
2
- import { Question } from '../Question';
1
+ import type { Answerable } from '../Answerable';
2
+ import type { Question } from '../Question';
3
3
 
4
4
  /**
5
5
  * A "meta question" is a {@apilink Question} about another {@apilink Answerable},
@@ -1,4 +1,5 @@
1
- import { JSONValue, TinyType } from 'tiny-types';
1
+ import type { JSONValue} from 'tiny-types';
2
+ import { TinyType } from 'tiny-types';
2
3
  import * as util from 'util'; // eslint-disable-line unicorn/import-style
3
4
 
4
5
  /**
@@ -1,4 +1,5 @@
1
- import { ensure, isArray, isDefined, JSONObject, JSONValue, TinyType } from 'tiny-types';
1
+ import type { JSONObject, JSONValue} from 'tiny-types';
2
+ import { ensure, isArray, isDefined, TinyType } from 'tiny-types';
2
3
 
3
4
  import { inspected, typeOf } from '../../../io';
4
5
  import { Name } from '../../../model';
@@ -1,6 +1,6 @@
1
1
  import { TinyType } from 'tiny-types';
2
2
 
3
- import { ExpectationDetails } from './ExpectationDetails';
3
+ import type { ExpectationDetails } from './ExpectationDetails';
4
4
 
5
5
  /**
6
6
  * An outcome of an {@apilink Expectation},
@@ -1,5 +1,6 @@
1
- import { Answerable } from '../Answerable';
2
- import { Question, QuestionAdapter } from '../Question';
1
+ import type { Answerable } from '../Answerable';
2
+ import type { QuestionAdapter } from '../Question';
3
+ import { Question } from '../Question';
3
4
 
4
5
  /**
5
6
  * A Serenity/JS Screenplay Pattern-flavour
@@ -0,0 +1,19 @@
1
+ import type { Timestamp } from './models';
2
+
3
+ /**
4
+ * Describes an {@apilink Actor} or a supporting class capable of telling
5
+ * the current wall clock time.
6
+ *
7
+ * ## Learn more
8
+ * - {@apilink Actor}
9
+ * - {@apilink Serenity}
10
+ * - {@apilink Stage}
11
+ *
12
+ * @group Time
13
+ */
14
+ export interface TellsTime {
15
+ /**
16
+ * Returns current wall clock time.
17
+ */
18
+ currentTime(): Timestamp;
19
+ }
@@ -1,5 +1,7 @@
1
- import { Ability, Discardable } from '../../abilities';
2
- import { Clock, DelayedCallback, Duration, RepeatUntilLimits, Scheduler } from '../models';
1
+ import type { Discardable } from '../../abilities';
2
+ import { Ability } from '../../abilities';
3
+ import type { Clock, DelayedCallback, Duration, RepeatUntilLimits} from '../models';
4
+ import { Scheduler } from '../models';
3
5
 
4
6
  /**
5
7
  * An {@apilink Ability} that enables an {@apilink Actor} to schedule a callback function
@@ -2,10 +2,11 @@ import { ensure, isGreaterThanOrEqualTo, isInRange } from 'tiny-types';
2
2
 
3
3
  import { AssertionError, ListItemNotFoundError, RaiseErrors, TimeoutExpiredError } from '../../../errors';
4
4
  import { d } from '../../../io';
5
- import { UsesAbilities } from '../../abilities';
6
- import { Answerable } from '../../Answerable';
5
+ import type { UsesAbilities } from '../../abilities';
6
+ import type { Answerable } from '../../Answerable';
7
7
  import { Interaction } from '../../Interaction';
8
- import { AnswersQuestions, Expectation, ExpectationMet, ExpectationOutcome } from '../../questions';
8
+ import type { AnswersQuestions, Expectation, ExpectationOutcome } from '../../questions';
9
+ import { ExpectationMet } from '../../questions';
9
10
  import { ScheduleWork } from '../abilities';
10
11
  import { Duration } from '../models';
11
12
 
@@ -1,3 +1,4 @@
1
1
  export * from './abilities';
2
2
  export * from './activities';
3
3
  export * from './models';
4
+ export * from './TellsTime';
@@ -1,4 +1,4 @@
1
- import { Timestamp } from './Timestamp';
1
+ import type { Timestamp } from './Timestamp';
2
2
 
3
3
  /**
4
4
  * @group Time
@@ -1,4 +1,5 @@
1
- import { ensure, isGreaterThanOrEqualTo, isInteger, JSONObject, TinyType } from 'tiny-types';
1
+ import type { JSONObject} from 'tiny-types';
2
+ import { ensure, isGreaterThanOrEqualTo, isInteger, TinyType } from 'tiny-types';
2
3
 
3
4
  /**
4
5
  * Represents a duration in milliseconds between two {@apilink Timestamp|timestamps}.
@@ -1,4 +1,4 @@
1
- import { Duration } from './Duration';
1
+ import type { Duration } from './Duration';
2
2
 
3
3
  /**
4
4
  * @group Time
@@ -1,9 +1,9 @@
1
1
  import { OperationInterruptedError, TimeoutExpiredError } from '../../../errors';
2
- import { Clock } from './Clock';
3
- import { DelayedCallback } from './DelayedCallback';
2
+ import type { Clock } from './Clock';
3
+ import type { DelayedCallback } from './DelayedCallback';
4
4
  import { Duration } from './Duration';
5
- import { RepeatUntilLimits } from './RepeatUntilLimits';
6
- import { Timestamp } from './Timestamp';
5
+ import type { RepeatUntilLimits } from './RepeatUntilLimits';
6
+ import type { Timestamp } from './Timestamp';
7
7
 
8
8
  /**
9
9
  * @group Time
package/src/stage/Cast.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Actor } from '../screenplay';
1
+ import type { Actor } from '../screenplay';
2
2
 
3
3
  /**
4
4
  * Serenity/JS uses the concept of a _**cast of actors**_ to centralise the process of configuring the {@apilink Actor|actors} and assigning their {@apilink Ability|abilities}.
@@ -1,5 +1,5 @@
1
- import { Actor } from '../screenplay';
2
- import { Cast } from './Cast';
1
+ import type { Actor } from '../screenplay';
2
+ import type { Cast } from './Cast';
3
3
 
4
4
  /**
5
5
  * Produces no-op actors with no special {@apilink Ability}
@@ -1,4 +1,4 @@
1
- import { DomainEvent } from '../events';
1
+ import type { DomainEvent } from '../events';
2
2
 
3
3
  /**
4
4
  * A {@apilink StageCrewMember} that can listen and react to {@apilink DomainEvent|DomainEvents}
@@ -1,21 +1,25 @@
1
1
  import { ensure, isDefined } from 'tiny-types';
2
2
 
3
- import { ConfigurationError, ErrorFactory, ErrorOptions, LogicError, RaiseErrors, RuntimeError } from '../errors';
3
+ import type { ErrorFactory, ErrorOptions, RuntimeError } from '../errors';
4
+ import { ConfigurationError, LogicError, RaiseErrors } from '../errors';
5
+ import type {
6
+ DomainEvent,
7
+ EmitsDomainEvents} from '../events';
4
8
  import {
5
9
  AsyncOperationAttempted,
6
10
  AsyncOperationCompleted,
7
11
  AsyncOperationFailed,
8
- DomainEvent,
9
- EmitsDomainEvents,
10
12
  SceneFinishes,
11
13
  SceneStarts,
12
14
  TestRunFinishes
13
15
  } from '../events';
14
- import { ActivityDetails, CorrelationId, Description, Name } from '../model';
15
- import { Actor, Clock, Duration, ScheduleWork, Timestamp } from '../screenplay';
16
- import { ListensToDomainEvents } from '../stage';
17
- import { Cast } from './Cast';
18
- import { StageManager } from './StageManager';
16
+ import type { ActivityDetails} from '../model';
17
+ import { CorrelationId, Description, Name } from '../model';
18
+ import type { Clock, Duration, Timestamp } from '../screenplay';
19
+ import { Actor, ScheduleWork } from '../screenplay';
20
+ import type { ListensToDomainEvents } from '../stage';
21
+ import type { Cast } from './Cast';
22
+ import type { StageManager } from './StageManager';
19
23
 
20
24
  /**
21
25
  * Stage is the place where {@apilink Actor|actors} perform.
@@ -1,5 +1,5 @@
1
- import { ListensToDomainEvents } from './ListensToDomainEvents';
2
- import { Stage } from './Stage';
1
+ import type { ListensToDomainEvents } from './ListensToDomainEvents';
2
+ import type { Stage } from './Stage';
3
3
 
4
4
  /**
5
5
  * You can think of the {@apilink StageCrewMember} as an in-memory microservice that reacts to {@apilink DomainEvent|domain events},
@@ -1,5 +1,5 @@
1
- import { ListensToDomainEvents } from './ListensToDomainEvents';
2
- import { StageCrewMemberBuilderDependencies } from './StageCrewMemberBuilderDependencies';
1
+ import type { ListensToDomainEvents } from './ListensToDomainEvents';
2
+ import type { StageCrewMemberBuilderDependencies } from './StageCrewMemberBuilderDependencies';
3
3
 
4
4
  /**
5
5
  * Use a {@apilink StageCrewMemberBuilder} to configure complex {@apilink StageCrewMember} objects.
@@ -1,5 +1,5 @@
1
- import { OutputStream } from '../adapter';
2
- import { Stage } from './Stage';
1
+ import type { OutputStream } from '../adapter';
2
+ import type { Stage } from './Stage';
3
3
 
4
4
  /**
5
5
  * Dependencies injected by {@apilink Serenity.configure} into {@apilink StageCrewMemberBuilder.build}
@@ -1,12 +1,13 @@
1
- import { AsyncOperationAttempted, AsyncOperationCompleted, AsyncOperationFailed, DomainEvent } from '../events';
2
- import { CorrelationId, Description, Name } from '../model';
3
- import { Clock, Duration, Timestamp } from '../screenplay';
4
- import { ListensToDomainEvents } from '../stage';
1
+ import type { DomainEvent } from '../events';
2
+ import { AsyncOperationAttempted, AsyncOperationCompleted, AsyncOperationFailed } from '../events';
3
+ import type { CorrelationId, Description, Name } from '../model';
4
+ import type { Clock, Duration, TellsTime, Timestamp } from '../screenplay';
5
+ import type { ListensToDomainEvents } from '../stage';
5
6
 
6
7
  /**
7
8
  * @group Stage
8
9
  */
9
- export class StageManager {
10
+ export class StageManager implements TellsTime {
10
11
  private readonly subscribers: ListensToDomainEvents[] = [];
11
12
  private readonly wip: WIP;
12
13
 
@@ -1,6 +1,8 @@
1
- import { WriteFileOptions } from 'fs';
1
+ import type { WriteFileOptions } from 'fs';
2
2
  import { ensure, isDefined, isGreaterThan, isString, property } from 'tiny-types';
3
3
 
4
+ import type {
5
+ DomainEvent} from '../../../events';
4
6
  import {
5
7
  ActivityRelatedArtifactArchived,
6
8
  ActivityRelatedArtifactGenerated,
@@ -8,13 +10,13 @@ import {
8
10
  ArtifactGenerated,
9
11
  AsyncOperationAttempted,
10
12
  AsyncOperationCompleted,
11
- AsyncOperationFailed,
12
- DomainEvent,
13
+ AsyncOperationFailed
13
14
  } from '../../../events';
14
15
  import { FileSystem, Path } from '../../../io';
15
- import { Artifact, ArtifactType, CorrelationId, Description, Name, Photo, TestReport } from '../../../model';
16
- import { Stage } from '../../Stage';
17
- import { StageCrewMember } from '../../StageCrewMember';
16
+ import type { Artifact, ArtifactType} from '../../../model';
17
+ import { CorrelationId, Description, Name, Photo, TestReport } from '../../../model';
18
+ import type { Stage } from '../../Stage';
19
+ import type { StageCrewMember } from '../../StageCrewMember';
18
20
  import { Hash } from './Hash';
19
21
 
20
22
  /**
@@ -1,8 +1,8 @@
1
- import { Writable } from 'stream';
1
+ import type { Writable } from 'stream';
2
2
 
3
- import { DomainEvent } from '../../../events';
4
- import { Stage } from '../../Stage';
5
- import { StageCrewMember } from '../../StageCrewMember';
3
+ import type { DomainEvent } from '../../../events';
4
+ import type { Stage } from '../../Stage';
5
+ import type { StageCrewMember } from '../../StageCrewMember';
6
6
 
7
7
  /**
8
8
  * Serialises all the {@apilink DomainEvent} objects it receives and streams
@@ -1,7 +1,7 @@
1
1
  import { ensure, Predicate } from 'tiny-types';
2
2
 
3
- import { DomainEvent } from '../../events';
4
- import { CorrelationId } from '../../model';
3
+ import type { DomainEvent } from '../../events';
4
+ import type { CorrelationId } from '../../model';
5
5
 
6
6
  /**
7
7
  * @group Stage
@@ -1,7 +1,8 @@
1
1
  import { LogicError } from '../../errors';
2
- import { DomainEvent, SceneSequenceDetected, SceneStarts } from '../../events';
2
+ import type { DomainEvent} from '../../events';
3
+ import { SceneSequenceDetected, SceneStarts } from '../../events';
3
4
  import { d } from '../../io/format';
4
- import { CorrelationId, ScenarioDetails } from '../../model';
5
+ import type { CorrelationId, ScenarioDetails } from '../../model';
5
6
  import { DomainEventQueue } from './DomainEventQueue';
6
7
 
7
8
  /**