Skip to main content

normalize

Function normalize 

Source
pub fn normalize(ir: &Value) -> Result<ProjectionPackage, NormalizeError>
Expand description

Normalize a supported Morphir IR distribution to its public, body-free model.

formatVersion is recognized and checked for exact-release compatibility before a generation-specific decoder runs.

ยงExamples

use morphir_projection::{DistributionKind, normalize};

let ir = serde_json::json!({
    "formatVersion": 3,
    "distribution": ["Library", [["example"]], [], { "modules": [] }]
});
let package = normalize(&ir)?;
assert_eq!(package.kind, DistributionKind::Library);