예제 #1
0
            public ParseResult <TResult> ParsePartial(ValueCursor cursor)
            {
                TBucket bucket = bucketProvider();

                foreach (var action in parseActions)
                {
                    ParseResult <TResult> failure = action(cursor, bucket);
                    if (failure != null)
                    {
                        return(failure);
                    }
                }
                return(bucket.CalculateValue(usedFields, cursor.Value));
            }
예제 #2
0
            public ParseResult <TResult> ParsePartial(ValueCursor cursor)
            {
                // At the moment we shouldn't get a partial parse for a format-only pattern, but
                // let's guard against it for the future.
                if (parseActions is null)
                {
                    return(ParseResult <TResult> .FormatOnlyPattern);
                }

                TBucket bucket = bucketProvider();

                foreach (var action in parseActions)
                {
                    ParseResult <TResult>?failure = action(cursor, bucket);
                    if (failure != null)
                    {
                        return(failure);
                    }
                }
                return(bucket.CalculateValue(usedFields, cursor.Value));
            }