internal static long Parse(ReadOnlySequence <byte> buffer) { if (buffer.IsEmpty) { return(0); } if (buffer.Length >= 2 && buffer.ItemAt(0) == ByteConstants.Dash && buffer.ItemAt(1) == ByteConstants.One) { return(-1); } if (!char.IsDigit((char)buffer.ItemAt(0)) && buffer.ItemAt(0) != ByteConstants.Dash) { return(Parse(buffer.Slice(buffer.GetPosition(1, buffer.Start)))); } if (buffer.GetEndOfLinePosition() != null) { return(Parse(buffer.Slice(buffer.Start, buffer.Length - 2))); } return(ParseSequence(buffer)); }