12345678910111213141516171819202122232425262728293031 |
- //
- // EnumType.swift
- // HandyJSON
- //
- // Created by zhouzhuo on 16/07/2017.
- // Copyright © 2017 aliyun. All rights reserved.
- //
- import Foundation
- public protocol _RawEnumProtocol: _Transformable {
- static func _transform(from object: Any) -> Self?
- func _plainValue() -> Any?
- }
- extension RawRepresentable where Self: _RawEnumProtocol {
- public static func _transform(from object: Any) -> Self? {
- if let transformableType = RawValue.self as? _Transformable.Type {
- if let typedValue = transformableType.transform(from: object) {
- return Self(rawValue: typedValue as! RawValue)
- }
- }
- return nil
- }
- public func _plainValue() -> Any? {
- return self.rawValue
- }
- }
|