Small library that allows you to use Storage in Swifty style

StorageKit

Small library that allows you to use Storage in Swifty style

Install

When you have your Swift package set up, simply add StorageKit as a dependency, by placing it to the dependencies value of your Package.swift.

dependencies: [
    .package(url: "https://github.com/Erokha/StorageKit.git", .upToNextMajor(from: "1.0.1"))
]

Usage

For example, we have some struct

struct ObjectExample: Codable {
    let name: String
    let age: Int
}

What we have to do, to save it into some storage?

Step 1: Add StaticKeyed protocol

extension ObjectExample: StaticKeyed {
    static var storageKey: String { "ObjectExample" }
}

Step 2: Create Storage

let storage = StorageFactory<ObjectExample>.userDefaultsStorage

Step3: Save to single or multi-object storage

let object = ObjectExample(name: "Erokha", age: 22)

// Single storage
try? storage.single.save(object: object)

// Multi storage
try? storage.multi.save(object: object, forKey: "this is key")

Step 4: Restore object from Storage

If you saved to single storage

let object = try storage.single.restore()
        
// Do not forget: you may use optional try
let optionalObject = try? storage.single.restore()

If you saved to multi-object storage

let object = try storage.multi.restore(forKey: "this is key")

// Do not forget: you may use optional try
let optionalObject = try? storage.multi.restore(forKey: "this is key")

GitHub

View Github