| OLD | NEW |
| 1 var convert; | 1 var convert; |
| 2 (function(exports) { | 2 (function(exports) { |
| 3 'use strict'; | 3 'use strict'; |
| 4 let _processed = Symbol('_processed'); | |
| 5 let _original = Symbol('_original'); | |
| 6 // Function _convertJsonToDart: (dynamic, (dynamic, dynamic) → dynamic) → dyna
mic | |
| 7 function _convertJsonToDart(json, reviver) { | |
| 8 dart.assert(reviver !== null); | |
| 9 // Function walk: (dynamic) → dynamic | |
| 10 function walk(e) { | |
| 11 if (e == null || typeof e != "object") { | |
| 12 return e; | |
| 13 } | |
| 14 if (Object.getPrototypeOf(e) === Array.prototype) { | |
| 15 for (let i = 0; dart.notNull(i) < e.length; i = dart.notNull(i) + 1) { | |
| 16 let item = e[i]; | |
| 17 e[i] = reviver(i, walk(item)); | |
| 18 } | |
| 19 return e; | |
| 20 } | |
| 21 let map = new _JsonMap(e); | |
| 22 let processed = map[_processed]; | |
| 23 let keys = map._computeKeys(); | |
| 24 for (let i = 0; dart.notNull(i) < dart.notNull(keys.length); i = dart.notN
ull(i) + 1) { | |
| 25 let key = keys.get(i); | |
| 26 let revived = reviver(key, walk(e[key])); | |
| 27 processed[key] = revived; | |
| 28 } | |
| 29 map[_original] = processed; | |
| 30 return map; | |
| 31 } | |
| 32 return reviver(null, walk(json)); | |
| 33 } | |
| 34 // Function _convertJsonToDartLazy: (dynamic) → dynamic | |
| 35 function _convertJsonToDartLazy(object) { | |
| 36 if (object === null) | |
| 37 return null; | |
| 38 if (typeof object != "object") { | |
| 39 return object; | |
| 40 } | |
| 41 if (Object.getPrototypeOf(object) !== Array.prototype) { | |
| 42 return new _JsonMap(object); | |
| 43 } | |
| 44 for (let i = 0; dart.notNull(i) < object.length; i = dart.notNull(i) + 1) { | |
| 45 let item = object[i]; | |
| 46 object[i] = _convertJsonToDartLazy(item); | |
| 47 } | |
| 48 return object; | |
| 49 } | |
| 50 let _data = Symbol('_data'); | |
| 51 let _isUpgraded = Symbol('_isUpgraded'); | |
| 52 let _upgradedMap = Symbol('_upgradedMap'); | |
| 53 let _process = Symbol('_process'); | |
| 54 let _computeKeys = Symbol('_computeKeys'); | |
| 55 let _upgrade = Symbol('_upgrade'); | |
| 56 let _hasProperty = Symbol('_hasProperty'); | |
| 57 let _getProperty = Symbol('_getProperty'); | |
| 58 let _setProperty = Symbol('_setProperty'); | |
| 59 let _getPropertyNames = Symbol('_getPropertyNames'); | |
| 60 let _isUnprocessed = Symbol('_isUnprocessed'); | |
| 61 let _newJavaScriptObject = Symbol('_newJavaScriptObject'); | |
| 62 class _JsonMap extends dart.Object { | |
| 63 _JsonMap($_original) { | |
| 64 this[_processed] = _newJavaScriptObject(); | |
| 65 this[_original] = $_original; | |
| 66 this[_data] = null; | |
| 67 } | |
| 68 get(key) { | |
| 69 if (this[_isUpgraded]) { | |
| 70 return this[_upgradedMap].get(key); | |
| 71 } else if (!(typeof key == string)) { | |
| 72 return null; | |
| 73 } else { | |
| 74 let result = _getProperty(this[_processed], dart.as(key, core.String)); | |
| 75 if (_isUnprocessed(result)) | |
| 76 result = this[_process](dart.as(key, core.String)); | |
| 77 return result; | |
| 78 } | |
| 79 } | |
| 80 get length() { | |
| 81 return this[_isUpgraded] ? this[_upgradedMap].length : this[_computeKeys](
).length; | |
| 82 } | |
| 83 get isEmpty() { | |
| 84 return this.length === 0; | |
| 85 } | |
| 86 get isNotEmpty() { | |
| 87 return dart.notNull(this.length) > 0; | |
| 88 } | |
| 89 get keys() { | |
| 90 if (this[_isUpgraded]) | |
| 91 return this[_upgradedMap].keys; | |
| 92 return new _JsonMapKeyIterable(this); | |
| 93 } | |
| 94 get values() { | |
| 95 if (this[_isUpgraded]) | |
| 96 return this[_upgradedMap].values; | |
| 97 return new _internal.MappedIterable(this[_computeKeys](), ((each) => this.
get(each)).bind(this)); | |
| 98 } | |
| 99 set(key, value) { | |
| 100 if (this[_isUpgraded]) { | |
| 101 this[_upgradedMap].set(key, value); | |
| 102 } else if (this.containsKey(key)) { | |
| 103 let processed = this[_processed]; | |
| 104 _setProperty(processed, dart.as(key, core.String), value); | |
| 105 let original = this[_original]; | |
| 106 if (!dart.notNull(core.identical(original, processed))) { | |
| 107 _setProperty(original, dart.as(key, core.String), null); | |
| 108 } | |
| 109 } else { | |
| 110 this[_upgrade]().set(key, value); | |
| 111 } | |
| 112 } | |
| 113 addAll(other) { | |
| 114 other.forEach(((key, value) => { | |
| 115 this.set(key, value); | |
| 116 }).bind(this)); | |
| 117 } | |
| 118 containsValue(value) { | |
| 119 if (this[_isUpgraded]) | |
| 120 return this[_upgradedMap].containsValue(value); | |
| 121 let keys = this[_computeKeys](); | |
| 122 for (let i = 0; dart.notNull(i) < dart.notNull(keys.length); i = dart.notN
ull(i) + 1) { | |
| 123 let key = keys.get(i); | |
| 124 if (dart.equals(this.get(key), value)) | |
| 125 return true; | |
| 126 } | |
| 127 return false; | |
| 128 } | |
| 129 containsKey(key) { | |
| 130 if (this[_isUpgraded]) | |
| 131 return this[_upgradedMap].containsKey(key); | |
| 132 if (!(typeof key == string)) | |
| 133 return false; | |
| 134 return _hasProperty(this[_original], dart.as(key, core.String)); | |
| 135 } | |
| 136 putIfAbsent(key, ifAbsent) { | |
| 137 if (this.containsKey(key)) | |
| 138 return this.get(key); | |
| 139 let value = ifAbsent(); | |
| 140 this.set(key, value); | |
| 141 return value; | |
| 142 } | |
| 143 remove(key) { | |
| 144 if (!dart.notNull(this[_isUpgraded]) && !dart.notNull(this.containsKey(key
))) | |
| 145 return null; | |
| 146 return this[_upgrade]().remove(key); | |
| 147 } | |
| 148 clear() { | |
| 149 if (this[_isUpgraded]) { | |
| 150 this[_upgradedMap].clear(); | |
| 151 } else { | |
| 152 if (this[_data] !== null) { | |
| 153 dart.dinvoke(this[_data], 'clear'); | |
| 154 } | |
| 155 this[_original] = this[_processed] = null; | |
| 156 this[_data] = dart.map(); | |
| 157 } | |
| 158 } | |
| 159 forEach(f) { | |
| 160 if (this[_isUpgraded]) | |
| 161 return this[_upgradedMap].forEach(f); | |
| 162 let keys = this[_computeKeys](); | |
| 163 for (let i = 0; dart.notNull(i) < dart.notNull(keys.length); i = dart.notN
ull(i) + 1) { | |
| 164 let key = keys.get(i); | |
| 165 let value = _getProperty(this[_processed], key); | |
| 166 if (_isUnprocessed(value)) { | |
| 167 value = _convertJsonToDartLazy(_getProperty(this[_original], key)); | |
| 168 _setProperty(this[_processed], key, value); | |
| 169 } | |
| 170 f(key, value); | |
| 171 if (!dart.notNull(core.identical(keys, this[_data]))) { | |
| 172 throw new core.ConcurrentModificationError(this); | |
| 173 } | |
| 174 } | |
| 175 } | |
| 176 toString() { | |
| 177 return collection.Maps.mapToString(this); | |
| 178 } | |
| 179 get [_isUpgraded]() { | |
| 180 return this[_processed] === null; | |
| 181 } | |
| 182 get [_upgradedMap]() { | |
| 183 dart.assert(this[_isUpgraded]); | |
| 184 return dart.as(this[_data], core.Map); | |
| 185 } | |
| 186 [_computeKeys]() { | |
| 187 dart.assert(!dart.notNull(this[_isUpgraded])); | |
| 188 let keys = dart.as(this[_data], core.List); | |
| 189 if (keys === null) { | |
| 190 keys = this[_data] = _getPropertyNames(this[_original]); | |
| 191 } | |
| 192 return dart.as(keys, core.List$(core.String)); | |
| 193 } | |
| 194 [_upgrade]() { | |
| 195 if (this[_isUpgraded]) | |
| 196 return this[_upgradedMap]; | |
| 197 let result = dart.map(); | |
| 198 let keys = this[_computeKeys](); | |
| 199 for (let i = 0; dart.notNull(i) < dart.notNull(keys.length); i = dart.notN
ull(i) + 1) { | |
| 200 let key = keys.get(i); | |
| 201 result.set(key, this.get(key)); | |
| 202 } | |
| 203 if (keys.isEmpty) { | |
| 204 keys.add(null); | |
| 205 } else { | |
| 206 keys.clear(); | |
| 207 } | |
| 208 this[_original] = this[_processed] = null; | |
| 209 this[_data] = result; | |
| 210 dart.assert(this[_isUpgraded]); | |
| 211 return result; | |
| 212 } | |
| 213 [_process](key) { | |
| 214 if (!dart.notNull(_hasProperty(this[_original], key))) | |
| 215 return null; | |
| 216 let result = _convertJsonToDartLazy(_getProperty(this[_original], key)); | |
| 217 return _setProperty(this[_processed], key, result); | |
| 218 } | |
| 219 static [_hasProperty](object, key) { | |
| 220 return Object.prototype.hasOwnProperty.call(object, key); | |
| 221 } | |
| 222 static [_getProperty](object, key) { | |
| 223 return object[key]; | |
| 224 } | |
| 225 static [_setProperty](object, key, value) { | |
| 226 return object[key] = value; | |
| 227 } | |
| 228 static [_getPropertyNames](object) { | |
| 229 return dart.as(Object.keys(object), core.List); | |
| 230 } | |
| 231 static [_isUnprocessed](object) { | |
| 232 return typeof object == "undefined"; | |
| 233 } | |
| 234 static [_newJavaScriptObject]() { | |
| 235 return Object.create(null); | |
| 236 } | |
| 237 } | |
| 238 let _parent = Symbol('_parent'); | |
| 239 class _JsonMapKeyIterable extends _internal.ListIterable { | |
| 240 _JsonMapKeyIterable($_parent) { | |
| 241 this[_parent] = $_parent; | |
| 242 super.ListIterable(); | |
| 243 } | |
| 244 get length() { | |
| 245 return this[_parent].length; | |
| 246 } | |
| 247 elementAt(index) { | |
| 248 return dart.as(this[_parent][_isUpgraded] ? this[_parent].keys.elementAt(i
ndex) : this[_parent]._computeKeys().get(index), core.String); | |
| 249 } | |
| 250 get iterator() { | |
| 251 return dart.as(this[_parent][_isUpgraded] ? this[_parent].keys.iterator :
this[_parent]._computeKeys().iterator, core.Iterator); | |
| 252 } | |
| 253 contains(key) { | |
| 254 return this[_parent].containsKey(key); | |
| 255 } | |
| 256 } | |
| 257 let _reviver = Symbol('_reviver'); | |
| 258 let _sink = Symbol('_sink'); | |
| 259 let _stringSink = Symbol('_stringSink'); | |
| 260 class _JsonDecoderSink extends _StringSinkConversionSink { | |
| 261 _JsonDecoderSink($_reviver, $_sink) { | |
| 262 this[_reviver] = $_reviver; | |
| 263 this[_sink] = $_sink; | |
| 264 super._StringSinkConversionSink(new core.StringBuffer()); | |
| 265 } | |
| 266 close() { | |
| 267 super.close(); | |
| 268 let buffer = dart.as(this[_stringSink], core.StringBuffer); | |
| 269 let accumulated = buffer.toString(); | |
| 270 buffer.clear(); | |
| 271 let decoded = _parseJson(accumulated, this[_reviver]); | |
| 272 this[_sink].add(decoded); | |
| 273 this[_sink].close(); | |
| 274 } | |
| 275 } | |
| 276 let ASCII = new AsciiCodec(); | 4 let ASCII = new AsciiCodec(); |
| 277 let _ASCII_MASK = 127; | 5 let _ASCII_MASK = 127; |
| 278 let _allowInvalid = Symbol('_allowInvalid'); | 6 let _allowInvalid = Symbol('_allowInvalid'); |
| 279 class AsciiCodec extends Encoding { | 7 class AsciiCodec extends Encoding { |
| 280 AsciiCodec(opt$) { | 8 AsciiCodec(opt$) { |
| 281 let allowInvalid = opt$.allowInvalid === void 0 ? false : opt$.allowInvali
d; | 9 let allowInvalid = opt$.allowInvalid === void 0 ? false : opt$.allowInvali
d; |
| 282 this[_allowInvalid] = allowInvalid; | 10 this[_allowInvalid] = allowInvalid; |
| 283 super.Encoding(); | 11 super.Encoding(); |
| 284 } | 12 } |
| 285 get name() { | 13 get name() { |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 336 } | 64 } |
| 337 bind(stream) { | 65 bind(stream) { |
| 338 return dart.as(super.bind(stream), async.Stream$(core.List$(core.int))); | 66 return dart.as(super.bind(stream), async.Stream$(core.List$(core.int))); |
| 339 } | 67 } |
| 340 } | 68 } |
| 341 class AsciiEncoder extends _UnicodeSubsetEncoder { | 69 class AsciiEncoder extends _UnicodeSubsetEncoder { |
| 342 AsciiEncoder() { | 70 AsciiEncoder() { |
| 343 super._UnicodeSubsetEncoder(_ASCII_MASK); | 71 super._UnicodeSubsetEncoder(_ASCII_MASK); |
| 344 } | 72 } |
| 345 } | 73 } |
| 74 let _sink = Symbol('_sink'); |
| 346 class _UnicodeSubsetEncoderSink extends StringConversionSinkBase { | 75 class _UnicodeSubsetEncoderSink extends StringConversionSinkBase { |
| 347 _UnicodeSubsetEncoderSink($_subsetMask, $_sink) { | 76 _UnicodeSubsetEncoderSink($_subsetMask, $_sink) { |
| 348 this[_subsetMask] = $_subsetMask; | 77 this[_subsetMask] = $_subsetMask; |
| 349 this[_sink] = $_sink; | 78 this[_sink] = $_sink; |
| 350 super.StringConversionSinkBase(); | 79 super.StringConversionSinkBase(); |
| 351 } | 80 } |
| 352 close() { | 81 close() { |
| 353 this[_sink].close(); | 82 this[_sink].close(); |
| 354 } | 83 } |
| 355 addSlice(source, start, end, isLast) { | 84 addSlice(source, start, end, isLast) { |
| (...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 516 close() { | 245 close() { |
| 517 return this[_sink].close(); | 246 return this[_sink].close(); |
| 518 } | 247 } |
| 519 } | 248 } |
| 520 let _buffer = Symbol('_buffer'); | 249 let _buffer = Symbol('_buffer'); |
| 521 let _callback = Symbol('_callback'); | 250 let _callback = Symbol('_callback'); |
| 522 let _bufferIndex = Symbol('_bufferIndex'); | 251 let _bufferIndex = Symbol('_bufferIndex'); |
| 523 let _roundToPowerOf2 = Symbol('_roundToPowerOf2'); | 252 let _roundToPowerOf2 = Symbol('_roundToPowerOf2'); |
| 524 class _ByteCallbackSink extends ByteConversionSinkBase { | 253 class _ByteCallbackSink extends ByteConversionSinkBase { |
| 525 _ByteCallbackSink(callback) { | 254 _ByteCallbackSink(callback) { |
| 526 this[_buffer] = new typed_data.Uint8List(dart.as(_INITIAL_BUFFER_SIZE, cor
e.int)); | 255 this[_buffer] = new typed_data.Uint8List(dart.as(_ByteCallbackSink._INITIA
L_BUFFER_SIZE, core.int)); |
| 527 this[_callback] = callback; | 256 this[_callback] = callback; |
| 528 this[_bufferIndex] = 0; | 257 this[_bufferIndex] = 0; |
| 529 super.ByteConversionSinkBase(); | 258 super.ByteConversionSinkBase(); |
| 530 } | 259 } |
| 531 add(chunk) { | 260 add(chunk) { |
| 532 let freeCount = dart.notNull(this[_buffer].length) - dart.notNull(this[_bu
fferIndex]); | 261 let freeCount = dart.notNull(this[_buffer].length) - dart.notNull(this[_bu
fferIndex]); |
| 533 if (dart.notNull(chunk.length) > dart.notNull(freeCount)) { | 262 if (dart.notNull(chunk.length) > dart.notNull(freeCount)) { |
| 534 let oldLength = this[_buffer].length; | 263 let oldLength = this[_buffer].length; |
| 535 let newLength = dart.notNull(_roundToPowerOf2(dart.notNull(chunk.length)
+ dart.notNull(oldLength))) * 2; | 264 let newLength = dart.notNull(_roundToPowerOf2(dart.notNull(chunk.length)
+ dart.notNull(oldLength))) * 2; |
| 536 let grown = new typed_data.Uint8List(newLength); | 265 let grown = new typed_data.Uint8List(newLength); |
| (...skipping 13 matching lines...) Expand all Loading... |
| 550 v = dart.notNull(v) >> 16; | 279 v = dart.notNull(v) >> 16; |
| 551 v = dart.notNull(v) + 1; | 280 v = dart.notNull(v) + 1; |
| 552 return v; | 281 return v; |
| 553 } | 282 } |
| 554 close() { | 283 close() { |
| 555 this[_callback](this[_buffer].sublist(0, this[_bufferIndex])); | 284 this[_callback](this[_buffer].sublist(0, this[_bufferIndex])); |
| 556 } | 285 } |
| 557 } | 286 } |
| 558 _ByteCallbackSink._INITIAL_BUFFER_SIZE = 1024; | 287 _ByteCallbackSink._INITIAL_BUFFER_SIZE = 1024; |
| 559 let ChunkedConversionSink$ = dart.generic(function(T) { | 288 let ChunkedConversionSink$ = dart.generic(function(T) { |
| 560 class ChunkedConversionSink extends dart.Object { | 289 class ChunkedConversionSink extends core.Object { |
| 561 ChunkedConversionSink() { | 290 ChunkedConversionSink() { |
| 562 } | 291 } |
| 563 ChunkedConversionSink$withCallback(callback) { | 292 ChunkedConversionSink$withCallback(callback) { |
| 564 return new _SimpleCallbackSink(callback); | 293 return new _SimpleCallbackSink(callback); |
| 565 } | 294 } |
| 566 } | 295 } |
| 567 dart.defineNamedConstructor(ChunkedConversionSink, 'withCallback'); | 296 dart.defineNamedConstructor(ChunkedConversionSink, 'withCallback'); |
| 568 return ChunkedConversionSink; | 297 return ChunkedConversionSink; |
| 569 }); | 298 }); |
| 570 let ChunkedConversionSink = ChunkedConversionSink$(dynamic); | 299 let ChunkedConversionSink = ChunkedConversionSink$(dart.dynamic); |
| 571 let _accumulated = Symbol('_accumulated'); | 300 let _accumulated = Symbol('_accumulated'); |
| 572 let _SimpleCallbackSink$ = dart.generic(function(T) { | 301 let _SimpleCallbackSink$ = dart.generic(function(T) { |
| 573 class _SimpleCallbackSink extends ChunkedConversionSink$(T) { | 302 class _SimpleCallbackSink extends ChunkedConversionSink$(T) { |
| 574 _SimpleCallbackSink($_callback) { | 303 _SimpleCallbackSink($_callback) { |
| 575 this[_accumulated] = new List.from([]); | 304 this[_accumulated] = new List.from([]); |
| 576 this[_callback] = $_callback; | 305 this[_callback] = $_callback; |
| 577 super.ChunkedConversionSink(); | 306 super.ChunkedConversionSink(); |
| 578 } | 307 } |
| 579 add(chunk) { | 308 add(chunk) { |
| 580 this[_accumulated].add(chunk); | 309 this[_accumulated].add(chunk); |
| 581 } | 310 } |
| 582 close() { | 311 close() { |
| 583 this[_callback](this[_accumulated]); | 312 this[_callback](this[_accumulated]); |
| 584 } | 313 } |
| 585 } | 314 } |
| 586 return _SimpleCallbackSink; | 315 return _SimpleCallbackSink; |
| 587 }); | 316 }); |
| 588 let _SimpleCallbackSink = _SimpleCallbackSink$(dynamic); | 317 let _SimpleCallbackSink = _SimpleCallbackSink$(dart.dynamic); |
| 589 let _EventSinkAdapter$ = dart.generic(function(T) { | 318 let _EventSinkAdapter$ = dart.generic(function(T) { |
| 590 class _EventSinkAdapter extends dart.Object { | 319 class _EventSinkAdapter extends core.Object { |
| 591 _EventSinkAdapter($_sink) { | 320 _EventSinkAdapter($_sink) { |
| 592 this[_sink] = $_sink; | 321 this[_sink] = $_sink; |
| 593 } | 322 } |
| 594 add(data) { | 323 add(data) { |
| 595 return this[_sink].add(data); | 324 return this[_sink].add(data); |
| 596 } | 325 } |
| 597 close() { | 326 close() { |
| 598 return this[_sink].close(); | 327 return this[_sink].close(); |
| 599 } | 328 } |
| 600 } | 329 } |
| 601 return _EventSinkAdapter; | 330 return _EventSinkAdapter; |
| 602 }); | 331 }); |
| 603 let _EventSinkAdapter = _EventSinkAdapter$(dynamic); | 332 let _EventSinkAdapter = _EventSinkAdapter$(dart.dynamic); |
| 604 let _eventSink = Symbol('_eventSink'); | 333 let _eventSink = Symbol('_eventSink'); |
| 605 let _chunkedSink = Symbol('_chunkedSink'); | 334 let _chunkedSink = Symbol('_chunkedSink'); |
| 606 let _ConverterStreamEventSink$ = dart.generic(function(S, T) { | 335 let _ConverterStreamEventSink$ = dart.generic(function(S, T) { |
| 607 class _ConverterStreamEventSink extends dart.Object { | 336 class _ConverterStreamEventSink extends core.Object { |
| 608 _ConverterStreamEventSink(converter, sink) { | 337 _ConverterStreamEventSink(converter, sink) { |
| 609 this[_eventSink] = sink; | 338 this[_eventSink] = sink; |
| 610 this[_chunkedSink] = converter.startChunkedConversion(sink); | 339 this[_chunkedSink] = converter.startChunkedConversion(sink); |
| 611 } | 340 } |
| 612 add(o) { | 341 add(o) { |
| 613 return this[_chunkedSink].add(o); | 342 return this[_chunkedSink].add(o); |
| 614 } | 343 } |
| 615 addError(error, stackTrace) { | 344 addError(error, stackTrace) { |
| 616 if (stackTrace === void 0) | 345 if (stackTrace === void 0) |
| 617 stackTrace = null; | 346 stackTrace = null; |
| 618 this[_eventSink].addError(error, stackTrace); | 347 this[_eventSink].addError(error, stackTrace); |
| 619 } | 348 } |
| 620 close() { | 349 close() { |
| 621 return this[_chunkedSink].close(); | 350 return this[_chunkedSink].close(); |
| 622 } | 351 } |
| 623 } | 352 } |
| 624 return _ConverterStreamEventSink; | 353 return _ConverterStreamEventSink; |
| 625 }); | 354 }); |
| 626 let _ConverterStreamEventSink = _ConverterStreamEventSink$(dynamic, dynamic); | 355 let _ConverterStreamEventSink = _ConverterStreamEventSink$(dart.dynamic, dart.
dynamic); |
| 627 let Codec$ = dart.generic(function(S, T) { | 356 let Codec$ = dart.generic(function(S, T) { |
| 628 class Codec extends dart.Object { | 357 class Codec extends core.Object { |
| 629 Codec() { | 358 Codec() { |
| 630 } | 359 } |
| 631 encode(input) { | 360 encode(input) { |
| 632 return this.encoder.convert(input); | 361 return this.encoder.convert(input); |
| 633 } | 362 } |
| 634 decode(encoded) { | 363 decode(encoded) { |
| 635 return this.decoder.convert(encoded); | 364 return this.decoder.convert(encoded); |
| 636 } | 365 } |
| 637 fuse(other) { | 366 fuse(other) { |
| 638 return new _FusedCodec(this, other); | 367 return new _FusedCodec(this, other); |
| 639 } | 368 } |
| 640 get inverted() { | 369 get inverted() { |
| 641 return new _InvertedCodec(this); | 370 return new _InvertedCodec(this); |
| 642 } | 371 } |
| 643 } | 372 } |
| 644 return Codec; | 373 return Codec; |
| 645 }); | 374 }); |
| 646 let Codec = Codec$(dynamic, dynamic); | 375 let Codec = Codec$(dart.dynamic, dart.dynamic); |
| 647 let _first = Symbol('_first'); | 376 let _first = Symbol('_first'); |
| 648 let _second = Symbol('_second'); | 377 let _second = Symbol('_second'); |
| 649 let _FusedCodec$ = dart.generic(function(S, M, T) { | 378 let _FusedCodec$ = dart.generic(function(S, M, T) { |
| 650 class _FusedCodec extends Codec$(S, T) { | 379 class _FusedCodec extends Codec$(S, T) { |
| 651 get encoder() { | 380 get encoder() { |
| 652 return dart.as(this[_first].encoder.fuse(this[_second].encoder), Convert
er$(S, T)); | 381 return dart.as(this[_first].encoder.fuse(this[_second].encoder), Convert
er$(S, T)); |
| 653 } | 382 } |
| 654 get decoder() { | 383 get decoder() { |
| 655 return dart.as(this[_second].decoder.fuse(this[_first].decoder), Convert
er$(T, S)); | 384 return dart.as(this[_second].decoder.fuse(this[_first].decoder), Convert
er$(T, S)); |
| 656 } | 385 } |
| 657 _FusedCodec($_first, $_second) { | 386 _FusedCodec($_first, $_second) { |
| 658 this[_first] = $_first; | 387 this[_first] = $_first; |
| 659 this[_second] = $_second; | 388 this[_second] = $_second; |
| 660 super.Codec(); | 389 super.Codec(); |
| 661 } | 390 } |
| 662 } | 391 } |
| 663 return _FusedCodec; | 392 return _FusedCodec; |
| 664 }); | 393 }); |
| 665 let _FusedCodec = _FusedCodec$(dynamic, dynamic, dynamic); | 394 let _FusedCodec = _FusedCodec$(dart.dynamic, dart.dynamic, dart.dynamic); |
| 666 let _codec = Symbol('_codec'); | 395 let _codec = Symbol('_codec'); |
| 667 let _InvertedCodec$ = dart.generic(function(T, S) { | 396 let _InvertedCodec$ = dart.generic(function(T, S) { |
| 668 class _InvertedCodec extends Codec$(T, S) { | 397 class _InvertedCodec extends Codec$(T, S) { |
| 669 _InvertedCodec(codec) { | 398 _InvertedCodec(codec) { |
| 670 this[_codec] = codec; | 399 this[_codec] = codec; |
| 671 super.Codec(); | 400 super.Codec(); |
| 672 } | 401 } |
| 673 get encoder() { | 402 get encoder() { |
| 674 return this[_codec].decoder; | 403 return this[_codec].decoder; |
| 675 } | 404 } |
| 676 get decoder() { | 405 get decoder() { |
| 677 return this[_codec].encoder; | 406 return this[_codec].encoder; |
| 678 } | 407 } |
| 679 get inverted() { | 408 get inverted() { |
| 680 return this[_codec]; | 409 return this[_codec]; |
| 681 } | 410 } |
| 682 } | 411 } |
| 683 return _InvertedCodec; | 412 return _InvertedCodec; |
| 684 }); | 413 }); |
| 685 let _InvertedCodec = _InvertedCodec$(dynamic, dynamic); | 414 let _InvertedCodec = _InvertedCodec$(dart.dynamic, dart.dynamic); |
| 686 let Converter$ = dart.generic(function(S, T) { | 415 let Converter$ = dart.generic(function(S, T) { |
| 687 class Converter extends dart.Object { | 416 class Converter extends core.Object { |
| 688 Converter() { | 417 Converter() { |
| 689 } | 418 } |
| 690 fuse(other) { | 419 fuse(other) { |
| 691 return new _FusedConverter(this, other); | 420 return new _FusedConverter(this, other); |
| 692 } | 421 } |
| 693 startChunkedConversion(sink) { | 422 startChunkedConversion(sink) { |
| 694 throw new core.UnsupportedError(`This converter does not support chunked
conversions: ${this}`); | 423 throw new core.UnsupportedError(`This converter does not support chunked
conversions: ${this}`); |
| 695 } | 424 } |
| 696 bind(source) { | 425 bind(source) { |
| 697 return new async.Stream.eventTransformed(source, ((sink) => new _Convert
erStreamEventSink(this, sink)).bind(this)); | 426 return new async.Stream.eventTransformed(source, ((sink) => new _Convert
erStreamEventSink(this, sink)).bind(this)); |
| 698 } | 427 } |
| 699 } | 428 } |
| 700 return Converter; | 429 return Converter; |
| 701 }); | 430 }); |
| 702 let Converter = Converter$(dynamic, dynamic); | 431 let Converter = Converter$(dart.dynamic, dart.dynamic); |
| 703 let _FusedConverter$ = dart.generic(function(S, M, T) { | 432 let _FusedConverter$ = dart.generic(function(S, M, T) { |
| 704 class _FusedConverter extends Converter$(S, T) { | 433 class _FusedConverter extends Converter$(S, T) { |
| 705 _FusedConverter($_first, $_second) { | 434 _FusedConverter($_first, $_second) { |
| 706 this[_first] = $_first; | 435 this[_first] = $_first; |
| 707 this[_second] = $_second; | 436 this[_second] = $_second; |
| 708 super.Converter(); | 437 super.Converter(); |
| 709 } | 438 } |
| 710 convert(input) { | 439 convert(input) { |
| 711 return dart.as(this[_second].convert(this[_first].convert(input)), T); | 440 return dart.as(this[_second].convert(this[_first].convert(input)), T); |
| 712 } | 441 } |
| 713 startChunkedConversion(sink) { | 442 startChunkedConversion(sink) { |
| 714 return this[_first].startChunkedConversion(this[_second].startChunkedCon
version(sink)); | 443 return this[_first].startChunkedConversion(this[_second].startChunkedCon
version(sink)); |
| 715 } | 444 } |
| 716 } | 445 } |
| 717 return _FusedConverter; | 446 return _FusedConverter; |
| 718 }); | 447 }); |
| 719 let _FusedConverter = _FusedConverter$(dynamic, dynamic, dynamic); | 448 let _FusedConverter = _FusedConverter$(dart.dynamic, dart.dynamic, dart.dynami
c); |
| 720 class Encoding extends Codec$(core.String, core.List$(core.int)) { | 449 class Encoding extends Codec$(core.String, core.List$(core.int)) { |
| 721 Encoding() { | 450 Encoding() { |
| 722 super.Codec(); | 451 super.Codec(); |
| 723 } | 452 } |
| 724 decodeStream(byteStream) { | 453 decodeStream(byteStream) { |
| 725 return dart.as(byteStream.transform(dart.as(this.decoder, async.StreamTran
sformer$(core.List$(core.int), dynamic))).fold(new core.StringBuffer(), (buffer,
string) => dart.dinvoke(buffer, 'write', string), buffer).then((buffer) => dart
.dinvoke(buffer, 'toString')), async.Future$(core.String)); | 454 return dart.as(byteStream.transform(dart.as(this.decoder, async.StreamTran
sformer$(core.List$(core.int), dynamic))).fold(new core.StringBuffer(), (buffer,
string) => dart.dinvoke(buffer, 'write', string), buffer).then((buffer) => dart
.dinvoke(buffer, 'toString')), async.Future$(core.String)); |
| 726 } | 455 } |
| 727 static getByName(name) { | 456 static getByName(name) { |
| 728 if (name === null) | 457 if (name === null) |
| 729 return null; | 458 return null; |
| 730 name = name.toLowerCase(); | 459 name = name.toLowerCase(); |
| 731 return _nameToEncoding.get(name); | 460 return _nameToEncoding.get(name); |
| 732 } | 461 } |
| 733 } | 462 } |
| 734 dart.defineLazyProperties(Encoding, { | 463 dart.defineLazyProperties(Encoding, { |
| 735 get _nameToEncoding() { | 464 get _nameToEncoding() { |
| 736 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}); | 465 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}); |
| 737 }, | 466 }, |
| 738 set _nameToEncoding(_) {} | 467 set _nameToEncoding(_) {} |
| 739 }); | 468 }); |
| 740 let HTML_ESCAPE = new HtmlEscape(); | 469 let HTML_ESCAPE = new HtmlEscape(); |
| 741 let _name = Symbol('_name'); | 470 let _name = Symbol('_name'); |
| 742 class HtmlEscapeMode extends dart.Object { | 471 class HtmlEscapeMode extends core.Object { |
| 743 HtmlEscapeMode$_($_name, escapeLtGt, escapeQuot, escapeApos, escapeSlash) { | 472 HtmlEscapeMode$_($_name, escapeLtGt, escapeQuot, escapeApos, escapeSlash) { |
| 744 this[_name] = $_name; | 473 this[_name] = $_name; |
| 745 this.escapeLtGt = escapeLtGt; | 474 this.escapeLtGt = escapeLtGt; |
| 746 this.escapeQuot = escapeQuot; | 475 this.escapeQuot = escapeQuot; |
| 747 this.escapeApos = escapeApos; | 476 this.escapeApos = escapeApos; |
| 748 this.escapeSlash = escapeSlash; | 477 this.escapeSlash = escapeSlash; |
| 749 } | 478 } |
| 750 toString() { | 479 toString() { |
| 751 return this[_name]; | 480 return this[_name]; |
| 752 } | 481 } |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 855 } | 584 } |
| 856 class JsonCyclicError extends JsonUnsupportedObjectError { | 585 class JsonCyclicError extends JsonUnsupportedObjectError { |
| 857 JsonCyclicError(object) { | 586 JsonCyclicError(object) { |
| 858 super.JsonUnsupportedObjectError(object); | 587 super.JsonUnsupportedObjectError(object); |
| 859 } | 588 } |
| 860 toString() { | 589 toString() { |
| 861 return "Cyclic error in JSON stringify"; | 590 return "Cyclic error in JSON stringify"; |
| 862 } | 591 } |
| 863 } | 592 } |
| 864 let JSON = new JsonCodec(); | 593 let JSON = new JsonCodec(); |
| 594 let _reviver = Symbol('_reviver'); |
| 865 let _toEncodable = Symbol('_toEncodable'); | 595 let _toEncodable = Symbol('_toEncodable'); |
| 866 class JsonCodec extends Codec$(core.Object, core.String) { | 596 class JsonCodec extends Codec$(core.Object, core.String) { |
| 867 JsonCodec(opt$) { | 597 JsonCodec(opt$) { |
| 868 let reviver = opt$.reviver === void 0 ? null : opt$.reviver; | 598 let reviver = opt$.reviver === void 0 ? null : opt$.reviver; |
| 869 let toEncodable = opt$.toEncodable === void 0 ? null : opt$.toEncodable; | 599 let toEncodable = opt$.toEncodable === void 0 ? null : opt$.toEncodable; |
| 870 this[_reviver] = reviver; | 600 this[_reviver] = reviver; |
| 871 this[_toEncodable] = toEncodable; | 601 this[_toEncodable] = toEncodable; |
| 872 super.Codec(); | 602 super.Codec(); |
| 873 } | 603 } |
| 874 JsonCodec$withReviver(reviver) { | 604 JsonCodec$withReviver(reviver) { |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 942 let _indent = Symbol('_indent'); | 672 let _indent = Symbol('_indent'); |
| 943 let _bufferSize = Symbol('_bufferSize'); | 673 let _bufferSize = Symbol('_bufferSize'); |
| 944 let _utf8Encode = Symbol('_utf8Encode'); | 674 let _utf8Encode = Symbol('_utf8Encode'); |
| 945 class JsonUtf8Encoder extends Converter$(core.Object, core.List$(core.int)) { | 675 class JsonUtf8Encoder extends Converter$(core.Object, core.List$(core.int)) { |
| 946 JsonUtf8Encoder(indent, toEncodable, bufferSize) { | 676 JsonUtf8Encoder(indent, toEncodable, bufferSize) { |
| 947 if (indent === void 0) | 677 if (indent === void 0) |
| 948 indent = null; | 678 indent = null; |
| 949 if (toEncodable === void 0) | 679 if (toEncodable === void 0) |
| 950 toEncodable = null; | 680 toEncodable = null; |
| 951 if (bufferSize === void 0) | 681 if (bufferSize === void 0) |
| 952 bufferSize = DEFAULT_BUFFER_SIZE; | 682 bufferSize = JsonUtf8Encoder.DEFAULT_BUFFER_SIZE; |
| 953 this[_indent] = _utf8Encode(indent); | 683 this[_indent] = _utf8Encode(indent); |
| 954 this[_toEncodable] = toEncodable; | 684 this[_toEncodable] = toEncodable; |
| 955 this[_bufferSize] = bufferSize; | 685 this[_bufferSize] = bufferSize; |
| 956 super.Converter(); | 686 super.Converter(); |
| 957 } | 687 } |
| 958 static [_utf8Encode](string) { | 688 static [_utf8Encode](string) { |
| 959 if (string === null) | 689 if (string === null) |
| 960 return null; | 690 return null; |
| 961 if (string.isEmpty) | 691 if (string.isEmpty) |
| 962 return new typed_data.Uint8List(0); | 692 return new typed_data.Uint8List(0); |
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1094 return _convertJsonToDart(parsed, reviver); | 824 return _convertJsonToDart(parsed, reviver); |
| 1095 } | 825 } |
| 1096 } | 826 } |
| 1097 // Function _defaultToEncodable: (dynamic) → Object | 827 // Function _defaultToEncodable: (dynamic) → Object |
| 1098 function _defaultToEncodable(object) { | 828 function _defaultToEncodable(object) { |
| 1099 return dart.dinvoke(object, 'toJson'); | 829 return dart.dinvoke(object, 'toJson'); |
| 1100 } | 830 } |
| 1101 let _seen = Symbol('_seen'); | 831 let _seen = Symbol('_seen'); |
| 1102 let _checkCycle = Symbol('_checkCycle'); | 832 let _checkCycle = Symbol('_checkCycle'); |
| 1103 let _removeSeen = Symbol('_removeSeen'); | 833 let _removeSeen = Symbol('_removeSeen'); |
| 1104 class _JsonStringifier extends dart.Object { | 834 class _JsonStringifier extends core.Object { |
| 1105 _JsonStringifier(_toEncodable) { | 835 _JsonStringifier(_toEncodable) { |
| 1106 this[_seen] = new core.List(); | 836 this[_seen] = new core.List(); |
| 1107 this[_toEncodable] = dart.as(_toEncodable !== null ? _toEncodable : _defau
ltToEncodable, core.Function); | 837 this[_toEncodable] = dart.as(_toEncodable !== null ? _toEncodable : _defau
ltToEncodable, core.Function); |
| 1108 } | 838 } |
| 1109 static hexDigit(x) { | 839 static hexDigit(x) { |
| 1110 return dart.notNull(x) < 10 ? 48 + dart.notNull(x) : 87 + dart.notNull(x); | 840 return dart.notNull(x) < 10 ? 48 + dart.notNull(x) : 87 + dart.notNull(x); |
| 1111 } | 841 } |
| 1112 writeStringContent(s) { | 842 writeStringContent(s) { |
| 1113 let offset = 0; | 843 let offset = 0; |
| 1114 let length = s.length; | 844 let length = s.length; |
| 1115 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull(i
) + 1) { | 845 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull(i
) + 1) { |
| 1116 let charCode = s.codeUnitAt(i); | 846 let charCode = s.codeUnitAt(i); |
| 1117 if (dart.notNull(charCode) > dart.notNull(BACKSLASH)) | 847 if (dart.notNull(charCode) > dart.notNull(_JsonStringifier.BACKSLASH)) |
| 1118 continue; | 848 continue; |
| 1119 if (dart.notNull(charCode) < 32) { | 849 if (dart.notNull(charCode) < 32) { |
| 1120 if (dart.notNull(i) > dart.notNull(offset)) | 850 if (dart.notNull(i) > dart.notNull(offset)) |
| 1121 this.writeStringSlice(s, offset, i); | 851 this.writeStringSlice(s, offset, i); |
| 1122 offset = dart.notNull(i) + 1; | 852 offset = dart.notNull(i) + 1; |
| 1123 this.writeCharCode(BACKSLASH); | 853 this.writeCharCode(_JsonStringifier.BACKSLASH); |
| 1124 switch (charCode) { | 854 switch (charCode) { |
| 1125 case BACKSPACE: | 855 case _JsonStringifier.BACKSPACE: |
| 1126 this.writeCharCode(CHAR_b); | 856 this.writeCharCode(_JsonStringifier.CHAR_b); |
| 1127 break; | 857 break; |
| 1128 case TAB: | 858 case _JsonStringifier.TAB: |
| 1129 this.writeCharCode(CHAR_t); | 859 this.writeCharCode(_JsonStringifier.CHAR_t); |
| 1130 break; | 860 break; |
| 1131 case NEWLINE: | 861 case _JsonStringifier.NEWLINE: |
| 1132 this.writeCharCode(CHAR_n); | 862 this.writeCharCode(_JsonStringifier.CHAR_n); |
| 1133 break; | 863 break; |
| 1134 case FORM_FEED: | 864 case _JsonStringifier.FORM_FEED: |
| 1135 this.writeCharCode(CHAR_f); | 865 this.writeCharCode(_JsonStringifier.CHAR_f); |
| 1136 break; | 866 break; |
| 1137 case CARRIAGE_RETURN: | 867 case _JsonStringifier.CARRIAGE_RETURN: |
| 1138 this.writeCharCode(CHAR_r); | 868 this.writeCharCode(_JsonStringifier.CHAR_r); |
| 1139 break; | 869 break; |
| 1140 default: | 870 default: |
| 1141 this.writeCharCode(CHAR_u); | 871 this.writeCharCode(_JsonStringifier.CHAR_u); |
| 1142 this.writeCharCode(CHAR_0); | 872 this.writeCharCode(_JsonStringifier.CHAR_0); |
| 1143 this.writeCharCode(CHAR_0); | 873 this.writeCharCode(_JsonStringifier.CHAR_0); |
| 1144 this.writeCharCode(hexDigit(dart.notNull(charCode) >> 4 & 15)); | 874 this.writeCharCode(hexDigit(dart.notNull(charCode) >> 4 & 15)); |
| 1145 this.writeCharCode(hexDigit(dart.notNull(charCode) & 15)); | 875 this.writeCharCode(hexDigit(dart.notNull(charCode) & 15)); |
| 1146 break; | 876 break; |
| 1147 } | 877 } |
| 1148 } else if (charCode === QUOTE || charCode === BACKSLASH) { | 878 } else if (charCode === _JsonStringifier.QUOTE || charCode === _JsonStri
ngifier.BACKSLASH) { |
| 1149 if (dart.notNull(i) > dart.notNull(offset)) | 879 if (dart.notNull(i) > dart.notNull(offset)) |
| 1150 this.writeStringSlice(s, offset, i); | 880 this.writeStringSlice(s, offset, i); |
| 1151 offset = dart.notNull(i) + 1; | 881 offset = dart.notNull(i) + 1; |
| 1152 this.writeCharCode(BACKSLASH); | 882 this.writeCharCode(_JsonStringifier.BACKSLASH); |
| 1153 this.writeCharCode(charCode); | 883 this.writeCharCode(charCode); |
| 1154 } | 884 } |
| 1155 } | 885 } |
| 1156 if (offset === 0) { | 886 if (offset === 0) { |
| 1157 this.writeString(s); | 887 this.writeString(s); |
| 1158 } else if (dart.notNull(offset) < dart.notNull(length)) { | 888 } else if (dart.notNull(offset) < dart.notNull(length)) { |
| 1159 this.writeStringSlice(s, offset, length); | 889 this.writeStringSlice(s, offset, length); |
| 1160 } | 890 } |
| 1161 } | 891 } |
| 1162 [_checkCycle](object) { | 892 [_checkCycle](object) { |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1253 _JsonStringifier.QUOTE = 34; | 983 _JsonStringifier.QUOTE = 34; |
| 1254 _JsonStringifier.CHAR_0 = 48; | 984 _JsonStringifier.CHAR_0 = 48; |
| 1255 _JsonStringifier.BACKSLASH = 92; | 985 _JsonStringifier.BACKSLASH = 92; |
| 1256 _JsonStringifier.CHAR_b = 98; | 986 _JsonStringifier.CHAR_b = 98; |
| 1257 _JsonStringifier.CHAR_f = 102; | 987 _JsonStringifier.CHAR_f = 102; |
| 1258 _JsonStringifier.CHAR_n = 110; | 988 _JsonStringifier.CHAR_n = 110; |
| 1259 _JsonStringifier.CHAR_r = 114; | 989 _JsonStringifier.CHAR_r = 114; |
| 1260 _JsonStringifier.CHAR_t = 116; | 990 _JsonStringifier.CHAR_t = 116; |
| 1261 _JsonStringifier.CHAR_u = 117; | 991 _JsonStringifier.CHAR_u = 117; |
| 1262 let _indentLevel = Symbol('_indentLevel'); | 992 let _indentLevel = Symbol('_indentLevel'); |
| 1263 class _JsonPrettyPrintMixin extends dart.Object { | 993 class _JsonPrettyPrintMixin extends core.Object { |
| 1264 _JsonPrettyPrintMixin() { | 994 _JsonPrettyPrintMixin() { |
| 1265 this[_indentLevel] = 0; | 995 this[_indentLevel] = 0; |
| 1266 } | 996 } |
| 1267 writeList(list) { | 997 writeList(list) { |
| 1268 if (list.isEmpty) { | 998 if (list.isEmpty) { |
| 1269 this.writeString('[]'); | 999 this.writeString('[]'); |
| 1270 } else { | 1000 } else { |
| 1271 this.writeString('[\n'); | 1001 this.writeString('[\n'); |
| 1272 this[_indentLevel] = dart.notNull(this[_indentLevel]) + 1; | 1002 this[_indentLevel] = dart.notNull(this[_indentLevel]) + 1; |
| 1273 this.writeIndentation(this[_indentLevel]); | 1003 this.writeIndentation(this[_indentLevel]); |
| (...skipping 343 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1617 this[_sink].close(); | 1347 this[_sink].close(); |
| 1618 } | 1348 } |
| 1619 close() { | 1349 close() { |
| 1620 this.addSlice('', 0, 0, true); | 1350 this.addSlice('', 0, 0, true); |
| 1621 } | 1351 } |
| 1622 static [_addSlice](chunk, start, end, isLast, adder) { | 1352 static [_addSlice](chunk, start, end, isLast, adder) { |
| 1623 let pos = start; | 1353 let pos = start; |
| 1624 while (dart.notNull(pos) < dart.notNull(end)) { | 1354 while (dart.notNull(pos) < dart.notNull(end)) { |
| 1625 let skip = 0; | 1355 let skip = 0; |
| 1626 let char = chunk.codeUnitAt(pos); | 1356 let char = chunk.codeUnitAt(pos); |
| 1627 if (char === _LF) { | 1357 if (char === _LineSplitterSink._LF) { |
| 1628 skip = 1; | 1358 skip = 1; |
| 1629 } else if (char === _CR) { | 1359 } else if (char === _LineSplitterSink._CR) { |
| 1630 skip = 1; | 1360 skip = 1; |
| 1631 if (dart.notNull(pos) + 1 < dart.notNull(end)) { | 1361 if (dart.notNull(pos) + 1 < dart.notNull(end)) { |
| 1632 if (chunk.codeUnitAt(dart.notNull(pos) + 1) === _LF) { | 1362 if (chunk.codeUnitAt(dart.notNull(pos) + 1) === _LineSplitterSink._L
F) { |
| 1633 skip = 2; | 1363 skip = 2; |
| 1634 } | 1364 } |
| 1635 } else if (!dart.notNull(isLast)) { | 1365 } else if (!dart.notNull(isLast)) { |
| 1636 return chunk.substring(start, end); | 1366 return chunk.substring(start, end); |
| 1637 } | 1367 } |
| 1638 } | 1368 } |
| 1639 if (dart.notNull(skip) > 0) { | 1369 if (dart.notNull(skip) > 0) { |
| 1640 adder(chunk.substring(start, pos)); | 1370 adder(chunk.substring(start, pos)); |
| 1641 start = pos = dart.notNull(pos) + dart.notNull(skip); | 1371 start = pos = dart.notNull(pos) + dart.notNull(skip); |
| 1642 } else { | 1372 } else { |
| (...skipping 29 matching lines...) Expand all Loading... |
| 1672 } | 1402 } |
| 1673 dart.defineNamedConstructor(StringConversionSink, 'withCallback'); | 1403 dart.defineNamedConstructor(StringConversionSink, 'withCallback'); |
| 1674 dart.defineNamedConstructor(StringConversionSink, 'from'); | 1404 dart.defineNamedConstructor(StringConversionSink, 'from'); |
| 1675 dart.defineNamedConstructor(StringConversionSink, 'fromStringSink'); | 1405 dart.defineNamedConstructor(StringConversionSink, 'fromStringSink'); |
| 1676 class ClosableStringSink extends core.StringSink { | 1406 class ClosableStringSink extends core.StringSink { |
| 1677 ClosableStringSink$fromStringSink(sink, onClose) { | 1407 ClosableStringSink$fromStringSink(sink, onClose) { |
| 1678 return new _ClosableStringSink(sink, onClose); | 1408 return new _ClosableStringSink(sink, onClose); |
| 1679 } | 1409 } |
| 1680 } | 1410 } |
| 1681 dart.defineNamedConstructor(ClosableStringSink, 'fromStringSink'); | 1411 dart.defineNamedConstructor(ClosableStringSink, 'fromStringSink'); |
| 1682 class _ClosableStringSink extends dart.Object { | 1412 class _ClosableStringSink extends core.Object { |
| 1683 _ClosableStringSink($_sink, $_callback) { | 1413 _ClosableStringSink($_sink, $_callback) { |
| 1684 this[_sink] = $_sink; | 1414 this[_sink] = $_sink; |
| 1685 this[_callback] = $_callback; | 1415 this[_callback] = $_callback; |
| 1686 } | 1416 } |
| 1687 close() { | 1417 close() { |
| 1688 return this[_callback](); | 1418 return this[_callback](); |
| 1689 } | 1419 } |
| 1690 writeCharCode(charCode) { | 1420 writeCharCode(charCode) { |
| 1691 return this[_sink].writeCharCode(charCode); | 1421 return this[_sink].writeCharCode(charCode); |
| 1692 } | 1422 } |
| 1693 write(o) { | 1423 write(o) { |
| 1694 return this[_sink].write(o); | 1424 return this[_sink].write(o); |
| 1695 } | 1425 } |
| 1696 writeln(o) { | 1426 writeln(o) { |
| 1697 if (o === void 0) | 1427 if (o === void 0) |
| 1698 o = ""; | 1428 o = ""; |
| 1699 return this[_sink].writeln(o); | 1429 return this[_sink].writeln(o); |
| 1700 } | 1430 } |
| 1701 writeAll(objects, separator) { | 1431 writeAll(objects, separator) { |
| 1702 if (separator === void 0) | 1432 if (separator === void 0) |
| 1703 separator = ""; | 1433 separator = ""; |
| 1704 return this[_sink].writeAll(objects, separator); | 1434 return this[_sink].writeAll(objects, separator); |
| 1705 } | 1435 } |
| 1706 } | 1436 } |
| 1707 let _flush = Symbol('_flush'); | 1437 let _flush = Symbol('_flush'); |
| 1708 class _StringConversionSinkAsStringSinkAdapter extends dart.Object { | 1438 class _StringConversionSinkAsStringSinkAdapter extends core.Object { |
| 1709 _StringConversionSinkAsStringSinkAdapter($_chunkedSink) { | 1439 _StringConversionSinkAsStringSinkAdapter($_chunkedSink) { |
| 1710 this[_chunkedSink] = $_chunkedSink; | 1440 this[_chunkedSink] = $_chunkedSink; |
| 1711 this[_buffer] = new core.StringBuffer(); | 1441 this[_buffer] = new core.StringBuffer(); |
| 1712 } | 1442 } |
| 1713 close() { | 1443 close() { |
| 1714 if (this[_buffer].isNotEmpty) | 1444 if (this[_buffer].isNotEmpty) |
| 1715 this[_flush](); | 1445 this[_flush](); |
| 1716 this[_chunkedSink].close(); | 1446 this[_chunkedSink].close(); |
| 1717 } | 1447 } |
| 1718 writeCharCode(charCode) { | 1448 writeCharCode(charCode) { |
| 1719 this[_buffer].writeCharCode(charCode); | 1449 this[_buffer].writeCharCode(charCode); |
| 1720 if (this[_buffer].length['>'](_MIN_STRING_SIZE)) | 1450 if (this[_buffer].length['>'](_StringConversionSinkAsStringSinkAdapter._MI
N_STRING_SIZE)) |
| 1721 this[_flush](); | 1451 this[_flush](); |
| 1722 } | 1452 } |
| 1723 write(o) { | 1453 write(o) { |
| 1724 if (this[_buffer].isNotEmpty) | 1454 if (this[_buffer].isNotEmpty) |
| 1725 this[_flush](); | 1455 this[_flush](); |
| 1726 let str = o.toString(); | 1456 let str = o.toString(); |
| 1727 this[_chunkedSink].add(o.toString()); | 1457 this[_chunkedSink].add(o.toString()); |
| 1728 } | 1458 } |
| 1729 writeln(o) { | 1459 writeln(o) { |
| 1730 if (o === void 0) | 1460 if (o === void 0) |
| 1731 o = ""; | 1461 o = ""; |
| 1732 this[_buffer].writeln(o); | 1462 this[_buffer].writeln(o); |
| 1733 if (this[_buffer].length['>'](_MIN_STRING_SIZE)) | 1463 if (this[_buffer].length['>'](_StringConversionSinkAsStringSinkAdapter._MI
N_STRING_SIZE)) |
| 1734 this[_flush](); | 1464 this[_flush](); |
| 1735 } | 1465 } |
| 1736 writeAll(objects, separator) { | 1466 writeAll(objects, separator) { |
| 1737 if (separator === void 0) | 1467 if (separator === void 0) |
| 1738 separator = ""; | 1468 separator = ""; |
| 1739 if (this[_buffer].isNotEmpty) | 1469 if (this[_buffer].isNotEmpty) |
| 1740 this[_flush](); | 1470 this[_flush](); |
| 1741 let iterator = objects.iterator; | 1471 let iterator = objects.iterator; |
| 1742 if (!dart.notNull(iterator.moveNext())) | 1472 if (!dart.notNull(iterator.moveNext())) |
| 1743 return; | 1473 return; |
| (...skipping 11 matching lines...) Expand all Loading... |
| 1755 } | 1485 } |
| 1756 [_flush]() { | 1486 [_flush]() { |
| 1757 let accumulated = this[_buffer].toString(); | 1487 let accumulated = this[_buffer].toString(); |
| 1758 this[_buffer].clear(); | 1488 this[_buffer].clear(); |
| 1759 this[_chunkedSink].add(accumulated); | 1489 this[_chunkedSink].add(accumulated); |
| 1760 } | 1490 } |
| 1761 } | 1491 } |
| 1762 _StringConversionSinkAsStringSinkAdapter._MIN_STRING_SIZE = 16; | 1492 _StringConversionSinkAsStringSinkAdapter._MIN_STRING_SIZE = 16; |
| 1763 class StringConversionSinkBase extends StringConversionSinkMixin { | 1493 class StringConversionSinkBase extends StringConversionSinkMixin { |
| 1764 } | 1494 } |
| 1765 class StringConversionSinkMixin extends dart.Object { | 1495 class StringConversionSinkMixin extends core.Object { |
| 1766 add(str) { | 1496 add(str) { |
| 1767 return this.addSlice(str, 0, str.length, false); | 1497 return this.addSlice(str, 0, str.length, false); |
| 1768 } | 1498 } |
| 1769 asUtf8Sink(allowMalformed) { | 1499 asUtf8Sink(allowMalformed) { |
| 1770 return new _Utf8ConversionSink(this, allowMalformed); | 1500 return new _Utf8ConversionSink(this, allowMalformed); |
| 1771 } | 1501 } |
| 1772 asStringSink() { | 1502 asStringSink() { |
| 1773 return new _StringConversionSinkAsStringSinkAdapter(this); | 1503 return new _StringConversionSinkAsStringSinkAdapter(this); |
| 1774 } | 1504 } |
| 1775 } | 1505 } |
| 1506 let _stringSink = Symbol('_stringSink'); |
| 1776 class _StringSinkConversionSink extends StringConversionSinkBase { | 1507 class _StringSinkConversionSink extends StringConversionSinkBase { |
| 1777 _StringSinkConversionSink($_stringSink) { | 1508 _StringSinkConversionSink($_stringSink) { |
| 1778 this[_stringSink] = $_stringSink; | 1509 this[_stringSink] = $_stringSink; |
| 1779 super.StringConversionSinkBase(); | 1510 super.StringConversionSinkBase(); |
| 1780 } | 1511 } |
| 1781 close() {} | 1512 close() {} |
| 1782 addSlice(str, start, end, isLast) { | 1513 addSlice(str, start, end, isLast) { |
| 1783 if (start !== 0 || end !== str.length) { | 1514 if (start !== 0 || end !== str.length) { |
| 1784 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNul
l(i) + 1) { | 1515 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNul
l(i) + 1) { |
| 1785 this[_stringSink].writeCharCode(str.codeUnitAt(i)); | 1516 this[_stringSink].writeCharCode(str.codeUnitAt(i)); |
| (...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1954 return new _Utf8EncoderSink(dart.as(sink, ByteConversionSink)); | 1685 return new _Utf8EncoderSink(dart.as(sink, ByteConversionSink)); |
| 1955 } | 1686 } |
| 1956 bind(stream) { | 1687 bind(stream) { |
| 1957 return dart.as(super.bind(stream), async.Stream$(core.List$(core.int))); | 1688 return dart.as(super.bind(stream), async.Stream$(core.List$(core.int))); |
| 1958 } | 1689 } |
| 1959 } | 1690 } |
| 1960 let _Utf8Encoder$withBufferSize = Symbol('_Utf8Encoder$withBufferSize'); | 1691 let _Utf8Encoder$withBufferSize = Symbol('_Utf8Encoder$withBufferSize'); |
| 1961 let _createBuffer = Symbol('_createBuffer'); | 1692 let _createBuffer = Symbol('_createBuffer'); |
| 1962 let _writeSurrogate = Symbol('_writeSurrogate'); | 1693 let _writeSurrogate = Symbol('_writeSurrogate'); |
| 1963 let _fillBuffer = Symbol('_fillBuffer'); | 1694 let _fillBuffer = Symbol('_fillBuffer'); |
| 1964 class _Utf8Encoder extends dart.Object { | 1695 class _Utf8Encoder extends core.Object { |
| 1965 _Utf8Encoder() { | 1696 _Utf8Encoder() { |
| 1966 this[_Utf8Encoder$withBufferSize](dart.as(_DEFAULT_BYTE_BUFFER_SIZE, core.
int)); | 1697 this[_Utf8Encoder$withBufferSize](dart.as(_Utf8Encoder._DEFAULT_BYTE_BUFFE
R_SIZE, core.int)); |
| 1967 } | 1698 } |
| 1968 _Utf8Encoder$withBufferSize(bufferSize) { | 1699 _Utf8Encoder$withBufferSize(bufferSize) { |
| 1969 this[_buffer] = _createBuffer(bufferSize); | 1700 this[_buffer] = _createBuffer(bufferSize); |
| 1970 this[_carry] = 0; | 1701 this[_carry] = 0; |
| 1971 this[_bufferIndex] = 0; | 1702 this[_bufferIndex] = 0; |
| 1972 } | 1703 } |
| 1973 static [_createBuffer](size) { | 1704 static [_createBuffer](size) { |
| 1974 return new typed_data.Uint8List(size); | 1705 return new typed_data.Uint8List(size); |
| 1975 } | 1706 } |
| 1976 [_writeSurrogate](leadingSurrogate, nextCodeUnit) { | 1707 [_writeSurrogate](leadingSurrogate, nextCodeUnit) { |
| (...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2138 return (dart.notNull(codeUnit) & dart.notNull(_SURROGATE_TAG_MASK)) === _TAI
L_SURROGATE_MIN; | 1869 return (dart.notNull(codeUnit) & dart.notNull(_SURROGATE_TAG_MASK)) === _TAI
L_SURROGATE_MIN; |
| 2139 } | 1870 } |
| 2140 // Function _combineSurrogatePair: (int, int) → int | 1871 // Function _combineSurrogatePair: (int, int) → int |
| 2141 function _combineSurrogatePair(lead, tail) { | 1872 function _combineSurrogatePair(lead, tail) { |
| 2142 return 65536 + ((dart.notNull(lead) & dart.notNull(_SURROGATE_VALUE_MASK)) <
< 10) | dart.notNull(tail) & dart.notNull(_SURROGATE_VALUE_MASK); | 1873 return 65536 + ((dart.notNull(lead) & dart.notNull(_SURROGATE_VALUE_MASK)) <
< 10) | dart.notNull(tail) & dart.notNull(_SURROGATE_VALUE_MASK); |
| 2143 } | 1874 } |
| 2144 let _isFirstCharacter = Symbol('_isFirstCharacter'); | 1875 let _isFirstCharacter = Symbol('_isFirstCharacter'); |
| 2145 let _value = Symbol('_value'); | 1876 let _value = Symbol('_value'); |
| 2146 let _expectedUnits = Symbol('_expectedUnits'); | 1877 let _expectedUnits = Symbol('_expectedUnits'); |
| 2147 let _extraUnits = Symbol('_extraUnits'); | 1878 let _extraUnits = Symbol('_extraUnits'); |
| 2148 class _Utf8Decoder extends dart.Object { | 1879 class _Utf8Decoder extends core.Object { |
| 2149 _Utf8Decoder($_stringSink, $_allowMalformed) { | 1880 _Utf8Decoder($_stringSink, $_allowMalformed) { |
| 2150 this[_stringSink] = $_stringSink; | 1881 this[_stringSink] = $_stringSink; |
| 2151 this[_allowMalformed] = $_allowMalformed; | 1882 this[_allowMalformed] = $_allowMalformed; |
| 2152 this[_isFirstCharacter] = true; | 1883 this[_isFirstCharacter] = true; |
| 2153 this[_value] = 0; | 1884 this[_value] = 0; |
| 2154 this[_expectedUnits] = 0; | 1885 this[_expectedUnits] = 0; |
| 2155 this[_extraUnits] = 0; | 1886 this[_extraUnits] = 0; |
| 2156 } | 1887 } |
| 2157 get hasPartialInput() { | 1888 get hasPartialInput() { |
| 2158 return dart.notNull(this[_expectedUnits]) > 0; | 1889 return dart.notNull(this[_expectedUnits]) > 0; |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2212 } | 1943 } |
| 2213 this[_isFirstCharacter] = false; | 1944 this[_isFirstCharacter] = false; |
| 2214 this[_stringSink].writeCharCode(UNICODE_REPLACEMENT_CHARACTER_
RUNE); | 1945 this[_stringSink].writeCharCode(UNICODE_REPLACEMENT_CHARACTER_
RUNE); |
| 2215 break multibyte; | 1946 break multibyte; |
| 2216 } else { | 1947 } else { |
| 2217 value = dart.notNull(value) << 6 | dart.notNull(unit) & 63; | 1948 value = dart.notNull(value) << 6 | dart.notNull(unit) & 63; |
| 2218 expectedUnits = dart.notNull(expectedUnits) - 1; | 1949 expectedUnits = dart.notNull(expectedUnits) - 1; |
| 2219 i = dart.notNull(i) + 1; | 1950 i = dart.notNull(i) + 1; |
| 2220 } | 1951 } |
| 2221 } while (dart.notNull(expectedUnits) > 0); | 1952 } while (dart.notNull(expectedUnits) > 0); |
| 2222 if (dart.notNull(value) <= dart.notNull(_LIMITS.get(dart.notNull(e
xtraUnits) - 1))) { | 1953 if (dart.notNull(value) <= dart.notNull(_Utf8Decoder._LIMITS.get(d
art.notNull(extraUnits) - 1))) { |
| 2223 if (!dart.notNull(this[_allowMalformed])) { | 1954 if (!dart.notNull(this[_allowMalformed])) { |
| 2224 throw new core.FormatException(`Overlong encoding of 0x${value
.toRadixString(16)}`); | 1955 throw new core.FormatException(`Overlong encoding of 0x${value
.toRadixString(16)}`); |
| 2225 } | 1956 } |
| 2226 expectedUnits = extraUnits = 0; | 1957 expectedUnits = extraUnits = 0; |
| 2227 value = UNICODE_REPLACEMENT_CHARACTER_RUNE; | 1958 value = UNICODE_REPLACEMENT_CHARACTER_RUNE; |
| 2228 } | 1959 } |
| 2229 if (dart.notNull(value) > dart.notNull(_FOUR_BYTE_LIMIT)) { | 1960 if (dart.notNull(value) > dart.notNull(_FOUR_BYTE_LIMIT)) { |
| 2230 if (!dart.notNull(this[_allowMalformed])) { | 1961 if (!dart.notNull(this[_allowMalformed])) { |
| 2231 throw new core.FormatException("Character outside valid Unicod
e range: " + `0x${value.toRadixString(16)}`); | 1962 throw new core.FormatException("Character outside valid Unicod
e range: " + `0x${value.toRadixString(16)}`); |
| 2232 } | 1963 } |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2281 break loop; | 2012 break loop; |
| 2282 } | 2013 } |
| 2283 if (dart.notNull(expectedUnits) > 0) { | 2014 if (dart.notNull(expectedUnits) > 0) { |
| 2284 this[_value] = value; | 2015 this[_value] = value; |
| 2285 this[_expectedUnits] = expectedUnits; | 2016 this[_expectedUnits] = expectedUnits; |
| 2286 this[_extraUnits] = extraUnits; | 2017 this[_extraUnits] = extraUnits; |
| 2287 } | 2018 } |
| 2288 } | 2019 } |
| 2289 } | 2020 } |
| 2290 _Utf8Decoder._LIMITS = /* Unimplemented const */new List.from([_ONE_BYTE_LIMIT
, _TWO_BYTE_LIMIT, _THREE_BYTE_LIMIT, _FOUR_BYTE_LIMIT]); | 2021 _Utf8Decoder._LIMITS = /* Unimplemented const */new List.from([_ONE_BYTE_LIMIT
, _TWO_BYTE_LIMIT, _THREE_BYTE_LIMIT, _FOUR_BYTE_LIMIT]); |
| 2022 let _processed = Symbol('_processed'); |
| 2023 let _original = Symbol('_original'); |
| 2024 // Function _convertJsonToDart: (dynamic, (dynamic, dynamic) → dynamic) → dyna
mic |
| 2025 function _convertJsonToDart(json, reviver) { |
| 2026 dart.assert(reviver !== null); |
| 2027 // Function walk: (dynamic) → dynamic |
| 2028 function walk(e) { |
| 2029 if (e == null || typeof e != "object") { |
| 2030 return e; |
| 2031 } |
| 2032 if (Object.getPrototypeOf(e) === Array.prototype) { |
| 2033 for (let i = 0; dart.notNull(i) < e.length; i = dart.notNull(i) + 1) { |
| 2034 let item = e[i]; |
| 2035 e[i] = reviver(i, walk(item)); |
| 2036 } |
| 2037 return e; |
| 2038 } |
| 2039 let map = new _JsonMap(e); |
| 2040 let processed = map[_processed]; |
| 2041 let keys = map._computeKeys(); |
| 2042 for (let i = 0; dart.notNull(i) < dart.notNull(keys.length); i = dart.notN
ull(i) + 1) { |
| 2043 let key = keys.get(i); |
| 2044 let revived = reviver(key, walk(e[key])); |
| 2045 processed[key] = revived; |
| 2046 } |
| 2047 map[_original] = processed; |
| 2048 return map; |
| 2049 } |
| 2050 return reviver(null, walk(json)); |
| 2051 } |
| 2052 // Function _convertJsonToDartLazy: (dynamic) → dynamic |
| 2053 function _convertJsonToDartLazy(object) { |
| 2054 if (object === null) |
| 2055 return null; |
| 2056 if (typeof object != "object") { |
| 2057 return object; |
| 2058 } |
| 2059 if (Object.getPrototypeOf(object) !== Array.prototype) { |
| 2060 return new _JsonMap(object); |
| 2061 } |
| 2062 for (let i = 0; dart.notNull(i) < object.length; i = dart.notNull(i) + 1) { |
| 2063 let item = object[i]; |
| 2064 object[i] = _convertJsonToDartLazy(item); |
| 2065 } |
| 2066 return object; |
| 2067 } |
| 2068 let _data = Symbol('_data'); |
| 2069 let _isUpgraded = Symbol('_isUpgraded'); |
| 2070 let _upgradedMap = Symbol('_upgradedMap'); |
| 2071 let _process = Symbol('_process'); |
| 2072 let _computeKeys = Symbol('_computeKeys'); |
| 2073 let _upgrade = Symbol('_upgrade'); |
| 2074 let _hasProperty = Symbol('_hasProperty'); |
| 2075 let _getProperty = Symbol('_getProperty'); |
| 2076 let _setProperty = Symbol('_setProperty'); |
| 2077 let _getPropertyNames = Symbol('_getPropertyNames'); |
| 2078 let _isUnprocessed = Symbol('_isUnprocessed'); |
| 2079 let _newJavaScriptObject = Symbol('_newJavaScriptObject'); |
| 2080 class _JsonMap extends core.Object { |
| 2081 _JsonMap($_original) { |
| 2082 this[_processed] = _newJavaScriptObject(); |
| 2083 this[_original] = $_original; |
| 2084 this[_data] = null; |
| 2085 } |
| 2086 get(key) { |
| 2087 if (this[_isUpgraded]) { |
| 2088 return this[_upgradedMap].get(key); |
| 2089 } else if (!(typeof key == string)) { |
| 2090 return null; |
| 2091 } else { |
| 2092 let result = _getProperty(this[_processed], dart.as(key, core.String)); |
| 2093 if (_isUnprocessed(result)) |
| 2094 result = this[_process](dart.as(key, core.String)); |
| 2095 return result; |
| 2096 } |
| 2097 } |
| 2098 get length() { |
| 2099 return this[_isUpgraded] ? this[_upgradedMap].length : this[_computeKeys](
).length; |
| 2100 } |
| 2101 get isEmpty() { |
| 2102 return this.length === 0; |
| 2103 } |
| 2104 get isNotEmpty() { |
| 2105 return dart.notNull(this.length) > 0; |
| 2106 } |
| 2107 get keys() { |
| 2108 if (this[_isUpgraded]) |
| 2109 return this[_upgradedMap].keys; |
| 2110 return new _JsonMapKeyIterable(this); |
| 2111 } |
| 2112 get values() { |
| 2113 if (this[_isUpgraded]) |
| 2114 return this[_upgradedMap].values; |
| 2115 return new _internal.MappedIterable(this[_computeKeys](), ((each) => this.
get(each)).bind(this)); |
| 2116 } |
| 2117 set(key, value) { |
| 2118 if (this[_isUpgraded]) { |
| 2119 this[_upgradedMap].set(key, value); |
| 2120 } else if (this.containsKey(key)) { |
| 2121 let processed = this[_processed]; |
| 2122 _setProperty(processed, dart.as(key, core.String), value); |
| 2123 let original = this[_original]; |
| 2124 if (!dart.notNull(core.identical(original, processed))) { |
| 2125 _setProperty(original, dart.as(key, core.String), null); |
| 2126 } |
| 2127 } else { |
| 2128 this[_upgrade]().set(key, value); |
| 2129 } |
| 2130 } |
| 2131 addAll(other) { |
| 2132 other.forEach(((key, value) => { |
| 2133 this.set(key, value); |
| 2134 }).bind(this)); |
| 2135 } |
| 2136 containsValue(value) { |
| 2137 if (this[_isUpgraded]) |
| 2138 return this[_upgradedMap].containsValue(value); |
| 2139 let keys = this[_computeKeys](); |
| 2140 for (let i = 0; dart.notNull(i) < dart.notNull(keys.length); i = dart.notN
ull(i) + 1) { |
| 2141 let key = keys.get(i); |
| 2142 if (dart.equals(this.get(key), value)) |
| 2143 return true; |
| 2144 } |
| 2145 return false; |
| 2146 } |
| 2147 containsKey(key) { |
| 2148 if (this[_isUpgraded]) |
| 2149 return this[_upgradedMap].containsKey(key); |
| 2150 if (!(typeof key == string)) |
| 2151 return false; |
| 2152 return _hasProperty(this[_original], dart.as(key, core.String)); |
| 2153 } |
| 2154 putIfAbsent(key, ifAbsent) { |
| 2155 if (this.containsKey(key)) |
| 2156 return this.get(key); |
| 2157 let value = ifAbsent(); |
| 2158 this.set(key, value); |
| 2159 return value; |
| 2160 } |
| 2161 remove(key) { |
| 2162 if (!dart.notNull(this[_isUpgraded]) && !dart.notNull(this.containsKey(key
))) |
| 2163 return null; |
| 2164 return this[_upgrade]().remove(key); |
| 2165 } |
| 2166 clear() { |
| 2167 if (this[_isUpgraded]) { |
| 2168 this[_upgradedMap].clear(); |
| 2169 } else { |
| 2170 if (this[_data] !== null) { |
| 2171 dart.dinvoke(this[_data], 'clear'); |
| 2172 } |
| 2173 this[_original] = this[_processed] = null; |
| 2174 this[_data] = dart.map(); |
| 2175 } |
| 2176 } |
| 2177 forEach(f) { |
| 2178 if (this[_isUpgraded]) |
| 2179 return this[_upgradedMap].forEach(f); |
| 2180 let keys = this[_computeKeys](); |
| 2181 for (let i = 0; dart.notNull(i) < dart.notNull(keys.length); i = dart.notN
ull(i) + 1) { |
| 2182 let key = keys.get(i); |
| 2183 let value = _getProperty(this[_processed], key); |
| 2184 if (_isUnprocessed(value)) { |
| 2185 value = _convertJsonToDartLazy(_getProperty(this[_original], key)); |
| 2186 _setProperty(this[_processed], key, value); |
| 2187 } |
| 2188 f(key, value); |
| 2189 if (!dart.notNull(core.identical(keys, this[_data]))) { |
| 2190 throw new core.ConcurrentModificationError(this); |
| 2191 } |
| 2192 } |
| 2193 } |
| 2194 toString() { |
| 2195 return collection.Maps.mapToString(this); |
| 2196 } |
| 2197 get [_isUpgraded]() { |
| 2198 return this[_processed] === null; |
| 2199 } |
| 2200 get [_upgradedMap]() { |
| 2201 dart.assert(this[_isUpgraded]); |
| 2202 return dart.as(this[_data], core.Map); |
| 2203 } |
| 2204 [_computeKeys]() { |
| 2205 dart.assert(!dart.notNull(this[_isUpgraded])); |
| 2206 let keys = dart.as(this[_data], core.List); |
| 2207 if (keys === null) { |
| 2208 keys = this[_data] = _getPropertyNames(this[_original]); |
| 2209 } |
| 2210 return dart.as(keys, core.List$(core.String)); |
| 2211 } |
| 2212 [_upgrade]() { |
| 2213 if (this[_isUpgraded]) |
| 2214 return this[_upgradedMap]; |
| 2215 let result = dart.map(); |
| 2216 let keys = this[_computeKeys](); |
| 2217 for (let i = 0; dart.notNull(i) < dart.notNull(keys.length); i = dart.notN
ull(i) + 1) { |
| 2218 let key = keys.get(i); |
| 2219 result.set(key, this.get(key)); |
| 2220 } |
| 2221 if (keys.isEmpty) { |
| 2222 keys.add(null); |
| 2223 } else { |
| 2224 keys.clear(); |
| 2225 } |
| 2226 this[_original] = this[_processed] = null; |
| 2227 this[_data] = result; |
| 2228 dart.assert(this[_isUpgraded]); |
| 2229 return result; |
| 2230 } |
| 2231 [_process](key) { |
| 2232 if (!dart.notNull(_hasProperty(this[_original], key))) |
| 2233 return null; |
| 2234 let result = _convertJsonToDartLazy(_getProperty(this[_original], key)); |
| 2235 return _setProperty(this[_processed], key, result); |
| 2236 } |
| 2237 static [_hasProperty](object, key) { |
| 2238 return Object.prototype.hasOwnProperty.call(object, key); |
| 2239 } |
| 2240 static [_getProperty](object, key) { |
| 2241 return object[key]; |
| 2242 } |
| 2243 static [_setProperty](object, key, value) { |
| 2244 return object[key] = value; |
| 2245 } |
| 2246 static [_getPropertyNames](object) { |
| 2247 return dart.as(Object.keys(object), core.List); |
| 2248 } |
| 2249 static [_isUnprocessed](object) { |
| 2250 return typeof object == "undefined"; |
| 2251 } |
| 2252 static [_newJavaScriptObject]() { |
| 2253 return Object.create(null); |
| 2254 } |
| 2255 } |
| 2256 let _parent = Symbol('_parent'); |
| 2257 class _JsonMapKeyIterable extends _internal.ListIterable { |
| 2258 _JsonMapKeyIterable($_parent) { |
| 2259 this[_parent] = $_parent; |
| 2260 super.ListIterable(); |
| 2261 } |
| 2262 get length() { |
| 2263 return this[_parent].length; |
| 2264 } |
| 2265 elementAt(index) { |
| 2266 return dart.as(this[_parent][_isUpgraded] ? this[_parent].keys.elementAt(i
ndex) : this[_parent]._computeKeys().get(index), core.String); |
| 2267 } |
| 2268 get iterator() { |
| 2269 return dart.as(this[_parent][_isUpgraded] ? this[_parent].keys.iterator :
this[_parent]._computeKeys().iterator, core.Iterator); |
| 2270 } |
| 2271 contains(key) { |
| 2272 return this[_parent].containsKey(key); |
| 2273 } |
| 2274 } |
| 2275 class _JsonDecoderSink extends _StringSinkConversionSink { |
| 2276 _JsonDecoderSink($_reviver, $_sink) { |
| 2277 this[_reviver] = $_reviver; |
| 2278 this[_sink] = $_sink; |
| 2279 super._StringSinkConversionSink(new core.StringBuffer()); |
| 2280 } |
| 2281 close() { |
| 2282 super.close(); |
| 2283 let buffer = dart.as(this[_stringSink], core.StringBuffer); |
| 2284 let accumulated = buffer.toString(); |
| 2285 buffer.clear(); |
| 2286 let decoded = _parseJson(accumulated, this[_reviver]); |
| 2287 this[_sink].add(decoded); |
| 2288 this[_sink].close(); |
| 2289 } |
| 2290 } |
| 2291 // Exports: | 2291 // Exports: |
| 2292 exports.ASCII = ASCII; | 2292 exports.ASCII = ASCII; |
| 2293 exports.AsciiCodec = AsciiCodec; | 2293 exports.AsciiCodec = AsciiCodec; |
| 2294 exports.AsciiEncoder = AsciiEncoder; | 2294 exports.AsciiEncoder = AsciiEncoder; |
| 2295 exports.AsciiDecoder = AsciiDecoder; | 2295 exports.AsciiDecoder = AsciiDecoder; |
| 2296 exports.ByteConversionSink = ByteConversionSink; | 2296 exports.ByteConversionSink = ByteConversionSink; |
| 2297 exports.ByteConversionSinkBase = ByteConversionSinkBase; | 2297 exports.ByteConversionSinkBase = ByteConversionSinkBase; |
| 2298 exports.ChunkedConversionSink = ChunkedConversionSink; | 2298 exports.ChunkedConversionSink = ChunkedConversionSink; |
| 2299 exports.ChunkedConversionSink$ = ChunkedConversionSink$; | 2299 exports.ChunkedConversionSink$ = ChunkedConversionSink$; |
| 2300 exports.Codec = Codec; | 2300 exports.Codec = Codec; |
| (...skipping 20 matching lines...) Expand all Loading... |
| 2321 exports.ClosableStringSink = ClosableStringSink; | 2321 exports.ClosableStringSink = ClosableStringSink; |
| 2322 exports.StringConversionSinkBase = StringConversionSinkBase; | 2322 exports.StringConversionSinkBase = StringConversionSinkBase; |
| 2323 exports.StringConversionSinkMixin = StringConversionSinkMixin; | 2323 exports.StringConversionSinkMixin = StringConversionSinkMixin; |
| 2324 exports.UNICODE_REPLACEMENT_CHARACTER_RUNE = UNICODE_REPLACEMENT_CHARACTER_RUN
E; | 2324 exports.UNICODE_REPLACEMENT_CHARACTER_RUNE = UNICODE_REPLACEMENT_CHARACTER_RUN
E; |
| 2325 exports.UNICODE_BOM_CHARACTER_RUNE = UNICODE_BOM_CHARACTER_RUNE; | 2325 exports.UNICODE_BOM_CHARACTER_RUNE = UNICODE_BOM_CHARACTER_RUNE; |
| 2326 exports.UTF8 = UTF8; | 2326 exports.UTF8 = UTF8; |
| 2327 exports.Utf8Codec = Utf8Codec; | 2327 exports.Utf8Codec = Utf8Codec; |
| 2328 exports.Utf8Encoder = Utf8Encoder; | 2328 exports.Utf8Encoder = Utf8Encoder; |
| 2329 exports.Utf8Decoder = Utf8Decoder; | 2329 exports.Utf8Decoder = Utf8Decoder; |
| 2330 })(convert || (convert = {})); | 2330 })(convert || (convert = {})); |
| OLD | NEW |