11// SPDX-License-Identifier: MPL-2.0
2- // Copyright ijl (2022-2025 )
2+ // Copyright ijl (2022-2026 )
33// This is an adaptation of `src/value/ser.rs` from serde-json.
44
5+ use super :: {
6+ write_float32, write_float64, write_integer_i32, write_integer_i64, write_integer_u32,
7+ write_integer_u64,
8+ } ;
59use crate :: serialize:: writer:: WriteExt ;
610use std:: io;
711
@@ -43,8 +47,7 @@ pub(crate) trait Formatter {
4347 {
4448 unsafe {
4549 reserve_minimum ! ( writer) ;
46- let len = itoap:: write_to_ptr ( writer. as_mut_buffer_ptr ( ) , value) ;
47- writer. advance_mut ( len) ;
50+ write_integer_i32 ( writer, value) ;
4851 }
4952 Ok ( ( ) )
5053 }
@@ -56,8 +59,7 @@ pub(crate) trait Formatter {
5659 {
5760 unsafe {
5861 reserve_minimum ! ( writer) ;
59- let len = itoap:: write_to_ptr ( writer. as_mut_buffer_ptr ( ) , value) ;
60- writer. advance_mut ( len) ;
62+ write_integer_i64 ( writer, value) ;
6163 }
6264 Ok ( ( ) )
6365 }
@@ -69,8 +71,7 @@ pub(crate) trait Formatter {
6971 {
7072 unsafe {
7173 reserve_minimum ! ( writer) ;
72- let len = itoap:: write_to_ptr ( writer. as_mut_buffer_ptr ( ) , value) ;
73- writer. advance_mut ( len) ;
74+ write_integer_u32 ( writer, value) ;
7475 }
7576 Ok ( ( ) )
7677 }
@@ -82,8 +83,7 @@ pub(crate) trait Formatter {
8283 {
8384 unsafe {
8485 reserve_minimum ! ( writer) ;
85- let len = itoap:: write_to_ptr ( writer. as_mut_buffer_ptr ( ) , value) ;
86- writer. advance_mut ( len) ;
86+ write_integer_u64 ( writer, value) ;
8787 }
8888 Ok ( ( ) )
8989 }
@@ -95,8 +95,7 @@ pub(crate) trait Formatter {
9595 {
9696 unsafe {
9797 reserve_minimum ! ( writer) ;
98- let len = ryu:: raw:: format32 ( value, writer. as_mut_buffer_ptr ( ) ) ;
99- writer. advance_mut ( len) ;
98+ write_float32 ( writer, value) ;
10099 }
101100 Ok ( ( ) )
102101 }
@@ -108,8 +107,7 @@ pub(crate) trait Formatter {
108107 {
109108 unsafe {
110109 reserve_minimum ! ( writer) ;
111- let len = ryu:: raw:: format64 ( value, writer. as_mut_buffer_ptr ( ) ) ;
112- writer. advance_mut ( len) ;
110+ write_float64 ( writer, value) ;
113111 }
114112 Ok ( ( ) )
115113 }
0 commit comments