Add non-consuming as_json
method to Document
struct
#406
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently, when serializing a glTF
Document
, the responsible code must own theDocument
to call theinto_json
method. However, this requirement deviates from the usual read-only borrow requirement for serializing data. To overcome this, client code can arrange for passing around references to the innerRoot
struct, but doing so sacrifices the benefits provided by theGltf
andDocument
structs for better binary data handling. (TheDeref
implementation forGltf
can also be used, but its syntax is somewhat unintuitive, and that does not apply toDocument
s themselves.)To improve on this, let's introduce a non-consuming
as_json
unwrapping method. This method takes theDocument
by reference and returns a reference to the innerRoot
structure. By doing this, its usage across various use cases is simplified, making the code more straightforward and intuitive.