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(
|
||||
def /*: ElementDefinition */,
|
||||
) /*: ElementDescriptor */ {
|
||||
var key = toPropertyKey(def.key);
|
||||
|
||||
var descriptor /*: PropertyDescriptor */;
|
||||
if (def.kind === "method") {
|
||||
descriptor = {
|
||||
@ -1244,6 +1246,10 @@ helpers.decorate = helper("7.1.5")`
|
||||
configurable: true,
|
||||
enumerable: false,
|
||||
};
|
||||
Object.defineProperty(def.value, "name", {
|
||||
value: typeof key === "symbol" ? "" : key,
|
||||
configurable: true,
|
||||
});
|
||||
} else if (def.kind === "get") {
|
||||
descriptor = { get: def.value, configurable: true, enumerable: false };
|
||||
} else if (def.kind === "set") {
|
||||
@ -1254,7 +1260,7 @@ helpers.decorate = helper("7.1.5")`
|
||||
|
||||
var element /*: ElementDescriptor */ = {
|
||||
kind: def.kind === "field" ? "field" : "method",
|
||||
key: def.key,
|
||||
key: key,
|
||||
placement: def.static
|
||||
? "static"
|
||||
: 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