4743bbeed02e39e887756ad0a4a07bc18a7ffeed — Martin Angers 6 months ago 45f0f1c
parse literals
1 files changed, 28 insertions(+), 1 deletions(-)

M zerojson.go
M zerojson.go => zerojson.go +28 -1
@@ 1,6 1,9 @@
 package zerojson
 
-import "errors"
+import (
+	"bytes"
+	"errors"
+)
 
 // JSON supports 7 different values:
 //


@@ 103,18 106,42 @@
 	switch p.cur {
 	case '{':
 		// object
+		p.stack.push(p.cur)
+
 	case '[':
 		// array
+		p.stack.push(p.cur)
+
 	case '"':
 		// string
+
 	case '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9':
 		// number
+
 	case 't':
 		// true
+		if !bytes.HasPrefix(p.input[p.pos+1:], []byte(trueTrail)) {
+
+		}
+		p.pos += len(trueTrail)
+		p.advance()
+
 	case 'f':
 		// false
+		if !bytes.HasPrefix(p.input[p.pos+1:], []byte(falseTrail)) {
+
+		}
+		p.pos += len(falseTrail)
+		p.advance()
+
 	case 'n':
 		// null
+		if !bytes.HasPrefix(p.input[p.pos+1:], []byte(nullTrail)) {
+
+		}
+		p.pos += len(nullTrail)
+		p.advance()
+
 	default:
 		// invalid character
 	}