测试已测试 | ✓ |
语言语言 | SwiftSwift |
许可协议 | MIT |
发布日期最后发布 | 2016年1月 |
SPM支持 SPM | ✗ |
由 Benjamin Encz 维护。
一个用于 Swift Flow 的记录存储。使得 Swift Flow 应用支持热重载和时间旅行。
Swift Flow Recorder 是 Swift Flow 的一个扩展,允许开发者记录和重放操作。Swift Flow Recorder 支持将操作序列化到磁盘,允许重放记录的会话,并在您停止的地方重新启动应用程序。
这在开发过程中非常有用。如果您在记录时遇到崩溃,现在您有一个包含所有需要重复产生崩溃的操作的记录 JSON 文件。如果您使用此记录会话重新启动应用程序,它将以相同的方式每次都崩溃 - 这允许您在没有手动在应用中反复导航的情况下修复根本问题。
此扩展的长期目标是实现一些最重要的 Redux Devtools 特性。
此扩展正在运行 - 您可以记录和重放操作,但它仍处于概念验证状态.
当创建您的应用程序 store 时,需要创建一个 RecordingStore
实例而不是一个 MainStore
实例。您还需要提供一个用于反序列化操作的 typeMaps
参数
RecordingMainStore(reducer: CombinedReducer([CounterReducer(), NavigationReducer()]),
appState: AppState(), typeMaps:[counterActionTypeMap, SwiftFlowRouter.typeMap], recording: "recording.json")
typeMaps
数组是一个将类型名称(字符串)映射到动作类型。最后一个参数 recording
可以是 nil
或存储在应用程序文档目录中的记录路径。如果您为特定的记录设置路径,则在启动时 store 将加载所有操作并重放它们,从而恢复应用程序的状态。
有关如何使用 Swift Flow Recorder 的实际示例,请参阅 计数器应用程序示例。