Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(345)

Side by Side Diff: lib/runtime/dart/convert.js

Issue 1042003002: fix list literal initialization call fix typeof calls for primitive JS types add dart/collection.js… (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 Codec$ = dart.generic(function(S, T) { 7 let Codec$ = dart.generic(function(S, T) {
8 class Codec extends core.Object { 8 class Codec extends core.Object {
9 Codec() { 9 Codec() {
10 } 10 }
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after
269 } 269 }
270 add(source) { 270 add(source) {
271 this.addSlice(source, 0, source.length, false); 271 this.addSlice(source, 0, source.length, false);
272 } 272 }
273 addSlice(source, start, end, isLast) { 273 addSlice(source, start, end, isLast) {
274 core.RangeError.checkValidRange(start, end, source.length); 274 core.RangeError.checkValidRange(start, end, source.length);
275 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull( i) + 1) { 275 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull( i) + 1) {
276 if ((dart.notNull(source.get(i)) & ~dart.notNull(_ASCII_MASK)) !== 0) { 276 if ((dart.notNull(source.get(i)) & ~dart.notNull(_ASCII_MASK)) !== 0) {
277 if (dart.notNull(i) > dart.notNull(start)) 277 if (dart.notNull(i) > dart.notNull(start))
278 this[_utf8Sink].addSlice(source, start, i, false); 278 this[_utf8Sink].addSlice(source, start, i, false);
279 this[_utf8Sink].add(/* Unimplemented const */new List.from([239, 191, 189])); 279 this[_utf8Sink].add(/* Unimplemented const */new core.List$(core.int). from([239, 191, 189]));
280 start = dart.notNull(i) + 1; 280 start = dart.notNull(i) + 1;
281 } 281 }
282 } 282 }
283 if (dart.notNull(start) < dart.notNull(end)) { 283 if (dart.notNull(start) < dart.notNull(end)) {
284 this[_utf8Sink].addSlice(source, start, end, isLast); 284 this[_utf8Sink].addSlice(source, start, end, isLast);
285 } else if (isLast) { 285 } else if (isLast) {
286 this.close(); 286 this.close();
287 } 287 }
288 } 288 }
289 } 289 }
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
364 } 364 }
365 close() { 365 close() {
366 this[_callback](this[_buffer].sublist(0, this[_bufferIndex])); 366 this[_callback](this[_buffer].sublist(0, this[_bufferIndex]));
367 } 367 }
368 } 368 }
369 _ByteCallbackSink._INITIAL_BUFFER_SIZE = 1024; 369 _ByteCallbackSink._INITIAL_BUFFER_SIZE = 1024;
370 let _accumulated = Symbol('_accumulated'); 370 let _accumulated = Symbol('_accumulated');
371 let _SimpleCallbackSink$ = dart.generic(function(T) { 371 let _SimpleCallbackSink$ = dart.generic(function(T) {
372 class _SimpleCallbackSink extends ChunkedConversionSink$(T) { 372 class _SimpleCallbackSink extends ChunkedConversionSink$(T) {
373 _SimpleCallbackSink(callback$) { 373 _SimpleCallbackSink(callback$) {
374 this[_accumulated] = new List.from([]); 374 this[_accumulated] = new core.List$(T).from([]);
375 this[_callback] = callback$; 375 this[_callback] = callback$;
376 super.ChunkedConversionSink(); 376 super.ChunkedConversionSink();
377 } 377 }
378 add(chunk) { 378 add(chunk) {
379 this[_accumulated].add(chunk); 379 this[_accumulated].add(chunk);
380 } 380 }
381 close() { 381 close() {
382 this[_callback](this[_accumulated]); 382 this[_callback](this[_accumulated]);
383 } 383 }
384 } 384 }
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
509 let val = this[_convert](text, 0, text.length); 509 let val = this[_convert](text, 0, text.length);
510 return val === null ? text : val; 510 return val === null ? text : val;
511 } 511 }
512 [_convert](text, start, end) { 512 [_convert](text, start, end) {
513 let result = null; 513 let result = null;
514 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull( i) + 1) { 514 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull( i) + 1) {
515 let ch = text.get(i); 515 let ch = text.get(i);
516 let replace = null; 516 let replace = null;
517 switch (ch) { 517 switch (ch) {
518 case '&': 518 case '&':
519 {
519 replace = '&amp;'; 520 replace = '&amp;';
520 break; 521 break;
522 }
521 case ' ': 523 case ' ':
524 {
522 replace = '&nbsp;'; 525 replace = '&nbsp;';
523 break; 526 break;
527 }
524 case '"': 528 case '"':
529 {
525 if (this.mode.escapeQuot) 530 if (this.mode.escapeQuot)
526 replace = '&quot;'; 531 replace = '&quot;';
527 break; 532 break;
533 }
528 case "'": 534 case "'":
535 {
529 if (this.mode.escapeApos) 536 if (this.mode.escapeApos)
530 replace = '&#x27;'; 537 replace = '&#x27;';
531 break; 538 break;
539 }
532 case '<': 540 case '<':
541 {
533 if (this.mode.escapeLtGt) 542 if (this.mode.escapeLtGt)
534 replace = '&lt;'; 543 replace = '&lt;';
535 break; 544 break;
545 }
536 case '>': 546 case '>':
547 {
537 if (this.mode.escapeLtGt) 548 if (this.mode.escapeLtGt)
538 replace = '&gt;'; 549 replace = '&gt;';
539 break; 550 break;
551 }
540 case '/': 552 case '/':
553 {
541 if (this.mode.escapeSlash) 554 if (this.mode.escapeSlash)
542 replace = '&#x2F;'; 555 replace = '&#x2F;';
543 break; 556 break;
557 }
544 } 558 }
545 if (replace !== null) { 559 if (replace !== null) {
546 if (result === null) 560 if (result === null)
547 result = new core.StringBuffer(text.substring(start, i)); 561 result = new core.StringBuffer(text.substring(start, i));
548 result.write(replace); 562 result.write(replace);
549 } else if (result !== null) { 563 } else if (result !== null) {
550 result.write(ch); 564 result.write(ch);
551 } 565 }
552 } 566 }
553 return result !== null ? result.toString() : null; 567 return result !== null ? result.toString() : null;
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
706 checkAscii: { 720 checkAscii: {
707 for (let i = 0; dart.notNull(i) < dart.notNull(string.length); i = dart. notNull(i) + 1) { 721 for (let i = 0; dart.notNull(i) < dart.notNull(string.length); i = dart. notNull(i) + 1) {
708 if (dart.notNull(string.codeUnitAt(i)) >= 128) 722 if (dart.notNull(string.codeUnitAt(i)) >= 128)
709 break checkAscii; 723 break checkAscii;
710 } 724 }
711 return string.codeUnits; 725 return string.codeUnits;
712 } 726 }
713 return UTF8.encode(string); 727 return UTF8.encode(string);
714 } 728 }
715 convert(object) { 729 convert(object) {
716 let bytes = dart.as(new List.from([]), core.List$(core.List$(core.int))); 730 let bytes = dart.as(new core.List.from([]), core.List$(core.List$(core.int )));
717 // Function addChunk: (Uint8List, int, int) → void 731 // Function addChunk: (Uint8List, int, int) → void
718 function addChunk(chunk, start, end) { 732 function addChunk(chunk, start, end) {
719 if (dart.notNull(start) > 0 || dart.notNull(end) < dart.notNull(chunk.le ngth)) { 733 if (dart.notNull(start) > 0 || dart.notNull(end) < dart.notNull(chunk.le ngth)) {
720 let length = dart.notNull(end) - dart.notNull(start); 734 let length = dart.notNull(end) - dart.notNull(start);
721 chunk = new typed_data.Uint8List.view(chunk.buffer, dart.notNull(chunk .offsetInBytes) + dart.notNull(start), length); 735 chunk = new typed_data.Uint8List.view(chunk.buffer, dart.notNull(chunk .offsetInBytes) + dart.notNull(start), length);
722 } 736 }
723 bytes.add(chunk); 737 bytes.add(chunk);
724 } 738 }
725 _JsonUtf8Stringifier.stringify(object, this[_indent], dart.as(this[_toEnco dable$], dart.throw_("Unimplemented type (Object) → dynamic")), this[_bufferSize ], addChunk); 739 _JsonUtf8Stringifier.stringify(object, this[_indent], dart.as(this[_toEnco dable$], dart.throw_("Unimplemented type (Object) → dynamic")), this[_bufferSize ], addChunk);
726 if (bytes.length === 1) 740 if (bytes.length === 1)
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
815 } 829 }
816 startChunkedConversion(sink) { 830 startChunkedConversion(sink) {
817 return new _JsonDecoderSink(this[_reviver], sink); 831 return new _JsonDecoderSink(this[_reviver], sink);
818 } 832 }
819 bind(stream) { 833 bind(stream) {
820 return super.bind(stream); 834 return super.bind(stream);
821 } 835 }
822 } 836 }
823 // Function _parseJson: (String, (dynamic, dynamic) → dynamic) → dynamic 837 // Function _parseJson: (String, (dynamic, dynamic) → dynamic) → dynamic
824 function _parseJson(source, reviver) { 838 function _parseJson(source, reviver) {
825 if (!(typeof source == string)) 839 if (!(typeof source == 'string'))
826 throw new core.ArgumentError(source); 840 throw new core.ArgumentError(source);
827 let parsed = null; 841 let parsed = null;
828 try { 842 try {
829 parsed = JSON.parse(source); 843 parsed = JSON.parse(source);
830 } catch (e) { 844 } catch (e) {
831 throw new core.FormatException(String(e)); 845 throw new core.FormatException(String(e));
832 } 846 }
833 847
834 if (reviver === null) { 848 if (reviver === null) {
835 return _convertJsonToDartLazy(parsed); 849 return _convertJsonToDartLazy(parsed);
(...skipping 23 matching lines...) Expand all
859 let charCode = s.codeUnitAt(i); 873 let charCode = s.codeUnitAt(i);
860 if (dart.notNull(charCode) > dart.notNull(_JsonStringifier.BACKSLASH)) 874 if (dart.notNull(charCode) > dart.notNull(_JsonStringifier.BACKSLASH))
861 continue; 875 continue;
862 if (dart.notNull(charCode) < 32) { 876 if (dart.notNull(charCode) < 32) {
863 if (dart.notNull(i) > dart.notNull(offset)) 877 if (dart.notNull(i) > dart.notNull(offset))
864 this.writeStringSlice(s, offset, i); 878 this.writeStringSlice(s, offset, i);
865 offset = dart.notNull(i) + 1; 879 offset = dart.notNull(i) + 1;
866 this.writeCharCode(_JsonStringifier.BACKSLASH); 880 this.writeCharCode(_JsonStringifier.BACKSLASH);
867 switch (charCode) { 881 switch (charCode) {
868 case _JsonStringifier.BACKSPACE: 882 case _JsonStringifier.BACKSPACE:
883 {
869 this.writeCharCode(_JsonStringifier.CHAR_b); 884 this.writeCharCode(_JsonStringifier.CHAR_b);
870 break; 885 break;
886 }
871 case _JsonStringifier.TAB: 887 case _JsonStringifier.TAB:
888 {
872 this.writeCharCode(_JsonStringifier.CHAR_t); 889 this.writeCharCode(_JsonStringifier.CHAR_t);
873 break; 890 break;
891 }
874 case _JsonStringifier.NEWLINE: 892 case _JsonStringifier.NEWLINE:
893 {
875 this.writeCharCode(_JsonStringifier.CHAR_n); 894 this.writeCharCode(_JsonStringifier.CHAR_n);
876 break; 895 break;
896 }
877 case _JsonStringifier.FORM_FEED: 897 case _JsonStringifier.FORM_FEED:
898 {
878 this.writeCharCode(_JsonStringifier.CHAR_f); 899 this.writeCharCode(_JsonStringifier.CHAR_f);
879 break; 900 break;
901 }
880 case _JsonStringifier.CARRIAGE_RETURN: 902 case _JsonStringifier.CARRIAGE_RETURN:
903 {
881 this.writeCharCode(_JsonStringifier.CHAR_r); 904 this.writeCharCode(_JsonStringifier.CHAR_r);
882 break; 905 break;
906 }
883 default: 907 default:
908 {
884 this.writeCharCode(_JsonStringifier.CHAR_u); 909 this.writeCharCode(_JsonStringifier.CHAR_u);
885 this.writeCharCode(_JsonStringifier.CHAR_0); 910 this.writeCharCode(_JsonStringifier.CHAR_0);
886 this.writeCharCode(_JsonStringifier.CHAR_0); 911 this.writeCharCode(_JsonStringifier.CHAR_0);
887 this.writeCharCode(hexDigit(dart.notNull(charCode) >> 4 & 15)); 912 this.writeCharCode(hexDigit(dart.notNull(charCode) >> 4 & 15));
888 this.writeCharCode(hexDigit(dart.notNull(charCode) & 15)); 913 this.writeCharCode(hexDigit(dart.notNull(charCode) & 15));
889 break; 914 break;
915 }
890 } 916 }
891 } else if (charCode === _JsonStringifier.QUOTE || charCode === _JsonStri ngifier.BACKSLASH) { 917 } else if (charCode === _JsonStringifier.QUOTE || charCode === _JsonStri ngifier.BACKSLASH) {
892 if (dart.notNull(i) > dart.notNull(offset)) 918 if (dart.notNull(i) > dart.notNull(offset))
893 this.writeStringSlice(s, offset, i); 919 this.writeStringSlice(s, offset, i);
894 offset = dart.notNull(i) + 1; 920 offset = dart.notNull(i) + 1;
895 this.writeCharCode(_JsonStringifier.BACKSLASH); 921 this.writeCharCode(_JsonStringifier.BACKSLASH);
896 this.writeCharCode(charCode); 922 this.writeCharCode(charCode);
897 } 923 }
898 } 924 }
899 if (offset === 0) { 925 if (offset === 0) {
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
938 return true; 964 return true;
939 } else if (core.identical(object, true)) { 965 } else if (core.identical(object, true)) {
940 this.writeString('true'); 966 this.writeString('true');
941 return true; 967 return true;
942 } else if (core.identical(object, false)) { 968 } else if (core.identical(object, false)) {
943 this.writeString('false'); 969 this.writeString('false');
944 return true; 970 return true;
945 } else if (object === null) { 971 } else if (object === null) {
946 this.writeString('null'); 972 this.writeString('null');
947 return true; 973 return true;
948 } else if (typeof object == string) { 974 } else if (typeof object == 'string') {
949 this.writeString('"'); 975 this.writeString('"');
950 this.writeStringContent(dart.as(object, core.String)); 976 this.writeStringContent(dart.as(object, core.String));
951 this.writeString('"'); 977 this.writeString('"');
952 return true; 978 return true;
953 } else if (dart.is(object, core.List)) { 979 } else if (dart.is(object, core.List)) {
954 this[_checkCycle](object); 980 this[_checkCycle](object);
955 this.writeList(dart.as(object, core.List)); 981 this.writeList(dart.as(object, core.List));
956 this[_removeSeen](object); 982 this[_removeSeen](object);
957 return true; 983 return true;
958 } else if (dart.is(object, core.Map)) { 984 } else if (dart.is(object, core.Map)) {
(...skipping 346 matching lines...) Expand 10 before | Expand all | Expand 10 after
1305 _Latin1AllowInvalidDecoderSink(sink) { 1331 _Latin1AllowInvalidDecoderSink(sink) {
1306 super._Latin1DecoderSink(sink); 1332 super._Latin1DecoderSink(sink);
1307 } 1333 }
1308 addSlice(source, start, end, isLast) { 1334 addSlice(source, start, end, isLast) {
1309 core.RangeError.checkValidRange(start, end, source.length); 1335 core.RangeError.checkValidRange(start, end, source.length);
1310 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull( i) + 1) { 1336 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull( i) + 1) {
1311 let char = source.get(i); 1337 let char = source.get(i);
1312 if (dart.notNull(char) > dart.notNull(_LATIN1_MASK) || dart.notNull(char ) < 0) { 1338 if (dart.notNull(char) > dart.notNull(_LATIN1_MASK) || dart.notNull(char ) < 0) {
1313 if (dart.notNull(i) > dart.notNull(start)) 1339 if (dart.notNull(i) > dart.notNull(start))
1314 this[_addSliceToSink](source, start, i, false); 1340 this[_addSliceToSink](source, start, i, false);
1315 this[_addSliceToSink](dart.as(/* Unimplemented const */new List.from([ 65533]), core.List$(core.int)), 0, 1, false); 1341 this[_addSliceToSink](dart.as(/* Unimplemented const */new core.List.f rom([65533]), core.List$(core.int)), 0, 1, false);
1316 start = dart.notNull(i) + 1; 1342 start = dart.notNull(i) + 1;
1317 } 1343 }
1318 } 1344 }
1319 if (dart.notNull(start) < dart.notNull(end)) { 1345 if (dart.notNull(start) < dart.notNull(end)) {
1320 this[_addSliceToSink](source, start, end, isLast); 1346 this[_addSliceToSink](source, start, end, isLast);
1321 } 1347 }
1322 if (isLast) { 1348 if (isLast) {
1323 this.close(); 1349 this.close();
1324 } 1350 }
1325 } 1351 }
(...skipping 685 matching lines...) Expand 10 before | Expand all | Expand 10 after
2011 } 2037 }
2012 break loop; 2038 break loop;
2013 } 2039 }
2014 if (dart.notNull(expectedUnits) > 0) { 2040 if (dart.notNull(expectedUnits) > 0) {
2015 this[_value] = value; 2041 this[_value] = value;
2016 this[_expectedUnits] = expectedUnits; 2042 this[_expectedUnits] = expectedUnits;
2017 this[_extraUnits] = extraUnits; 2043 this[_extraUnits] = extraUnits;
2018 } 2044 }
2019 } 2045 }
2020 } 2046 }
2021 _Utf8Decoder._LIMITS = /* Unimplemented const */new List.from([_ONE_BYTE_LIMIT , _TWO_BYTE_LIMIT, _THREE_BYTE_LIMIT, _FOUR_BYTE_LIMIT]); 2047 _Utf8Decoder._LIMITS = /* Unimplemented const */new core.List$(core.int).from( [_ONE_BYTE_LIMIT, _TWO_BYTE_LIMIT, _THREE_BYTE_LIMIT, _FOUR_BYTE_LIMIT]);
2022 let _processed = Symbol('_processed'); 2048 let _processed = Symbol('_processed');
2023 let _original = Symbol('_original'); 2049 let _original = Symbol('_original');
2024 // Function _convertJsonToDart: (dynamic, (dynamic, dynamic) → dynamic) → dyna mic 2050 // Function _convertJsonToDart: (dynamic, (dynamic, dynamic) → dynamic) → dyna mic
2025 function _convertJsonToDart(json, reviver) { 2051 function _convertJsonToDart(json, reviver) {
2026 dart.assert(reviver !== null); 2052 dart.assert(reviver !== null);
2027 // Function walk: (dynamic) → dynamic 2053 // Function walk: (dynamic) → dynamic
2028 function walk(e) { 2054 function walk(e) {
2029 if (e == null || typeof e != "object") { 2055 if (e == null || typeof e != "object") {
2030 return e; 2056 return e;
2031 } 2057 }
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
2079 let _newJavaScriptObject$ = Symbol('_newJavaScriptObject'); 2105 let _newJavaScriptObject$ = Symbol('_newJavaScriptObject');
2080 class _JsonMap extends core.Object { 2106 class _JsonMap extends core.Object {
2081 _JsonMap(original$) { 2107 _JsonMap(original$) {
2082 this[_processed] = _newJavaScriptObject(); 2108 this[_processed] = _newJavaScriptObject();
2083 this[_original] = original$; 2109 this[_original] = original$;
2084 this[_data] = null; 2110 this[_data] = null;
2085 } 2111 }
2086 get(key) { 2112 get(key) {
2087 if (this[_isUpgraded]) { 2113 if (this[_isUpgraded]) {
2088 return this[_upgradedMap].get(key); 2114 return this[_upgradedMap].get(key);
2089 } else if (!(typeof key == string)) { 2115 } else if (!(typeof key == 'string')) {
2090 return null; 2116 return null;
2091 } else { 2117 } else {
2092 let result = _getProperty(this[_processed], dart.as(key, core.String)); 2118 let result = _getProperty(this[_processed], dart.as(key, core.String));
2093 if (_isUnprocessed(result)) 2119 if (_isUnprocessed(result))
2094 result = this[_process](dart.as(key, core.String)); 2120 result = this[_process](dart.as(key, core.String));
2095 return result; 2121 return result;
2096 } 2122 }
2097 } 2123 }
2098 get length() { 2124 get length() {
2099 return this[_isUpgraded] ? this[_upgradedMap].length : this[_computeKeys]( ).length; 2125 return this[_isUpgraded] ? this[_upgradedMap].length : this[_computeKeys]( ).length;
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
2140 for (let i = 0; dart.notNull(i) < dart.notNull(keys.length); i = dart.notN ull(i) + 1) { 2166 for (let i = 0; dart.notNull(i) < dart.notNull(keys.length); i = dart.notN ull(i) + 1) {
2141 let key = keys.get(i); 2167 let key = keys.get(i);
2142 if (dart.equals(this.get(key), value)) 2168 if (dart.equals(this.get(key), value))
2143 return true; 2169 return true;
2144 } 2170 }
2145 return false; 2171 return false;
2146 } 2172 }
2147 containsKey(key) { 2173 containsKey(key) {
2148 if (this[_isUpgraded]) 2174 if (this[_isUpgraded])
2149 return this[_upgradedMap].containsKey(key); 2175 return this[_upgradedMap].containsKey(key);
2150 if (!(typeof key == string)) 2176 if (!(typeof key == 'string'))
2151 return false; 2177 return false;
2152 return _hasProperty(this[_original], dart.as(key, core.String)); 2178 return _hasProperty(this[_original], dart.as(key, core.String));
2153 } 2179 }
2154 putIfAbsent(key, ifAbsent) { 2180 putIfAbsent(key, ifAbsent) {
2155 if (this.containsKey(key)) 2181 if (this.containsKey(key))
2156 return this.get(key); 2182 return this.get(key);
2157 let value = ifAbsent(); 2183 let value = ifAbsent();
2158 this.set(key, value); 2184 this.set(key, value);
2159 return value; 2185 return value;
2160 } 2186 }
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
2321 exports.LineSplitter = LineSplitter; 2347 exports.LineSplitter = LineSplitter;
2322 exports.StringConversionSink = StringConversionSink; 2348 exports.StringConversionSink = StringConversionSink;
2323 exports.ClosableStringSink = ClosableStringSink; 2349 exports.ClosableStringSink = ClosableStringSink;
2324 exports.UNICODE_REPLACEMENT_CHARACTER_RUNE = UNICODE_REPLACEMENT_CHARACTER_RUN E; 2350 exports.UNICODE_REPLACEMENT_CHARACTER_RUNE = UNICODE_REPLACEMENT_CHARACTER_RUN E;
2325 exports.UNICODE_BOM_CHARACTER_RUNE = UNICODE_BOM_CHARACTER_RUNE; 2351 exports.UNICODE_BOM_CHARACTER_RUNE = UNICODE_BOM_CHARACTER_RUNE;
2326 exports.UTF8 = UTF8; 2352 exports.UTF8 = UTF8;
2327 exports.Utf8Codec = Utf8Codec; 2353 exports.Utf8Codec = Utf8Codec;
2328 exports.Utf8Encoder = Utf8Encoder; 2354 exports.Utf8Encoder = Utf8Encoder;
2329 exports.Utf8Decoder = Utf8Decoder; 2355 exports.Utf8Decoder = Utf8Decoder;
2330 })(convert || (convert = {})); 2356 })(convert || (convert = {}));
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698