OLD | NEW |
1 var convert; | 1 var convert; |
2 (function(exports) { | 2 (function(exports) { |
3 'use strict'; | 3 'use strict'; |
4 let ASCII = dart.const(new AsciiCodec()); | 4 let ASCII = dart.const(new AsciiCodec()); |
5 let _ASCII_MASK = 127; | 5 let _ASCII_MASK = 127; |
6 let _allowInvalid = Symbol('_allowInvalid'); | 6 let _allowInvalid = Symbol('_allowInvalid'); |
7 let _nameToEncoding = Symbol('_nameToEncoding'); | |
8 let Codec$ = dart.generic(function(S, T) { | 7 let Codec$ = dart.generic(function(S, T) { |
9 class Codec extends core.Object { | 8 class Codec extends core.Object { |
10 Codec() { | 9 Codec() { |
11 } | 10 } |
12 encode(input) { | 11 encode(input) { |
13 return this.encoder.convert(input); | 12 return this.encoder.convert(input); |
14 } | 13 } |
15 decode(encoded) { | 14 decode(encoded) { |
16 return this.decoder.convert(encoded); | 15 return this.decoder.convert(encoded); |
17 } | 16 } |
(...skipping 14 matching lines...) Expand all Loading... |
32 decodeStream(byteStream) { | 31 decodeStream(byteStream) { |
33 return dart.as(byteStream.transform(dart.as(this.decoder, async.StreamTran
sformer$(core.List$(core.int), dart.dynamic))).fold(new core.StringBuffer(), (bu
ffer, string) => ((() => { | 32 return dart.as(byteStream.transform(dart.as(this.decoder, async.StreamTran
sformer$(core.List$(core.int), dart.dynamic))).fold(new core.StringBuffer(), (bu
ffer, string) => ((() => { |
34 dart.dsend(buffer, 'write', string); | 33 dart.dsend(buffer, 'write', string); |
35 return buffer; | 34 return buffer; |
36 })())).then(buffer => dart.toString(buffer)), async.Future$(core.String)); | 35 })())).then(buffer => dart.toString(buffer)), async.Future$(core.String)); |
37 } | 36 } |
38 static getByName(name) { | 37 static getByName(name) { |
39 if (name == null) | 38 if (name == null) |
40 return null; | 39 return null; |
41 name = name.toLowerCase(); | 40 name = name.toLowerCase(); |
42 return Encoding[_nameToEncoding].get(name); | 41 return Encoding._nameToEncoding.get(name); |
43 } | 42 } |
44 } | 43 } |
45 dart.defineLazyProperties(Encoding, { | 44 dart.defineLazyProperties(Encoding, { |
46 get [_nameToEncoding]() { | 45 get _nameToEncoding() { |
47 return dart.map({"iso_8859-1:1987": LATIN1, "iso-ir-100": LATIN1, "iso_885
9-1": LATIN1, "iso-8859-1": LATIN1, latin1: LATIN1, l1: LATIN1, ibm819: LATIN1,
cp819: LATIN1, csisolatin1: LATIN1, "iso-ir-6": ASCII, "ansi_x3.4-1968": ASCII,
"ansi_x3.4-1986": ASCII, "iso_646.irv:1991": ASCII, "iso646-us": ASCII, "us-asci
i": ASCII, us: ASCII, ibm367: ASCII, cp367: ASCII, csascii: ASCII, ascii: ASCII,
csutf8: UTF8, "utf-8": UTF8}); | 46 return dart.map({"iso_8859-1:1987": LATIN1, "iso-ir-100": LATIN1, "iso_885
9-1": LATIN1, "iso-8859-1": LATIN1, latin1: LATIN1, l1: LATIN1, ibm819: LATIN1,
cp819: LATIN1, csisolatin1: LATIN1, "iso-ir-6": ASCII, "ansi_x3.4-1968": ASCII,
"ansi_x3.4-1986": ASCII, "iso_646.irv:1991": ASCII, "iso646-us": ASCII, "us-asci
i": ASCII, us: ASCII, ibm367: ASCII, cp367: ASCII, csascii: ASCII, ascii: ASCII,
csutf8: UTF8, "utf-8": UTF8}); |
48 }, | 47 }, |
49 set [_nameToEncoding](_) {} | 48 set _nameToEncoding(_) {} |
50 }); | 49 }); |
51 class AsciiCodec extends Encoding { | 50 class AsciiCodec extends Encoding { |
52 AsciiCodec(opts) { | 51 AsciiCodec(opts) { |
53 let allowInvalid = opts && 'allowInvalid' in opts ? opts.allowInvalid : fa
lse; | 52 let allowInvalid = opts && 'allowInvalid' in opts ? opts.allowInvalid : fa
lse; |
54 this[_allowInvalid] = allowInvalid; | 53 this[_allowInvalid] = allowInvalid; |
55 super.Encoding(); | 54 super.Encoding(); |
56 } | 55 } |
57 get name() { | 56 get name() { |
58 return "us-ascii"; | 57 return "us-ascii"; |
59 } | 58 } |
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
323 _ByteAdapterSink(sink) { | 322 _ByteAdapterSink(sink) { |
324 this[_sink] = sink; | 323 this[_sink] = sink; |
325 } | 324 } |
326 add(chunk) { | 325 add(chunk) { |
327 return this[_sink].add(chunk); | 326 return this[_sink].add(chunk); |
328 } | 327 } |
329 close() { | 328 close() { |
330 return this[_sink].close(); | 329 return this[_sink].close(); |
331 } | 330 } |
332 } | 331 } |
333 let _INITIAL_BUFFER_SIZE = Symbol('_INITIAL_BUFFER_SIZE'); | |
334 let _buffer = Symbol('_buffer'); | 332 let _buffer = Symbol('_buffer'); |
335 let _callback = Symbol('_callback'); | 333 let _callback = Symbol('_callback'); |
336 let _bufferIndex = Symbol('_bufferIndex'); | 334 let _bufferIndex = Symbol('_bufferIndex'); |
337 let _roundToPowerOf2 = Symbol('_roundToPowerOf2'); | |
338 class _ByteCallbackSink extends ByteConversionSinkBase { | 335 class _ByteCallbackSink extends ByteConversionSinkBase { |
339 _ByteCallbackSink(callback) { | 336 _ByteCallbackSink(callback) { |
340 this[_buffer] = new typed_data.Uint8List(_ByteCallbackSink[_INITIAL_BUFFER
_SIZE]); | 337 this[_buffer] = new typed_data.Uint8List(_ByteCallbackSink._INITIAL_BUFFER
_SIZE); |
341 this[_callback] = callback; | 338 this[_callback] = callback; |
342 this[_bufferIndex] = 0; | 339 this[_bufferIndex] = 0; |
343 } | 340 } |
344 add(chunk) { | 341 add(chunk) { |
345 let freeCount = dart.notNull(this[_buffer][core.$length]) - dart.notNull(t
his[_bufferIndex]); | 342 let freeCount = dart.notNull(this[_buffer][core.$length]) - dart.notNull(t
his[_bufferIndex]); |
346 if (dart.notNull(chunk[core.$length]) > dart.notNull(freeCount)) { | 343 if (dart.notNull(chunk[core.$length]) > dart.notNull(freeCount)) { |
347 let oldLength = this[_buffer][core.$length]; | 344 let oldLength = this[_buffer][core.$length]; |
348 let newLength = dart.notNull(_ByteCallbackSink[_roundToPowerOf2](dart.no
tNull(chunk[core.$length]) + dart.notNull(oldLength))) * 2; | 345 let newLength = dart.notNull(_ByteCallbackSink._roundToPowerOf2(dart.not
Null(chunk[core.$length]) + dart.notNull(oldLength))) * 2; |
349 let grown = new typed_data.Uint8List(newLength); | 346 let grown = new typed_data.Uint8List(newLength); |
350 grown[core.$setRange](0, this[_buffer][core.$length], this[_buffer]); | 347 grown[core.$setRange](0, this[_buffer][core.$length], this[_buffer]); |
351 this[_buffer] = grown; | 348 this[_buffer] = grown; |
352 } | 349 } |
353 this[_buffer][core.$setRange](this[_bufferIndex], dart.notNull(this[_buffe
rIndex]) + dart.notNull(chunk[core.$length]), chunk); | 350 this[_buffer][core.$setRange](this[_bufferIndex], dart.notNull(this[_buffe
rIndex]) + dart.notNull(chunk[core.$length]), chunk); |
354 this[_bufferIndex] = dart.notNull(this[_bufferIndex]) + dart.notNull(chunk
[core.$length]); | 351 this[_bufferIndex] = dart.notNull(this[_bufferIndex]) + dart.notNull(chunk
[core.$length]); |
355 } | 352 } |
356 static [_roundToPowerOf2](v) { | 353 static _roundToPowerOf2(v) { |
357 dart.assert(dart.notNull(v) > 0); | 354 dart.assert(dart.notNull(v) > 0); |
358 v = dart.notNull(v) - 1; | 355 v = dart.notNull(v) - 1; |
359 v = dart.notNull(v) | dart.notNull(v) >> 1; | 356 v = dart.notNull(v) | dart.notNull(v) >> 1; |
360 v = dart.notNull(v) | dart.notNull(v) >> 2; | 357 v = dart.notNull(v) | dart.notNull(v) >> 2; |
361 v = dart.notNull(v) | dart.notNull(v) >> 4; | 358 v = dart.notNull(v) | dart.notNull(v) >> 4; |
362 v = dart.notNull(v) | dart.notNull(v) >> 8; | 359 v = dart.notNull(v) | dart.notNull(v) >> 8; |
363 v = dart.notNull(v) | dart.notNull(v) >> 16; | 360 v = dart.notNull(v) | dart.notNull(v) >> 16; |
364 v = dart.notNull(v) + 1; | 361 v = dart.notNull(v) + 1; |
365 return v; | 362 return v; |
366 } | 363 } |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
482 return dart.as(this[_second].convert(this[_first].convert(input)), T); | 479 return dart.as(this[_second].convert(this[_first].convert(input)), T); |
483 } | 480 } |
484 startChunkedConversion(sink) { | 481 startChunkedConversion(sink) { |
485 return this[_first].startChunkedConversion(this[_second].startChunkedCon
version(sink)); | 482 return this[_first].startChunkedConversion(this[_second].startChunkedCon
version(sink)); |
486 } | 483 } |
487 } | 484 } |
488 return _FusedConverter; | 485 return _FusedConverter; |
489 }); | 486 }); |
490 let _FusedConverter = _FusedConverter$(); | 487 let _FusedConverter = _FusedConverter$(); |
491 let HTML_ESCAPE = dart.const(new HtmlEscape()); | 488 let HTML_ESCAPE = dart.const(new HtmlEscape()); |
| 489 let _name = Symbol('_name'); |
492 let _ = Symbol('_'); | 490 let _ = Symbol('_'); |
493 let _name = Symbol('_name'); | |
494 class HtmlEscapeMode extends core.Object { | 491 class HtmlEscapeMode extends core.Object { |
495 [_](name, escapeLtGt, escapeQuot, escapeApos, escapeSlash) { | 492 _(name, escapeLtGt, escapeQuot, escapeApos, escapeSlash) { |
496 this[_name] = name; | 493 this[_name] = name; |
497 this.escapeLtGt = escapeLtGt; | 494 this.escapeLtGt = escapeLtGt; |
498 this.escapeQuot = escapeQuot; | 495 this.escapeQuot = escapeQuot; |
499 this.escapeApos = escapeApos; | 496 this.escapeApos = escapeApos; |
500 this.escapeSlash = escapeSlash; | 497 this.escapeSlash = escapeSlash; |
501 } | 498 } |
502 toString() { | 499 toString() { |
503 return this[_name]; | 500 return this[_name]; |
504 } | 501 } |
505 } | 502 } |
506 dart.defineNamedConstructor(HtmlEscapeMode, _); | 503 dart.defineNamedConstructor(HtmlEscapeMode, '_'); |
507 HtmlEscapeMode.UNKNOWN = dart.const(new HtmlEscapeMode[_]('unknown', true, tru
e, true, true)); | 504 HtmlEscapeMode.UNKNOWN = dart.const(new HtmlEscapeMode[_]('unknown', true, tru
e, true, true)); |
508 HtmlEscapeMode.ATTRIBUTE = dart.const(new HtmlEscapeMode[_]('attribute', false
, true, false, false)); | 505 HtmlEscapeMode.ATTRIBUTE = dart.const(new HtmlEscapeMode[_]('attribute', false
, true, false, false)); |
509 HtmlEscapeMode.ELEMENT = dart.const(new HtmlEscapeMode[_]('element', true, fal
se, false, true)); | 506 HtmlEscapeMode.ELEMENT = dart.const(new HtmlEscapeMode[_]('element', true, fal
se, false, true)); |
510 let _convert = Symbol('_convert'); | 507 let _convert = Symbol('_convert'); |
511 class HtmlEscape extends Converter$(core.String, core.String) { | 508 class HtmlEscape extends Converter$(core.String, core.String) { |
512 HtmlEscape(mode) { | 509 HtmlEscape(mode) { |
513 if (mode === void 0) | 510 if (mode === void 0) |
514 mode = HtmlEscapeMode.UNKNOWN; | 511 mode = HtmlEscapeMode.UNKNOWN; |
515 this.mode = mode; | 512 this.mode = mode; |
516 super.Converter(); | 513 super.Converter(); |
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
663 return dart.const(new JsonEncoder()); | 660 return dart.const(new JsonEncoder()); |
664 return new JsonEncoder(dart.as(this[_toEncodable$], dart.functionType(core
.Object, [core.Object]))); | 661 return new JsonEncoder(dart.as(this[_toEncodable$], dart.functionType(core
.Object, [core.Object]))); |
665 } | 662 } |
666 get decoder() { | 663 get decoder() { |
667 if (this[_reviver] == null) | 664 if (this[_reviver] == null) |
668 return dart.const(new JsonDecoder()); | 665 return dart.const(new JsonDecoder()); |
669 return new JsonDecoder(this[_reviver]); | 666 return new JsonDecoder(this[_reviver]); |
670 } | 667 } |
671 } | 668 } |
672 dart.defineNamedConstructor(JsonCodec, 'withReviver'); | 669 dart.defineNamedConstructor(JsonCodec, 'withReviver'); |
673 let _utf8Encode = Symbol('_utf8Encode'); | |
674 class JsonEncoder extends Converter$(core.Object, core.String) { | 670 class JsonEncoder extends Converter$(core.Object, core.String) { |
675 JsonEncoder(toEncodable) { | 671 JsonEncoder(toEncodable) { |
676 if (toEncodable === void 0) | 672 if (toEncodable === void 0) |
677 toEncodable = null; | 673 toEncodable = null; |
678 this.indent = null; | 674 this.indent = null; |
679 this[_toEncodable$] = toEncodable; | 675 this[_toEncodable$] = toEncodable; |
680 super.Converter(); | 676 super.Converter(); |
681 } | 677 } |
682 withIndent(indent, toEncodable) { | 678 withIndent(indent, toEncodable) { |
683 if (toEncodable === void 0) | 679 if (toEncodable === void 0) |
684 toEncodable = null; | 680 toEncodable = null; |
685 this.indent = indent; | 681 this.indent = indent; |
686 this[_toEncodable$] = toEncodable; | 682 this[_toEncodable$] = toEncodable; |
687 super.Converter(); | 683 super.Converter(); |
688 } | 684 } |
689 convert(object) { | 685 convert(object) { |
690 return _JsonStringStringifier.stringify(object, dart.as(this[_toEncodable$
], __CastType2), this.indent); | 686 return _JsonStringStringifier.stringify(object, dart.as(this[_toEncodable$
], __CastType2), this.indent); |
691 } | 687 } |
692 startChunkedConversion(sink) { | 688 startChunkedConversion(sink) { |
693 if (!dart.is(sink, StringConversionSink)) { | 689 if (!dart.is(sink, StringConversionSink)) { |
694 sink = new StringConversionSink.from(sink); | 690 sink = new StringConversionSink.from(sink); |
695 } else if (dart.is(sink, _Utf8EncoderSink)) { | 691 } else if (dart.is(sink, _Utf8EncoderSink)) { |
696 return new _JsonUtf8EncoderSink(sink[_sink], this[_toEncodable$], JsonUt
f8Encoder[_utf8Encode](this.indent), JsonUtf8Encoder.DEFAULT_BUFFER_SIZE); | 692 return new _JsonUtf8EncoderSink(sink[_sink], this[_toEncodable$], JsonUt
f8Encoder._utf8Encode(this.indent), JsonUtf8Encoder.DEFAULT_BUFFER_SIZE); |
697 } | 693 } |
698 return new _JsonEncoderSink(dart.as(sink, StringConversionSink), this[_toE
ncodable$], this.indent); | 694 return new _JsonEncoderSink(dart.as(sink, StringConversionSink), this[_toE
ncodable$], this.indent); |
699 } | 695 } |
700 bind(stream) { | 696 bind(stream) { |
701 return dart.as(super.bind(stream), async.Stream$(core.String)); | 697 return dart.as(super.bind(stream), async.Stream$(core.String)); |
702 } | 698 } |
703 fuse(other) { | 699 fuse(other) { |
704 if (dart.is(other, Utf8Encoder)) { | 700 if (dart.is(other, Utf8Encoder)) { |
705 return new JsonUtf8Encoder(this.indent, dart.as(this[_toEncodable$], __C
astType4)); | 701 return new JsonUtf8Encoder(this.indent, dart.as(this[_toEncodable$], __C
astType4)); |
706 } | 702 } |
707 return super.fuse(other); | 703 return super.fuse(other); |
708 } | 704 } |
709 } | 705 } |
710 dart.defineNamedConstructor(JsonEncoder, 'withIndent'); | 706 dart.defineNamedConstructor(JsonEncoder, 'withIndent'); |
711 let _indent = Symbol('_indent'); | 707 let _indent = Symbol('_indent'); |
712 let _bufferSize = Symbol('_bufferSize'); | 708 let _bufferSize = Symbol('_bufferSize'); |
713 class JsonUtf8Encoder extends Converter$(core.Object, core.List$(core.int)) { | 709 class JsonUtf8Encoder extends Converter$(core.Object, core.List$(core.int)) { |
714 JsonUtf8Encoder(indent, toEncodable, bufferSize) { | 710 JsonUtf8Encoder(indent, toEncodable, bufferSize) { |
715 if (indent === void 0) | 711 if (indent === void 0) |
716 indent = null; | 712 indent = null; |
717 if (toEncodable === void 0) | 713 if (toEncodable === void 0) |
718 toEncodable = null; | 714 toEncodable = null; |
719 if (bufferSize === void 0) | 715 if (bufferSize === void 0) |
720 bufferSize = JsonUtf8Encoder.DEFAULT_BUFFER_SIZE; | 716 bufferSize = JsonUtf8Encoder.DEFAULT_BUFFER_SIZE; |
721 this[_indent] = JsonUtf8Encoder[_utf8Encode](indent); | 717 this[_indent] = JsonUtf8Encoder._utf8Encode(indent); |
722 this[_toEncodable$] = toEncodable; | 718 this[_toEncodable$] = toEncodable; |
723 this[_bufferSize] = bufferSize; | 719 this[_bufferSize] = bufferSize; |
724 super.Converter(); | 720 super.Converter(); |
725 } | 721 } |
726 static [_utf8Encode](string) { | 722 static _utf8Encode(string) { |
727 if (string == null) | 723 if (string == null) |
728 return null; | 724 return null; |
729 if (string.isEmpty) | 725 if (string.isEmpty) |
730 return new typed_data.Uint8List(0); | 726 return new typed_data.Uint8List(0); |
731 checkAscii: { | 727 checkAscii: { |
732 for (let i = 0; dart.notNull(i) < dart.notNull(string.length); i = dart.
notNull(i) + 1) { | 728 for (let i = 0; dart.notNull(i) < dart.notNull(string.length); i = dart.
notNull(i) + 1) { |
733 if (dart.notNull(string.codeUnitAt(i)) >= 128) | 729 if (dart.notNull(string.codeUnitAt(i)) >= 128) |
734 break checkAscii; | 730 break checkAscii; |
735 } | 731 } |
736 return string.codeUnits; | 732 return string.codeUnits; |
(...skipping 624 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1361 } | 1357 } |
1362 } | 1358 } |
1363 if (dart.notNull(start) < dart.notNull(end)) { | 1359 if (dart.notNull(start) < dart.notNull(end)) { |
1364 this[_addSliceToSink](source, start, end, isLast); | 1360 this[_addSliceToSink](source, start, end, isLast); |
1365 } | 1361 } |
1366 if (isLast) { | 1362 if (isLast) { |
1367 this.close(); | 1363 this.close(); |
1368 } | 1364 } |
1369 } | 1365 } |
1370 } | 1366 } |
1371 let _addSlice = Symbol('_addSlice'); | |
1372 class LineSplitter extends Converter$(core.String, core.List$(core.String)) { | 1367 class LineSplitter extends Converter$(core.String, core.List$(core.String)) { |
1373 LineSplitter() { | 1368 LineSplitter() { |
1374 super.Converter(); | 1369 super.Converter(); |
1375 } | 1370 } |
1376 convert(data) { | 1371 convert(data) { |
1377 let lines = new (core.List$(core.String))(); | 1372 let lines = new (core.List$(core.String))(); |
1378 _LineSplitterSink[_addSlice](data, 0, data.length, true, lines[core.$add].
bind(lines)); | 1373 _LineSplitterSink._addSlice(data, 0, data.length, true, lines[core.$add].b
ind(lines)); |
1379 return lines; | 1374 return lines; |
1380 } | 1375 } |
1381 startChunkedConversion(sink) { | 1376 startChunkedConversion(sink) { |
1382 if (!dart.is(sink, StringConversionSink)) { | 1377 if (!dart.is(sink, StringConversionSink)) { |
1383 sink = new StringConversionSink.from(sink); | 1378 sink = new StringConversionSink.from(sink); |
1384 } | 1379 } |
1385 return new _LineSplitterSink(dart.as(sink, StringConversionSink)); | 1380 return new _LineSplitterSink(dart.as(sink, StringConversionSink)); |
1386 } | 1381 } |
1387 } | 1382 } |
1388 let _carry = Symbol('_carry'); | 1383 let _carry = Symbol('_carry'); |
1389 let _LF = Symbol('_LF'); | |
1390 let _CR = Symbol('_CR'); | |
1391 class _LineSplitterSink extends StringConversionSinkBase { | 1384 class _LineSplitterSink extends StringConversionSinkBase { |
1392 _LineSplitterSink(sink) { | 1385 _LineSplitterSink(sink) { |
1393 this[_sink] = sink; | 1386 this[_sink] = sink; |
1394 this[_carry] = null; | 1387 this[_carry] = null; |
1395 } | 1388 } |
1396 addSlice(chunk, start, end, isLast) { | 1389 addSlice(chunk, start, end, isLast) { |
1397 if (this[_carry] != null) { | 1390 if (this[_carry] != null) { |
1398 chunk = dart.notNull(this[_carry]) + dart.notNull(chunk.substring(start,
end)); | 1391 chunk = dart.notNull(this[_carry]) + dart.notNull(chunk.substring(start,
end)); |
1399 start = 0; | 1392 start = 0; |
1400 end = chunk.length; | 1393 end = chunk.length; |
1401 this[_carry] = null; | 1394 this[_carry] = null; |
1402 } | 1395 } |
1403 this[_carry] = _LineSplitterSink[_addSlice](chunk, start, end, isLast, thi
s[_sink].add.bind(this[_sink])); | 1396 this[_carry] = _LineSplitterSink._addSlice(chunk, start, end, isLast, this
[_sink].add.bind(this[_sink])); |
1404 if (isLast) | 1397 if (isLast) |
1405 this[_sink].close(); | 1398 this[_sink].close(); |
1406 } | 1399 } |
1407 close() { | 1400 close() { |
1408 this.addSlice('', 0, 0, true); | 1401 this.addSlice('', 0, 0, true); |
1409 } | 1402 } |
1410 static [_addSlice](chunk, start, end, isLast, adder) { | 1403 static _addSlice(chunk, start, end, isLast, adder) { |
1411 let pos = start; | 1404 let pos = start; |
1412 while (dart.notNull(pos) < dart.notNull(end)) { | 1405 while (dart.notNull(pos) < dart.notNull(end)) { |
1413 let skip = 0; | 1406 let skip = 0; |
1414 let char = chunk.codeUnitAt(pos); | 1407 let char = chunk.codeUnitAt(pos); |
1415 if (char == _LineSplitterSink[_LF]) { | 1408 if (char == _LineSplitterSink._LF) { |
1416 skip = 1; | 1409 skip = 1; |
1417 } else if (char == _LineSplitterSink[_CR]) { | 1410 } else if (char == _LineSplitterSink._CR) { |
1418 skip = 1; | 1411 skip = 1; |
1419 if (dart.notNull(pos) + 1 < dart.notNull(end)) { | 1412 if (dart.notNull(pos) + 1 < dart.notNull(end)) { |
1420 if (chunk.codeUnitAt(dart.notNull(pos) + 1) == _LineSplitterSink[_LF
]) { | 1413 if (chunk.codeUnitAt(dart.notNull(pos) + 1) == _LineSplitterSink._LF
) { |
1421 skip = 2; | 1414 skip = 2; |
1422 } | 1415 } |
1423 } else if (!dart.notNull(isLast)) { | 1416 } else if (!dart.notNull(isLast)) { |
1424 return chunk.substring(start, end); | 1417 return chunk.substring(start, end); |
1425 } | 1418 } |
1426 } | 1419 } |
1427 if (dart.notNull(skip) > 0) { | 1420 if (dart.notNull(skip) > 0) { |
1428 adder(chunk.substring(start, pos)); | 1421 adder(chunk.substring(start, pos)); |
1429 start = pos = dart.notNull(pos) + dart.notNull(skip); | 1422 start = pos = dart.notNull(pos) + dart.notNull(skip); |
1430 } else { | 1423 } else { |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1488 return this[_sink].writeln(o); | 1481 return this[_sink].writeln(o); |
1489 } | 1482 } |
1490 writeAll(objects, separator) { | 1483 writeAll(objects, separator) { |
1491 if (separator === void 0) | 1484 if (separator === void 0) |
1492 separator = ""; | 1485 separator = ""; |
1493 return this[_sink].writeAll(objects, separator); | 1486 return this[_sink].writeAll(objects, separator); |
1494 } | 1487 } |
1495 } | 1488 } |
1496 _ClosableStringSink[dart.implements] = () => [ClosableStringSink]; | 1489 _ClosableStringSink[dart.implements] = () => [ClosableStringSink]; |
1497 let _flush = Symbol('_flush'); | 1490 let _flush = Symbol('_flush'); |
1498 let _MIN_STRING_SIZE = Symbol('_MIN_STRING_SIZE'); | |
1499 class _StringConversionSinkAsStringSinkAdapter extends core.Object { | 1491 class _StringConversionSinkAsStringSinkAdapter extends core.Object { |
1500 _StringConversionSinkAsStringSinkAdapter(chunkedSink) { | 1492 _StringConversionSinkAsStringSinkAdapter(chunkedSink) { |
1501 this[_chunkedSink] = chunkedSink; | 1493 this[_chunkedSink] = chunkedSink; |
1502 this[_buffer] = new core.StringBuffer(); | 1494 this[_buffer] = new core.StringBuffer(); |
1503 } | 1495 } |
1504 close() { | 1496 close() { |
1505 if (this[_buffer].isNotEmpty) | 1497 if (this[_buffer].isNotEmpty) |
1506 this[_flush](); | 1498 this[_flush](); |
1507 this[_chunkedSink].close(); | 1499 this[_chunkedSink].close(); |
1508 } | 1500 } |
1509 writeCharCode(charCode) { | 1501 writeCharCode(charCode) { |
1510 this[_buffer].writeCharCode(charCode); | 1502 this[_buffer].writeCharCode(charCode); |
1511 if (dart.notNull(this[_buffer].length) > dart.notNull(_StringConversionSin
kAsStringSinkAdapter[_MIN_STRING_SIZE])) | 1503 if (dart.notNull(this[_buffer].length) > dart.notNull(_StringConversionSin
kAsStringSinkAdapter._MIN_STRING_SIZE)) |
1512 this[_flush](); | 1504 this[_flush](); |
1513 } | 1505 } |
1514 write(o) { | 1506 write(o) { |
1515 if (this[_buffer].isNotEmpty) | 1507 if (this[_buffer].isNotEmpty) |
1516 this[_flush](); | 1508 this[_flush](); |
1517 let str = dart.toString(o); | 1509 let str = dart.toString(o); |
1518 this[_chunkedSink].add(dart.toString(o)); | 1510 this[_chunkedSink].add(dart.toString(o)); |
1519 } | 1511 } |
1520 writeln(o) { | 1512 writeln(o) { |
1521 if (o === void 0) | 1513 if (o === void 0) |
1522 o = ""; | 1514 o = ""; |
1523 this[_buffer].writeln(o); | 1515 this[_buffer].writeln(o); |
1524 if (dart.notNull(this[_buffer].length) > dart.notNull(_StringConversionSin
kAsStringSinkAdapter[_MIN_STRING_SIZE])) | 1516 if (dart.notNull(this[_buffer].length) > dart.notNull(_StringConversionSin
kAsStringSinkAdapter._MIN_STRING_SIZE)) |
1525 this[_flush](); | 1517 this[_flush](); |
1526 } | 1518 } |
1527 writeAll(objects, separator) { | 1519 writeAll(objects, separator) { |
1528 if (separator === void 0) | 1520 if (separator === void 0) |
1529 separator = ""; | 1521 separator = ""; |
1530 if (this[_buffer].isNotEmpty) | 1522 if (this[_buffer].isNotEmpty) |
1531 this[_flush](); | 1523 this[_flush](); |
1532 let iterator = objects[core.$iterator]; | 1524 let iterator = objects[core.$iterator]; |
1533 if (!dart.notNull(iterator.moveNext())) | 1525 if (!dart.notNull(iterator.moveNext())) |
1534 return; | 1526 return; |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1630 this.addSlice(chunk, 0, chunk[core.$length], false); | 1622 this.addSlice(chunk, 0, chunk[core.$length], false); |
1631 } | 1623 } |
1632 addSlice(codeUnits, startIndex, endIndex, isLast) { | 1624 addSlice(codeUnits, startIndex, endIndex, isLast) { |
1633 this[_decoder].convert(codeUnits, startIndex, endIndex); | 1625 this[_decoder].convert(codeUnits, startIndex, endIndex); |
1634 if (isLast) | 1626 if (isLast) |
1635 this.close(); | 1627 this.close(); |
1636 } | 1628 } |
1637 } | 1629 } |
1638 class _Utf8ConversionSink extends ByteConversionSink { | 1630 class _Utf8ConversionSink extends ByteConversionSink { |
1639 _Utf8ConversionSink(sink, allowMalformed) { | 1631 _Utf8ConversionSink(sink, allowMalformed) { |
1640 this[_](sink, new core.StringBuffer(), allowMalformed); | 1632 this._(sink, new core.StringBuffer(), allowMalformed); |
1641 } | 1633 } |
1642 [_](chunkedSink, stringBuffer, allowMalformed) { | 1634 _(chunkedSink, stringBuffer, allowMalformed) { |
1643 this[_chunkedSink] = chunkedSink; | 1635 this[_chunkedSink] = chunkedSink; |
1644 this[_decoder] = new _Utf8Decoder(stringBuffer, allowMalformed); | 1636 this[_decoder] = new _Utf8Decoder(stringBuffer, allowMalformed); |
1645 this[_buffer] = stringBuffer; | 1637 this[_buffer] = stringBuffer; |
1646 super.ByteConversionSink(); | 1638 super.ByteConversionSink(); |
1647 } | 1639 } |
1648 close() { | 1640 close() { |
1649 this[_decoder].close(); | 1641 this[_decoder].close(); |
1650 if (this[_buffer].isNotEmpty) { | 1642 if (this[_buffer].isNotEmpty) { |
1651 let accumulated = dart.toString(this[_buffer]); | 1643 let accumulated = dart.toString(this[_buffer]); |
1652 this[_buffer].clear(); | 1644 this[_buffer].clear(); |
(...skipping 10 matching lines...) Expand all Loading... |
1663 if (this[_buffer].isNotEmpty) { | 1655 if (this[_buffer].isNotEmpty) { |
1664 let accumulated = dart.toString(this[_buffer]); | 1656 let accumulated = dart.toString(this[_buffer]); |
1665 this[_chunkedSink].addSlice(accumulated, 0, accumulated.length, isLast); | 1657 this[_chunkedSink].addSlice(accumulated, 0, accumulated.length, isLast); |
1666 this[_buffer].clear(); | 1658 this[_buffer].clear(); |
1667 return; | 1659 return; |
1668 } | 1660 } |
1669 if (isLast) | 1661 if (isLast) |
1670 this.close(); | 1662 this.close(); |
1671 } | 1663 } |
1672 } | 1664 } |
1673 dart.defineNamedConstructor(_Utf8ConversionSink, _); | 1665 dart.defineNamedConstructor(_Utf8ConversionSink, '_'); |
1674 let UNICODE_REPLACEMENT_CHARACTER_RUNE = 65533; | 1666 let UNICODE_REPLACEMENT_CHARACTER_RUNE = 65533; |
1675 let UNICODE_BOM_CHARACTER_RUNE = 65279; | 1667 let UNICODE_BOM_CHARACTER_RUNE = 65279; |
1676 let UTF8 = dart.const(new Utf8Codec()); | 1668 let UTF8 = dart.const(new Utf8Codec()); |
1677 let _allowMalformed = Symbol('_allowMalformed'); | 1669 let _allowMalformed = Symbol('_allowMalformed'); |
1678 class Utf8Codec extends Encoding { | 1670 class Utf8Codec extends Encoding { |
1679 Utf8Codec(opts) { | 1671 Utf8Codec(opts) { |
1680 let allowMalformed = opts && 'allowMalformed' in opts ? opts.allowMalforme
d : false; | 1672 let allowMalformed = opts && 'allowMalformed' in opts ? opts.allowMalforme
d : false; |
1681 this[_allowMalformed] = allowMalformed; | 1673 this[_allowMalformed] = allowMalformed; |
1682 super.Encoding(); | 1674 super.Encoding(); |
1683 } | 1675 } |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1729 startChunkedConversion(sink) { | 1721 startChunkedConversion(sink) { |
1730 if (!dart.is(sink, ByteConversionSink)) { | 1722 if (!dart.is(sink, ByteConversionSink)) { |
1731 sink = new ByteConversionSink.from(sink); | 1723 sink = new ByteConversionSink.from(sink); |
1732 } | 1724 } |
1733 return new _Utf8EncoderSink(dart.as(sink, ByteConversionSink)); | 1725 return new _Utf8EncoderSink(dart.as(sink, ByteConversionSink)); |
1734 } | 1726 } |
1735 bind(stream) { | 1727 bind(stream) { |
1736 return dart.as(super.bind(stream), async.Stream$(core.List$(core.int))); | 1728 return dart.as(super.bind(stream), async.Stream$(core.List$(core.int))); |
1737 } | 1729 } |
1738 } | 1730 } |
1739 let _DEFAULT_BYTE_BUFFER_SIZE = Symbol('_DEFAULT_BYTE_BUFFER_SIZE'); | |
1740 let _createBuffer = Symbol('_createBuffer'); | |
1741 class _Utf8Encoder extends core.Object { | 1731 class _Utf8Encoder extends core.Object { |
1742 _Utf8Encoder() { | 1732 _Utf8Encoder() { |
1743 this.withBufferSize(_Utf8Encoder[_DEFAULT_BYTE_BUFFER_SIZE]); | 1733 this.withBufferSize(_Utf8Encoder._DEFAULT_BYTE_BUFFER_SIZE); |
1744 } | 1734 } |
1745 withBufferSize(bufferSize) { | 1735 withBufferSize(bufferSize) { |
1746 this[_buffer] = _Utf8Encoder[_createBuffer](bufferSize); | 1736 this[_buffer] = _Utf8Encoder._createBuffer(bufferSize); |
1747 this[_carry] = 0; | 1737 this[_carry] = 0; |
1748 this[_bufferIndex] = 0; | 1738 this[_bufferIndex] = 0; |
1749 } | 1739 } |
1750 static [_createBuffer](size) { | 1740 static _createBuffer(size) { |
1751 return new typed_data.Uint8List(size); | 1741 return new typed_data.Uint8List(size); |
1752 } | 1742 } |
1753 [_writeSurrogate](leadingSurrogate, nextCodeUnit) { | 1743 [_writeSurrogate](leadingSurrogate, nextCodeUnit) { |
1754 if (_isTailSurrogate(nextCodeUnit)) { | 1744 if (_isTailSurrogate(nextCodeUnit)) { |
1755 let rune = _combineSurrogatePair(leadingSurrogate, nextCodeUnit); | 1745 let rune = _combineSurrogatePair(leadingSurrogate, nextCodeUnit); |
1756 dart.assert(dart.notNull(rune) > dart.notNull(_THREE_BYTE_LIMIT)); | 1746 dart.assert(dart.notNull(rune) > dart.notNull(_THREE_BYTE_LIMIT)); |
1757 dart.assert(dart.notNull(rune) <= dart.notNull(_FOUR_BYTE_LIMIT)); | 1747 dart.assert(dart.notNull(rune) <= dart.notNull(_FOUR_BYTE_LIMIT)); |
1758 this[_buffer][core.$set]((() => { | 1748 this[_buffer][core.$set]((() => { |
1759 let x = this[_bufferIndex]; | 1749 let x = this[_bufferIndex]; |
1760 this[_bufferIndex] = dart.notNull(x) + 1; | 1750 this[_bufferIndex] = dart.notNull(x) + 1; |
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1969 return (dart.notNull(codeUnit) & dart.notNull(_SURROGATE_TAG_MASK)) == _TAIL
_SURROGATE_MIN; | 1959 return (dart.notNull(codeUnit) & dart.notNull(_SURROGATE_TAG_MASK)) == _TAIL
_SURROGATE_MIN; |
1970 } | 1960 } |
1971 // Function _combineSurrogatePair: (int, int) → int | 1961 // Function _combineSurrogatePair: (int, int) → int |
1972 function _combineSurrogatePair(lead, tail) { | 1962 function _combineSurrogatePair(lead, tail) { |
1973 return 65536 + ((dart.notNull(lead) & dart.notNull(_SURROGATE_VALUE_MASK)) <
< 10) | dart.notNull(tail) & dart.notNull(_SURROGATE_VALUE_MASK); | 1963 return 65536 + ((dart.notNull(lead) & dart.notNull(_SURROGATE_VALUE_MASK)) <
< 10) | dart.notNull(tail) & dart.notNull(_SURROGATE_VALUE_MASK); |
1974 } | 1964 } |
1975 let _isFirstCharacter = Symbol('_isFirstCharacter'); | 1965 let _isFirstCharacter = Symbol('_isFirstCharacter'); |
1976 let _value = Symbol('_value'); | 1966 let _value = Symbol('_value'); |
1977 let _expectedUnits = Symbol('_expectedUnits'); | 1967 let _expectedUnits = Symbol('_expectedUnits'); |
1978 let _extraUnits = Symbol('_extraUnits'); | 1968 let _extraUnits = Symbol('_extraUnits'); |
1979 let _LIMITS = Symbol('_LIMITS'); | |
1980 class _Utf8Decoder extends core.Object { | 1969 class _Utf8Decoder extends core.Object { |
1981 _Utf8Decoder(stringSink, allowMalformed) { | 1970 _Utf8Decoder(stringSink, allowMalformed) { |
1982 this[_stringSink] = stringSink; | 1971 this[_stringSink] = stringSink; |
1983 this[_allowMalformed] = allowMalformed; | 1972 this[_allowMalformed] = allowMalformed; |
1984 this[_isFirstCharacter] = true; | 1973 this[_isFirstCharacter] = true; |
1985 this[_value] = 0; | 1974 this[_value] = 0; |
1986 this[_expectedUnits] = 0; | 1975 this[_expectedUnits] = 0; |
1987 this[_extraUnits] = 0; | 1976 this[_extraUnits] = 0; |
1988 } | 1977 } |
1989 get hasPartialInput() { | 1978 get hasPartialInput() { |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2044 } | 2033 } |
2045 this[_isFirstCharacter] = false; | 2034 this[_isFirstCharacter] = false; |
2046 this[_stringSink].writeCharCode(UNICODE_REPLACEMENT_CHARACTER_
RUNE); | 2035 this[_stringSink].writeCharCode(UNICODE_REPLACEMENT_CHARACTER_
RUNE); |
2047 break multibyte; | 2036 break multibyte; |
2048 } else { | 2037 } else { |
2049 value = dart.notNull(value) << 6 | dart.notNull(unit) & 63; | 2038 value = dart.notNull(value) << 6 | dart.notNull(unit) & 63; |
2050 expectedUnits = dart.notNull(expectedUnits) - 1; | 2039 expectedUnits = dart.notNull(expectedUnits) - 1; |
2051 i = dart.notNull(i) + 1; | 2040 i = dart.notNull(i) + 1; |
2052 } | 2041 } |
2053 } while (dart.notNull(expectedUnits) > 0); | 2042 } while (dart.notNull(expectedUnits) > 0); |
2054 if (dart.notNull(value) <= dart.notNull(_Utf8Decoder[_LIMITS][core
.$get](dart.notNull(extraUnits) - 1))) { | 2043 if (dart.notNull(value) <= dart.notNull(_Utf8Decoder._LIMITS[core.
$get](dart.notNull(extraUnits) - 1))) { |
2055 if (!dart.notNull(this[_allowMalformed])) { | 2044 if (!dart.notNull(this[_allowMalformed])) { |
2056 throw new core.FormatException(`Overlong encoding of 0x${value
.toRadixString(16)}`); | 2045 throw new core.FormatException(`Overlong encoding of 0x${value
.toRadixString(16)}`); |
2057 } | 2046 } |
2058 expectedUnits = extraUnits = 0; | 2047 expectedUnits = extraUnits = 0; |
2059 value = UNICODE_REPLACEMENT_CHARACTER_RUNE; | 2048 value = UNICODE_REPLACEMENT_CHARACTER_RUNE; |
2060 } | 2049 } |
2061 if (dart.notNull(value) > dart.notNull(_FOUR_BYTE_LIMIT)) { | 2050 if (dart.notNull(value) > dart.notNull(_FOUR_BYTE_LIMIT)) { |
2062 if (!dart.notNull(this[_allowMalformed])) { | 2051 if (!dart.notNull(this[_allowMalformed])) { |
2063 throw new core.FormatException("Character outside valid Unicod
e range: " + `0x${value.toRadixString(16)}`); | 2052 throw new core.FormatException("Character outside valid Unicod
e range: " + `0x${value.toRadixString(16)}`); |
2064 } | 2053 } |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2164 } | 2153 } |
2165 if (Object.getPrototypeOf(object) !== Array.prototype) { | 2154 if (Object.getPrototypeOf(object) !== Array.prototype) { |
2166 return new _JsonMap(object); | 2155 return new _JsonMap(object); |
2167 } | 2156 } |
2168 for (let i = 0; dart.notNull(i) < object.length; i = dart.notNull(i) + 1) { | 2157 for (let i = 0; dart.notNull(i) < object.length; i = dart.notNull(i) + 1) { |
2169 let item = object[i]; | 2158 let item = object[i]; |
2170 object[i] = _convertJsonToDartLazy(item); | 2159 object[i] = _convertJsonToDartLazy(item); |
2171 } | 2160 } |
2172 return object; | 2161 return object; |
2173 } | 2162 } |
2174 let _newJavaScriptObject = Symbol('_newJavaScriptObject'); | |
2175 let _data = Symbol('_data'); | 2163 let _data = Symbol('_data'); |
2176 let _isUpgraded = Symbol('_isUpgraded'); | 2164 let _isUpgraded = Symbol('_isUpgraded'); |
2177 let _upgradedMap = Symbol('_upgradedMap'); | 2165 let _upgradedMap = Symbol('_upgradedMap'); |
2178 let _getProperty = Symbol('_getProperty'); | |
2179 let _isUnprocessed = Symbol('_isUnprocessed'); | |
2180 let _process = Symbol('_process'); | 2166 let _process = Symbol('_process'); |
2181 let _setProperty = Symbol('_setProperty'); | |
2182 let _upgrade = Symbol('_upgrade'); | 2167 let _upgrade = Symbol('_upgrade'); |
2183 let _hasProperty = Symbol('_hasProperty'); | |
2184 let _getPropertyNames = Symbol('_getPropertyNames'); | |
2185 class _JsonMap extends core.Object { | 2168 class _JsonMap extends core.Object { |
2186 _JsonMap(original) { | 2169 _JsonMap(original) { |
2187 this[_processed] = _JsonMap[_newJavaScriptObject](); | 2170 this[_processed] = _JsonMap._newJavaScriptObject(); |
2188 this[_original] = original; | 2171 this[_original] = original; |
2189 this[_data] = null; | 2172 this[_data] = null; |
2190 } | 2173 } |
2191 get(key) { | 2174 get(key) { |
2192 if (this[_isUpgraded]) { | 2175 if (this[_isUpgraded]) { |
2193 return this[_upgradedMap].get(key); | 2176 return this[_upgradedMap].get(key); |
2194 } else if (!(typeof key == 'string')) { | 2177 } else if (!(typeof key == 'string')) { |
2195 return null; | 2178 return null; |
2196 } else { | 2179 } else { |
2197 let result = _JsonMap[_getProperty](this[_processed], dart.as(key, core.
String)); | 2180 let result = _JsonMap._getProperty(this[_processed], dart.as(key, core.S
tring)); |
2198 if (_JsonMap[_isUnprocessed](result)) | 2181 if (_JsonMap._isUnprocessed(result)) |
2199 result = this[_process](dart.as(key, core.String)); | 2182 result = this[_process](dart.as(key, core.String)); |
2200 return result; | 2183 return result; |
2201 } | 2184 } |
2202 } | 2185 } |
2203 get length() { | 2186 get length() { |
2204 return this[_isUpgraded] ? this[_upgradedMap].length : this[_computeKeys](
)[core.$length]; | 2187 return this[_isUpgraded] ? this[_upgradedMap].length : this[_computeKeys](
)[core.$length]; |
2205 } | 2188 } |
2206 get isEmpty() { | 2189 get isEmpty() { |
2207 return this.length == 0; | 2190 return this.length == 0; |
2208 } | 2191 } |
2209 get isNotEmpty() { | 2192 get isNotEmpty() { |
2210 return dart.notNull(this.length) > 0; | 2193 return dart.notNull(this.length) > 0; |
2211 } | 2194 } |
2212 get keys() { | 2195 get keys() { |
2213 if (this[_isUpgraded]) | 2196 if (this[_isUpgraded]) |
2214 return this[_upgradedMap].keys; | 2197 return this[_upgradedMap].keys; |
2215 return new _JsonMapKeyIterable(this); | 2198 return new _JsonMapKeyIterable(this); |
2216 } | 2199 } |
2217 get values() { | 2200 get values() { |
2218 if (this[_isUpgraded]) | 2201 if (this[_isUpgraded]) |
2219 return this[_upgradedMap].values; | 2202 return this[_upgradedMap].values; |
2220 return new _internal.MappedIterable(this[_computeKeys](), (each => this.ge
t(each)).bind(this)); | 2203 return new _internal.MappedIterable(this[_computeKeys](), (each => this.ge
t(each)).bind(this)); |
2221 } | 2204 } |
2222 set(key, value) { | 2205 set(key, value) { |
2223 if (this[_isUpgraded]) { | 2206 if (this[_isUpgraded]) { |
2224 this[_upgradedMap].set(key, value); | 2207 this[_upgradedMap].set(key, value); |
2225 } else if (this.containsKey(key)) { | 2208 } else if (this.containsKey(key)) { |
2226 let processed = this[_processed]; | 2209 let processed = this[_processed]; |
2227 _JsonMap[_setProperty](processed, dart.as(key, core.String), value); | 2210 _JsonMap._setProperty(processed, dart.as(key, core.String), value); |
2228 let original = this[_original]; | 2211 let original = this[_original]; |
2229 if (!dart.notNull(core.identical(original, processed))) { | 2212 if (!dart.notNull(core.identical(original, processed))) { |
2230 _JsonMap[_setProperty](original, dart.as(key, core.String), null); | 2213 _JsonMap._setProperty(original, dart.as(key, core.String), null); |
2231 } | 2214 } |
2232 } else { | 2215 } else { |
2233 this[_upgrade]().set(key, value); | 2216 this[_upgrade]().set(key, value); |
2234 } | 2217 } |
2235 } | 2218 } |
2236 addAll(other) { | 2219 addAll(other) { |
2237 other.forEach(((key, value) => { | 2220 other.forEach(((key, value) => { |
2238 this.set(key, value); | 2221 this.set(key, value); |
2239 }).bind(this)); | 2222 }).bind(this)); |
2240 } | 2223 } |
2241 containsValue(value) { | 2224 containsValue(value) { |
2242 if (this[_isUpgraded]) | 2225 if (this[_isUpgraded]) |
2243 return this[_upgradedMap].containsValue(value); | 2226 return this[_upgradedMap].containsValue(value); |
2244 let keys = this[_computeKeys](); | 2227 let keys = this[_computeKeys](); |
2245 for (let i = 0; dart.notNull(i) < dart.notNull(keys[core.$length]); i = da
rt.notNull(i) + 1) { | 2228 for (let i = 0; dart.notNull(i) < dart.notNull(keys[core.$length]); i = da
rt.notNull(i) + 1) { |
2246 let key = keys[core.$get](i); | 2229 let key = keys[core.$get](i); |
2247 if (dart.equals(this.get(key), value)) | 2230 if (dart.equals(this.get(key), value)) |
2248 return true; | 2231 return true; |
2249 } | 2232 } |
2250 return false; | 2233 return false; |
2251 } | 2234 } |
2252 containsKey(key) { | 2235 containsKey(key) { |
2253 if (this[_isUpgraded]) | 2236 if (this[_isUpgraded]) |
2254 return this[_upgradedMap].containsKey(key); | 2237 return this[_upgradedMap].containsKey(key); |
2255 if (!(typeof key == 'string')) | 2238 if (!(typeof key == 'string')) |
2256 return false; | 2239 return false; |
2257 return _JsonMap[_hasProperty](this[_original], dart.as(key, core.String)); | 2240 return _JsonMap._hasProperty(this[_original], dart.as(key, core.String)); |
2258 } | 2241 } |
2259 putIfAbsent(key, ifAbsent) { | 2242 putIfAbsent(key, ifAbsent) { |
2260 if (this.containsKey(key)) | 2243 if (this.containsKey(key)) |
2261 return this.get(key); | 2244 return this.get(key); |
2262 let value = ifAbsent(); | 2245 let value = ifAbsent(); |
2263 this.set(key, value); | 2246 this.set(key, value); |
2264 return value; | 2247 return value; |
2265 } | 2248 } |
2266 remove(key) { | 2249 remove(key) { |
2267 if (!dart.notNull(this[_isUpgraded]) && !dart.notNull(this.containsKey(key
))) | 2250 if (!dart.notNull(this[_isUpgraded]) && !dart.notNull(this.containsKey(key
))) |
(...skipping 10 matching lines...) Expand all Loading... |
2278 this[_original] = this[_processed] = null; | 2261 this[_original] = this[_processed] = null; |
2279 this[_data] = dart.map(); | 2262 this[_data] = dart.map(); |
2280 } | 2263 } |
2281 } | 2264 } |
2282 forEach(f) { | 2265 forEach(f) { |
2283 if (this[_isUpgraded]) | 2266 if (this[_isUpgraded]) |
2284 return this[_upgradedMap].forEach(f); | 2267 return this[_upgradedMap].forEach(f); |
2285 let keys = this[_computeKeys](); | 2268 let keys = this[_computeKeys](); |
2286 for (let i = 0; dart.notNull(i) < dart.notNull(keys[core.$length]); i = da
rt.notNull(i) + 1) { | 2269 for (let i = 0; dart.notNull(i) < dart.notNull(keys[core.$length]); i = da
rt.notNull(i) + 1) { |
2287 let key = keys[core.$get](i); | 2270 let key = keys[core.$get](i); |
2288 let value = _JsonMap[_getProperty](this[_processed], key); | 2271 let value = _JsonMap._getProperty(this[_processed], key); |
2289 if (_JsonMap[_isUnprocessed](value)) { | 2272 if (_JsonMap._isUnprocessed(value)) { |
2290 value = _convertJsonToDartLazy(_JsonMap[_getProperty](this[_original],
key)); | 2273 value = _convertJsonToDartLazy(_JsonMap._getProperty(this[_original],
key)); |
2291 _JsonMap[_setProperty](this[_processed], key, value); | 2274 _JsonMap._setProperty(this[_processed], key, value); |
2292 } | 2275 } |
2293 dart.dcall(f, key, value); | 2276 dart.dcall(f, key, value); |
2294 if (!dart.notNull(core.identical(keys, this[_data]))) { | 2277 if (!dart.notNull(core.identical(keys, this[_data]))) { |
2295 throw new core.ConcurrentModificationError(this); | 2278 throw new core.ConcurrentModificationError(this); |
2296 } | 2279 } |
2297 } | 2280 } |
2298 } | 2281 } |
2299 toString() { | 2282 toString() { |
2300 return collection.Maps.mapToString(this); | 2283 return collection.Maps.mapToString(this); |
2301 } | 2284 } |
2302 get [_isUpgraded]() { | 2285 get [_isUpgraded]() { |
2303 return this[_processed] == null; | 2286 return this[_processed] == null; |
2304 } | 2287 } |
2305 get [_upgradedMap]() { | 2288 get [_upgradedMap]() { |
2306 dart.assert(this[_isUpgraded]); | 2289 dart.assert(this[_isUpgraded]); |
2307 return dart.as(this[_data], core.Map); | 2290 return dart.as(this[_data], core.Map); |
2308 } | 2291 } |
2309 [_computeKeys]() { | 2292 [_computeKeys]() { |
2310 dart.assert(!dart.notNull(this[_isUpgraded])); | 2293 dart.assert(!dart.notNull(this[_isUpgraded])); |
2311 let keys = dart.as(this[_data], core.List); | 2294 let keys = dart.as(this[_data], core.List); |
2312 if (keys == null) { | 2295 if (keys == null) { |
2313 keys = this[_data] = _JsonMap[_getPropertyNames](this[_original]); | 2296 keys = this[_data] = _JsonMap._getPropertyNames(this[_original]); |
2314 } | 2297 } |
2315 return dart.as(keys, core.List$(core.String)); | 2298 return dart.as(keys, core.List$(core.String)); |
2316 } | 2299 } |
2317 [_upgrade]() { | 2300 [_upgrade]() { |
2318 if (this[_isUpgraded]) | 2301 if (this[_isUpgraded]) |
2319 return this[_upgradedMap]; | 2302 return this[_upgradedMap]; |
2320 let result = dart.map(); | 2303 let result = dart.map(); |
2321 let keys = this[_computeKeys](); | 2304 let keys = this[_computeKeys](); |
2322 for (let i = 0; dart.notNull(i) < dart.notNull(keys[core.$length]); i = da
rt.notNull(i) + 1) { | 2305 for (let i = 0; dart.notNull(i) < dart.notNull(keys[core.$length]); i = da
rt.notNull(i) + 1) { |
2323 let key = keys[core.$get](i); | 2306 let key = keys[core.$get](i); |
2324 result.set(key, this.get(key)); | 2307 result.set(key, this.get(key)); |
2325 } | 2308 } |
2326 if (keys[core.$isEmpty]) { | 2309 if (keys[core.$isEmpty]) { |
2327 keys[core.$add](null); | 2310 keys[core.$add](null); |
2328 } else { | 2311 } else { |
2329 keys[core.$clear](); | 2312 keys[core.$clear](); |
2330 } | 2313 } |
2331 this[_original] = this[_processed] = null; | 2314 this[_original] = this[_processed] = null; |
2332 this[_data] = result; | 2315 this[_data] = result; |
2333 dart.assert(this[_isUpgraded]); | 2316 dart.assert(this[_isUpgraded]); |
2334 return result; | 2317 return result; |
2335 } | 2318 } |
2336 [_process](key) { | 2319 [_process](key) { |
2337 if (!dart.notNull(_JsonMap[_hasProperty](this[_original], key))) | 2320 if (!dart.notNull(_JsonMap._hasProperty(this[_original], key))) |
2338 return null; | 2321 return null; |
2339 let result = _convertJsonToDartLazy(_JsonMap[_getProperty](this[_original]
, key)); | 2322 let result = _convertJsonToDartLazy(_JsonMap._getProperty(this[_original],
key)); |
2340 return _JsonMap[_setProperty](this[_processed], key, result); | 2323 return _JsonMap._setProperty(this[_processed], key, result); |
2341 } | 2324 } |
2342 static [_hasProperty](object, key) { | 2325 static _hasProperty(object, key) { |
2343 return Object.prototype.hasOwnProperty.call(object, key); | 2326 return Object.prototype.hasOwnProperty.call(object, key); |
2344 } | 2327 } |
2345 static [_getProperty](object, key) { | 2328 static _getProperty(object, key) { |
2346 return object[key]; | 2329 return object[key]; |
2347 } | 2330 } |
2348 static [_setProperty](object, key, value) { | 2331 static _setProperty(object, key, value) { |
2349 return object[key] = value; | 2332 return object[key] = value; |
2350 } | 2333 } |
2351 static [_getPropertyNames](object) { | 2334 static _getPropertyNames(object) { |
2352 return dart.as(Object.keys(object), core.List); | 2335 return dart.as(Object.keys(object), core.List); |
2353 } | 2336 } |
2354 static [_isUnprocessed](object) { | 2337 static _isUnprocessed(object) { |
2355 return typeof object == "undefined"; | 2338 return typeof object == "undefined"; |
2356 } | 2339 } |
2357 static [_newJavaScriptObject]() { | 2340 static _newJavaScriptObject() { |
2358 return Object.create(null); | 2341 return Object.create(null); |
2359 } | 2342 } |
2360 } | 2343 } |
2361 _JsonMap[dart.implements] = () => [collection.LinkedHashMap]; | 2344 _JsonMap[dart.implements] = () => [collection.LinkedHashMap]; |
2362 let _parent = Symbol('_parent'); | 2345 let _parent = Symbol('_parent'); |
2363 class _JsonMapKeyIterable extends _internal.ListIterable { | 2346 class _JsonMapKeyIterable extends _internal.ListIterable { |
2364 _JsonMapKeyIterable(parent) { | 2347 _JsonMapKeyIterable(parent) { |
2365 this[_parent] = parent; | 2348 this[_parent] = parent; |
2366 super.ListIterable(); | 2349 super.ListIterable(); |
2367 } | 2350 } |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2427 exports.LineSplitter = LineSplitter; | 2410 exports.LineSplitter = LineSplitter; |
2428 exports.StringConversionSink = StringConversionSink; | 2411 exports.StringConversionSink = StringConversionSink; |
2429 exports.ClosableStringSink = ClosableStringSink; | 2412 exports.ClosableStringSink = ClosableStringSink; |
2430 exports.UNICODE_REPLACEMENT_CHARACTER_RUNE = UNICODE_REPLACEMENT_CHARACTER_RUN
E; | 2413 exports.UNICODE_REPLACEMENT_CHARACTER_RUNE = UNICODE_REPLACEMENT_CHARACTER_RUN
E; |
2431 exports.UNICODE_BOM_CHARACTER_RUNE = UNICODE_BOM_CHARACTER_RUNE; | 2414 exports.UNICODE_BOM_CHARACTER_RUNE = UNICODE_BOM_CHARACTER_RUNE; |
2432 exports.UTF8 = UTF8; | 2415 exports.UTF8 = UTF8; |
2433 exports.Utf8Codec = Utf8Codec; | 2416 exports.Utf8Codec = Utf8Codec; |
2434 exports.Utf8Encoder = Utf8Encoder; | 2417 exports.Utf8Encoder = Utf8Encoder; |
2435 exports.Utf8Decoder = Utf8Decoder; | 2418 exports.Utf8Decoder = Utf8Decoder; |
2436 })(convert || (convert = {})); | 2419 })(convert || (convert = {})); |
OLD | NEW |