예제 #1
0
        public static bool IsTerminal(this CsvToken token)
        {
            if (null == token)
            {
                throw new ArgumentNullException(nameof(token));
            }

            return(CsvTokenType.Terminal == token.TokenType);
        }
예제 #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="token"></param>
        /// <param name="text"></param>
        /// <returns></returns>
        public static bool IsString(this CsvToken token, out string text)
        {
            if (null == token)
            {
                throw new ArgumentNullException(nameof(token));
            }

            var match = CsvTokenType.String == token.TokenType;

            text = match ? ((CsvStringToken)token).Text : null;

            return(match);
        }
예제 #3
0
        private static bool CheckTerminal(this CsvToken token, char term)
        {
            if (null == token)
            {
                throw new ArgumentNullException(nameof(token));
            }

            if (CsvTokenType.Terminal != token.TokenType)
            {
                return(false);
            }

            return(term == ((CsvTerminalToken)token).Term);
        }
예제 #4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="token"></param>
        /// <returns></returns>
        public static bool IsNewLine(this CsvToken token)
        {
            if (null == token)
            {
                throw new ArgumentNullException(nameof(token));
            }

            if (CsvTokenType.Terminal != token.TokenType)
            {
                return(false);
            }

            var term = ((CsvTerminalToken)token).Term;

            return(CsvTerminals.NewLine == term ||
                   CsvTerminals.LineFeed == term);
        }
예제 #5
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="token"></param>
 /// <returns></returns>
 public static bool IsComma(this CsvToken token)
 {
     return(CheckTerminal(token, CsvTerminals.Comma));
 }
예제 #6
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="token"></param>
 /// <returns></returns>
 public static bool IsDoubleQuote(this CsvToken token)
 {
     return(CheckTerminal(token, CsvTerminals.DoubleQuote));
 }
예제 #7
0
 public static bool IsTerminal(this CsvToken token, char term)
 {
     return(CheckTerminal(token, term));
 }