pub mod custom_json;
pub mod gettext;
pub mod key_transform;
use anyhow::Result;
use std::path::Path;
#[derive(Debug, Clone, Copy)]
pub enum MigrationFormat {
CustomJson,
Gettext,
}
#[derive(Debug, Clone, Copy)]
pub enum KeyTransform {
SnakeToCamel,
UpperToLower,
DotToNested,
None,
}
pub fn migrate(
format: MigrationFormat,
input_path: &Path,
output_path: &Path,
transform: KeyTransform,
) -> Result<()> {
match format {
MigrationFormat::CustomJson => {
custom_json::migrate_custom_json(input_path, output_path, transform)
}
MigrationFormat::Gettext => gettext::migrate_gettext(input_path, output_path, transform),
}
}