in src/Custom/Batch/Internal/CreateBatchOperationToken.cs [36:88]
public static CreateBatchOperationToken FromToken(ContinuationToken continuationToken)
{
if (continuationToken is CreateBatchOperationToken token)
{
return token;
}
BinaryData data = continuationToken.ToBytes();
if (data.ToMemory().Length == 0)
{
throw new ArgumentException("Failed to create CreateBatchOperationToken from provided continuationToken.", nameof(continuationToken));
}
Utf8JsonReader reader = new(data);
string batchId = null!;
reader.Read();
Debug.Assert(reader.TokenType == JsonTokenType.StartObject);
while (reader.Read())
{
if (reader.TokenType == JsonTokenType.EndObject)
{
break;
}
Debug.Assert(reader.TokenType == JsonTokenType.PropertyName);
string propertyName = reader.GetString()!;
switch (propertyName)
{
case "batchId":
reader.Read();
Debug.Assert(reader.TokenType == JsonTokenType.String);
batchId = reader.GetString()!;
break;
default:
throw new JsonException($"Unrecognized property '{propertyName}'.");
}
}
if (batchId is null)
{
throw new ArgumentException("Failed to create CreateBatchOperationToken from provided continuationToken.", nameof(continuationToken));
}
return new(batchId);
}