Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prototype sketching JSON Merge Patch convenience APIs #37341

Closed
wants to merge 121 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
121 commits
Select commit Hold shift + click to select a range
b2e5f4c
Update serializer (#35735)
nisha-bhatia Apr 21, 2023
87671e8
Update serializer (#35741)
nisha-bhatia Apr 21, 2023
c1497f7
[Azure.Core] add List property tests and update ReadOnly Test (#35904)
nisha-bhatia May 2, 2023
be4d2de
[Azure.Core] Update SerializableOptions.cs (#35947)
nisha-bhatia May 3, 2023
b9a827c
[Azure.Core] add test helper for Models (#35968)
nisha-bhatia May 8, 2023
3653783
[Azure.Core] Update IJsonSerializable with non Try methods (#36164)
nisha-bhatia May 17, 2023
678a804
Add scaffolding for readme (#36342)
m-nash May 18, 2023
2f6b08b
Merge branch 'main' of https://github.com/Azure/azure-sdk-for-net int…
m-nash May 19, 2023
ab768c5
Add use cases for explicit casts (#36391)
m-nash May 19, 2023
79bb9f6
[Azure.Core] Update Serializer (#36376)
nisha-bhatia May 19, 2023
7da48fa
Add use cases for stj (#36399)
m-nash May 19, 2023
3ea55f7
[Azure.Core] Add public static deserializer (#36402)
nisha-bhatia May 22, 2023
03d2c71
Add model serializer example (#36418)
m-nash May 22, 2023
6126493
[Azure.Core] Add NewtonSoft Json example (#36453)
nisha-bhatia May 30, 2023
7696902
add generic modeljsonconverter (#36854)
m-nash Jun 6, 2023
bf164e9
Merge branch 'main' of https://github.com/Azure/azure-sdk-for-net int…
m-nash Jun 6, 2023
8069f69
[Azure.Core] Add Newton soft BYOM case (#36794)
nisha-bhatia Jun 13, 2023
a905618
merge from main
m-nash Jun 13, 2023
e67e2c0
regen api after merge
m-nash Jun 13, 2023
c18eba6
Demo of what it would look like for public surface (#36857)
m-nash Jun 14, 2023
8ce8618
[Azure.Core] Add XmlSerializer (#37155)
nisha-bhatia Jun 26, 2023
852fd64
add examples for combined interface (#37245)
m-nash Jun 27, 2023
c4838b9
merge main
m-nash Jun 27, 2023
6c173b0
regen api after merge
m-nash Jun 27, 2023
74bd112
Update to v1 api surface (#37276)
m-nash Jun 28, 2023
6532ade
Starting prototype 2
annelo-msft Jun 29, 2023
7928e8a
Initial pass on non tree-building implementation
annelo-msft Jun 29, 2023
4ed9c30
fix
annelo-msft Jun 29, 2023
85ccca6
fix but needs tidy
annelo-msft Jun 29, 2023
1413df1
add tests
annelo-msft Jun 29, 2023
dc3f1f9
delete
annelo-msft Jun 29, 2023
11f2de8
Handle more cases - midstream
annelo-msft Jun 30, 2023
3710781
metric test - pass
annelo-msft Jun 30, 2023
9ee484e
wip
m-nash Jun 30, 2023
3eb1a0a
nit
annelo-msft Jun 30, 2023
d5323bd
update benchmark to use a real model from compute
m-nash Jul 5, 2023
619c6cf
update api
m-nash Jul 5, 2023
651c016
wip (#37351)
nisha-bhatia Jul 6, 2023
64d0aec
add multi buffer option and benchmarks for larger object
m-nash Jul 6, 2023
6502ff4
minor fixes on perf
m-nash Jul 7, 2023
c8694ad
Merge branch 'feature/updateSerializer' of https://github.com/Azure/a…
m-nash Jul 7, 2023
59bce55
perf updates and split the xml / json interfaces so we can take Utf8J…
m-nash Jul 11, 2023
39cdcec
wip (#37544)
nisha-bhatia Jul 12, 2023
1da1e4b
add delayed RequestContent to improve implicit cast perf
m-nash Jul 12, 2023
234e4ca
merge from feature/updateSerializer
m-nash Jul 12, 2023
d520bea
fixes after merge
m-nash Jul 12, 2023
334e672
add utf8jsonreader deserialize
m-nash Jul 13, 2023
ebc6e4d
update for the rest of the test models with jsonreader
m-nash Jul 17, 2023
f06e0bb
update api
m-nash Jul 17, 2023
c8c7586
fix typo
m-nash Jul 17, 2023
95f8795
[Azure.Core] Update options to use Format string (#37467)
nisha-bhatia Jul 18, 2023
752bb88
upload bimodal repro
m-nash Jul 18, 2023
9ec2b5a
return values from benchmarks
m-nash Jul 18, 2023
b2e85cf
merge from feature/updateSerializer
m-nash Jul 18, 2023
1499973
updates after merge
m-nash Jul 18, 2023
20a3e99
Merge branch 'main' of https://github.com/Azure/azure-sdk-for-net int…
m-nash Jul 18, 2023
ad923da
Merge branch 'feature/updateSerializer' of https://github.com/Azure/a…
m-nash Jul 18, 2023
8fd2442
Merge remote-tracking branch 'upstream/main' into core-mergepatch-proto2
annelo-msft Jul 19, 2023
3fba075
update modelserializeroptions to a struct
m-nash Jul 20, 2023
62984b2
Merge remote-tracking branch 'upstream/mnash-perfChecks' into core-me…
annelo-msft Jul 20, 2023
66b486f
Merge remote-tracking branch 'upstream/main' into core-mergepatch-proto2
annelo-msft Jul 20, 2023
8002f7b
move core bits to IJusonModelSerializable
annelo-msft Jul 21, 2023
08cad66
Merge remote-tracking branch 'upstream/main' into core-mergepatch-proto2
annelo-msft Jul 21, 2023
95f1ee0
Update load balancer with interfaces
annelo-msft Jul 21, 2023
42a6698
remove WritePatch method and move to IJsonModelSerializable.Serialize
annelo-msft Jul 21, 2023
511a7c7
nit
annelo-msft Jul 21, 2023
b660174
Update helper types for collection interfaces
annelo-msft Jul 22, 2023
08fa4d8
Updates
annelo-msft Jul 22, 2023
86efc30
wip
m-nash Jul 24, 2023
cee1dd0
Merge remote-tracking branch 'upstream/main' into core-mergepatch-proto2
annelo-msft Jul 24, 2023
a69fdf5
Merge remote-tracking branch 'upstream/mnash-perfChecks' into core-me…
annelo-msft Jul 24, 2023
7f8dff0
update to split request content and sequence writer
m-nash Jul 24, 2023
89f20a6
update api
m-nash Jul 24, 2023
5f7bcfa
remove static azure default options since new is zero alloc
m-nash Jul 24, 2023
34c0f6b
update api
m-nash Jul 24, 2023
7794f4c
Update format to have J and W and implement json always on xml models…
m-nash Jul 24, 2023
c331189
add non generic overloads in modelserializer
m-nash Jul 24, 2023
4efe90d
Revert "update api"
m-nash Jul 24, 2023
e94342d
Revert "remove static azure default options since new is zero alloc"
m-nash Jul 24, 2023
f0a6dee
wip
m-nash Jul 25, 2023
7130324
merge from feature/updateSerializer
m-nash Jul 25, 2023
85bec36
Merge remote-tracking branch 'upstream/main' into core-mergepatch-proto2
annelo-msft Jul 25, 2023
2f5f450
updates after merge
m-nash Jul 25, 2023
e6c8b33
update api
m-nash Jul 25, 2023
5ed46aa
Make client tests pass and record
annelo-msft Jul 25, 2023
d483d53
Add test for round-trip
annelo-msft Jul 25, 2023
8fc2075
Use cast to deserialize
annelo-msft Jul 25, 2023
73d7936
Remove GetBytes helper method
annelo-msft Jul 25, 2023
8fcd01a
Merge remote-tracking branch 'upstream/mnash-perfChecks' into core-me…
annelo-msft Jul 25, 2023
e7c5f83
Implement new IModelSerializable.Serialize API
annelo-msft Jul 25, 2023
55fc435
Back up initial benchmark work
annelo-msft Jul 26, 2023
8211f45
complete benchmark
annelo-msft Jul 26, 2023
4a15aba
Merge remote-tracking branch 'upstream/main' into core-mergepatch-proto2
annelo-msft Jul 26, 2023
5b19c87
renames and comments for clarity in the write PATCH JSON loop, small …
annelo-msft Jul 26, 2023
129a3fa
pre-span updates
annelo-msft Jul 26, 2023
de0ca93
WIP on span impl
annelo-msft Jul 27, 2023
ac87b57
Merge remote-tracking branch 'upstream/main' into core-mergepatch-proto4
annelo-msft Jul 27, 2023
4a96e92
Update
annelo-msft Jul 27, 2023
76edeed
move segment iteration to span APIs; works but pls refactor
annelo-msft Jul 27, 2023
05a1828
light refactor
annelo-msft Jul 27, 2023
e3f8761
bug fix and new failing test
annelo-msft Jul 27, 2023
3a3aff5
bug fix; more tests
annelo-msft Jul 27, 2023
5e1b402
more refactoring
annelo-msft Jul 27, 2023
7db4c62
more refactorig
annelo-msft Jul 27, 2023
1ea89dd
Add a span API for GetProperty
annelo-msft Jul 27, 2023
a156a10
reshuffle
annelo-msft Jul 27, 2023
edd3e98
more refactoring
annelo-msft Jul 27, 2023
da8518c
Merge remote-tracking branch 'upstream/main' into core-mergepatch-proto4
annelo-msft Jul 27, 2023
b3ff017
Merge remote-tracking branch 'upstream/main' into core-mergepatch-proto2
annelo-msft Jul 27, 2023
0a63b92
Merge branch 'core-mergepatch-proto4' into core-mergepatch-proto2
annelo-msft Jul 27, 2023
405f3d8
Merge remote-tracking branch 'upstream/main' into core-mergepatch-proto2
annelo-msft Jul 28, 2023
9626c59
Merge remote-tracking branch 'upstream/main' into core-mergepatch-proto4
annelo-msft Jul 28, 2023
a31b8c3
rewrite sorted change retrieval
annelo-msft Jul 28, 2023
6e50985
remove descendants from change enumeration
annelo-msft Jul 28, 2023
dd0c911
simple delete
annelo-msft Jul 28, 2023
2dca05d
Merge branch 'core-mergepatch-proto4' into core-mergepatch-proto2
annelo-msft Jul 28, 2023
6bba73f
small refactor
annelo-msft Jul 28, 2023
70d764f
nits
annelo-msft Jul 28, 2023
660076f
Merge remote-tracking branch 'upstream/main' into core-mergepatch-proto2
annelo-msft Aug 2, 2023
bc113bc
Update Test model with required property in constructor
annelo-msft Aug 3, 2023
10bbac9
Add validation that required property isn't included in Merge Patch b…
annelo-msft Aug 3, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions sdk/core/Azure.Core/Azure.Core.sln
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Samples", "Samples", "{13A0
samples\README.md = samples\README.md
samples\RequestContext.md = samples\RequestContext.md
samples\Response.md = samples\Response.md
samples\Serialization.md = samples\Serialization.md
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Azure.Core.Expressions.DataFactory", "..\Azure.Core.Expressions.DataFactory\src\Azure.Core.Expressions.DataFactory.csproj", "{7723BA5F-0017-45B4-B584-7D11AA069735}"
Expand Down
74 changes: 74 additions & 0 deletions sdk/core/Azure.Core/api/Azure.Core.net461.cs
Original file line number Diff line number Diff line change
Expand Up @@ -538,6 +538,7 @@ protected internal virtual void SetHeader(string name, string value) { }
public abstract partial class RequestContent : System.IDisposable
{
protected RequestContent() { }
public static Azure.Core.RequestContent Create(Azure.Core.SequenceWriter writer) { throw null; }
public static Azure.Core.RequestContent Create(Azure.Core.Serialization.DynamicData content) { throw null; }
public static Azure.Core.RequestContent Create(System.BinaryData content) { throw null; }
public static Azure.Core.RequestContent Create(System.Buffers.ReadOnlySequence<byte> bytes) { throw null; }
Expand All @@ -549,6 +550,7 @@ protected RequestContent() { }
public static Azure.Core.RequestContent Create(object serializable, Azure.Core.Serialization.ObjectSerializer? serializer) { throw null; }
public static Azure.Core.RequestContent Create(System.ReadOnlyMemory<byte> bytes) { throw null; }
public static Azure.Core.RequestContent Create(string content) { throw null; }
public static Azure.Core.RequestContent CreatePatch(Azure.Core.Serialization.DynamicData content) { throw null; }
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we add an overload of Create that takes the same format enum as we plan to use for IModelSerializable?
i.e. RequestContent.Create(data, ModelFormat.Patch);

public abstract void Dispose();
public static implicit operator Azure.Core.RequestContent (Azure.Core.Serialization.DynamicData content) { throw null; }
public static implicit operator Azure.Core.RequestContent (System.BinaryData content) { throw null; }
Expand Down Expand Up @@ -718,6 +720,18 @@ internal RetryOptions() { }
public Azure.Core.RetryMode Mode { get { throw null; } set { } }
public System.TimeSpan NetworkTimeout { get { throw null; } set { } }
}
public sealed partial class SequenceWriter : System.Buffers.IBufferWriter<byte>, System.IDisposable
{
public SequenceWriter(int bufferSize = 4096) { }
public void Advance(int bytesWritten) { }
public void Dispose() { }
public System.Memory<byte> GetMemory(int sizeHint = 0) { throw null; }
public System.Buffers.ReadOnlySequence<byte> GetReadOnlySequence() { throw null; }
public System.Span<byte> GetSpan(int sizeHint = 0) { throw null; }
public bool TryComputeLength(out long length) { throw null; }
public void WriteTo(System.IO.Stream stream, System.Threading.CancellationToken cancellation) { }
public System.Threading.Tasks.Task WriteToAsync(System.IO.Stream stream, System.Threading.CancellationToken cancellation) { throw null; }
}
public partial class StatusCodeClassifier : Azure.Core.ResponseClassifier
{
public StatusCodeClassifier(System.ReadOnlySpan<ushort> successStatusCodes) { }
Expand Down Expand Up @@ -1105,10 +1119,24 @@ public void Dispose() { }
System.Dynamic.DynamicMetaObject System.Dynamic.IDynamicMetaObjectProvider.GetMetaObject(System.Linq.Expressions.Expression parameter) { throw null; }
public override string ToString() { throw null; }
}
public partial interface IJsonModelSerializable : Azure.Core.Serialization.IModelSerializable
{
object Deserialize(ref System.Text.Json.Utf8JsonReader reader, Azure.Core.Serialization.ModelSerializerOptions options);
void Serialize(System.Text.Json.Utf8JsonWriter writer, Azure.Core.Serialization.ModelSerializerOptions options);
}
public partial interface IMemberNameConverter
{
string? ConvertMemberName(System.Reflection.MemberInfo member);
}
public partial interface IModelSerializable
{
object Deserialize(System.BinaryData data, Azure.Core.Serialization.ModelSerializerOptions options);
System.BinaryData Serialize(Azure.Core.Serialization.ModelSerializerOptions options);
}
public partial interface IXmlModelSerializable : Azure.Core.Serialization.IModelSerializable
{
void Serialize(System.Xml.XmlWriter writer, Azure.Core.Serialization.ModelSerializerOptions options);
}
public partial class JsonObjectSerializer : Azure.Core.Serialization.ObjectSerializer, Azure.Core.Serialization.IMemberNameConverter
{
public JsonObjectSerializer() { }
Expand All @@ -1127,6 +1155,52 @@ public enum JsonPropertyNames
UseExact = 0,
CamelCase = 1,
}
public partial class ModelJsonConverter : System.Text.Json.Serialization.JsonConverter<Azure.Core.Serialization.IJsonModelSerializable>
{
public ModelJsonConverter() { }
public ModelJsonConverter(Azure.Core.Serialization.ModelSerializerFormat format) { }
public Azure.Core.Serialization.ModelSerializerOptions Options { get { throw null; } }
public override bool CanConvert(System.Type typeToConvert) { throw null; }
public override Azure.Core.Serialization.IJsonModelSerializable Read(ref System.Text.Json.Utf8JsonReader reader, System.Type typeToConvert, System.Text.Json.JsonSerializerOptions options) { throw null; }
public override void Write(System.Text.Json.Utf8JsonWriter writer, Azure.Core.Serialization.IJsonModelSerializable value, System.Text.Json.JsonSerializerOptions options) { }
}
public static partial class ModelSerializer
{
public static object Deserialize(System.BinaryData data, System.Type typeToConvert, Azure.Core.Serialization.ModelSerializerOptions options = default(Azure.Core.Serialization.ModelSerializerOptions)) { throw null; }
public static T Deserialize<T>(System.BinaryData data, Azure.Core.Serialization.ModelSerializerOptions options = default(Azure.Core.Serialization.ModelSerializerOptions)) where T : class, Azure.Core.Serialization.IModelSerializable { throw null; }
public static System.BinaryData Serialize(object model, Azure.Core.Serialization.ModelSerializerOptions options = default(Azure.Core.Serialization.ModelSerializerOptions)) { throw null; }
public static System.BinaryData Serialize<T>(T model, Azure.Core.Serialization.ModelSerializerOptions options = default(Azure.Core.Serialization.ModelSerializerOptions)) where T : Azure.Core.Serialization.IModelSerializable { throw null; }
}
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
public readonly partial struct ModelSerializerFormat : System.IEquatable<Azure.Core.Serialization.ModelSerializerFormat>
{
private readonly object _dummy;
private readonly int _dummyPrimitive;
public static readonly Azure.Core.Serialization.ModelSerializerFormat Json;
public static readonly Azure.Core.Serialization.ModelSerializerFormat Wire;
public ModelSerializerFormat(string value) { throw null; }
public bool Equals(Azure.Core.Serialization.ModelSerializerFormat other) { throw null; }
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
public override bool Equals(object obj) { throw null; }
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
public override int GetHashCode() { throw null; }
public static bool operator ==(Azure.Core.Serialization.ModelSerializerFormat left, Azure.Core.Serialization.ModelSerializerFormat right) { throw null; }
public static implicit operator string (Azure.Core.Serialization.ModelSerializerFormat value) { throw null; }
public static implicit operator Azure.Core.Serialization.ModelSerializerFormat (string value) { throw null; }
public static bool operator !=(Azure.Core.Serialization.ModelSerializerFormat left, Azure.Core.Serialization.ModelSerializerFormat right) { throw null; }
public override string ToString() { throw null; }
}
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
public partial struct ModelSerializerOptions
{
private object _dummy;
private int _dummyPrimitive;
public static readonly Azure.Core.Serialization.ModelSerializerOptions AzureServiceDefault;
public ModelSerializerOptions() { throw null; }
public ModelSerializerOptions(Azure.Core.Serialization.ModelSerializerFormat format) { throw null; }
public Azure.Core.Serialization.ModelSerializerFormat Format { get { throw null; } }
public System.Collections.Generic.Dictionary<System.Type, Azure.Core.Serialization.ObjectSerializer> Serializers { get { throw null; } }
}
public abstract partial class ObjectSerializer
{
protected ObjectSerializer() { }
Expand Down
74 changes: 74 additions & 0 deletions sdk/core/Azure.Core/api/Azure.Core.net5.0.cs
Original file line number Diff line number Diff line change
Expand Up @@ -538,6 +538,7 @@ protected internal virtual void SetHeader(string name, string value) { }
public abstract partial class RequestContent : System.IDisposable
{
protected RequestContent() { }
public static Azure.Core.RequestContent Create(Azure.Core.SequenceWriter writer) { throw null; }
public static Azure.Core.RequestContent Create(Azure.Core.Serialization.DynamicData content) { throw null; }
public static Azure.Core.RequestContent Create(System.BinaryData content) { throw null; }
public static Azure.Core.RequestContent Create(System.Buffers.ReadOnlySequence<byte> bytes) { throw null; }
Expand All @@ -549,6 +550,7 @@ protected RequestContent() { }
public static Azure.Core.RequestContent Create(object serializable, Azure.Core.Serialization.ObjectSerializer? serializer) { throw null; }
public static Azure.Core.RequestContent Create(System.ReadOnlyMemory<byte> bytes) { throw null; }
public static Azure.Core.RequestContent Create(string content) { throw null; }
public static Azure.Core.RequestContent CreatePatch(Azure.Core.Serialization.DynamicData content) { throw null; }
public abstract void Dispose();
public static implicit operator Azure.Core.RequestContent (Azure.Core.Serialization.DynamicData content) { throw null; }
public static implicit operator Azure.Core.RequestContent (System.BinaryData content) { throw null; }
Expand Down Expand Up @@ -718,6 +720,18 @@ internal RetryOptions() { }
public Azure.Core.RetryMode Mode { get { throw null; } set { } }
public System.TimeSpan NetworkTimeout { get { throw null; } set { } }
}
public sealed partial class SequenceWriter : System.Buffers.IBufferWriter<byte>, System.IDisposable
{
public SequenceWriter(int bufferSize = 4096) { }
public void Advance(int bytesWritten) { }
public void Dispose() { }
public System.Memory<byte> GetMemory(int sizeHint = 0) { throw null; }
public System.Buffers.ReadOnlySequence<byte> GetReadOnlySequence() { throw null; }
public System.Span<byte> GetSpan(int sizeHint = 0) { throw null; }
public bool TryComputeLength(out long length) { throw null; }
public void WriteTo(System.IO.Stream stream, System.Threading.CancellationToken cancellation) { }
public System.Threading.Tasks.Task WriteToAsync(System.IO.Stream stream, System.Threading.CancellationToken cancellation) { throw null; }
}
public partial class StatusCodeClassifier : Azure.Core.ResponseClassifier
{
public StatusCodeClassifier(System.ReadOnlySpan<ushort> successStatusCodes) { }
Expand Down Expand Up @@ -1105,10 +1119,24 @@ public void Dispose() { }
System.Dynamic.DynamicMetaObject System.Dynamic.IDynamicMetaObjectProvider.GetMetaObject(System.Linq.Expressions.Expression parameter) { throw null; }
public override string ToString() { throw null; }
}
public partial interface IJsonModelSerializable : Azure.Core.Serialization.IModelSerializable
{
object Deserialize(ref System.Text.Json.Utf8JsonReader reader, Azure.Core.Serialization.ModelSerializerOptions options);
void Serialize(System.Text.Json.Utf8JsonWriter writer, Azure.Core.Serialization.ModelSerializerOptions options);
}
public partial interface IMemberNameConverter
{
string? ConvertMemberName(System.Reflection.MemberInfo member);
}
public partial interface IModelSerializable
{
object Deserialize(System.BinaryData data, Azure.Core.Serialization.ModelSerializerOptions options);
System.BinaryData Serialize(Azure.Core.Serialization.ModelSerializerOptions options);
}
public partial interface IXmlModelSerializable : Azure.Core.Serialization.IModelSerializable
{
void Serialize(System.Xml.XmlWriter writer, Azure.Core.Serialization.ModelSerializerOptions options);
}
public partial class JsonObjectSerializer : Azure.Core.Serialization.ObjectSerializer, Azure.Core.Serialization.IMemberNameConverter
{
public JsonObjectSerializer() { }
Expand All @@ -1127,6 +1155,52 @@ public enum JsonPropertyNames
UseExact = 0,
CamelCase = 1,
}
public partial class ModelJsonConverter : System.Text.Json.Serialization.JsonConverter<Azure.Core.Serialization.IJsonModelSerializable>
{
public ModelJsonConverter() { }
public ModelJsonConverter(Azure.Core.Serialization.ModelSerializerFormat format) { }
public Azure.Core.Serialization.ModelSerializerOptions Options { get { throw null; } }
public override bool CanConvert(System.Type typeToConvert) { throw null; }
public override Azure.Core.Serialization.IJsonModelSerializable Read(ref System.Text.Json.Utf8JsonReader reader, System.Type typeToConvert, System.Text.Json.JsonSerializerOptions options) { throw null; }
public override void Write(System.Text.Json.Utf8JsonWriter writer, Azure.Core.Serialization.IJsonModelSerializable value, System.Text.Json.JsonSerializerOptions options) { }
}
public static partial class ModelSerializer
{
public static object Deserialize(System.BinaryData data, System.Type typeToConvert, Azure.Core.Serialization.ModelSerializerOptions options = default(Azure.Core.Serialization.ModelSerializerOptions)) { throw null; }
public static T Deserialize<T>(System.BinaryData data, Azure.Core.Serialization.ModelSerializerOptions options = default(Azure.Core.Serialization.ModelSerializerOptions)) where T : class, Azure.Core.Serialization.IModelSerializable { throw null; }
public static System.BinaryData Serialize(object model, Azure.Core.Serialization.ModelSerializerOptions options = default(Azure.Core.Serialization.ModelSerializerOptions)) { throw null; }
public static System.BinaryData Serialize<T>(T model, Azure.Core.Serialization.ModelSerializerOptions options = default(Azure.Core.Serialization.ModelSerializerOptions)) where T : Azure.Core.Serialization.IModelSerializable { throw null; }
}
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
public readonly partial struct ModelSerializerFormat : System.IEquatable<Azure.Core.Serialization.ModelSerializerFormat>
{
private readonly object _dummy;
private readonly int _dummyPrimitive;
public static readonly Azure.Core.Serialization.ModelSerializerFormat Json;
public static readonly Azure.Core.Serialization.ModelSerializerFormat Wire;
public ModelSerializerFormat(string value) { throw null; }
public bool Equals(Azure.Core.Serialization.ModelSerializerFormat other) { throw null; }
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
public override bool Equals([System.Diagnostics.CodeAnalysis.AllowNullAttribute] object obj) { throw null; }
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
public override int GetHashCode() { throw null; }
public static bool operator ==(Azure.Core.Serialization.ModelSerializerFormat left, Azure.Core.Serialization.ModelSerializerFormat right) { throw null; }
public static implicit operator string (Azure.Core.Serialization.ModelSerializerFormat value) { throw null; }
public static implicit operator Azure.Core.Serialization.ModelSerializerFormat (string value) { throw null; }
public static bool operator !=(Azure.Core.Serialization.ModelSerializerFormat left, Azure.Core.Serialization.ModelSerializerFormat right) { throw null; }
public override string ToString() { throw null; }
}
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
public partial struct ModelSerializerOptions
{
private object _dummy;
private int _dummyPrimitive;
public static readonly Azure.Core.Serialization.ModelSerializerOptions AzureServiceDefault;
public ModelSerializerOptions() { throw null; }
public ModelSerializerOptions(Azure.Core.Serialization.ModelSerializerFormat format) { throw null; }
public Azure.Core.Serialization.ModelSerializerFormat Format { get { throw null; } }
public System.Collections.Generic.Dictionary<System.Type, Azure.Core.Serialization.ObjectSerializer> Serializers { get { throw null; } }
}
public abstract partial class ObjectSerializer
{
protected ObjectSerializer() { }
Expand Down
Loading