From 8ba106d832e7b8ee1a0a3be88d2a163d6917969c Mon Sep 17 00:00:00 2001 From: Conrad Ludgate Date: Fri, 18 Jul 2025 09:46:00 +0100 Subject: [PATCH] move str values into str module --- libs/proxy/json/src/str.rs | 28 ++++++++++++++++++++++++++-- libs/proxy/json/src/value.rs | 24 ------------------------ 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/libs/proxy/json/src/str.rs b/libs/proxy/json/src/str.rs index b092fd50ec..385c527b18 100644 --- a/libs/proxy/json/src/str.rs +++ b/libs/proxy/json/src/str.rs @@ -10,6 +10,30 @@ use std::fmt::{self, Write}; +use crate::{KeyEncoder, ValueEncoder, ValueSer}; + +impl KeyEncoder for &str {} +impl ValueEncoder for &str { + #[inline] + fn encode(self, v: ValueSer<'_>) { + format_escaped_str(v.buf, self); + v.finish(); + } +} + +impl KeyEncoder for fmt::Arguments<'_> {} +impl ValueEncoder for fmt::Arguments<'_> { + #[inline] + fn encode(self, v: ValueSer<'_>) { + if let Some(s) = self.as_str() { + format_escaped_str(v.buf, s); + } else { + format_escaped_fmt(v.buf, self); + } + v.finish(); + } +} + /// Represents a character escape code in a type-safe manner. pub enum CharEscape { /// An escaped quote `"` @@ -50,7 +74,7 @@ impl CharEscape { } } -pub(crate) fn format_escaped_str(writer: &mut Vec, value: &str) { +fn format_escaped_str(writer: &mut Vec, value: &str) { writer.reserve(2 + value.len()); writer.push(b'"'); @@ -61,7 +85,7 @@ pub(crate) fn format_escaped_str(writer: &mut Vec, value: &str) { writer.push(b'"'); } -pub(crate) fn format_escaped_fmt(writer: &mut Vec, args: fmt::Arguments) { +fn format_escaped_fmt(writer: &mut Vec, args: fmt::Arguments) { writer.push(b'"'); Collect { buf: writer } diff --git a/libs/proxy/json/src/value.rs b/libs/proxy/json/src/value.rs index 7f28cbc686..2ed21d956f 100644 --- a/libs/proxy/json/src/value.rs +++ b/libs/proxy/json/src/value.rs @@ -1,7 +1,5 @@ -use core::fmt; use std::collections::{BTreeMap, HashMap}; -use crate::str::{format_escaped_fmt, format_escaped_str}; use crate::{ValueSer, value_as_list, value_as_object}; /// Marker trait for values that are valid keys @@ -27,15 +25,6 @@ impl ValueEncoder for &T { } } -impl KeyEncoder for &str {} -impl ValueEncoder for &str { - #[inline] - fn encode(self, v: ValueSer<'_>) { - format_escaped_str(v.buf, self); - v.finish(); - } -} - impl KeyEncoder for String {} impl ValueEncoder for String { #[inline] @@ -44,19 +33,6 @@ impl ValueEncoder for String { } } -impl KeyEncoder for fmt::Arguments<'_> {} -impl ValueEncoder for fmt::Arguments<'_> { - #[inline] - fn encode(self, v: ValueSer<'_>) { - if let Some(s) = self.as_str() { - format_escaped_str(v.buf, s); - } else { - format_escaped_fmt(v.buf, self); - } - v.finish(); - } -} - macro_rules! int { [$($t:ty),*] => { $(