Skip to content

Commit 7bb2807

Browse files
committed
fix #4482
1 parent 20e0790 commit 7bb2807

File tree

5 files changed

+24
-23
lines changed

5 files changed

+24
-23
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
.idea
22
.DS_Store
33
.nyc_output
4+
yarn.lock
45
node_modules
56
*.map
67
/src/compiler/compile/internal_exports.ts

src/compiler/compile/Component.ts

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ export default class Component {
239239
const program: any = { type: 'Program', body: result.js };
240240

241241
walk(program, {
242-
enter: (node, parent, key) => {
242+
enter: (node: Node, parent: Node, key) => {
243243
if (node.type === 'Identifier') {
244244
if (node.name[0] === '@') {
245245
if (node.name[1] === '_') {
@@ -526,7 +526,7 @@ export default class Component {
526526
if (!script) return;
527527

528528
walk(script.content, {
529-
enter(node) {
529+
enter(node: Node) {
530530
if (node.type === 'LabeledStatement' && node.label.name === '$') {
531531
component.warn(node as any, {
532532
code: 'module-script-reactive-declaration',
@@ -715,7 +715,7 @@ export default class Component {
715715
let scope_updated = false;
716716

717717
walk(content, {
718-
enter(node, parent, prop, index) {
718+
enter(node: Node, parent, prop, index) {
719719
if (map.has(node)) {
720720
scope = map.get(node);
721721
}
@@ -741,7 +741,7 @@ export default class Component {
741741
component.warn_on_undefined_store_value_references(node, parent, scope);
742742
},
743743

744-
leave(node) {
744+
leave(node: Node) {
745745
// do it on leave, to prevent infinite loop
746746
if (component.compile_options.dev && component.compile_options.loopGuardTimeout > 0) {
747747
const to_replace_for_loop_protect = component.loop_protect(node, scope, component.compile_options.loopGuardTimeout);
@@ -785,7 +785,7 @@ export default class Component {
785785
let scope = instance_scope;
786786

787787
walk(content, {
788-
enter(node, parent) {
788+
enter(node: Node, parent: Node) {
789789
if (map.has(node)) {
790790
scope = map.get(node);
791791
}
@@ -813,7 +813,7 @@ export default class Component {
813813
}
814814
},
815815

816-
leave(node) {
816+
leave(node: Node) {
817817
if (map.has(node)) {
818818
scope = scope.parent;
819819
}
@@ -881,7 +881,7 @@ export default class Component {
881881
let scope = instance_scope;
882882

883883
walk(this.ast.instance.content, {
884-
enter(node, parent, key, index) {
884+
enter(node: Node, parent, key, index) {
885885
if (/Function/.test(node.type)) {
886886
return this.skip();
887887
}
@@ -958,7 +958,7 @@ export default class Component {
958958
}
959959
},
960960

961-
leave(node, parent, _key, index) {
961+
leave(node: Node, parent, _key, index) {
962962
if (map.has(node)) {
963963
scope = scope.parent;
964964
}
@@ -1059,7 +1059,7 @@ export default class Component {
10591059
walking.add(fn_declaration);
10601060

10611061
walk(fn_declaration, {
1062-
enter(node, parent) {
1062+
enter(node: Node, parent) {
10631063
if (!hoistable) return this.skip();
10641064

10651065
if (map.has(node)) {
@@ -1107,7 +1107,7 @@ export default class Component {
11071107
}
11081108
},
11091109

1110-
leave(node) {
1110+
leave(node: Node) {
11111111
if (map.has(node)) {
11121112
scope = scope.parent;
11131113
}
@@ -1150,7 +1150,7 @@ export default class Component {
11501150
const map = this.instance_scope_map;
11511151

11521152
walk(node.body, {
1153-
enter(node, parent) {
1153+
enter(node: Node, parent) {
11541154
if (map.has(node)) {
11551155
scope = map.get(node);
11561156
}
@@ -1190,7 +1190,7 @@ export default class Component {
11901190
}
11911191
},
11921192

1193-
leave(node) {
1193+
leave(node: Node) {
11941194
if (map.has(node)) {
11951195
scope = scope.parent;
11961196
}
@@ -1450,4 +1450,4 @@ function get_relative_path(from: string, to: string) {
14501450
}
14511451

14521452
return from_parts.concat(to_parts).join('/');
1453-
}
1453+
}

src/compiler/compile/nodes/Let.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import Node from './shared/Node';
22
import Component from '../Component';
33
import { walk } from 'estree-walker';
4-
import { Identifier } from 'estree';
4+
import { BasePattern, Identifier } from 'estree';
55

66
const applicable = new Set(['Identifier', 'ObjectExpression', 'ArrayExpression', 'Property']);
77

@@ -22,7 +22,7 @@ export default class Let extends Node {
2222
this.value = info.expression;
2323

2424
walk(info.expression, {
25-
enter(node) {
25+
enter(node: Identifier|BasePattern) {
2626
if (!applicable.has(node.type)) {
2727
component.error(node as any, {
2828
code: 'invalid-let',
@@ -31,21 +31,21 @@ export default class Let extends Node {
3131
}
3232

3333
if (node.type === 'Identifier') {
34-
names.push(node.name);
34+
names.push((node as Identifier).name);
3535
}
3636

3737
// slightly unfortunate hack
3838
if (node.type === 'ArrayExpression') {
39-
(node as any).type = 'ArrayPattern';
39+
node.type = 'ArrayPattern';
4040
}
4141

4242
if (node.type === 'ObjectExpression') {
43-
(node as any).type = 'ObjectPattern';
43+
node.type = 'ObjectPattern';
4444
}
4545
}
4646
});
4747
} else {
4848
names.push(this.name.name);
4949
}
5050
}
51-
}
51+
}

src/compiler/compile/nodes/shared/Expression.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ export default class Expression {
143143
}
144144
},
145145

146-
leave(node) {
146+
leave(node: Node) {
147147
if (map.has(node)) {
148148
scope = scope.parent;
149149
}
@@ -338,7 +338,7 @@ export default class Expression {
338338
});
339339
}
340340

341-
return (this.manipulated = node);
341+
return (this.manipulated = node as Node);
342342
}
343343
}
344344

src/compiler/compile/render_dom/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ export default function dom(
200200
let execution_context: Node | null = null;
201201

202202
walk(component.ast.instance.content, {
203-
enter(node) {
203+
enter(node: Node) {
204204
if (map.has(node)) {
205205
scope = map.get(node) as Scope;
206206

@@ -212,7 +212,7 @@ export default function dom(
212212
}
213213
},
214214

215-
leave(node) {
215+
leave(node: Node) {
216216
if (map.has(node)) {
217217
scope = scope.parent;
218218
}

0 commit comments

Comments
 (0)