private static IntegerNode ParseIntegerNode( IJsonTextReaderPrivateImplementation jsonTextReader, JsonTokenType jsonTokenType) { ReadOnlyMemory <byte> bufferedRawJsonToken = jsonTextReader.GetBufferedJsonToken().Memory; IntegerNode integerNode = jsonTokenType switch { JsonTokenType.Int8 => Int8Node.Create(bufferedRawJsonToken), JsonTokenType.Int16 => Int16Node.Create(bufferedRawJsonToken), JsonTokenType.Int32 => Int32Node.Create(bufferedRawJsonToken), JsonTokenType.Int64 => Int64Node.Create(bufferedRawJsonToken), JsonTokenType.UInt32 => UInt32Node.Create(bufferedRawJsonToken), _ => throw new ArgumentException($"Unknown {nameof(JsonTokenType)}: {jsonTokenType}"), }; // consume the integer from the reader jsonTextReader.Read(); return(integerNode); }
private static IntegerNode ParseIntegerNode(IJsonReader jsonTextReader, JsonTokenType jsonTokenType) { if (!jsonTextReader.TryGetBufferedRawJsonToken(out ReadOnlyMemory <byte> bufferedRawJsonToken)) { throw new InvalidOperationException("Failed to get the buffered raw json token."); } IntegerNode integerNode; switch (jsonTokenType) { case JsonTokenType.Int8: integerNode = Int8Node.Create(bufferedRawJsonToken); break; case JsonTokenType.Int16: integerNode = Int16Node.Create(bufferedRawJsonToken); break; case JsonTokenType.Int32: integerNode = Int32Node.Create(bufferedRawJsonToken); break; case JsonTokenType.Int64: integerNode = Int64Node.Create(bufferedRawJsonToken); break; case JsonTokenType.UInt32: integerNode = UInt32Node.Create(bufferedRawJsonToken); break; default: throw new ArgumentException($"Unknown {nameof(JsonTokenType)}: {jsonTokenType}"); } // consume the integer from the reader jsonTextReader.Read(); return(integerNode); }
private static IntegerNode ParseIntegerNode(IJsonReader jsonTextReader, JsonTokenType jsonTokenType) { ReadOnlyMemory <byte> bytes = jsonTextReader.GetBufferedRawJsonToken(); IntegerNode integerNode; switch (jsonTokenType) { case JsonTokenType.Int8: integerNode = Int8Node.Create(bytes); break; case JsonTokenType.Int16: integerNode = Int16Node.Create(bytes); break; case JsonTokenType.Int32: integerNode = Int32Node.Create(bytes); break; case JsonTokenType.Int64: integerNode = Int64Node.Create(bytes); break; case JsonTokenType.UInt32: integerNode = UInt32Node.Create(bytes); break; default: throw new ArgumentException($"Unknown {nameof(JsonTokenType)}: {jsonTokenType}"); } // consume the integer from the reader jsonTextReader.Read(); return(integerNode); }