ReSwiftMiddleware 0.1.4

ReSwiftMiddleware 0.1.4

Victor C Tavernari 维护。



  • Victor Carvalho Tavernari

ReSwiftMiddleware

Swift 5.0

我已经使用了ReSwift框架,所以当我需要实现中间件时,我感觉使用起来有些混乱,因此我制作了这个工具来帮助其他人创建中间件。

关于

这个库中有两个重要的结构体MiddlewaresCollectionMiddlewareExecutor

MiddlewaresCollection是一个对象,您需要在其中添加自己的MiddlewareExecutor。而MiddlewareExecutor是一个协议,您可以用它来实现执行中间件实现。

实现方法

首先我们需要创建我们的中间件。

所有这些代码都位于项目的单元测试中。

import Foundation
import ReSwift

struct MiddlewareLogger : MiddlewareExecutor {

    let logger: LogConsole

    init(logger: LogConsole) {
        self.logger = logger;
    }

    func execute(
            action: Action, 
            getState: @escaping () -> StateType?, 
            dispatch: @escaping DispatchFunction) -> Action? {

        if let counterAction = action as? CounterActions {
            self.logger.register(value: counterAction.toString())
        }

        return action
    }
}

如果您需要在执行流中中断,请在execute方法中返回nil

MiddlewaresCollection实现的示例。

let middlewaresCollection = MiddlewaresCollection<CounterState>()
let middlewareLogger = MiddlewareLogger(logger: logger)

middlewaresCollection.add(middlewareLogger);

现在是一个如何将此集合连接到[ReSwfit]的示例

let store = Store<CounterState>(
    reducer: reducerCounterState, 
    state: CounterState(), 
    middleware: middlewaresCollection.middlewares)

安装

CocoaPods

您可以通过将ReSwift添加到Podfile来使用CocoaPods安装它。

use_frameworks!

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'

pod 'ReSwiftMiddleware'

然后运行pod install