Crate rust_yaml

Crate rust_yaml 

Source
Expand description

§rust-yaml

A fast, safe YAML library for Rust - port of ruamel-yaml

This library provides comprehensive YAML 1.2 support with focus on:

  • Security: Memory safety, no unsafe operations
  • Performance: Zero-copy parsing, efficient memory usage
  • Reliability: Comprehensive error handling, deterministic behavior
  • Maintainability: Clean architecture, extensive testing

Re-exports§

pub use error::Error;
pub use error::Result;
pub use limits::Limits;
pub use limits::ResourceStats;
pub use limits::ResourceTracker;
pub use position::Position;
pub use scanner::QuoteStyle;
pub use schema::Schema;
pub use schema::SchemaRule;
pub use schema::SchemaValidator;
pub use schema::ValidationError;
pub use schema::ValidationResult;
pub use schema::ValueType;
pub use value::CommentedValue;
pub use value::Comments;
pub use value::IndentStyle;
pub use value::Style;
pub use value::Value;
pub use value_borrowed::BorrowedValue;
pub use yaml::LoaderType;
pub use yaml::Yaml;
pub use yaml::YamlConfig;
pub use zero_copy_value::OptimizedValue;
pub use composer::BasicComposer;
pub use composer::Composer;
pub use composer_borrowed::BorrowedComposer;
pub use composer_borrowed::ZeroCopyComposer;
pub use composer_comments::CommentPreservingComposer;
pub use composer_optimized::OptimizedComposer;
pub use composer_optimized::ReducedAllocComposer;
pub use constructor::CommentPreservingConstructor;
pub use constructor::Constructor;
pub use constructor::RoundTripConstructor;
pub use constructor::SafeConstructor;
pub use emitter::BasicEmitter;
pub use emitter::Emitter;
pub use parser::BasicParser;
pub use parser::Event;
pub use parser::EventType;
pub use parser::Parser;
pub use parser::StreamingConfig;
pub use parser::StreamingParser;
pub use parser::StreamingStats;
pub use representer::Representer;
pub use representer::SafeRepresenter;
pub use resolver::BasicResolver;
pub use resolver::Resolver;
pub use scanner::BasicScanner;
pub use scanner::Scanner;
pub use scanner::Token;
pub use scanner::TokenType;
pub use serializer::BasicSerializer;
pub use serializer::Serializer;
pub use streaming_enhanced::stream_from_file;
pub use streaming_enhanced::stream_from_string;
pub use streaming_enhanced::StreamConfig;
pub use streaming_enhanced::StreamingYamlParser;
pub use zerocopy::ScannerStats;
pub use zerocopy::TokenPool;
pub use zerocopy::ZeroScanner;
pub use zerocopy::ZeroString;
pub use zerocopy::ZeroToken;
pub use zerocopy::ZeroTokenType;

Modules§

composer
YAML composer for converting events to nodes
composer_borrowed
Zero-copy YAML composer for converting events to borrowed nodes
composer_comments
Comment-preserving YAML composer
composer_optimized
Optimized YAML composer that reduces allocations and cloning
constructor
YAML constructor for building Rust objects
emitter
YAML emitter for generating text output
error
Error types for YAML processing
limits
Resource limits for secure YAML processing
parser
YAML parser for converting tokens to events
position
Position tracking for YAML parsing
profiling
Performance profiling utilities and optimization features
representer
YAML representer for converting Rust objects to nodes
resolver
YAML resolver for tag resolution and implicit typing
scanner
YAML scanner for tokenization
schema
YAML schema validation system
serde_integration
Serde integration for rust-yaml
serializer
YAML serializer for converting values to events
streaming_async
Async streaming YAML parser for non-blocking I/O
streaming_enhanced
Enhanced streaming YAML parser with true incremental parsing
tag
YAML tag resolution and handling system
value
YAML value representation
value_borrowed
Zero-copy YAML value representation using borrowed data
yaml
Main YAML API interface
zero_copy_value
Optimized YAML value representation with reduced allocations
zerocopy
Zero-copy parsing optimizations for YAML processing