From 58a85aa4d44c8b90eff94640332f9d591f345e77 Mon Sep 17 00:00:00 2001 From: benjdlambert Date: Tue, 29 Jul 2025 13:57:11 +0200 Subject: [PATCH] chore: cleanup object types Signed-off-by: benjdlambert --- .../src/components/createComponentRef.tsx | 26 +++++++++---------- .../src/components/makeComponentFromRef.tsx | 6 ++--- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/packages/frontend-plugin-api/src/components/createComponentRef.tsx b/packages/frontend-plugin-api/src/components/createComponentRef.tsx index 3912b6bdad..ebf707fcca 100644 --- a/packages/frontend-plugin-api/src/components/createComponentRef.tsx +++ b/packages/frontend-plugin-api/src/components/createComponentRef.tsx @@ -18,8 +18,8 @@ import { OpaqueComponentRef } from '@internal/frontend'; /** @public */ export type ComponentRef< - TInnerComponentProps = {}, - TExternalComponentProps = TInnerComponentProps, + TInnerComponentProps extends {} = {}, + TExternalComponentProps extends {} = TInnerComponentProps, > = { id: string; TProps: TInnerComponentProps; @@ -28,8 +28,8 @@ export type ComponentRef< }; export interface ComponentRefOptions< - TInnerComponentProps extends object, - TExternalComponentProps extends object, + TInnerComponentProps extends {}, + TExternalComponentProps extends {}, TMode extends 'sync' | 'async', > { id: string; @@ -47,8 +47,8 @@ export interface ComponentRefOptions< * @public */ export function createComponentRef< - TInnerComponentProps extends object, - TExternalComponentProps extends object = TInnerComponentProps, + TInnerComponentProps extends {}, + TExternalComponentProps extends {} = TInnerComponentProps, >( options: ComponentRefOptions< TInnerComponentProps, @@ -62,8 +62,8 @@ export function createComponentRef< * @public */ export function createComponentRef< - TInnerComponentProps extends object, - TExternalComponentProps extends object = TInnerComponentProps, + TInnerComponentProps extends {}, + TExternalComponentProps extends {} = TInnerComponentProps, >( options: ComponentRefOptions< TInnerComponentProps, @@ -73,8 +73,8 @@ export function createComponentRef< ): ComponentRef; export function createComponentRef< - TInnerComponentProps extends object, - TExternalComponentProps extends object, + TInnerComponentProps extends {}, + TExternalComponentProps extends {}, >( options: ComponentRefOptions< TInnerComponentProps, @@ -84,8 +84,8 @@ export function createComponentRef< ): ComponentRef { return OpaqueComponentRef.createInstance('v1', { id: options.id, - TProps: {} as TInnerComponentProps, - TExternalProps: {} as TExternalComponentProps, + TProps: null as unknown as TInnerComponentProps, + TExternalProps: null as unknown as TExternalComponentProps, toString() { return `ComponentRef{id=${options.id}}`; }, @@ -93,6 +93,6 @@ export function createComponentRef< mode: options.mode, defaultComponent: options.defaultComponent, transformProps: options.transformProps, - }, + } as (typeof OpaqueComponentRef.TInternal)['options'], }); } diff --git a/packages/frontend-plugin-api/src/components/makeComponentFromRef.tsx b/packages/frontend-plugin-api/src/components/makeComponentFromRef.tsx index ef3ca0ac4b..3bf7cf69ad 100644 --- a/packages/frontend-plugin-api/src/components/makeComponentFromRef.tsx +++ b/packages/frontend-plugin-api/src/components/makeComponentFromRef.tsx @@ -16,11 +16,10 @@ import { lazy, Suspense } from 'react'; import { ComponentRef } from './createComponentRef'; import { OpaqueComponentRef } from '@internal/frontend'; -import { Progress } from '@backstage/core-components'; export function makeComponentFromRef< - InternalComponentProps extends object, - ExternalComponentProps extends object, + InternalComponentProps extends {}, + ExternalComponentProps extends {}, >({ ref, }: { @@ -52,6 +51,7 @@ export function makeComponentFromRef< ); return ( + // todo: is this necessary? can we remove this?