From ff9c2be1fa339b57067107038f4839d633addd1c Mon Sep 17 00:00:00 2001 From: Lance Date: Tue, 25 Nov 2025 12:23:20 -0800 Subject: [PATCH 1/2] Update docs about reverseConvert --- scripting/protocols/converter-scripts.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripting/protocols/converter-scripts.mdx b/scripting/protocols/converter-scripts.mdx index f5f32684..859d7b0e 100644 --- a/scripting/protocols/converter-scripts.mdx +++ b/scripting/protocols/converter-scripts.mdx @@ -32,7 +32,7 @@ function init(self: MyConverter): boolean return true end --- Converts the bound property value from source to target. +-- Converts the property value. function convert(self: MyConverter, input: DataValueNumber): DataValueNumber local dv: DataValueNumber = DataValue.number() if input:isNumber() then @@ -42,7 +42,7 @@ function convert(self: MyConverter, input: DataValueNumber): DataValueNumber return dv end --- Converts from target back to source (for target-to-source and two-way data binding). +-- For 2-way data binding, converts the target value back to the source function reverseConvert(self: MyConverter, input: DataValueNumber): DataValueNumber local dv: DataValueNumber = DataValue.number() if input:isNumber() then From 359d16eae832dbd60908b8836d097baf20383b23 Mon Sep 17 00:00:00 2001 From: Lance Date: Tue, 25 Nov 2025 14:29:16 -0800 Subject: [PATCH 2/2] Update example --- scripting/protocols/converter-scripts.mdx | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/scripting/protocols/converter-scripts.mdx b/scripting/protocols/converter-scripts.mdx index 859d7b0e..1111e3c1 100644 --- a/scripting/protocols/converter-scripts.mdx +++ b/scripting/protocols/converter-scripts.mdx @@ -33,21 +33,29 @@ function init(self: MyConverter): boolean end -- Converts the property value. -function convert(self: MyConverter, input: DataValueNumber): DataValueNumber +function convert(self: MyConverter, input: DataInputs): DataOutput local dv: DataValueNumber = DataValue.number() + if input:isNumber() then - -- Add 1 to the incoming number dv.value = (input :: DataValueNumber).value + 1 + else + dv.value = 0 -- 0 if input is not a number end + return dv end -- For 2-way data binding, converts the target value back to the source -function reverseConvert(self: MyConverter, input: DataValueNumber): DataValueNumber +function reverseConvert(self: MyConverter, input: DataOutput): DataInputs local dv: DataValueNumber = DataValue.number() + if input:isNumber() then + -- Example: Subtract 1 from the target number dv.value = (input :: DataValueNumber).value - 1 + else + dv.value = 0 -- 0 if target is not a number end + return dv end