rd-rds 0.5.0

Read-only reader for the subset of R's RDS serialization format used by installed-package help databases
Documentation
//! Read-only reader for installed-package metadata, help databases, and
//! selected CRAN-like repository indexes in R's RDS serialization format.
//!
//! [`parse`] reads a decompressed XDR serialization stream. [`mod@file`] provides
//! the bounded standalone-file entry layer, including supported compression
//! envelopes.
//!
//! See the crate README for the concrete repository-index profiles covered by
//! deterministic fixtures and verified manually against real files.
//!
//! This crate is scoped to installed-R-package information and selected
//! CRAN-like repository indexes. Strict decoding rejects unknown SEXP values.
//! [`mod@inspection`] observes prefix facts without claiming full object
//! validity. `RObject`/`RValue` are a
//! supported advanced API with encapsulated fields and non-exhaustive enums;
//! consumers must include wildcard match arms. The typed [`package`] views and
//! general [`matrix::CharacterMatrix`] view are the stable convenience surface.
//! `parse` accepts only decompressed XDR,
//! while [`file::from_bytes`] accepts raw XDR, gzip, xz, bzip2, and zstd
//! envelopes when enabled. Default resource limits are depth 5,000, vectors
//! 8,000,000 elements, 16,000,000 total elements and references, and 256 MiB
//! file inputs.

mod cursor;
mod decode;
mod error;
pub mod file;
mod header;
mod inspect;
pub mod inspection;
#[cfg(feature = "lazyload")]
pub mod lazyload;
pub mod matrix;
pub mod package;
mod value;
mod wire;

pub use cursor::ByteCursor;
pub use decode::{
    NativeEncodingPolicy, ParseOptions, parse, parse_with_limits, parse_with_options,
};
pub use error::Error;
pub use header::{Header, RVersion};
pub use value::{
    Attribute, Attributes, EnvHandle, Limits, NativeEncodingSource, Persisted, REncoding, RObject,
    RStr, RStrValue, RValue, SexpKind, Symbol,
};