aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe-external-packages/src/symfony/console/helper/table_separator.rs
blob: bb789f2852c07757e9bb7e3924969cd81cc698cc (plain)
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
//! ref: composer/vendor/symfony/console/Helper/TableSeparator.php

use crate::symfony::console::exception::invalid_argument_exception::InvalidArgumentException;
use crate::symfony::console::helper::table_cell::{TableCell, TableCellOption};
use indexmap::IndexMap;

/// Marks a row as being a separator.
#[derive(Debug, Clone)]
pub struct TableSeparator {
    inner: TableCell,
}

impl TableSeparator {
    pub fn new() -> Self {
        Self::new1(IndexMap::new()).expect("TableSeparator default options are always valid")
    }

    pub fn new1(
        options: IndexMap<String, TableCellOption>,
    ) -> Result<Self, InvalidArgumentException> {
        Ok(Self {
            inner: TableCell::new("", options)?,
        })
    }
}

impl Default for TableSeparator {
    fn default() -> Self {
        Self::new()
    }
}