1#[derive(Debug)]
8pub enum ValueType {
9 Null,
10 Bool,
11 Number,
12 BigInt,
13 String,
14 Array,
15 ArrayBuffer,
16 ArrayBufferView,
17 Object,
18}
19
20impl ValueType {
21 pub fn from_v8(v: v8::Local<v8::Value>) -> ValueType {
22 if v.is_boolean() {
23 return Self::Bool;
24 } else if v.is_number() {
25 return Self::Number;
26 } else if v.is_string() {
27 return Self::String;
28 } else if v.is_array() {
29 return Self::Array;
30 } else if v.is_big_int() {
31 return Self::BigInt;
32 } else if v.is_array_buffer() {
33 return Self::ArrayBuffer;
34 } else if v.is_array_buffer_view() {
35 return Self::ArrayBufferView;
36 } else if v.is_object() {
37 return Self::Object;
38 } else if v.is_null_or_undefined() {
39 return Self::Null;
40 }
41 panic!("serde_v8: unknown ValueType for v8::Value")
42 }
43}