@camcima/finita 2.0.0 → 2.1.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 (297) hide show
  1. package/LICENSE +21 -0
  2. package/dist/index.cjs +1422 -0
  3. package/dist/index.cjs.map +1 -0
  4. package/dist/index.d.cts +525 -0
  5. package/dist/index.d.ts +525 -22
  6. package/dist/index.js +1356 -26
  7. package/dist/index.js.map +1 -1
  8. package/package.json +21 -4
  9. package/dist/Dispatcher.d.ts +0 -11
  10. package/dist/Dispatcher.d.ts.map +0 -1
  11. package/dist/Dispatcher.js +0 -30
  12. package/dist/Dispatcher.js.map +0 -1
  13. package/dist/Event.d.ts +0 -22
  14. package/dist/Event.d.ts.map +0 -1
  15. package/dist/Event.js +0 -54
  16. package/dist/Event.js.map +0 -1
  17. package/dist/MaybePromise.d.ts +0 -2
  18. package/dist/MaybePromise.d.ts.map +0 -1
  19. package/dist/MaybePromise.js +0 -2
  20. package/dist/MaybePromise.js.map +0 -1
  21. package/dist/Process.d.ts +0 -15
  22. package/dist/Process.d.ts.map +0 -1
  23. package/dist/Process.js +0 -43
  24. package/dist/Process.js.map +0 -1
  25. package/dist/State.d.ts +0 -22
  26. package/dist/State.d.ts.map +0 -1
  27. package/dist/State.js +0 -65
  28. package/dist/State.js.map +0 -1
  29. package/dist/StateCollection.d.ts +0 -14
  30. package/dist/StateCollection.d.ts.map +0 -1
  31. package/dist/StateCollection.js +0 -37
  32. package/dist/StateCollection.js.map +0 -1
  33. package/dist/Statemachine.d.ts +0 -45
  34. package/dist/Statemachine.d.ts.map +0 -1
  35. package/dist/Statemachine.js +0 -206
  36. package/dist/Statemachine.js.map +0 -1
  37. package/dist/Transition.d.ts +0 -19
  38. package/dist/Transition.d.ts.map +0 -1
  39. package/dist/Transition.js +0 -46
  40. package/dist/Transition.js.map +0 -1
  41. package/dist/condition/AndComposite.d.ts +0 -9
  42. package/dist/condition/AndComposite.d.ts.map +0 -1
  43. package/dist/condition/AndComposite.js +0 -23
  44. package/dist/condition/AndComposite.js.map +0 -1
  45. package/dist/condition/CallbackCondition.d.ts +0 -11
  46. package/dist/condition/CallbackCondition.d.ts.map +0 -1
  47. package/dist/condition/CallbackCondition.js +0 -15
  48. package/dist/condition/CallbackCondition.js.map +0 -1
  49. package/dist/condition/Contradiction.d.ts +0 -8
  50. package/dist/condition/Contradiction.d.ts.map +0 -1
  51. package/dist/condition/Contradiction.js +0 -13
  52. package/dist/condition/Contradiction.js.map +0 -1
  53. package/dist/condition/Not.d.ts +0 -8
  54. package/dist/condition/Not.d.ts.map +0 -1
  55. package/dist/condition/Not.js +0 -13
  56. package/dist/condition/Not.js.map +0 -1
  57. package/dist/condition/OrComposite.d.ts +0 -9
  58. package/dist/condition/OrComposite.d.ts.map +0 -1
  59. package/dist/condition/OrComposite.js +0 -23
  60. package/dist/condition/OrComposite.js.map +0 -1
  61. package/dist/condition/Tautology.d.ts +0 -8
  62. package/dist/condition/Tautology.d.ts.map +0 -1
  63. package/dist/condition/Tautology.js +0 -13
  64. package/dist/condition/Tautology.js.map +0 -1
  65. package/dist/condition/Timeout.d.ts +0 -10
  66. package/dist/condition/Timeout.d.ts.map +0 -1
  67. package/dist/condition/Timeout.js +0 -30
  68. package/dist/condition/Timeout.js.map +0 -1
  69. package/dist/condition/index.d.ts +0 -9
  70. package/dist/condition/index.d.ts.map +0 -1
  71. package/dist/condition/index.js +0 -8
  72. package/dist/condition/index.js.map +0 -1
  73. package/dist/error/DuplicateStateError.d.ts +0 -5
  74. package/dist/error/DuplicateStateError.d.ts.map +0 -1
  75. package/dist/error/DuplicateStateError.js +0 -9
  76. package/dist/error/DuplicateStateError.js.map +0 -1
  77. package/dist/error/LockCanNotBeAcquiredError.d.ts +0 -4
  78. package/dist/error/LockCanNotBeAcquiredError.d.ts.map +0 -1
  79. package/dist/error/LockCanNotBeAcquiredError.js +0 -7
  80. package/dist/error/LockCanNotBeAcquiredError.js.map +0 -1
  81. package/dist/error/WrongEventForStateError.d.ts +0 -6
  82. package/dist/error/WrongEventForStateError.d.ts.map +0 -1
  83. package/dist/error/WrongEventForStateError.js +0 -11
  84. package/dist/error/WrongEventForStateError.js.map +0 -1
  85. package/dist/error/index.d.ts +0 -4
  86. package/dist/error/index.d.ts.map +0 -1
  87. package/dist/error/index.js +0 -4
  88. package/dist/error/index.js.map +0 -1
  89. package/dist/factory/AbstractNamedProcessDetector.d.ts +0 -10
  90. package/dist/factory/AbstractNamedProcessDetector.d.ts.map +0 -1
  91. package/dist/factory/AbstractNamedProcessDetector.js +0 -18
  92. package/dist/factory/AbstractNamedProcessDetector.js.map +0 -1
  93. package/dist/factory/Factory.d.ts +0 -22
  94. package/dist/factory/Factory.d.ts.map +0 -1
  95. package/dist/factory/Factory.js +0 -42
  96. package/dist/factory/Factory.js.map +0 -1
  97. package/dist/factory/SingleProcessDetector.d.ts +0 -8
  98. package/dist/factory/SingleProcessDetector.d.ts.map +0 -1
  99. package/dist/factory/SingleProcessDetector.js +0 -10
  100. package/dist/factory/SingleProcessDetector.js.map +0 -1
  101. package/dist/factory/StatefulStateNameDetector.d.ts +0 -6
  102. package/dist/factory/StatefulStateNameDetector.d.ts.map +0 -1
  103. package/dist/factory/StatefulStateNameDetector.js +0 -15
  104. package/dist/factory/StatefulStateNameDetector.js.map +0 -1
  105. package/dist/factory/index.d.ts +0 -5
  106. package/dist/factory/index.d.ts.map +0 -1
  107. package/dist/factory/index.js +0 -5
  108. package/dist/factory/index.js.map +0 -1
  109. package/dist/filter/ActiveTransitionFilter.d.ts +0 -6
  110. package/dist/filter/ActiveTransitionFilter.d.ts.map +0 -1
  111. package/dist/filter/ActiveTransitionFilter.js +0 -12
  112. package/dist/filter/ActiveTransitionFilter.js.map +0 -1
  113. package/dist/filter/FilterStateByEvent.d.ts +0 -5
  114. package/dist/filter/FilterStateByEvent.d.ts.map +0 -1
  115. package/dist/filter/FilterStateByEvent.js +0 -10
  116. package/dist/filter/FilterStateByEvent.js.map +0 -1
  117. package/dist/filter/FilterStateByFinalState.d.ts +0 -5
  118. package/dist/filter/FilterStateByFinalState.d.ts.map +0 -1
  119. package/dist/filter/FilterStateByFinalState.js +0 -15
  120. package/dist/filter/FilterStateByFinalState.js.map +0 -1
  121. package/dist/filter/FilterStateByTransition.d.ts +0 -8
  122. package/dist/filter/FilterStateByTransition.d.ts.map +0 -1
  123. package/dist/filter/FilterStateByTransition.js +0 -16
  124. package/dist/filter/FilterStateByTransition.js.map +0 -1
  125. package/dist/filter/FilterTransitionByEvent.d.ts +0 -5
  126. package/dist/filter/FilterTransitionByEvent.d.ts.map +0 -1
  127. package/dist/filter/FilterTransitionByEvent.js +0 -10
  128. package/dist/filter/FilterTransitionByEvent.js.map +0 -1
  129. package/dist/filter/index.d.ts +0 -6
  130. package/dist/filter/index.d.ts.map +0 -1
  131. package/dist/filter/index.js +0 -6
  132. package/dist/filter/index.js.map +0 -1
  133. package/dist/graph/GraphBuilder.d.ts +0 -37
  134. package/dist/graph/GraphBuilder.d.ts.map +0 -1
  135. package/dist/graph/GraphBuilder.js +0 -132
  136. package/dist/graph/GraphBuilder.js.map +0 -1
  137. package/dist/graph/index.d.ts +0 -3
  138. package/dist/graph/index.d.ts.map +0 -1
  139. package/dist/graph/index.js +0 -2
  140. package/dist/graph/index.js.map +0 -1
  141. package/dist/index.d.ts.map +0 -1
  142. package/dist/interfaces/ConditionInterface.d.ts +0 -6
  143. package/dist/interfaces/ConditionInterface.d.ts.map +0 -1
  144. package/dist/interfaces/ConditionInterface.js +0 -2
  145. package/dist/interfaces/ConditionInterface.js.map +0 -1
  146. package/dist/interfaces/DispatcherInterface.d.ts +0 -11
  147. package/dist/interfaces/DispatcherInterface.d.ts.map +0 -1
  148. package/dist/interfaces/DispatcherInterface.js +0 -2
  149. package/dist/interfaces/DispatcherInterface.js.map +0 -1
  150. package/dist/interfaces/EventInterface.d.ts +0 -12
  151. package/dist/interfaces/EventInterface.d.ts.map +0 -1
  152. package/dist/interfaces/EventInterface.js +0 -2
  153. package/dist/interfaces/EventInterface.js.map +0 -1
  154. package/dist/interfaces/FactoryInterface.d.ts +0 -13
  155. package/dist/interfaces/FactoryInterface.d.ts.map +0 -1
  156. package/dist/interfaces/FactoryInterface.js +0 -2
  157. package/dist/interfaces/FactoryInterface.js.map +0 -1
  158. package/dist/interfaces/LastStateHasChangedDateInterface.d.ts +0 -4
  159. package/dist/interfaces/LastStateHasChangedDateInterface.d.ts.map +0 -1
  160. package/dist/interfaces/LastStateHasChangedDateInterface.js +0 -2
  161. package/dist/interfaces/LastStateHasChangedDateInterface.js.map +0 -1
  162. package/dist/interfaces/LockAdapterInterface.d.ts +0 -7
  163. package/dist/interfaces/LockAdapterInterface.d.ts.map +0 -1
  164. package/dist/interfaces/LockAdapterInterface.js +0 -2
  165. package/dist/interfaces/LockAdapterInterface.js.map +0 -1
  166. package/dist/interfaces/LoggerInterface.d.ts +0 -4
  167. package/dist/interfaces/LoggerInterface.d.ts.map +0 -1
  168. package/dist/interfaces/LoggerInterface.js +0 -2
  169. package/dist/interfaces/LoggerInterface.js.map +0 -1
  170. package/dist/interfaces/Metadata.d.ts +0 -4
  171. package/dist/interfaces/Metadata.d.ts.map +0 -1
  172. package/dist/interfaces/Metadata.js +0 -2
  173. package/dist/interfaces/Metadata.js.map +0 -1
  174. package/dist/interfaces/MutexFactoryInterface.d.ts +0 -6
  175. package/dist/interfaces/MutexFactoryInterface.d.ts.map +0 -1
  176. package/dist/interfaces/MutexFactoryInterface.js +0 -2
  177. package/dist/interfaces/MutexFactoryInterface.js.map +0 -1
  178. package/dist/interfaces/MutexInterface.d.ts +0 -8
  179. package/dist/interfaces/MutexInterface.d.ts.map +0 -1
  180. package/dist/interfaces/MutexInterface.js +0 -2
  181. package/dist/interfaces/MutexInterface.js.map +0 -1
  182. package/dist/interfaces/Named.d.ts +0 -4
  183. package/dist/interfaces/Named.d.ts.map +0 -1
  184. package/dist/interfaces/Named.js +0 -2
  185. package/dist/interfaces/Named.js.map +0 -1
  186. package/dist/interfaces/Observer.d.ts +0 -11
  187. package/dist/interfaces/Observer.d.ts.map +0 -1
  188. package/dist/interfaces/Observer.js +0 -2
  189. package/dist/interfaces/Observer.js.map +0 -1
  190. package/dist/interfaces/ProcessDetectorInterface.d.ts +0 -5
  191. package/dist/interfaces/ProcessDetectorInterface.d.ts.map +0 -1
  192. package/dist/interfaces/ProcessDetectorInterface.js +0 -2
  193. package/dist/interfaces/ProcessDetectorInterface.js.map +0 -1
  194. package/dist/interfaces/ProcessInterface.d.ts +0 -7
  195. package/dist/interfaces/ProcessInterface.d.ts.map +0 -1
  196. package/dist/interfaces/ProcessInterface.js +0 -2
  197. package/dist/interfaces/ProcessInterface.js.map +0 -1
  198. package/dist/interfaces/StateCollectionInterface.d.ts +0 -7
  199. package/dist/interfaces/StateCollectionInterface.d.ts.map +0 -1
  200. package/dist/interfaces/StateCollectionInterface.js +0 -2
  201. package/dist/interfaces/StateCollectionInterface.js.map +0 -1
  202. package/dist/interfaces/StateInterface.d.ts +0 -16
  203. package/dist/interfaces/StateInterface.d.ts.map +0 -1
  204. package/dist/interfaces/StateInterface.js +0 -2
  205. package/dist/interfaces/StateInterface.js.map +0 -1
  206. package/dist/interfaces/StateNameDetectorInterface.d.ts +0 -4
  207. package/dist/interfaces/StateNameDetectorInterface.d.ts.map +0 -1
  208. package/dist/interfaces/StateNameDetectorInterface.js +0 -2
  209. package/dist/interfaces/StateNameDetectorInterface.js.map +0 -1
  210. package/dist/interfaces/StatefulInterface.d.ts +0 -5
  211. package/dist/interfaces/StatefulInterface.d.ts.map +0 -1
  212. package/dist/interfaces/StatefulInterface.js +0 -2
  213. package/dist/interfaces/StatefulInterface.js.map +0 -1
  214. package/dist/interfaces/StatemachineInterface.d.ts +0 -20
  215. package/dist/interfaces/StatemachineInterface.d.ts.map +0 -1
  216. package/dist/interfaces/StatemachineInterface.js +0 -2
  217. package/dist/interfaces/StatemachineInterface.js.map +0 -1
  218. package/dist/interfaces/TransitionInterface.d.ts +0 -12
  219. package/dist/interfaces/TransitionInterface.d.ts.map +0 -1
  220. package/dist/interfaces/TransitionInterface.js +0 -2
  221. package/dist/interfaces/TransitionInterface.js.map +0 -1
  222. package/dist/interfaces/TransitionSelectorInterface.d.ts +0 -5
  223. package/dist/interfaces/TransitionSelectorInterface.d.ts.map +0 -1
  224. package/dist/interfaces/TransitionSelectorInterface.js +0 -2
  225. package/dist/interfaces/TransitionSelectorInterface.js.map +0 -1
  226. package/dist/interfaces/Weighted.d.ts +0 -4
  227. package/dist/interfaces/Weighted.d.ts.map +0 -1
  228. package/dist/interfaces/Weighted.js +0 -2
  229. package/dist/interfaces/Weighted.js.map +0 -1
  230. package/dist/interfaces/index.d.ts +0 -24
  231. package/dist/interfaces/index.d.ts.map +0 -1
  232. package/dist/interfaces/index.js +0 -2
  233. package/dist/interfaces/index.js.map +0 -1
  234. package/dist/mutex/LockAdapterMutex.d.ts +0 -13
  235. package/dist/mutex/LockAdapterMutex.d.ts.map +0 -1
  236. package/dist/mutex/LockAdapterMutex.js +0 -32
  237. package/dist/mutex/LockAdapterMutex.js.map +0 -1
  238. package/dist/mutex/MutexFactory.d.ts +0 -11
  239. package/dist/mutex/MutexFactory.d.ts.map +0 -1
  240. package/dist/mutex/MutexFactory.js +0 -13
  241. package/dist/mutex/MutexFactory.js.map +0 -1
  242. package/dist/mutex/NullMutex.d.ts +0 -9
  243. package/dist/mutex/NullMutex.d.ts.map +0 -1
  244. package/dist/mutex/NullMutex.js +0 -18
  245. package/dist/mutex/NullMutex.js.map +0 -1
  246. package/dist/mutex/index.d.ts +0 -5
  247. package/dist/mutex/index.d.ts.map +0 -1
  248. package/dist/mutex/index.js +0 -4
  249. package/dist/mutex/index.js.map +0 -1
  250. package/dist/observer/CallbackObserver.d.ts +0 -8
  251. package/dist/observer/CallbackObserver.d.ts.map +0 -1
  252. package/dist/observer/CallbackObserver.js +0 -14
  253. package/dist/observer/CallbackObserver.js.map +0 -1
  254. package/dist/observer/OnEnterObserver.d.ts +0 -8
  255. package/dist/observer/OnEnterObserver.d.ts.map +0 -1
  256. package/dist/observer/OnEnterObserver.js +0 -28
  257. package/dist/observer/OnEnterObserver.js.map +0 -1
  258. package/dist/observer/StatefulStatusChanger.d.ts +0 -5
  259. package/dist/observer/StatefulStatusChanger.d.ts.map +0 -1
  260. package/dist/observer/StatefulStatusChanger.js +0 -24
  261. package/dist/observer/StatefulStatusChanger.js.map +0 -1
  262. package/dist/observer/TransitionLogger.d.ts +0 -9
  263. package/dist/observer/TransitionLogger.d.ts.map +0 -1
  264. package/dist/observer/TransitionLogger.js +0 -62
  265. package/dist/observer/TransitionLogger.js.map +0 -1
  266. package/dist/observer/index.d.ts +0 -5
  267. package/dist/observer/index.d.ts.map +0 -1
  268. package/dist/observer/index.js +0 -5
  269. package/dist/observer/index.js.map +0 -1
  270. package/dist/selector/OneOrNoneActiveTransition.d.ts +0 -6
  271. package/dist/selector/OneOrNoneActiveTransition.d.ts.map +0 -1
  272. package/dist/selector/OneOrNoneActiveTransition.js +0 -14
  273. package/dist/selector/OneOrNoneActiveTransition.js.map +0 -1
  274. package/dist/selector/ScoreTransition.d.ts +0 -9
  275. package/dist/selector/ScoreTransition.d.ts.map +0 -1
  276. package/dist/selector/ScoreTransition.js +0 -34
  277. package/dist/selector/ScoreTransition.js.map +0 -1
  278. package/dist/selector/WeightTransition.d.ts +0 -9
  279. package/dist/selector/WeightTransition.d.ts.map +0 -1
  280. package/dist/selector/WeightTransition.js +0 -27
  281. package/dist/selector/WeightTransition.js.map +0 -1
  282. package/dist/selector/index.d.ts +0 -4
  283. package/dist/selector/index.d.ts.map +0 -1
  284. package/dist/selector/index.js +0 -4
  285. package/dist/selector/index.js.map +0 -1
  286. package/dist/util/SetupHelper.d.ts +0 -17
  287. package/dist/util/SetupHelper.d.ts.map +0 -1
  288. package/dist/util/SetupHelper.js +0 -48
  289. package/dist/util/SetupHelper.js.map +0 -1
  290. package/dist/util/StateCollectionMerger.d.ts +0 -23
  291. package/dist/util/StateCollectionMerger.d.ts.map +0 -1
  292. package/dist/util/StateCollectionMerger.js +0 -83
  293. package/dist/util/StateCollectionMerger.js.map +0 -1
  294. package/dist/util/index.d.ts +0 -3
  295. package/dist/util/index.d.ts.map +0 -1
  296. package/dist/util/index.js +0 -3
  297. package/dist/util/index.js.map +0 -1
@@ -1,30 +0,0 @@
1
- function isLastStateHasChangedDate(obj) {
2
- return (typeof obj === "object" &&
3
- obj !== null &&
4
- "getLastStateHasChangedDate" in obj &&
5
- typeof obj
6
- .getLastStateHasChangedDate === "function");
7
- }
8
- export class Timeout {
9
- timeoutMs;
10
- label;
11
- constructor(timeoutMs, label) {
12
- this.timeoutMs = timeoutMs;
13
- this.label = label ?? `${timeoutMs}ms`;
14
- }
15
- getName() {
16
- return `Timeout: ${this.label}`;
17
- }
18
- getLastStateHasChangedDate(subject, _context) {
19
- if (isLastStateHasChangedDate(subject)) {
20
- return subject.getLastStateHasChangedDate();
21
- }
22
- throw new Error("Subject must implement LastStateHasChangedDateInterface");
23
- }
24
- checkCondition(subject, context) {
25
- const date = new Date(this.getLastStateHasChangedDate(subject, context).getTime());
26
- date.setTime(date.getTime() + this.timeoutMs);
27
- return date <= new Date();
28
- }
29
- }
30
- //# sourceMappingURL=Timeout.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Timeout.js","sourceRoot":"","sources":["../../src/condition/Timeout.ts"],"names":[],"mappings":"AAGA,SAAS,yBAAyB,CAChC,GAAY;IAEZ,OAAO,CACL,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,KAAK,IAAI;QACZ,4BAA4B,IAAI,GAAG;QACnC,OAAQ,GAAwC;aAC7C,0BAA0B,KAAK,UAAU,CAC7C,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,OAAO;IACD,SAAS,CAAS;IAClB,KAAK,CAAS;IAE/B,YAAY,SAAiB,EAAE,KAAc;QAC3C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,GAAG,SAAS,IAAI,CAAC;IACzC,CAAC;IAED,OAAO;QACL,OAAO,YAAY,IAAI,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;IAES,0BAA0B,CAClC,OAAgB,EAChB,QAA8B;QAE9B,IAAI,yBAAyB,CAAC,OAAO,CAAC,EAAE,CAAC;YACvC,OAAO,OAAO,CAAC,0BAA0B,EAAE,CAAC;QAC9C,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IAED,cAAc,CAAC,OAAgB,EAAE,OAA6B;QAC5D,MAAM,IAAI,GAAG,IAAI,IAAI,CACnB,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,OAAO,EAAE,CAC5D,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9C,OAAO,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;IAC5B,CAAC;CACF"}
@@ -1,9 +0,0 @@
1
- export { Tautology } from "./Tautology.js";
2
- export { Contradiction } from "./Contradiction.js";
3
- export { CallbackCondition } from "./CallbackCondition.js";
4
- export type { ConditionCallbackFn } from "./CallbackCondition.js";
5
- export { Timeout } from "./Timeout.js";
6
- export { AndComposite } from "./AndComposite.js";
7
- export { OrComposite } from "./OrComposite.js";
8
- export { Not } from "./Not.js";
9
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/condition/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC"}
@@ -1,8 +0,0 @@
1
- export { Tautology } from "./Tautology.js";
2
- export { Contradiction } from "./Contradiction.js";
3
- export { CallbackCondition } from "./CallbackCondition.js";
4
- export { Timeout } from "./Timeout.js";
5
- export { AndComposite } from "./AndComposite.js";
6
- export { OrComposite } from "./OrComposite.js";
7
- export { Not } from "./Not.js";
8
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/condition/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC"}
@@ -1,5 +0,0 @@
1
- export declare class DuplicateStateError extends Error {
2
- readonly stateName: string;
3
- constructor(stateName: string);
4
- }
5
- //# sourceMappingURL=DuplicateStateError.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DuplicateStateError.d.ts","sourceRoot":"","sources":["../../src/error/DuplicateStateError.ts"],"names":[],"mappings":"AAAA,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAEf,SAAS,EAAE,MAAM;CAO9B"}
@@ -1,9 +0,0 @@
1
- export class DuplicateStateError extends Error {
2
- stateName;
3
- constructor(stateName) {
4
- super(`There is already a different state with name "${stateName}" in this collection`);
5
- this.name = "DuplicateStateError";
6
- this.stateName = stateName;
7
- }
8
- }
9
- //# sourceMappingURL=DuplicateStateError.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DuplicateStateError.js","sourceRoot":"","sources":["../../src/error/DuplicateStateError.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IACnC,SAAS,CAAS;IAE3B,YAAY,SAAiB;QAC3B,KAAK,CACH,iDAAiD,SAAS,sBAAsB,CACjF,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF"}
@@ -1,4 +0,0 @@
1
- export declare class LockCanNotBeAcquiredError extends Error {
2
- constructor(message?: string);
3
- }
4
- //# sourceMappingURL=LockCanNotBeAcquiredError.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LockCanNotBeAcquiredError.d.ts","sourceRoot":"","sources":["../../src/error/LockCanNotBeAcquiredError.ts"],"names":[],"mappings":"AAAA,qBAAa,yBAA0B,SAAQ,KAAK;gBACtC,OAAO,SAA8B;CAIlD"}
@@ -1,7 +0,0 @@
1
- export class LockCanNotBeAcquiredError extends Error {
2
- constructor(message = "Lock can not be acquired!") {
3
- super(message);
4
- this.name = "LockCanNotBeAcquiredError";
5
- }
6
- }
7
- //# sourceMappingURL=LockCanNotBeAcquiredError.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LockCanNotBeAcquiredError.js","sourceRoot":"","sources":["../../src/error/LockCanNotBeAcquiredError.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAClD,YAAY,OAAO,GAAG,2BAA2B;QAC/C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF"}
@@ -1,6 +0,0 @@
1
- export declare class WrongEventForStateError extends Error {
2
- readonly stateName: string;
3
- readonly eventName: string;
4
- constructor(stateName: string, eventName: string);
5
- }
6
- //# sourceMappingURL=WrongEventForStateError.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WrongEventForStateError.d.ts","sourceRoot":"","sources":["../../src/error/WrongEventForStateError.ts"],"names":[],"mappings":"AAAA,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAEf,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAMjD"}
@@ -1,11 +0,0 @@
1
- export class WrongEventForStateError extends Error {
2
- stateName;
3
- eventName;
4
- constructor(stateName, eventName) {
5
- super(`Current state "${stateName}" doesn't have event "${eventName}"`);
6
- this.name = "WrongEventForStateError";
7
- this.stateName = stateName;
8
- this.eventName = eventName;
9
- }
10
- }
11
- //# sourceMappingURL=WrongEventForStateError.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WrongEventForStateError.js","sourceRoot":"","sources":["../../src/error/WrongEventForStateError.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IACvC,SAAS,CAAS;IAClB,SAAS,CAAS;IAE3B,YAAY,SAAiB,EAAE,SAAiB;QAC9C,KAAK,CAAC,kBAAkB,SAAS,yBAAyB,SAAS,GAAG,CAAC,CAAC;QACxE,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF"}
@@ -1,4 +0,0 @@
1
- export { WrongEventForStateError } from "./WrongEventForStateError.js";
2
- export { LockCanNotBeAcquiredError } from "./LockCanNotBeAcquiredError.js";
3
- export { DuplicateStateError } from "./DuplicateStateError.js";
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/error/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -1,4 +0,0 @@
1
- export { WrongEventForStateError } from "./WrongEventForStateError.js";
2
- export { LockCanNotBeAcquiredError } from "./LockCanNotBeAcquiredError.js";
3
- export { DuplicateStateError } from "./DuplicateStateError.js";
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/error/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -1,10 +0,0 @@
1
- import type { ProcessDetectorInterface } from "../interfaces/ProcessDetectorInterface.js";
2
- import type { ProcessInterface } from "../interfaces/ProcessInterface.js";
3
- export declare abstract class AbstractNamedProcessDetector<TSubject = unknown> implements ProcessDetectorInterface<TSubject> {
4
- private readonly processes;
5
- protected abstract detectProcessName(subject: TSubject): string;
6
- addProcess(process: ProcessInterface): void;
7
- hasProcess(name: string): boolean;
8
- detectProcess(subject: TSubject): ProcessInterface;
9
- }
10
- //# sourceMappingURL=AbstractNamedProcessDetector.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AbstractNamedProcessDetector.d.ts","sourceRoot":"","sources":["../../src/factory/AbstractNamedProcessDetector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAC1F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,8BAAsB,4BAA4B,CAAC,QAAQ,GAAG,OAAO,CACnE,YAAW,wBAAwB,CAAC,QAAQ,CAAC;IAE7C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA4C;IAEtE,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,GAAG,MAAM;IAE/D,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAI3C,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIjC,aAAa,CAAC,OAAO,EAAE,QAAQ,GAAG,gBAAgB;CAQnD"}
@@ -1,18 +0,0 @@
1
- export class AbstractNamedProcessDetector {
2
- processes = new Map();
3
- addProcess(process) {
4
- this.processes.set(process.getName(), process);
5
- }
6
- hasProcess(name) {
7
- return this.processes.has(name);
8
- }
9
- detectProcess(subject) {
10
- const name = this.detectProcessName(subject);
11
- const process = this.processes.get(name);
12
- if (!process) {
13
- throw new Error(`Process "${name}" not found`);
14
- }
15
- return process;
16
- }
17
- }
18
- //# sourceMappingURL=AbstractNamedProcessDetector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AbstractNamedProcessDetector.js","sourceRoot":"","sources":["../../src/factory/AbstractNamedProcessDetector.ts"],"names":[],"mappings":"AAGA,MAAM,OAAgB,4BAA4B;IAG/B,SAAS,GAAkC,IAAI,GAAG,EAAE,CAAC;IAItE,UAAU,CAAC,OAAyB;QAClC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,UAAU,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,aAAa,CAAC,OAAiB;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,aAAa,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
@@ -1,22 +0,0 @@
1
- import type { FactoryInterface } from "../interfaces/FactoryInterface.js";
2
- import type { ProcessDetectorInterface } from "../interfaces/ProcessDetectorInterface.js";
3
- import type { StateNameDetectorInterface } from "../interfaces/StateNameDetectorInterface.js";
4
- import type { TransitionSelectorInterface } from "../interfaces/TransitionSelectorInterface.js";
5
- import type { MutexFactoryInterface } from "../interfaces/MutexFactoryInterface.js";
6
- import type { StatemachineInterface } from "../interfaces/StatemachineInterface.js";
7
- import type { Observer } from "../interfaces/Observer.js";
8
- export declare class Factory<TSubject = unknown> implements FactoryInterface<TSubject> {
9
- private readonly processDetector;
10
- private readonly stateNameDetector;
11
- private readonly statemachineObservers;
12
- private transitionSelector;
13
- private mutexFactory;
14
- constructor(processDetector: ProcessDetectorInterface<TSubject>, stateNameDetector?: StateNameDetectorInterface<TSubject> | null);
15
- setMutexFactory(factory: MutexFactoryInterface<TSubject> | null): void;
16
- setTransitionSelector(selector: TransitionSelectorInterface<TSubject>): void;
17
- attachStatemachineObserver(observer: Observer): void;
18
- detachStatemachineObserver(observer: Observer): void;
19
- getStatemachineObservers(): Iterable<Observer>;
20
- createStatemachine(subject: TSubject): Promise<StatemachineInterface<TSubject>>;
21
- }
22
- //# sourceMappingURL=Factory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Factory.d.ts","sourceRoot":"","sources":["../../src/factory/Factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAC1F,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;AAC9F,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAChG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AACpF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AACpF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAG1D,qBAAa,OAAO,CAAC,QAAQ,GAAG,OAAO,CACrC,YAAW,gBAAgB,CAAC,QAAQ,CAAC;IAErC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqC;IACrE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA8C;IAChF,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA4B;IAClE,OAAO,CAAC,kBAAkB,CACnB;IACP,OAAO,CAAC,YAAY,CAAgD;gBAGlE,eAAe,EAAE,wBAAwB,CAAC,QAAQ,CAAC,EACnD,iBAAiB,CAAC,EAAE,0BAA0B,CAAC,QAAQ,CAAC,GAAG,IAAI;IAMjE,eAAe,CAAC,OAAO,EAAE,qBAAqB,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,IAAI;IAItE,qBAAqB,CACnB,QAAQ,EAAE,2BAA2B,CAAC,QAAQ,CAAC,GAC9C,IAAI;IAIP,0BAA0B,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAIpD,0BAA0B,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAIpD,wBAAwB,IAAI,QAAQ,CAAC,QAAQ,CAAC;IAIxC,kBAAkB,CACtB,OAAO,EAAE,QAAQ,GAChB,OAAO,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;CAyB5C"}
@@ -1,42 +0,0 @@
1
- import { Statemachine } from "../Statemachine.js";
2
- export class Factory {
3
- processDetector;
4
- stateNameDetector;
5
- statemachineObservers = new Set();
6
- transitionSelector = null;
7
- mutexFactory = null;
8
- constructor(processDetector, stateNameDetector) {
9
- this.processDetector = processDetector;
10
- this.stateNameDetector = stateNameDetector ?? null;
11
- }
12
- setMutexFactory(factory) {
13
- this.mutexFactory = factory;
14
- }
15
- setTransitionSelector(selector) {
16
- this.transitionSelector = selector;
17
- }
18
- attachStatemachineObserver(observer) {
19
- this.statemachineObservers.add(observer);
20
- }
21
- detachStatemachineObserver(observer) {
22
- this.statemachineObservers.delete(observer);
23
- }
24
- getStatemachineObservers() {
25
- return this.statemachineObservers;
26
- }
27
- async createStatemachine(subject) {
28
- const process = this.processDetector.detectProcess(subject);
29
- const stateName = this.stateNameDetector
30
- ? this.stateNameDetector.detectCurrentStateName(subject)
31
- : null;
32
- const mutex = this.mutexFactory
33
- ? await this.mutexFactory.createMutex(subject)
34
- : null;
35
- const statemachine = new Statemachine(subject, process, stateName, this.transitionSelector, mutex);
36
- for (const observer of this.statemachineObservers) {
37
- statemachine.attach(observer);
38
- }
39
- return statemachine;
40
- }
41
- }
42
- //# sourceMappingURL=Factory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Factory.js","sourceRoot":"","sources":["../../src/factory/Factory.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,OAAO,OAAO;IAGD,eAAe,CAAqC;IACpD,iBAAiB,CAA8C;IAC/D,qBAAqB,GAAkB,IAAI,GAAG,EAAE,CAAC;IAC1D,kBAAkB,GACxB,IAAI,CAAC;IACC,YAAY,GAA2C,IAAI,CAAC;IAEpE,YACE,eAAmD,EACnD,iBAA+D;QAE/D,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,IAAI,IAAI,CAAC;IACrD,CAAC;IAED,eAAe,CAAC,OAA+C;QAC7D,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;IAC9B,CAAC;IAED,qBAAqB,CACnB,QAA+C;QAE/C,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC;IACrC,CAAC;IAED,0BAA0B,CAAC,QAAkB;QAC3C,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED,0BAA0B,CAAC,QAAkB;QAC3C,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,wBAAwB;QACtB,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,OAAiB;QAEjB,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAE5D,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB;YACtC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,OAAO,CAAC;YACxD,CAAC,CAAC,IAAI,CAAC;QAET,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY;YAC7B,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC;YAC9C,CAAC,CAAC,IAAI,CAAC;QAET,MAAM,YAAY,GAAG,IAAI,YAAY,CACnC,OAAO,EACP,OAAO,EACP,SAAS,EACT,IAAI,CAAC,kBAAkB,EACvB,KAAK,CACN,CAAC;QAEF,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAClD,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;CACF"}
@@ -1,8 +0,0 @@
1
- import type { ProcessDetectorInterface } from "../interfaces/ProcessDetectorInterface.js";
2
- import type { ProcessInterface } from "../interfaces/ProcessInterface.js";
3
- export declare class SingleProcessDetector<TSubject = unknown> implements ProcessDetectorInterface<TSubject> {
4
- private readonly process;
5
- constructor(process: ProcessInterface);
6
- detectProcess(_subject: TSubject): ProcessInterface;
7
- }
8
- //# sourceMappingURL=SingleProcessDetector.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SingleProcessDetector.d.ts","sourceRoot":"","sources":["../../src/factory/SingleProcessDetector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAC1F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,qBAAa,qBAAqB,CAAC,QAAQ,GAAG,OAAO,CACnD,YAAW,wBAAwB,CAAC,QAAQ,CAAC;IAE7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;gBAE/B,OAAO,EAAE,gBAAgB;IAIrC,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,gBAAgB;CAGpD"}
@@ -1,10 +0,0 @@
1
- export class SingleProcessDetector {
2
- process;
3
- constructor(process) {
4
- this.process = process;
5
- }
6
- detectProcess(_subject) {
7
- return this.process;
8
- }
9
- }
10
- //# sourceMappingURL=SingleProcessDetector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SingleProcessDetector.js","sourceRoot":"","sources":["../../src/factory/SingleProcessDetector.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,qBAAqB;IAGf,OAAO,CAAmB;IAE3C,YAAY,OAAyB;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,aAAa,CAAC,QAAkB;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF"}
@@ -1,6 +0,0 @@
1
- import type { StateNameDetectorInterface } from "../interfaces/StateNameDetectorInterface.js";
2
- import type { StatefulInterface } from "../interfaces/StatefulInterface.js";
3
- export declare class StatefulStateNameDetector implements StateNameDetectorInterface<StatefulInterface> {
4
- detectCurrentStateName(subject: StatefulInterface): string | null;
5
- }
6
- //# sourceMappingURL=StatefulStateNameDetector.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StatefulStateNameDetector.d.ts","sourceRoot":"","sources":["../../src/factory/StatefulStateNameDetector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;AAC9F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAW5E,qBAAa,yBACX,YAAW,0BAA0B,CAAC,iBAAiB,CAAC;IAExD,sBAAsB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI;CAMlE"}
@@ -1,15 +0,0 @@
1
- function isStateful(obj) {
2
- return (typeof obj === "object" &&
3
- obj !== null &&
4
- "getCurrentStateName" in obj &&
5
- typeof obj.getCurrentStateName === "function");
6
- }
7
- export class StatefulStateNameDetector {
8
- detectCurrentStateName(subject) {
9
- if (isStateful(subject)) {
10
- return subject.getCurrentStateName();
11
- }
12
- throw new Error("Subject has to implement the StatefulInterface!");
13
- }
14
- }
15
- //# sourceMappingURL=StatefulStateNameDetector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StatefulStateNameDetector.js","sourceRoot":"","sources":["../../src/factory/StatefulStateNameDetector.ts"],"names":[],"mappings":"AAGA,SAAS,UAAU,CAAC,GAAY;IAC9B,OAAO,CACL,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,KAAK,IAAI;QACZ,qBAAqB,IAAI,GAAG;QAC5B,OAAQ,GAAyB,CAAC,mBAAmB,KAAK,UAAU,CACrE,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,yBAAyB;IAGpC,sBAAsB,CAAC,OAA0B;QAC/C,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,mBAAmB,EAAE,CAAC;QACvC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;CACF"}
@@ -1,5 +0,0 @@
1
- export { Factory } from "./Factory.js";
2
- export { SingleProcessDetector } from "./SingleProcessDetector.js";
3
- export { AbstractNamedProcessDetector } from "./AbstractNamedProcessDetector.js";
4
- export { StatefulStateNameDetector } from "./StatefulStateNameDetector.js";
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/factory/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC"}
@@ -1,5 +0,0 @@
1
- export { Factory } from "./Factory.js";
2
- export { SingleProcessDetector } from "./SingleProcessDetector.js";
3
- export { AbstractNamedProcessDetector } from "./AbstractNamedProcessDetector.js";
4
- export { StatefulStateNameDetector } from "./StatefulStateNameDetector.js";
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/factory/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC"}
@@ -1,6 +0,0 @@
1
- import type { TransitionInterface } from "../interfaces/TransitionInterface.js";
2
- import type { EventInterface } from "../interfaces/EventInterface.js";
3
- export declare class ActiveTransitionFilter {
4
- static filter<TSubject = unknown>(transitions: Iterable<TransitionInterface<TSubject>>, subject: TSubject, context: Map<string, unknown>, event?: EventInterface): Promise<TransitionInterface<TSubject>[]>;
5
- }
6
- //# sourceMappingURL=ActiveTransitionFilter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ActiveTransitionFilter.d.ts","sourceRoot":"","sources":["../../src/filter/ActiveTransitionFilter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEtE,qBAAa,sBAAsB;WACpB,MAAM,CAAC,QAAQ,GAAG,OAAO,EACpC,WAAW,EAAE,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,EACpD,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,CAAC,EAAE,cAAc,GACrB,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC;CAS5C"}
@@ -1,12 +0,0 @@
1
- export class ActiveTransitionFilter {
2
- static async filter(transitions, subject, context, event) {
3
- const active = [];
4
- for (const transition of transitions) {
5
- if (await transition.isActive(subject, context, event)) {
6
- active.push(transition);
7
- }
8
- }
9
- return active;
10
- }
11
- }
12
- //# sourceMappingURL=ActiveTransitionFilter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ActiveTransitionFilter.js","sourceRoot":"","sources":["../../src/filter/ActiveTransitionFilter.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,sBAAsB;IACjC,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,WAAoD,EACpD,OAAiB,EACjB,OAA6B,EAC7B,KAAsB;QAEtB,MAAM,MAAM,GAAoC,EAAE,CAAC;QACnD,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACrC,IAAI,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;gBACvD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
@@ -1,5 +0,0 @@
1
- import type { StateInterface } from "../interfaces/StateInterface.js";
2
- export declare class FilterStateByEvent {
3
- static filter(states: Iterable<StateInterface>, eventName: string): Iterable<StateInterface>;
4
- }
5
- //# sourceMappingURL=FilterStateByEvent.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FilterStateByEvent.d.ts","sourceRoot":"","sources":["../../src/filter/FilterStateByEvent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEtE,qBAAa,kBAAkB;IAC7B,MAAM,CAAE,MAAM,CACZ,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,SAAS,EAAE,MAAM,GAChB,QAAQ,CAAC,cAAc,CAAC;CAO5B"}
@@ -1,10 +0,0 @@
1
- export class FilterStateByEvent {
2
- static *filter(states, eventName) {
3
- for (const state of states) {
4
- if (state.hasEvent(eventName)) {
5
- yield state;
6
- }
7
- }
8
- }
9
- }
10
- //# sourceMappingURL=FilterStateByEvent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FilterStateByEvent.js","sourceRoot":"","sources":["../../src/filter/FilterStateByEvent.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,kBAAkB;IAC7B,MAAM,CAAC,CAAC,MAAM,CACZ,MAAgC,EAChC,SAAiB;QAEjB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC9B,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
@@ -1,5 +0,0 @@
1
- import type { StateInterface } from "../interfaces/StateInterface.js";
2
- export declare class FilterStateByFinalState {
3
- static filter(states: Iterable<StateInterface>): Iterable<StateInterface>;
4
- }
5
- //# sourceMappingURL=FilterStateByFinalState.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FilterStateByFinalState.d.ts","sourceRoot":"","sources":["../../src/filter/FilterStateByFinalState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEtE,qBAAa,uBAAuB;IAClC,MAAM,CAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC,cAAc,CAAC;CAY3E"}
@@ -1,15 +0,0 @@
1
- export class FilterStateByFinalState {
2
- static *filter(states) {
3
- for (const state of states) {
4
- let count = 0;
5
- for (const _transition of state.getTransitions()) {
6
- count++;
7
- break;
8
- }
9
- if (count === 0) {
10
- yield state;
11
- }
12
- }
13
- }
14
- }
15
- //# sourceMappingURL=FilterStateByFinalState.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FilterStateByFinalState.js","sourceRoot":"","sources":["../../src/filter/FilterStateByFinalState.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,uBAAuB;IAClC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAgC;QAC7C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,KAAK,MAAM,WAAW,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;gBACjD,KAAK,EAAE,CAAC;gBACR,MAAM;YACR,CAAC;YACD,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChB,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
@@ -1,8 +0,0 @@
1
- import type { StateInterface } from "../interfaces/StateInterface.js";
2
- /**
3
- * Filters states that have at least one automatic transition (no event name).
4
- */
5
- export declare class FilterStateByTransition {
6
- static filter(states: Iterable<StateInterface>): Iterable<StateInterface>;
7
- }
8
- //# sourceMappingURL=FilterStateByTransition.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FilterStateByTransition.d.ts","sourceRoot":"","sources":["../../src/filter/FilterStateByTransition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEtE;;GAEG;AACH,qBAAa,uBAAuB;IAClC,MAAM,CAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC,cAAc,CAAC;CAU3E"}
@@ -1,16 +0,0 @@
1
- /**
2
- * Filters states that have at least one automatic transition (no event name).
3
- */
4
- export class FilterStateByTransition {
5
- static *filter(states) {
6
- for (const state of states) {
7
- for (const transition of state.getTransitions()) {
8
- if (!transition.getEventName()) {
9
- yield state;
10
- break;
11
- }
12
- }
13
- }
14
- }
15
- }
16
- //# sourceMappingURL=FilterStateByTransition.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FilterStateByTransition.js","sourceRoot":"","sources":["../../src/filter/FilterStateByTransition.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,OAAO,uBAAuB;IAClC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAgC;QAC7C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;gBAChD,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,EAAE,CAAC;oBAC/B,MAAM,KAAK,CAAC;oBACZ,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
@@ -1,5 +0,0 @@
1
- import type { TransitionInterface } from "../interfaces/TransitionInterface.js";
2
- export declare class FilterTransitionByEvent {
3
- static filter(transitions: Iterable<TransitionInterface>, eventName: string): Iterable<TransitionInterface>;
4
- }
5
- //# sourceMappingURL=FilterTransitionByEvent.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FilterTransitionByEvent.d.ts","sourceRoot":"","sources":["../../src/filter/FilterTransitionByEvent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAEhF,qBAAa,uBAAuB;IAClC,MAAM,CAAE,MAAM,CACZ,WAAW,EAAE,QAAQ,CAAC,mBAAmB,CAAC,EAC1C,SAAS,EAAE,MAAM,GAChB,QAAQ,CAAC,mBAAmB,CAAC;CAOjC"}
@@ -1,10 +0,0 @@
1
- export class FilterTransitionByEvent {
2
- static *filter(transitions, eventName) {
3
- for (const transition of transitions) {
4
- if (transition.getEventName() === eventName) {
5
- yield transition;
6
- }
7
- }
8
- }
9
- }
10
- //# sourceMappingURL=FilterTransitionByEvent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FilterTransitionByEvent.js","sourceRoot":"","sources":["../../src/filter/FilterTransitionByEvent.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,uBAAuB;IAClC,MAAM,CAAC,CAAC,MAAM,CACZ,WAA0C,EAC1C,SAAiB;QAEjB,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACrC,IAAI,UAAU,CAAC,YAAY,EAAE,KAAK,SAAS,EAAE,CAAC;gBAC5C,MAAM,UAAU,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
@@ -1,6 +0,0 @@
1
- export { ActiveTransitionFilter } from "./ActiveTransitionFilter.js";
2
- export { FilterStateByEvent } from "./FilterStateByEvent.js";
3
- export { FilterStateByTransition } from "./FilterStateByTransition.js";
4
- export { FilterStateByFinalState } from "./FilterStateByFinalState.js";
5
- export { FilterTransitionByEvent } from "./FilterTransitionByEvent.js";
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/filter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC"}
@@ -1,6 +0,0 @@
1
- export { ActiveTransitionFilter } from "./ActiveTransitionFilter.js";
2
- export { FilterStateByEvent } from "./FilterStateByEvent.js";
3
- export { FilterStateByTransition } from "./FilterStateByTransition.js";
4
- export { FilterStateByFinalState } from "./FilterStateByFinalState.js";
5
- export { FilterTransitionByEvent } from "./FilterTransitionByEvent.js";
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/filter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC"}
@@ -1,37 +0,0 @@
1
- import type { StateInterface } from "../interfaces/StateInterface.js";
2
- import type { TransitionInterface } from "../interfaces/TransitionInterface.js";
3
- import type { StateCollectionInterface } from "../interfaces/StateCollectionInterface.js";
4
- export interface GraphNode {
5
- id: string;
6
- label: string;
7
- metadata: Record<string, unknown>;
8
- }
9
- export interface GraphEdge {
10
- source: string;
11
- target: string;
12
- label: string;
13
- metadata: Record<string, unknown>;
14
- }
15
- export interface Graph {
16
- nodes: GraphNode[];
17
- edges: GraphEdge[];
18
- }
19
- export interface DotOptions {
20
- rankdir?: string;
21
- }
22
- export interface MermaidOptions {
23
- direction?: string;
24
- }
25
- export declare class GraphBuilder {
26
- private readonly nodes;
27
- private readonly edges;
28
- private getOrCreateNode;
29
- protected getTransitionLabel(state: StateInterface, transition: TransitionInterface): string;
30
- addState(state: StateInterface): void;
31
- addStates(states: Iterable<StateInterface>): void;
32
- addStateCollection(stateCollection: StateCollectionInterface): void;
33
- getGraph(): Graph;
34
- toDot(options?: DotOptions): string;
35
- toMermaid(options?: MermaidOptions): string;
36
- }
37
- //# sourceMappingURL=GraphBuilder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GraphBuilder.d.ts","sourceRoot":"","sources":["../../src/graph/GraphBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAG1F,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB;AAoCD,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqC;IAC3D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmB;IAEzC,OAAO,CAAC,eAAe;IAUvB,SAAS,CAAC,kBAAkB,CAC1B,KAAK,EAAE,cAAc,EACrB,UAAU,EAAE,mBAAmB,GAC9B,MAAM;IAsBT,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAoBrC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI;IAMjD,kBAAkB,CAAC,eAAe,EAAE,wBAAwB,GAAG,IAAI;IAInE,QAAQ,IAAI,KAAK;IAOjB,KAAK,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM;IAoBnC,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,MAAM;CAuB5C"}