From cc4f4df4f95b57fa0633fe2fb881059e64dba288 Mon Sep 17 00:00:00 2001 From: Lucien Greathouse Date: Sat, 16 Jan 2021 18:26:30 -0700 Subject: [PATCH] Support changing ClassName in Reconciler.diff --- plugin/src/Reconciler/diff.lua | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/plugin/src/Reconciler/diff.lua b/plugin/src/Reconciler/diff.lua index 67c8c161..d146b308 100644 --- a/plugin/src/Reconciler/diff.lua +++ b/plugin/src/Reconciler/diff.lua @@ -52,8 +52,9 @@ local function diff(instanceMap, virtualInstances, rootId) invariant("Cannot diff an instance not present in InstanceMap\nID: {}", id) end + local changedClassName = nil if virtualInstance.ClassName ~= instance.ClassName then - error("unimplemented: support changing ClassName") + changedClassName = virtualInstance.ClassName end local changedName = nil @@ -89,11 +90,11 @@ local function diff(instanceMap, virtualInstances, rootId) end end - if changedName ~= nil or not isEmpty(changedProperties) then + if changedName ~= nil or changedClassName ~= nil or not isEmpty(changedProperties) then table.insert(patch.updated, { id = id, changedName = changedName, - changedClassName = nil, + changedClassName = changedClassName, changedProperties = changedProperties, changedMetadata = nil, })