From 34a6b470d10d94b8e979beaa5287291cb97d3610 Mon Sep 17 00:00:00 2001 From: yufanyufan Date: Thu, 5 May 2016 14:36:15 -0700 Subject: [PATCH 1/3] Update index.js --- index.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/index.js b/index.js index 3b3f7ee..d6c7b11 100644 --- a/index.js +++ b/index.js @@ -6,6 +6,9 @@ function buildMessageFromAST(message, ast) { ast.map(function(entry) { var value; var field = message.$type.getChild(entry.name) + if (field == null) { + return; // ignore unknown field; + } if (entry.type === 'pair') { value = entry.value; } else if (entry.type === 'message') { From e4a31a52896537cd65fc40e3ada357782ef06d7e Mon Sep 17 00:00:00 2001 From: yufanyufan Date: Thu, 5 May 2016 18:00:02 -0700 Subject: [PATCH 2/3] Update parser.js --- src/parser.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/parser.js b/src/parser.js index f6f924c..9417ab8 100644 --- a/src/parser.js +++ b/src/parser.js @@ -28,8 +28,8 @@ var stripFirstLast = function(x) { }; var identifier = lexeme(regex(/[a-zA-Z_][0-9a-zA-Z_+-]*/)); -var doubleString = lexeme(regex(/\"([^\"\n\\\\]|\\\\.)*(\"|\\\\?$)/).map(stripFirstLast)); -var singleString = lexeme(regex(/\'([^\'\n\\\\]|\\\\.)*(\'|\\\\?$)/).map(stripFirstLast)); +var doubleString = lexeme(regex(/\"([^\"\\]|\\.)*\"/).map(stripFirstLast)); +var singleString = lexeme(regex(/\'([^\'\\]|\\.)*\'/).map(stripFirstLast)); var number = lexeme(regex(/[.]?[0-9+-][0-9a-zA-Z_.+-]*/)).map(Number); var trueLiteral = lexeme(string('true')).result(true); From cd8be2a75ca8f1e7a68ee96399179b4eafd2255c Mon Sep 17 00:00:00 2001 From: yufanyufan Date: Thu, 5 May 2016 18:01:47 -0700 Subject: [PATCH 3/3] Update index.js --- index.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/index.js b/index.js index d6c7b11..3b3f7ee 100644 --- a/index.js +++ b/index.js @@ -6,9 +6,6 @@ function buildMessageFromAST(message, ast) { ast.map(function(entry) { var value; var field = message.$type.getChild(entry.name) - if (field == null) { - return; // ignore unknown field; - } if (entry.type === 'pair') { value = entry.value; } else if (entry.type === 'message') {