Skip to content

Commit 739bfae

Browse files
authored
[chore] add missing types to compiler/compile/render_dom functions and variables (#7777)
* add missing types to `compiler/compile/render_dom` functions and variables * add `DetachingOrNull` * fis `is_head`
1 parent 0eba571 commit 739bfae

File tree

20 files changed

+59
-57
lines changed

20 files changed

+59
-57
lines changed

src/compiler/compile/render_dom/Renderer.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ export default class Renderer {
168168
return member;
169169
}
170170

171-
invalidate(name: string, value?, main_execution_context: boolean = false) {
171+
invalidate(name: string, value?: unknown, main_execution_context: boolean = false) {
172172
return renderer_invalidate(this, name, value, main_execution_context);
173173
}
174174

src/compiler/compile/render_dom/index.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ export default function dom(
8383
}
8484

8585
const uses_slots = component.var_lookup.has('$$slots');
86-
let compute_slots;
86+
let compute_slots: Node[] | undefined;
8787
if (uses_slots) {
8888
compute_slots = b`
8989
const $$slots = @compute_slots(#slots);
@@ -396,7 +396,7 @@ export default function dom(
396396

397397
if (has_definition) {
398398
const reactive_declarations: (Node | Node[]) = [];
399-
const fixed_reactive_declarations = []; // not really 'reactive' but whatever
399+
const fixed_reactive_declarations: Node[] = []; // not really 'reactive' but whatever
400400

401401
component.reactive_declarations.forEach(d => {
402402
const dependencies = Array.from(d.dependencies);
@@ -441,7 +441,7 @@ export default function dom(
441441
return b`let ${$name};`;
442442
});
443443

444-
let unknown_props_check;
444+
let unknown_props_check: Node[] | undefined;
445445
if (component.compile_options.dev && !(uses_props || uses_rest)) {
446446
unknown_props_check = b`
447447
const writable_props = [${writable_props.map(prop => x`'${prop.export_name}'`)}];

src/compiler/compile/render_dom/invalidate.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ export function invalidate(renderer: Renderer, scope: Scope, node: Node, names:
8080
return invalidate;
8181
}
8282

83-
export function renderer_invalidate(renderer: Renderer, name: string, value?, main_execution_context: boolean = false) {
83+
export function renderer_invalidate(renderer: Renderer, name: string, value?: unknown, main_execution_context: boolean = false) {
8484
const variable = renderer.component.var_lookup.get(name);
8585

8686
if (variable && (variable.subscribable && (variable.reassigned || variable.export_name))) {

src/compiler/compile/render_dom/wrappers/EachBlock.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -582,7 +582,7 @@ export default class EachBlockWrapper extends Wrapper {
582582

583583
const start = this.block.has_update_method ? 0 : '#old_length';
584584

585-
let remove_old_blocks;
585+
let remove_old_blocks: Node[];
586586

587587
if (this.block.has_outros) {
588588
const out = block.get_unique_name('out');

src/compiler/compile/render_dom/wrappers/Element/Attribute.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ export default class AttributeWrapper extends BaseAttributeWrapper {
130130
const dependencies = this.get_dependencies();
131131
const value = this.get_value(block);
132132

133-
let updater;
133+
let updater: Node[];
134134
const init = this.get_init(block, value);
135135

136136
if (is_legacy_input_type) {
@@ -258,7 +258,7 @@ export default class AttributeWrapper extends BaseAttributeWrapper {
258258
return metadata;
259259
}
260260

261-
get_value(block) {
261+
get_value(block: Block) {
262262
if (this.node.is_true) {
263263
if (this.metadata && boolean_attributes.has(this.metadata.property_name.toLowerCase())) {
264264
return x`true`;
@@ -287,7 +287,7 @@ export default class AttributeWrapper extends BaseAttributeWrapper {
287287
return value;
288288
}
289289

290-
get_class_name_text(block) {
290+
get_class_name_text(block: Block) {
291291
const scoped_css = this.node.chunks.some((chunk: Text) => chunk.synthetic);
292292
const rendered = this.render_chunks(block);
293293

src/compiler/compile/render_dom/wrappers/Element/Binding.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -299,8 +299,8 @@ function get_binding_group(renderer: Renderer, value: Binding, block: Block) {
299299

300300
for (const dep of contextual_dependencies) {
301301
const context = block.bindings.get(dep);
302-
let key;
303-
let name;
302+
let key: string;
303+
let name: string;
304304
if (context) {
305305
key = context.object.name;
306306
name = context.property.name;
@@ -364,7 +364,7 @@ function get_event_handler(
364364
const contextual_dependencies = new Set<string>(binding.node.expression.contextual_dependencies);
365365

366366
const context = block.bindings.get(name);
367-
let set_store;
367+
let set_store: Node[] | undefined;
368368

369369
if (context) {
370370
const { object, property, store, snippet } = context;

src/compiler/compile/render_dom/wrappers/Element/EventHandler.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ export default class EventHandlerWrapper {
2626
}
2727
}
2828

29-
get_snippet(block) {
29+
get_snippet(block: Block) {
3030
const snippet = this.node.expression ? this.node.expression.manipulate(block) : block.renderer.reference(this.node.handler_name);
3131

3232
if (this.node.reassigned) {

src/compiler/compile/render_dom/wrappers/Element/fix_attribute_casing.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ svg_attributes.forEach(name => {
66
svg_attribute_lookup.set(name.toLowerCase(), name);
77
});
88

9-
export default function fix_attribute_casing(name) {
9+
export default function fix_attribute_casing(name: string) {
1010
name = name.toLowerCase();
1111
return svg_attribute_lookup.get(name) || name;
1212
}

src/compiler/compile/render_dom/wrappers/Element/index.ts

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import { add_event_handler } from '../shared/add_event_handlers';
1919
import { add_action } from '../shared/add_actions';
2020
import bind_this from '../shared/bind_this';
2121
import { is_head } from '../shared/is_head';
22-
import { Identifier, ExpressionStatement, CallExpression } from 'estree';
22+
import { Identifier, ExpressionStatement, CallExpression, Node } from 'estree';
2323
import EventHandler from './EventHandler';
2424
import { extract_names } from 'periscopic';
2525
import Action from '../../../nodes/Action';
@@ -534,7 +534,7 @@ export default class ElementWrapper extends Wrapper {
534534
.filter((attr) => !(attr instanceof SpreadAttributeWrapper) && !attr.property_name)
535535
.map((attr) => p`${(attr as StyleAttributeWrapper | AttributeWrapper).name}: true`);
536536

537-
let reference;
537+
let reference: string | ReturnType<typeof x>;
538538
if (this.node.tag_expr.node.type === 'Literal') {
539539
if (this.node.namespace) {
540540
reference = `"${this.node.tag_expr.node.value}"`;
@@ -634,7 +634,7 @@ export default class ElementWrapper extends Wrapper {
634634
// media bindings — awkward special case. The native timeupdate events
635635
// fire too infrequently, so we need to take matters into our
636636
// own hands
637-
let animation_frame;
637+
let animation_frame: Identifier | undefined;
638638
if (binding_group.events[0] === 'timeupdate') {
639639
animation_frame = block.get_unique_name(`${this.var.name}_animationframe`);
640640
block.add_variable(animation_frame);
@@ -874,9 +874,7 @@ export default class ElementWrapper extends Wrapper {
874874
}
875875
}
876876

877-
add_transitions(
878-
block: Block
879-
) {
877+
add_transitions(block: Block) {
880878
const { intro, outro } = this.node;
881879
if (!intro && !outro) return;
882880

@@ -933,7 +931,7 @@ export default class ElementWrapper extends Wrapper {
933931

934932
const fn = this.renderer.reference(intro.name);
935933

936-
let intro_block;
934+
let intro_block: Node[];
937935

938936
if (outro) {
939937
intro_block = b`
@@ -1032,7 +1030,7 @@ export default class ElementWrapper extends Wrapper {
10321030
${outro && b`@add_transform(${this.var}, ${rect});`}
10331031
`);
10341032

1035-
let params;
1033+
let params: Node | ReturnType<typeof x>;
10361034
if (this.node.animation.expression) {
10371035
params = this.node.animation.expression.manipulate(block);
10381036

@@ -1060,8 +1058,8 @@ export default class ElementWrapper extends Wrapper {
10601058
const has_spread = this.node.attributes.some(attr => attr.is_spread);
10611059
this.node.classes.forEach(class_directive => {
10621060
const { expression, name } = class_directive;
1063-
let snippet;
1064-
let dependencies;
1061+
let snippet: Node | string;
1062+
let dependencies: Set<string>;
10651063
if (expression) {
10661064
snippet = expression.manipulate(block);
10671065
dependencies = expression.dependencies;
@@ -1105,7 +1103,7 @@ export default class ElementWrapper extends Wrapper {
11051103
const { name, expression, should_cache } = style_directive;
11061104

11071105
const snippet = expression.manipulate(block);
1108-
let cached_snippet;
1106+
let cached_snippet: Identifier | undefined;
11091107
if (should_cache) {
11101108
cached_snippet = block.get_unique_name(`style_${name.replace(regex_minus_signs, '_')}`);
11111109
block.add_variable(cached_snippet, snippet);
@@ -1136,7 +1134,7 @@ export default class ElementWrapper extends Wrapper {
11361134
});
11371135
}
11381136

1139-
add_manual_style_scoping(block) {
1137+
add_manual_style_scoping(block: Block) {
11401138
if (this.node.needs_manual_style_scoping) {
11411139
const updater = b`@toggle_class(${this.var}, "${this.node.component.stylesheet.id}", true);`;
11421140
block.chunks.hydrate.push(updater);
@@ -1151,7 +1149,7 @@ const regex_dollar_signs = /\$/g;
11511149
function to_html(wrappers: Array<ElementWrapper | TextWrapper | MustacheTagWrapper | RawMustacheTagWrapper>, block: Block, literal: any, state: any, can_use_raw_text?: boolean) {
11521150
wrappers.forEach(wrapper => {
11531151
if (wrapper instanceof TextWrapper) {
1154-
// Don't add the <pre>/<textare> newline logic here because pre/textarea.innerHTML
1152+
// Don't add the <pre>/<textarea> newline logic here because pre/textarea.innerHTML
11551153
// would keep the leading newline, too, only someParent.innerHTML = '..<pre/textarea>..' won't
11561154

11571155
if ((wrapper as TextWrapper).use_space()) state.quasi.value.raw += ' ';

src/compiler/compile/render_dom/wrappers/Fragment.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ export default class FragmentWrapper {
6565
this.nodes = [];
6666

6767
let last_child: Wrapper;
68-
let window_wrapper;
68+
let window_wrapper: Window | undefined;
6969

7070
let i = nodes.length;
7171
while (i--) {

0 commit comments

Comments
 (0)