ferrijs_std/utils/
string.rs1use rquickjs::{Coerced, Result, Value};
2
3#[inline]
4pub fn get_string(value: &Value<'_>) -> Result<Option<String>> {
5 if let Some(val) = value.as_string() {
6 let string = val.to_string()?;
7 return Ok(Some(string));
8 }
9 Ok(None)
10}
11
12pub fn get_coerced_string(value: &Value<'_>) -> Option<String> {
13 if let Ok(val) = value.get::<Coerced<String>>() {
14 return Some(val.0);
15 };
16 None
17}
18
19pub fn get_coerced_defined_string<'js>(value: &Option<Value<'js>>) -> Option<String> {
20 if let Some(value) = value {
21 if !value.is_undefined() {
22 return get_coerced_string(value);
23 }
24 };
25 None
26}