From dd763a321757ec7f9819fc123ece51b59019411c Mon Sep 17 00:00:00 2001 From: cwittenberg Date: Tue, 3 Jan 2023 21:00:33 +0100 Subject: [PATCH] Add u128 compatibility Add capability to use .as_u128 for JsonValue --- src/value/mod.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/value/mod.rs b/src/value/mod.rs index d9fb0c8..6b92779 100644 --- a/src/value/mod.rs +++ b/src/value/mod.rs @@ -1,6 +1,6 @@ use std::ops::{Index, IndexMut, Deref}; use std::convert::TryInto; -use std::{fmt, mem, usize, u8, u16, u32, u64, isize, i8, i16, i32, i64, f32}; +use std::{fmt, mem, usize, u8, u16, u32, u64, isize, i8, i16, i32, i64, f32, u128}; use std::io::{self, Write}; use crate::{Result, Error}; @@ -233,6 +233,12 @@ impl JsonValue { value.try_into().ok() }) } + + pub fn as_u128(&self) -> Option { + self.as_number().and_then(|value| { + value.try_into().ok() + }) + } pub fn as_u32(&self) -> Option { self.as_u64().and_then(|value| number_to_unsigned!(u32, value, u64))