tnetstring.nim
changeset 5 d3804875d828
parent 4 800be124db98
child 7 370805b49c92
equal deleted inserted replaced
4:800be124db98 5:d3804875d828
    95 import
    95 import
    96     hashes,
    96     hashes,
    97     parseutils,
    97     parseutils,
    98     strutils
    98     strutils
    99 
    99 
   100 const version = "0.1.0"
   100 const version = "0.1.1"
   101 
   101 
   102 type 
   102 type 
   103   TNetstringKind* = enum     ## enumeration of all valid types
   103   TNetstringKind* = enum     ## enumeration of all valid types
   104     TNetstringString,        ## a string literal
   104     TNetstringString,        ## a string literal
   105     TNetstringInt,           ## an integer literal
   105     TNetstringInt,           ## an integer literal
   109     TNetstringObject,        ## an object: the ``}`` token
   109     TNetstringObject,        ## an object: the ``}`` token
   110     TNetstringArray          ## an array: the ``]`` token
   110     TNetstringArray          ## an array: the ``]`` token
   111 
   111 
   112   TNetstringNode* = ref TNetstringNodeObj
   112   TNetstringNode* = ref TNetstringNodeObj
   113   TNetstringNodeObj* {.acyclic.} = object
   113   TNetstringNodeObj* {.acyclic.} = object
   114       extra: string
   114       extra*: string
   115       case kind*: TNetstringKind
   115       case kind*: TNetstringKind
   116       of TNetstringString:
   116       of TNetstringString:
   117           str*: string
   117           str*: string
   118       of TNetstringInt:
   118       of TNetstringInt:
   119           num*: BiggestInt
   119           num*: BiggestInt