Skip to content

Commit 719f17b

Browse files
authored
fix: add legacy methods to own component shape (#2451)
see sveltejs/svelte#12666 for why we need this
1 parent fbff4ee commit 719f17b

File tree

8 files changed

+14
-8
lines changed

8 files changed

+14
-8
lines changed

packages/svelte2tsx/src/svelte2tsx/addComponentExport.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ function addSimpleComponentExport({
167167
statement =
168168
`\ninterface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
169169
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & { $$bindings?: Bindings } & Exports;
170-
(internal: unknown, props: ${!canHaveAnyProp && exportedNames.hasNoProps() ? '{$$events?: Events, $$slots?: Slots}' : 'Props & {$$events?: Events, $$slots?: Slots}'}): Exports;
170+
(internal: unknown, props: ${!canHaveAnyProp && exportedNames.hasNoProps() ? '{$$events?: Events, $$slots?: Slots}' : 'Props & {$$events?: Events, $$slots?: Slots}'}): Exports & { $set?: any, $on?: any };
171171
z_$$bindings?: Bindings;
172172
}\n` +
173173
(usesSlots

packages/svelte2tsx/svelte-shims-v4.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ declare function __sveltets_$$bindings<Bindings extends string[]>(...bindings: B
243243

244244
interface __sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
245245
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & { $$bindings?: Bindings } & Exports;
246-
(internal: unknown, props: Props extends Record<string, never> ? {$$events?: Events, $$slots?: Slots} : Props & {$$events?: Events, $$slots?: Slots}): Exports;
246+
(internal: unknown, props: Props extends Record<string, never> ? {$$events?: Events, $$slots?: Slots} : Props & {$$events?: Events, $$slots?: Slots}): Exports & { $set?: any, $on?: any };
247247
z_$$bindings?: Bindings;
248248
}
249249

packages/svelte2tsx/test/emitDts/samples/javascript-runes.v5/expected/TestRunes.svelte.d.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,10 @@ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> =
55
(internal: unknown, props: Props & {
66
$$events?: Events;
77
$$slots?: Slots;
8-
}): Exports;
8+
}): Exports & {
9+
$set?: any;
10+
$on?: any;
11+
};
912
z_$$bindings?: Bindings;
1013
}
1114
declare const TestRunes: $$__sveltets_2_IsomorphicComponent<{

packages/svelte2tsx/test/emitDts/samples/typescript-runes.v5/expected/TestRunes.svelte.d.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,10 @@ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> =
55
(internal: unknown, props: Props & {
66
$$events?: Events;
77
$$slots?: Slots;
8-
}): Exports;
8+
}): Exports & {
9+
$set?: any;
10+
$on?: any;
11+
};
912
z_$$bindings?: Bindings;
1013
}
1114
declare const TestRunes: $$__sveltets_2_IsomorphicComponent<{

packages/svelte2tsx/test/svelte2tsx/samples/creates-dts/expected-svelte5.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ return { props: {
2626
/** @type {boolean} */bar: bar , foobar: foobar}, exports: {}, bindings: "", slots: {'default': {bar:bar}}, events: {'click':__sveltets_2_mapElementEvent('click'), 'hi': __sveltets_2_customEvent} }}
2727
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
2828
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & { $$bindings?: Bindings } & Exports;
29-
(internal: unknown, props: Props & {$$events?: Events, $$slots?: Slots}): Exports;
29+
(internal: unknown, props: Props & {$$events?: Events, $$slots?: Slots}): Exports & { $set?: any, $on?: any };
3030
z_$$bindings?: Bindings;
3131
}
3232
type $$__sveltets_2_PropsWithChildren<Props, Slots> = Props &

packages/svelte2tsx/test/svelte2tsx/samples/creates-no-script-dts/expected-svelte5.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ async () => { { svelteHTML.createElement("button", { "on:click":undefined,}); {
88
return { props: /** @type {Record<string, never>} */ ({}), exports: {}, bindings: "", slots: {'default': {}}, events: {'click':__sveltets_2_mapElementEvent('click')} }}
99
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
1010
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & { $$bindings?: Bindings } & Exports;
11-
(internal: unknown, props: {$$events?: Events, $$slots?: Slots}): Exports;
11+
(internal: unknown, props: {$$events?: Events, $$slots?: Slots}): Exports & { $set?: any, $on?: any };
1212
z_$$bindings?: Bindings;
1313
}
1414
type $$__sveltets_2_PropsWithChildren<Props, Slots> = Props &

packages/svelte2tsx/test/svelte2tsx/samples/transforms-interfaces-dts/expected-svelte5.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ async () => {};
2424
return { props: {foo: foo , bar: bar}, exports: {}, bindings: "", slots: {}, events: {} }}
2525
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
2626
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & { $$bindings?: Bindings } & Exports;
27-
(internal: unknown, props: Props & {$$events?: Events, $$slots?: Slots}): Exports;
27+
(internal: unknown, props: Props & {$$events?: Events, $$slots?: Slots}): Exports & { $set?: any, $on?: any };
2828
z_$$bindings?: Bindings;
2929
}
3030

packages/svelte2tsx/test/svelte2tsx/samples/ts-creates-dts/expected-svelte5.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ async () => {
2525
return { props: {bar: bar , foobar: foobar} as {bar: Bar, foobar?: typeof foobar}, exports: {}, bindings: "", slots: {'default': {bar:bar}}, events: {...__sveltets_2_toEventTypings<{swipe: string}>(), 'click':__sveltets_2_mapElementEvent('click')} }}
2626
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
2727
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & { $$bindings?: Bindings } & Exports;
28-
(internal: unknown, props: Props & {$$events?: Events, $$slots?: Slots}): Exports;
28+
(internal: unknown, props: Props & {$$events?: Events, $$slots?: Slots}): Exports & { $set?: any, $on?: any };
2929
z_$$bindings?: Bindings;
3030
}
3131
type $$__sveltets_2_PropsWithChildren<Props, Slots> = Props &

0 commit comments

Comments
 (0)