internal void Evaluate(string source) { var currentIndex = 0; var token = string.Empty; var tokenIsQuote = false; while (currentIndex < source.Length) { var character = source[currentIndex++]; if (!tokenIsQuote && char.IsWhiteSpace(character)) { if (_tokenHandler.IsValid(token)) { token = string.Empty; continue; } _tokenHandler.Add(token); token = string.Empty; continue; } token += character; tokenIsQuote = GetTokenIsQuote(tokenIsQuote, character); } if (!string.IsNullOrEmpty(token)) { _tokenHandler.Add(token); } }
public bool IsValid(string token) { _tokenHandler = _tokenHandler ?? _tokenHandlers.FirstOrDefault(x => x.IsValid(token)); return(_tokenHandler != null && _tokenHandler.IsValid(token)); }
public bool IsValid(string token) { return(_tokenHandler.IsValid(token)); }