1use serde::{Deserialize, Serialize};
2
3use crate::{CharStringExt, TokenKind};
4
5#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, PartialOrd, Hash, Eq)]
8pub struct FatToken {
9 pub content: Vec<char>,
10 pub kind: TokenKind,
11}
12
13impl From<FatStringToken> for FatToken {
14 fn from(value: FatStringToken) -> Self {
15 Self {
16 content: value.content.chars().collect(),
17 kind: value.kind,
18 }
19 }
20}
21
22#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, PartialOrd, Hash, Eq)]
24pub struct FatStringToken {
25 pub content: String,
26 pub kind: TokenKind,
27}
28
29impl From<FatToken> for FatStringToken {
30 fn from(value: FatToken) -> Self {
31 Self {
32 content: value.content.to_string(),
33 kind: value.kind,
34 }
35 }
36}