rez_next_package/serialization/
mod.rs1mod load;
9mod save;
10pub mod types;
11
12#[cfg(test)]
13mod tests;
14
15pub use types::{PackageContainer, PackageFormat, PackageMetadata, SerializationOptions};
16
17use crate::Package;
18use rez_next_common::RezCoreError;
19use std::path::Path;
20
21use load::PackageLoader;
22use save::PackageSaver;
23
24pub struct PackageSerializer;
28
29impl PackageSerializer {
30 pub fn load_from_file_with_options(
34 path: &Path,
35 options: Option<SerializationOptions>,
36 ) -> Result<PackageContainer, RezCoreError> {
37 PackageLoader::load_from_file_with_options(path, options)
38 }
39
40 pub fn load_from_file(path: &Path) -> Result<Package, RezCoreError> {
42 PackageLoader::load_from_file(path)
43 }
44
45 pub fn load_from_string(content: &str, format: PackageFormat) -> Result<Package, RezCoreError> {
47 PackageLoader::load_from_string(content, format)
48 }
49
50 pub fn load_from_yaml(content: &str) -> Result<Package, RezCoreError> {
52 PackageLoader::load_from_yaml(content)
53 }
54
55 pub fn load_from_json(content: &str) -> Result<Package, RezCoreError> {
57 PackageLoader::load_from_json(content)
58 }
59
60 pub fn load_from_python(content: &str) -> Result<Package, RezCoreError> {
62 PackageLoader::load_from_python(content)
63 }
64
65 pub fn load_from_binary(content: &str) -> Result<Package, RezCoreError> {
67 PackageLoader::load_from_binary(content)
68 }
69
70 pub fn load_from_toml(content: &str) -> Result<Package, RezCoreError> {
72 PackageLoader::load_from_toml(content)
73 }
74
75 pub fn load_from_xml(content: &str) -> Result<Package, RezCoreError> {
77 PackageLoader::load_from_xml(content)
78 }
79
80 pub fn save_to_file_with_options(
84 package: &Package,
85 path: &Path,
86 format: PackageFormat,
87 options: Option<SerializationOptions>,
88 ) -> Result<(), RezCoreError> {
89 PackageSaver::save_to_file_with_options(package, path, format, options)
90 }
91
92 pub fn save_to_file(
94 package: &Package,
95 path: &Path,
96 format: PackageFormat,
97 ) -> Result<(), RezCoreError> {
98 PackageSaver::save_to_file(package, path, format)
99 }
100
101 pub fn save_to_string(
103 package: &Package,
104 format: PackageFormat,
105 ) -> Result<String, RezCoreError> {
106 PackageSaver::save_to_string(package, format)
107 }
108
109 pub fn save_to_yaml(package: &Package) -> Result<String, RezCoreError> {
111 PackageSaver::save_to_yaml(package)
112 }
113
114 pub fn save_to_json(package: &Package) -> Result<String, RezCoreError> {
116 PackageSaver::save_to_json(package)
117 }
118
119 pub fn save_to_python(package: &Package) -> Result<String, RezCoreError> {
121 PackageSaver::save_to_python(package)
122 }
123
124 pub fn save_container_to_string(
126 container: &PackageContainer,
127 format: PackageFormat,
128 options: &SerializationOptions,
129 ) -> Result<String, RezCoreError> {
130 PackageSaver::save_container_to_string(container, format, options)
131 }
132}