0001    //
0002    //  ArgConvertible.swift
0003    //  ArgConvertible
0004    //
0005    //  Created by Omar Abdelhafith on 02/11/2015.
0006    //  Copyright © 2015 Omar Abdelhafith. All rights reserved.
0007    //
0008    
0009    
0010    /**
0011     *  Any type that extends ArgConvertibleType can be used in ask and choose
0012     */
0013    public protocol ArgConvertibleType
ArgConvertible.swift:23
extension Int: ArgConvertibleType {
ArgConvertible.swift:34
extension Double: ArgConvertibleType {
ArgConvertible.swift:44
extension Float: ArgConvertibleType {
ArgConvertible.swift:55
extension String: ArgConvertibleType {
Ask.swift:33
public func ask<T: ArgConvertibleType>(prompt: String, type: T.Type, customizationBlock: (AskSettings<T> -> Void)? = nil) -> T {
Ask.swift:50
func getValidatedString<T: ArgConvertibleType, W: AskerValidator where W.Item == T>(validator: W) -> T {
Ask.swift:56
func getValidatedStringWithConfirmation<T: ArgConvertibleType, W: AskerValidator where W.Item == T>(validator: W) -> T {
{ 0014 0015 /// Create an instance out of a string 0016 static func fromString
AskSettings.swift:39
        return T.fromString(string)!
AskSettings.swift:53
        guard let validatedItem = T.fromString(string) else {
AskSettings.swift:69
        return T.fromString(string)!
(string: String) -> Self? 0017 0018 /// Return the display name of a type 0019 static func typeName
AskSettings.swift:54
            return "You must enter a valid \(T.typeName())."
() -> String 0020 } 0021 0022 0023 extension Int: ArgConvertibleType { 0024 public static func fromString(string: String) -> Int? { 0025 return Int(string) 0026 } 0027 0028 public static func typeName() -> String { 0029 return "Integer" 0030 } 0031 } 0032 0033 0034 extension Double: ArgConvertibleType { 0035 public static func fromString(string: String) -> Double? { 0036 return Double(string) 0037 } 0038 0039 public static func typeName() -> String { 0040 return "Double" 0041 } 0042 } 0043 0044 extension Float: ArgConvertibleType { 0045 public static func fromString(string: String) -> Float? { 0046 return Float(string) 0047 } 0048 0049 public static func typeName() -> String { 0050 return "Float" 0051 } 0052 } 0053 0054 0055 extension String: ArgConvertibleType { 0056 public static func fromString(string: String) -> String? { 0057 return string 0058 } 0059 0060 public static func typeName() -> String { 0061 return "String" 0062 } 0063 } 0064