Expand description
Formspec core processing — FEL, paths, schemas, assembly, mappings, extensions.
Depends on the fel_core crate and holds the non-reactive processing layer used by WASM,
Python, and batch evaluators. Human overview: crate README.md. Markdown API export:
docs/rustdoc-md/API.md (regenerate with npm run docs:formspec-core).
Re-exports§
pub use assembler::AssemblyError;pub use assembler::AssemblyProvenance;pub use assembler::AssemblyResult;pub use assembler::MapResolver;pub use assembler::RefResolver;pub use assembler::assemble_definition;pub use assembler::assembly_result_to_json_value;pub use assembly_fel_rewrite::AssemblyFelRewriteMap;pub use assembly_fel_rewrite::assembly_fel_rewrite_map_from_value;pub use assembly_fel_rewrite::rewrite_fel_for_assembly;pub use extension_analysis::ExtensionErrorCode;pub use extension_analysis::ExtensionItem;pub use extension_analysis::ExtensionSeverity;pub use extension_analysis::ExtensionUsageIssue;pub use extension_analysis::JsonDefinitionItem;pub use extension_analysis::MapRegistry;pub use extension_analysis::RegistryEntryInfo;pub use extension_analysis::RegistryEntryStatus;pub use extension_analysis::RegistryLookup;pub use extension_analysis::json_definition_items_tree_from_value;pub use extension_analysis::map_registry_from_extension_entry_map;pub use extension_analysis::validate_extension_usage;pub use fel_analysis::FelAnalysis;pub use fel_analysis::FelRewriteTargets;pub use fel_analysis::RewriteOptions;pub use fel_analysis::analyze_fel;pub use fel_analysis::collect_fel_rewrite_targets;pub use fel_analysis::fel_analysis_to_json_value;pub use fel_analysis::fel_rewrite_targets_to_json_value;pub use fel_analysis::get_fel_dependencies;pub use fel_analysis::rewrite_fel_references;pub use fel_analysis::rewrite_options_from_camel_case_json;pub use json_artifacts::changelog_to_json_value;pub use json_artifacts::extension_usage_issues_to_json_value;pub use fel_rewrite_exact::rewrite_fel_source_references;pub use fel_rewrite_exact::rewrite_message_template;pub use json_util::json_object_to_string_map;pub use option_sets::resolve_option_sets_on_definition;pub use response_migration::apply_migrations_to_response_data;pub use path_utils::ItemLocation;pub use path_utils::TreeItem;pub use path_utils::definition_item_location_to_json_value;pub use path_utils::item_at_path;pub use path_utils::item_location_at_path;pub use path_utils::json_definition_item_at_path;pub use path_utils::json_definition_item_location_at_path;pub use path_utils::leaf_key;pub use path_utils::normalize_indexed_path;pub use path_utils::normalize_path_segment;pub use path_utils::parent_path;pub use path_utils::split_normalized_path;pub use runtime_mapping::ArrayDescriptor;pub use runtime_mapping::ArrayMode;pub use runtime_mapping::CoerceType;pub use runtime_mapping::MappingDiagnostic;pub use runtime_mapping::MappingDirection;pub use runtime_mapping::MappingDocument;pub use runtime_mapping::MappingErrorCode;pub use runtime_mapping::MappingResult;pub use runtime_mapping::MappingRule;pub use runtime_mapping::ReverseOverride;pub use runtime_mapping::TransformType;pub use runtime_mapping::UnmappedStrategy;pub use runtime_mapping::execute_mapping;pub use runtime_mapping::execute_mapping_doc;pub use runtime_mapping::mapping_direction_wire;pub use runtime_mapping::mapping_result_to_json_value;pub use runtime_mapping::parse_coerce_type;pub use runtime_mapping::parse_mapping_direction_field;pub use runtime_mapping::parse_mapping_direction_wire;pub use runtime_mapping::parse_mapping_document_from_value;pub use runtime_mapping::parse_mapping_rules_from_value;pub use schema_validator::ComponentValidationTarget;pub use schema_validator::DocumentType;pub use schema_validator::JsonSchemaValidator;pub use schema_validator::SchemaValidationError;pub use schema_validator::SchemaValidationPlan;pub use schema_validator::SchemaValidationResult;pub use schema_validator::detect_document_type;pub use schema_validator::json_pointer_to_jsonpath;pub use schema_validator::schema_validation_plan;pub use schema_validator::validate_document;pub use value_coerce::coerce_field_value;pub use component_tree::visit_component_subtree;pub use definition_items::coerce_definition_item_key_segment;pub use definition_items::definition_item_dotted_path;pub use definition_items::definition_item_key_segment;pub use definition_items::extension_item_diagnostic_path_from_dotted;pub use definition_items::visit_definition_items_from_document;pub use definition_items::visit_definition_items_json;pub use definition_items::visit_definition_items_json_shallow;pub use definition_items::visit_definition_items_json_with_policy;pub use definition_items::DefinitionItemKeyPolicy;pub use definition_items::DefinitionItemVisitCtx;
Modules§
- assembler
- Resolves $ref inclusions and assembles self-contained definitions with FEL rewriting.
- assembly_
fel_ rewrite - FEL path rewriting for definition assembly (fragment
$ref/keyPrefixsemantics). - changelog
- Changelog — diffs two definition versions into a structured changelog.
- component_
tree - Pre-order traversal for component/theme JSON nodes (
component+children). - definition_
items - Depth-first traversal of definition
items/childrenJSON arrays. - extension_
analysis - Validates extension usage in item trees against a registry catalog.
- fel_
analysis - FEL static analysis and expression rewriting for field references and variables.
- fel_
rewrite_ exact - Exact-text FEL rewriting that preserves non-reference source text.
- json_
artifacts serde_json::Valueprojections for WASM and Python FFI (use withjson_to_pythonon the Py side).- json_
util - Small JSON helpers shared across bindings.
- option_
sets - Inline
optionSetfield references fromoptionSets(parity with TSresolveOptionSetsOnDefinition). - path_
utils - Dotted path normalization and tree item navigation by path.
- registry_
client - Registry client — parses registry documents, resolves extensions, validates lifecycle.
- response_
migration - Apply definition
migrationsto flat response data (parity with TSmigrateResponseData). - runtime_
mapping - Bidirectional mapping engine for transforming data between formats.
- schema_
validator - Schema validation with document type detection and validation dispatch.
- value_
coerce - Inbound field coercion (parity with TS
coerceFieldValueinformspec-enginehelpers). - wire_
keys - Centralized JSON field names for host bindings (
JsonWireStyle).
Enums§
- Json
Wire Style - JSON object key style for WASM (
camelCase) vs Python (snake_case) bindings.