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

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

Issue 1045323002: emit interfaces before use (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
« no previous file with comments | « lib/runtime/dart/collection.js ('k') | lib/runtime/dart/core.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 _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 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
65 } 65 }
66 } 66 }
67 get encoder() { 67 get encoder() {
68 return new AsciiEncoder(); 68 return new AsciiEncoder();
69 } 69 }
70 get decoder() { 70 get decoder() {
71 return this[_allowInvalid] ? new AsciiDecoder({allowInvalid: true}) : new AsciiDecoder({allowInvalid: false}); 71 return this[_allowInvalid] ? new AsciiDecoder({allowInvalid: true}) : new AsciiDecoder({allowInvalid: false});
72 } 72 }
73 } 73 }
74 let _subsetMask = Symbol('_subsetMask'); 74 let _subsetMask = Symbol('_subsetMask');
75 let Converter$ = dart.generic(function(S, T) { 75 dart.defineLazyClass(exports, {
76 class Converter extends core.Object { 76 get _UnicodeSubsetEncoder() {
77 Converter() { 77 class _UnicodeSubsetEncoder extends exports.Converter$(core.String, core.L ist$(core.int)) {
78 _UnicodeSubsetEncoder(subsetMask) {
79 this[_subsetMask] = subsetMask;
80 super.Converter();
81 }
82 convert(string, start, end) {
83 if (start === void 0)
84 start = 0;
85 if (end === void 0)
86 end = null;
87 let stringLength = string.length;
88 core.RangeError.checkValidRange(start, end, stringLength);
89 if (end == null)
90 end = stringLength;
91 let length = dart.notNull(end) - dart.notNull(start);
92 let result = new typed_data.Uint8List(length);
93 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNu ll(i) + 1) {
94 let codeUnit = string.codeUnitAt(dart.notNull(start) + dart.notNull( i));
95 if ((dart.notNull(codeUnit) & ~dart.notNull(this[_subsetMask])) != 0 ) {
96 throw new core.ArgumentError("String contains invalid characters." );
97 }
98 result.set(i, codeUnit);
99 }
100 return dart.as(result, core.List$(core.int));
101 }
102 startChunkedConversion(sink) {
103 if (!dart.is(sink, ByteConversionSink)) {
104 sink = new ByteConversionSink.from(sink);
105 }
106 return new _UnicodeSubsetEncoderSink(this[_subsetMask], dart.as(sink, ByteConversionSink));
107 }
108 bind(stream) {
109 return dart.as(super.bind(stream), async.Stream$(core.List$(core.int)) );
110 }
78 } 111 }
79 fuse(other) { 112 return _UnicodeSubsetEncoder;
80 return new _FusedConverter(this, other); 113 }
114 });
115 dart.defineLazyClass(exports, {
116 get AsciiEncoder() {
117 class AsciiEncoder extends exports._UnicodeSubsetEncoder {
118 AsciiEncoder() {
119 super._UnicodeSubsetEncoder(_ASCII_MASK);
120 }
81 } 121 }
82 startChunkedConversion(sink) { 122 return AsciiEncoder;
83 throw new core.UnsupportedError(`This converter does not support chunked conversions: ${this}`); 123 }
124 });
125 let _sink = Symbol('_sink');
126 let ChunkedConversionSink$ = dart.generic(function(T) {
127 class ChunkedConversionSink extends core.Object {
128 ChunkedConversionSink() {
84 } 129 }
85 bind(source) { 130 withCallback(callback) {
86 return new async.Stream.eventTransformed(source, ((sink) => new _Convert erStreamEventSink(this, sink)).bind(this)); 131 return new _SimpleCallbackSink(callback);
87 } 132 }
88 } 133 }
89 Converter[dart.implements] = [async.StreamTransformer]; 134 ChunkedConversionSink[dart.implements] = [core.Sink$(T)];
90 return Converter; 135 dart.defineNamedConstructor(ChunkedConversionSink, 'withCallback');
136 return ChunkedConversionSink;
91 }); 137 });
92 let Converter = Converter$(dart.dynamic, dart.dynamic); 138 let ChunkedConversionSink = ChunkedConversionSink$(dart.dynamic);
93 class _UnicodeSubsetEncoder extends Converter$(core.String, core.List$(core.in t)) { 139 class StringConversionSink extends ChunkedConversionSink$(core.String) {
94 _UnicodeSubsetEncoder(subsetMask) { 140 StringConversionSink() {
95 this[_subsetMask] = subsetMask; 141 super.ChunkedConversionSink();
96 super.Converter();
97 } 142 }
98 convert(string, start, end) { 143 withCallback(callback) {
99 if (start === void 0) 144 return new _StringCallbackSink(callback);
100 start = 0;
101 if (end === void 0)
102 end = null;
103 let stringLength = string.length;
104 core.RangeError.checkValidRange(start, end, stringLength);
105 if (end == null)
106 end = stringLength;
107 let length = dart.notNull(end) - dart.notNull(start);
108 let result = new typed_data.Uint8List(length);
109 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull(i ) + 1) {
110 let codeUnit = string.codeUnitAt(dart.notNull(start) + dart.notNull(i));
111 if ((dart.notNull(codeUnit) & ~dart.notNull(this[_subsetMask])) != 0) {
112 throw new core.ArgumentError("String contains invalid characters.");
113 }
114 result.set(i, codeUnit);
115 }
116 return dart.as(result, core.List$(core.int));
117 } 145 }
118 startChunkedConversion(sink) { 146 from(sink) {
119 if (!dart.is(sink, ByteConversionSink)) { 147 return new _StringAdapterSink(sink);
120 sink = new ByteConversionSink.from(sink);
121 }
122 return new _UnicodeSubsetEncoderSink(this[_subsetMask], dart.as(sink, Byte ConversionSink));
123 } 148 }
124 bind(stream) { 149 fromStringSink(sink) {
125 return dart.as(super.bind(stream), async.Stream$(core.List$(core.int))); 150 return new _StringSinkConversionSink(sink);
126 } 151 }
127 } 152 }
128 class AsciiEncoder extends _UnicodeSubsetEncoder { 153 dart.defineNamedConstructor(StringConversionSink, 'withCallback');
129 AsciiEncoder() { 154 dart.defineNamedConstructor(StringConversionSink, 'from');
130 super._UnicodeSubsetEncoder(_ASCII_MASK); 155 dart.defineNamedConstructor(StringConversionSink, 'fromStringSink');
131 }
132 }
133 let _sink = Symbol('_sink');
134 class StringConversionSinkMixin extends core.Object { 156 class StringConversionSinkMixin extends core.Object {
135 add(str) { 157 add(str) {
136 return this.addSlice(str, 0, str.length, false); 158 return this.addSlice(str, 0, str.length, false);
137 } 159 }
138 asUtf8Sink(allowMalformed) { 160 asUtf8Sink(allowMalformed) {
139 return new _Utf8ConversionSink(this, allowMalformed); 161 return new _Utf8ConversionSink(this, allowMalformed);
140 } 162 }
141 asStringSink() { 163 asStringSink() {
142 return new _StringConversionSinkAsStringSinkAdapter(this); 164 return new _StringConversionSinkAsStringSinkAdapter(this);
143 } 165 }
144 } 166 }
145 StringConversionSinkMixin[dart.implements] = [StringConversionSink]; 167 StringConversionSinkMixin[dart.implements] = [StringConversionSink];
146 class StringConversionSinkBase extends StringConversionSinkMixin { 168 class StringConversionSinkBase extends StringConversionSinkMixin {}
147 }
148 class _UnicodeSubsetEncoderSink extends StringConversionSinkBase { 169 class _UnicodeSubsetEncoderSink extends StringConversionSinkBase {
149 _UnicodeSubsetEncoderSink(subsetMask, sink$) { 170 _UnicodeSubsetEncoderSink(subsetMask, sink$) {
150 this[_subsetMask] = subsetMask; 171 this[_subsetMask] = subsetMask;
151 this[_sink] = sink$; 172 this[_sink] = sink$;
152 super.StringConversionSinkBase(); 173 super.StringConversionSinkBase();
153 } 174 }
154 close() { 175 close() {
155 this[_sink].close(); 176 this[_sink].close();
156 } 177 }
157 addSlice(source, start, end, isLast) { 178 addSlice(source, start, end, isLast) {
158 core.RangeError.checkValidRange(start, end, source.length); 179 core.RangeError.checkValidRange(start, end, source.length);
159 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull( i) + 1) { 180 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull( i) + 1) {
160 let codeUnit = source.codeUnitAt(i); 181 let codeUnit = source.codeUnitAt(i);
161 if ((dart.notNull(codeUnit) & ~dart.notNull(this[_subsetMask])) != 0) { 182 if ((dart.notNull(codeUnit) & ~dart.notNull(this[_subsetMask])) != 0) {
162 throw new core.ArgumentError(`Source contains invalid character with c ode point: ${codeUnit}.`); 183 throw new core.ArgumentError(`Source contains invalid character with c ode point: ${codeUnit}.`);
163 } 184 }
164 } 185 }
165 this[_sink].add(source.codeUnits.sublist(start, end)); 186 this[_sink].add(source.codeUnits.sublist(start, end));
166 if (isLast) { 187 if (isLast) {
167 this.close(); 188 this.close();
168 } 189 }
169 } 190 }
170 } 191 }
171 let _convertInvalid = Symbol('_convertInvalid'); 192 let _convertInvalid = Symbol('_convertInvalid');
172 class _UnicodeSubsetDecoder extends Converter$(core.List$(core.int), core.Stri ng) { 193 dart.defineLazyClass(exports, {
173 _UnicodeSubsetDecoder(allowInvalid$, subsetMask) { 194 get _UnicodeSubsetDecoder() {
174 this[_allowInvalid] = allowInvalid$; 195 class _UnicodeSubsetDecoder extends exports.Converter$(core.List$(core.int ), core.String) {
175 this[_subsetMask] = subsetMask; 196 _UnicodeSubsetDecoder(allowInvalid$, subsetMask) {
176 super.Converter(); 197 this[_allowInvalid] = allowInvalid$;
177 } 198 this[_subsetMask] = subsetMask;
178 convert(bytes, start, end) { 199 super.Converter();
179 if (start === void 0) 200 }
180 start = 0; 201 convert(bytes, start, end) {
181 if (end === void 0) 202 if (start === void 0)
182 end = null; 203 start = 0;
183 let byteCount = bytes.length; 204 if (end === void 0)
184 core.RangeError.checkValidRange(start, end, byteCount); 205 end = null;
185 if (end == null) 206 let byteCount = bytes.length;
186 end = byteCount; 207 core.RangeError.checkValidRange(start, end, byteCount);
187 let length = dart.notNull(end) - dart.notNull(start); 208 if (end == null)
188 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull( i) + 1) { 209 end = byteCount;
189 let byte = bytes.get(i); 210 let length = dart.notNull(end) - dart.notNull(start);
190 if ((dart.notNull(byte) & ~dart.notNull(this[_subsetMask])) != 0) { 211 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notN ull(i) + 1) {
191 if (!dart.notNull(this[_allowInvalid])) { 212 let byte = bytes.get(i);
192 throw new core.FormatException(`Invalid value in input: ${byte}`); 213 if ((dart.notNull(byte) & ~dart.notNull(this[_subsetMask])) != 0) {
214 if (!dart.notNull(this[_allowInvalid])) {
215 throw new core.FormatException(`Invalid value in input: ${byte}` );
216 }
217 return this[_convertInvalid](bytes, start, end);
218 }
193 } 219 }
194 return this[_convertInvalid](bytes, start, end); 220 return new core.String.fromCharCodes(bytes, start, end);
221 }
222 [_convertInvalid](bytes, start, end) {
223 let buffer = new core.StringBuffer();
224 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notN ull(i) + 1) {
225 let value = bytes.get(i);
226 if ((dart.notNull(value) & ~dart.notNull(this[_subsetMask])) != 0)
227 value = 65533;
228 buffer.writeCharCode(value);
229 }
230 return buffer.toString();
231 }
232 bind(stream) {
233 return dart.as(super.bind(stream), async.Stream$(core.String));
195 } 234 }
196 } 235 }
197 return new core.String.fromCharCodes(bytes, start, end); 236 return _UnicodeSubsetDecoder;
198 } 237 }
199 [_convertInvalid](bytes, start, end) { 238 });
200 let buffer = new core.StringBuffer(); 239 dart.defineLazyClass(exports, {
201 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull( i) + 1) { 240 get AsciiDecoder() {
202 let value = bytes.get(i); 241 class AsciiDecoder extends exports._UnicodeSubsetDecoder {
203 if ((dart.notNull(value) & ~dart.notNull(this[_subsetMask])) != 0) 242 AsciiDecoder(opts) {
204 value = 65533; 243 let allowInvalid = opts && 'allowInvalid' in opts ? opts.allowInvalid : false;
205 buffer.writeCharCode(value); 244 super._UnicodeSubsetDecoder(allowInvalid, _ASCII_MASK);
245 }
246 startChunkedConversion(sink) {
247 let stringSink = null;
248 if (dart.is(sink, StringConversionSink)) {
249 stringSink = sink;
250 } else {
251 stringSink = new StringConversionSink.from(sink);
252 }
253 if (this[_allowInvalid]) {
254 return new _ErrorHandlingAsciiDecoderSink(stringSink.asUtf8Sink(fals e));
255 } else {
256 return new _SimpleAsciiDecoderSink(stringSink);
257 }
258 }
206 } 259 }
207 return buffer.toString(); 260 return AsciiDecoder;
208 } 261 }
209 bind(stream) { 262 });
210 return dart.as(super.bind(stream), async.Stream$(core.String));
211 }
212 }
213 class AsciiDecoder extends _UnicodeSubsetDecoder {
214 AsciiDecoder(opts) {
215 let allowInvalid = opts && 'allowInvalid' in opts ? opts.allowInvalid : fa lse;
216 super._UnicodeSubsetDecoder(allowInvalid, _ASCII_MASK);
217 }
218 startChunkedConversion(sink) {
219 let stringSink = null;
220 if (dart.is(sink, StringConversionSink)) {
221 stringSink = sink;
222 } else {
223 stringSink = new StringConversionSink.from(sink);
224 }
225 if (this[_allowInvalid]) {
226 return new _ErrorHandlingAsciiDecoderSink(stringSink.asUtf8Sink(false));
227 } else {
228 return new _SimpleAsciiDecoderSink(stringSink);
229 }
230 }
231 }
232 let _utf8Sink = Symbol('_utf8Sink'); 263 let _utf8Sink = Symbol('_utf8Sink');
233 let ChunkedConversionSink$ = dart.generic(function(T) {
234 class ChunkedConversionSink extends core.Object {
235 ChunkedConversionSink() {
236 }
237 withCallback(callback) {
238 return new _SimpleCallbackSink(callback);
239 }
240 }
241 ChunkedConversionSink[dart.implements] = [core.Sink$(T)];
242 dart.defineNamedConstructor(ChunkedConversionSink, 'withCallback');
243 return ChunkedConversionSink;
244 });
245 let ChunkedConversionSink = ChunkedConversionSink$(dart.dynamic);
246 class ByteConversionSink extends ChunkedConversionSink$(core.List$(core.int)) { 264 class ByteConversionSink extends ChunkedConversionSink$(core.List$(core.int)) {
247 ByteConversionSink() { 265 ByteConversionSink() {
248 super.ChunkedConversionSink(); 266 super.ChunkedConversionSink();
249 } 267 }
250 withCallback(callback) { 268 withCallback(callback) {
251 return new _ByteCallbackSink(callback); 269 return new _ByteCallbackSink(callback);
252 } 270 }
253 from(sink) { 271 from(sink) {
254 return new _ByteAdapterSink(sink); 272 return new _ByteAdapterSink(sink);
255 } 273 }
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
422 stackTrace = null; 440 stackTrace = null;
423 this[_eventSink].addError(error, stackTrace); 441 this[_eventSink].addError(error, stackTrace);
424 } 442 }
425 close() { 443 close() {
426 return this[_chunkedSink].close(); 444 return this[_chunkedSink].close();
427 } 445 }
428 } 446 }
429 _ConverterStreamEventSink[dart.implements] = [async.EventSink$(S)]; 447 _ConverterStreamEventSink[dart.implements] = [async.EventSink$(S)];
430 return _ConverterStreamEventSink; 448 return _ConverterStreamEventSink;
431 }); 449 });
432 let _ConverterStreamEventSink = _ConverterStreamEventSink$(dart.dynamic, dart. dynamic); 450 dart.defineLazyClassGeneric(exports, '_ConverterStreamEventSink', {get: _Conve rterStreamEventSink$});
433 let _first = Symbol('_first'); 451 let _first = Symbol('_first');
434 let _second = Symbol('_second'); 452 let _second = Symbol('_second');
435 let _FusedCodec$ = dart.generic(function(S, M, T) { 453 let _FusedCodec$ = dart.generic(function(S, M, T) {
436 class _FusedCodec extends Codec$(S, T) { 454 class _FusedCodec extends Codec$(S, T) {
437 get encoder() { 455 get encoder() {
438 return dart.as(this[_first].encoder.fuse(this[_second].encoder), Convert er$(S, T)); 456 return dart.as(this[_first].encoder.fuse(this[_second].encoder), exports .Converter$(S, T));
439 } 457 }
440 get decoder() { 458 get decoder() {
441 return dart.as(this[_second].decoder.fuse(this[_first].decoder), Convert er$(T, S)); 459 return dart.as(this[_second].decoder.fuse(this[_first].decoder), exports .Converter$(T, S));
442 } 460 }
443 _FusedCodec(first$, second) { 461 _FusedCodec(first$, second) {
444 this[_first] = first$; 462 this[_first] = first$;
445 this[_second] = second; 463 this[_second] = second;
446 super.Codec(); 464 super.Codec();
447 } 465 }
448 } 466 }
449 return _FusedCodec; 467 return _FusedCodec;
450 }); 468 });
451 let _FusedCodec = _FusedCodec$(dart.dynamic, dart.dynamic, dart.dynamic); 469 let _FusedCodec = _FusedCodec$(dart.dynamic, dart.dynamic, dart.dynamic);
(...skipping 10 matching lines...) Expand all
462 get decoder() { 480 get decoder() {
463 return this[_codec].encoder; 481 return this[_codec].encoder;
464 } 482 }
465 get inverted() { 483 get inverted() {
466 return this[_codec]; 484 return this[_codec];
467 } 485 }
468 } 486 }
469 return _InvertedCodec; 487 return _InvertedCodec;
470 }); 488 });
471 let _InvertedCodec = _InvertedCodec$(dart.dynamic, dart.dynamic); 489 let _InvertedCodec = _InvertedCodec$(dart.dynamic, dart.dynamic);
490 let Converter$ = dart.generic(function(S, T) {
491 class Converter extends core.Object {
492 Converter() {
493 }
494 fuse(other) {
495 return new _FusedConverter(this, other);
496 }
497 startChunkedConversion(sink) {
498 throw new core.UnsupportedError(`This converter does not support chunked conversions: ${this}`);
499 }
500 bind(source) {
501 return new async.Stream.eventTransformed(source, ((sink) => new _Convert erStreamEventSink(this, sink)).bind(this));
502 }
503 }
504 Converter[dart.implements] = [async.StreamTransformer];
505 return Converter;
506 });
507 dart.defineLazyClassGeneric(exports, 'Converter', {get: Converter$});
472 let _FusedConverter$ = dart.generic(function(S, M, T) { 508 let _FusedConverter$ = dart.generic(function(S, M, T) {
473 class _FusedConverter extends Converter$(S, T) { 509 class _FusedConverter extends exports.Converter$(S, T) {
474 _FusedConverter(first$, second) { 510 _FusedConverter(first$, second) {
475 this[_first] = first$; 511 this[_first] = first$;
476 this[_second] = second; 512 this[_second] = second;
477 super.Converter(); 513 super.Converter();
478 } 514 }
479 convert(input) { 515 convert(input) {
480 return dart.as(this[_second].convert(this[_first].convert(input)), T); 516 return dart.as(this[_second].convert(this[_first].convert(input)), T);
481 } 517 }
482 startChunkedConversion(sink) { 518 startChunkedConversion(sink) {
483 return this[_first].startChunkedConversion(this[_second].startChunkedCon version(sink)); 519 return this[_first].startChunkedConversion(this[_second].startChunkedCon version(sink));
484 } 520 }
485 } 521 }
486 return _FusedConverter; 522 return _FusedConverter;
487 }); 523 });
488 let _FusedConverter = _FusedConverter$(dart.dynamic, dart.dynamic, dart.dynami c); 524 dart.defineLazyClassGeneric(exports, '_FusedConverter', {get: _FusedConverter$ });
489 let HTML_ESCAPE = new HtmlEscape(); 525 let HTML_ESCAPE = new HtmlEscape();
490 let _$ = Symbol('_'); 526 let _$ = Symbol('_');
491 let _name = Symbol('_name'); 527 let _name = Symbol('_name');
492 class HtmlEscapeMode extends core.Object { 528 class HtmlEscapeMode extends core.Object {
493 [_$](name$, escapeLtGt, escapeQuot, escapeApos, escapeSlash) { 529 [_$](name$, escapeLtGt, escapeQuot, escapeApos, escapeSlash) {
494 this[_name] = name$; 530 this[_name] = name$;
495 this.escapeLtGt = escapeLtGt; 531 this.escapeLtGt = escapeLtGt;
496 this.escapeQuot = escapeQuot; 532 this.escapeQuot = escapeQuot;
497 this.escapeApos = escapeApos; 533 this.escapeApos = escapeApos;
498 this.escapeSlash = escapeSlash; 534 this.escapeSlash = escapeSlash;
499 } 535 }
500 toString() { 536 toString() {
501 return this[_name]; 537 return this[_name];
502 } 538 }
503 } 539 }
504 dart.defineNamedConstructor(HtmlEscapeMode, _$); 540 dart.defineNamedConstructor(HtmlEscapeMode, _$);
505 HtmlEscapeMode.UNKNOWN = new HtmlEscapeMode[_$]('unknown', true, true, true, t rue); 541 HtmlEscapeMode.UNKNOWN = new HtmlEscapeMode[_$]('unknown', true, true, true, t rue);
506 HtmlEscapeMode.ATTRIBUTE = new HtmlEscapeMode[_$]('attribute', false, true, fa lse, false); 542 HtmlEscapeMode.ATTRIBUTE = new HtmlEscapeMode[_$]('attribute', false, true, fa lse, false);
507 HtmlEscapeMode.ELEMENT = new HtmlEscapeMode[_$]('element', true, false, false, true); 543 HtmlEscapeMode.ELEMENT = new HtmlEscapeMode[_$]('element', true, false, false, true);
508 let _convert = Symbol('_convert'); 544 let _convert = Symbol('_convert');
509 class HtmlEscape extends Converter$(core.String, core.String) { 545 dart.defineLazyClass(exports, {
510 HtmlEscape(mode) { 546 get HtmlEscape() {
511 if (mode === void 0) 547 class HtmlEscape extends exports.Converter$(core.String, core.String) {
512 mode = HtmlEscapeMode.UNKNOWN; 548 HtmlEscape(mode) {
513 this.mode = mode; 549 if (mode === void 0)
514 super.Converter(); 550 mode = HtmlEscapeMode.UNKNOWN;
515 } 551 this.mode = mode;
516 convert(text) { 552 super.Converter();
517 let val = this[_convert](text, 0, text.length); 553 }
518 return val == null ? text : val; 554 convert(text) {
519 } 555 let val = this[_convert](text, 0, text.length);
520 [_convert](text, start, end) { 556 return val == null ? text : val;
521 let result = null; 557 }
522 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull( i) + 1) { 558 [_convert](text, start, end) {
523 let ch = text.get(i); 559 let result = null;
524 let replace = null; 560 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notN ull(i) + 1) {
525 switch (ch) { 561 let ch = text.get(i);
526 case '&': 562 let replace = null;
527 { 563 switch (ch) {
528 replace = '&amp;'; 564 case '&':
529 break; 565 {
566 replace = '&amp;';
567 break;
568 }
569 case ' ':
570 {
571 replace = '&nbsp;';
572 break;
573 }
574 case '"':
575 {
576 if (this.mode.escapeQuot)
577 replace = '&quot;';
578 break;
579 }
580 case "'":
581 {
582 if (this.mode.escapeApos)
583 replace = '&#x27;';
584 break;
585 }
586 case '<':
587 {
588 if (this.mode.escapeLtGt)
589 replace = '&lt;';
590 break;
591 }
592 case '>':
593 {
594 if (this.mode.escapeLtGt)
595 replace = '&gt;';
596 break;
597 }
598 case '/':
599 {
600 if (this.mode.escapeSlash)
601 replace = '&#x2F;';
602 break;
603 }
604 }
605 if (replace != null) {
606 if (result == null)
607 result = new core.StringBuffer(text.substring(start, i));
608 result.write(replace);
609 } else if (result != null) {
610 result.write(ch);
611 }
530 } 612 }
531 case ' ': 613 return result != null ? result.toString() : null;
532 { 614 }
533 replace = '&nbsp;'; 615 startChunkedConversion(sink) {
534 break; 616 if (!dart.is(sink, StringConversionSink)) {
617 sink = new StringConversionSink.from(sink);
535 } 618 }
536 case '"': 619 return new _HtmlEscapeSink(this, dart.as(sink, StringConversionSink));
537 {
538 if (this.mode.escapeQuot)
539 replace = '&quot;';
540 break;
541 }
542 case "'":
543 {
544 if (this.mode.escapeApos)
545 replace = '&#x27;';
546 break;
547 }
548 case '<':
549 {
550 if (this.mode.escapeLtGt)
551 replace = '&lt;';
552 break;
553 }
554 case '>':
555 {
556 if (this.mode.escapeLtGt)
557 replace = '&gt;';
558 break;
559 }
560 case '/':
561 {
562 if (this.mode.escapeSlash)
563 replace = '&#x2F;';
564 break;
565 }
566 }
567 if (replace != null) {
568 if (result == null)
569 result = new core.StringBuffer(text.substring(start, i));
570 result.write(replace);
571 } else if (result != null) {
572 result.write(ch);
573 } 620 }
574 } 621 }
575 return result != null ? result.toString() : null; 622 return HtmlEscape;
576 } 623 }
577 startChunkedConversion(sink) { 624 });
578 if (!dart.is(sink, StringConversionSink)) {
579 sink = new StringConversionSink.from(sink);
580 }
581 return new _HtmlEscapeSink(this, dart.as(sink, StringConversionSink));
582 }
583 }
584 let _escape = Symbol('_escape'); 625 let _escape = Symbol('_escape');
585 class _HtmlEscapeSink extends StringConversionSinkBase { 626 class _HtmlEscapeSink extends StringConversionSinkBase {
586 _HtmlEscapeSink(escape, sink$) { 627 _HtmlEscapeSink(escape, sink$) {
587 this[_escape] = escape; 628 this[_escape] = escape;
588 this[_sink] = sink$; 629 this[_sink] = sink$;
589 super.StringConversionSinkBase(); 630 super.StringConversionSinkBase();
590 } 631 }
591 addSlice(chunk, start, end, isLast) { 632 addSlice(chunk, start, end, isLast) {
592 let val = this[_escape]._convert(chunk, start, end); 633 let val = this[_escape]._convert(chunk, start, end);
593 if (val == null) { 634 if (val == null) {
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
660 return new JsonEncoder(); 701 return new JsonEncoder();
661 return new JsonEncoder(dart.closureWrap(this[_toEncodable$], "(Object) → O bject")); 702 return new JsonEncoder(dart.closureWrap(this[_toEncodable$], "(Object) → O bject"));
662 } 703 }
663 get decoder() { 704 get decoder() {
664 if (this[_reviver] == null) 705 if (this[_reviver] == null)
665 return new JsonDecoder(); 706 return new JsonDecoder();
666 return new JsonDecoder(this[_reviver]); 707 return new JsonDecoder(this[_reviver]);
667 } 708 }
668 } 709 }
669 dart.defineNamedConstructor(JsonCodec, 'withReviver'); 710 dart.defineNamedConstructor(JsonCodec, 'withReviver');
670 class JsonEncoder extends Converter$(core.Object, core.String) { 711 dart.defineLazyClass(exports, {
671 JsonEncoder(toEncodable) { 712 get JsonEncoder() {
672 if (toEncodable === void 0) 713 class JsonEncoder extends exports.Converter$(core.Object, core.String) {
673 toEncodable = null; 714 JsonEncoder(toEncodable) {
674 this.indent = null; 715 if (toEncodable === void 0)
675 this[_toEncodable$] = toEncodable; 716 toEncodable = null;
676 super.Converter(); 717 this.indent = null;
718 this[_toEncodable$] = toEncodable;
719 super.Converter();
720 }
721 withIndent(indent, toEncodable) {
722 if (toEncodable === void 0)
723 toEncodable = null;
724 this.indent = indent;
725 this[_toEncodable$] = toEncodable;
726 super.Converter();
727 }
728 convert(object) {
729 return _JsonStringStringifier.stringify(object, dart.as(this[_toEncoda ble$], dart.throw_("Unimplemented type (dynamic) → dynamic")), this.indent);
730 }
731 startChunkedConversion(sink) {
732 if (!dart.is(sink, StringConversionSink)) {
733 sink = new StringConversionSink.from(sink);
734 } else if (dart.is(sink, _Utf8EncoderSink)) {
735 return new _JsonUtf8EncoderSink(sink[_sink], this[_toEncodable$], Js onUtf8Encoder._utf8Encode(this.indent), JsonUtf8Encoder.DEFAULT_BUFFER_SIZE);
736 }
737 return new _JsonEncoderSink(dart.as(sink, StringConversionSink), this[ _toEncodable$], this.indent);
738 }
739 bind(stream) {
740 return dart.as(super.bind(stream), async.Stream$(core.String));
741 }
742 fuse(other) {
743 if (dart.is(other, exports.Utf8Encoder)) {
744 return new JsonUtf8Encoder(this.indent, dart.as(this[_toEncodable$], dart.throw_("Unimplemented type (Object) → dynamic")));
745 }
746 return super.fuse(other);
747 }
748 }
749 dart.defineNamedConstructor(JsonEncoder, 'withIndent');
750 return JsonEncoder;
677 } 751 }
678 withIndent(indent, toEncodable) { 752 });
679 if (toEncodable === void 0)
680 toEncodable = null;
681 this.indent = indent;
682 this[_toEncodable$] = toEncodable;
683 super.Converter();
684 }
685 convert(object) {
686 return _JsonStringStringifier.stringify(object, dart.as(this[_toEncodable$ ], dart.throw_("Unimplemented type (dynamic) → dynamic")), this.indent);
687 }
688 startChunkedConversion(sink) {
689 if (!dart.is(sink, StringConversionSink)) {
690 sink = new StringConversionSink.from(sink);
691 } else if (dart.is(sink, _Utf8EncoderSink)) {
692 return new _JsonUtf8EncoderSink(sink[_sink], this[_toEncodable$], JsonUt f8Encoder._utf8Encode(this.indent), JsonUtf8Encoder.DEFAULT_BUFFER_SIZE);
693 }
694 return new _JsonEncoderSink(dart.as(sink, StringConversionSink), this[_toE ncodable$], this.indent);
695 }
696 bind(stream) {
697 return dart.as(super.bind(stream), async.Stream$(core.String));
698 }
699 fuse(other) {
700 if (dart.is(other, Utf8Encoder)) {
701 return new JsonUtf8Encoder(this.indent, dart.as(this[_toEncodable$], dar t.throw_("Unimplemented type (Object) → dynamic")));
702 }
703 return super.fuse(other);
704 }
705 }
706 dart.defineNamedConstructor(JsonEncoder, 'withIndent');
707 let _indent = Symbol('_indent'); 753 let _indent = Symbol('_indent');
708 let _utf8Encode = Symbol('_utf8Encode'); 754 let _utf8Encode = Symbol('_utf8Encode');
709 let _bufferSize = Symbol('_bufferSize'); 755 let _bufferSize = Symbol('_bufferSize');
710 class JsonUtf8Encoder extends Converter$(core.Object, core.List$(core.int)) { 756 dart.defineLazyClass(exports, {
711 JsonUtf8Encoder(indent, toEncodable, bufferSize) { 757 get JsonUtf8Encoder() {
712 if (indent === void 0) 758 class JsonUtf8Encoder extends exports.Converter$(core.Object, core.List$(c ore.int)) {
713 indent = null; 759 JsonUtf8Encoder(indent, toEncodable, bufferSize) {
714 if (toEncodable === void 0) 760 if (indent === void 0)
715 toEncodable = null; 761 indent = null;
716 if (bufferSize === void 0) 762 if (toEncodable === void 0)
717 bufferSize = JsonUtf8Encoder.DEFAULT_BUFFER_SIZE; 763 toEncodable = null;
718 this[_indent] = JsonUtf8Encoder[_utf8Encode](indent); 764 if (bufferSize === void 0)
719 this[_toEncodable$] = toEncodable; 765 bufferSize = JsonUtf8Encoder.DEFAULT_BUFFER_SIZE;
720 this[_bufferSize] = bufferSize; 766 this[_indent] = JsonUtf8Encoder[_utf8Encode](indent);
721 super.Converter(); 767 this[_toEncodable$] = toEncodable;
768 this[_bufferSize] = bufferSize;
769 super.Converter();
770 }
771 static [_utf8Encode](string) {
772 if (string == null)
773 return null;
774 if (string.isEmpty)
775 return new typed_data.Uint8List(0);
776 checkAscii: {
777 for (let i = 0; dart.notNull(i) < dart.notNull(string.length); i = d art.notNull(i) + 1) {
778 if (dart.notNull(string.codeUnitAt(i)) >= 128)
779 break checkAscii;
780 }
781 return string.codeUnits;
782 }
783 return UTF8.encode(string);
784 }
785 convert(object) {
786 let bytes = dart.as(new core.List.from([]), core.List$(core.List$(core .int)));
787 // Function addChunk: (Uint8List, int, int) → void
788 function addChunk(chunk, start, end) {
789 if (dart.notNull(start) > 0 || dart.notNull(end) < dart.notNull(chun k.length)) {
790 let length = dart.notNull(end) - dart.notNull(start);
791 chunk = new typed_data.Uint8List.view(chunk.buffer, dart.notNull(c hunk.offsetInBytes) + dart.notNull(start), length);
792 }
793 bytes.add(chunk);
794 }
795 _JsonUtf8Stringifier.stringify(object, this[_indent], dart.as(this[_to Encodable$], dart.throw_("Unimplemented type (Object) → dynamic")), this[_buffer Size], addChunk);
796 if (bytes.length == 1)
797 return bytes.get(0);
798 let length = 0;
799 for (let i = 0; dart.notNull(i) < dart.notNull(bytes.length); i = dart .notNull(i) + 1) {
800 length = bytes.get(i).length;
801 }
802 let result = new typed_data.Uint8List(length);
803 for (let i = 0, offset = 0; dart.notNull(i) < dart.notNull(bytes.lengt h); i = dart.notNull(i) + 1) {
804 let byteList = bytes.get(i);
805 let end = dart.notNull(offset) + dart.notNull(byteList.length);
806 result.setRange(offset, end, byteList);
807 offset = end;
808 }
809 return result;
810 }
811 startChunkedConversion(sink) {
812 let byteSink = null;
813 if (dart.is(sink, ByteConversionSink)) {
814 byteSink = sink;
815 } else {
816 byteSink = new ByteConversionSink.from(sink);
817 }
818 return new _JsonUtf8EncoderSink(byteSink, this[_toEncodable$], this[_i ndent], this[_bufferSize]);
819 }
820 bind(stream) {
821 return dart.as(super.bind(stream), async.Stream$(core.List$(core.int)) );
822 }
823 fuse(other) {
824 return super.fuse(other);
825 }
826 }
827 JsonUtf8Encoder.DEFAULT_BUFFER_SIZE = 256;
828 return JsonUtf8Encoder;
722 } 829 }
723 static [_utf8Encode](string) { 830 });
724 if (string == null)
725 return null;
726 if (string.isEmpty)
727 return new typed_data.Uint8List(0);
728 checkAscii: {
729 for (let i = 0; dart.notNull(i) < dart.notNull(string.length); i = dart. notNull(i) + 1) {
730 if (dart.notNull(string.codeUnitAt(i)) >= 128)
731 break checkAscii;
732 }
733 return string.codeUnits;
734 }
735 return UTF8.encode(string);
736 }
737 convert(object) {
738 let bytes = dart.as(new core.List.from([]), core.List$(core.List$(core.int )));
739 // Function addChunk: (Uint8List, int, int) → void
740 function addChunk(chunk, start, end) {
741 if (dart.notNull(start) > 0 || dart.notNull(end) < dart.notNull(chunk.le ngth)) {
742 let length = dart.notNull(end) - dart.notNull(start);
743 chunk = new typed_data.Uint8List.view(chunk.buffer, dart.notNull(chunk .offsetInBytes) + dart.notNull(start), length);
744 }
745 bytes.add(chunk);
746 }
747 _JsonUtf8Stringifier.stringify(object, this[_indent], dart.as(this[_toEnco dable$], dart.throw_("Unimplemented type (Object) → dynamic")), this[_bufferSize ], addChunk);
748 if (bytes.length == 1)
749 return bytes.get(0);
750 let length = 0;
751 for (let i = 0; dart.notNull(i) < dart.notNull(bytes.length); i = dart.not Null(i) + 1) {
752 length = bytes.get(i).length;
753 }
754 let result = new typed_data.Uint8List(length);
755 for (let i = 0, offset = 0; dart.notNull(i) < dart.notNull(bytes.length); i = dart.notNull(i) + 1) {
756 let byteList = bytes.get(i);
757 let end = dart.notNull(offset) + dart.notNull(byteList.length);
758 result.setRange(offset, end, byteList);
759 offset = end;
760 }
761 return result;
762 }
763 startChunkedConversion(sink) {
764 let byteSink = null;
765 if (dart.is(sink, ByteConversionSink)) {
766 byteSink = sink;
767 } else {
768 byteSink = new ByteConversionSink.from(sink);
769 }
770 return new _JsonUtf8EncoderSink(byteSink, this[_toEncodable$], this[_inden t], this[_bufferSize]);
771 }
772 bind(stream) {
773 return dart.as(super.bind(stream), async.Stream$(core.List$(core.int)));
774 }
775 fuse(other) {
776 return super.fuse(other);
777 }
778 }
779 JsonUtf8Encoder.DEFAULT_BUFFER_SIZE = 256;
780 let _isDone = Symbol('_isDone'); 831 let _isDone = Symbol('_isDone');
781 class _JsonEncoderSink extends ChunkedConversionSink$(core.Object) { 832 class _JsonEncoderSink extends ChunkedConversionSink$(core.Object) {
782 _JsonEncoderSink(sink$, toEncodable$, indent$) { 833 _JsonEncoderSink(sink$, toEncodable$, indent$) {
783 this[_sink] = sink$; 834 this[_sink] = sink$;
784 this[_toEncodable$] = toEncodable$; 835 this[_toEncodable$] = toEncodable$;
785 this[_indent] = indent$; 836 this[_indent] = indent$;
786 this[_isDone] = false; 837 this[_isDone] = false;
787 super.ChunkedConversionSink(); 838 super.ChunkedConversionSink();
788 } 839 }
789 add(o) { 840 add(o) {
(...skipping 28 matching lines...) Expand all
818 _JsonUtf8Stringifier.stringify(object, this[_indent], dart.as(this[_toEnco dable$], dart.throw_("Unimplemented type (Object) → dynamic")), this[_bufferSize ], this[_addChunk]); 869 _JsonUtf8Stringifier.stringify(object, this[_indent], dart.as(this[_toEnco dable$], dart.throw_("Unimplemented type (Object) → dynamic")), this[_bufferSize ], this[_addChunk]);
819 this[_sink].close(); 870 this[_sink].close();
820 } 871 }
821 close() { 872 close() {
822 if (!dart.notNull(this[_isDone])) { 873 if (!dart.notNull(this[_isDone])) {
823 this[_isDone] = true; 874 this[_isDone] = true;
824 this[_sink].close(); 875 this[_sink].close();
825 } 876 }
826 } 877 }
827 } 878 }
828 class JsonDecoder extends Converter$(core.String, core.Object) { 879 dart.defineLazyClass(exports, {
829 JsonDecoder(reviver) { 880 get JsonDecoder() {
830 if (reviver === void 0) 881 class JsonDecoder extends exports.Converter$(core.String, core.Object) {
831 reviver = null; 882 JsonDecoder(reviver) {
832 this[_reviver] = reviver; 883 if (reviver === void 0)
833 super.Converter(); 884 reviver = null;
885 this[_reviver] = reviver;
886 super.Converter();
887 }
888 convert(input) {
889 return _parseJson(input, this[_reviver]);
890 }
891 startChunkedConversion(sink) {
892 return new _JsonDecoderSink(this[_reviver], sink);
893 }
894 bind(stream) {
895 return super.bind(stream);
896 }
897 }
898 return JsonDecoder;
834 } 899 }
835 convert(input) { 900 });
836 return _parseJson(input, this[_reviver]);
837 }
838 startChunkedConversion(sink) {
839 return new _JsonDecoderSink(this[_reviver], sink);
840 }
841 bind(stream) {
842 return super.bind(stream);
843 }
844 }
845 // Function _parseJson: (String, (dynamic, dynamic) → dynamic) → dynamic 901 // Function _parseJson: (String, (dynamic, dynamic) → dynamic) → dynamic
846 function _parseJson(source, reviver) { 902 function _parseJson(source, reviver) {
847 if (!(typeof source == 'string')) 903 if (!(typeof source == 'string'))
848 throw new core.ArgumentError(source); 904 throw new core.ArgumentError(source);
849 let parsed = null; 905 let parsed = null;
850 try { 906 try {
851 parsed = JSON.parse(source); 907 parsed = JSON.parse(source);
852 } catch (e) { 908 } catch (e) {
853 throw new core.FormatException(String(e)); 909 throw new core.FormatException(String(e));
854 } 910 }
(...skipping 419 matching lines...) Expand 10 before | Expand all | Expand 10 after
1274 return new Latin1Decoder({allowInvalid: false}).convert(bytes); 1330 return new Latin1Decoder({allowInvalid: false}).convert(bytes);
1275 } 1331 }
1276 } 1332 }
1277 get encoder() { 1333 get encoder() {
1278 return new Latin1Encoder(); 1334 return new Latin1Encoder();
1279 } 1335 }
1280 get decoder() { 1336 get decoder() {
1281 return this[_allowInvalid] ? new Latin1Decoder({allowInvalid: true}) : new Latin1Decoder({allowInvalid: false}); 1337 return this[_allowInvalid] ? new Latin1Decoder({allowInvalid: true}) : new Latin1Decoder({allowInvalid: false});
1282 } 1338 }
1283 } 1339 }
1284 class Latin1Encoder extends _UnicodeSubsetEncoder { 1340 dart.defineLazyClass(exports, {
1285 Latin1Encoder() { 1341 get Latin1Encoder() {
1286 super._UnicodeSubsetEncoder(_LATIN1_MASK); 1342 class Latin1Encoder extends exports._UnicodeSubsetEncoder {
1343 Latin1Encoder() {
1344 super._UnicodeSubsetEncoder(_LATIN1_MASK);
1345 }
1346 }
1347 return Latin1Encoder;
1287 } 1348 }
1288 } 1349 });
1289 class Latin1Decoder extends _UnicodeSubsetDecoder { 1350 dart.defineLazyClass(exports, {
1290 Latin1Decoder(opts) { 1351 get Latin1Decoder() {
1291 let allowInvalid = opts && 'allowInvalid' in opts ? opts.allowInvalid : fa lse; 1352 class Latin1Decoder extends exports._UnicodeSubsetDecoder {
1292 super._UnicodeSubsetDecoder(allowInvalid, _LATIN1_MASK); 1353 Latin1Decoder(opts) {
1354 let allowInvalid = opts && 'allowInvalid' in opts ? opts.allowInvalid : false;
1355 super._UnicodeSubsetDecoder(allowInvalid, _LATIN1_MASK);
1356 }
1357 startChunkedConversion(sink) {
1358 let stringSink = null;
1359 if (dart.is(sink, StringConversionSink)) {
1360 stringSink = sink;
1361 } else {
1362 stringSink = new StringConversionSink.from(sink);
1363 }
1364 if (!dart.notNull(this[_allowInvalid]))
1365 return new _Latin1DecoderSink(stringSink);
1366 return new _Latin1AllowInvalidDecoderSink(stringSink);
1367 }
1368 }
1369 return Latin1Decoder;
1293 } 1370 }
1294 startChunkedConversion(sink) { 1371 });
1295 let stringSink = null;
1296 if (dart.is(sink, StringConversionSink)) {
1297 stringSink = sink;
1298 } else {
1299 stringSink = new StringConversionSink.from(sink);
1300 }
1301 if (!dart.notNull(this[_allowInvalid]))
1302 return new _Latin1DecoderSink(stringSink);
1303 return new _Latin1AllowInvalidDecoderSink(stringSink);
1304 }
1305 }
1306 let _addSliceToSink = Symbol('_addSliceToSink'); 1372 let _addSliceToSink = Symbol('_addSliceToSink');
1307 class _Latin1DecoderSink extends ByteConversionSinkBase { 1373 class _Latin1DecoderSink extends ByteConversionSinkBase {
1308 _Latin1DecoderSink(sink$) { 1374 _Latin1DecoderSink(sink$) {
1309 this[_sink] = sink$; 1375 this[_sink] = sink$;
1310 super.ByteConversionSinkBase(); 1376 super.ByteConversionSinkBase();
1311 } 1377 }
1312 close() { 1378 close() {
1313 this[_sink].close(); 1379 this[_sink].close();
1314 } 1380 }
1315 add(source) { 1381 add(source) {
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
1352 } 1418 }
1353 } 1419 }
1354 if (dart.notNull(start) < dart.notNull(end)) { 1420 if (dart.notNull(start) < dart.notNull(end)) {
1355 this[_addSliceToSink](source, start, end, isLast); 1421 this[_addSliceToSink](source, start, end, isLast);
1356 } 1422 }
1357 if (isLast) { 1423 if (isLast) {
1358 this.close(); 1424 this.close();
1359 } 1425 }
1360 } 1426 }
1361 } 1427 }
1362 class LineSplitter extends Converter$(core.String, core.List$(core.String)) { 1428 dart.defineLazyClass(exports, {
1363 LineSplitter() { 1429 get LineSplitter() {
1364 super.Converter(); 1430 class LineSplitter extends exports.Converter$(core.String, core.List$(core .String)) {
1431 LineSplitter() {
1432 super.Converter();
1433 }
1434 convert(data) {
1435 let lines = new core.List();
1436 _LineSplitterSink._addSlice(data, 0, data.length, true, lines.add);
1437 return lines;
1438 }
1439 startChunkedConversion(sink) {
1440 if (!dart.is(sink, StringConversionSink)) {
1441 sink = new StringConversionSink.from(sink);
1442 }
1443 return new _LineSplitterSink(dart.as(sink, StringConversionSink));
1444 }
1445 }
1446 return LineSplitter;
1365 } 1447 }
1366 convert(data) { 1448 });
1367 let lines = new core.List();
1368 _LineSplitterSink._addSlice(data, 0, data.length, true, lines.add);
1369 return lines;
1370 }
1371 startChunkedConversion(sink) {
1372 if (!dart.is(sink, StringConversionSink)) {
1373 sink = new StringConversionSink.from(sink);
1374 }
1375 return new _LineSplitterSink(dart.as(sink, StringConversionSink));
1376 }
1377 }
1378 let _carry = Symbol('_carry'); 1449 let _carry = Symbol('_carry');
1379 let _addSlice = Symbol('_addSlice'); 1450 let _addSlice = Symbol('_addSlice');
1380 let _LF = Symbol('_LF'); 1451 let _LF = Symbol('_LF');
1381 let _CR = Symbol('_CR'); 1452 let _CR = Symbol('_CR');
1382 class _LineSplitterSink extends StringConversionSinkBase { 1453 class _LineSplitterSink extends StringConversionSinkBase {
1383 _LineSplitterSink(sink$) { 1454 _LineSplitterSink(sink$) {
1384 this[_sink] = sink$; 1455 this[_sink] = sink$;
1385 this[_carry] = null; 1456 this[_carry] = null;
1386 super.StringConversionSinkBase(); 1457 super.StringConversionSinkBase();
1387 } 1458 }
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
1429 adder(carry); 1500 adder(carry);
1430 } else { 1501 } else {
1431 return carry; 1502 return carry;
1432 } 1503 }
1433 } 1504 }
1434 return null; 1505 return null;
1435 } 1506 }
1436 } 1507 }
1437 _LineSplitterSink._LF = 10; 1508 _LineSplitterSink._LF = 10;
1438 _LineSplitterSink._CR = 13; 1509 _LineSplitterSink._CR = 13;
1439 class StringConversionSink extends ChunkedConversionSink$(core.String) {
1440 StringConversionSink() {
1441 super.ChunkedConversionSink();
1442 }
1443 withCallback(callback) {
1444 return new _StringCallbackSink(callback);
1445 }
1446 from(sink) {
1447 return new _StringAdapterSink(sink);
1448 }
1449 fromStringSink(sink) {
1450 return new _StringSinkConversionSink(sink);
1451 }
1452 }
1453 dart.defineNamedConstructor(StringConversionSink, 'withCallback');
1454 dart.defineNamedConstructor(StringConversionSink, 'from');
1455 dart.defineNamedConstructor(StringConversionSink, 'fromStringSink');
1456 class ClosableStringSink extends core.StringSink { 1510 class ClosableStringSink extends core.StringSink {
1457 fromStringSink(sink, onClose) { 1511 fromStringSink(sink, onClose) {
1458 return new _ClosableStringSink(sink, onClose); 1512 return new _ClosableStringSink(sink, onClose);
1459 } 1513 }
1460 } 1514 }
1461 dart.defineNamedConstructor(ClosableStringSink, 'fromStringSink'); 1515 dart.defineNamedConstructor(ClosableStringSink, 'fromStringSink');
1462 class _ClosableStringSink extends core.Object { 1516 class _ClosableStringSink extends core.Object {
1463 _ClosableStringSink(sink$, callback$) { 1517 _ClosableStringSink(sink$, callback$) {
1464 this[_sink] = sink$; 1518 this[_sink] = sink$;
1465 this[_callback] = callback$; 1519 this[_callback] = callback$;
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after
1683 allowMalformed = this[_allowMalformed]; 1737 allowMalformed = this[_allowMalformed];
1684 return new Utf8Decoder({allowMalformed: allowMalformed}).convert(codeUnits ); 1738 return new Utf8Decoder({allowMalformed: allowMalformed}).convert(codeUnits );
1685 } 1739 }
1686 get encoder() { 1740 get encoder() {
1687 return new Utf8Encoder(); 1741 return new Utf8Encoder();
1688 } 1742 }
1689 get decoder() { 1743 get decoder() {
1690 return new Utf8Decoder({allowMalformed: this[_allowMalformed]}); 1744 return new Utf8Decoder({allowMalformed: this[_allowMalformed]});
1691 } 1745 }
1692 } 1746 }
1693 class Utf8Encoder extends Converter$(core.String, core.List$(core.int)) { 1747 dart.defineLazyClass(exports, {
1694 Utf8Encoder() { 1748 get Utf8Encoder() {
1695 super.Converter(); 1749 class Utf8Encoder extends exports.Converter$(core.String, core.List$(core. int)) {
1750 Utf8Encoder() {
1751 super.Converter();
1752 }
1753 convert(string, start, end) {
1754 if (start === void 0)
1755 start = 0;
1756 if (end === void 0)
1757 end = null;
1758 let stringLength = string.length;
1759 core.RangeError.checkValidRange(start, end, stringLength);
1760 if (end == null)
1761 end = stringLength;
1762 let length = dart.notNull(end) - dart.notNull(start);
1763 if (length == 0)
1764 return new typed_data.Uint8List(0);
1765 let encoder = new _Utf8Encoder.withBufferSize(dart.notNull(length) * 3 );
1766 let endPosition = encoder._fillBuffer(string, start, end);
1767 dart.assert(dart.notNull(endPosition) >= dart.notNull(end) - 1);
1768 if (endPosition != end) {
1769 let lastCodeUnit = string.codeUnitAt(dart.notNull(end) - 1);
1770 dart.assert(_isLeadSurrogate(lastCodeUnit));
1771 let wasCombined = encoder._writeSurrogate(lastCodeUnit, 0);
1772 dart.assert(!dart.notNull(wasCombined));
1773 }
1774 return encoder[_buffer].sublist(0, encoder[_bufferIndex]);
1775 }
1776 startChunkedConversion(sink) {
1777 if (!dart.is(sink, ByteConversionSink)) {
1778 sink = new ByteConversionSink.from(sink);
1779 }
1780 return new _Utf8EncoderSink(dart.as(sink, ByteConversionSink));
1781 }
1782 bind(stream) {
1783 return dart.as(super.bind(stream), async.Stream$(core.List$(core.int)) );
1784 }
1785 }
1786 return Utf8Encoder;
1696 } 1787 }
1697 convert(string, start, end) { 1788 });
1698 if (start === void 0)
1699 start = 0;
1700 if (end === void 0)
1701 end = null;
1702 let stringLength = string.length;
1703 core.RangeError.checkValidRange(start, end, stringLength);
1704 if (end == null)
1705 end = stringLength;
1706 let length = dart.notNull(end) - dart.notNull(start);
1707 if (length == 0)
1708 return new typed_data.Uint8List(0);
1709 let encoder = new _Utf8Encoder.withBufferSize(dart.notNull(length) * 3);
1710 let endPosition = encoder._fillBuffer(string, start, end);
1711 dart.assert(dart.notNull(endPosition) >= dart.notNull(end) - 1);
1712 if (endPosition != end) {
1713 let lastCodeUnit = string.codeUnitAt(dart.notNull(end) - 1);
1714 dart.assert(_isLeadSurrogate(lastCodeUnit));
1715 let wasCombined = encoder._writeSurrogate(lastCodeUnit, 0);
1716 dart.assert(!dart.notNull(wasCombined));
1717 }
1718 return encoder[_buffer].sublist(0, encoder[_bufferIndex]);
1719 }
1720 startChunkedConversion(sink) {
1721 if (!dart.is(sink, ByteConversionSink)) {
1722 sink = new ByteConversionSink.from(sink);
1723 }
1724 return new _Utf8EncoderSink(dart.as(sink, ByteConversionSink));
1725 }
1726 bind(stream) {
1727 return dart.as(super.bind(stream), async.Stream$(core.List$(core.int)));
1728 }
1729 }
1730 let _DEFAULT_BYTE_BUFFER_SIZE = Symbol('_DEFAULT_BYTE_BUFFER_SIZE'); 1789 let _DEFAULT_BYTE_BUFFER_SIZE = Symbol('_DEFAULT_BYTE_BUFFER_SIZE');
1731 let _createBuffer = Symbol('_createBuffer'); 1790 let _createBuffer = Symbol('_createBuffer');
1732 let _writeSurrogate = Symbol('_writeSurrogate'); 1791 let _writeSurrogate = Symbol('_writeSurrogate');
1733 let _fillBuffer = Symbol('_fillBuffer'); 1792 let _fillBuffer = Symbol('_fillBuffer');
1734 class _Utf8Encoder extends core.Object { 1793 class _Utf8Encoder extends core.Object {
1735 _Utf8Encoder() { 1794 _Utf8Encoder() {
1736 this.withBufferSize(_Utf8Encoder[_DEFAULT_BYTE_BUFFER_SIZE]); 1795 this.withBufferSize(_Utf8Encoder[_DEFAULT_BYTE_BUFFER_SIZE]);
1737 } 1796 }
1738 withBufferSize(bufferSize) { 1797 withBufferSize(bufferSize) {
1739 this[_buffer] = _Utf8Encoder[_createBuffer](bufferSize); 1798 this[_buffer] = _Utf8Encoder[_createBuffer](bufferSize);
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
1842 } 1901 }
1843 start = dart.notNull(start) + 1; 1902 start = dart.notNull(start) + 1;
1844 } 1903 }
1845 this[_sink].addSlice(this[_buffer], 0, this[_bufferIndex], isLastSlice); 1904 this[_sink].addSlice(this[_buffer], 0, this[_bufferIndex], isLastSlice);
1846 this[_bufferIndex] = 0; 1905 this[_bufferIndex] = 0;
1847 } while (dart.notNull(start) < dart.notNull(end)); 1906 } while (dart.notNull(start) < dart.notNull(end));
1848 if (isLast) 1907 if (isLast)
1849 this.close(); 1908 this.close();
1850 } 1909 }
1851 } 1910 }
1852 class Utf8Decoder extends Converter$(core.List$(core.int), core.String) { 1911 dart.defineLazyClass(exports, {
1853 Utf8Decoder(opts) { 1912 get Utf8Decoder() {
1854 let allowMalformed = opts && 'allowMalformed' in opts ? opts.allowMalforme d : false; 1913 class Utf8Decoder extends exports.Converter$(core.List$(core.int), core.St ring) {
1855 this[_allowMalformed] = allowMalformed; 1914 Utf8Decoder(opts) {
1856 super.Converter(); 1915 let allowMalformed = opts && 'allowMalformed' in opts ? opts.allowMalf ormed : false;
1916 this[_allowMalformed] = allowMalformed;
1917 super.Converter();
1918 }
1919 convert(codeUnits, start, end) {
1920 if (start === void 0)
1921 start = 0;
1922 if (end === void 0)
1923 end = null;
1924 let length = codeUnits.length;
1925 core.RangeError.checkValidRange(start, end, length);
1926 if (end == null)
1927 end = length;
1928 let buffer = new core.StringBuffer();
1929 let decoder = new _Utf8Decoder(buffer, this[_allowMalformed]);
1930 decoder.convert(codeUnits, start, end);
1931 decoder.close();
1932 return buffer.toString();
1933 }
1934 startChunkedConversion(sink) {
1935 let stringSink = null;
1936 if (dart.is(sink, StringConversionSink)) {
1937 stringSink = sink;
1938 } else {
1939 stringSink = new StringConversionSink.from(sink);
1940 }
1941 return stringSink.asUtf8Sink(this[_allowMalformed]);
1942 }
1943 bind(stream) {
1944 return dart.as(super.bind(stream), async.Stream$(core.String));
1945 }
1946 fuse(next) {
1947 return super.fuse(next);
1948 }
1949 }
1950 return Utf8Decoder;
1857 } 1951 }
1858 convert(codeUnits, start, end) { 1952 });
1859 if (start === void 0)
1860 start = 0;
1861 if (end === void 0)
1862 end = null;
1863 let length = codeUnits.length;
1864 core.RangeError.checkValidRange(start, end, length);
1865 if (end == null)
1866 end = length;
1867 let buffer = new core.StringBuffer();
1868 let decoder = new _Utf8Decoder(buffer, this[_allowMalformed]);
1869 decoder.convert(codeUnits, start, end);
1870 decoder.close();
1871 return buffer.toString();
1872 }
1873 startChunkedConversion(sink) {
1874 let stringSink = null;
1875 if (dart.is(sink, StringConversionSink)) {
1876 stringSink = sink;
1877 } else {
1878 stringSink = new StringConversionSink.from(sink);
1879 }
1880 return stringSink.asUtf8Sink(this[_allowMalformed]);
1881 }
1882 bind(stream) {
1883 return dart.as(super.bind(stream), async.Stream$(core.String));
1884 }
1885 fuse(next) {
1886 return super.fuse(next);
1887 }
1888 }
1889 let _ONE_BYTE_LIMIT = 127; 1953 let _ONE_BYTE_LIMIT = 127;
1890 let _TWO_BYTE_LIMIT = 2047; 1954 let _TWO_BYTE_LIMIT = 2047;
1891 let _THREE_BYTE_LIMIT = 65535; 1955 let _THREE_BYTE_LIMIT = 65535;
1892 let _FOUR_BYTE_LIMIT = 1114111; 1956 let _FOUR_BYTE_LIMIT = 1114111;
1893 let _SURROGATE_MASK = 63488; 1957 let _SURROGATE_MASK = 63488;
1894 let _SURROGATE_TAG_MASK = 64512; 1958 let _SURROGATE_TAG_MASK = 64512;
1895 let _SURROGATE_VALUE_MASK = 1023; 1959 let _SURROGATE_VALUE_MASK = 1023;
1896 let _LEAD_SURROGATE_MIN = 55296; 1960 let _LEAD_SURROGATE_MIN = 55296;
1897 let _TAIL_SURROGATE_MIN = 56320; 1961 let _TAIL_SURROGATE_MIN = 56320;
1898 // Function _isSurrogate: (int) → bool 1962 // Function _isSurrogate: (int) → bool
(...skipping 429 matching lines...) Expand 10 before | Expand all | Expand 10 after
2328 this[_sink].add(decoded); 2392 this[_sink].add(decoded);
2329 this[_sink].close(); 2393 this[_sink].close();
2330 } 2394 }
2331 } 2395 }
2332 // Exports: 2396 // Exports:
2333 exports.ASCII = ASCII; 2397 exports.ASCII = ASCII;
2334 exports.AsciiCodec = AsciiCodec; 2398 exports.AsciiCodec = AsciiCodec;
2335 exports.Encoding = Encoding; 2399 exports.Encoding = Encoding;
2336 exports.Codec = Codec; 2400 exports.Codec = Codec;
2337 exports.Codec$ = Codec$; 2401 exports.Codec$ = Codec$;
2338 exports.Converter = Converter;
2339 exports.Converter$ = Converter$;
2340 exports.AsciiEncoder = AsciiEncoder;
2341 exports.StringConversionSinkBase = StringConversionSinkBase; 2402 exports.StringConversionSinkBase = StringConversionSinkBase;
2342 exports.StringConversionSinkMixin = StringConversionSinkMixin; 2403 exports.StringConversionSinkMixin = StringConversionSinkMixin;
2343 exports.AsciiDecoder = AsciiDecoder; 2404 exports.StringConversionSink = StringConversionSink;
2405 exports.ChunkedConversionSink = ChunkedConversionSink;
2406 exports.ChunkedConversionSink$ = ChunkedConversionSink$;
2344 exports.ByteConversionSinkBase = ByteConversionSinkBase; 2407 exports.ByteConversionSinkBase = ByteConversionSinkBase;
2345 exports.ByteConversionSink = ByteConversionSink; 2408 exports.ByteConversionSink = ByteConversionSink;
2346 exports.ChunkedConversionSink = ChunkedConversionSink;
2347 exports.ChunkedConversionSink$ = ChunkedConversionSink$;
2348 exports.HTML_ESCAPE = HTML_ESCAPE; 2409 exports.HTML_ESCAPE = HTML_ESCAPE;
2349 exports.HtmlEscapeMode = HtmlEscapeMode; 2410 exports.HtmlEscapeMode = HtmlEscapeMode;
2350 exports.HtmlEscape = HtmlEscape;
2351 exports.JsonUnsupportedObjectError = JsonUnsupportedObjectError; 2411 exports.JsonUnsupportedObjectError = JsonUnsupportedObjectError;
2352 exports.JsonCyclicError = JsonCyclicError; 2412 exports.JsonCyclicError = JsonCyclicError;
2353 exports.JSON = JSON; 2413 exports.JSON = JSON;
2354 exports.JsonCodec = JsonCodec; 2414 exports.JsonCodec = JsonCodec;
2355 exports.JsonEncoder = JsonEncoder;
2356 exports.JsonUtf8Encoder = JsonUtf8Encoder;
2357 exports.JsonDecoder = JsonDecoder;
2358 exports.LATIN1 = LATIN1; 2415 exports.LATIN1 = LATIN1;
2359 exports.Latin1Codec = Latin1Codec; 2416 exports.Latin1Codec = Latin1Codec;
2360 exports.Latin1Encoder = Latin1Encoder;
2361 exports.Latin1Decoder = Latin1Decoder;
2362 exports.LineSplitter = LineSplitter;
2363 exports.StringConversionSink = StringConversionSink;
2364 exports.ClosableStringSink = ClosableStringSink; 2417 exports.ClosableStringSink = ClosableStringSink;
2365 exports.UNICODE_REPLACEMENT_CHARACTER_RUNE = UNICODE_REPLACEMENT_CHARACTER_RUN E; 2418 exports.UNICODE_REPLACEMENT_CHARACTER_RUNE = UNICODE_REPLACEMENT_CHARACTER_RUN E;
2366 exports.UNICODE_BOM_CHARACTER_RUNE = UNICODE_BOM_CHARACTER_RUNE; 2419 exports.UNICODE_BOM_CHARACTER_RUNE = UNICODE_BOM_CHARACTER_RUNE;
2367 exports.UTF8 = UTF8; 2420 exports.UTF8 = UTF8;
2368 exports.Utf8Codec = Utf8Codec; 2421 exports.Utf8Codec = Utf8Codec;
2369 exports.Utf8Encoder = Utf8Encoder;
2370 exports.Utf8Decoder = Utf8Decoder;
2371 })(convert || (convert = {})); 2422 })(convert || (convert = {}));
OLDNEW
« no previous file with comments | « lib/runtime/dart/collection.js ('k') | lib/runtime/dart/core.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698