0001 // 0002 // ConsoleEntryValidator.swift 0003 // AskerValidator 0004 // 0005 // Created by Omar Abdelhafith on 02/11/2015. 0006 // Copyright © 2015 Omar Abdelhafith. All rights reserved. 0007 // 0008 0009 0010 protocol AskerValidator{ 0011 typealias Item
AgreeSettings.swift:10 class AgreeSettings: AskerValidator {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 {AskerValidator.swift:19 func askForValidatedItem<T, W: AskerValidator where W.Item == T>AskSettings.swift:46 extension AskSettings: AskerValidator {ChooseSettings.swift:109 extension ChooseSettings: AskerValidator {0012 0013 func invalidItemMessage
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 {AskerValidator.swift:16 func validatedItem(forString string: String) -> ItemAskerValidator.swift:19 func askForValidatedItem<T, W: AskerValidator where W.Item == T>(string: String?) -> String? 0014 func newItemPromptMessage
AskerValidator.swift:25 guard let invalidMessage = validator.invalidItemMessage(validatedValue) else {() -> String 0015 0016 func validatedItem
AskerValidator.swift:30 PromptSettings.print(validator.newItemPromptMessage(), terminator: "")(forString string: String) -> Item 0017 } 0018 0019 func askForValidatedItem
AskerValidator.swift:35 return validator.validatedItem(forString: validatedValue)<T, W: AskerValidator where W.Item == T> 0020 (originalValue value: String, validator: W) -> T { 0021 0022 var validatedValue: String = value 0023 0024 while true { 0025 guard let invalidMessage = validator.invalidItemMessage(validatedValue) else { 0026 break 0027 } 0028 0029 PromptSettings.print(invalidMessage) 0030 PromptSettings.print(validator.newItemPromptMessage(), terminator: "") 0031 0032 validatedValue = readStringOrEmpty() 0033 } 0034 0035 return validator.validatedItem(forString: validatedValue) 0036 } 0037
Agree.swift:20 let validatedValue = askForValidatedItem(originalValue: value, validator: settings)Ask.swift:52 return askForValidatedItem(originalValue: stringOrEmpty, validator: validator)Ask.swift:60 let answer = askForValidatedItem(originalValue: stringOrEmpty, validator: validator)Choose.swift:86 return askForValidatedItem(originalValue: stringRead, validator: settings)