UNPKG

babel-core

Version:

Turn ES6 code into readable vanilla ES5 with source maps

45 lines (31 loc) 1.05 kB
"use strict"; var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; }; exports.MethodDefinition = MethodDefinition; var t = _interopRequire(require("../../../types")); var playground = exports.playground = true; var visitor = { enter: function enter(node, parent, scope, state) { if (this.isFunction()) return this.skip(); if (this.isReturnStatement() && node.argument) { node.argument = t.memberExpression(t.callExpression(state.file.addHelper("define-property"), [t.thisExpression(), state.key, node.argument]), state.key, true); } } }; function MethodDefinition(node, parent, scope, file) { if (node.kind !== "memo") return; node.kind = "get"; var value = node.value; t.ensureBlock(value); var key = node.key; if (t.isIdentifier(key) && !node.computed) { key = t.literal(key.name); } var state = { key: key, file: file }; scope.traverse(value, visitor, state); return node; } exports.Property = MethodDefinition; exports.__esModule = true;