💾 LMStorage is a framework which reduces the complexity of managing a persistent layer.
- iOS 12.1+
- Swift 5.0+
LMStorage is available through SPM. To install it, follow the steps:
Open Xcode project > File > Swift Packages > Add Package Dependecy
After that, put the url in the field: https://github.com/thejohnlima/LMStorage.git
LMStorage is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'LMStorage'
and run pod install
Import library in your file:
import LMStorage
/// Saving user example
let user = User(id: "1", name: "John John", age: 30)
let storage = UserStorage()
storage.create(user)
/// Saving secure user example
let user = User(id: "2", name: "John John", age: 1130)
let secureStorage = UserSecureStorage()
secureStorage.create(user)
/// Storage Keys Example
struct Key {
static let container = "LMStorage"
static let user = "User"
}
/// User Example
struct User: LMCodable {
let id: String
let name: String
let age: Int
}
/// User storage example
struct UserStorage: LMStorageProtocol {
typealias T = User
private let storage: LMAbstractStorage<T>
init() {
storage = LMStorage(with: Key.user)
}
func getFirst() -> User? {
return storage.getFirst()
}
func create(_ register: User) -> Bool {
return storage.create(register)
}
func update(_ register: User) -> Bool {
return storage.update(register)
}
func delete() -> Bool {
return storage.delete()
}
}
/// User secure storage example
struct UserSecureStorage: LMStorageProtocol {
typealias T = User
private let storage = LMSecureStorage<T>(with: Key.container)
init() {}
func getFirst() -> User? {
return storage.getFirst(key: Key.user)
}
func create(_ register: User) -> Bool {
return storage.create(register, key: Key.user)
}
func update(_ register: User) -> Bool {
return storage.update(register, key: Key.user)
}
func delete() -> Bool {
return storage.delete(key: Key.user)
}
}
If you need more examples, take a look at Example project
.
- If you found a bug, open an issue.
- If you have a feature request, open an issue.
- If you want to contribute, submit a pull request. 👨🏻💻
LMStorage is under MIT license. See the LICENSE file for more info.