From d904221fe54506051c89961ea4fee0c99aab0283 Mon Sep 17 00:00:00 2001 From: Hubert Bieszczad Date: Wed, 29 Jan 2025 13:22:35 +0100 Subject: [PATCH] fix: copy displayName and name manually --- src/utils.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/utils.ts b/src/utils.ts index 9b8ac546..e8e0c126 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -26,15 +26,18 @@ export const deepMergeObjects = >(...sources: } export const copyComponentProperties = (Component: any, UnistylesComponent: any) => { - Object.entries(Object.getOwnPropertyDescriptors(Component)).forEach(([key, propertyDescriptor]) => { + Object.entries(Component).forEach(([key, value]) => { // Filter out the keys we don't want to copy if (['$$typeof', 'render'].includes(key)) { return } - // @ts-expect-error Copy extra component properties - example: Image.getSize, Image.displayName - UnistylesComponent[key] = propertyDescriptor.value ?? propertyDescriptor.get() + UnistylesComponent[key] = value }) + // Those are not enumerable, so we need to copy them manually + UnistylesComponent.displayName = Component.displayName + UnistylesComponent.name = Component.name + return UnistylesComponent }