Skip to content

Latest commit

 

History

History
31 lines (23 loc) · 546 Bytes

README.md

File metadata and controls

31 lines (23 loc) · 546 Bytes

hoister

Put all function and variable declarations at the top of the scope in an AST

NPM

Example

var parse = require('esprima').parse
var generate = require('escodegen').generate
var hoist = require('hoist')

var src = 'a = func(123); var a = "test"; function func(x){return x}'
var ast = parse(src)
hoist(ast)

console.log(generate(ast))

Console result:

function func(x) {
  return x;
}
var a;
a = func(123);
var a = 'test';