use crate::ToJsString; use oxc_ast::ast::*; pub trait ArrayJoin<'a> { /// `Array.prototype.join ( separator )` /// fn array_join(&self, separator: Option<&str>) -> Option; } impl<'a> ArrayJoin<'a> for ArrayExpression<'a> { fn array_join(&self, separator: Option<&str>) -> Option { let strings = self.elements.iter().map(ToJsString::to_js_string).collect::>>(); strings .map(|v| v.iter().map(AsRef::as_ref).collect::>().join(separator.unwrap_or(","))) } }