mirror of https://github.com/sveltejs/svelte
fix reference for namespaced component (#5256)
parent
582d08931c
commit
3e00514345
@ -0,0 +1,17 @@
|
|||||||
|
import { MemberExpression, Identifier } from "estree";
|
||||||
|
|
||||||
|
export function string_to_member_expression(name: string) {
|
||||||
|
const parts = name.split(".");
|
||||||
|
let node: MemberExpression | Identifier = {
|
||||||
|
type: "Identifier",
|
||||||
|
name: parts[0],
|
||||||
|
};
|
||||||
|
for (let i = 1; i < parts.length; i++) {
|
||||||
|
node = {
|
||||||
|
type: "MemberExpression",
|
||||||
|
object: node,
|
||||||
|
property: { type: "Identifier", name: parts[i] },
|
||||||
|
} as MemberExpression;
|
||||||
|
}
|
||||||
|
return node;
|
||||||
|
}
|
@ -0,0 +1 @@
|
|||||||
|
<p>i am a widget</p>
|
@ -0,0 +1,5 @@
|
|||||||
|
<script context="module">
|
||||||
|
import Tooltip from './Tooltip.svelte';
|
||||||
|
|
||||||
|
export const Widget = { Tooltip };
|
||||||
|
</script>
|
@ -0,0 +1,3 @@
|
|||||||
|
export default {
|
||||||
|
html: '<p>i am a widget</p>'
|
||||||
|
};
|
@ -0,0 +1,8 @@
|
|||||||
|
<script>
|
||||||
|
import { Widget } from './Widget.svelte';
|
||||||
|
let widgets = [Widget];
|
||||||
|
</script>
|
||||||
|
|
||||||
|
{#each widgets as LazyWidget}
|
||||||
|
<LazyWidget.Tooltip />
|
||||||
|
{/each}
|
Loading…
Reference in new issue