Coverage Summary for Class: ExtensionsKt (vit.khudenko.android.sessiontracker)
| Class | Method, % | Line, % |
|---|---|---|
| ExtensionsKt | 100% (1/1) | 100% (5/5) |
| ExtensionsKt$sessionStateTransitionsSupplier$2$1 | 100% (1/1) | 100% (1/1) |
| Total | 100% (2/2) | 100% (6/6) |
1 package vit.khudenko.android.sessiontracker 2 3 /** 4 * A helper function to reduce code footprint when specifying [`ISessionStateTransitionsSupplier`][ISessionStateTransitionsSupplier] 5 * for [`SessionTracker`][SessionTracker]. 6 * 7 * @param transitions one or more instances of [`Pair`][Pair]<[`Event`][Event], [`List`][List]<[`State`][State]>> each corresponding 8 * to a [`Transition`][Transition]. 9 * @return [`ISessionStateTransitionsSupplier`][ISessionStateTransitionsSupplier] instance 10 * 11 * @see [Transition] 12 * 13 * @param [Event] event parameter of enum type. 14 * @param [State] state parameter of enum type. 15 */ 16 fun <Event : Enum<Event>, State : Enum<State>> sessionStateTransitionsSupplier( 17 vararg transitions: Pair<Event, List<State>> 18 ): ISessionStateTransitionsSupplier<Event, State> { 19 return transitions 20 .map { (event, statePath) -> 21 Transition(event, statePath.toList()) 22 } 23 .let { transitionList -> 24 ISessionStateTransitionsSupplier { transitionList } 25 } 26 } 27