Skip to content

Commit 8e3c8b5

Browse files
authored
wrap template with callback (#314)
1 parent ba5f8c0 commit 8e3c8b5

File tree

48 files changed

+79
-72
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+79
-72
lines changed

packages/svelte2tsx/src/svelte2tsx.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -923,7 +923,8 @@ function createRenderFunction({
923923
str.overwrite(scriptTag.start + 1, scriptTagEnd, `function render() {${propsDecl}\n`);
924924

925925
const scriptEndTagStart = htmlx.lastIndexOf('<', scriptTag.end - 1);
926-
str.overwrite(scriptEndTagStart, scriptTag.end, ';\n<>', {
926+
// wrap template with callback
927+
str.overwrite(scriptEndTagStart, scriptTag.end, ';\n() => (<>', {
927928
contentOnly: true,
928929
});
929930
} else {
@@ -947,6 +948,12 @@ function createRenderFunction({
947948
isTsFile
948949
)}, slots: ${slotsAsDef}, getters: ${createRenderFunctionGetterStr(getters)}` +
949950
`, events: ${eventMapToString(events)} }}`;
951+
952+
// wrap template with callback
953+
if (scriptTag) {
954+
str.append(');');
955+
}
956+
950957
str.append(returnString);
951958
}
952959

packages/svelte2tsx/test/sourcemaps/let.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
let selected = __sveltets_invalidate(() => lookup.get(slug));
44
;
5-
<>
6-
</>
5+
() => (<>
6+
</>);
77
return { props: {}, slots: {}, getters: {}, events: {} }}
88

99
export default class {

packages/svelte2tsx/test/sourcemaps/repl.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@
112112
});
113113
}
114114
;
115-
<>
115+
() => (<>
116116

117117

118118

@@ -176,7 +176,7 @@
176176
<ScreenToggle offset={offset} labels={['tutorial', 'input', 'output']}/>
177177
</>}}}
178178
</div>
179-
</>
179+
</>);
180180
return { props: {slug: slug , chapter: chapter}, slots: {}, getters: {}, events: {} }}
181181

182182
export default class {

packages/svelte2tsx/test/svelte2tsx/samples/array-binding-export/expected.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
let [a,b,c] = [1,2,3];
44
;
5-
<></>
5+
() => (<></>);
66
return { props: {a: a , b: b , c: c}, slots: {}, getters: {}, events: {} }}
77

88
export default class Input__SvelteComponent_ {

packages/svelte2tsx/test/svelte2tsx/samples/ast-offset-none/expected.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<></>;function render() {
22
__sveltets_store_get(var);
3-
<></>
3+
() => (<></>);
44
return { props: {}, slots: {}, getters: {}, events: {} }}
55

66
export default class Input__SvelteComponent_ {

packages/svelte2tsx/test/svelte2tsx/samples/ast-offset-some/expected.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<></>;function render() {
22
__sveltets_store_get(var);
3-
<></>
3+
() => (<></>);
44
return { props: {}, slots: {}, getters: {}, events: {} }}
55

66
export default class Input__SvelteComponent_ {

packages/svelte2tsx/test/svelte2tsx/samples/await-with-$store/expected.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@ function render() {
55

66
const store = readable(Promise.resolve('test'), () => {});
77
;
8-
<>
8+
() => (<>
99

1010
{() => {let _$$p = (__sveltets_store_get(store)); <>
1111
<p>loading</p>
1212
</>; _$$p.then((data) => {<>
1313
{data}
14-
</>})}}</>
14+
</>})}}</>);
1515
return { props: {}, slots: {}, getters: {}, events: {} }}
1616

1717
export default class Input__SvelteComponent_ {

packages/svelte2tsx/test/svelte2tsx/samples/circle-drawer-example/expected.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@
5757
return circles.map(({ cx, cy, r }) => ({ cx, cy, r }));
5858
}
5959
;
60-
<>
60+
() => (<>
6161

6262

6363

@@ -86,7 +86,7 @@
8686
<p>adjust diameter of circle at {selected.cx}, {selected.cy}</p>
8787
<input type="range" value={selected.r} oninput={adjust}/>
8888
</div>
89-
</>}}}</>
89+
</>}}}</>);
9090
return { props: {}, slots: {}, getters: {}, events: {} }}
9191

9292
export default class Input__SvelteComponent_ {

packages/svelte2tsx/test/svelte2tsx/samples/component-default-slot/expected.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
let b = 7;
44
;
5-
<>
5+
() => (<>
66
<div>
77
<slot a={b}>Hello</slot>
8-
</div></>
8+
</div></>);
99
return { props: {}, slots: {default: {a:b}}, getters: {}, events: {} }}
1010

1111
export default class Input__SvelteComponent_ {

packages/svelte2tsx/test/svelte2tsx/samples/component-multiple-slots/expected.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44
let d = 5;
55
let e = 5;
66
;
7-
<>
7+
() => (<>
88
<div>
99
<slot a={b}>Hello</slot>
1010
<slot name="test" c={d} e={e}></slot>
11-
</div></>
11+
</div></>);
1212
return { props: {}, slots: {default: {a:b}, test: {c:d, e:e}}, getters: {}, events: {} }}
1313

1414
export default class Input__SvelteComponent_ {

0 commit comments

Comments
 (0)