diff --git a/crates/nana-contracts/src/main.rs b/crates/nana-contracts/src/main.rs index b7f55ed..9df7f87 100644 --- a/crates/nana-contracts/src/main.rs +++ b/crates/nana-contracts/src/main.rs @@ -78,7 +78,22 @@ fn generated_outputs(root: &Path) -> Result(&mut outputs, &schema_dir, "app-info")?; add_schema::(&mut outputs, &schema_dir, "demo-pack-summary")?; - let declarations = [ + let declarations = generated_declarations(); + let ts = format!("// @generated by crates/nana-contracts; do not edit.\n\n{declarations}\n"); + outputs.push((root.join("contracts/ts/index.ts"), ts.into_bytes())); + + let domain_source = fs::read(root.join("crates/nana-domain/src/lib.rs"))?; + let source_hash = format!("{:x}\n", Sha256::digest(domain_source)); + outputs.push(( + root.join("contracts/.source.sha256"), + source_hash.into_bytes(), + )); + + Ok(outputs) +} + +fn generated_declarations() -> String { + [ ResourceId::decl(), ResourceKind::decl(), ResourceRef::decl(), @@ -150,18 +165,7 @@ fn generated_outputs(root: &Path) -> Result>() - .join("\n\n"); - let ts = format!("// @generated by crates/nana-contracts; do not edit.\n\n{declarations}\n"); - outputs.push((root.join("contracts/ts/index.ts"), ts.into_bytes())); - - let domain_source = fs::read(root.join("crates/nana-domain/src/lib.rs"))?; - let source_hash = format!("{:x}\n", Sha256::digest(domain_source)); - outputs.push(( - root.join("contracts/.source.sha256"), - source_hash.into_bytes(), - )); - - Ok(outputs) + .join("\n\n") } fn add_schema(