mirror of
https://github.com/SabreTools/SabreTools.Serialization.git
synced 2026-04-25 07:39:42 +00:00
db877d253ca68d1d0d4376dec33c7a91dbe2dd94
SabreTools.Serialization
This library comprises of serializers that both read and write from files and streams to the dedicated models as well as convert to and from the common internal models. This library is partially used by the current parsing and writing code but none of the internal model serialization is used.
Find the link to the Nuget package here.
Interfaces
Below is a table representing the various conversion interfaces that are implemented within this library.
| Interface Name | Source Type | Destination Type |
|---|---|---|
IByteDeserializer |
byte[]? |
Model |
IByteSerializer |
Model | byte[]? |
IFileDeserializer |
string? path |
Model |
IFileSerializer |
Model | string? path |
IModelSerializer |
Model | Model |
IStreamDeserializer |
Stream? |
Model |
IStreamSerializer |
Model | Stream? |
IStringDeserializer |
string? representation |
Model |
IStringSerializer |
Model | string? representation |
Below is a table representing the various non-conversion interfaces that are implemented within this library.
| Interface Name | Purpose |
|---|---|
IPrinter |
Provides a formatted output for a model |
IWrapper / IWrapper<T> |
Wraps a model or set of models to provide additional functionality |
Namespaces
Below is a table of all namespaces within the library and what they represent
| Namespace | Description |
|---|---|
SabreTools.Serialization.CrossModel |
Convert between models; mainly used for metadata files converting to and from a common, Dictionary-based model |
SabreTools.Serialization.Deserializers |
Convert from external sources to models |
SabreTools.Serialization.Printers |
Export model information in a formatted manner |
SabreTools.Serialization.Serializers |
Convert from models to external sources |
SabreTools.Serialization.Wrappers |
Classes that wrap serialization and models to allow for including extension properties |
Description
Releases
20
Languages
C#
99.8%
Shell
0.1%
PowerShell
0.1%