1use glib::translate::*;
6
7#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
8#[non_exhaustive]
9#[doc(alias = "JSCCheckSyntaxMode")]
10pub enum CheckSyntaxMode {
11 #[doc(alias = "JSC_CHECK_SYNTAX_MODE_SCRIPT")]
12 Script,
13 #[doc(alias = "JSC_CHECK_SYNTAX_MODE_MODULE")]
14 Module,
15 #[doc(hidden)]
16 __Unknown(i32),
17}
18
19#[doc(hidden)]
20impl IntoGlib for CheckSyntaxMode {
21 type GlibType = ffi::JSCCheckSyntaxMode;
22
23 #[inline]
24 fn into_glib(self) -> ffi::JSCCheckSyntaxMode {
25 match self {
26 Self::Script => ffi::JSC_CHECK_SYNTAX_MODE_SCRIPT,
27 Self::Module => ffi::JSC_CHECK_SYNTAX_MODE_MODULE,
28 Self::__Unknown(value) => value,
29 }
30 }
31}
32
33#[doc(hidden)]
34impl FromGlib<ffi::JSCCheckSyntaxMode> for CheckSyntaxMode {
35 #[inline]
36 unsafe fn from_glib(value: ffi::JSCCheckSyntaxMode) -> Self {
37 match value {
38 ffi::JSC_CHECK_SYNTAX_MODE_SCRIPT => Self::Script,
39 ffi::JSC_CHECK_SYNTAX_MODE_MODULE => Self::Module,
40 value => Self::__Unknown(value),
41 }
42 }
43}
44
45#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
46#[non_exhaustive]
47#[doc(alias = "JSCCheckSyntaxResult")]
48pub enum CheckSyntaxResult {
49 #[doc(alias = "JSC_CHECK_SYNTAX_RESULT_SUCCESS")]
50 Success,
51 #[doc(alias = "JSC_CHECK_SYNTAX_RESULT_RECOVERABLE_ERROR")]
52 RecoverableError,
53 #[doc(alias = "JSC_CHECK_SYNTAX_RESULT_IRRECOVERABLE_ERROR")]
54 IrrecoverableError,
55 #[doc(alias = "JSC_CHECK_SYNTAX_RESULT_UNTERMINATED_LITERAL_ERROR")]
56 UnterminatedLiteralError,
57 #[doc(alias = "JSC_CHECK_SYNTAX_RESULT_OUT_OF_MEMORY_ERROR")]
58 OutOfMemoryError,
59 #[doc(alias = "JSC_CHECK_SYNTAX_RESULT_STACK_OVERFLOW_ERROR")]
60 StackOverflowError,
61 #[doc(hidden)]
62 __Unknown(i32),
63}
64
65#[doc(hidden)]
66impl IntoGlib for CheckSyntaxResult {
67 type GlibType = ffi::JSCCheckSyntaxResult;
68
69 #[inline]
70 fn into_glib(self) -> ffi::JSCCheckSyntaxResult {
71 match self {
72 Self::Success => ffi::JSC_CHECK_SYNTAX_RESULT_SUCCESS,
73 Self::RecoverableError => ffi::JSC_CHECK_SYNTAX_RESULT_RECOVERABLE_ERROR,
74 Self::IrrecoverableError => ffi::JSC_CHECK_SYNTAX_RESULT_IRRECOVERABLE_ERROR,
75 Self::UnterminatedLiteralError => ffi::JSC_CHECK_SYNTAX_RESULT_UNTERMINATED_LITERAL_ERROR,
76 Self::OutOfMemoryError => ffi::JSC_CHECK_SYNTAX_RESULT_OUT_OF_MEMORY_ERROR,
77 Self::StackOverflowError => ffi::JSC_CHECK_SYNTAX_RESULT_STACK_OVERFLOW_ERROR,
78 Self::__Unknown(value) => value,
79 }
80 }
81}
82
83#[doc(hidden)]
84impl FromGlib<ffi::JSCCheckSyntaxResult> for CheckSyntaxResult {
85 #[inline]
86 unsafe fn from_glib(value: ffi::JSCCheckSyntaxResult) -> Self {
87 match value {
88 ffi::JSC_CHECK_SYNTAX_RESULT_SUCCESS => Self::Success,
89 ffi::JSC_CHECK_SYNTAX_RESULT_RECOVERABLE_ERROR => Self::RecoverableError,
90 ffi::JSC_CHECK_SYNTAX_RESULT_IRRECOVERABLE_ERROR => Self::IrrecoverableError,
91 ffi::JSC_CHECK_SYNTAX_RESULT_UNTERMINATED_LITERAL_ERROR => Self::UnterminatedLiteralError,
92 ffi::JSC_CHECK_SYNTAX_RESULT_OUT_OF_MEMORY_ERROR => Self::OutOfMemoryError,
93 ffi::JSC_CHECK_SYNTAX_RESULT_STACK_OVERFLOW_ERROR => Self::StackOverflowError,
94 value => Self::__Unknown(value),
95 }
96 }
97}
98
99#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
100#[non_exhaustive]
101#[doc(alias = "JSCOptionType")]
102pub enum OptionType {
103 #[doc(alias = "JSC_OPTION_BOOLEAN")]
104 Boolean,
105 #[doc(alias = "JSC_OPTION_INT")]
106 Int,
107 #[doc(alias = "JSC_OPTION_UINT")]
108 Uint,
109 #[doc(alias = "JSC_OPTION_SIZE")]
110 Size,
111 #[doc(alias = "JSC_OPTION_DOUBLE")]
112 Double,
113 #[doc(alias = "JSC_OPTION_STRING")]
114 String,
115 #[doc(alias = "JSC_OPTION_RANGE_STRING")]
116 RangeString,
117 #[doc(hidden)]
118 __Unknown(i32),
119}
120
121#[doc(hidden)]
122impl IntoGlib for OptionType {
123 type GlibType = ffi::JSCOptionType;
124
125 #[inline]
126 fn into_glib(self) -> ffi::JSCOptionType {
127 match self {
128 Self::Boolean => ffi::JSC_OPTION_BOOLEAN,
129 Self::Int => ffi::JSC_OPTION_INT,
130 Self::Uint => ffi::JSC_OPTION_UINT,
131 Self::Size => ffi::JSC_OPTION_SIZE,
132 Self::Double => ffi::JSC_OPTION_DOUBLE,
133 Self::String => ffi::JSC_OPTION_STRING,
134 Self::RangeString => ffi::JSC_OPTION_RANGE_STRING,
135 Self::__Unknown(value) => value,
136 }
137 }
138}
139
140#[doc(hidden)]
141impl FromGlib<ffi::JSCOptionType> for OptionType {
142 #[inline]
143 unsafe fn from_glib(value: ffi::JSCOptionType) -> Self {
144 match value {
145 ffi::JSC_OPTION_BOOLEAN => Self::Boolean,
146 ffi::JSC_OPTION_INT => Self::Int,
147 ffi::JSC_OPTION_UINT => Self::Uint,
148 ffi::JSC_OPTION_SIZE => Self::Size,
149 ffi::JSC_OPTION_DOUBLE => Self::Double,
150 ffi::JSC_OPTION_STRING => Self::String,
151 ffi::JSC_OPTION_RANGE_STRING => Self::RangeString,
152 value => Self::__Unknown(value),
153 }
154 }
155}
156
157#[cfg(feature = "v2_38")]
158#[cfg_attr(docsrs, doc(cfg(feature = "v2_38")))]
159#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
160#[non_exhaustive]
161#[doc(alias = "JSCTypedArrayType")]
162pub enum TypedArrayType {
163 #[doc(alias = "JSC_TYPED_ARRAY_NONE")]
164 None,
165 #[doc(alias = "JSC_TYPED_ARRAY_INT8")]
166 Int8,
167 #[doc(alias = "JSC_TYPED_ARRAY_INT16")]
168 Int16,
169 #[doc(alias = "JSC_TYPED_ARRAY_INT32")]
170 Int32,
171 #[doc(alias = "JSC_TYPED_ARRAY_INT64")]
172 Int64,
173 #[doc(alias = "JSC_TYPED_ARRAY_UINT8")]
174 Uint8,
175 #[doc(alias = "JSC_TYPED_ARRAY_UINT8_CLAMPED")]
176 Uint8Clamped,
177 #[doc(alias = "JSC_TYPED_ARRAY_UINT16")]
178 Uint16,
179 #[doc(alias = "JSC_TYPED_ARRAY_UINT32")]
180 Uint32,
181 #[doc(alias = "JSC_TYPED_ARRAY_UINT64")]
182 Uint64,
183 #[doc(alias = "JSC_TYPED_ARRAY_FLOAT32")]
184 Float32,
185 #[doc(alias = "JSC_TYPED_ARRAY_FLOAT64")]
186 Float64,
187 #[doc(hidden)]
188 __Unknown(i32),
189}
190
191#[cfg(feature = "v2_38")]
192#[cfg_attr(docsrs, doc(cfg(feature = "v2_38")))]
193#[doc(hidden)]
194impl IntoGlib for TypedArrayType {
195 type GlibType = ffi::JSCTypedArrayType;
196
197 #[inline]
198 fn into_glib(self) -> ffi::JSCTypedArrayType {
199 match self {
200 Self::None => ffi::JSC_TYPED_ARRAY_NONE,
201 Self::Int8 => ffi::JSC_TYPED_ARRAY_INT8,
202 Self::Int16 => ffi::JSC_TYPED_ARRAY_INT16,
203 Self::Int32 => ffi::JSC_TYPED_ARRAY_INT32,
204 Self::Int64 => ffi::JSC_TYPED_ARRAY_INT64,
205 Self::Uint8 => ffi::JSC_TYPED_ARRAY_UINT8,
206 Self::Uint8Clamped => ffi::JSC_TYPED_ARRAY_UINT8_CLAMPED,
207 Self::Uint16 => ffi::JSC_TYPED_ARRAY_UINT16,
208 Self::Uint32 => ffi::JSC_TYPED_ARRAY_UINT32,
209 Self::Uint64 => ffi::JSC_TYPED_ARRAY_UINT64,
210 Self::Float32 => ffi::JSC_TYPED_ARRAY_FLOAT32,
211 Self::Float64 => ffi::JSC_TYPED_ARRAY_FLOAT64,
212 Self::__Unknown(value) => value,
213 }
214 }
215}
216
217#[cfg(feature = "v2_38")]
218#[cfg_attr(docsrs, doc(cfg(feature = "v2_38")))]
219#[doc(hidden)]
220impl FromGlib<ffi::JSCTypedArrayType> for TypedArrayType {
221 #[inline]
222 unsafe fn from_glib(value: ffi::JSCTypedArrayType) -> Self {
223 match value {
224 ffi::JSC_TYPED_ARRAY_NONE => Self::None,
225 ffi::JSC_TYPED_ARRAY_INT8 => Self::Int8,
226 ffi::JSC_TYPED_ARRAY_INT16 => Self::Int16,
227 ffi::JSC_TYPED_ARRAY_INT32 => Self::Int32,
228 ffi::JSC_TYPED_ARRAY_INT64 => Self::Int64,
229 ffi::JSC_TYPED_ARRAY_UINT8 => Self::Uint8,
230 ffi::JSC_TYPED_ARRAY_UINT8_CLAMPED => Self::Uint8Clamped,
231 ffi::JSC_TYPED_ARRAY_UINT16 => Self::Uint16,
232 ffi::JSC_TYPED_ARRAY_UINT32 => Self::Uint32,
233 ffi::JSC_TYPED_ARRAY_UINT64 => Self::Uint64,
234 ffi::JSC_TYPED_ARRAY_FLOAT32 => Self::Float32,
235 ffi::JSC_TYPED_ARRAY_FLOAT64 => Self::Float64,
236 value => Self::__Unknown(value),
237 }
238 }
239}