/hoister

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

Primary LanguageJavaScript

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';