{"_id":"atom-slick","_rev":"10-167bb63288c4c93f97c237c4f2606f6d","name":"atom-slick","description":"Standalone CSS Selector Finder and Parser.","dist-tags":{"latest":"2.0.0"},"versions":{"2.0.0":{"name":"atom-slick","homepage":"https://github.com/atom/slick","version":"2.0.0","main":"./index.js","description":"Standalone CSS Selector Finder and Parser.","keywords":["dom","css","selector","finder","parser"],"author":{"name":"Valerio Proietti","email":"@kamicane","url":"http://mad4milk.net"},"contributors":[{"name":"Fabio Miranda Costa","email":"@fabiomcosta"},{"name":"Thomas Aylott","email":"@SubtleGradient"}],"bugs":{"url":"https://github.com/atom/slick/issues"},"license":"MIT (http://mootools.net/license.txt)","repository":{"type":"git","url":"git://github.com/atom/slick.git"},"dependencies":{},"devDependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"gitHead":"a3c1f905a2a8c5e64ce31ff1dc5c58d4e3229f7f","_id":"atom-slick@2.0.0","scripts":{},"_shasum":"ff0dbe15be2c4eda268b9d30d76e2517e0b7d3ca","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"kevinsawicki","email":"kevinsawicki@gmail.com"},"maintainers":[{"name":"kevinsawicki","email":"kevinsawicki@gmail.com"}],"dist":{"shasum":"ff0dbe15be2c4eda268b9d30d76e2517e0b7d3ca","tarball":"https://registry.npmjs.org/atom-slick/-/atom-slick-2.0.0.tgz","integrity":"sha512-yKl/4ZHeP3v6gtncnX6pAPFNv3gQNNYlXMk1QYP5gYB6xq2xqkFXbpwQo3IixGUZMf+DHilAmHOrS21QKLLi9g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDkqOFSMLw15T4s7v7GWgYfaAQxp8ldR13lHrwC6cUMgwIhAI4/Ety2FDP3w9DDcemLWxk46dA4P9UjbWiNx4g4tvDf"}]}}},"readme":":rotating_light::rotating_light::rotating_light:\n\nThis fork exists solely to prevent the parser from infinitely looping when\nan invalid expression is parsed such as:\n\n```js\nslick.parse('()')\n```\n:rotating_light::rotating_light::rotating_light:\n\n\n# Slick\n\nSlick is a standalone selector engine that is totally slick.\nSlick is split in 2 components: the Finder and the Parser. The Finder's job is to find nodes on a webpage, the Parser's job is to create a javascript object representation of any css selector.\n\nSlick allows you to:\n\n * Create your own custom pseudo-classes\n * Use the Parser by itself.\n * Find nodes in XML documents.\n\n ---\n\n## The Finder\n\nFind nodes in the DOM\n\n### `search` context for selector\n\nSearch this context for any nodes that match this selector.\n\nExpects:\n* selector: String or SelectorObject\n* (**optional**) context: document or node or array of documents or nodes\n* (**optional**) append: Array or Object with a push method\n\nReturns: append argument or Array of 0 or more nodes\n\n\tslick.search(\"#foo > bar.baz\") → [<bar>, <bar>, <bar>]\n\tslick.search(\"li > a\", [<ol>, <ul>]) → [<a>, <a>, <a>]\n\tslick.search(\"#foo > bar.baz\", document, []) → [<bar>, <bar>, <bar>]\n\n### `find` first in context with selector or null\n\nFind the first node in document that matches selector or null if none are found.\n\nExpects:\n* selector: String or SelectorObject\n* (**optional**) context: document or node or array of documents or nodes\n\nReturns: Element or null\n\n\tslick.find(\"#foo > bar.baz\") → <bar>\n\tslick.find(\"#does-not-exist\", node) → null\n\n### node `matches` selector?\n\nDoes this node match this selector?\n\nExpects:\n* node\n* node, String or SelectorObject\n\nReturns: true or false\n\n\tslick.matches(<div class=rocks>, \"div.rocks\") → true\n\tslick.matches(<div class=lame>, \"div.rocks\") → false\n\tslick.matches(<div class=lame>, <div class=rocks>) → false\n\n### context `contains` node?\n\nDoes this context contain this node? Is the context a parent of this node?\n\nExpects:\n* context: document or node\n* node: node\n\nReturns: true or false\n\n\tslick.contains(<ul>, <li>) → true\n\tslick.contains(<body>, <html>) → false\n\n---\n\n## The Parser\n\nParse a CSS selector string into a JavaScript object\n\n### `parse` selector into object\n\nParse a CSS Selector String into a Selector Object.\n\nExpects: String\n\nReturns: SelectorObject\n\n\tslick.parse(\"#foo > bar.baz\") → SelectorObject\n\n\n### format\n\n### `#foo > bar.baz`\n\n\t[[\n\t\t{ \"combinator\":\" \", \"tag\":\"*\", \"id\":\"foo\" },\n\t\t{ \"combinator\":\">\", \"tag\":\"bar\", \"classList\": [\"baz\"], \"classes\": [{\"value\":\"baz\", \"match\": RegExp }]}\n\t]]\n\n### `h1, h2, ul > li, .things`\n\n\t[\n\t\t[{ \"combinator\":\" \", \"tag\": \"h1\" }],\n\t\t[{ \"combinator\":\" \", \"tag\": \"h2\" }],\n\t\t[{ \"combinator\":\" \", \"tag\": \"ul\" }, { \"combinator\": \">\", \"tag\": \"li\" }],\n\t\t[{ \"combinator\":\" \", \"tag\": \"*\", \"classList\": [\"things\"], \"classes\": [{\"value\": \"things\", \"match\": RegExp }] }]\n\t]\n","maintainers":[{"email":"atom@github.com","name":"atom-team"},{"email":"ogle.ben@gmail.com","name":"benogle"},{"email":"nathan@github.com","name":"nathansobo"},{"email":"kevinsawicki@gmail.com","name":"kevinsawicki"}],"time":{"modified":"2022-06-13T03:41:51.011Z","created":"2014-10-09T22:46:05.528Z","2.0.0":"2014-10-09T22:46:05.528Z"},"homepage":"https://github.com/atom/slick","keywords":["dom","css","selector","finder","parser"],"repository":{"type":"git","url":"git://github.com/atom/slick.git"},"contributors":[{"name":"Fabio Miranda Costa","email":"@fabiomcosta"},{"name":"Thomas Aylott","email":"@SubtleGradient"}],"author":{"name":"Valerio Proietti","email":"@kamicane","url":"http://mad4milk.net"},"bugs":{"url":"https://github.com/atom/slick/issues"},"license":"MIT (http://mootools.net/license.txt)","readmeFilename":"README.md"}