Crate formatorbit_core

Crate formatorbit_core 

Source
Expand description

Formatorbit Core

A cross-platform data format converter. Input data (e.g., 691E01B8) and get all possible interpretations and conversions automatically.

§Quick Start

use formatorbit_core::Formatorbit;

let forb = Formatorbit::new();

// Get all interpretations and conversions
let results = forb.convert_all("691E01B8");
assert!(!results.is_empty());

// The highest-confidence interpretation is first
let best = &results[0];
println!("Format: {}", best.interpretation.source_format);
println!("Confidence: {:.0}%", best.interpretation.confidence * 100.0);

// Each interpretation has conversions to other formats
for conv in &best.conversions[..3.min(best.conversions.len())] {
    println!("  → {}: {}", conv.target_format, conv.display);
}

§Filtering by Format

use formatorbit_core::Formatorbit;

let forb = Formatorbit::new();

// Force interpretation as a specific format
let results = forb.convert_all_filtered("1703456789", &["epoch".into()]);
assert_eq!(results[0].interpretation.source_format, "epoch-seconds");

Re-exports§

pub use format::Format;
pub use format::FormatInfo;
pub use plugin::PluginError;
pub use plugin::PluginLoadReport;
pub use plugin::PluginRegistry;
pub use types::*;

Modules§

convert
Conversion graph traversal using BFS.
expr_context
Global expression evaluation context.
format
Format trait definition.
formats
Built-in format implementations.
plugin
Plugin system for extending Formatorbit with custom functionality.
types
Core types for Formatorbit.

Structs§

Formatorbit
Main entry point - a configured converter instance.

Functions§

truncate_str
Truncate a string to at most max_chars characters, appending “…” if truncated.