UNPKG

astral-pass

Version:

Pass system for Astral

60 lines (40 loc) 952 B
# Astral Pass Pass helper for [Astral](https://github.com/btford/astral-pass) that simplifies traversal. ## Example Below is a simple example. ```javascript var myPass = require('astral-pass')(); myPass.name = 'myPass'; myPass.prereqs = [ /* other pass names here */ ]; myPass. when({ // ... AST chunk }). when(function (chunk, info) { // return true or false }). do(function (chunk, info) { }); ``` ## More Complicated Passes You can introduce more complicated behavior by composing passes. This is done by modifying a pass's `prereqs` property. ```javascript var astralPass = require('astral-pass'); // p1 needs some info to do its transformations var p1 = astralPass(); p1.name = 'myPass'; p1.prereqs = [ 'p2' ]; p1. when( ... ). do( ... ); // p2 gathers the info for p1 var p2 = astralPass(); p2.name = 'myPass'; p2. when( ... ). do( ... ); ``` I recommend namespacing passes with `:`. ## License MIT