| OLD | NEW |
| 1 part of dart.convert; | 1 part of dart.convert; |
| 2 | 2 |
| 3 class JsonUnsupportedObjectError extends Error { | 3 class JsonUnsupportedObjectError extends Error { |
| 4 final unsupportedObject; | 4 final unsupportedObject; |
| 5 final cause; | 5 final cause; |
| 6 JsonUnsupportedObjectError(this.unsupportedObject, {this.cause}); | 6 JsonUnsupportedObjectError(this.unsupportedObject, {this.cause}); |
| 7 String toString() { | 7 String toString() { |
| 8 if (cause != null) { | 8 if (cause != null) { |
| 9 return "Converting object to an encodable object failed."; | 9 return "Converting object to an encodable object failed."; |
| 10 } else { | 10 } else { |
| (...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 199 if (!_isDone) { | 199 if (!_isDone) { |
| 200 _isDone = true; | 200 _isDone = true; |
| 201 _sink.close(); | 201 _sink.close(); |
| 202 } | 202 } |
| 203 } | 203 } |
| 204 } | 204 } |
| 205 class JsonDecoder extends Converter<String, Object> { | 205 class JsonDecoder extends Converter<String, Object> { |
| 206 final _Reviver _reviver; | 206 final _Reviver _reviver; |
| 207 const JsonDecoder([reviver(var key, var value)]) : this._reviver = reviver; | 207 const JsonDecoder([reviver(var key, var value)]) : this._reviver = reviver; |
| 208 dynamic convert(String input) => _parseJson(input, _reviver); | 208 dynamic convert(String input) => _parseJson(input, _reviver); |
| 209 @patch StringConversionSink startChunkedConversion(Sink<Object> sink) { | 209 StringConversionSink startChunkedConversion(Sink<Object> sink) { |
| 210 return new _JsonDecoderSink(_reviver, sink); | 210 return new _JsonDecoderSink(_reviver, sink); |
| 211 } | 211 } |
| 212 Stream<Object> bind(Stream<String> stream) => ((__x14) => DDC$RT.cast(__x14, | 212 Stream<Object> bind(Stream<String> stream) => ((__x14) => DDC$RT.cast(__x14, |
| 213 DDC$RT.type((DDC$async$.Stream<dynamic> _) {}), | 213 DDC$RT.type((DDC$async$.Stream<dynamic> _) {}), |
| 214 DDC$RT.type((DDC$async$.Stream<Object> _) {}), "CastDynamic", | 214 DDC$RT.type((DDC$async$.Stream<Object> _) {}), "CastDynamic", |
| 215 """line 504, column 49 of dart:convert/json.dart: """, | 215 """line 509, column 49 of dart:convert/json.dart: """, |
| 216 __x14 is DDC$async$.Stream<Object>, false))(super.bind(stream)); | 216 __x14 is DDC$async$.Stream<Object>, false))(super.bind(stream)); |
| 217 } | 217 } |
| 218 @patch _parseJson(String source, reviver(key, value)) { | 218 _parseJson(String source, reviver(key, value)) { |
| 219 if (source is! String) throw new ArgumentError(source); | 219 if (source is! String) throw new ArgumentError(source); |
| 220 var parsed; | 220 var parsed; |
| 221 try { | 221 try { |
| 222 parsed = JS('=Object|JSExtendableArray|Null|bool|num|String', | 222 parsed = JS('=Object|JSExtendableArray|Null|bool|num|String', |
| 223 'JSON.parse(#)', source); | 223 'JSON.parse(#)', source); |
| 224 } catch (e) { | 224 } catch (e) { |
| 225 throw new FormatException(JS('String', 'String(#)', e)); | 225 throw new FormatException(JS('String', 'String(#)', e)); |
| 226 } | 226 } |
| 227 if (reviver == null) { | 227 if (reviver == null) { |
| 228 return _convertJsonToDartLazy(parsed); | 228 return _convertJsonToDartLazy(parsed); |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 327 } | 327 } |
| 328 _removeSeen(object); | 328 _removeSeen(object); |
| 329 } catch (e) { | 329 } catch (e) { |
| 330 throw new JsonUnsupportedObjectError(object, cause: e); | 330 throw new JsonUnsupportedObjectError(object, cause: e); |
| 331 } | 331 } |
| 332 } | 332 } |
| 333 bool writeJsonValue(object) { | 333 bool writeJsonValue(object) { |
| 334 if (object is num) { | 334 if (object is num) { |
| 335 if (!object.isFinite) return false; | 335 if (!object.isFinite) return false; |
| 336 writeNumber(DDC$RT.cast(object, dynamic, num, "CastGeneral", | 336 writeNumber(DDC$RT.cast(object, dynamic, num, "CastGeneral", |
| 337 """line 704, column 19 of dart:convert/json.dart: """, object is num, | 337 """line 692, column 19 of dart:convert/json.dart: """, object is num, |
| 338 true)); | 338 true)); |
| 339 return true; | 339 return true; |
| 340 } else if (identical(object, true)) { | 340 } else if (identical(object, true)) { |
| 341 writeString('true'); | 341 writeString('true'); |
| 342 return true; | 342 return true; |
| 343 } else if (identical(object, false)) { | 343 } else if (identical(object, false)) { |
| 344 writeString('false'); | 344 writeString('false'); |
| 345 return true; | 345 return true; |
| 346 } else if (object == null) { | 346 } else if (object == null) { |
| 347 writeString('null'); | 347 writeString('null'); |
| 348 return true; | 348 return true; |
| 349 } else if (object is String) { | 349 } else if (object is String) { |
| 350 writeString('"'); | 350 writeString('"'); |
| 351 writeStringContent(DDC$RT.cast(object, dynamic, String, "CastGeneral", | 351 writeStringContent(DDC$RT.cast(object, dynamic, String, "CastGeneral", |
| 352 """line 717, column 26 of dart:convert/json.dart: """, | 352 """line 705, column 26 of dart:convert/json.dart: """, |
| 353 object is String, true)); | 353 object is String, true)); |
| 354 writeString('"'); | 354 writeString('"'); |
| 355 return true; | 355 return true; |
| 356 } else if (object is List) { | 356 } else if (object is List) { |
| 357 _checkCycle(object); | 357 _checkCycle(object); |
| 358 writeList(DDC$RT.cast(object, dynamic, DDC$RT.type((List<dynamic> _) {}), | 358 writeList(DDC$RT.cast(object, dynamic, DDC$RT.type((List<dynamic> _) {}), |
| 359 "CastGeneral", """line 722, column 17 of dart:convert/json.dart: """, | 359 "CastGeneral", """line 710, column 17 of dart:convert/json.dart: """, |
| 360 object is List<dynamic>, true)); | 360 object is List<dynamic>, true)); |
| 361 _removeSeen(object); | 361 _removeSeen(object); |
| 362 return true; | 362 return true; |
| 363 } else if (object is Map) { | 363 } else if (object is Map) { |
| 364 _checkCycle(object); | 364 _checkCycle(object); |
| 365 writeMap(DDC$RT.cast(object, dynamic, | 365 writeMap(DDC$RT.cast(object, dynamic, |
| 366 DDC$RT.type((Map<String, Object> _) {}), "CastGeneral", | 366 DDC$RT.type((Map<String, Object> _) {}), "CastGeneral", |
| 367 """line 727, column 16 of dart:convert/json.dart: """, | 367 """line 715, column 16 of dart:convert/json.dart: """, |
| 368 object is Map<String, Object>, false)); | 368 object is Map<String, Object>, false)); |
| 369 _removeSeen(object); | 369 _removeSeen(object); |
| 370 return true; | 370 return true; |
| 371 } else { | 371 } else { |
| 372 return false; | 372 return false; |
| 373 } | 373 } |
| 374 } | 374 } |
| 375 void writeList(List list) { | 375 void writeList(List list) { |
| 376 writeString('['); | 376 writeString('['); |
| 377 if (list.length > 0) { | 377 if (list.length > 0) { |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 421 void writeMap(Map map) { | 421 void writeMap(Map map) { |
| 422 if (map.isEmpty) { | 422 if (map.isEmpty) { |
| 423 writeString('{}'); | 423 writeString('{}'); |
| 424 } else { | 424 } else { |
| 425 writeString('{\n'); | 425 writeString('{\n'); |
| 426 _indentLevel++; | 426 _indentLevel++; |
| 427 bool first = true; | 427 bool first = true; |
| 428 map.forEach(((__x23) => DDC$RT.wrap( | 428 map.forEach(((__x23) => DDC$RT.wrap( |
| 429 (dynamic f(String __u15, Object __u16)) { | 429 (dynamic f(String __u15, Object __u16)) { |
| 430 dynamic c(String x0, Object x1) => f(DDC$RT.cast(x0, dynamic, String, | 430 dynamic c(String x0, Object x1) => f(DDC$RT.cast(x0, dynamic, String, |
| 431 "CastParam", """line 804, column 19 of dart:convert/json.dart: """, | 431 "CastParam", """line 792, column 19 of dart:convert/json.dart: """, |
| 432 x0 is String, true), x1); | 432 x0 is String, true), x1); |
| 433 return f == null ? null : c; | 433 return f == null ? null : c; |
| 434 }, __x23, __t20, __t17, "WrapLiteral", | 434 }, __x23, __t20, __t17, "WrapLiteral", |
| 435 """line 804, column 19 of dart:convert/json.dart: """, | 435 """line 792, column 19 of dart:convert/json.dart: """, |
| 436 __x23 is __t17))((String key, Object value) { | 436 __x23 is __t17))((String key, Object value) { |
| 437 if (!first) { | 437 if (!first) { |
| 438 writeString(",\n"); | 438 writeString(",\n"); |
| 439 } | 439 } |
| 440 writeIndentation(_indentLevel); | 440 writeIndentation(_indentLevel); |
| 441 writeString('"'); | 441 writeString('"'); |
| 442 writeStringContent(key); | 442 writeStringContent(key); |
| 443 writeString('": '); | 443 writeString('": '); |
| 444 writeObject(value); | 444 writeObject(value); |
| 445 first = false; | 445 first = false; |
| 446 })); | 446 })); |
| 447 writeString('\n'); | 447 writeString('\n'); |
| 448 _indentLevel--; | 448 _indentLevel--; |
| 449 writeIndentation(_indentLevel); | 449 writeIndentation(_indentLevel); |
| 450 writeString('}'); | 450 writeString('}'); |
| 451 } | 451 } |
| 452 } | 452 } |
| 453 } | 453 } |
| 454 class _JsonStringStringifier extends _JsonStringifier { | 454 class _JsonStringStringifier extends _JsonStringifier { |
| 455 final StringSink _sink; | 455 final StringSink _sink; |
| 456 _JsonStringStringifier(this._sink, _toEncodable) : super(DDC$RT.cast( | 456 _JsonStringStringifier(this._sink, _toEncodable) : super(DDC$RT.cast( |
| 457 _toEncodable, dynamic, __t24, "CastGeneral", | 457 _toEncodable, dynamic, __t24, "CastGeneral", |
| 458 """line 829, column 60 of dart:convert/json.dart: """, | 458 """line 817, column 60 of dart:convert/json.dart: """, |
| 459 _toEncodable is __t24, false)); | 459 _toEncodable is __t24, false)); |
| 460 static String stringify(object, toEncodable(object), String indent) { | 460 static String stringify(object, toEncodable(object), String indent) { |
| 461 StringBuffer output = new StringBuffer(); | 461 StringBuffer output = new StringBuffer(); |
| 462 printOn(object, output, toEncodable, indent); | 462 printOn(object, output, toEncodable, indent); |
| 463 return output.toString(); | 463 return output.toString(); |
| 464 } | 464 } |
| 465 static void printOn( | 465 static void printOn( |
| 466 object, StringSink output, toEncodable(object), String indent) { | 466 object, StringSink output, toEncodable(object), String indent) { |
| 467 var stringifier; | 467 var stringifier; |
| 468 if (indent == null) { | 468 if (indent == null) { |
| (...skipping 27 matching lines...) Expand all Loading... |
| 496 for (int i = 0; i < count; i++) writeString(_indent); | 496 for (int i = 0; i < count; i++) writeString(_indent); |
| 497 } | 497 } |
| 498 } | 498 } |
| 499 class _JsonUtf8Stringifier extends _JsonStringifier { | 499 class _JsonUtf8Stringifier extends _JsonStringifier { |
| 500 final int bufferSize; | 500 final int bufferSize; |
| 501 final Function addChunk; | 501 final Function addChunk; |
| 502 Uint8List buffer; | 502 Uint8List buffer; |
| 503 int index = 0; | 503 int index = 0; |
| 504 _JsonUtf8Stringifier(toEncodable, int bufferSize, this.addChunk) | 504 _JsonUtf8Stringifier(toEncodable, int bufferSize, this.addChunk) |
| 505 : super(DDC$RT.cast(toEncodable, dynamic, __t24, "CastGeneral", | 505 : super(DDC$RT.cast(toEncodable, dynamic, __t24, "CastGeneral", |
| 506 """line 905, column 15 of dart:convert/json.dart: """, | 506 """line 893, column 15 of dart:convert/json.dart: """, |
| 507 toEncodable is __t24, false)), | 507 toEncodable is __t24, false)), |
| 508 this.bufferSize = bufferSize, | 508 this.bufferSize = bufferSize, |
| 509 buffer = new Uint8List(bufferSize); | 509 buffer = new Uint8List(bufferSize); |
| 510 static void stringify(Object object, List<int> indent, | 510 static void stringify(Object object, List<int> indent, |
| 511 toEncodableFunction(Object o), int bufferSize, | 511 toEncodableFunction(Object o), int bufferSize, |
| 512 void addChunk(Uint8List chunk, int start, int end)) { | 512 void addChunk(Uint8List chunk, int start, int end)) { |
| 513 _JsonUtf8Stringifier stringifier; | 513 _JsonUtf8Stringifier stringifier; |
| 514 if (indent != null) { | 514 if (indent != null) { |
| 515 stringifier = new _JsonUtf8StringifierPretty( | 515 stringifier = new _JsonUtf8StringifierPretty( |
| 516 toEncodableFunction, indent, bufferSize, addChunk); | 516 toEncodableFunction, indent, bufferSize, addChunk); |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 597 } | 597 } |
| 598 buffer[index++] = byte; | 598 buffer[index++] = byte; |
| 599 } | 599 } |
| 600 } | 600 } |
| 601 class _JsonUtf8StringifierPretty extends _JsonUtf8Stringifier | 601 class _JsonUtf8StringifierPretty extends _JsonUtf8Stringifier |
| 602 with _JsonPrettyPrintMixin { | 602 with _JsonPrettyPrintMixin { |
| 603 final List<int> indent; | 603 final List<int> indent; |
| 604 _JsonUtf8StringifierPretty( | 604 _JsonUtf8StringifierPretty( |
| 605 toEncodableFunction, this.indent, bufferSize, addChunk) | 605 toEncodableFunction, this.indent, bufferSize, addChunk) |
| 606 : super(toEncodableFunction, DDC$RT.cast(bufferSize, dynamic, int, | 606 : super(toEncodableFunction, DDC$RT.cast(bufferSize, dynamic, int, |
| 607 "CastGeneral", """line 1043, column 36 of dart:convert/json.dart: """, | 607 "CastGeneral", """line 1031, column 36 of dart:convert/json.dart: """, |
| 608 bufferSize is int, true), DDC$RT.cast(addChunk, dynamic, Function, | 608 bufferSize is int, true), DDC$RT.cast(addChunk, dynamic, Function, |
| 609 "CastGeneral", """line 1043, column 48 of dart:convert/json.dart: """, | 609 "CastGeneral", """line 1031, column 48 of dart:convert/json.dart: """, |
| 610 addChunk is Function, true)); | 610 addChunk is Function, true)); |
| 611 void writeIndentation(int count) { | 611 void writeIndentation(int count) { |
| 612 List<int> indent = this.indent; | 612 List<int> indent = this.indent; |
| 613 int indentLength = indent.length; | 613 int indentLength = indent.length; |
| 614 if (indentLength == 1) { | 614 if (indentLength == 1) { |
| 615 int char = indent[0]; | 615 int char = indent[0]; |
| 616 while (count > 0) { | 616 while (count > 0) { |
| 617 writeByte(char); | 617 writeByte(char); |
| 618 count -= 1; | 618 count -= 1; |
| 619 } | 619 } |
| (...skipping 11 matching lines...) Expand all Loading... |
| 631 } | 631 } |
| 632 } | 632 } |
| 633 } | 633 } |
| 634 } | 634 } |
| 635 } | 635 } |
| 636 typedef dynamic __t7(dynamic __u8); | 636 typedef dynamic __t7(dynamic __u8); |
| 637 typedef dynamic __t11(Object __u12); | 637 typedef dynamic __t11(Object __u12); |
| 638 typedef void __t17(dynamic __u18, dynamic __u19); | 638 typedef void __t17(dynamic __u18, dynamic __u19); |
| 639 typedef dynamic __t20(String __u21, Object __u22); | 639 typedef dynamic __t20(String __u21, Object __u22); |
| 640 typedef Object __t24(Object __u25); | 640 typedef Object __t24(Object __u25); |
| OLD | NEW |