Sign in

    vectie/moonleaf/opc does not have a README file

    PackageError

    pub(all) suberror PackageError {
    InvalidPackage(String)
    MissingPart(String)
    InvalidTextPart(String)
    } derive(Eq,
    Debug
    )

    PackageError::to_string

    fn PackageError::to_string(self : PackageError) -> String

    ArchivePolicy

    pub(all) struct ArchivePolicy {
    max_compressed_input_bytes : Int
    max_entries : Int
    max_entry_compressed_bytes : Int
    max_entry_uncompressed_bytes : Int
    max_total_uncompressed_bytes : Int
    max_compression_ratio : Int
    max_path_depth : Int
    max_path_length : Int
    } derive(Eq,
    Debug
    )

    Resource and path limits applied to one ZIP/OPC open.

    These limits are enforced before extraction from central-directory metadata and checked again against the extracted entries. The dependency's own hard limits remain an additional ceiling.

    ArchivePolicy::default

    fn ArchivePolicy::default() -> ArchivePolicy

    Conservative defaults for untrusted, in-memory OOXML opens.

    The path length is measured in MoonBit string code units. Callers may use a stricter validated policy for a particular trust boundary.

    ArchivePolicy::validate

    fn ArchivePolicy::validate(self : ArchivePolicy) -> Unit raise PackageError

    Reject internally inconsistent or non-positive limits.

    Package

    pub(all) struct Package {
    parts : Array[Part]
    } derive(Eq,
    Debug
    )

    Package::has_part

    fn Package::has_part(self : Package, name : String) -> Bool

    Package::part

    fn Package::part(self : Package, name : String) -> Part?

    Package::relationships

    fn Package::relationships(self : Package, source_part : String) -> Array[Relationship] raise PackageError

    Package::replace_part

    fn Package::replace_part(self : Package, name : String, content : FixedArray[Byte]) -> Package

    Package::replace_text

    fn Package::replace_text(self : Package, name : String, content : String) -> Package

    Package::text

    fn Package::text(self : Package, name : String) -> String raise PackageError

    Part

    pub(all) struct Part {
    name : String
    content : FixedArray[Byte]
    } derive(Eq,
    Debug
    )

    Relationship

    pub(all) struct Relationship {
    id : String
    relationship_type : String
    target : String
    external : Bool
    } derive(Eq,
    Debug
    )

    normalize_part_name

    fn normalize_part_name(name : String) -> String

    open

    fn open(content : FixedArray[Byte]) -> Package raise PackageError

    open_with_policy

    fn open_with_policy(content : FixedArray[Byte], policy : ArchivePolicy) -> Package raise PackageError

    Open an OPC package using explicit, validated per-open archive limits.

    ZIP central-directory metadata is checked before extraction, CRC verification is mandatory, and declared sizes are compared with extracted outputs before the package is returned.

    relationships_part_name

    fn relationships_part_name(source_part : String) -> String

    resolve_target

    fn resolve_target(source_part : String, target : String) -> String raise PackageError

    save

    fn save(archive : Package) -> FixedArray[Byte] raise PackageError

    Powered by MoonBit

    Site sourceReport issuePackagesBuild queueSkillsStatistics

    © 2026 mooncakes.io