Skip to content

File tree

1 file changed

+18
-1
lines changed

1 file changed

+18
-1
lines changed

crates/oxc_linter/src/rules/vue/no_required_prop_with_default.rs

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,10 @@ fn handle_type_argument(ctx: &LintContext, ts_type: &TSType, key_hash: &FxHashSe
278278
if !reference.is_type() {
279279
return;
280280
}
281-
let reference_node = ctx.symbol_declaration(reference.symbol_id().unwrap());
281+
let Some(symbol_id) = reference.symbol_id() else {
282+
return;
283+
};
284+
let reference_node = ctx.symbol_declaration(symbol_id);
282285
let AstKind::TSInterfaceDeclaration(interface_decl) = reference_node.kind() else {
283286
return;
284287
};
@@ -624,6 +627,20 @@ fn test() {
624627
None,
625628
Some(PathBuf::from("test.vue")),
626629
),
630+
(
631+
" <script lang='ts'>
632+
export interface ComponentProps {
633+
name?: string;
634+
}
635+
</script>
636+
<script setup lang='ts'>
637+
const {name='Hello'} = defineProps<ComponentProps>()
638+
</script>
639+
",
640+
None,
641+
None,
642+
Some(PathBuf::from("test.vue")),
643+
),
627644
];
628645

629646
let fail = vec![

0 commit comments

Comments
 (0)