Slide 16
Slide 16 text
ϑΣʔζͱ͍͏ಠࣗ֓೦
public protocol Reducer {
/// ΞΫγϣϯʹԠͯ͡ঢ়ଶΛมߋ͠·͢ɻ
/// - Parameters:
/// - state: มߋલͷঢ়ଶͰ͢ɻ
/// - action: ঢ়ଶมߋΛཁٻ͢ΔΞΫγϣϯͰ͢ɻ
/// - Returns: มߋޙͷঢ়ଶΛฦ͠·͢ɻ
static func reduce(state: State, action: Action) -> State
}
public protocol Phase: Reducer, Hashable, CustomStringConvertible
{
/// ϑΣʔζछผͰ͢ɻ
var kind: PhaseKind { get }
/// ผͷϑΣʔζ͔Β͜ͷϑΣʔζʹભҠ͢Δͱ͖ʹݺΕ·͢ɻ
/// ඞཁʹԠͯ͡αϯΫΛฦ͢͜ͱ͕Ͱ͖·͢ɻ
/// - Parameters:
/// - previousPhase: ҎલͷϑΣʔζ͕͞Ε·͢ɻ
static func onEnter(previousPhase: AnyPhase) -> Thunk?
/// ͜ͷϑΣʔζ͔ΒผͷϑΣʔζʹભҠ͢Δͱ͖ʹݺΕ·͢ɻ
/// ඞཁʹԠͯ͡αϯΫΛฦ͢͜ͱ͕Ͱ͖·͢ɻ
/// - Parameters:
/// - state: ݱࡏͷঢ়ଶͰ͢ɻ
/// - nextPhase: ࣍ͷϑΣʔζ͕͞Ε·͢ɻ
static func onExit(nextPhase: AnyPhase) -> Thunk?
}
ͷࣗͷϝϞ