mod condition;
mod duplicates;
mod expression;
mod function;
mod hint;
mod order;
mod select;
mod statement;
mod value;
mod window;
use std::ops::Deref;
pub use crate::scanner::{CommentStyle, Ident, NationalStyle, Text};
pub use condition::*;
pub use duplicates::*;
pub use expression::*;
pub use function::*;
pub use hint::*;
pub use order::*;
pub use select::*;
pub use statement::*;
pub use value::*;
pub use window::*;
#[derive(Debug)]
pub struct Node<T, ID>(
pub T,
pub ID,
);
impl<T, ID> Deref for Node<T, ID> {
type Target = T;
fn deref(&self) -> &Self::Target {
&self.0
}
}
impl<T, ID> Node<T, ID> {
pub fn map<R, F: FnOnce(T) -> R>(self, f: F) -> Node<R, ID> {
Node(f(self.0), self.1)
}
}