Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

norio-nomura/ObjectEncoder

Repository files navigation

ObjectEncoder for Swift

MIT License SwiftPM xcodebuild pod lib lint Nightly codecov

SE-0167 Swift Encoders implementation using [String: Any], [Any] or Any as payload.

Usage

import Foundation
import ObjectEncoder
// single value
let string = "Hello, ObjectEncoder"
let encodedString = try ObjectEncoder().encode(string)
(encodedString as AnyObject).isEqual(to: string) // true
let decodedString = try ObjectDecoder().decode(String.self, from: encodedString)
// dictionary
struct S: Codable { let p1: String }
let s = S(p1: "string")
guard let encodedS = try ObjectEncoder().encode(s) as? [String: Any] else { fatalError() }
encodedS["p1"] // "string"
let decodedS = try ObjectDecoder().decode(S.self, from: encodedS)
decodedS.p1 // "string"
// array
let array: [S] = [s, s]
guard let encoded = try ObjectEncoder().encode(array) as? [[String: Any]] else { fatalError() }
encoded[0]["p1"] // "string"
let decoded = try ObjectDecoder().decode([S].self, from: encoded)
decoded[0].p1 // "string"

Requirements

  • Swift 4.1+

Author

Norio Nomura

License

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

About

Swift Encoders implementation using `[String: Any]`, `[Any]` or `Any` as payload.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /