Big news!Introducing Socket AI - ChatGPT-Powered Threat Analysis.Learn more
Socket
Socket

css-what

Package Overview
Dependencies
0
Maintainers
1
Versions
24
Issues
File Explorer

Advanced tools

css-what

a CSS selector parser

    6.1.0latest
    GitHub
    npm

Version published
Maintainers
1
Weekly downloads
26,999,861
increased by7.36%

Weekly downloads

Readme

Source

css-what

Build Status Coverage

A CSS selector parser.

Example

import * as CSSwhat from "css-what"; CSSwhat.parse("foo[bar]:baz") ~> [ [ { type: "tag", name: "foo" }, { type: "attribute", name: "bar", action: "exists", value: "", ignoreCase: null }, { type: "pseudo", name: "baz", data: null } ] ]

API

CSSwhat.parse(selector) - Parses selector.

The function returns a two-dimensional array. The first array represents selectors separated by commas (eg. sub1, sub2), the second contains the relevant tokens for that selector. Possible token types are:

namepropertiesexampleoutput
tagnamediv{ type: 'tag', name: 'div' }
universal-*{ type: 'universal' }
pseudoname, data:name(data){ type: 'pseudo', name: 'name', data: 'data' }
pseudoname, data:name{ type: 'pseudo', name: 'name', data: null }
pseudo-elementname::name{ type: 'pseudo-element', name: 'name' }
attributename, action, value, ignoreCase[attr]{ type: 'attribute', name: 'attr', action: 'exists', value: '', ignoreCase: false }
attributename, action, value, ignoreCase[attr=val]{ type: 'attribute', name: 'attr', action: 'equals', value: 'val', ignoreCase: false }
attributename, action, value, ignoreCase[attr^=val]{ type: 'attribute', name: 'attr', action: 'start', value: 'val', ignoreCase: false }
attributename, action, value, ignoreCase[attr$=val]{ type: 'attribute', name: 'attr', action: 'end', value: 'val', ignoreCase: false }
child->{ type: 'child' }
parent-<{ type: 'parent' }
sibling-~{ type: 'sibling' }
adjacent-+{ type: 'adjacent' }
descendant-{ type: 'descendant' }
column-combinator-||{ type: 'column-combinator' }

CSSwhat.stringify(selector) - Turns selector back into a string.


License: BSD-2-Clause

Security contact information

To report a security vulnerability, please use the Tidelift security contact. Tidelift will coordinate the fix and disclosure.

css-what for enterprise

Available as part of the Tidelift Subscription

The maintainers of css-what and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. Learn more.

FAQs

Last updated on 31 Mar 2022

Did you know?

Socket installs a Github app to automatically flag issues on every pull request and report the health of your dependencies. Find out what is inside your node modules and prevent malicious activity before you update the dependencies.

Install Socket
Socket
Socket SOC 2 Logo

Product

  • Package Issues
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc