From bf33397855095411d2759a0ffc251769866b0d97 Mon Sep 17 00:00:00 2001 From: Henrik Giesel Date: Thu, 8 Apr 2021 17:07:02 +0200 Subject: [PATCH] Give clearer type names to dynamicComponent --- ts/sveltelib/dynamicComponent.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/ts/sveltelib/dynamicComponent.ts b/ts/sveltelib/dynamicComponent.ts index 743f122aa..90f21a277 100644 --- a/ts/sveltelib/dynamicComponent.ts +++ b/ts/sveltelib/dynamicComponent.ts @@ -6,22 +6,22 @@ export interface DynamicSvelteComponent< component: T; } -export const dynamicComponent = (component: T) => < - U extends NonNullable[0]["props"]>, - V extends string = never +export const dynamicComponent = (component: Comp) => < + Props extends NonNullable[0]["props"]>, + Lazy extends string = never >( - props: Omit, - lazyProps: { [Property in keyof Pick]: () => Pick[Property] } -): DynamicSvelteComponent & U => { + props: Omit, + lazyProps: { [Property in keyof Pick]: () => Pick[Property] } +): DynamicSvelteComponent & Props => { const dynamicComponent = { component, ...props }; for (const property in lazyProps) { const get = lazyProps[property]; const propertyDescriptor: TypedPropertyDescriptor< - Pick[Extract, string>] + Pick[Extract, string>] > = { get, enumerable: true }; Object.defineProperty(dynamicComponent, property, propertyDescriptor); } - return dynamicComponent as DynamicSvelteComponent & U; + return dynamicComponent as DynamicSvelteComponent & Props; };