This package contains simple, yet sensible templates you can adopt for your ViewModels to get you started with an MVVM based iOS project. Following a consistent pattern also helps you avoid duplication in your project.
A ViewModel protocol (with async and sync variants) is defined which should be adopted by your view model implementations to introduce consistency in your project, and a generic definition of ViewState is available to prevent duplication in your code.
See Example.swift for usage examples.