From 245190f4f964b4335255e1a9f5b9d0c96a20c0ea Mon Sep 17 00:00:00 2001 From: Pablo Alba Date: Wed, 22 Oct 2025 21:36:55 +0200 Subject: [PATCH] :bug: Fix variant validation when nil --- common/src/app/common/files/validate.cljc | 30 ++++++++++++----------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/common/src/app/common/files/validate.cljc b/common/src/app/common/files/validate.cljc index 542652bf04..44a98ee8f8 100644 --- a/common/src/app/common/files/validate.cljc +++ b/common/src/app/common/files/validate.cljc @@ -438,19 +438,20 @@ children (map #(ctst/get-shape page %) shapes) prop-names (cfv/extract-properties-names (first children) (:data file))] (doseq [child children] - (if (not (ctk/is-variant? child)) - (report-error :not-a-variant - (str/ffmt "Shape % should be a variant" (:id child)) - child file page) - (do - (when (not= (:variant-id child) shape-id) - (report-error :invalid-variant-id - (str/ffmt "Variant % has invalid variant-id %" (:id child) (:variant-id child)) - child file page)) - (when (not= prop-names (cfv/extract-properties-names child (:data file))) - (report-error :invalid-variant-properties - (str/ffmt "Variant % has invalid properties %" (:id child) (vec prop-names)) - child file page))))))) + (when child + (if (not (ctk/is-variant? child)) + (report-error :not-a-variant + (str/ffmt "Shape % should be a variant" (:id child)) + child file page) + (do + (when (not= (:variant-id child) shape-id) + (report-error :invalid-variant-id + (str/ffmt "Variant % has invalid variant-id %" (:id child) (:variant-id child)) + child file page)) + (when (not= prop-names (cfv/extract-properties-names child (:data file))) + (report-error :invalid-variant-properties + (str/ffmt "Variant % has invalid properties %" (:id child) (vec prop-names)) + child file page)))))))) (defn- check-variant "Shape is a variant, so @@ -599,7 +600,8 @@ main-component (if (:deleted component) (dm/get-in component [:objects (:main-instance-id component)]) (ctst/get-shape component-page (:main-instance-id component)))] - (when-not (ctk/is-variant? main-component) + (when (and main-component + (not (ctk/is-variant? main-component))) (report-error :not-a-variant (str/ffmt "Shape % should be a variant" (:id main-component)) main-component file component-page))))