"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = rewriteThis; var _helperEnvironmentVisitor = require("@babel/helper-environment-visitor"); var _traverse = require("@babel/traverse"); var _t = require("@babel/types"); const { numericLiteral, unaryExpression } = _t; function rewriteThis(programPath) { (0, _traverse.default)(programPath.node, Object.assign({}, rewriteThisVisitor, { noScope: true })); } const rewriteThisVisitor = _traverse.default.visitors.merge([_helperEnvironmentVisitor.default, { ThisExpression(path) { path.replaceWith(unaryExpression("void", numericLiteral(0), true)); } }]);