From 19d35882f930f283965fe05f8c12fbd93c314a7c Mon Sep 17 00:00:00 2001 From: PThorpe92 Date: Sat, 1 Mar 2025 14:34:51 -0500 Subject: [PATCH] Add convenience function for creating json ext value type --- extensions/core/src/types.rs | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/extensions/core/src/types.rs b/extensions/core/src/types.rs index 7debdab33..618f37e18 100644 --- a/extensions/core/src/types.rs +++ b/extensions/core/src/types.rs @@ -154,20 +154,12 @@ impl TextValue { } } - fn new_json(text: *const u8, len: usize) -> Self { - Self { - _type: TextSubtype::Json, - text, - len: len as u32, - } - } - - fn new_boxed(s: String) -> Box { + fn new_boxed(s: String, sub: TextSubtype) -> Box { let len = s.len(); let buffer = s.into_boxed_str(); let strbox = Box::into_raw(buffer); Box::new(Self { - _type: TextSubtype::Text, + _type: sub, text: strbox as *const u8, len: len as u32, }) @@ -396,7 +388,16 @@ impl Value { /// Creates a new text Value from a String pub fn from_text(s: String) -> Self { - let txt_value = TextValue::new_boxed(s); + let txt_value = TextValue::new_boxed(s, TextSubtype::Text); + let ptr = Box::into_raw(txt_value); + Self { + value_type: ValueType::Text, + value: ValueData { text: ptr }, + } + } + + pub fn from_json(s: String) -> Self { + let txt_value = TextValue::new_boxed(s, TextSubtype::Json); let ptr = Box::into_raw(txt_value); Self { value_type: ValueType::Text,