css_ast 0.0.21

CSS Abstract Syntax Trees with visitable nodes and style value types.
Documentation
---
source: crates/css_ast/tests/postcss_snapshots.rs
expression: result.output.unwrap()
---
StyleSheet(
  rules: [
    StyleRule(
      rule: QualifiedRule(
        prelude: SelectorList([
          (CompoundSelector([
            Tag(Html(Div(Ident(Cursor(
              kind: "Ident",
              offset: SourceOffset(36),
              len: 3,
            ))))),
          ]), None),
        ]),
        block: Block(
          open_curly: LeftCurly(Cursor(
            kind: "LeftCurly",
            offset: SourceOffset(40),
            len: 1,
          )),
          declarations: [
            Declaration(
              name: Ident(Cursor(
                kind: "Ident",
                offset: SourceOffset(63),
                len: 5,
              )),
              colon: Colon(Cursor(
                kind: "Colon",
                offset: SourceOffset(68),
                len: 1,
              )),
              value: ColorStyleValue(Named(Black(Ident(Cursor(
                kind: "Ident",
                offset: SourceOffset(70),
                len: 5,
              ))))),
              important: None,
              semicolon: Some(Semicolon(Cursor(
                kind: "Semicolon",
                offset: SourceOffset(75),
                len: 1,
              ))),
            ),
            Declaration(
              name: Ident(Cursor(
                kind: "Ident",
                offset: SourceOffset(99),
                len: 13,
              )),
              colon: Colon(Cursor(
                kind: "Colon",
                offset: SourceOffset(112),
                len: 1,
              )),
              value: BorderRadiusStyleValue(Length(Px(Dimension(Cursor(
                kind: "Dimension",
                offset: SourceOffset(114),
                len: 3,
              )))), None, None, None, Some((Slash(Delim(Cursor(
                kind: "Delim",
                offset: SourceOffset(118),
                len: 1,
              ))), Length(Px(Dimension(Cursor(
                kind: "Dimension",
                offset: SourceOffset(120),
                len: 3,
              )))), None, None, None))),
              important: None,
              semicolon: None,
            ),
          ],
          rules: [],
          close_curly: Some(RightCurly(Cursor(
            kind: "RightCurly",
            offset: SourceOffset(138),
            len: 1,
          ))),
        ),
      ),
    ),
    StyleRule(
      rule: QualifiedRule(
        prelude: SelectorList([
          (CompoundSelector([
            Tag(Html(A(Ident(Cursor(
              kind: "Ident",
              offset: SourceOffset(149),
              len: 1,
            ))))),
          ]), None),
        ]),
        block: Block(
          open_curly: LeftCurly(Cursor(
            kind: "LeftCurly",
            offset: SourceOffset(151),
            len: 1,
          )),
          declarations: [
            Declaration(
              name: Ident(Cursor(
                kind: "Ident",
                offset: SourceOffset(157),
                len: 5,
              )),
              colon: Colon(Cursor(
                kind: "Colon",
                offset: SourceOffset(162),
                len: 1,
              )),
              value: ColorStyleValue(Named(Black(Ident(Cursor(
                kind: "Ident",
                offset: SourceOffset(164),
                len: 5,
              ))))),
              important: None,
              semicolon: Some(Semicolon(Cursor(
                kind: "Semicolon",
                offset: SourceOffset(169),
                len: 1,
              ))),
            ),
          ],
          rules: [],
          close_curly: Some(RightCurly(Cursor(
            kind: "RightCurly",
            offset: SourceOffset(183),
            len: 1,
          ))),
        ),
      ),
    ),
    StyleRule(
      rule: QualifiedRule(
        prelude: SelectorList([
          (CompoundSelector([
            Class(Class(
              dot: Dot(Delim(Cursor(
                kind: "Delim",
                offset: SourceOffset(186),
                len: 1,
              ))),
              name: Ident(Cursor(
                kind: "Ident",
                offset: SourceOffset(187),
                len: 2,
              )),
            )),
            Tag(Unknown(UnknownTag(Ident(Cursor(
              kind: "Ident",
              offset: SourceOffset(193),
              len: 4,
            ))))),
          ]), None),
        ]),
        block: Block(
          open_curly: LeftCurly(Cursor(
            kind: "LeftCurly",
            offset: SourceOffset(198),
            len: 1,
          )),
          declarations: [
            Declaration(
              name: Ident(Cursor(
                kind: "Ident",
                offset: SourceOffset(202),
                len: 5,
              )),
              colon: Colon(Cursor(
                kind: "Colon",
                offset: SourceOffset(207),
                len: 1,
              )),
              value: Unknown(ComponentValues(
                values: [
                  Whitespace(Cursor(
                    kind: "Whitespace",
                    offset: SourceOffset(208),
                    len: 1,
                  )),
                  Ident(Cursor(
                    kind: "Ident",
                    offset: SourceOffset(209),
                    len: 3,
                  )),
                  SimpleBlock(
                    open: PairWiseStart(Cursor(
                      kind: "LeftParen",
                      offset: SourceOffset(216),
                      len: 1,
                    )),
                    values: ComponentValues(
                      values: [
                        Ident(Cursor(
                          kind: "Ident",
                          offset: SourceOffset(217),
                          len: 8,
                        )),
                      ],
                    ),
                    close: Some(PairWiseEnd(Cursor(
                      kind: "RightParen",
                      offset: SourceOffset(225),
                      len: 1,
                    ))),
                  ),
                ],
              )),
              important: None,
              semicolon: Some(Semicolon(Cursor(
                kind: "Semicolon",
                offset: SourceOffset(226),
                len: 1,
              ))),
            ),
            Declaration(
              name: Ident(Cursor(
                kind: "Ident",
                offset: SourceOffset(230),
                len: 11,
              )),
              colon: Colon(Cursor(
                kind: "Colon",
                offset: SourceOffset(241),
                len: 1,
              )),
              value: FontFamilyStyleValue([
                (FontFamilyName(CustomIdents([
                  CustomIdent(Ident(Cursor(
                    kind: "Ident",
                    offset: SourceOffset(243),
                    len: 10,
                  ))),
                ])), Some(Comma(Cursor(
                  kind: "Comma",
                  offset: SourceOffset(253),
                  len: 1,
                )))),
                (FontFamilyName(CustomIdents([
                  CustomIdent(Ident(Cursor(
                    kind: "Ident",
                    offset: SourceOffset(258),
                    len: 5,
                  ))),
                ])), None),
              ]),
              important: None,
              semicolon: Some(Semicolon(Cursor(
                kind: "Semicolon",
                offset: SourceOffset(263),
                len: 1,
              ))),
            ),
          ],
          rules: [],
          close_curly: Some(RightCurly(Cursor(
            kind: "RightCurly",
            offset: SourceOffset(265),
            len: 1,
          ))),
        ),
      ),
    ),
  ],
)