Set correct methods name
This commit is contained in:
parent
38397ce11f
commit
d35563ee1a
@ -1236,6 +1236,8 @@ helpers.decorate = helper("7.1.5")`
|
|||||||
function _createElementDescriptor(
|
function _createElementDescriptor(
|
||||||
def /*: ElementDefinition */,
|
def /*: ElementDefinition */,
|
||||||
) /*: ElementDescriptor */ {
|
) /*: ElementDescriptor */ {
|
||||||
|
var key = toPropertyKey(def.key);
|
||||||
|
|
||||||
var descriptor /*: PropertyDescriptor */;
|
var descriptor /*: PropertyDescriptor */;
|
||||||
if (def.kind === "method") {
|
if (def.kind === "method") {
|
||||||
descriptor = {
|
descriptor = {
|
||||||
@ -1244,6 +1246,10 @@ helpers.decorate = helper("7.1.5")`
|
|||||||
configurable: true,
|
configurable: true,
|
||||||
enumerable: false,
|
enumerable: false,
|
||||||
};
|
};
|
||||||
|
Object.defineProperty(def.value, "name", {
|
||||||
|
value: typeof key === "symbol" ? "" : key,
|
||||||
|
configurable: true,
|
||||||
|
});
|
||||||
} else if (def.kind === "get") {
|
} else if (def.kind === "get") {
|
||||||
descriptor = { get: def.value, configurable: true, enumerable: false };
|
descriptor = { get: def.value, configurable: true, enumerable: false };
|
||||||
} else if (def.kind === "set") {
|
} else if (def.kind === "set") {
|
||||||
@ -1254,7 +1260,7 @@ helpers.decorate = helper("7.1.5")`
|
|||||||
|
|
||||||
var element /*: ElementDescriptor */ = {
|
var element /*: ElementDescriptor */ = {
|
||||||
kind: def.kind === "field" ? "field" : "method",
|
kind: def.kind === "field" ? "field" : "method",
|
||||||
key: def.key,
|
key: key,
|
||||||
placement: def.static
|
placement: def.static
|
||||||
? "static"
|
? "static"
|
||||||
: def.kind === "field"
|
: def.kind === "field"
|
||||||
|
|||||||
8
packages/babel-plugin-proposal-decorators/test/fixtures/misc/method-name/exec.js
vendored
Normal file
8
packages/babel-plugin-proposal-decorators/test/fixtures/misc/method-name/exec.js
vendored
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
function decorator() {}
|
||||||
|
|
||||||
|
@decorator
|
||||||
|
class Foo {
|
||||||
|
method() {}
|
||||||
|
}
|
||||||
|
|
||||||
|
expect(Foo.prototype.method.name).toBe("method");
|
||||||
12
packages/babel-plugin-proposal-decorators/test/fixtures/misc/options.json
vendored
Normal file
12
packages/babel-plugin-proposal-decorators/test/fixtures/misc/options.json
vendored
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"plugins": [
|
||||||
|
["proposal-decorators", { "decoratorsBeforeExport": false }],
|
||||||
|
"proposal-class-properties",
|
||||||
|
[
|
||||||
|
"external-helpers",
|
||||||
|
{
|
||||||
|
"helperVersion": "7.1.5"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
16
packages/babel-plugin-proposal-decorators/test/fixtures/misc/to-primitive/exec.js
vendored
Normal file
16
packages/babel-plugin-proposal-decorators/test/fixtures/misc/to-primitive/exec.js
vendored
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
let calls = 0;
|
||||||
|
const baz = {
|
||||||
|
[Symbol.toPrimitive]() {
|
||||||
|
calls++;
|
||||||
|
return "baz";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function dec() {}
|
||||||
|
|
||||||
|
@dec
|
||||||
|
class A {
|
||||||
|
[baz]() {}
|
||||||
|
}
|
||||||
|
|
||||||
|
expect(calls).toBe(1);
|
||||||
Loading…
x
Reference in New Issue
Block a user