Skip to content

Commit d5077ff

Browse files
committed
Avoid to use delete operator
1 parent d9cfdf1 commit d5077ff

1 file changed

Lines changed: 19 additions & 5 deletions

File tree

  • packages/babel-parser/src/plugins/typescript

packages/babel-parser/src/plugins/typescript/index.js

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2379,6 +2379,8 @@ export default (superClass: Class<Parser>): Class<Parser> =>
23792379
member: any,
23802380
state: N.ParseClassMemberState,
23812381
): void {
2382+
const modified = {};
2383+
23822384
const invalidModifersForStaticBlocks = [
23832385
"declare",
23842386
"private",
@@ -2389,20 +2391,32 @@ export default (superClass: Class<Parser>): Class<Parser> =>
23892391
"readonly",
23902392
];
23912393
this.tsParseModifiers(
2392-
member,
2394+
modified,
23932395
invalidModifersForStaticBlocks.concat(["static"]),
23942396
);
23952397

2398+
for (const modifier of Object.keys(modified)) {
2399+
if (modifier === "accessibility") {
2400+
member.accessibility = modified[modifier];
2401+
} else if (modifier !== "static") {
2402+
member[modifier] = true;
2403+
}
2404+
}
2405+
23962406
const callParseClassMemberWithIsStatic = () => {
2397-
const isStatic = !!member.static;
2398-
if (isStatic && this.eat(tt.braceL)) {
2399-
delete member.static;
2407+
if (modified.static && this.eat(tt.braceL)) {
24002408
if (this.tsHasSomeModifiers(member, invalidModifersForStaticBlocks)) {
24012409
this.raise(this.state.pos, TSErrors.StaticBlockCannotHaveModifier);
24022410
}
24032411
this.parseClassStaticBlock(classBody, ((member: any): N.StaticBlock));
24042412
} else {
2405-
this.parseClassMemberWithIsStatic(classBody, member, state, isStatic);
2413+
member.static = modified.static;
2414+
this.parseClassMemberWithIsStatic(
2415+
classBody,
2416+
member,
2417+
state,
2418+
!!member.static,
2419+
);
24062420
}
24072421
};
24082422
if (member.declare) {

0 commit comments

Comments
 (0)