Exciting release!Introducing "safe npm". Learn more
Socket
Log inDemoInstall

reflect

Package Overview
Dependencies
0
Maintainers
1
Versions
9
Issues
File Explorer

Advanced tools

reflect

JavaScript parser adhering to Mozilla's parser API

    0.1.3latest
    GitHub

Version published
Maintainers
1
Weekly downloads
635
increased by19.81%

Weekly downloads

Readme

Source

Reflect.js

Reflect.js is a JavaScript (ES3 compatible) implementation of Mozilla's Parser API. It does not currently support some of Mozilla's extensions, such as generators, list comprehensions, for each, E4X, etc. but may eventually support ones that are, or become Harmony proposals. Builders are also supported.

Parsing really large files can be slow, for reasons articulated by Andy Chu.

Download

You can download a minified-standalone version of reflect.js to embed in web pages here.

Install

Reflect.js is available as a CommonJS module for Node.js. Simply install it with npm:

npm install reflect

Use

var Reflect = require('reflect'); var ast = Reflect.parse("var a = 4 + 7"); console.log(Reflect.stringify(ast, " "));

Refer to Mozilla's docs for details on the AST interface.

Builders

The optional builder parameter to Reflect.parse() makes it possible to construct user-specified data from the parser, rather than the default Node objects.

The reflect.js module exports the default builder so you can redefine only the node constructors you care about and leave the rest default.

var Reflect = require('reflect'); var builder = Reflect.builder; // redefine callback for variable declarations builder["variableDeclaration"] = function (kind, declarators, loc) { ... }; var ast = Reflect.parse("var a = 4 + 7", {builder: builder});

License

MIT X Licensed.

Keywords

FAQs

Last updated on 27 Jun 2012

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
support@socket.devSocket 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