15270821319 4e5c5d37f9 初步设计数据库,注册登录 10 tháng trước cách đây
..
dist 4e5c5d37f9 初步设计数据库,注册登录 10 tháng trước cách đây
node_modules 4e5c5d37f9 初步设计数据库,注册登录 10 tháng trước cách đây
README.md 4e5c5d37f9 初步设计数据库,注册登录 10 tháng trước cách đây
license.txt 4e5c5d37f9 初步设计数据库,注册登录 10 tháng trước cách đây
package.json 4e5c5d37f9 初步设计数据库,注册登录 10 tháng trước cách đây
parser.js 4e5c5d37f9 初步设计数据库,注册登录 10 tháng trước cách đây

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