mod load;
mod save;
pub mod types;
#[cfg(test)]
mod tests;
pub use types::{PackageContainer, PackageFormat, PackageMetadata, SerializationOptions};
use crate::Package;
use rez_next_common::RezCoreError;
use std::path::Path;
use load::PackageLoader;
use save::PackageSaver;
pub struct PackageSerializer;
impl PackageSerializer {
pub fn load_from_file_with_options(
path: &Path,
options: Option<SerializationOptions>,
) -> Result<PackageContainer, RezCoreError> {
PackageLoader::load_from_file_with_options(path, options)
}
pub fn load_from_file(path: &Path) -> Result<Package, RezCoreError> {
PackageLoader::load_from_file(path)
}
pub fn load_from_string(content: &str, format: PackageFormat) -> Result<Package, RezCoreError> {
PackageLoader::load_from_string(content, format)
}
pub fn load_from_yaml(content: &str) -> Result<Package, RezCoreError> {
PackageLoader::load_from_yaml(content)
}
pub fn load_from_json(content: &str) -> Result<Package, RezCoreError> {
PackageLoader::load_from_json(content)
}
pub fn load_from_python(content: &str) -> Result<Package, RezCoreError> {
PackageLoader::load_from_python(content)
}
pub fn load_from_binary(content: &str) -> Result<Package, RezCoreError> {
PackageLoader::load_from_binary(content)
}
pub fn load_from_toml(content: &str) -> Result<Package, RezCoreError> {
PackageLoader::load_from_toml(content)
}
pub fn load_from_xml(content: &str) -> Result<Package, RezCoreError> {
PackageLoader::load_from_xml(content)
}
pub fn save_to_file_with_options(
package: &Package,
path: &Path,
format: PackageFormat,
options: Option<SerializationOptions>,
) -> Result<(), RezCoreError> {
PackageSaver::save_to_file_with_options(package, path, format, options)
}
pub fn save_to_file(
package: &Package,
path: &Path,
format: PackageFormat,
) -> Result<(), RezCoreError> {
PackageSaver::save_to_file(package, path, format)
}
pub fn save_to_string(
package: &Package,
format: PackageFormat,
) -> Result<String, RezCoreError> {
PackageSaver::save_to_string(package, format)
}
pub fn save_to_yaml(package: &Package) -> Result<String, RezCoreError> {
PackageSaver::save_to_yaml(package)
}
pub fn save_to_json(package: &Package) -> Result<String, RezCoreError> {
PackageSaver::save_to_json(package)
}
pub fn save_to_python(package: &Package) -> Result<String, RezCoreError> {
PackageSaver::save_to_python(package)
}
pub fn save_container_to_string(
container: &PackageContainer,
format: PackageFormat,
options: &SerializationOptions,
) -> Result<String, RezCoreError> {
PackageSaver::save_container_to_string(container, format, options)
}
}