ast-replace-this
Version:
change the this of code
21 lines (14 loc) • 415 B
JavaScript
;
module.exports = replaceThis
var map = require('esmap')
function replaceThis(node, replacement, recurse) {
return replace(node)
function replace(node) {
if (!node) return
if (node.type === 'ThisExpression')
return replacement
if (!recurse && (node.type === 'FunctionDeclaration' || node.type === 'FunctionExpression'))
return node
return map(node, replace)
}
}