bun_css 0.1.0

A Rust-native programmable browser runtime built on Servo and SpiderMonkey
pub struct SourceMap {
    // TODO(port): []const u8 struct field in CSS (arena crate) — using raw slice ptr per PORTING.md; revisit ownership
    pub project_root: *const [u8],
    pub inner: SourceMapInner,
}

pub struct SourceMapInner {
    // PERF(port): ArrayListUnmanaged in CSS arena crate — using Vec<T>; may want bun_alloc::ArenaVec<'bump, T> if hot
    pub sources: Vec<*const [u8]>,
    pub sources_content: Vec<*const [u8]>,
    pub names: Vec<*const [u8]>,
    pub mapping_lines: Vec<MappingLine>,
}

pub struct MappingLine {
    pub mappings: Vec<LineMapping>,
    pub last_column: u32,
    pub is_sorted: bool,
}

pub struct LineMapping {
    pub generated_column: u32,
    pub original: Option<OriginalLocation>,
}

pub struct OriginalLocation {
    pub original_line: u32,
    pub original_column: u32,
    pub source: u32,
    pub name: Option<u32>,
}

// ported from: src/css/sourcemap.zig