Skip to main content

apif_parser/
lib.rs

1pub mod assertions;
2pub mod builder;
3pub mod content_parser;
4pub mod core;
5pub mod document_splitter;
6pub mod error_recovery;
7pub mod json_mod;
8pub mod json_stream_parser;
9pub mod ternary;
10pub mod ternary_ast;
11pub mod validator;
12
13// Re-export AST modules from apif-ast so crate::ast::* paths work
14pub use apif_ast::{assertion_ast, ast, gctf_tokenizer, tokenizer};
15
16pub use apif_ast::{
17    AssertionExpr, BinaryOp, Expr, FileMeta, GctfAttribute, GctfDocument, InlineOptions, Literal,
18    Section, SectionContent, SectionHeader, SectionType, Span, Token, TokenKind,
19    assertion_to_string, parse_assertion, remove_redundant_parens, tokenize_assertion,
20    tokenize_gctf, tokenize_inline_options, tokenize_kv_line,
21};
22pub use builder::GctfDocumentBuilder;
23pub use content_parser::{build_section, parse_inline_options, parse_section_content};
24pub use core::{
25    ParseDiagnostics, parse_gctf, parse_gctf_from_str, parse_gctf_with_diagnostics, serialize_gctf,
26};
27pub use document_splitter::split_sections_by_boundary;
28pub use error_recovery::{ErrorRecoveryResult, parse_content_with_recovery, parse_with_recovery};
29pub use ternary::{process_extract_value, ternary_to_jq};
30pub use ternary_ast::{ExtractValue, ExtractVar};
31pub use validator::{
32    BENCH_ASSERT_MODE_VALUES, BENCH_CACHE_VALUES, BENCH_DURATION_KEYS, BENCH_DURATION_STOP_VALUES,
33    BENCH_LOAD_SCHEDULE_VALUES, BENCH_MODE_VALUES, BENCH_NUMERIC_KEYS, ErrorSeverity,
34    ValidationError, allowed_values_message, canonical_bench_key, is_allowed_value,
35    supported_bench_keys, validate_document, validate_document_diagnostics,
36};