OLD | NEW |
1 var convert; | 1 var convert; |
2 (function(exports) { | 2 (function(exports) { |
3 'use strict'; | 3 'use strict'; |
4 let ASCII = new AsciiCodec(); | 4 let ASCII = 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'); | 7 let _nameToEncoding = Symbol('_nameToEncoding'); |
8 let Codec$ = dart.generic(function(S, T) { | 8 let Codec$ = dart.generic(function(S, T) { |
9 class Codec extends core.Object { | 9 class Codec extends core.Object { |
10 Codec() { | 10 Codec() { |
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
144 asStringSink() { | 144 asStringSink() { |
145 return new _StringConversionSinkAsStringSinkAdapter(this); | 145 return new _StringConversionSinkAsStringSinkAdapter(this); |
146 } | 146 } |
147 } | 147 } |
148 StringConversionSinkMixin[dart.implements] = () => [StringConversionSink]; | 148 StringConversionSinkMixin[dart.implements] = () => [StringConversionSink]; |
149 class StringConversionSinkBase extends StringConversionSinkMixin {} | 149 class StringConversionSinkBase extends StringConversionSinkMixin {} |
150 class _UnicodeSubsetEncoderSink extends StringConversionSinkBase { | 150 class _UnicodeSubsetEncoderSink extends StringConversionSinkBase { |
151 _UnicodeSubsetEncoderSink(subsetMask, sink) { | 151 _UnicodeSubsetEncoderSink(subsetMask, sink) { |
152 this[_subsetMask] = subsetMask; | 152 this[_subsetMask] = subsetMask; |
153 this[_sink] = sink; | 153 this[_sink] = sink; |
154 super.StringConversionSinkBase(); | |
155 } | 154 } |
156 close() { | 155 close() { |
157 this[_sink].close(); | 156 this[_sink].close(); |
158 } | 157 } |
159 addSlice(source, start, end, isLast) { | 158 addSlice(source, start, end, isLast) { |
160 core.RangeError.checkValidRange(start, end, source.length); | 159 core.RangeError.checkValidRange(start, end, source.length); |
161 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull(
i) + 1) { | 160 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull(
i) + 1) { |
162 let codeUnit = source.codeUnitAt(i); | 161 let codeUnit = source.codeUnitAt(i); |
163 if ((dart.notNull(codeUnit) & ~dart.notNull(this[_subsetMask])) != 0) { | 162 if ((dart.notNull(codeUnit) & ~dart.notNull(this[_subsetMask])) != 0) { |
164 throw new core.ArgumentError(`Source contains invalid character with c
ode point: ${codeUnit}.`); | 163 throw new core.ArgumentError(`Source contains invalid character with c
ode point: ${codeUnit}.`); |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
261 class ByteConversionSinkBase extends ByteConversionSink { | 260 class ByteConversionSinkBase extends ByteConversionSink { |
262 addSlice(chunk, start, end, isLast) { | 261 addSlice(chunk, start, end, isLast) { |
263 this.add(chunk[core.$sublist](start, end)); | 262 this.add(chunk[core.$sublist](start, end)); |
264 if (isLast) | 263 if (isLast) |
265 this.close(); | 264 this.close(); |
266 } | 265 } |
267 } | 266 } |
268 class _ErrorHandlingAsciiDecoderSink extends ByteConversionSinkBase { | 267 class _ErrorHandlingAsciiDecoderSink extends ByteConversionSinkBase { |
269 _ErrorHandlingAsciiDecoderSink(utf8Sink) { | 268 _ErrorHandlingAsciiDecoderSink(utf8Sink) { |
270 this[_utf8Sink] = utf8Sink; | 269 this[_utf8Sink] = utf8Sink; |
271 super.ByteConversionSinkBase(); | |
272 } | 270 } |
273 close() { | 271 close() { |
274 this[_utf8Sink].close(); | 272 this[_utf8Sink].close(); |
275 } | 273 } |
276 add(source) { | 274 add(source) { |
277 this.addSlice(source, 0, source[core.$length], false); | 275 this.addSlice(source, 0, source[core.$length], false); |
278 } | 276 } |
279 addSlice(source, start, end, isLast) { | 277 addSlice(source, start, end, isLast) { |
280 core.RangeError.checkValidRange(start, end, source[core.$length]); | 278 core.RangeError.checkValidRange(start, end, source[core.$length]); |
281 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull(
i) + 1) { | 279 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull(
i) + 1) { |
282 if ((dart.notNull(source[core.$get](i)) & ~dart.notNull(_ASCII_MASK)) !=
0) { | 280 if ((dart.notNull(source[core.$get](i)) & ~dart.notNull(_ASCII_MASK)) !=
0) { |
283 if (dart.notNull(i) > dart.notNull(start)) | 281 if (dart.notNull(i) > dart.notNull(start)) |
284 this[_utf8Sink].addSlice(source, start, i, false); | 282 this[_utf8Sink].addSlice(source, start, i, false); |
285 this[_utf8Sink].add(/* Unimplemented const */new core.List$(core.int).
from([239, 191, 189])); | 283 this[_utf8Sink].add(/* Unimplemented const */new core.List$(core.int).
from([239, 191, 189])); |
286 start = dart.notNull(i) + 1; | 284 start = dart.notNull(i) + 1; |
287 } | 285 } |
288 } | 286 } |
289 if (dart.notNull(start) < dart.notNull(end)) { | 287 if (dart.notNull(start) < dart.notNull(end)) { |
290 this[_utf8Sink].addSlice(source, start, end, isLast); | 288 this[_utf8Sink].addSlice(source, start, end, isLast); |
291 } else if (isLast) { | 289 } else if (isLast) { |
292 this.close(); | 290 this.close(); |
293 } | 291 } |
294 } | 292 } |
295 } | 293 } |
296 class _SimpleAsciiDecoderSink extends ByteConversionSinkBase { | 294 class _SimpleAsciiDecoderSink extends ByteConversionSinkBase { |
297 _SimpleAsciiDecoderSink(sink) { | 295 _SimpleAsciiDecoderSink(sink) { |
298 this[_sink] = sink; | 296 this[_sink] = sink; |
299 super.ByteConversionSinkBase(); | |
300 } | 297 } |
301 close() { | 298 close() { |
302 this[_sink].close(); | 299 this[_sink].close(); |
303 } | 300 } |
304 add(source) { | 301 add(source) { |
305 for (let i = 0; dart.notNull(i) < dart.notNull(source[core.$length]); i =
dart.notNull(i) + 1) { | 302 for (let i = 0; dart.notNull(i) < dart.notNull(source[core.$length]); i =
dart.notNull(i) + 1) { |
306 if ((dart.notNull(source[core.$get](i)) & ~dart.notNull(_ASCII_MASK)) !=
0) { | 303 if ((dart.notNull(source[core.$get](i)) & ~dart.notNull(_ASCII_MASK)) !=
0) { |
307 throw new core.FormatException("Source contains non-ASCII bytes."); | 304 throw new core.FormatException("Source contains non-ASCII bytes."); |
308 } | 305 } |
309 } | 306 } |
310 this[_sink].add(new core.String.fromCharCodes(source)); | 307 this[_sink].add(new core.String.fromCharCodes(source)); |
311 } | 308 } |
312 addSlice(source, start, end, isLast) { | 309 addSlice(source, start, end, isLast) { |
313 let length = source[core.$length]; | 310 let length = source[core.$length]; |
314 core.RangeError.checkValidRange(start, end, length); | 311 core.RangeError.checkValidRange(start, end, length); |
315 if (dart.notNull(start) < dart.notNull(end)) { | 312 if (dart.notNull(start) < dart.notNull(end)) { |
316 if (start != 0 || end != length) { | 313 if (start != 0 || end != length) { |
317 source = source[core.$sublist](start, end); | 314 source = source[core.$sublist](start, end); |
318 } | 315 } |
319 this.add(source); | 316 this.add(source); |
320 } | 317 } |
321 if (isLast) | 318 if (isLast) |
322 this.close(); | 319 this.close(); |
323 } | 320 } |
324 } | 321 } |
325 class _ByteAdapterSink extends ByteConversionSinkBase { | 322 class _ByteAdapterSink extends ByteConversionSinkBase { |
326 _ByteAdapterSink(sink) { | 323 _ByteAdapterSink(sink) { |
327 this[_sink] = sink; | 324 this[_sink] = sink; |
328 super.ByteConversionSinkBase(); | |
329 } | 325 } |
330 add(chunk) { | 326 add(chunk) { |
331 return this[_sink].add(chunk); | 327 return this[_sink].add(chunk); |
332 } | 328 } |
333 close() { | 329 close() { |
334 return this[_sink].close(); | 330 return this[_sink].close(); |
335 } | 331 } |
336 } | 332 } |
337 let _INITIAL_BUFFER_SIZE = Symbol('_INITIAL_BUFFER_SIZE'); | 333 let _INITIAL_BUFFER_SIZE = Symbol('_INITIAL_BUFFER_SIZE'); |
338 let _buffer = Symbol('_buffer'); | 334 let _buffer = Symbol('_buffer'); |
339 let _callback = Symbol('_callback'); | 335 let _callback = Symbol('_callback'); |
340 let _bufferIndex = Symbol('_bufferIndex'); | 336 let _bufferIndex = Symbol('_bufferIndex'); |
341 let _roundToPowerOf2 = Symbol('_roundToPowerOf2'); | 337 let _roundToPowerOf2 = Symbol('_roundToPowerOf2'); |
342 class _ByteCallbackSink extends ByteConversionSinkBase { | 338 class _ByteCallbackSink extends ByteConversionSinkBase { |
343 _ByteCallbackSink(callback) { | 339 _ByteCallbackSink(callback) { |
344 this[_buffer] = new typed_data.Uint8List(_ByteCallbackSink[_INITIAL_BUFFER
_SIZE]); | 340 this[_buffer] = new typed_data.Uint8List(_ByteCallbackSink[_INITIAL_BUFFER
_SIZE]); |
345 this[_callback] = callback; | 341 this[_callback] = callback; |
346 this[_bufferIndex] = 0; | 342 this[_bufferIndex] = 0; |
347 super.ByteConversionSinkBase(); | |
348 } | 343 } |
349 add(chunk) { | 344 add(chunk) { |
350 let freeCount = dart.notNull(this[_buffer][core.$length]) - dart.notNull(t
his[_bufferIndex]); | 345 let freeCount = dart.notNull(this[_buffer][core.$length]) - dart.notNull(t
his[_bufferIndex]); |
351 if (dart.notNull(chunk[core.$length]) > dart.notNull(freeCount)) { | 346 if (dart.notNull(chunk[core.$length]) > dart.notNull(freeCount)) { |
352 let oldLength = this[_buffer][core.$length]; | 347 let oldLength = this[_buffer][core.$length]; |
353 let newLength = dart.notNull(_ByteCallbackSink[_roundToPowerOf2](dart.no
tNull(chunk[core.$length]) + dart.notNull(oldLength))) * 2; | 348 let newLength = dart.notNull(_ByteCallbackSink[_roundToPowerOf2](dart.no
tNull(chunk[core.$length]) + dart.notNull(oldLength))) * 2; |
354 let grown = new typed_data.Uint8List(newLength); | 349 let grown = new typed_data.Uint8List(newLength); |
355 grown[core.$setRange](0, this[_buffer][core.$length], this[_buffer]); | 350 grown[core.$setRange](0, this[_buffer][core.$length], this[_buffer]); |
356 this[_buffer] = grown; | 351 this[_buffer] = grown; |
357 } | 352 } |
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
586 sink = new StringConversionSink.from(sink); | 581 sink = new StringConversionSink.from(sink); |
587 } | 582 } |
588 return new _HtmlEscapeSink(this, dart.as(sink, StringConversionSink)); | 583 return new _HtmlEscapeSink(this, dart.as(sink, StringConversionSink)); |
589 } | 584 } |
590 } | 585 } |
591 let _escape = Symbol('_escape'); | 586 let _escape = Symbol('_escape'); |
592 class _HtmlEscapeSink extends StringConversionSinkBase { | 587 class _HtmlEscapeSink extends StringConversionSinkBase { |
593 _HtmlEscapeSink(escape, sink) { | 588 _HtmlEscapeSink(escape, sink) { |
594 this[_escape] = escape; | 589 this[_escape] = escape; |
595 this[_sink] = sink; | 590 this[_sink] = sink; |
596 super.StringConversionSinkBase(); | |
597 } | 591 } |
598 addSlice(chunk, start, end, isLast) { | 592 addSlice(chunk, start, end, isLast) { |
599 let val = this[_escape][_convert](chunk, start, end); | 593 let val = this[_escape][_convert](chunk, start, end); |
600 if (val == null) { | 594 if (val == null) { |
601 this[_sink].addSlice(chunk, start, end, isLast); | 595 this[_sink].addSlice(chunk, start, end, isLast); |
602 } else { | 596 } else { |
603 this[_sink].add(val); | 597 this[_sink].add(val); |
604 if (isLast) | 598 if (isLast) |
605 this[_sink].close(); | 599 this[_sink].close(); |
606 } | 600 } |
(...skipping 709 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1316 } | 1310 } |
1317 if (!dart.notNull(this[_allowInvalid])) | 1311 if (!dart.notNull(this[_allowInvalid])) |
1318 return new _Latin1DecoderSink(stringSink); | 1312 return new _Latin1DecoderSink(stringSink); |
1319 return new _Latin1AllowInvalidDecoderSink(stringSink); | 1313 return new _Latin1AllowInvalidDecoderSink(stringSink); |
1320 } | 1314 } |
1321 } | 1315 } |
1322 let _addSliceToSink = Symbol('_addSliceToSink'); | 1316 let _addSliceToSink = Symbol('_addSliceToSink'); |
1323 class _Latin1DecoderSink extends ByteConversionSinkBase { | 1317 class _Latin1DecoderSink extends ByteConversionSinkBase { |
1324 _Latin1DecoderSink(sink) { | 1318 _Latin1DecoderSink(sink) { |
1325 this[_sink] = sink; | 1319 this[_sink] = sink; |
1326 super.ByteConversionSinkBase(); | |
1327 } | 1320 } |
1328 close() { | 1321 close() { |
1329 this[_sink].close(); | 1322 this[_sink].close(); |
1330 } | 1323 } |
1331 add(source) { | 1324 add(source) { |
1332 this.addSlice(source, 0, source[core.$length], false); | 1325 this.addSlice(source, 0, source[core.$length], false); |
1333 } | 1326 } |
1334 [_addSliceToSink](source, start, end, isLast) { | 1327 [_addSliceToSink](source, start, end, isLast) { |
1335 this[_sink].add(new core.String.fromCharCodes(source, start, end)); | 1328 this[_sink].add(new core.String.fromCharCodes(source, start, end)); |
1336 if (isLast) | 1329 if (isLast) |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1392 return new _LineSplitterSink(dart.as(sink, StringConversionSink)); | 1385 return new _LineSplitterSink(dart.as(sink, StringConversionSink)); |
1393 } | 1386 } |
1394 } | 1387 } |
1395 let _carry = Symbol('_carry'); | 1388 let _carry = Symbol('_carry'); |
1396 let _LF = Symbol('_LF'); | 1389 let _LF = Symbol('_LF'); |
1397 let _CR = Symbol('_CR'); | 1390 let _CR = Symbol('_CR'); |
1398 class _LineSplitterSink extends StringConversionSinkBase { | 1391 class _LineSplitterSink extends StringConversionSinkBase { |
1399 _LineSplitterSink(sink) { | 1392 _LineSplitterSink(sink) { |
1400 this[_sink] = sink; | 1393 this[_sink] = sink; |
1401 this[_carry] = null; | 1394 this[_carry] = null; |
1402 super.StringConversionSinkBase(); | |
1403 } | 1395 } |
1404 addSlice(chunk, start, end, isLast) { | 1396 addSlice(chunk, start, end, isLast) { |
1405 if (this[_carry] != null) { | 1397 if (this[_carry] != null) { |
1406 chunk = dart.notNull(this[_carry]) + dart.notNull(chunk.substring(start,
end)); | 1398 chunk = dart.notNull(this[_carry]) + dart.notNull(chunk.substring(start,
end)); |
1407 start = 0; | 1399 start = 0; |
1408 end = chunk.length; | 1400 end = chunk.length; |
1409 this[_carry] = null; | 1401 this[_carry] = null; |
1410 } | 1402 } |
1411 this[_carry] = _LineSplitterSink[_addSlice](chunk, start, end, isLast, thi
s[_sink].add); | 1403 this[_carry] = _LineSplitterSink[_addSlice](chunk, start, end, isLast, thi
s[_sink].add); |
1412 if (isLast) | 1404 if (isLast) |
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1557 this[_buffer].clear(); | 1549 this[_buffer].clear(); |
1558 this[_chunkedSink].add(accumulated); | 1550 this[_chunkedSink].add(accumulated); |
1559 } | 1551 } |
1560 } | 1552 } |
1561 _StringConversionSinkAsStringSinkAdapter[dart.implements] = () => [ClosableStr
ingSink]; | 1553 _StringConversionSinkAsStringSinkAdapter[dart.implements] = () => [ClosableStr
ingSink]; |
1562 _StringConversionSinkAsStringSinkAdapter._MIN_STRING_SIZE = 16; | 1554 _StringConversionSinkAsStringSinkAdapter._MIN_STRING_SIZE = 16; |
1563 let _stringSink = Symbol('_stringSink'); | 1555 let _stringSink = Symbol('_stringSink'); |
1564 class _StringSinkConversionSink extends StringConversionSinkBase { | 1556 class _StringSinkConversionSink extends StringConversionSinkBase { |
1565 _StringSinkConversionSink(stringSink) { | 1557 _StringSinkConversionSink(stringSink) { |
1566 this[_stringSink] = stringSink; | 1558 this[_stringSink] = stringSink; |
1567 super.StringConversionSinkBase(); | |
1568 } | 1559 } |
1569 close() {} | 1560 close() {} |
1570 addSlice(str, start, end, isLast) { | 1561 addSlice(str, start, end, isLast) { |
1571 if (start != 0 || end != str.length) { | 1562 if (start != 0 || end != str.length) { |
1572 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNul
l(i) + 1) { | 1563 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNul
l(i) + 1) { |
1573 this[_stringSink].writeCharCode(str.codeUnitAt(i)); | 1564 this[_stringSink].writeCharCode(str.codeUnitAt(i)); |
1574 } | 1565 } |
1575 } else { | 1566 } else { |
1576 this[_stringSink].write(str); | 1567 this[_stringSink].write(str); |
1577 } | 1568 } |
(...skipping 21 matching lines...) Expand all Loading... |
1599 buffer.clear(); | 1590 buffer.clear(); |
1600 this[_callback](accumulated); | 1591 this[_callback](accumulated); |
1601 } | 1592 } |
1602 asUtf8Sink(allowMalformed) { | 1593 asUtf8Sink(allowMalformed) { |
1603 return new _Utf8StringSinkAdapter(this, this[_stringSink], allowMalformed)
; | 1594 return new _Utf8StringSinkAdapter(this, this[_stringSink], allowMalformed)
; |
1604 } | 1595 } |
1605 } | 1596 } |
1606 class _StringAdapterSink extends StringConversionSinkBase { | 1597 class _StringAdapterSink extends StringConversionSinkBase { |
1607 _StringAdapterSink(sink) { | 1598 _StringAdapterSink(sink) { |
1608 this[_sink] = sink; | 1599 this[_sink] = sink; |
1609 super.StringConversionSinkBase(); | |
1610 } | 1600 } |
1611 add(str) { | 1601 add(str) { |
1612 return this[_sink].add(str); | 1602 return this[_sink].add(str); |
1613 } | 1603 } |
1614 addSlice(str, start, end, isLast) { | 1604 addSlice(str, start, end, isLast) { |
1615 if (start == 0 && end == str.length) { | 1605 if (start == 0 && end == str.length) { |
1616 this.add(str); | 1606 this.add(str); |
1617 } else { | 1607 } else { |
1618 this.add(str.substring(start, end)); | 1608 this.add(str.substring(start, end)); |
1619 } | 1609 } |
(...skipping 817 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2437 exports.LineSplitter = LineSplitter; | 2427 exports.LineSplitter = LineSplitter; |
2438 exports.StringConversionSink = StringConversionSink; | 2428 exports.StringConversionSink = StringConversionSink; |
2439 exports.ClosableStringSink = ClosableStringSink; | 2429 exports.ClosableStringSink = ClosableStringSink; |
2440 exports.UNICODE_REPLACEMENT_CHARACTER_RUNE = UNICODE_REPLACEMENT_CHARACTER_RUN
E; | 2430 exports.UNICODE_REPLACEMENT_CHARACTER_RUNE = UNICODE_REPLACEMENT_CHARACTER_RUN
E; |
2441 exports.UNICODE_BOM_CHARACTER_RUNE = UNICODE_BOM_CHARACTER_RUNE; | 2431 exports.UNICODE_BOM_CHARACTER_RUNE = UNICODE_BOM_CHARACTER_RUNE; |
2442 exports.UTF8 = UTF8; | 2432 exports.UTF8 = UTF8; |
2443 exports.Utf8Codec = Utf8Codec; | 2433 exports.Utf8Codec = Utf8Codec; |
2444 exports.Utf8Encoder = Utf8Encoder; | 2434 exports.Utf8Encoder = Utf8Encoder; |
2445 exports.Utf8Decoder = Utf8Decoder; | 2435 exports.Utf8Decoder = Utf8Decoder; |
2446 })(convert || (convert = {})); | 2436 })(convert || (convert = {})); |
OLD | NEW |