1use num_derive::{FromPrimitive, ToPrimitive};
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Copy, Clone, PartialEq, FromPrimitive, ToPrimitive, Serialize, Deserialize)]
5pub enum Node {
6 Root,
7 File,
8 Object,
9 Code,
10 Block,
11 Statement,
12 Function,
13 Arguments,
14 Returns,
15 If,
16 Switch,
17 Case,
18 CaseDefault,
19 Let,
20 Assignment,
21 For,
22 Continue,
23 Break,
24 Leave,
25 Expression,
26 Call,
27 Literal,
28 Identifiers,
29 Data,
30 Error,
31}
32
33impl Node {
34 pub fn root() -> Self {
35 Node::Root
36 }
37
38 pub fn error() -> Self {
39 Node::Error
40 }
41}