github.com/gnolang/gno@v0.0.0-20240520182011-228e9d0192ce/examples/gno.land/p/demo/json/token.gno (about)

     1  package json
     2  
     3  const (
     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  
    37  var (
    38  	trueLiteral  = []byte("true")
    39  	falseLiteral = []byte("false")
    40  	nullLiteral  = []byte("null")
    41  )
    42  
    43  type ValueType int
    44  
    45  const (
    46  	NotExist ValueType = iota
    47  	String
    48  	Number
    49  	Float
    50  	Object
    51  	Array
    52  	Boolean
    53  	Null
    54  	Unknown
    55  )
    56  
    57  func (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  }