htc 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 місяців тому
..
dist 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 місяців тому
node_modules 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 місяців тому
README.md 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 місяців тому
license.txt 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 місяців тому
package.json 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 місяців тому
parser.js 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 місяців тому

README.md

ESQuery is a library for querying the AST output by Esprima for patterns of syntax using a CSS style selector system. Check out the demo:

demo

The following selectors are supported:

  • AST node type: ForStatement
  • wildcard: *
  • attribute existence: [attr]
  • attribute value: [attr="foo"] or [attr=123]
  • attribute regex: [attr=/foo.*/] or (with flags) [attr=/foo.*/is]
  • attribute conditions: [attr!="foo"], [attr>2], [attr<3], [attr>=2], or [attr<=3]
  • nested attribute: [attr.level2="foo"]
  • field: FunctionDeclaration > Identifier.id
  • First or last child: :first-child or :last-child
  • nth-child (no ax+b support): :nth-child(2)
  • nth-last-child (no ax+b support): :nth-last-child(1)
  • descendant: ancestor descendant
  • child: parent > child
  • following sibling: node ~ sibling
  • adjacent sibling: node + adjacent
  • negation: :not(ForStatement)
  • has: :has(ForStatement), :has(> ForStatement)
  • matches-any: :matches([attr] > :first-child, :last-child)
  • subject indicator: !IfStatement > [name="foo"]
  • class of AST node: :statement, :expression, :declaration, :function, or :pattern

Build Status