@serenity-js/core 3.4.2 → 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 +16 -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 +3 -3
  348. package/src/Serenity.ts +10 -8
  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,4 +1,5 @@
1
- import { ensure, isDefined, JSONObject } from 'tiny-types';
1
+ import type { JSONObject } from 'tiny-types';
2
+ import { ensure, isDefined } from 'tiny-types';
2
3
 
3
4
  import { CorrelationId, Description } from '../model';
4
5
  import { Timestamp } from '../screenplay';
@@ -1,4 +1,5 @@
1
- import { ensure, isDefined, JSONObject } from 'tiny-types';
1
+ import type { JSONObject } from 'tiny-types';
2
+ import { ensure, isDefined } from 'tiny-types';
2
3
 
3
4
  import { CorrelationId, Description, Name } from '../model';
4
5
  import { Timestamp } from '../screenplay';
@@ -1,4 +1,5 @@
1
- import { ensure, isDefined, JSONObject } from 'tiny-types';
1
+ import type { JSONObject } from 'tiny-types';
2
+ import { ensure, isDefined } from 'tiny-types';
2
3
 
3
4
  import { CorrelationId } from '../model';
4
5
  import { Timestamp } from '../screenplay';
@@ -1,4 +1,5 @@
1
- import { ensure, isDefined, JSONObject } from 'tiny-types';
1
+ import type { JSONObject } from 'tiny-types';
2
+ import { ensure, isDefined } from 'tiny-types';
2
3
 
3
4
  import { ErrorSerialiser } from '../errors';
4
5
  import { CorrelationId } from '../model';
@@ -1,4 +1,5 @@
1
- import { ensure, isDefined, JSONObject } from 'tiny-types';
1
+ import type { JSONObject } from 'tiny-types';
2
+ import { ensure, isDefined } from 'tiny-types';
2
3
 
3
4
  import { BusinessRule, CorrelationId, ScenarioDetails } from '../model';
4
5
  import { Timestamp } from '../screenplay';
@@ -1,11 +1,10 @@
1
- import { ActivityDetails, CorrelationId } from '../model';
2
- import { Timestamp } from '../screenplay';
3
- import { DomainEvent } from './DomainEvent';
1
+ import type { ActivityDetails, CorrelationId } from '../model';
2
+ import type { TellsTime } from '../screenplay';
3
+ import type { DomainEvent } from './DomainEvent';
4
4
 
5
- export interface EmitsDomainEvents {
5
+ export interface EmitsDomainEvents extends TellsTime {
6
6
  currentSceneId(): CorrelationId;
7
7
  assignNewActivityId(details: ActivityDetails): CorrelationId;
8
8
  announce(event: DomainEvent): void;
9
- currentTime(): Timestamp;
10
9
  waitForNextCue(): Promise<void>,
11
10
  }
@@ -1,4 +1,5 @@
1
- import { ensure, isDefined, JSONObject } from 'tiny-types';
1
+ import type { JSONObject } from 'tiny-types';
2
+ import { ensure, isDefined } from 'tiny-types';
2
3
 
3
4
  import { CorrelationId, Description } from '../model';
4
5
  import { Timestamp } from '../screenplay';
@@ -1,6 +1,7 @@
1
- import { JSONObject } from 'tiny-types';
1
+ import type { JSONObject } from 'tiny-types';
2
2
 
3
- import { ActivityDetails, CorrelationId, Outcome, SerialisedOutcome } from '../model';
3
+ import type { SerialisedOutcome } from '../model';
4
+ import { ActivityDetails, CorrelationId, Outcome } from '../model';
4
5
  import { Timestamp } from '../screenplay';
5
6
  import { ActivityFinished } from './ActivityFinished';
6
7
 
@@ -1,4 +1,4 @@
1
- import { JSONObject } from 'tiny-types';
1
+ import type { JSONObject } from 'tiny-types';
2
2
 
3
3
  import { ActivityDetails, CorrelationId } from '../model';
4
4
  import { Timestamp } from '../screenplay';
@@ -1,4 +1,5 @@
1
- import { ensure, isDefined, JSONObject } from 'tiny-types';
1
+ import type { JSONObject } from 'tiny-types';
2
+ import { ensure, isDefined } from 'tiny-types';
2
3
 
3
4
  import { CorrelationId } from '../model';
4
5
  import { Timestamp } from '../screenplay';
@@ -1,7 +1,8 @@
1
- import { ensure, isDefined, JSONObject } from 'tiny-types';
1
+ import type { JSONObject } from 'tiny-types';
2
+ import { ensure, isDefined } from 'tiny-types';
2
3
 
3
4
  import { CorrelationId, Description, Name } from '../model';
4
- import { Timestamp } from '../screenplay';
5
+ import type { Timestamp } from '../screenplay';
5
6
  import { DomainEvent } from './DomainEvent';
6
7
 
7
8
  /**
@@ -1,4 +1,5 @@
1
- import { ensure, isDefined, JSONObject } from 'tiny-types';
1
+ import type { JSONObject } from 'tiny-types';
2
+ import { ensure, isDefined } from 'tiny-types';
2
3
 
3
4
  import { CorrelationId, Description } from '../model';
4
5
  import { Timestamp } from '../screenplay';
@@ -1,6 +1,8 @@
1
- import { ensure, isDefined, JSONObject } from 'tiny-types';
1
+ import type { JSONObject } from 'tiny-types';
2
+ import { ensure, isDefined } from 'tiny-types';
2
3
 
3
- import { CorrelationId, Outcome, ScenarioDetails, SerialisedOutcome } from '../model';
4
+ import type { SerialisedOutcome } from '../model';
5
+ import { CorrelationId, Outcome, ScenarioDetails } from '../model';
4
6
  import { Timestamp } from '../screenplay';
5
7
  import { DomainEvent } from './DomainEvent';
6
8
 
@@ -1,4 +1,5 @@
1
- import { ensure, isDefined, JSONObject } from 'tiny-types';
1
+ import type { JSONObject } from 'tiny-types';
2
+ import { ensure, isDefined } from 'tiny-types';
2
3
 
3
4
  import { CorrelationId } from '../model';
4
5
  import { Timestamp } from '../screenplay';
@@ -1,4 +1,5 @@
1
- import { ensure, isDefined, JSONObject } from 'tiny-types';
1
+ import type { JSONObject } from 'tiny-types';
2
+ import { ensure, isDefined } from 'tiny-types';
2
3
 
3
4
  import { CorrelationId, ScenarioDetails, ScenarioParameters } from '../model';
4
5
  import { Timestamp } from '../screenplay';
@@ -1,4 +1,5 @@
1
- import { ensure, isDefined, JSONObject } from 'tiny-types';
1
+ import type { JSONObject } from 'tiny-types';
2
+ import { ensure, isDefined } from 'tiny-types';
2
3
 
3
4
  import { CorrelationId, ScenarioDetails } from '../model';
4
5
  import { Timestamp } from '../screenplay';
@@ -1,4 +1,5 @@
1
- import { ensure, isDefined, JSONObject } from 'tiny-types';
1
+ import type { JSONObject } from 'tiny-types';
2
+ import { ensure, isDefined } from 'tiny-types';
2
3
 
3
4
  import { CorrelationId, ScenarioDetails } from '../model';
4
5
  import { Timestamp } from '../screenplay';
@@ -1,4 +1,5 @@
1
- import { ensure, isDefined, JSONObject } from 'tiny-types';
1
+ import type { JSONObject } from 'tiny-types';
2
+ import { ensure, isDefined } from 'tiny-types';
2
3
 
3
4
  import { CorrelationId, Tag } from '../model';
4
5
  import { Timestamp } from '../screenplay';
@@ -1,4 +1,5 @@
1
- import { ensure, isDefined, JSONObject } from 'tiny-types';
1
+ import type { JSONObject } from 'tiny-types';
2
+ import { ensure, isDefined } from 'tiny-types';
2
3
 
3
4
  import { CorrelationId, Description } from '../model';
4
5
  import { Timestamp } from '../screenplay';
@@ -1,6 +1,7 @@
1
- import { JSONObject } from 'tiny-types';
1
+ import type { JSONObject } from 'tiny-types';
2
2
 
3
- import { ActivityDetails, CorrelationId, Outcome, SerialisedOutcome } from '../model';
3
+ import type { SerialisedOutcome } from '../model';
4
+ import { ActivityDetails, CorrelationId, Outcome } from '../model';
4
5
  import { Timestamp } from '../screenplay';
5
6
  import { ActivityFinished } from './ActivityFinished';
6
7
 
@@ -1,4 +1,4 @@
1
- import { JSONObject } from 'tiny-types';
1
+ import type { JSONObject } from 'tiny-types';
2
2
 
3
3
  import { ActivityDetails, CorrelationId } from '../model';
4
4
  import { Timestamp } from '../screenplay';
@@ -1,6 +1,7 @@
1
- import { JSONObject } from 'tiny-types';
1
+ import type { JSONObject } from 'tiny-types';
2
2
 
3
- import { Outcome, SerialisedOutcome } from '../model';
3
+ import type { SerialisedOutcome } from '../model';
4
+ import { Outcome } from '../model';
4
5
  import { Timestamp } from '../screenplay';
5
6
  import { DomainEvent } from './DomainEvent';
6
7
 
@@ -1,4 +1,5 @@
1
- import { ensure, isDefined, JSONObject } from 'tiny-types';
1
+ import type { JSONObject } from 'tiny-types';
2
+ import { ensure, isDefined } from 'tiny-types';
2
3
 
3
4
  import { CorrelationId, Name } from '../model';
4
5
  import { Timestamp } from '../screenplay';
@@ -1,6 +1,8 @@
1
- import { ensure, isDefined, JSONObject } from 'tiny-types';
1
+ import type { JSONObject } from 'tiny-types';
2
+ import { ensure, isDefined } from 'tiny-types';
2
3
 
3
- import { Outcome, SerialisedOutcome, TestSuiteDetails } from '../model';
4
+ import type { SerialisedOutcome} from '../model';
5
+ import { Outcome, TestSuiteDetails } from '../model';
4
6
  import { Timestamp } from '../screenplay';
5
7
  import { DomainEvent } from './DomainEvent';
6
8
 
@@ -1,4 +1,5 @@
1
- import { ensure, isDefined, JSONObject } from 'tiny-types';
1
+ import type { JSONObject } from 'tiny-types';
2
+ import { ensure, isDefined } from 'tiny-types';
2
3
 
3
4
  import { TestSuiteDetails } from '../model';
4
5
  import { Timestamp } from '../screenplay';
package/src/instance.ts CHANGED
@@ -1,7 +1,8 @@
1
- import { SerenityConfig } from './config';
2
- import { Actor, Clock } from './screenplay';
1
+ import type { SerenityConfig } from './config';
2
+ import type { Actor} from './screenplay';
3
+ import { Clock } from './screenplay';
3
4
  import { Serenity } from './Serenity';
4
- import { Cast } from './stage';
5
+ import type { Cast } from './stage';
5
6
 
6
7
  const clock = new Clock();
7
8
 
@@ -1,6 +1,6 @@
1
1
  import { createId } from '@paralleldrive/cuid2';
2
- import * as nodeFS from 'fs';
3
- import { WriteFileOptions } from 'fs';
2
+ import type * as nodeFS from 'fs';
3
+ import type { WriteFileOptions } from 'fs';
4
4
  import * as gracefulFS from 'graceful-fs';
5
5
  import * as nodeOS from 'os';
6
6
  import { promisify } from 'util';
@@ -1,4 +1,5 @@
1
- import { JSONObject, TinyType } from 'tiny-types';
1
+ import type { JSONObject} from 'tiny-types';
2
+ import { TinyType } from 'tiny-types';
2
3
 
3
4
  import { Path } from './Path';
4
5
 
package/src/io/format.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Answerable } from '../screenplay';
1
+ import type { Answerable } from '../screenplay';
2
2
  import { stringified } from './stringified';
3
3
 
4
4
  /**
@@ -1,4 +1,5 @@
1
- import { inspect, InspectOptions } from 'util';
1
+ import type { InspectOptions } from 'util';
2
+ import { inspect } from 'util';
2
3
 
3
4
  export function inspected(value: unknown, options: InspectOptions = {}): string {
4
5
  return inspect(value, {
@@ -1,9 +1,9 @@
1
1
  import validate from 'validate-npm-package-name';
2
2
 
3
- import { ClassDescription } from '../../config';
3
+ import type { ClassDescription } from '../../config';
4
4
  import { ConfigurationError } from '../../errors';
5
5
  import { d } from '../format';
6
- import { ClassDescriptor } from './ClassDescriptor';
6
+ import type { ClassDescriptor } from './ClassDescriptor';
7
7
 
8
8
  export class ClassDescriptionParser {
9
9
  private static validClassNamePattern = /^[A-Za-z]\w+$/;
@@ -1,4 +1,4 @@
1
- import { JSONValue } from 'tiny-types';
1
+ import type { JSONValue } from 'tiny-types';
2
2
 
3
3
  export interface ClassDescriptor {
4
4
  moduleId: string;
@@ -1,8 +1,8 @@
1
- import { ClassDescription } from '../../config';
1
+ import type { ClassDescription } from '../../config';
2
2
  import { ConfigurationError } from '../../errors';
3
3
  import { d } from '../format';
4
- import { ClassDescriptionParser } from './ClassDescriptionParser';
5
- import { ModuleLoader } from './ModuleLoader';
4
+ import type { ClassDescriptionParser } from './ClassDescriptionParser';
5
+ import type { ModuleLoader } from './ModuleLoader';
6
6
 
7
7
  export class ClassLoader {
8
8
  constructor(
@@ -1,6 +1,6 @@
1
1
  import { inspect } from 'util';
2
2
 
3
- import { Answerable } from '../screenplay/Answerable';
3
+ import type { Answerable } from '../screenplay/Answerable';
4
4
  import { Question } from '../screenplay/Question';
5
5
 
6
6
  const indentationPrefix = ' ';
@@ -1,4 +1,5 @@
1
- import { ensure, isDefined, JSONObject, TinyType } from 'tiny-types';
1
+ import type { JSONObject} from 'tiny-types';
2
+ import { ensure, isDefined, TinyType } from 'tiny-types';
2
3
 
3
4
  import { FileSystemLocation } from '../io/FileSystemLocation';
4
5
  import { Name } from './Name';
@@ -1,4 +1,5 @@
1
- import { ensure, isDefined, isString, JSONObject, Predicate, TinyType } from 'tiny-types';
1
+ import type { JSONObject} from 'tiny-types';
2
+ import { ensure, isDefined, isString, Predicate, TinyType } from 'tiny-types';
2
3
 
3
4
  import { LogicError } from '../errors';
4
5
  import * as artifacts from './artifacts';
@@ -1,4 +1,5 @@
1
- import { ensure, isDefined, JSONObject, TinyType } from 'tiny-types';
1
+ import type { JSONObject} from 'tiny-types';
2
+ import { ensure, isDefined, TinyType } from 'tiny-types';
2
3
 
3
4
  import { Description } from './Description';
4
5
  import { Name } from './Name';
@@ -1,4 +1,5 @@
1
- import { ensure, isDefined, JSONObject, TinyType } from 'tiny-types';
1
+ import type { JSONObject} from 'tiny-types';
2
+ import { ensure, isDefined, TinyType } from 'tiny-types';
2
3
 
3
4
  import { FileSystemLocation } from '../io';
4
5
  import { Category } from './Category';
@@ -1,4 +1,5 @@
1
- import { ensure, isDefined, JSONObject, TinyType } from 'tiny-types';
1
+ import type { JSONObject} from 'tiny-types';
2
+ import { ensure, isDefined, TinyType } from 'tiny-types';
2
3
 
3
4
  import { Description } from './Description';
4
5
  import { Name } from './Name';
@@ -1,4 +1,5 @@
1
- import { JSONObject, TinyType } from 'tiny-types';
1
+ import type { JSONObject} from 'tiny-types';
2
+ import { TinyType } from 'tiny-types';
2
3
 
3
4
  import { FileSystemLocation } from '../io';
4
5
  import { CorrelationId } from './CorrelationId';
@@ -1,4 +1,4 @@
1
- import { JSONObject } from 'tiny-types';
1
+ import type { JSONObject } from 'tiny-types';
2
2
 
3
3
  import { JSONData } from './JSONData';
4
4
 
@@ -1,4 +1,4 @@
1
- import { JSONValue } from 'tiny-types';
1
+ import type { JSONValue } from 'tiny-types';
2
2
 
3
3
  import { Artifact } from '../Artifact';
4
4
 
@@ -1,4 +1,4 @@
1
- import { JSONObject } from 'tiny-types';
1
+ import type { JSONObject } from 'tiny-types';
2
2
 
3
3
  import { Artifact } from '../Artifact';
4
4
 
@@ -1,7 +1,9 @@
1
1
  /* eslint-disable @typescript-eslint/explicit-module-boundary-types,unicorn/prefer-math-trunc */
2
- import { JSONObject, match, TinyType } from 'tiny-types';
2
+ import type { JSONObject} from 'tiny-types';
3
+ import { match, TinyType } from 'tiny-types';
3
4
 
4
- import { AssertionError, ErrorSerialiser } from '../errors';
5
+ import type { AssertionError} from '../errors';
6
+ import { ErrorSerialiser } from '../errors';
5
7
 
6
8
  export interface SerialisedOutcome extends JSONObject {
7
9
  code: number;
@@ -1,4 +1,4 @@
1
- import { JSONObject } from 'tiny-types';
1
+ import type { JSONObject } from 'tiny-types';
2
2
 
3
3
  import { Tag } from './Tag';
4
4
 
@@ -1,4 +1,4 @@
1
- import { JSONObject } from 'tiny-types';
1
+ import type { JSONObject } from 'tiny-types';
2
2
 
3
3
  import { Tag } from './Tag';
4
4
 
@@ -1,4 +1,4 @@
1
- import { JSONObject } from 'tiny-types';
1
+ import type { JSONObject } from 'tiny-types';
2
2
 
3
3
  import { Tag } from './Tag';
4
4
 
@@ -1,4 +1,5 @@
1
- import { ensure, isDefined, isGreaterThan, isString, JSONObject, property, TinyType } from 'tiny-types';
1
+ import type { JSONObject} from 'tiny-types';
2
+ import { ensure, isDefined, isGreaterThan, isString, property, TinyType } from 'tiny-types';
2
3
 
3
4
  import * as TagTypes from './index';
4
5
 
@@ -1,6 +1,7 @@
1
1
  import { match } from 'tiny-types';
2
2
 
3
- import { ArbitraryTag, IssueTag, ManualTag, Tag } from './';
3
+ import type { Tag } from './';
4
+ import { ArbitraryTag, IssueTag, ManualTag } from './';
4
5
 
5
6
  /**
6
7
  * @package
@@ -2,9 +2,9 @@ import path from 'path';
2
2
 
3
3
  import { ErrorStackParser } from '../errors';
4
4
  import { FileSystemLocation, Path } from '../io';
5
- import { UsesAbilities } from './abilities';
6
- import { PerformsActivities } from './activities';
7
- import { AnswersQuestions } from './questions';
5
+ import type { UsesAbilities } from './abilities';
6
+ import type { PerformsActivities } from './activities';
7
+ import type { AnswersQuestions } from './questions';
8
8
 
9
9
  /**
10
10
  * **Activities** represents {@apilink Task|tasks} and {@apilink Interaction|interactions} to be performed by an {@apilink Actor|actor}.
@@ -1,23 +1,27 @@
1
1
  import { ConfigurationError, TestCompromisedError } from '../errors';
2
2
  import { ActivityRelatedArtifactGenerated } from '../events';
3
3
  import { typeOf } from '../io';
4
- import { Artifact, Name, } from '../model';
5
- import { Stage } from '../stage';
6
- import {
7
- Ability,
4
+ import type { Artifact} from '../model';
5
+ import { Name, } from '../model';
6
+ import type { Stage } from '../stage';
7
+ import type {
8
8
  AbilityType,
9
- AnswerQuestions,
10
9
  CanHaveAbilities,
11
10
  Discardable,
12
11
  Initialisable,
13
- PerformActivities,
14
12
  UsesAbilities
15
13
  } from './abilities';
16
- import { PerformsActivities } from './activities';
17
- import { Activity } from './Activity';
18
- import { Answerable } from './Answerable';
19
- import { CollectsArtifacts } from './artifacts';
20
- import { AnswersQuestions } from './questions';
14
+ import {
15
+ Ability,
16
+ AnswerQuestions,
17
+ PerformActivities
18
+ } from './abilities';
19
+ import type { PerformsActivities } from './activities';
20
+ import type { Activity } from './Activity';
21
+ import type { Answerable } from './Answerable';
22
+ import type { CollectsArtifacts } from './artifacts';
23
+ import type { AnswersQuestions } from './questions';
24
+ import type { TellsTime, Timestamp } from './time';
21
25
 
22
26
  /**
23
27
  * **Actors** represent **people** and **external systems** interacting with the system under test.
@@ -82,7 +86,9 @@ export class Actor implements PerformsActivities,
82
86
  UsesAbilities,
83
87
  CanHaveAbilities<Actor>,
84
88
  AnswersQuestions,
85
- CollectsArtifacts {
89
+ CollectsArtifacts,
90
+ TellsTime
91
+ {
86
92
  private readonly abilities: Map<AbilityType<Ability>, Ability> = new Map<AbilityType<Ability>, Ability>();
87
93
 
88
94
  constructor(
@@ -183,6 +189,13 @@ export class Actor implements PerformsActivities,
183
189
  ));
184
190
  }
185
191
 
192
+ /**
193
+ * Returns current time.
194
+ */
195
+ currentTime(): Timestamp {
196
+ return this.stage.currentTime();
197
+ }
198
+
186
199
  /**
187
200
  * Instructs the actor to invoke {@apilink Discardable.discard} method on any
188
201
  * {@apilink Discardable} {@apilink Ability} it's been configured with.
@@ -1,4 +1,4 @@
1
- import { Question } from './Question';
1
+ import type { Question } from './Question';
2
2
 
3
3
  /**
4
4
  * A union type that provides a convenient way to represent any value
@@ -1,4 +1,4 @@
1
- import { Question } from './Question';
1
+ import type { Question } from './Question';
2
2
 
3
3
  /**
4
4
  * Describes the type of answer a given {@apilink Answerable} would
@@ -1,7 +1,7 @@
1
- import { UsesAbilities } from './abilities';
1
+ import type { UsesAbilities } from './abilities';
2
2
  import { Activity } from './Activity';
3
- import { CollectsArtifacts } from './artifacts';
4
- import { AnswersQuestions } from './questions';
3
+ import type { CollectsArtifacts } from './artifacts';
4
+ import type { AnswersQuestions } from './questions';
5
5
 
6
6
  /**
7
7
  * **Interactions** are low-level {@apilink Activity|activities} that encapsulate
@@ -1,4 +1,4 @@
1
- import { Answerable } from './Answerable';
1
+ import type { Answerable } from './Answerable';
2
2
 
3
3
  /**
4
4
  * `Optional` is a container object, which holds a value that may or may not be "present",
@@ -3,14 +3,14 @@ import * as util from 'util'; // eslint-disable-line unicorn/import-style
3
3
 
4
4
  import { LogicError } from '../errors';
5
5
  import { f, inspectedObject } from '../io';
6
- import { UsesAbilities } from './abilities';
7
- import { Answerable } from './Answerable';
6
+ import type { UsesAbilities } from './abilities';
7
+ import type { Answerable } from './Answerable';
8
8
  import { Interaction } from './Interaction';
9
- import { Optional } from './Optional';
10
- import { AnswersQuestions } from './questions/AnswersQuestions';
9
+ import type { Optional } from './Optional';
10
+ import type { AnswersQuestions } from './questions/AnswersQuestions';
11
11
  import { Unanswered } from './questions/Unanswered';
12
- import { RecursivelyAnswered } from './RecursivelyAnswered';
13
- import { WithAnswerableProperties } from './WithAnswerableProperties';
12
+ import type { RecursivelyAnswered } from './RecursivelyAnswered';
13
+ import type { WithAnswerableProperties } from './WithAnswerableProperties';
14
14
 
15
15
  /**
16
16
  * **Questions** describe how {@apilink Actor|actors} should query the system under test or the test environment to retrieve some information.
@@ -1,4 +1,4 @@
1
- import { Question } from './Question';
1
+ import type { Question } from './Question';
2
2
 
3
3
  /**
4
4
  * Describes a recursively resolved plain JavaScript {@apilink WithAnswerableProperties}.
@@ -1,5 +1,5 @@
1
1
  import { ImplementationPendingError } from '../errors';
2
- import { PerformsActivities } from './activities';
2
+ import type { PerformsActivities } from './activities';
3
3
  import { Activity } from './Activity';
4
4
 
5
5
  /**
@@ -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