From ae4c0a5be2d592ebfc59211f2c96d53a535feb18 Mon Sep 17 00:00:00 2001 From: Andrew Morris Date: Fri, 30 Jun 2023 09:36:36 +1000 Subject: [PATCH] Don't extract empty arrays and objects --- .../src/optimization/extract_constants.rs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/valuescript_compiler/src/optimization/extract_constants.rs b/valuescript_compiler/src/optimization/extract_constants.rs index f29de35..2ef7dae 100644 --- a/valuescript_compiler/src/optimization/extract_constants.rs +++ b/valuescript_compiler/src/optimization/extract_constants.rs @@ -71,17 +71,18 @@ fn should_extract_value_as_constant(value: &Value) -> Option { } } Value::Array(array) => { - if array.values.iter().all(is_constant) { + if array.values.len() >= 1 && array.values.iter().all(is_constant) { Some("array".to_string()) } else { None } } Value::Object(object) => { - if object - .properties - .iter() - .all(|(k, v)| is_constant(k) && is_constant(v)) + if object.properties.len() >= 1 + && object + .properties + .iter() + .all(|(k, v)| is_constant(k) && is_constant(v)) { Some("object".to_string()) } else {