From 5b3e110821c5e50fb7b1fe1972a932bd00370565 Mon Sep 17 00:00:00 2001 From: Lorenzo Blasa Date: Mon, 21 Nov 2022 05:30:18 -0800 Subject: [PATCH] Remove Enumeration type Summary: Enumeration used to be a type containing a single property value of type string. The InspectableEnum is a type that had an Enumeration value and possible values. As we removed possible values from the enum value, this structure no longer serves its purpose. Reviewed By: antonk52 Differential Revision: D41400874 fbshipit-source-id: e5c2d1e15ee9b3074ddd69f75ee9b8150d44379f --- .../descriptors/props/ComponentPropExtractor.kt | 7 +++---- .../litho/descriptors/props/LayoutPropExtractor.kt | 14 +++++++------- .../plugins/uidebugger/common/EnumMapping.kt | 3 +-- .../plugins/uidebugger/model/Inspectable.kt | 4 +--- .../flipper/plugins/uidebugger/model/Types.kt | 2 -- .../flipper/plugins/uidebugger/EnumMappingTest.kt | 4 +--- .../sidebar/inspector/AttributesInspector.tsx | 2 +- .../plugins/public/ui-debugger/dataTransform.tsx | 3 +-- desktop/plugins/public/ui-debugger/types.tsx | 2 +- 9 files changed, 16 insertions(+), 25 deletions(-) diff --git a/android/plugins/litho/src/main/java/com/facebook/flipper/plugins/uidebugger/litho/descriptors/props/ComponentPropExtractor.kt b/android/plugins/litho/src/main/java/com/facebook/flipper/plugins/uidebugger/litho/descriptors/props/ComponentPropExtractor.kt index 421210d55..5cb18b9c3 100644 --- a/android/plugins/litho/src/main/java/com/facebook/flipper/plugins/uidebugger/litho/descriptors/props/ComponentPropExtractor.kt +++ b/android/plugins/litho/src/main/java/com/facebook/flipper/plugins/uidebugger/litho/descriptors/props/ComponentPropExtractor.kt @@ -137,8 +137,7 @@ object ComponentPropExtractor { return InspectableArray(0, values ?: listOf()) } - override fun isPick(pick: EditorPick?): Inspectable = - InspectableValue.Enum(Enumeration(pick?.selected)) + override fun isPick(pick: EditorPick): Inspectable = InspectableValue.Enum(pick.selected) override fun isNumber(number: EditorNumber): Inspectable = InspectableValue.Number(number.value) @@ -146,8 +145,8 @@ object ComponentPropExtractor { override fun isColor(number: EditorColor): Inspectable = InspectableValue.Color(number.value.toInt().let { Color.fromColor(it) }) - override fun isString(string: EditorString?): Inspectable = - InspectableValue.Text(string?.value ?: "") + override fun isString(string: EditorString): Inspectable = + InspectableValue.Text(string.value ?: "") override fun isBool(bool: EditorBool): Inspectable = InspectableValue.Boolean(bool.value) }) diff --git a/android/plugins/litho/src/main/java/com/facebook/flipper/plugins/uidebugger/litho/descriptors/props/LayoutPropExtractor.kt b/android/plugins/litho/src/main/java/com/facebook/flipper/plugins/uidebugger/litho/descriptors/props/LayoutPropExtractor.kt index fa4a256e9..602bbd019 100644 --- a/android/plugins/litho/src/main/java/com/facebook/flipper/plugins/uidebugger/litho/descriptors/props/LayoutPropExtractor.kt +++ b/android/plugins/litho/src/main/java/com/facebook/flipper/plugins/uidebugger/litho/descriptors/props/LayoutPropExtractor.kt @@ -324,26 +324,26 @@ object LayoutPropExtractor { val layout = component.layoutNode ?: return props - props[AlignItemsId] = InspectableValue.Enum(Enumeration(layout.alignItems.name)) - props[AlignSelfId] = InspectableValue.Enum(Enumeration(layout.alignSelf.name)) - props[AlignContentId] = InspectableValue.Enum(Enumeration(layout.alignContent.name)) + props[AlignItemsId] = InspectableValue.Enum(layout.alignItems.name) + props[AlignSelfId] = InspectableValue.Enum(layout.alignSelf.name) + props[AlignContentId] = InspectableValue.Enum(layout.alignContent.name) props[AspectRatioId] = InspectableValue.Text(layout.aspectRatio.toString()) layout.background?.let { drawable -> props[BackgroundId] = fromDrawable(drawable) } - props[DirectionId] = InspectableValue.Enum(Enumeration(layout.layoutDirection.name)) + props[DirectionId] = InspectableValue.Enum(layout.layoutDirection.name) props[FlexBasisId] = InspectableValue.Text(layout.flexBasis.toString()) - props[FlexDirectionId] = InspectableValue.Enum(Enumeration(layout.flexDirection.name)) + props[FlexDirectionId] = InspectableValue.Enum(layout.flexDirection.name) props[FlexGrowId] = InspectableValue.Text(layout.flexGrow.toString()) props[FlexShrinkId] = InspectableValue.Text(layout.flexShrink.toString()) layout.foreground?.let { drawable -> props[ForegroundId] = fromDrawable(drawable) } - props[JustifyContentId] = InspectableValue.Enum(Enumeration(layout.justifyContent.name)) + props[JustifyContentId] = InspectableValue.Enum(layout.justifyContent.name) - props[PositionTypeId] = InspectableValue.Enum(Enumeration(layout.positionType.name)) + props[PositionTypeId] = InspectableValue.Enum(layout.positionType.name) val size: MutableMap = mutableMapOf() size[WidthId] = InspectableValue.Text(layout.width.toString()) diff --git a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/common/EnumMapping.kt b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/common/EnumMapping.kt index a6e1666aa..12c685d8e 100644 --- a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/common/EnumMapping.kt +++ b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/common/EnumMapping.kt @@ -9,7 +9,6 @@ package com.facebook.flipper.plugins.uidebugger.common import android.util.Log import com.facebook.flipper.plugins.uidebugger.LogTag -import com.facebook.flipper.plugins.uidebugger.model.Enumeration import com.facebook.flipper.plugins.uidebugger.model.InspectableValue // Maintains 2 way mapping between some enum value and a readable string representation @@ -40,7 +39,7 @@ open class EnumMapping(private val mapping: Map) { } fun toInspectable(value: T): InspectableValue.Enum { - return InspectableValue.Enum(Enumeration(getStringRepresentation(value))) + return InspectableValue.Enum(getStringRepresentation(value)) } companion object { const val NoMapping = "__UNKNOWN_ENUM_VALUE__" diff --git a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/model/Inspectable.kt b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/model/Inspectable.kt index a4c511689..efcabee79 100644 --- a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/model/Inspectable.kt +++ b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/model/Inspectable.kt @@ -85,9 +85,7 @@ sealed class InspectableValue : Inspectable() { @SerialName("enum") @kotlinx.serialization.Serializable - data class Enum( - val value: com.facebook.flipper.plugins.uidebugger.model.Enumeration, - ) : InspectableValue() + data class Enum(val value: String) : InspectableValue() @SerialName("unknown") @kotlinx.serialization.Serializable diff --git a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/model/Types.kt b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/model/Types.kt index 03edf021e..fe5b87d06 100644 --- a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/model/Types.kt +++ b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/model/Types.kt @@ -62,5 +62,3 @@ data class Size( @Serializable(with = NumberSerializer::class) val width: Number, @Serializable(with = NumberSerializer::class) val height: Number ) {} - -@kotlinx.serialization.Serializable data class Enumeration(val value: String?) diff --git a/android/src/test/java/com/facebook/flipper/plugins/uidebugger/EnumMappingTest.kt b/android/src/test/java/com/facebook/flipper/plugins/uidebugger/EnumMappingTest.kt index 115cf36ae..226c6c671 100644 --- a/android/src/test/java/com/facebook/flipper/plugins/uidebugger/EnumMappingTest.kt +++ b/android/src/test/java/com/facebook/flipper/plugins/uidebugger/EnumMappingTest.kt @@ -9,7 +9,6 @@ package com.facebook.flipper.plugins.uidebugger import android.view.View import com.facebook.flipper.plugins.uidebugger.common.EnumMapping -import com.facebook.flipper.plugins.uidebugger.model.Enumeration import com.facebook.flipper.plugins.uidebugger.model.InspectableValue import org.hamcrest.CoreMatchers.* import org.hamcrest.MatcherAssert.assertThat @@ -38,7 +37,6 @@ class EnumMappingTest { @Test fun testTurnsIntoEnumInspectable() { - assertThat( - visibility.toInspectable(View.GONE), equalTo(InspectableValue.Enum(Enumeration("GONE")))) + assertThat(visibility.toInspectable(View.GONE), equalTo(InspectableValue.Enum("GONE"))) } } diff --git a/desktop/plugins/public/ui-debugger/components/sidebar/inspector/AttributesInspector.tsx b/desktop/plugins/public/ui-debugger/components/sidebar/inspector/AttributesInspector.tsx index e4bdd1c34..54a167189 100644 --- a/desktop/plugins/public/ui-debugger/components/sidebar/inspector/AttributesInspector.tsx +++ b/desktop/plugins/public/ui-debugger/components/sidebar/inspector/AttributesInspector.tsx @@ -102,7 +102,7 @@ function create( case 'enum': return ( - {inspectable.value.value} + {inspectable.value} ); case 'text': diff --git a/desktop/plugins/public/ui-debugger/dataTransform.tsx b/desktop/plugins/public/ui-debugger/dataTransform.tsx index daa865335..7836c8c22 100644 --- a/desktop/plugins/public/ui-debugger/dataTransform.tsx +++ b/desktop/plugins/public/ui-debugger/dataTransform.tsx @@ -22,10 +22,9 @@ function transformAny( case 'bounds': case 'coordinate': case 'coordinate3d': + case 'enum': case 'space': return inspectable.value; - case 'enum': - return inspectable.value.value; case 'object': return transformObject(metadata, inspectable); default: diff --git a/desktop/plugins/public/ui-debugger/types.tsx b/desktop/plugins/public/ui-debugger/types.tsx index 6307ca006..a1557c729 100644 --- a/desktop/plugins/public/ui-debugger/types.tsx +++ b/desktop/plugins/public/ui-debugger/types.tsx @@ -155,7 +155,7 @@ export type InspectableBoolean = { export type InspectableEnum = { type: 'enum'; - value: {value: string; values: string[]}; + value: string; }; export type InspectableColor = {