use crate::kfx::container::get_field;
use crate::kfx::context::ExportContext;
use crate::kfx::ion::IonValue;
use crate::kfx::schema::{SemanticTarget, schema};
use crate::kfx::symbols::KfxSymbol;
use crate::kfx::tokens::{ContentRef, ElementStart, KfxToken, SpanStart, TokenStream};
use crate::kfx::transforms::ImportContext;
use crate::model::Role;
use crate::model::{Chapter, Node, NodeId};
use crate::style::{BorderStyle, ComputedStyle, Length};
use std::collections::HashMap;
macro_rules! sym {
($variant:ident) => {
KfxSymbol::$variant as u64
};
}
pub fn build_storyline_ion(chapter: &Chapter, ctx: &mut ExportContext) -> IonValue {
let tokens = ir_to_tokens(chapter, ctx);
tokens_to_ion(&tokens, ctx)
}
mod export;
mod import;
mod ion_synth;
#[cfg(test)]
mod tests;
pub use export::ir_to_tokens;
pub use import::{build_ir_from_tokens, parse_storyline_to_ir, tokenize_storyline};
pub use ion_synth::tokens_to_ion;