use crate::{generated::nodes::*, JsonSyntaxToken as SyntaxToken};
use biome_rowan::AstNode;
use std::iter::once;
impl JsonArrayValue {
pub fn with_l_brack_token(self, element: SyntaxToken) -> Self {
Self::unwrap_cast(
self.syntax
.splice_slots(0usize..=0usize, once(Some(element.into()))),
)
}
pub fn with_elements(self, element: JsonArrayElementList) -> Self {
Self::unwrap_cast(
self.syntax
.splice_slots(1usize..=1usize, once(Some(element.into_syntax().into()))),
)
}
pub fn with_r_brack_token(self, element: SyntaxToken) -> Self {
Self::unwrap_cast(
self.syntax
.splice_slots(2usize..=2usize, once(Some(element.into()))),
)
}
}
impl JsonBooleanValue {
pub fn with_value_token_token(self, element: SyntaxToken) -> Self {
Self::unwrap_cast(
self.syntax
.splice_slots(0usize..=0usize, once(Some(element.into()))),
)
}
}
impl JsonMember {
pub fn with_name(self, element: JsonMemberName) -> Self {
Self::unwrap_cast(
self.syntax
.splice_slots(0usize..=0usize, once(Some(element.into_syntax().into()))),
)
}
pub fn with_colon_token(self, element: SyntaxToken) -> Self {
Self::unwrap_cast(
self.syntax
.splice_slots(1usize..=1usize, once(Some(element.into()))),
)
}
pub fn with_value(self, element: AnyJsonValue) -> Self {
Self::unwrap_cast(
self.syntax
.splice_slots(2usize..=2usize, once(Some(element.into_syntax().into()))),
)
}
}
impl JsonMemberName {
pub fn with_value_token(self, element: SyntaxToken) -> Self {
Self::unwrap_cast(
self.syntax
.splice_slots(0usize..=0usize, once(Some(element.into()))),
)
}
}
impl JsonNullValue {
pub fn with_value_token(self, element: SyntaxToken) -> Self {
Self::unwrap_cast(
self.syntax
.splice_slots(0usize..=0usize, once(Some(element.into()))),
)
}
}
impl JsonNumberValue {
pub fn with_value_token(self, element: SyntaxToken) -> Self {
Self::unwrap_cast(
self.syntax
.splice_slots(0usize..=0usize, once(Some(element.into()))),
)
}
}
impl JsonObjectValue {
pub fn with_l_curly_token(self, element: SyntaxToken) -> Self {
Self::unwrap_cast(
self.syntax
.splice_slots(0usize..=0usize, once(Some(element.into()))),
)
}
pub fn with_json_member_list(self, element: JsonMemberList) -> Self {
Self::unwrap_cast(
self.syntax
.splice_slots(1usize..=1usize, once(Some(element.into_syntax().into()))),
)
}
pub fn with_r_curly_token(self, element: SyntaxToken) -> Self {
Self::unwrap_cast(
self.syntax
.splice_slots(2usize..=2usize, once(Some(element.into()))),
)
}
}
impl JsonRoot {
pub fn with_bom_token(self, element: Option<SyntaxToken>) -> Self {
Self::unwrap_cast(
self.syntax
.splice_slots(0usize..=0usize, once(element.map(|element| element.into()))),
)
}
pub fn with_value(self, element: AnyJsonValue) -> Self {
Self::unwrap_cast(
self.syntax
.splice_slots(1usize..=1usize, once(Some(element.into_syntax().into()))),
)
}
pub fn with_eof_token(self, element: SyntaxToken) -> Self {
Self::unwrap_cast(
self.syntax
.splice_slots(2usize..=2usize, once(Some(element.into()))),
)
}
}
impl JsonStringValue {
pub fn with_value_token(self, element: SyntaxToken) -> Self {
Self::unwrap_cast(
self.syntax
.splice_slots(0usize..=0usize, once(Some(element.into()))),
)
}
}