1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
//! aspasia is a subtitle parsing library for Rust

#![warn(
    clippy::all,
    clippy::cargo,
    clippy::pedantic,
    missing_docs,
    clippy::perf,
    anonymous_parameters,
    trivial_numeric_casts,
    trivial_casts,
    single_use_lifetimes,
    nonstandard_style,
    unreachable_pub
)]
#![allow(
    clippy::module_name_repetitions,
    clippy::doc_markdown,
    clippy::struct_excessive_bools,
    clippy::similar_names
)]

mod detection;
mod encoding;
mod errors;
/// MicroDVD (.sub) format subtitle implementations
pub mod microdvd;
mod parsing;
/// Implementations for plain subtitles
pub mod plain;
/// SubRip (.srt) format subtitle implementations
pub mod subrip;
/// SubStation (.ass / .ssa) format subtitle implementations
pub mod substation;
mod timed_subtitle;
/// Types used for subtitle timing
pub mod timing;
mod traits;
/// WebVTT (.vtt) format subtitle implementations
pub mod webvtt;

pub use detection::{
    detect_format, detect_format_by_content, detect_format_by_content_with_encoding,
    detect_format_by_extension, detect_format_from_str, detect_format_with_encoding,
};
pub use errors::Error;
#[doc(inline)]
pub use microdvd::{MicroDvdSubtitle, TimedMicroDvdSubtitle};
#[doc(inline)]
pub use plain::PlainSubtitle;
#[doc(inline)]
pub use subrip::SubRipSubtitle;
#[doc(inline)]
pub use substation::{ass::AssSubtitle, ssa::SsaSubtitle};
pub use timed_subtitle::{Format, TimedSubtitleFile};
pub use timing::{Moment, TimeDelta};
pub use traits::{
    Subtitle, TextEvent, TextEventInterface, TextSubtitle, TimedEvent, TimedEventInterface,
    TimedSubtitle,
};
#[doc(inline)]
pub use webvtt::WebVttSubtitle;