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}