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