token.gno
1.21 Kb ยท 76 lines
1package json
2
3const (
4 bracketOpen = '['
5 bracketClose = ']'
6 parenOpen = '('
7 parenClose = ')'
8 curlyOpen = '{'
9 curlyClose = '}'
10 comma = ','
11 dot = '.'
12 colon = ':'
13 backTick = '`'
14 singleQuote = '\''
15 doubleQuote = '"'
16 emptyString = ""
17 whiteSpace = ' '
18 plus = '+'
19 minus = '-'
20 aesterisk = '*'
21 bang = '!'
22 question = '?'
23 newLine = '\n'
24 tab = '\t'
25 carriageReturn = '\r'
26 formFeed = '\f'
27 backSpace = '\b'
28 slash = '/'
29 backSlash = '\\'
30 underScore = '_'
31 dollarSign = '$'
32 atSign = '@'
33 andSign = '&'
34 orSign = '|'
35)
36
37var (
38 trueLiteral = []byte("true")
39 falseLiteral = []byte("false")
40 nullLiteral = []byte("null")
41)
42
43type ValueType int
44
45const (
46 NotExist ValueType = iota
47 String
48 Number
49 Float
50 Object
51 Array
52 Boolean
53 Null
54 Unknown
55)
56
57func (v ValueType) String() string {
58 switch v {
59 case NotExist:
60 return "not-exist"
61 case String:
62 return "string"
63 case Number:
64 return "number"
65 case Object:
66 return "object"
67 case Array:
68 return "array"
69 case Boolean:
70 return "boolean"
71 case Null:
72 return "null"
73 default:
74 return "unknown"
75 }
76}