Skip to content

Instantly share code, notes, and snippets.

@onmyway133
Created June 15, 2018 10:00
Show Gist options
  • Save onmyway133/c3bb8c23509322484c18286f1fea51dd to your computer and use it in GitHub Desktop.
Save onmyway133/c3bb8c23509322484c18286f1fea51dd to your computer and use it in GitHub Desktop.
extension TypeWrapperStorage: StorageAware {
public func entry<T: Codable>(forKey key: String) throws -> Entry<T> {
let wrapperEntry = try internalStorage.entry(forKey: key) as Entry<TypeWrapper<T>>
return Entry(object: wrapperEntry.object.object, expiry: wrapperEntry.expiry)
}
public func setObject<T: Codable>(_ object: T, forKey key: String,
expiry: Expiry? = nil) throws {
let wrapper = TypeWrapper<T>(object: object)
try internalStorage.setObject(wrapper, forKey: key, expiry: expiry)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment