From 287e58f7533b5e63cc6596e493cf21510dc70ea3 Mon Sep 17 00:00:00 2001 From: nbe Date: Sat, 12 Nov 2022 03:42:41 +0300 Subject: [PATCH] [svelte] add types to renderComponent --- package.json | 4 ++-- packages/svelte-table/package.json | 2 +- packages/svelte-table/src/render-component.ts | 19 +++++++++++++++++-- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 77be24f1cc..c3ba09408a 100644 --- a/package.json +++ b/package.json @@ -93,14 +93,14 @@ "react": "^17.0.2", "react-dom": "^17.0.2", "rollup": "^2.70.2", + "rollup-plugin-dts": "^4.2.2", "rollup-plugin-size": "^0.2.2", "rollup-plugin-svelte": "^7.1.0", "rollup-plugin-terser": "^7.0.2", "rollup-plugin-visualizer": "^5.6.0", - "rollup-plugin-dts": "^4.2.2", "solid-js": "^1.3.15", "stream-to-array": "^2.3.0", - "svelte": "^3.48.0", + "svelte": "^3.49.0", "ts-node": "^10.7.0", "typescript": "^4.7.4", "vue": "^3.2.33" diff --git a/packages/svelte-table/package.json b/packages/svelte-table/package.json index aa843894c8..21fe35bf71 100644 --- a/packages/svelte-table/package.json +++ b/packages/svelte-table/package.json @@ -37,6 +37,6 @@ "@tanstack/table-core": "8.5.22" }, "peerDependencies": { - "svelte": "^3.48.0" + "svelte": "^3.49.0" } } diff --git a/packages/svelte-table/src/render-component.ts b/packages/svelte-table/src/render-component.ts index 5518d933e5..5a7ef91d72 100644 --- a/packages/svelte-table/src/render-component.ts +++ b/packages/svelte-table/src/render-component.ts @@ -12,6 +12,11 @@ import { create_ssr_component, validate_component, } from 'svelte/internal' +import type { + ComponentProps, + ComponentType, + SvelteComponentTyped, +} from 'svelte' function create_fragment(ctx: any, Comp: any, props: any) { let c: any @@ -46,7 +51,12 @@ function create_fragment(ctx: any, Comp: any, props: any) { } } -function renderClient(Comp: any, props: any): any { +function renderClient( + Comp: ComponentType, + ...props: Record extends ComponentProps + ? [] + : [ComponentProps] +): any { return class WrapperComp extends SvelteComponent { constructor(options: any) { super() @@ -63,7 +73,12 @@ function renderClient(Comp: any, props: any): any { } } -function renderServer(Comp: any, props: any) { +function renderServer( + Comp: ComponentType, + ...props: Record extends ComponentProps + ? [] + : [ComponentProps] +): any { const WrapperComp = create_ssr_component( ($$result: any, $$props: any, $$bindings: any, slots: any) => { return `${validate_component(Comp, 'TableComponent').$$render(