Skip to content

Commit

Permalink
fixed protocol naming
Browse files Browse the repository at this point in the history
  • Loading branch information
ypopovych committed Oct 30, 2020
1 parent 2668212 commit 16f10bf
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 25 deletions.
28 changes: 14 additions & 14 deletions Sources/Serializable/FoundationExtensions.swift
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@

import Foundation

extension Int64: SerializableValueConvertible {
extension Int64: SerializableValueRepresentable {
public init(serializable: SerializableValue) throws {
guard case .int(let int) = serializable else {
throw SerializableValue.Error.notInitializable(serializable)
Expand All @@ -43,7 +43,7 @@ extension SerializableValue {
public var int: Int64? { try? Int64(serializable: self) }
}

extension Double: SerializableValueConvertible {
extension Double: SerializableValueRepresentable {
public init(serializable: SerializableValue) throws {
switch serializable {
case .float(let num): self = num
Expand All @@ -68,7 +68,7 @@ extension SerializableValue {
public var float: Double? { try? Double(serializable: self) }
}

extension Bool: SerializableValueConvertible {
extension Bool: SerializableValueRepresentable {
public init(serializable: SerializableValue) throws {
guard case .bool(let bool) = serializable else {
throw SerializableValue.Error.notInitializable(serializable)
Expand All @@ -91,7 +91,7 @@ extension SerializableValue {
public var bool: Bool? { try? Bool(serializable: self) }
}

extension Date: SerializableValueConvertible {
extension Date: SerializableValueRepresentable {
public init(serializable: SerializableValue) throws {
guard case .date(let date) = serializable else {
throw SerializableValue.Error.notInitializable(serializable)
Expand All @@ -110,7 +110,7 @@ extension SerializableValue {
}
}

extension Data: SerializableValueConvertible {
extension Data: SerializableValueRepresentable {
public init(serializable: SerializableValue) throws {
guard case .bytes(let data) = serializable else {
throw SerializableValue.Error.notInitializable(serializable)
Expand All @@ -129,7 +129,7 @@ extension SerializableValue {
}
}

extension String: SerializableValueConvertible {
extension String: SerializableValueRepresentable {
public init(serializable: SerializableValue) throws {
guard case .string(let str) = serializable else { throw SerializableValue.Error.notInitializable(serializable) }
self = str
Expand All @@ -150,7 +150,7 @@ extension SerializableValue {
public var string: String? { try? String(serializable: self) }
}

extension Array: SerializableValueRepresentable where Element: SerializableValueRepresentable {
extension Array: SerializableValueConvertible where Element: SerializableValueConvertible {
public var serializable: SerializableValue {
.array(self.map{$0.serializable})
}
Expand All @@ -165,7 +165,7 @@ extension Array: SerializableValueInitializable where Element: SerializableValue
}
}

extension Array where Element: SerializableValueRepresentable {
extension Array where Element: SerializableValueConvertible {
public func tryParse<E>(parser: @escaping (SerializableValue) throws -> E) -> [E]? {
try? map { try parser($0.serializable) }
}
Expand Down Expand Up @@ -196,7 +196,7 @@ extension Array where Element: SerializableValueRepresentable {
}

extension SerializableValue: ExpressibleByArrayLiteral {
public typealias ArrayLiteralElement = SerializableValueRepresentable
public typealias ArrayLiteralElement = SerializableValueConvertible

public init(arrayLiteral elements: ArrayLiteralElement...) {
self.init(elements)
Expand All @@ -216,13 +216,13 @@ extension Dictionary: SerializableValueInitializable where Key == String, Value:
}
}

extension Dictionary: SerializableValueRepresentable where Key == String, Value: SerializableValueRepresentable {
extension Dictionary: SerializableValueConvertible where Key == String, Value: SerializableValueConvertible {
public var serializable: SerializableValue {
.object(self.mapValues{$0.serializable})
}
}

extension Dictionary where Key == String, Value: SerializableValueRepresentable {
extension Dictionary where Key == String, Value: SerializableValueConvertible {
public func tryParse<E>(parser: @escaping (SerializableValue) throws -> E) -> [String: E]? {
try? mapValues { try parser($0.serializable) }
}
Expand Down Expand Up @@ -254,7 +254,7 @@ extension Dictionary where Key == String, Value: SerializableValueRepresentable

extension SerializableValue: ExpressibleByDictionaryLiteral {
public typealias Key = String
public typealias Value = SerializableValueRepresentable
public typealias Value = SerializableValueConvertible

public init(dictionaryLiteral elements: (Key, Value)...) {
self.init(Dictionary(uniqueKeysWithValues: elements) )
Expand All @@ -267,7 +267,7 @@ extension SerializableValue {
}
}

extension Optional: SerializableValueRepresentable where Wrapped: SerializableValueRepresentable {
extension Optional: SerializableValueConvertible where Wrapped: SerializableValueConvertible {
public var serializable: SerializableValue {
switch self {
case .none: return .nil
Expand All @@ -285,7 +285,7 @@ extension Optional: SerializableValueInitializable where Wrapped: SerializableVa
}

extension Optional {
public static var `nil`: SerializableValueConvertible { SerializableValue.nil }
public static var `nil`: SerializableValueRepresentable { SerializableValue.nil }
}

extension SerializableValue: ExpressibleByNilLiteral {
Expand Down
4 changes: 2 additions & 2 deletions Sources/Serializable/Protocols.swift
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,12 @@

import Foundation

public protocol SerializableValueRepresentable {
public protocol SerializableValueConvertible {
var serializable: SerializableValue { get }
}

public protocol SerializableValueInitializable {
init(serializable: SerializableValue) throws
}

public typealias SerializableValueConvertible = SerializableValueInitializable & SerializableValueRepresentable
public typealias SerializableValueRepresentable = SerializableValueInitializable & SerializableValueConvertible
16 changes: 8 additions & 8 deletions Sources/Serializable/Value.swift
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,15 @@ public enum SerializableValue: Codable, Equatable, Hashable {
case array(Array<SerializableValue>)
case object(Dictionary<String, SerializableValue>)

public init(_ value: SerializableValueRepresentable) {
public init(_ value: SerializableValueConvertible) {
self = value.serializable
}

public init(_ array: Array<SerializableValueRepresentable>) {
public init(_ array: Array<SerializableValueConvertible>) {
self = .array(array.map { $0.serializable })
}

public init(_ dict: Dictionary<String, SerializableValueRepresentable>) {
public init(_ dict: Dictionary<String, SerializableValueConvertible>) {
self = .object(dict.mapValues{ $0.serializable })
}

Expand Down Expand Up @@ -93,23 +93,23 @@ public enum SerializableValue: Codable, Equatable, Hashable {
}

public struct DataDecodingStrategy {
public let decode: (SerializableValueRepresentable) throws -> Data
public let decode: (SerializableValueConvertible) throws -> Data

public init(decode: @escaping (SerializableValueRepresentable) throws -> Data) {
public init(decode: @escaping (SerializableValueConvertible) throws -> Data) {
self.decode = decode
}
}

public struct DateDecodingStrategy {
public let decode: (SerializableValueRepresentable) throws -> Date
public let decode: (SerializableValueConvertible) throws -> Date

public init(decode: @escaping (SerializableValueRepresentable) throws -> Date) {
public init(decode: @escaping (SerializableValueConvertible) throws -> Date) {
self.decode = decode
}
}
}

extension SerializableValue: SerializableValueConvertible {
extension SerializableValue: SerializableValueRepresentable {
public init(serializable: SerializableValue) throws {
self = serializable
}
Expand Down
2 changes: 1 addition & 1 deletion Tests/SerializableTests/SerializableTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ class SerializableTests: XCTestCase {
}

func testEncoding() {
var object = Dictionary<String, SerializableValueRepresentable>()
var object = Dictionary<String, SerializableValueConvertible>()
object["int"] = Int64(-123)
object["array"] = [Int64(1), Int64(2), Int64(3)]
object["float"] = 123.456
Expand Down

0 comments on commit 16f10bf

Please sign in to comment.