diff --git a/src/ModularPipelines/Context/IYaml.cs b/src/ModularPipelines/Context/IYaml.cs index e710eb15bd..9aedfff63f 100644 --- a/src/ModularPipelines/Context/IYaml.cs +++ b/src/ModularPipelines/Context/IYaml.cs @@ -3,13 +3,42 @@ namespace ModularPipelines.Context; +/// +/// Provides YAML serialization and deserialization functionality. +/// public interface IYaml { + /// + /// Serializes an object to YAML string using the default camel case naming convention. + /// + /// The type of object to serialize. + /// The object to serialize. + /// The YAML string representation of the object. string ToYaml(T input) => ToYaml(input, CamelCaseNamingConvention.Instance); + /// + /// Serializes an object to YAML string using the specified naming convention. + /// + /// The type of object to serialize. + /// The object to serialize. + /// The naming convention to use for property names. + /// The YAML string representation of the object. string ToYaml(T input, INamingConvention namingConvention); + /// + /// Deserializes a YAML string to an object using the default camel case naming convention. + /// + /// The type to deserialize to. + /// The YAML string to deserialize. + /// The deserialized object. T FromYaml(string input) => FromYaml(input, CamelCaseNamingConvention.Instance); + /// + /// Deserializes a YAML string to an object using the specified naming convention. + /// + /// The type to deserialize to. + /// The YAML string to deserialize. + /// The naming convention to use for property names. + /// The deserialized object. T FromYaml(string input, INamingConvention namingConvention); -} \ No newline at end of file +}