Skip to content

inloop/CodableStore

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CodableStore

CI Status Version License Platform

Example

UserDefaults as storage provider:

struct Company {
    let name: String
}

let provider = UserDefaults.standard

let tesla = Company(name: "Tesla")
let companyKey = "somekey"

tesla.create(provider, key: companyKey).then { (company: Company?) -> Void in
    // company: Company?
}
Company.read(provider, key: companyKey).then { company -> Void in
    // company: Company?
}

URLSession as storage provider:

struct Post: Codable {
    let title: String
    let body: String
}

let provider = URLSession.shared

let url = URL(string: "http://jsonplaceholder.typicode.com/posts")!
let detailUrl = URL(string: "http://jsonplaceholder.typicode.com/posts/1")!

[Post].read(store, key: url).then { posts -> Void in
    // posts: [Post]?
}

Post.read(store, key: url).then { post -> Void in
    // post: Post?
}

let newPost = Port(title: "Foo", body: "Blah")
newPost.create(store, key: url).then { (post: Post?) -> Void in
    // post: Post?
}

URLSession custom URLRequest

Custom provider

Requirements

Installation

CodableStore is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'CodableStore'

Author

Jakub Knejzlik, [email protected]

License

CodableStore is available under the MIT license. See the LICENSE file for more info.

About

Persistance providers for swift Codables

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •