| Index: packages/petitparser/lib/src/json/parser.dart
|
| diff --git a/petitparser/lib/src/json/parser.dart b/packages/petitparser/lib/src/json/parser.dart
|
| similarity index 76%
|
| rename from petitparser/lib/src/json/parser.dart
|
| rename to packages/petitparser/lib/src/json/parser.dart
|
| index 340ac7edde5270ad540fee512bf8edfbff990d11..e1647cbb66a9e22862f6a44c2cf38eccb02ec2e6 100644
|
| --- a/petitparser/lib/src/json/parser.dart
|
| +++ b/packages/petitparser/lib/src/json/parser.dart
|
| @@ -1,15 +1,11 @@
|
| -part of json;
|
| +part of petitparser.json;
|
|
|
| -/**
|
| - * JSON parser.
|
| - */
|
| +/// JSON parser.
|
| class JsonParser extends GrammarParser {
|
| JsonParser() : super(const JsonParserDefinition());
|
| }
|
|
|
| -/**
|
| - * JSON parser definition.
|
| - */
|
| +/// JSON parser definition.
|
| class JsonParserDefinition extends JsonGrammarDefinition {
|
| const JsonParserDefinition();
|
|
|
| @@ -39,9 +35,9 @@ class JsonParserDefinition extends JsonGrammarDefinition {
|
| });
|
|
|
| stringPrimitive() => super.stringPrimitive().map((each) => each[1].join());
|
| - characterEscape() => super.characterEscape().map((each) => JSON_ESCAPE_CHARS[each[1]]);
|
| - characterOctal() => super.characterOctal().map((each) {
|
| - throw new UnsupportedError('Octal characters not supported yet');
|
| + characterEscape() => super.characterEscape().map((each) => jsonEscapeChars[each[1]]);
|
| + characterUnicode() => super.characterUnicode().map((each) {
|
| + var charCode = int.parse(each[1].join(), radix: 16);
|
| + return new String.fromCharCode(charCode);
|
| });
|
| -
|
| }
|
|
|