@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.
- package/LICENSE +21 -0
- package/dist/index.cjs +1422 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +525 -0
- package/dist/index.d.ts +525 -22
- package/dist/index.js +1356 -26
- package/dist/index.js.map +1 -1
- package/package.json +21 -4
- package/dist/Dispatcher.d.ts +0 -11
- package/dist/Dispatcher.d.ts.map +0 -1
- package/dist/Dispatcher.js +0 -30
- package/dist/Dispatcher.js.map +0 -1
- package/dist/Event.d.ts +0 -22
- package/dist/Event.d.ts.map +0 -1
- package/dist/Event.js +0 -54
- package/dist/Event.js.map +0 -1
- package/dist/MaybePromise.d.ts +0 -2
- package/dist/MaybePromise.d.ts.map +0 -1
- package/dist/MaybePromise.js +0 -2
- package/dist/MaybePromise.js.map +0 -1
- package/dist/Process.d.ts +0 -15
- package/dist/Process.d.ts.map +0 -1
- package/dist/Process.js +0 -43
- package/dist/Process.js.map +0 -1
- package/dist/State.d.ts +0 -22
- package/dist/State.d.ts.map +0 -1
- package/dist/State.js +0 -65
- package/dist/State.js.map +0 -1
- package/dist/StateCollection.d.ts +0 -14
- package/dist/StateCollection.d.ts.map +0 -1
- package/dist/StateCollection.js +0 -37
- package/dist/StateCollection.js.map +0 -1
- package/dist/Statemachine.d.ts +0 -45
- package/dist/Statemachine.d.ts.map +0 -1
- package/dist/Statemachine.js +0 -206
- package/dist/Statemachine.js.map +0 -1
- package/dist/Transition.d.ts +0 -19
- package/dist/Transition.d.ts.map +0 -1
- package/dist/Transition.js +0 -46
- package/dist/Transition.js.map +0 -1
- package/dist/condition/AndComposite.d.ts +0 -9
- package/dist/condition/AndComposite.d.ts.map +0 -1
- package/dist/condition/AndComposite.js +0 -23
- package/dist/condition/AndComposite.js.map +0 -1
- package/dist/condition/CallbackCondition.d.ts +0 -11
- package/dist/condition/CallbackCondition.d.ts.map +0 -1
- package/dist/condition/CallbackCondition.js +0 -15
- package/dist/condition/CallbackCondition.js.map +0 -1
- package/dist/condition/Contradiction.d.ts +0 -8
- package/dist/condition/Contradiction.d.ts.map +0 -1
- package/dist/condition/Contradiction.js +0 -13
- package/dist/condition/Contradiction.js.map +0 -1
- package/dist/condition/Not.d.ts +0 -8
- package/dist/condition/Not.d.ts.map +0 -1
- package/dist/condition/Not.js +0 -13
- package/dist/condition/Not.js.map +0 -1
- package/dist/condition/OrComposite.d.ts +0 -9
- package/dist/condition/OrComposite.d.ts.map +0 -1
- package/dist/condition/OrComposite.js +0 -23
- package/dist/condition/OrComposite.js.map +0 -1
- package/dist/condition/Tautology.d.ts +0 -8
- package/dist/condition/Tautology.d.ts.map +0 -1
- package/dist/condition/Tautology.js +0 -13
- package/dist/condition/Tautology.js.map +0 -1
- package/dist/condition/Timeout.d.ts +0 -10
- package/dist/condition/Timeout.d.ts.map +0 -1
- package/dist/condition/Timeout.js +0 -30
- package/dist/condition/Timeout.js.map +0 -1
- package/dist/condition/index.d.ts +0 -9
- package/dist/condition/index.d.ts.map +0 -1
- package/dist/condition/index.js +0 -8
- package/dist/condition/index.js.map +0 -1
- package/dist/error/DuplicateStateError.d.ts +0 -5
- package/dist/error/DuplicateStateError.d.ts.map +0 -1
- package/dist/error/DuplicateStateError.js +0 -9
- package/dist/error/DuplicateStateError.js.map +0 -1
- package/dist/error/LockCanNotBeAcquiredError.d.ts +0 -4
- package/dist/error/LockCanNotBeAcquiredError.d.ts.map +0 -1
- package/dist/error/LockCanNotBeAcquiredError.js +0 -7
- package/dist/error/LockCanNotBeAcquiredError.js.map +0 -1
- package/dist/error/WrongEventForStateError.d.ts +0 -6
- package/dist/error/WrongEventForStateError.d.ts.map +0 -1
- package/dist/error/WrongEventForStateError.js +0 -11
- package/dist/error/WrongEventForStateError.js.map +0 -1
- package/dist/error/index.d.ts +0 -4
- package/dist/error/index.d.ts.map +0 -1
- package/dist/error/index.js +0 -4
- package/dist/error/index.js.map +0 -1
- package/dist/factory/AbstractNamedProcessDetector.d.ts +0 -10
- package/dist/factory/AbstractNamedProcessDetector.d.ts.map +0 -1
- package/dist/factory/AbstractNamedProcessDetector.js +0 -18
- package/dist/factory/AbstractNamedProcessDetector.js.map +0 -1
- package/dist/factory/Factory.d.ts +0 -22
- package/dist/factory/Factory.d.ts.map +0 -1
- package/dist/factory/Factory.js +0 -42
- package/dist/factory/Factory.js.map +0 -1
- package/dist/factory/SingleProcessDetector.d.ts +0 -8
- package/dist/factory/SingleProcessDetector.d.ts.map +0 -1
- package/dist/factory/SingleProcessDetector.js +0 -10
- package/dist/factory/SingleProcessDetector.js.map +0 -1
- package/dist/factory/StatefulStateNameDetector.d.ts +0 -6
- package/dist/factory/StatefulStateNameDetector.d.ts.map +0 -1
- package/dist/factory/StatefulStateNameDetector.js +0 -15
- package/dist/factory/StatefulStateNameDetector.js.map +0 -1
- package/dist/factory/index.d.ts +0 -5
- package/dist/factory/index.d.ts.map +0 -1
- package/dist/factory/index.js +0 -5
- package/dist/factory/index.js.map +0 -1
- package/dist/filter/ActiveTransitionFilter.d.ts +0 -6
- package/dist/filter/ActiveTransitionFilter.d.ts.map +0 -1
- package/dist/filter/ActiveTransitionFilter.js +0 -12
- package/dist/filter/ActiveTransitionFilter.js.map +0 -1
- package/dist/filter/FilterStateByEvent.d.ts +0 -5
- package/dist/filter/FilterStateByEvent.d.ts.map +0 -1
- package/dist/filter/FilterStateByEvent.js +0 -10
- package/dist/filter/FilterStateByEvent.js.map +0 -1
- package/dist/filter/FilterStateByFinalState.d.ts +0 -5
- package/dist/filter/FilterStateByFinalState.d.ts.map +0 -1
- package/dist/filter/FilterStateByFinalState.js +0 -15
- package/dist/filter/FilterStateByFinalState.js.map +0 -1
- package/dist/filter/FilterStateByTransition.d.ts +0 -8
- package/dist/filter/FilterStateByTransition.d.ts.map +0 -1
- package/dist/filter/FilterStateByTransition.js +0 -16
- package/dist/filter/FilterStateByTransition.js.map +0 -1
- package/dist/filter/FilterTransitionByEvent.d.ts +0 -5
- package/dist/filter/FilterTransitionByEvent.d.ts.map +0 -1
- package/dist/filter/FilterTransitionByEvent.js +0 -10
- package/dist/filter/FilterTransitionByEvent.js.map +0 -1
- package/dist/filter/index.d.ts +0 -6
- package/dist/filter/index.d.ts.map +0 -1
- package/dist/filter/index.js +0 -6
- package/dist/filter/index.js.map +0 -1
- package/dist/graph/GraphBuilder.d.ts +0 -37
- package/dist/graph/GraphBuilder.d.ts.map +0 -1
- package/dist/graph/GraphBuilder.js +0 -132
- package/dist/graph/GraphBuilder.js.map +0 -1
- package/dist/graph/index.d.ts +0 -3
- package/dist/graph/index.d.ts.map +0 -1
- package/dist/graph/index.js +0 -2
- package/dist/graph/index.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/interfaces/ConditionInterface.d.ts +0 -6
- package/dist/interfaces/ConditionInterface.d.ts.map +0 -1
- package/dist/interfaces/ConditionInterface.js +0 -2
- package/dist/interfaces/ConditionInterface.js.map +0 -1
- package/dist/interfaces/DispatcherInterface.d.ts +0 -11
- package/dist/interfaces/DispatcherInterface.d.ts.map +0 -1
- package/dist/interfaces/DispatcherInterface.js +0 -2
- package/dist/interfaces/DispatcherInterface.js.map +0 -1
- package/dist/interfaces/EventInterface.d.ts +0 -12
- package/dist/interfaces/EventInterface.d.ts.map +0 -1
- package/dist/interfaces/EventInterface.js +0 -2
- package/dist/interfaces/EventInterface.js.map +0 -1
- package/dist/interfaces/FactoryInterface.d.ts +0 -13
- package/dist/interfaces/FactoryInterface.d.ts.map +0 -1
- package/dist/interfaces/FactoryInterface.js +0 -2
- package/dist/interfaces/FactoryInterface.js.map +0 -1
- package/dist/interfaces/LastStateHasChangedDateInterface.d.ts +0 -4
- package/dist/interfaces/LastStateHasChangedDateInterface.d.ts.map +0 -1
- package/dist/interfaces/LastStateHasChangedDateInterface.js +0 -2
- package/dist/interfaces/LastStateHasChangedDateInterface.js.map +0 -1
- package/dist/interfaces/LockAdapterInterface.d.ts +0 -7
- package/dist/interfaces/LockAdapterInterface.d.ts.map +0 -1
- package/dist/interfaces/LockAdapterInterface.js +0 -2
- package/dist/interfaces/LockAdapterInterface.js.map +0 -1
- package/dist/interfaces/LoggerInterface.d.ts +0 -4
- package/dist/interfaces/LoggerInterface.d.ts.map +0 -1
- package/dist/interfaces/LoggerInterface.js +0 -2
- package/dist/interfaces/LoggerInterface.js.map +0 -1
- package/dist/interfaces/Metadata.d.ts +0 -4
- package/dist/interfaces/Metadata.d.ts.map +0 -1
- package/dist/interfaces/Metadata.js +0 -2
- package/dist/interfaces/Metadata.js.map +0 -1
- package/dist/interfaces/MutexFactoryInterface.d.ts +0 -6
- package/dist/interfaces/MutexFactoryInterface.d.ts.map +0 -1
- package/dist/interfaces/MutexFactoryInterface.js +0 -2
- package/dist/interfaces/MutexFactoryInterface.js.map +0 -1
- package/dist/interfaces/MutexInterface.d.ts +0 -8
- package/dist/interfaces/MutexInterface.d.ts.map +0 -1
- package/dist/interfaces/MutexInterface.js +0 -2
- package/dist/interfaces/MutexInterface.js.map +0 -1
- package/dist/interfaces/Named.d.ts +0 -4
- package/dist/interfaces/Named.d.ts.map +0 -1
- package/dist/interfaces/Named.js +0 -2
- package/dist/interfaces/Named.js.map +0 -1
- package/dist/interfaces/Observer.d.ts +0 -11
- package/dist/interfaces/Observer.d.ts.map +0 -1
- package/dist/interfaces/Observer.js +0 -2
- package/dist/interfaces/Observer.js.map +0 -1
- package/dist/interfaces/ProcessDetectorInterface.d.ts +0 -5
- package/dist/interfaces/ProcessDetectorInterface.d.ts.map +0 -1
- package/dist/interfaces/ProcessDetectorInterface.js +0 -2
- package/dist/interfaces/ProcessDetectorInterface.js.map +0 -1
- package/dist/interfaces/ProcessInterface.d.ts +0 -7
- package/dist/interfaces/ProcessInterface.d.ts.map +0 -1
- package/dist/interfaces/ProcessInterface.js +0 -2
- package/dist/interfaces/ProcessInterface.js.map +0 -1
- package/dist/interfaces/StateCollectionInterface.d.ts +0 -7
- package/dist/interfaces/StateCollectionInterface.d.ts.map +0 -1
- package/dist/interfaces/StateCollectionInterface.js +0 -2
- package/dist/interfaces/StateCollectionInterface.js.map +0 -1
- package/dist/interfaces/StateInterface.d.ts +0 -16
- package/dist/interfaces/StateInterface.d.ts.map +0 -1
- package/dist/interfaces/StateInterface.js +0 -2
- package/dist/interfaces/StateInterface.js.map +0 -1
- package/dist/interfaces/StateNameDetectorInterface.d.ts +0 -4
- package/dist/interfaces/StateNameDetectorInterface.d.ts.map +0 -1
- package/dist/interfaces/StateNameDetectorInterface.js +0 -2
- package/dist/interfaces/StateNameDetectorInterface.js.map +0 -1
- package/dist/interfaces/StatefulInterface.d.ts +0 -5
- package/dist/interfaces/StatefulInterface.d.ts.map +0 -1
- package/dist/interfaces/StatefulInterface.js +0 -2
- package/dist/interfaces/StatefulInterface.js.map +0 -1
- package/dist/interfaces/StatemachineInterface.d.ts +0 -20
- package/dist/interfaces/StatemachineInterface.d.ts.map +0 -1
- package/dist/interfaces/StatemachineInterface.js +0 -2
- package/dist/interfaces/StatemachineInterface.js.map +0 -1
- package/dist/interfaces/TransitionInterface.d.ts +0 -12
- package/dist/interfaces/TransitionInterface.d.ts.map +0 -1
- package/dist/interfaces/TransitionInterface.js +0 -2
- package/dist/interfaces/TransitionInterface.js.map +0 -1
- package/dist/interfaces/TransitionSelectorInterface.d.ts +0 -5
- package/dist/interfaces/TransitionSelectorInterface.d.ts.map +0 -1
- package/dist/interfaces/TransitionSelectorInterface.js +0 -2
- package/dist/interfaces/TransitionSelectorInterface.js.map +0 -1
- package/dist/interfaces/Weighted.d.ts +0 -4
- package/dist/interfaces/Weighted.d.ts.map +0 -1
- package/dist/interfaces/Weighted.js +0 -2
- package/dist/interfaces/Weighted.js.map +0 -1
- package/dist/interfaces/index.d.ts +0 -24
- package/dist/interfaces/index.d.ts.map +0 -1
- package/dist/interfaces/index.js +0 -2
- package/dist/interfaces/index.js.map +0 -1
- package/dist/mutex/LockAdapterMutex.d.ts +0 -13
- package/dist/mutex/LockAdapterMutex.d.ts.map +0 -1
- package/dist/mutex/LockAdapterMutex.js +0 -32
- package/dist/mutex/LockAdapterMutex.js.map +0 -1
- package/dist/mutex/MutexFactory.d.ts +0 -11
- package/dist/mutex/MutexFactory.d.ts.map +0 -1
- package/dist/mutex/MutexFactory.js +0 -13
- package/dist/mutex/MutexFactory.js.map +0 -1
- package/dist/mutex/NullMutex.d.ts +0 -9
- package/dist/mutex/NullMutex.d.ts.map +0 -1
- package/dist/mutex/NullMutex.js +0 -18
- package/dist/mutex/NullMutex.js.map +0 -1
- package/dist/mutex/index.d.ts +0 -5
- package/dist/mutex/index.d.ts.map +0 -1
- package/dist/mutex/index.js +0 -4
- package/dist/mutex/index.js.map +0 -1
- package/dist/observer/CallbackObserver.d.ts +0 -8
- package/dist/observer/CallbackObserver.d.ts.map +0 -1
- package/dist/observer/CallbackObserver.js +0 -14
- package/dist/observer/CallbackObserver.js.map +0 -1
- package/dist/observer/OnEnterObserver.d.ts +0 -8
- package/dist/observer/OnEnterObserver.d.ts.map +0 -1
- package/dist/observer/OnEnterObserver.js +0 -28
- package/dist/observer/OnEnterObserver.js.map +0 -1
- package/dist/observer/StatefulStatusChanger.d.ts +0 -5
- package/dist/observer/StatefulStatusChanger.d.ts.map +0 -1
- package/dist/observer/StatefulStatusChanger.js +0 -24
- package/dist/observer/StatefulStatusChanger.js.map +0 -1
- package/dist/observer/TransitionLogger.d.ts +0 -9
- package/dist/observer/TransitionLogger.d.ts.map +0 -1
- package/dist/observer/TransitionLogger.js +0 -62
- package/dist/observer/TransitionLogger.js.map +0 -1
- package/dist/observer/index.d.ts +0 -5
- package/dist/observer/index.d.ts.map +0 -1
- package/dist/observer/index.js +0 -5
- package/dist/observer/index.js.map +0 -1
- package/dist/selector/OneOrNoneActiveTransition.d.ts +0 -6
- package/dist/selector/OneOrNoneActiveTransition.d.ts.map +0 -1
- package/dist/selector/OneOrNoneActiveTransition.js +0 -14
- package/dist/selector/OneOrNoneActiveTransition.js.map +0 -1
- package/dist/selector/ScoreTransition.d.ts +0 -9
- package/dist/selector/ScoreTransition.d.ts.map +0 -1
- package/dist/selector/ScoreTransition.js +0 -34
- package/dist/selector/ScoreTransition.js.map +0 -1
- package/dist/selector/WeightTransition.d.ts +0 -9
- package/dist/selector/WeightTransition.d.ts.map +0 -1
- package/dist/selector/WeightTransition.js +0 -27
- package/dist/selector/WeightTransition.js.map +0 -1
- package/dist/selector/index.d.ts +0 -4
- package/dist/selector/index.d.ts.map +0 -1
- package/dist/selector/index.js +0 -4
- package/dist/selector/index.js.map +0 -1
- package/dist/util/SetupHelper.d.ts +0 -17
- package/dist/util/SetupHelper.d.ts.map +0 -1
- package/dist/util/SetupHelper.js +0 -48
- package/dist/util/SetupHelper.js.map +0 -1
- package/dist/util/StateCollectionMerger.d.ts +0 -23
- package/dist/util/StateCollectionMerger.d.ts.map +0 -1
- package/dist/util/StateCollectionMerger.js +0 -83
- package/dist/util/StateCollectionMerger.js.map +0 -1
- package/dist/util/index.d.ts +0 -3
- package/dist/util/index.d.ts.map +0 -1
- package/dist/util/index.js +0 -3
- package/dist/util/index.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TransitionInterface.d.ts","sourceRoot":"","sources":["../../src/interfaces/TransitionInterface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,MAAM,WAAW,mBAAmB,CAAC,QAAQ,GAAG,OAAO,CAAE,SAAQ,QAAQ;IACvE,cAAc,IAAI,cAAc,CAAC;IACjC,YAAY,IAAI,MAAM,GAAG,IAAI,CAAC;IAC9B,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAAC;IAClC,YAAY,IAAI,kBAAkB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IACpD,QAAQ,CACN,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,CAAC,EAAE,cAAc,GACrB,OAAO,CAAC,OAAO,CAAC,CAAC;CACrB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TransitionInterface.js","sourceRoot":"","sources":["../../src/interfaces/TransitionInterface.ts"],"names":[],"mappings":""}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { TransitionInterface } from "./TransitionInterface.js";
|
|
2
|
-
export interface TransitionSelectorInterface<TSubject = unknown> {
|
|
3
|
-
selectTransition(transitions: Iterable<TransitionInterface<TSubject>>): TransitionInterface<TSubject> | null;
|
|
4
|
-
}
|
|
5
|
-
//# sourceMappingURL=TransitionSelectorInterface.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TransitionSelectorInterface.d.ts","sourceRoot":"","sources":["../../src/interfaces/TransitionSelectorInterface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,MAAM,WAAW,2BAA2B,CAAC,QAAQ,GAAG,OAAO;IAC7D,gBAAgB,CACd,WAAW,EAAE,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,GACnD,mBAAmB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;CACzC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TransitionSelectorInterface.js","sourceRoot":"","sources":["../../src/interfaces/TransitionSelectorInterface.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Weighted.d.ts","sourceRoot":"","sources":["../../src/interfaces/Weighted.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,SAAS,IAAI,MAAM,CAAC;CACrB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Weighted.js","sourceRoot":"","sources":["../../src/interfaces/Weighted.ts"],"names":[],"mappings":""}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
export type { MaybePromise } from "../MaybePromise.js";
|
|
2
|
-
export type { Named } from "./Named.js";
|
|
3
|
-
export type { Metadata } from "./Metadata.js";
|
|
4
|
-
export type { Weighted } from "./Weighted.js";
|
|
5
|
-
export type { Observer, ObservableSubject } from "./Observer.js";
|
|
6
|
-
export type { ConditionInterface } from "./ConditionInterface.js";
|
|
7
|
-
export type { EventInterface } from "./EventInterface.js";
|
|
8
|
-
export type { TransitionInterface } from "./TransitionInterface.js";
|
|
9
|
-
export type { StateInterface } from "./StateInterface.js";
|
|
10
|
-
export type { StateCollectionInterface } from "./StateCollectionInterface.js";
|
|
11
|
-
export type { ProcessInterface } from "./ProcessInterface.js";
|
|
12
|
-
export type { StatemachineInterface } from "./StatemachineInterface.js";
|
|
13
|
-
export type { MutexInterface } from "./MutexInterface.js";
|
|
14
|
-
export type { MutexFactoryInterface } from "./MutexFactoryInterface.js";
|
|
15
|
-
export type { LockAdapterInterface } from "./LockAdapterInterface.js";
|
|
16
|
-
export type { TransitionSelectorInterface } from "./TransitionSelectorInterface.js";
|
|
17
|
-
export type { ProcessDetectorInterface } from "./ProcessDetectorInterface.js";
|
|
18
|
-
export type { StateNameDetectorInterface } from "./StateNameDetectorInterface.js";
|
|
19
|
-
export type { FactoryInterface } from "./FactoryInterface.js";
|
|
20
|
-
export type { StatefulInterface } from "./StatefulInterface.js";
|
|
21
|
-
export type { LastStateHasChangedDateInterface } from "./LastStateHasChangedDateInterface.js";
|
|
22
|
-
export type { DispatcherInterface, CallbackInterface, } from "./DispatcherInterface.js";
|
|
23
|
-
export type { LoggerInterface } from "./LoggerInterface.js";
|
|
24
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,YAAY,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACjE,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,YAAY,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,YAAY,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAC9E,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,YAAY,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,YAAY,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,YAAY,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtE,YAAY,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AACpF,YAAY,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAC9E,YAAY,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAClF,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,YAAY,EAAE,gCAAgC,EAAE,MAAM,uCAAuC,CAAC;AAC9F,YAAY,EACV,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dist/interfaces/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":""}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { MutexInterface } from "../interfaces/MutexInterface.js";
|
|
2
|
-
import type { LockAdapterInterface } from "../interfaces/LockAdapterInterface.js";
|
|
3
|
-
export declare class LockAdapterMutex implements MutexInterface {
|
|
4
|
-
private readonly lockAdapter;
|
|
5
|
-
private readonly resourceName;
|
|
6
|
-
private acquired;
|
|
7
|
-
constructor(lockAdapter: LockAdapterInterface, resourceName: string);
|
|
8
|
-
acquireLock(): Promise<boolean>;
|
|
9
|
-
releaseLock(): Promise<boolean>;
|
|
10
|
-
isAcquired(): boolean;
|
|
11
|
-
isLocked(): Promise<boolean>;
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=LockAdapterMutex.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LockAdapterMutex.d.ts","sourceRoot":"","sources":["../../src/mutex/LockAdapterMutex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAElF,qBAAa,gBAAiB,YAAW,cAAc;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;IACnD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAS;gBAEb,WAAW,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM;IAK7D,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAO/B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAWrC,UAAU,IAAI,OAAO;IAIf,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;CAGnC"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
export class LockAdapterMutex {
|
|
2
|
-
lockAdapter;
|
|
3
|
-
resourceName;
|
|
4
|
-
acquired = false;
|
|
5
|
-
constructor(lockAdapter, resourceName) {
|
|
6
|
-
this.lockAdapter = lockAdapter;
|
|
7
|
-
this.resourceName = resourceName;
|
|
8
|
-
}
|
|
9
|
-
async acquireLock() {
|
|
10
|
-
if (!this.acquired) {
|
|
11
|
-
this.acquired = await this.lockAdapter.acquireLock(this.resourceName);
|
|
12
|
-
}
|
|
13
|
-
return this.acquired;
|
|
14
|
-
}
|
|
15
|
-
async releaseLock() {
|
|
16
|
-
if (this.acquired) {
|
|
17
|
-
const result = await this.lockAdapter.releaseLock(this.resourceName);
|
|
18
|
-
if (result) {
|
|
19
|
-
this.acquired = false;
|
|
20
|
-
}
|
|
21
|
-
return result;
|
|
22
|
-
}
|
|
23
|
-
return false;
|
|
24
|
-
}
|
|
25
|
-
isAcquired() {
|
|
26
|
-
return this.acquired;
|
|
27
|
-
}
|
|
28
|
-
async isLocked() {
|
|
29
|
-
return this.lockAdapter.isLocked(this.resourceName);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=LockAdapterMutex.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LockAdapterMutex.js","sourceRoot":"","sources":["../../src/mutex/LockAdapterMutex.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,gBAAgB;IACV,WAAW,CAAuB;IAClC,YAAY,CAAS;IAC9B,QAAQ,GAAG,KAAK,CAAC;IAEzB,YAAY,WAAiC,EAAE,YAAoB;QACjE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,WAAW;QACf,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,WAAW;QACf,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACrE,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACxB,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACtD,CAAC;CACF"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { MutexFactoryInterface } from "../interfaces/MutexFactoryInterface.js";
|
|
2
|
-
import type { MutexInterface } from "../interfaces/MutexInterface.js";
|
|
3
|
-
import type { LockAdapterInterface } from "../interfaces/LockAdapterInterface.js";
|
|
4
|
-
export type StringConverter<TSubject = unknown> = (subject: TSubject) => string;
|
|
5
|
-
export declare class MutexFactory<TSubject = unknown> implements MutexFactoryInterface<TSubject> {
|
|
6
|
-
private readonly lockAdapter;
|
|
7
|
-
private readonly stringConverter;
|
|
8
|
-
constructor(lockAdapter: LockAdapterInterface, stringConverter: StringConverter<TSubject>);
|
|
9
|
-
createMutex(subject: TSubject): MutexInterface;
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=MutexFactory.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MutexFactory.d.ts","sourceRoot":"","sources":["../../src/mutex/MutexFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AACpF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAGlF,MAAM,MAAM,eAAe,CAAC,QAAQ,GAAG,OAAO,IAAI,CAChD,OAAO,EAAE,QAAQ,KACd,MAAM,CAAC;AAEZ,qBAAa,YAAY,CAAC,QAAQ,GAAG,OAAO,CAC1C,YAAW,qBAAqB,CAAC,QAAQ,CAAC;IAE1C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;IACnD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA4B;gBAG1D,WAAW,EAAE,oBAAoB,EACjC,eAAe,EAAE,eAAe,CAAC,QAAQ,CAAC;IAM5C,WAAW,CAAC,OAAO,EAAE,QAAQ,GAAG,cAAc;CAM/C"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { LockAdapterMutex } from "./LockAdapterMutex.js";
|
|
2
|
-
export class MutexFactory {
|
|
3
|
-
lockAdapter;
|
|
4
|
-
stringConverter;
|
|
5
|
-
constructor(lockAdapter, stringConverter) {
|
|
6
|
-
this.lockAdapter = lockAdapter;
|
|
7
|
-
this.stringConverter = stringConverter;
|
|
8
|
-
}
|
|
9
|
-
createMutex(subject) {
|
|
10
|
-
return new LockAdapterMutex(this.lockAdapter, this.stringConverter(subject));
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=MutexFactory.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MutexFactory.js","sourceRoot":"","sources":["../../src/mutex/MutexFactory.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAMzD,MAAM,OAAO,YAAY;IAGN,WAAW,CAAuB;IAClC,eAAe,CAA4B;IAE5D,YACE,WAAiC,EACjC,eAA0C;QAE1C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;IAED,WAAW,CAAC,OAAiB;QAC3B,OAAO,IAAI,gBAAgB,CACzB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAC9B,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { MutexInterface } from "../interfaces/MutexInterface.js";
|
|
2
|
-
export declare class NullMutex implements MutexInterface {
|
|
3
|
-
private acquired;
|
|
4
|
-
acquireLock(): boolean;
|
|
5
|
-
releaseLock(): boolean;
|
|
6
|
-
isAcquired(): boolean;
|
|
7
|
-
isLocked(): boolean;
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=NullMutex.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NullMutex.d.ts","sourceRoot":"","sources":["../../src/mutex/NullMutex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEtE,qBAAa,SAAU,YAAW,cAAc;IAC9C,OAAO,CAAC,QAAQ,CAAS;IAEzB,WAAW,IAAI,OAAO;IAKtB,WAAW,IAAI,OAAO;IAKtB,UAAU,IAAI,OAAO;IAIrB,QAAQ,IAAI,OAAO;CAGpB"}
|
package/dist/mutex/NullMutex.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export class NullMutex {
|
|
2
|
-
acquired = false;
|
|
3
|
-
acquireLock() {
|
|
4
|
-
this.acquired = true;
|
|
5
|
-
return true;
|
|
6
|
-
}
|
|
7
|
-
releaseLock() {
|
|
8
|
-
this.acquired = false;
|
|
9
|
-
return true;
|
|
10
|
-
}
|
|
11
|
-
isAcquired() {
|
|
12
|
-
return this.acquired;
|
|
13
|
-
}
|
|
14
|
-
isLocked() {
|
|
15
|
-
return false;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=NullMutex.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NullMutex.js","sourceRoot":"","sources":["../../src/mutex/NullMutex.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,SAAS;IACZ,QAAQ,GAAG,KAAK,CAAC;IAEzB,WAAW;QACT,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW;QACT,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,QAAQ;QACN,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
|
package/dist/mutex/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mutex/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/mutex/index.js
DELETED
package/dist/mutex/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mutex/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { Observer, ObservableSubject } from "../interfaces/Observer.js";
|
|
2
|
-
import type { MaybePromise } from "../MaybePromise.js";
|
|
3
|
-
export declare class CallbackObserver implements Observer {
|
|
4
|
-
private readonly callback;
|
|
5
|
-
constructor(callback: (...args: unknown[]) => MaybePromise<void>);
|
|
6
|
-
update(subject: ObservableSubject): MaybePromise<void>;
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=CallbackObserver.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CallbackObserver.d.ts","sourceRoot":"","sources":["../../src/observer/CallbackObserver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,qBAAa,gBAAiB,YAAW,QAAQ;IAC/C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6C;gBAE1D,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,YAAY,CAAC,IAAI,CAAC;IAIhE,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,YAAY,CAAC,IAAI,CAAC;CAOvD"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export class CallbackObserver {
|
|
2
|
-
callback;
|
|
3
|
-
constructor(callback) {
|
|
4
|
-
this.callback = callback;
|
|
5
|
-
}
|
|
6
|
-
update(subject) {
|
|
7
|
-
const event = subject;
|
|
8
|
-
if (typeof event.getInvokeArgs === "function") {
|
|
9
|
-
return this.callback(...event.getInvokeArgs());
|
|
10
|
-
}
|
|
11
|
-
return this.callback(subject);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=CallbackObserver.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CallbackObserver.js","sourceRoot":"","sources":["../../src/observer/CallbackObserver.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,gBAAgB;IACV,QAAQ,CAA6C;IAEtE,YAAY,QAAoD;QAC9D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,OAA0B;QAC/B,MAAM,KAAK,GAAG,OAAyB,CAAC;QACxC,IAAI,OAAO,KAAK,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;CACF"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { Observer, ObservableSubject } from "../interfaces/Observer.js";
|
|
2
|
-
export declare class OnEnterObserver implements Observer {
|
|
3
|
-
static readonly DEFAULT_EVENT_NAME = "onEnter";
|
|
4
|
-
private readonly eventName;
|
|
5
|
-
constructor(eventName?: string);
|
|
6
|
-
update(subject: ObservableSubject): Promise<void>;
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=OnEnterObserver.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OnEnterObserver.d.ts","sourceRoot":"","sources":["../../src/observer/OnEnterObserver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAY7E,qBAAa,eAAgB,YAAW,QAAQ;IAC9C,MAAM,CAAC,QAAQ,CAAC,kBAAkB,aAAa;IAE/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEvB,SAAS,SAAqC;IAIpD,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;CAkBxD"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
function isStatemachine(obj) {
|
|
2
|
-
return (typeof obj === "object" &&
|
|
3
|
-
obj !== null &&
|
|
4
|
-
"getCurrentState" in obj &&
|
|
5
|
-
"triggerEvent" in obj);
|
|
6
|
-
}
|
|
7
|
-
export class OnEnterObserver {
|
|
8
|
-
static DEFAULT_EVENT_NAME = "onEnter";
|
|
9
|
-
eventName;
|
|
10
|
-
constructor(eventName = OnEnterObserver.DEFAULT_EVENT_NAME) {
|
|
11
|
-
this.eventName = eventName;
|
|
12
|
-
}
|
|
13
|
-
async update(subject) {
|
|
14
|
-
if (isStatemachine(subject) &&
|
|
15
|
-
subject.getCurrentState().hasEvent(this.eventName)) {
|
|
16
|
-
const sm = subject;
|
|
17
|
-
const autorelease = sm.isAutoreleaseLock();
|
|
18
|
-
sm.setAutoreleaseLock(false);
|
|
19
|
-
try {
|
|
20
|
-
await sm.triggerEvent(this.eventName, sm.getCurrentContext() ?? undefined);
|
|
21
|
-
}
|
|
22
|
-
finally {
|
|
23
|
-
sm.setAutoreleaseLock(autorelease);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=OnEnterObserver.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OnEnterObserver.js","sourceRoot":"","sources":["../../src/observer/OnEnterObserver.ts"],"names":[],"mappings":"AAGA,SAAS,cAAc,CAAC,GAAY;IAClC,OAAO,CACL,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,KAAK,IAAI;QACZ,iBAAiB,IAAI,GAAG;QACxB,cAAc,IAAI,GAAG,CACtB,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,eAAe;IAC1B,MAAM,CAAU,kBAAkB,GAAG,SAAS,CAAC;IAE9B,SAAS,CAAS;IAEnC,YAAY,SAAS,GAAG,eAAe,CAAC,kBAAkB;QACxD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAA0B;QACrC,IACE,cAAc,CAAC,OAAO,CAAC;YACvB,OAAO,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAClD,CAAC;YACD,MAAM,EAAE,GAAG,OAAgC,CAAC;YAC5C,MAAM,WAAW,GAAG,EAAE,CAAC,iBAAiB,EAAE,CAAC;YAC3C,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,YAAY,CACnB,IAAI,CAAC,SAAS,EACd,EAAE,CAAC,iBAAiB,EAAE,IAAI,SAAS,CACpC,CAAC;YACJ,CAAC;oBAAS,CAAC;gBACT,EAAE,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;IACH,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StatefulStatusChanger.d.ts","sourceRoot":"","sources":["../../src/observer/StatefulStatusChanger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAsB7E,qBAAa,qBAAsB,YAAW,QAAQ;IACpD,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;CASzC"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
function isStatemachine(obj) {
|
|
2
|
-
return (typeof obj === "object" &&
|
|
3
|
-
obj !== null &&
|
|
4
|
-
"getCurrentState" in obj &&
|
|
5
|
-
"getSubject" in obj);
|
|
6
|
-
}
|
|
7
|
-
function isStateful(obj) {
|
|
8
|
-
return (typeof obj === "object" &&
|
|
9
|
-
obj !== null &&
|
|
10
|
-
"setCurrentStateName" in obj &&
|
|
11
|
-
typeof obj.setCurrentStateName === "function");
|
|
12
|
-
}
|
|
13
|
-
export class StatefulStatusChanger {
|
|
14
|
-
update(subject) {
|
|
15
|
-
if (isStatemachine(subject)) {
|
|
16
|
-
const subjectObj = subject.getSubject();
|
|
17
|
-
if (isStateful(subjectObj)) {
|
|
18
|
-
const stateName = subject.getCurrentState().getName();
|
|
19
|
-
subjectObj.setCurrentStateName(stateName);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=StatefulStatusChanger.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StatefulStatusChanger.js","sourceRoot":"","sources":["../../src/observer/StatefulStatusChanger.ts"],"names":[],"mappings":"AAIA,SAAS,cAAc,CAAC,GAAY;IAClC,OAAO,CACL,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,KAAK,IAAI;QACZ,iBAAiB,IAAI,GAAG;QACxB,YAAY,IAAI,GAAG,CACpB,CAAC;AACJ,CAAC;AAED,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,qBAAqB;IAChC,MAAM,CAAC,OAA0B;QAC/B,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;YACxC,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC3B,MAAM,SAAS,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,CAAC;gBACtD,UAAU,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { Observer, ObservableSubject } from "../interfaces/Observer.js";
|
|
2
|
-
import type { LoggerInterface } from "../interfaces/LoggerInterface.js";
|
|
3
|
-
export declare class TransitionLogger implements Observer {
|
|
4
|
-
private readonly logger;
|
|
5
|
-
private readonly loggerLevel;
|
|
6
|
-
constructor(logger: LoggerInterface, loggerLevel?: string);
|
|
7
|
-
update(subject: ObservableSubject): void;
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=TransitionLogger.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TransitionLogger.d.ts","sourceRoot":"","sources":["../../src/observer/TransitionLogger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AA4BxE,qBAAa,gBAAiB,YAAW,QAAQ;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAEzB,MAAM,EAAE,eAAe,EAAE,WAAW,SAAS;IAKzD,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;CA6CzC"}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
function isStatemachine(obj) {
|
|
2
|
-
return (typeof obj === "object" &&
|
|
3
|
-
obj !== null &&
|
|
4
|
-
"getCurrentState" in obj &&
|
|
5
|
-
"getSubject" in obj);
|
|
6
|
-
}
|
|
7
|
-
function isNamed(obj) {
|
|
8
|
-
return (typeof obj === "object" &&
|
|
9
|
-
obj !== null &&
|
|
10
|
-
"getName" in obj &&
|
|
11
|
-
typeof obj.getName === "function");
|
|
12
|
-
}
|
|
13
|
-
function convertToString(obj) {
|
|
14
|
-
if (isNamed(obj)) {
|
|
15
|
-
return obj.getName();
|
|
16
|
-
}
|
|
17
|
-
return String(obj);
|
|
18
|
-
}
|
|
19
|
-
export class TransitionLogger {
|
|
20
|
-
logger;
|
|
21
|
-
loggerLevel;
|
|
22
|
-
constructor(logger, loggerLevel = "info") {
|
|
23
|
-
this.logger = logger;
|
|
24
|
-
this.loggerLevel = loggerLevel;
|
|
25
|
-
}
|
|
26
|
-
update(subject) {
|
|
27
|
-
if (!isStatemachine(subject)) {
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
const context = {};
|
|
31
|
-
context["subject"] = subject.getSubject();
|
|
32
|
-
context["currentState"] = subject.getCurrentState();
|
|
33
|
-
context["lastState"] = subject.getLastState();
|
|
34
|
-
context["transition"] = subject.getSelectedTransition();
|
|
35
|
-
let message = "Transition";
|
|
36
|
-
if (context["subject"] != null) {
|
|
37
|
-
message += ` for "${convertToString(context["subject"])}"`;
|
|
38
|
-
}
|
|
39
|
-
if (context["lastState"] != null) {
|
|
40
|
-
message += ` from "${convertToString(context["lastState"])}"`;
|
|
41
|
-
}
|
|
42
|
-
if (context["currentState"] != null) {
|
|
43
|
-
message += ` to "${convertToString(context["currentState"])}"`;
|
|
44
|
-
}
|
|
45
|
-
const transition = context["transition"];
|
|
46
|
-
if (transition && typeof transition.getEventName === "function") {
|
|
47
|
-
const eventName = transition.getEventName();
|
|
48
|
-
const condition = transition.getConditionName?.();
|
|
49
|
-
if (eventName || condition) {
|
|
50
|
-
message += " with";
|
|
51
|
-
if (eventName) {
|
|
52
|
-
message += ` event "${eventName}"`;
|
|
53
|
-
}
|
|
54
|
-
if (condition) {
|
|
55
|
-
message += ` condition "${condition}"`;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
this.logger.log(this.loggerLevel, message, context);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
//# sourceMappingURL=TransitionLogger.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TransitionLogger.js","sourceRoot":"","sources":["../../src/observer/TransitionLogger.ts"],"names":[],"mappings":"AAKA,SAAS,cAAc,CAAC,GAAY;IAClC,OAAO,CACL,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,KAAK,IAAI;QACZ,iBAAiB,IAAI,GAAG;QACxB,YAAY,IAAI,GAAG,CACpB,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,GAAY;IAC3B,OAAO,CACL,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,KAAK,IAAI;QACZ,SAAS,IAAI,GAAG;QAChB,OAAQ,GAAa,CAAC,OAAO,KAAK,UAAU,CAC7C,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,GAAY;IACnC,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACjB,OAAO,GAAG,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;IACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC;AAED,MAAM,OAAO,gBAAgB;IACV,MAAM,CAAkB;IACxB,WAAW,CAAS;IAErC,YAAY,MAAuB,EAAE,WAAW,GAAG,MAAM;QACvD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,OAA0B;QAC/B,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAA4B,EAAE,CAAC;QAC5C,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;QAC1C,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;QACpD,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;QAC9C,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;QAExD,IAAI,OAAO,GAAG,YAAY,CAAC;QAE3B,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC;YAC/B,OAAO,IAAI,SAAS,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC;QAC7D,CAAC;QAED,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC;YACjC,OAAO,IAAI,UAAU,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC;QAChE,CAAC;QAED,IAAI,OAAO,CAAC,cAAc,CAAC,IAAI,IAAI,EAAE,CAAC;YACpC,OAAO,IAAI,QAAQ,eAAe,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC;QACjE,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAG/B,CAAC;QACT,IAAI,UAAU,IAAI,OAAO,UAAU,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;YAChE,MAAM,SAAS,GAAG,UAAU,CAAC,YAAY,EAAE,CAAC;YAC5C,MAAM,SAAS,GAAG,UAAU,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAClD,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;gBAC3B,OAAO,IAAI,OAAO,CAAC;gBACnB,IAAI,SAAS,EAAE,CAAC;oBACd,OAAO,IAAI,WAAW,SAAS,GAAG,CAAC;gBACrC,CAAC;gBACD,IAAI,SAAS,EAAE,CAAC;oBACd,OAAO,IAAI,eAAe,SAAS,GAAG,CAAC;gBACzC,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;CACF"}
|
package/dist/observer/index.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export { CallbackObserver } from "./CallbackObserver.js";
|
|
2
|
-
export { StatefulStatusChanger } from "./StatefulStatusChanger.js";
|
|
3
|
-
export { OnEnterObserver } from "./OnEnterObserver.js";
|
|
4
|
-
export { TransitionLogger } from "./TransitionLogger.js";
|
|
5
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/observer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
|
package/dist/observer/index.js
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export { CallbackObserver } from "./CallbackObserver.js";
|
|
2
|
-
export { StatefulStatusChanger } from "./StatefulStatusChanger.js";
|
|
3
|
-
export { OnEnterObserver } from "./OnEnterObserver.js";
|
|
4
|
-
export { TransitionLogger } from "./TransitionLogger.js";
|
|
5
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/observer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { TransitionSelectorInterface } from "../interfaces/TransitionSelectorInterface.js";
|
|
2
|
-
import type { TransitionInterface } from "../interfaces/TransitionInterface.js";
|
|
3
|
-
export declare class OneOrNoneActiveTransition<TSubject = unknown> implements TransitionSelectorInterface<TSubject> {
|
|
4
|
-
selectTransition(transitions: Iterable<TransitionInterface<TSubject>>): TransitionInterface<TSubject> | null;
|
|
5
|
-
}
|
|
6
|
-
//# sourceMappingURL=OneOrNoneActiveTransition.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OneOrNoneActiveTransition.d.ts","sourceRoot":"","sources":["../../src/selector/OneOrNoneActiveTransition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAChG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAEhF,qBAAa,yBAAyB,CAAC,QAAQ,GAAG,OAAO,CACvD,YAAW,2BAA2B,CAAC,QAAQ,CAAC;IAEhD,gBAAgB,CACd,WAAW,EAAE,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,GACnD,mBAAmB,CAAC,QAAQ,CAAC,GAAG,IAAI;CAWxC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export class OneOrNoneActiveTransition {
|
|
2
|
-
selectTransition(transitions) {
|
|
3
|
-
const arr = Array.from(transitions);
|
|
4
|
-
switch (arr.length) {
|
|
5
|
-
case 0:
|
|
6
|
-
return null;
|
|
7
|
-
case 1:
|
|
8
|
-
return arr[0];
|
|
9
|
-
default:
|
|
10
|
-
throw new Error("More than one transition is active!");
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=OneOrNoneActiveTransition.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OneOrNoneActiveTransition.js","sourceRoot":"","sources":["../../src/selector/OneOrNoneActiveTransition.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,yBAAyB;IAGpC,gBAAgB,CACd,WAAoD;QAEpD,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC;YACnB,KAAK,CAAC;gBACJ,OAAO,IAAI,CAAC;YACd,KAAK,CAAC;gBACJ,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;YAChB;gBACE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { TransitionSelectorInterface } from "../interfaces/TransitionSelectorInterface.js";
|
|
2
|
-
import type { TransitionInterface } from "../interfaces/TransitionInterface.js";
|
|
3
|
-
export declare class ScoreTransition<TSubject = unknown> implements TransitionSelectorInterface<TSubject> {
|
|
4
|
-
private readonly innerSelector;
|
|
5
|
-
constructor(innerSelector?: TransitionSelectorInterface<TSubject>);
|
|
6
|
-
protected calculateScore(transition: TransitionInterface<TSubject>): number;
|
|
7
|
-
selectTransition(transitions: Iterable<TransitionInterface<TSubject>>): TransitionInterface<TSubject> | null;
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=ScoreTransition.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ScoreTransition.d.ts","sourceRoot":"","sources":["../../src/selector/ScoreTransition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAChG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAGhF,qBAAa,eAAe,CAAC,QAAQ,GAAG,OAAO,CAC7C,YAAW,2BAA2B,CAAC,QAAQ,CAAC;IAEhD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAwC;gBAE1D,aAAa,CAAC,EAAE,2BAA2B,CAAC,QAAQ,CAAC;IAKjE,SAAS,CAAC,cAAc,CACtB,UAAU,EAAE,mBAAmB,CAAC,QAAQ,CAAC,GACxC,MAAM;IAWT,gBAAgB,CACd,WAAW,EAAE,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,GACnD,mBAAmB,CAAC,QAAQ,CAAC,GAAG,IAAI;CAcxC"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { OneOrNoneActiveTransition } from "./OneOrNoneActiveTransition.js";
|
|
2
|
-
export class ScoreTransition {
|
|
3
|
-
innerSelector;
|
|
4
|
-
constructor(innerSelector) {
|
|
5
|
-
this.innerSelector =
|
|
6
|
-
innerSelector ?? new OneOrNoneActiveTransition();
|
|
7
|
-
}
|
|
8
|
-
calculateScore(transition) {
|
|
9
|
-
let score = 0;
|
|
10
|
-
if (transition.getEventName()) {
|
|
11
|
-
score += 2;
|
|
12
|
-
}
|
|
13
|
-
if (transition.getConditionName()) {
|
|
14
|
-
score += 1;
|
|
15
|
-
}
|
|
16
|
-
return score;
|
|
17
|
-
}
|
|
18
|
-
selectTransition(transitions) {
|
|
19
|
-
let bestTransitions = [];
|
|
20
|
-
let bestScore = -1;
|
|
21
|
-
for (const transition of transitions) {
|
|
22
|
-
const score = this.calculateScore(transition);
|
|
23
|
-
if (score > bestScore) {
|
|
24
|
-
bestScore = score;
|
|
25
|
-
bestTransitions = [transition];
|
|
26
|
-
}
|
|
27
|
-
else if (score === bestScore) {
|
|
28
|
-
bestTransitions.push(transition);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
return this.innerSelector.selectTransition(bestTransitions);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=ScoreTransition.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ScoreTransition.js","sourceRoot":"","sources":["../../src/selector/ScoreTransition.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,MAAM,OAAO,eAAe;IAGT,aAAa,CAAwC;IAEtE,YAAY,aAAqD;QAC/D,IAAI,CAAC,aAAa;YAChB,aAAa,IAAI,IAAI,yBAAyB,EAAY,CAAC;IAC/D,CAAC;IAES,cAAc,CACtB,UAAyC;QAEzC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,UAAU,CAAC,YAAY,EAAE,EAAE,CAAC;YAC9B,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;QACD,IAAI,UAAU,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAClC,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,gBAAgB,CACd,WAAoD;QAEpD,IAAI,eAAe,GAAoC,EAAE,CAAC;QAC1D,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;QACnB,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YAC9C,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;gBACtB,SAAS,GAAG,KAAK,CAAC;gBAClB,eAAe,GAAG,CAAC,UAAU,CAAC,CAAC;YACjC,CAAC;iBAAM,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC/B,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAC9D,CAAC;CACF"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { TransitionSelectorInterface } from "../interfaces/TransitionSelectorInterface.js";
|
|
2
|
-
import type { TransitionInterface } from "../interfaces/TransitionInterface.js";
|
|
3
|
-
export declare class WeightTransition<TSubject = unknown> implements TransitionSelectorInterface<TSubject> {
|
|
4
|
-
private readonly innerSelector;
|
|
5
|
-
private readonly epsilon;
|
|
6
|
-
constructor(innerSelector?: TransitionSelectorInterface<TSubject>, epsilon?: number);
|
|
7
|
-
selectTransition(transitions: Iterable<TransitionInterface<TSubject>>): TransitionInterface<TSubject> | null;
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=WeightTransition.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WeightTransition.d.ts","sourceRoot":"","sources":["../../src/selector/WeightTransition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAChG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAGhF,qBAAa,gBAAgB,CAAC,QAAQ,GAAG,OAAO,CAC9C,YAAW,2BAA2B,CAAC,QAAQ,CAAC;IAEhD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAwC;IACtE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAG/B,aAAa,CAAC,EAAE,2BAA2B,CAAC,QAAQ,CAAC,EACrD,OAAO,SAAQ;IAOjB,gBAAgB,CACd,WAAW,EAAE,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,GACnD,mBAAmB,CAAC,QAAQ,CAAC,GAAG,IAAI;CAexC"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { OneOrNoneActiveTransition } from "./OneOrNoneActiveTransition.js";
|
|
2
|
-
export class WeightTransition {
|
|
3
|
-
innerSelector;
|
|
4
|
-
epsilon;
|
|
5
|
-
constructor(innerSelector, epsilon = 0.001) {
|
|
6
|
-
this.innerSelector =
|
|
7
|
-
innerSelector ?? new OneOrNoneActiveTransition();
|
|
8
|
-
this.epsilon = epsilon;
|
|
9
|
-
}
|
|
10
|
-
selectTransition(transitions) {
|
|
11
|
-
let bestTransitions = [];
|
|
12
|
-
let bestWeight = null;
|
|
13
|
-
for (const transition of transitions) {
|
|
14
|
-
const weight = transition.getWeight();
|
|
15
|
-
const diff = weight - (bestWeight ?? 0);
|
|
16
|
-
if (bestWeight === null || diff >= this.epsilon) {
|
|
17
|
-
bestWeight = weight;
|
|
18
|
-
bestTransitions = [transition];
|
|
19
|
-
}
|
|
20
|
-
else if (Math.abs(diff) < this.epsilon) {
|
|
21
|
-
bestTransitions.push(transition);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
return this.innerSelector.selectTransition(bestTransitions);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=WeightTransition.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WeightTransition.js","sourceRoot":"","sources":["../../src/selector/WeightTransition.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,MAAM,OAAO,gBAAgB;IAGV,aAAa,CAAwC;IACrD,OAAO,CAAS;IAEjC,YACE,aAAqD,EACrD,OAAO,GAAG,KAAK;QAEf,IAAI,CAAC,aAAa;YAChB,aAAa,IAAI,IAAI,yBAAyB,EAAY,CAAC;QAC7D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,gBAAgB,CACd,WAAoD;QAEpD,IAAI,eAAe,GAAoC,EAAE,CAAC;QAC1D,IAAI,UAAU,GAAkB,IAAI,CAAC;QACrC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACrC,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC;YACxC,IAAI,UAAU,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAChD,UAAU,GAAG,MAAM,CAAC;gBACpB,eAAe,GAAG,CAAC,UAAU,CAAC,CAAC;YACjC,CAAC;iBAAM,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gBACzC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAC9D,CAAC;CACF"}
|
package/dist/selector/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/selector/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
|