enable spec.functionName by default
This commit is contained in:
parent
8e06db8f7d
commit
002be9a05c
@ -1,53 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
var util = require("../../util");
|
|
||||||
var t = require("../../types");
|
|
||||||
|
|
||||||
var visitor = {
|
|
||||||
enter: function (node, parent, scope, state) {
|
|
||||||
// check if this node is an identifier that matches the same as our function id
|
|
||||||
if (!t.isIdentifier(node, { name: state.id })) return;
|
|
||||||
|
|
||||||
// check if this node is the one referenced
|
|
||||||
if (!t.isReferenced(node, parent)) return;
|
|
||||||
|
|
||||||
// check that we don't have a local variable declared as that removes the need
|
|
||||||
// for the wrapper
|
|
||||||
var localDeclar = scope.getBindingIdentifier(state.id);
|
|
||||||
if (localDeclar !== state.outerDeclar) return;
|
|
||||||
|
|
||||||
state.selfReference = true;
|
|
||||||
this.stop();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
exports.property = function (node, file, scope) {
|
|
||||||
var key = t.toComputedKey(node, node.key);
|
|
||||||
if (!t.isLiteral(key)) return node; // we can't set a function id with this
|
|
||||||
|
|
||||||
var id = t.toIdentifier(key.value);
|
|
||||||
key = t.identifier(id);
|
|
||||||
|
|
||||||
var state = {
|
|
||||||
id: id,
|
|
||||||
selfReference: false,
|
|
||||||
outerDeclar: scope.getBindingIdentifier(id),
|
|
||||||
};
|
|
||||||
|
|
||||||
scope.traverse(node, visitor, state);
|
|
||||||
|
|
||||||
var method = node.value;
|
|
||||||
|
|
||||||
if (state.selfReference) {
|
|
||||||
var templateName = "property-method-assignment-wrapper";
|
|
||||||
if (method.generator) templateName += "-generator";
|
|
||||||
node.value = util.template(templateName, {
|
|
||||||
FUNCTION: method,
|
|
||||||
FUNCTION_ID: key,
|
|
||||||
FUNCTION_KEY: scope.generateUidIdentifier(id),
|
|
||||||
WRAPPER_KEY: scope.generateUidIdentifier(id + "Wrapper")
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
method.id = key;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
@ -1,7 +1,6 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
var ReplaceSupers = require("../../helpers/replace-supers");
|
var ReplaceSupers = require("../../helpers/replace-supers");
|
||||||
var nameMethod = require("../../helpers/name-method");
|
|
||||||
var defineMap = require("../../helpers/define-map");
|
var defineMap = require("../../helpers/define-map");
|
||||||
var messages = require("../../../messages");
|
var messages = require("../../../messages");
|
||||||
var util = require("../../../util");
|
var util = require("../../../util");
|
||||||
@ -217,8 +216,6 @@ ClassTransformer.prototype.pushMethod = function (node) {
|
|||||||
var kind = node.kind;
|
var kind = node.kind;
|
||||||
|
|
||||||
if (kind === "") {
|
if (kind === "") {
|
||||||
nameMethod.property(node, this.file, this.scope);
|
|
||||||
|
|
||||||
if (this.isLoose) {
|
if (this.isLoose) {
|
||||||
// use assignments instead of define properties for loose classes
|
// use assignments instead of define properties for loose classes
|
||||||
|
|
||||||
|
|||||||
@ -1,8 +1,7 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
var nameMethod = require("../../helpers/name-method");
|
|
||||||
var t = require("../../../types");
|
|
||||||
var clone = require("lodash/lang/clone");
|
var clone = require("lodash/lang/clone");
|
||||||
|
var t = require("../../../types");
|
||||||
|
|
||||||
exports.check = function (node) {
|
exports.check = function (node) {
|
||||||
return t.isProperty(node) && (node.method || node.shorthand);
|
return t.isProperty(node) && (node.method || node.shorthand);
|
||||||
@ -11,7 +10,6 @@ exports.check = function (node) {
|
|||||||
exports.Property = function (node, parent, scope, file) {
|
exports.Property = function (node, parent, scope, file) {
|
||||||
if (node.method) {
|
if (node.method) {
|
||||||
node.method = false;
|
node.method = false;
|
||||||
nameMethod.property(node, file, scope);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (node.shorthand) {
|
if (node.shorthand) {
|
||||||
|
|||||||
@ -1,6 +1,9 @@
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
useStrict: require("./other/use-strict"),
|
useStrict: require("./other/use-strict"),
|
||||||
|
|
||||||
|
// this goes at the start so we only transform the original user code
|
||||||
|
"spec.functionName": require("./spec/function-name"),
|
||||||
|
|
||||||
"validation.undeclaredVariableCheck": require("./validation/undeclared-variable-check"),
|
"validation.undeclaredVariableCheck": require("./validation/undeclared-variable-check"),
|
||||||
"validation.noForInOfAssignment": require("./validation/no-for-in-of-assignment"),
|
"validation.noForInOfAssignment": require("./validation/no-for-in-of-assignment"),
|
||||||
"validation.setters": require("./validation/setters"),
|
"validation.setters": require("./validation/setters"),
|
||||||
@ -91,7 +94,6 @@ module.exports = {
|
|||||||
|
|
||||||
"spec.typeofSymbol": require("./spec/typeof-symbol"),
|
"spec.typeofSymbol": require("./spec/typeof-symbol"),
|
||||||
"spec.undefinedToVoid": require("./spec/undefined-to-void"),
|
"spec.undefinedToVoid": require("./spec/undefined-to-void"),
|
||||||
"spec.functionName": require("./spec/function-name"),
|
|
||||||
|
|
||||||
_moduleFormatter: require("./internal/module-formatter"),
|
_moduleFormatter: require("./internal/module-formatter"),
|
||||||
|
|
||||||
|
|||||||
@ -1,53 +1,54 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
var util = require("../../../util");
|
|
||||||
var t = require("../../../types");
|
var t = require("../../../types");
|
||||||
|
var util = require("../../../util");
|
||||||
|
|
||||||
var propertyFunctionVisitor = {
|
var propertyFunctionVisitor = {
|
||||||
enter: function (node, parent, scope, state) {
|
enter: function (node, parent, scope, state, file) {
|
||||||
if (t.isReferencedIdentifier(node, parent, { name: state.name }) && scope.getBindingIdentifier(node.name) === state.binding) {
|
if (t.isReferencedIdentifier(node, parent, { name: state.name }) && scope.getBindingIdentifier(node.name) === state.binding) {
|
||||||
return state.getOuter();
|
return state.getOuter();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//exports.ArrowFunctionExpression =
|
||||||
exports.FunctionExpression = function (node, parent, scope, file) {
|
exports.FunctionExpression = function (node, parent, scope, file) {
|
||||||
|
// has an `id` so we don't need to infer one
|
||||||
if (node.id) return;
|
if (node.id) return;
|
||||||
|
|
||||||
var id;
|
var id;
|
||||||
if (t.isProperty(parent)) {
|
if (t.isProperty(parent) && parent.kind === "init" && !parent.computed) {
|
||||||
|
// { foo: function () {} };
|
||||||
id = parent.key;
|
id = parent.key;
|
||||||
} else if (t.isVariableDeclarator(parent)) {
|
} else if (t.isVariableDeclarator(parent)) {
|
||||||
|
// var foo = function () {};
|
||||||
id = parent.id;
|
id = parent.id;
|
||||||
} else {
|
} else {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var binding = scope.getBindingIdentifier(id.name);
|
var binding = scope.getBindingIdentifier(id.name);
|
||||||
var outerId, selfGlobalId;
|
var outerId, selfGlobalId;
|
||||||
|
|
||||||
scope.traverse(node, propertyFunctionVisitor, {
|
scope.traverse(node, propertyFunctionVisitor, {
|
||||||
name: id.name,
|
name: id.name,
|
||||||
binding: binding,
|
binding: binding,
|
||||||
|
|
||||||
getOuter: function () {
|
getOuter: function () {
|
||||||
if (!binding) {
|
|
||||||
return t.memberExpression(
|
|
||||||
selfGlobalId || (selfGlobalId = file.addHelper("self-global")),
|
|
||||||
id
|
|
||||||
);
|
|
||||||
}
|
|
||||||
return t.callExpression(
|
return t.callExpression(
|
||||||
outerId || (outerId = scope.generateUidIdentifier("getOuter")),
|
outerId || (outerId = scope.generateUidIdentifier("getOuter")),
|
||||||
[]
|
[]
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
node.id = id;
|
node.id = id;
|
||||||
|
|
||||||
if (outerId) {
|
if (outerId) {
|
||||||
return util.template("named-func", {
|
return util.template("named-func", {
|
||||||
GET_OUTER_ID: outerId,
|
GET_OUTER_ID: outerId,
|
||||||
ID: id,
|
FUNCTION: node,
|
||||||
FUNCTION: node
|
ID: id
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
exports.optional = true;
|
|
||||||
|
|||||||
@ -15,7 +15,7 @@ function two() {
|
|||||||
return _arguments;
|
return _arguments;
|
||||||
};
|
};
|
||||||
|
|
||||||
var another = function () {
|
var another = function another() {
|
||||||
var _arguments2 = arguments;
|
var _arguments2 = arguments;
|
||||||
var inner2 = function () {
|
var inner2 = function () {
|
||||||
return _arguments2;
|
return _arguments2;
|
||||||
@ -54,7 +54,7 @@ five({ arguments: ["foo"] });
|
|||||||
|
|
||||||
function six(obj) {
|
function six(obj) {
|
||||||
var fn = function () {
|
var fn = function () {
|
||||||
var fn2 = function () {
|
var fn2 = function fn2() {
|
||||||
return arguments[0];
|
return arguments[0];
|
||||||
};
|
};
|
||||||
return fn2("foobar");
|
return fn2("foobar");
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
init: function () {
|
init: function init() {
|
||||||
var _this = this;
|
var _this = this;
|
||||||
return new Promise(function (resolve, reject) {
|
return new Promise(function (resolve, reject) {
|
||||||
MongoClient.connect(config.mongodb, function (err, db) {
|
MongoClient.connect(config.mongodb, function (err, db) {
|
||||||
|
|||||||
@ -19,7 +19,7 @@ function unpackObject(_ref) {
|
|||||||
|
|
||||||
console.log(unpackObject({ title: "title", author: "author" }));
|
console.log(unpackObject({ title: "title", author: "author" }));
|
||||||
|
|
||||||
var unpackArray = function (_ref, _ref3) {
|
var unpackArray = function unpackArray(_ref, _ref3) {
|
||||||
var _ref2 = _slicedToArray(_ref, 3);
|
var _ref2 = _slicedToArray(_ref, 3);
|
||||||
|
|
||||||
var a = _ref2[0];
|
var a = _ref2[0];
|
||||||
|
|||||||
@ -7,7 +7,7 @@ define(["exports"], function (exports) {
|
|||||||
var foo = exports.foo = 1;
|
var foo = exports.foo = 1;
|
||||||
var foo = exports.foo = 1;
|
var foo = exports.foo = 1;
|
||||||
var bar = exports.bar = 2;
|
var bar = exports.bar = 2;
|
||||||
var foo2 = exports.foo2 = function () {};
|
var foo2 = exports.foo2 = function foo2() {};
|
||||||
var foo3 = exports.foo3 = undefined;
|
var foo3 = exports.foo3 = undefined;
|
||||||
var foo4 = exports.foo4 = 2;
|
var foo4 = exports.foo4 = 2;
|
||||||
var foo5 = exports.foo5 = undefined;
|
var foo5 = exports.foo5 = undefined;
|
||||||
|
|||||||
@ -6,7 +6,7 @@ exports.foo7 = foo7;
|
|||||||
var foo = exports.foo = 1;
|
var foo = exports.foo = 1;
|
||||||
var foo = exports.foo = 1;
|
var foo = exports.foo = 1;
|
||||||
var bar = exports.bar = 2;
|
var bar = exports.bar = 2;
|
||||||
var foo2 = exports.foo2 = function () {};
|
var foo2 = exports.foo2 = function foo2() {};
|
||||||
var foo3 = exports.foo3 = undefined;
|
var foo3 = exports.foo3 = undefined;
|
||||||
var foo4 = exports.foo4 = 2;
|
var foo4 = exports.foo4 = 2;
|
||||||
var foo5 = exports.foo5 = undefined;
|
var foo5 = exports.foo5 = undefined;
|
||||||
|
|||||||
@ -5,7 +5,7 @@ var _classCallCheck = function (instance, Constructor) { if (!(instance instance
|
|||||||
var foo = 1;
|
var foo = 1;
|
||||||
var foo = 1,
|
var foo = 1,
|
||||||
bar = 2;
|
bar = 2;
|
||||||
var foo2 = function () {};
|
var foo2 = function foo2() {};
|
||||||
var foo3 = undefined;
|
var foo3 = undefined;
|
||||||
var foo4 = 2;
|
var foo4 = 2;
|
||||||
var foo5 = undefined;
|
var foo5 = undefined;
|
||||||
|
|||||||
@ -11,7 +11,7 @@ System.register([], function (_export) {
|
|||||||
_classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } };
|
_classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } };
|
||||||
|
|
||||||
foo = _export("foo", 1);
|
foo = _export("foo", 1);
|
||||||
foo2 = _export("foo2", function () {});
|
foo2 = _export("foo2", function foo2() {});
|
||||||
foo3 = _export("foo3", undefined);
|
foo3 = _export("foo3", undefined);
|
||||||
foo4 = _export("foo4", 2);
|
foo4 = _export("foo4", 2);
|
||||||
foo5 = _export("foo5", undefined);
|
foo5 = _export("foo5", undefined);
|
||||||
|
|||||||
@ -13,7 +13,7 @@
|
|||||||
var foo = exports.foo = 1;
|
var foo = exports.foo = 1;
|
||||||
var foo = exports.foo = 1;
|
var foo = exports.foo = 1;
|
||||||
var bar = exports.bar = 2;
|
var bar = exports.bar = 2;
|
||||||
var foo2 = exports.foo2 = function () {};
|
var foo2 = exports.foo2 = function foo2() {};
|
||||||
var foo3 = exports.foo3 = undefined;
|
var foo3 = exports.foo3 = undefined;
|
||||||
var foo4 = exports.foo4 = 2;
|
var foo4 = exports.foo4 = 2;
|
||||||
var foo5 = exports.foo5 = undefined;
|
var foo5 = exports.foo5 = undefined;
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
var t = function (f) {
|
var t = function t(f) {
|
||||||
for (var _len = arguments.length, items = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
for (var _len = arguments.length, items = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
||||||
items[_key - 1] = arguments[_key];
|
items[_key - 1] = arguments[_key];
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
var foo = function () {
|
var foo = function foo() {
|
||||||
for (var _len = arguments.length, _ref = Array(_len), _key = 0; _key < _len; _key++) {
|
for (var _len = arguments.length, _ref = Array(_len), _key = 0; _key < _len; _key++) {
|
||||||
_ref[_key] = arguments[_key];
|
_ref[_key] = arguments[_key];
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
var t = function () {
|
var t = function t() {
|
||||||
for (var _len = arguments.length, items = Array(_len), _key = 0; _key < _len; _key++) {
|
for (var _len = arguments.length, items = Array(_len), _key = 0; _key < _len; _key++) {
|
||||||
items[_key] = arguments[_key];
|
items[_key] = arguments[_key];
|
||||||
}
|
}
|
||||||
|
|||||||
@ -14,7 +14,7 @@ var fn = (_obj$foo3 = obj[foo()], _obj$foo3.method.bind(_obj$foo3));
|
|||||||
return _val2.toFixed(_args2[0]);
|
return _val2.toFixed(_args2[0]);
|
||||||
}));
|
}));
|
||||||
|
|
||||||
var get = function () {
|
var get = function get() {
|
||||||
return 2;
|
return 2;
|
||||||
};
|
};
|
||||||
[1.1234, 23.53245, 3].map((_args3 = [get()], function (_val3) {
|
[1.1234, 23.53245, 3].map((_args3 = [get()], function (_val3) {
|
||||||
|
|||||||
@ -1,11 +1,11 @@
|
|||||||
var foo = function () {
|
var foo = function foo() {
|
||||||
var _this = this;
|
var _this = this;
|
||||||
return function () {
|
return function () {
|
||||||
return React.createElement(_this, null);
|
return React.createElement(_this, null);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
var bar = function () {
|
var bar = function bar() {
|
||||||
var _this = this;
|
var _this = this;
|
||||||
return function () {
|
return function () {
|
||||||
return React.createElement(_this.foo, null);
|
return React.createElement(_this.foo, null);
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
var Component;
|
var Component;
|
||||||
Component = React.createClass({
|
Component = React.createClass({
|
||||||
render: function () {
|
render: function render() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
var Component;
|
var Component;
|
||||||
Component = React.createClass({
|
Component = React.createClass({
|
||||||
displayName: "Component",
|
displayName: "Component",
|
||||||
render: function () {
|
render: function render() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
export default React.createClass({
|
export default React.createClass({
|
||||||
render: function () {
|
render: function render() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
module.exports = React.createClass({
|
module.exports = React.createClass({
|
||||||
displayName: "actual",
|
displayName: "actual",
|
||||||
render: function () {
|
render: function render() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
var Whateva = React.createClass({
|
var Whateva = React.createClass({
|
||||||
displayName: "Whatever",
|
displayName: "Whatever",
|
||||||
render: function () {
|
render: function render() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
var Whateva = React.createClass({
|
var Whateva = React.createClass({
|
||||||
displayName: "Whatever",
|
displayName: "Whatever",
|
||||||
render: function () {
|
render: function render() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
exports = {
|
exports = {
|
||||||
Component: React.createClass({
|
Component: React.createClass({
|
||||||
render: function () {
|
render: function render() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
exports = {
|
exports = {
|
||||||
Component: React.createClass({
|
Component: React.createClass({
|
||||||
displayName: "Component",
|
displayName: "Component",
|
||||||
render: function () {
|
render: function render() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
exports.Component = React.createClass({
|
exports.Component = React.createClass({
|
||||||
render: function () {
|
render: function render() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
exports.Component = React.createClass({
|
exports.Component = React.createClass({
|
||||||
displayName: "Component",
|
displayName: "Component",
|
||||||
render: function () {
|
render: function render() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
var Component = React.createClass({
|
var Component = React.createClass({
|
||||||
render: function () {
|
render: function render() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
var Component = React.createClass({
|
var Component = React.createClass({
|
||||||
displayName: "Component",
|
displayName: "Component",
|
||||||
render: function () {
|
render: function render() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user