| Index: test/codegen/expect/dart/core.js
|
| diff --git a/test/codegen/expect/dart/core.js b/test/codegen/expect/dart/core.js
|
| deleted file mode 100644
|
| index 7afc50babf9393a0838f56cace70057f3de11b77..0000000000000000000000000000000000000000
|
| --- a/test/codegen/expect/dart/core.js
|
| +++ /dev/null
|
| @@ -1,3056 +0,0 @@
|
| -var core;
|
| -(function(exports) {
|
| - 'use strict';
|
| - class Object {
|
| - Object() {
|
| - var name = this.constructor.name;
|
| - var init = this[name];
|
| - var result = void 0;
|
| - if (init)
|
| - result = init.apply(this, arguments);
|
| - return result === void 0 ? this : result;
|
| - }
|
| - ['=='](other) {
|
| - return identical(this, other);
|
| - }
|
| - get hashCode() {
|
| - return _js_helper.Primitives.objectHashCode(this);
|
| - }
|
| - toString() {
|
| - return _js_helper.Primitives.objectToString(this);
|
| - }
|
| - noSuchMethod(invocation) {
|
| - throw new NoSuchMethodError(this, invocation.memberName, invocation.positionalArguments, invocation.namedArguments);
|
| - }
|
| - get runtimeType() {
|
| - return _js_helper.getRuntimeType(this);
|
| - }
|
| - }
|
| - class Deprecated extends Object {
|
| - Deprecated(expires) {
|
| - this.expires = expires;
|
| - }
|
| - toString() {
|
| - return `Deprecated feature. Will be removed ${this.expires}`;
|
| - }
|
| - }
|
| - class _Override extends Object {
|
| - _Override() {
|
| - }
|
| - }
|
| - let deprecated = new Deprecated("next release");
|
| - let override = new _Override();
|
| - class _Proxy extends Object {
|
| - _Proxy() {
|
| - }
|
| - }
|
| - let proxy = new _Proxy();
|
| - class bool extends Object {
|
| - bool$fromEnvironment(name, opt$) {
|
| - let defaultValue = opt$.defaultValue === void 0 ? false : opt$.defaultValue;
|
| - throw new UnsupportedError('bool.fromEnvironment can only be used as a const constructor');
|
| - }
|
| - toString() {
|
| - return this ? "true" : "false";
|
| - }
|
| - }
|
| - dart.defineNamedConstructor(bool, 'fromEnvironment');
|
| - let Comparable$ = dart.generic(function(T) {
|
| - class Comparable extends Object {
|
| - static compare(a, b) {
|
| - return a.compareTo(b);
|
| - }
|
| - }
|
| - return Comparable;
|
| - });
|
| - let Comparable = Comparable$(dart.dynamic);
|
| - let _fourDigits = Symbol('_fourDigits');
|
| - let _sixDigits = Symbol('_sixDigits');
|
| - let _threeDigits = Symbol('_threeDigits');
|
| - let _twoDigits = Symbol('_twoDigits');
|
| - let _brokenDownDateToMillisecondsSinceEpoch = Symbol('_brokenDownDateToMillisecondsSinceEpoch');
|
| - class DateTime extends Object {
|
| - DateTime(year, month, day, hour, minute, second, millisecond) {
|
| - if (month === void 0)
|
| - month = 1;
|
| - if (day === void 0)
|
| - day = 1;
|
| - if (hour === void 0)
|
| - hour = 0;
|
| - if (minute === void 0)
|
| - minute = 0;
|
| - if (second === void 0)
|
| - second = 0;
|
| - if (millisecond === void 0)
|
| - millisecond = 0;
|
| - this.DateTime$_internal(year, month, day, hour, minute, second, millisecond, false);
|
| - }
|
| - DateTime$utc(year, month, day, hour, minute, second, millisecond) {
|
| - if (month === void 0)
|
| - month = 1;
|
| - if (day === void 0)
|
| - day = 1;
|
| - if (hour === void 0)
|
| - hour = 0;
|
| - if (minute === void 0)
|
| - minute = 0;
|
| - if (second === void 0)
|
| - second = 0;
|
| - if (millisecond === void 0)
|
| - millisecond = 0;
|
| - this.DateTime$_internal(year, month, day, hour, minute, second, millisecond, true);
|
| - }
|
| - DateTime$now() {
|
| - this.DateTime$_now();
|
| - }
|
| - static parse(formattedString) {
|
| - let re = new RegExp('^([+-]?\\d{4,6})-?(\\d\\d)-?(\\d\\d)' + '(?:[ T](\\d\\d)(?::?(\\d\\d)(?::?(\\d\\d)(.\\d{1,6})?)?)?' + '( ?[zZ]| ?([-+])(\\d\\d)(?::?(\\d\\d))?)?)?$');
|
| - let match = re.firstMatch(formattedString);
|
| - if (match !== null) {
|
| - // Function parseIntOrZero: (String) → int
|
| - function parseIntOrZero(matched) {
|
| - if (matched === null)
|
| - return 0;
|
| - return int.parse(matched);
|
| - }
|
| - // Function parseDoubleOrZero: (String) → double
|
| - function parseDoubleOrZero(matched) {
|
| - if (matched === null)
|
| - return 0.0;
|
| - return double.parse(matched);
|
| - }
|
| - let years = int.parse(match.get(1));
|
| - let month = int.parse(match.get(2));
|
| - let day = int.parse(match.get(3));
|
| - let hour = parseIntOrZero(match.get(4));
|
| - let minute = parseIntOrZero(match.get(5));
|
| - let second = parseIntOrZero(match.get(6));
|
| - let addOneMillisecond = false;
|
| - let millisecond = (dart.notNull(parseDoubleOrZero(match.get(7))) * 1000).round();
|
| - if (millisecond === 1000) {
|
| - addOneMillisecond = true;
|
| - millisecond = 999;
|
| - }
|
| - let isUtc = false;
|
| - if (match.get(8) !== null) {
|
| - isUtc = true;
|
| - if (match.get(9) !== null) {
|
| - let sign = dart.equals(match.get(9), '-') ? -1 : 1;
|
| - let hourDifference = int.parse(match.get(10));
|
| - let minuteDifference = parseIntOrZero(match.get(11));
|
| - minuteDifference = 60 * dart.notNull(hourDifference);
|
| - minute = dart.notNull(sign) * dart.notNull(minuteDifference);
|
| - }
|
| - }
|
| - let millisecondsSinceEpoch = _brokenDownDateToMillisecondsSinceEpoch(years, month, day, hour, minute, second, millisecond, isUtc);
|
| - if (millisecondsSinceEpoch === null) {
|
| - throw new FormatException("Time out of range", formattedString);
|
| - }
|
| - if (addOneMillisecond)
|
| - millisecondsSinceEpoch = dart.notNull(millisecondsSinceEpoch) + 1;
|
| - return new DateTime.fromMillisecondsSinceEpoch(millisecondsSinceEpoch, {isUtc: isUtc});
|
| - } else {
|
| - throw new FormatException("Invalid date format", formattedString);
|
| - }
|
| - }
|
| - DateTime$fromMillisecondsSinceEpoch(millisecondsSinceEpoch, opt$) {
|
| - let isUtc = opt$.isUtc === void 0 ? false : opt$.isUtc;
|
| - this.millisecondsSinceEpoch = millisecondsSinceEpoch;
|
| - this.isUtc = isUtc;
|
| - if (dart.notNull(millisecondsSinceEpoch.abs()) > dart.notNull(DateTime._MAX_MILLISECONDS_SINCE_EPOCH)) {
|
| - throw new ArgumentError(millisecondsSinceEpoch);
|
| - }
|
| - if (isUtc === null)
|
| - throw new ArgumentError(isUtc);
|
| - }
|
| - ['=='](other) {
|
| - if (!dart.notNull(dart.is(other, DateTime)))
|
| - return false;
|
| - return this.millisecondsSinceEpoch === dart.dload(other, 'millisecondsSinceEpoch') && this.isUtc === dart.dload(other, 'isUtc');
|
| - }
|
| - isBefore(other) {
|
| - return dart.notNull(this.millisecondsSinceEpoch) < dart.notNull(other.millisecondsSinceEpoch);
|
| - }
|
| - isAfter(other) {
|
| - return dart.notNull(this.millisecondsSinceEpoch) > dart.notNull(other.millisecondsSinceEpoch);
|
| - }
|
| - isAtSameMomentAs(other) {
|
| - return this.millisecondsSinceEpoch === other.millisecondsSinceEpoch;
|
| - }
|
| - compareTo(other) {
|
| - return this.millisecondsSinceEpoch.compareTo(other.millisecondsSinceEpoch);
|
| - }
|
| - get hashCode() {
|
| - return this.millisecondsSinceEpoch;
|
| - }
|
| - toLocal() {
|
| - if (this.isUtc) {
|
| - return new DateTime.fromMillisecondsSinceEpoch(this.millisecondsSinceEpoch, {isUtc: false});
|
| - }
|
| - return this;
|
| - }
|
| - toUtc() {
|
| - if (this.isUtc)
|
| - return this;
|
| - return new DateTime.fromMillisecondsSinceEpoch(this.millisecondsSinceEpoch, {isUtc: true});
|
| - }
|
| - static [_fourDigits](n) {
|
| - let absN = n.abs();
|
| - let sign = dart.notNull(n) < 0 ? "-" : "";
|
| - if (dart.notNull(absN) >= 1000)
|
| - return `${n}`;
|
| - if (dart.notNull(absN) >= 100)
|
| - return `${sign}0${absN}`;
|
| - if (dart.notNull(absN) >= 10)
|
| - return `${sign}00${absN}`;
|
| - return `${sign}000${absN}`;
|
| - }
|
| - static [_sixDigits](n) {
|
| - dart.assert(dart.notNull(n) < -9999 || dart.notNull(n) > 9999);
|
| - let absN = n.abs();
|
| - let sign = dart.notNull(n) < 0 ? "-" : "+";
|
| - if (dart.notNull(absN) >= 100000)
|
| - return `${sign}${absN}`;
|
| - return `${sign}0${absN}`;
|
| - }
|
| - static [_threeDigits](n) {
|
| - if (dart.notNull(n) >= 100)
|
| - return `${n}`;
|
| - if (dart.notNull(n) >= 10)
|
| - return `0${n}`;
|
| - return `00${n}`;
|
| - }
|
| - static [_twoDigits](n) {
|
| - if (dart.notNull(n) >= 10)
|
| - return `${n}`;
|
| - return `0${n}`;
|
| - }
|
| - toString() {
|
| - let y = _fourDigits(this.year);
|
| - let m = _twoDigits(this.month);
|
| - let d = _twoDigits(this.day);
|
| - let h = _twoDigits(this.hour);
|
| - let min = _twoDigits(this.minute);
|
| - let sec = _twoDigits(this.second);
|
| - let ms = _threeDigits(this.millisecond);
|
| - if (this.isUtc) {
|
| - return `${y}-${m}-${d} ${h}:${min}:${sec}.${ms}Z`;
|
| - } else {
|
| - return `${y}-${m}-${d} ${h}:${min}:${sec}.${ms}`;
|
| - }
|
| - }
|
| - toIso8601String() {
|
| - let y = dart.notNull(this.year) >= -9999 && dart.notNull(this.year) <= 9999 ? _fourDigits(this.year) : _sixDigits(this.year);
|
| - let m = _twoDigits(this.month);
|
| - let d = _twoDigits(this.day);
|
| - let h = _twoDigits(this.hour);
|
| - let min = _twoDigits(this.minute);
|
| - let sec = _twoDigits(this.second);
|
| - let ms = _threeDigits(this.millisecond);
|
| - if (this.isUtc) {
|
| - return `${y}-${m}-${d}T${h}:${min}:${sec}.${ms}Z`;
|
| - } else {
|
| - return `${y}-${m}-${d}T${h}:${min}:${sec}.${ms}`;
|
| - }
|
| - }
|
| - add(duration) {
|
| - let ms = this.millisecondsSinceEpoch;
|
| - return new DateTime.fromMillisecondsSinceEpoch(dart.notNull(ms) + dart.notNull(duration.inMilliseconds), {isUtc: this.isUtc});
|
| - }
|
| - subtract(duration) {
|
| - let ms = this.millisecondsSinceEpoch;
|
| - return new DateTime.fromMillisecondsSinceEpoch(dart.notNull(ms) - dart.notNull(duration.inMilliseconds), {isUtc: this.isUtc});
|
| - }
|
| - difference(other) {
|
| - let ms = this.millisecondsSinceEpoch;
|
| - let otherMs = other.millisecondsSinceEpoch;
|
| - return new Duration({milliseconds: dart.notNull(ms) - dart.notNull(otherMs)});
|
| - }
|
| - DateTime$_internal(year, month, day, hour, minute, second, millisecond, isUtc) {
|
| - this.isUtc = typeof isUtc == boolean ? isUtc : dart.throw_(new ArgumentError(isUtc));
|
| - this.millisecondsSinceEpoch = dart.as(_js_helper.checkInt(_js_helper.Primitives.valueFromDecomposedDate(year, month, day, hour, minute, second, millisecond, isUtc)), int);
|
| - }
|
| - DateTime$_now() {
|
| - this.isUtc = false;
|
| - this.millisecondsSinceEpoch = _js_helper.Primitives.dateNow();
|
| - }
|
| - static [_brokenDownDateToMillisecondsSinceEpoch](year, month, day, hour, minute, second, millisecond, isUtc) {
|
| - return dart.as(_js_helper.Primitives.valueFromDecomposedDate(year, month, day, hour, minute, second, millisecond, isUtc), int);
|
| - }
|
| - get timeZoneName() {
|
| - if (this.isUtc)
|
| - return "UTC";
|
| - return _js_helper.Primitives.getTimeZoneName(this);
|
| - }
|
| - get timeZoneOffset() {
|
| - if (this.isUtc)
|
| - return new Duration();
|
| - return new Duration({minutes: _js_helper.Primitives.getTimeZoneOffsetInMinutes(this)});
|
| - }
|
| - get year() {
|
| - return dart.as(_js_helper.Primitives.getYear(this), int);
|
| - }
|
| - get month() {
|
| - return dart.as(_js_helper.Primitives.getMonth(this), int);
|
| - }
|
| - get day() {
|
| - return dart.as(_js_helper.Primitives.getDay(this), int);
|
| - }
|
| - get hour() {
|
| - return dart.as(_js_helper.Primitives.getHours(this), int);
|
| - }
|
| - get minute() {
|
| - return dart.as(_js_helper.Primitives.getMinutes(this), int);
|
| - }
|
| - get second() {
|
| - return dart.as(_js_helper.Primitives.getSeconds(this), int);
|
| - }
|
| - get millisecond() {
|
| - return dart.as(_js_helper.Primitives.getMilliseconds(this), int);
|
| - }
|
| - get weekday() {
|
| - return dart.as(_js_helper.Primitives.getWeekday(this), int);
|
| - }
|
| - }
|
| - dart.defineNamedConstructor(DateTime, 'utc');
|
| - dart.defineNamedConstructor(DateTime, 'now');
|
| - dart.defineNamedConstructor(DateTime, 'fromMillisecondsSinceEpoch');
|
| - dart.defineNamedConstructor(DateTime, '_internal');
|
| - dart.defineNamedConstructor(DateTime, '_now');
|
| - DateTime.MONDAY = 1;
|
| - DateTime.TUESDAY = 2;
|
| - DateTime.WEDNESDAY = 3;
|
| - DateTime.THURSDAY = 4;
|
| - DateTime.FRIDAY = 5;
|
| - DateTime.SATURDAY = 6;
|
| - DateTime.SUNDAY = 7;
|
| - DateTime.DAYS_PER_WEEK = 7;
|
| - DateTime.JANUARY = 1;
|
| - DateTime.FEBRUARY = 2;
|
| - DateTime.MARCH = 3;
|
| - DateTime.APRIL = 4;
|
| - DateTime.MAY = 5;
|
| - DateTime.JUNE = 6;
|
| - DateTime.JULY = 7;
|
| - DateTime.AUGUST = 8;
|
| - DateTime.SEPTEMBER = 9;
|
| - DateTime.OCTOBER = 10;
|
| - DateTime.NOVEMBER = 11;
|
| - DateTime.DECEMBER = 12;
|
| - DateTime.MONTHS_PER_YEAR = 12;
|
| - DateTime._MAX_MILLISECONDS_SINCE_EPOCH = 8640000000000000;
|
| - let _onParseErrorInt = Symbol('_onParseErrorInt');
|
| - let _onParseErrorDouble = Symbol('_onParseErrorDouble');
|
| - class num extends Object {
|
| - static parse(input, onError) {
|
| - if (onError === void 0)
|
| - onError = null;
|
| - let source = input.trim();
|
| - _parseError = false;
|
| - let result = int.parse(source, {onError: _onParseErrorInt});
|
| - if (!dart.notNull(_parseError))
|
| - return result;
|
| - _parseError = false;
|
| - result = double.parse(source, _onParseErrorDouble);
|
| - if (!dart.notNull(_parseError))
|
| - return result;
|
| - if (onError === null)
|
| - throw new FormatException(input);
|
| - return onError(input);
|
| - }
|
| - static [_onParseErrorInt](_) {
|
| - _parseError = true;
|
| - return 0;
|
| - }
|
| - static [_onParseErrorDouble](_) {
|
| - _parseError = true;
|
| - return 0.0;
|
| - }
|
| - }
|
| - num._parseError = false;
|
| - class double extends num {
|
| - static parse(source, onError) {
|
| - if (onError === void 0)
|
| - onError = null;
|
| - return _js_helper.Primitives.parseDouble(source, onError);
|
| - }
|
| - }
|
| - double.NAN = 0.0 / 0.0;
|
| - double.INFINITY = 1.0 / 0.0;
|
| - double.NEGATIVE_INFINITY = -dart.notNull(double.INFINITY);
|
| - double.MIN_POSITIVE = 5e-324;
|
| - double.MAX_FINITE = 1.7976931348623157e+308;
|
| - let _duration = Symbol('_duration');
|
| - class Duration extends Object {
|
| - Duration(opt$) {
|
| - let days = opt$.days === void 0 ? 0 : opt$.days;
|
| - let hours = opt$.hours === void 0 ? 0 : opt$.hours;
|
| - let minutes = opt$.minutes === void 0 ? 0 : opt$.minutes;
|
| - let seconds = opt$.seconds === void 0 ? 0 : opt$.seconds;
|
| - let milliseconds = opt$.milliseconds === void 0 ? 0 : opt$.milliseconds;
|
| - let microseconds = opt$.microseconds === void 0 ? 0 : opt$.microseconds;
|
| - this.Duration$_microseconds(dart.notNull(days) * dart.notNull(Duration.MICROSECONDS_PER_DAY) + dart.notNull(hours) * dart.notNull(Duration.MICROSECONDS_PER_HOUR) + dart.notNull(minutes) * dart.notNull(Duration.MICROSECONDS_PER_MINUTE) + dart.notNull(seconds) * dart.notNull(Duration.MICROSECONDS_PER_SECOND) + dart.notNull(milliseconds) * dart.notNull(Duration.MICROSECONDS_PER_MILLISECOND) + dart.notNull(microseconds));
|
| - }
|
| - Duration$_microseconds($_duration) {
|
| - this[_duration] = $_duration;
|
| - }
|
| - ['+'](other) {
|
| - return new Duration._microseconds(dart.notNull(this[_duration]) + dart.notNull(other[_duration]));
|
| - }
|
| - ['-'](other) {
|
| - return new Duration._microseconds(dart.notNull(this[_duration]) - dart.notNull(other[_duration]));
|
| - }
|
| - ['*'](factor) {
|
| - return new Duration._microseconds((dart.notNull(this[_duration]) * dart.notNull(factor)).round());
|
| - }
|
| - ['~/'](quotient) {
|
| - if (quotient === 0)
|
| - throw new IntegerDivisionByZeroException();
|
| - return new Duration._microseconds((dart.notNull(this[_duration]) / dart.notNull(quotient)).truncate());
|
| - }
|
| - ['<'](other) {
|
| - return dart.notNull(this[_duration]) < dart.notNull(other[_duration]);
|
| - }
|
| - ['>'](other) {
|
| - return dart.notNull(this[_duration]) > dart.notNull(other[_duration]);
|
| - }
|
| - ['<='](other) {
|
| - return dart.notNull(this[_duration]) <= dart.notNull(other[_duration]);
|
| - }
|
| - ['>='](other) {
|
| - return dart.notNull(this[_duration]) >= dart.notNull(other[_duration]);
|
| - }
|
| - get inDays() {
|
| - return (dart.notNull(this[_duration]) / dart.notNull(Duration.MICROSECONDS_PER_DAY)).truncate();
|
| - }
|
| - get inHours() {
|
| - return (dart.notNull(this[_duration]) / dart.notNull(Duration.MICROSECONDS_PER_HOUR)).truncate();
|
| - }
|
| - get inMinutes() {
|
| - return (dart.notNull(this[_duration]) / dart.notNull(Duration.MICROSECONDS_PER_MINUTE)).truncate();
|
| - }
|
| - get inSeconds() {
|
| - return (dart.notNull(this[_duration]) / dart.notNull(Duration.MICROSECONDS_PER_SECOND)).truncate();
|
| - }
|
| - get inMilliseconds() {
|
| - return (dart.notNull(this[_duration]) / dart.notNull(Duration.MICROSECONDS_PER_MILLISECOND)).truncate();
|
| - }
|
| - get inMicroseconds() {
|
| - return this[_duration];
|
| - }
|
| - ['=='](other) {
|
| - if (!dart.is(other, Duration))
|
| - return false;
|
| - return this[_duration] === dart.dload(other, '_duration');
|
| - }
|
| - get hashCode() {
|
| - return this[_duration].hashCode;
|
| - }
|
| - compareTo(other) {
|
| - return this[_duration].compareTo(other[_duration]);
|
| - }
|
| - toString() {
|
| - // Function sixDigits: (int) → String
|
| - function sixDigits(n) {
|
| - if (dart.notNull(n) >= 100000)
|
| - return `${n}`;
|
| - if (dart.notNull(n) >= 10000)
|
| - return `0${n}`;
|
| - if (dart.notNull(n) >= 1000)
|
| - return `00${n}`;
|
| - if (dart.notNull(n) >= 100)
|
| - return `000${n}`;
|
| - if (dart.notNull(n) >= 10)
|
| - return `0000${n}`;
|
| - return `00000${n}`;
|
| - }
|
| - // Function twoDigits: (int) → String
|
| - function twoDigits(n) {
|
| - if (dart.notNull(n) >= 10)
|
| - return `${n}`;
|
| - return `0${n}`;
|
| - }
|
| - if (dart.notNull(this.inMicroseconds) < 0) {
|
| - return `-${this['unary-']()}`;
|
| - }
|
| - let twoDigitMinutes = twoDigits(this.inMinutes.remainder(Duration.MINUTES_PER_HOUR));
|
| - let twoDigitSeconds = twoDigits(this.inSeconds.remainder(Duration.SECONDS_PER_MINUTE));
|
| - let sixDigitUs = sixDigits(this.inMicroseconds.remainder(Duration.MICROSECONDS_PER_SECOND));
|
| - return `${this.inHours}:${twoDigitMinutes}:${twoDigitSeconds}.${sixDigitUs}`;
|
| - }
|
| - get isNegative() {
|
| - return dart.notNull(this[_duration]) < 0;
|
| - }
|
| - abs() {
|
| - return new Duration._microseconds(this[_duration].abs());
|
| - }
|
| - ['-']() {
|
| - return new Duration._microseconds(-dart.notNull(this[_duration]));
|
| - }
|
| - }
|
| - dart.defineNamedConstructor(Duration, '_microseconds');
|
| - Duration.MICROSECONDS_PER_MILLISECOND = 1000;
|
| - Duration.MILLISECONDS_PER_SECOND = 1000;
|
| - Duration.SECONDS_PER_MINUTE = 60;
|
| - Duration.MINUTES_PER_HOUR = 60;
|
| - Duration.HOURS_PER_DAY = 24;
|
| - Duration.MICROSECONDS_PER_SECOND = dart.notNull(Duration.MICROSECONDS_PER_MILLISECOND) * dart.notNull(Duration.MILLISECONDS_PER_SECOND);
|
| - Duration.MICROSECONDS_PER_MINUTE = dart.notNull(Duration.MICROSECONDS_PER_SECOND) * dart.notNull(Duration.SECONDS_PER_MINUTE);
|
| - Duration.MICROSECONDS_PER_HOUR = dart.notNull(Duration.MICROSECONDS_PER_MINUTE) * dart.notNull(Duration.MINUTES_PER_HOUR);
|
| - Duration.MICROSECONDS_PER_DAY = dart.notNull(Duration.MICROSECONDS_PER_HOUR) * dart.notNull(Duration.HOURS_PER_DAY);
|
| - Duration.MILLISECONDS_PER_MINUTE = dart.notNull(Duration.MILLISECONDS_PER_SECOND) * dart.notNull(Duration.SECONDS_PER_MINUTE);
|
| - Duration.MILLISECONDS_PER_HOUR = dart.notNull(Duration.MILLISECONDS_PER_MINUTE) * dart.notNull(Duration.MINUTES_PER_HOUR);
|
| - Duration.MILLISECONDS_PER_DAY = dart.notNull(Duration.MILLISECONDS_PER_HOUR) * dart.notNull(Duration.HOURS_PER_DAY);
|
| - Duration.SECONDS_PER_HOUR = dart.notNull(Duration.SECONDS_PER_MINUTE) * dart.notNull(Duration.MINUTES_PER_HOUR);
|
| - Duration.SECONDS_PER_DAY = dart.notNull(Duration.SECONDS_PER_HOUR) * dart.notNull(Duration.HOURS_PER_DAY);
|
| - Duration.MINUTES_PER_DAY = dart.notNull(Duration.MINUTES_PER_HOUR) * dart.notNull(Duration.HOURS_PER_DAY);
|
| - Duration.ZERO = new Duration({seconds: 0});
|
| - let _stringToSafeString = Symbol('_stringToSafeString');
|
| - let _objectToString = Symbol('_objectToString');
|
| - class Error extends Object {
|
| - Error() {
|
| - }
|
| - static safeToString(object) {
|
| - if (dart.notNull(dart.is(object, num)) || dart.notNull(typeof object == boolean) || dart.notNull(null === object)) {
|
| - return object.toString();
|
| - }
|
| - if (typeof object == string) {
|
| - return _stringToSafeString(object);
|
| - }
|
| - return _objectToString(object);
|
| - }
|
| - static [_stringToSafeString](string) {
|
| - return _js_helper.jsonEncodeNative(string);
|
| - }
|
| - static [_objectToString](object) {
|
| - return _js_helper.Primitives.objectToString(object);
|
| - }
|
| - get stackTrace() {
|
| - return _js_helper.Primitives.extractStackTrace(this);
|
| - }
|
| - }
|
| - class AssertionError extends Error {
|
| - }
|
| - class TypeError extends AssertionError {
|
| - }
|
| - class CastError extends Error {
|
| - }
|
| - class NullThrownError extends Error {
|
| - toString() {
|
| - return "Throw of null.";
|
| - }
|
| - }
|
| - let _hasValue = Symbol('_hasValue');
|
| - class ArgumentError extends Error {
|
| - ArgumentError(message) {
|
| - if (message === void 0)
|
| - message = null;
|
| - this.message = message;
|
| - this.invalidValue = null;
|
| - this[_hasValue] = false;
|
| - this.name = null;
|
| - super.Error();
|
| - }
|
| - ArgumentError$value(value, name, message) {
|
| - if (name === void 0)
|
| - name = null;
|
| - if (message === void 0)
|
| - message = "Invalid argument";
|
| - this.name = name;
|
| - this.message = message;
|
| - this.invalidValue = value;
|
| - this[_hasValue] = true;
|
| - super.Error();
|
| - }
|
| - ArgumentError$notNull(name) {
|
| - if (name === void 0)
|
| - name = null;
|
| - this.ArgumentError$value(null, name, "Must not be null");
|
| - }
|
| - toString() {
|
| - if (!dart.notNull(this[_hasValue])) {
|
| - let result = "Invalid arguments(s)";
|
| - if (this.message !== null) {
|
| - result = `${result}: ${this.message}`;
|
| - }
|
| - return result;
|
| - }
|
| - let nameString = "";
|
| - if (this.name !== null) {
|
| - nameString = ` (${this.name})`;
|
| - }
|
| - return `${this.message}${nameString}: ${Error.safeToString(this.invalidValue)}`;
|
| - }
|
| - }
|
| - dart.defineNamedConstructor(ArgumentError, 'value');
|
| - dart.defineNamedConstructor(ArgumentError, 'notNull');
|
| - class RangeError extends ArgumentError {
|
| - RangeError(message) {
|
| - this.start = null;
|
| - this.end = null;
|
| - super.ArgumentError(message);
|
| - }
|
| - RangeError$value(value, name, message) {
|
| - if (name === void 0)
|
| - name = null;
|
| - if (message === void 0)
|
| - message = null;
|
| - this.start = null;
|
| - this.end = null;
|
| - super.ArgumentError$value(value, name, message !== null ? message : "Value not in range");
|
| - }
|
| - RangeError$range(invalidValue, minValue, maxValue, name, message) {
|
| - if (name === void 0)
|
| - name = null;
|
| - if (message === void 0)
|
| - message = null;
|
| - this.start = minValue;
|
| - this.end = maxValue;
|
| - super.ArgumentError$value(invalidValue, name, message !== null ? message : "Invalid value");
|
| - }
|
| - RangeError$index(index, indexable, name, message, length) {
|
| - return new IndexError(index, indexable, name, message, length);
|
| - }
|
| - static checkValueInInterval(value, minValue, maxValue, name, message) {
|
| - if (name === void 0)
|
| - name = null;
|
| - if (message === void 0)
|
| - message = null;
|
| - if (dart.notNull(value) < dart.notNull(minValue) || dart.notNull(value) > dart.notNull(maxValue)) {
|
| - throw new RangeError.range(value, minValue, maxValue, name, message);
|
| - }
|
| - }
|
| - static checkValidIndex(index, indexable, name, length, message) {
|
| - if (name === void 0)
|
| - name = null;
|
| - if (length === void 0)
|
| - length = null;
|
| - if (message === void 0)
|
| - message = null;
|
| - if (length === null)
|
| - length = dart.as(dart.dload(indexable, 'length'), int);
|
| - if (dart.notNull(index) < 0 || dart.notNull(index) >= dart.notNull(length)) {
|
| - if (name === null)
|
| - name = "index";
|
| - throw new RangeError.index(index, indexable, name, message, length);
|
| - }
|
| - }
|
| - static checkValidRange(start, end, length, startName, endName, message) {
|
| - if (startName === void 0)
|
| - startName = null;
|
| - if (endName === void 0)
|
| - endName = null;
|
| - if (message === void 0)
|
| - message = null;
|
| - if (dart.notNull(start) < 0 || dart.notNull(start) > dart.notNull(length)) {
|
| - if (startName === null)
|
| - startName = "start";
|
| - throw new RangeError.range(start, 0, length, startName, message);
|
| - }
|
| - if (end !== null && (dart.notNull(end) < dart.notNull(start) || dart.notNull(end) > dart.notNull(length))) {
|
| - if (endName === null)
|
| - endName = "end";
|
| - throw new RangeError.range(end, start, length, endName, message);
|
| - }
|
| - }
|
| - static checkNotNegative(value, name, message) {
|
| - if (name === void 0)
|
| - name = null;
|
| - if (message === void 0)
|
| - message = null;
|
| - if (dart.notNull(value) < 0)
|
| - throw new RangeError.range(value, 0, null, name, message);
|
| - }
|
| - toString() {
|
| - if (!dart.notNull(this[_hasValue]))
|
| - return `RangeError: ${this.message}`;
|
| - let value = Error.safeToString(this.invalidValue);
|
| - let explanation = "";
|
| - if (this.start === null) {
|
| - if (this.end !== null) {
|
| - explanation = `: Not less than or equal to ${this.end}`;
|
| - }
|
| - } else if (this.end === null) {
|
| - explanation = `: Not greater than or equal to ${this.start}`;
|
| - } else if (dart.notNull(this.end) > dart.notNull(this.start)) {
|
| - explanation = `: Not in range ${this.start}..${this.end}, inclusive.`;
|
| - } else if (dart.notNull(this.end) < dart.notNull(this.start)) {
|
| - explanation = ": Valid value range is empty";
|
| - } else {
|
| - explanation = `: Only valid value is ${this.start}`;
|
| - }
|
| - return `RangeError: ${this.message} (${value})${explanation}`;
|
| - }
|
| - }
|
| - dart.defineNamedConstructor(RangeError, 'value');
|
| - dart.defineNamedConstructor(RangeError, 'range');
|
| - dart.defineNamedConstructor(RangeError, 'index');
|
| - class IndexError extends ArgumentError {
|
| - IndexError(invalidValue, indexable, name, message, length) {
|
| - if (name === void 0)
|
| - name = null;
|
| - if (message === void 0)
|
| - message = null;
|
| - if (length === void 0)
|
| - length = null;
|
| - this.indexable = indexable;
|
| - this.length = dart.as(length !== null ? length : dart.dload(indexable, 'length'), int);
|
| - super.ArgumentError$value(invalidValue, name, message !== null ? message : "Index out of range");
|
| - }
|
| - get start() {
|
| - return 0;
|
| - }
|
| - get end() {
|
| - return dart.notNull(this.length) - 1;
|
| - }
|
| - toString() {
|
| - dart.assert(this[_hasValue]);
|
| - let target = Error.safeToString(this.indexable);
|
| - let explanation = `index should be less than ${this.length}`;
|
| - if (dart.dbinary(this.invalidValue, '<', 0)) {
|
| - explanation = "index must not be negative";
|
| - }
|
| - return `RangeError: ${this.message} (${target}[${this.invalidValue}]): ${explanation}`;
|
| - }
|
| - }
|
| - class FallThroughError extends Error {
|
| - FallThroughError() {
|
| - super.Error();
|
| - }
|
| - }
|
| - let _className = Symbol('_className');
|
| - class AbstractClassInstantiationError extends Error {
|
| - AbstractClassInstantiationError($_className) {
|
| - this[_className] = $_className;
|
| - super.Error();
|
| - }
|
| - toString() {
|
| - return `Cannot instantiate abstract class: '${this[_className]}'`;
|
| - }
|
| - }
|
| - let _receiver = Symbol('_receiver');
|
| - let _memberName = Symbol('_memberName');
|
| - let _arguments = Symbol('_arguments');
|
| - let _namedArguments = Symbol('_namedArguments');
|
| - let _existingArgumentNames = Symbol('_existingArgumentNames');
|
| - class NoSuchMethodError extends Error {
|
| - NoSuchMethodError(receiver, memberName, positionalArguments, namedArguments, existingArgumentNames) {
|
| - if (existingArgumentNames === void 0)
|
| - existingArgumentNames = null;
|
| - this[_receiver] = receiver;
|
| - this[_memberName] = memberName;
|
| - this[_arguments] = positionalArguments;
|
| - this[_namedArguments] = namedArguments;
|
| - this[_existingArgumentNames] = existingArgumentNames;
|
| - super.Error();
|
| - }
|
| - toString() {
|
| - let sb = new StringBuffer();
|
| - let i = 0;
|
| - if (this[_arguments] !== null) {
|
| - for (; dart.notNull(i) < dart.notNull(this[_arguments].length); i = dart.notNull(i) + 1) {
|
| - if (dart.notNull(i) > 0) {
|
| - sb.write(", ");
|
| - }
|
| - sb.write(Error.safeToString(this[_arguments].get(i)));
|
| - }
|
| - }
|
| - if (this[_namedArguments] !== null) {
|
| - this[_namedArguments].forEach(((key, value) => {
|
| - if (dart.notNull(i) > 0) {
|
| - sb.write(", ");
|
| - }
|
| - sb.write(_symbolToString(key));
|
| - sb.write(": ");
|
| - sb.write(Error.safeToString(value));
|
| - i = dart.notNull(i) + 1;
|
| - }).bind(this));
|
| - }
|
| - if (this[_existingArgumentNames] === null) {
|
| - return `NoSuchMethodError : method not found: '${this[_memberName]}'\n` + `Receiver: ${Error.safeToString(this[_receiver])}\n` + `Arguments: [${sb}]`;
|
| - } else {
|
| - let actualParameters = sb.toString();
|
| - sb = new StringBuffer();
|
| - for (let i = 0; dart.notNull(i) < dart.notNull(this[_existingArgumentNames].length); i = dart.notNull(i) + 1) {
|
| - if (dart.notNull(i) > 0) {
|
| - sb.write(", ");
|
| - }
|
| - sb.write(this[_existingArgumentNames].get(i));
|
| - }
|
| - let formalParameters = sb.toString();
|
| - return "NoSuchMethodError: incorrect number of arguments passed to " + `method named '${this[_memberName]}'\n` + `Receiver: ${Error.safeToString(this[_receiver])}\n` + `Tried calling: ${this[_memberName]}(${actualParameters})\n` + `Found: ${this[_memberName]}(${formalParameters})`;
|
| - }
|
| - }
|
| - }
|
| - class UnsupportedError extends Error {
|
| - UnsupportedError(message) {
|
| - this.message = message;
|
| - super.Error();
|
| - }
|
| - toString() {
|
| - return `Unsupported operation: ${this.message}`;
|
| - }
|
| - }
|
| - class UnimplementedError extends Error {
|
| - UnimplementedError(message) {
|
| - if (message === void 0)
|
| - message = null;
|
| - this.message = message;
|
| - super.Error();
|
| - }
|
| - toString() {
|
| - return this.message !== null ? `UnimplementedError: ${this.message}` : "UnimplementedError";
|
| - }
|
| - }
|
| - class StateError extends Error {
|
| - StateError(message) {
|
| - this.message = message;
|
| - super.Error();
|
| - }
|
| - toString() {
|
| - return `Bad state: ${this.message}`;
|
| - }
|
| - }
|
| - class ConcurrentModificationError extends Error {
|
| - ConcurrentModificationError(modifiedObject) {
|
| - if (modifiedObject === void 0)
|
| - modifiedObject = null;
|
| - this.modifiedObject = modifiedObject;
|
| - super.Error();
|
| - }
|
| - toString() {
|
| - if (this.modifiedObject === null) {
|
| - return "Concurrent modification during iteration.";
|
| - }
|
| - return "Concurrent modification during iteration: " + `${Error.safeToString(this.modifiedObject)}.`;
|
| - }
|
| - }
|
| - class OutOfMemoryError extends Object {
|
| - OutOfMemoryError() {
|
| - }
|
| - toString() {
|
| - return "Out of Memory";
|
| - }
|
| - get stackTrace() {
|
| - return null;
|
| - }
|
| - }
|
| - class StackOverflowError extends Object {
|
| - StackOverflowError() {
|
| - }
|
| - toString() {
|
| - return "Stack Overflow";
|
| - }
|
| - get stackTrace() {
|
| - return null;
|
| - }
|
| - }
|
| - class CyclicInitializationError extends Error {
|
| - CyclicInitializationError(variableName) {
|
| - if (variableName === void 0)
|
| - variableName = null;
|
| - this.variableName = variableName;
|
| - super.Error();
|
| - }
|
| - toString() {
|
| - return this.variableName === null ? "Reading static variable during its initialization" : `Reading static variable '${this.variableName}' during its initialization`;
|
| - }
|
| - }
|
| - class Exception extends Object {
|
| - Exception(message) {
|
| - if (message === void 0)
|
| - message = null;
|
| - return new _ExceptionImplementation(message);
|
| - }
|
| - }
|
| - class _ExceptionImplementation extends Object {
|
| - _ExceptionImplementation(message) {
|
| - if (message === void 0)
|
| - message = null;
|
| - this.message = message;
|
| - }
|
| - toString() {
|
| - if (this.message === null)
|
| - return "Exception";
|
| - return `Exception: ${this.message}`;
|
| - }
|
| - }
|
| - class FormatException extends Object {
|
| - FormatException(message, source, offset) {
|
| - if (message === void 0)
|
| - message = "";
|
| - if (source === void 0)
|
| - source = null;
|
| - if (offset === void 0)
|
| - offset = -1;
|
| - this.message = message;
|
| - this.source = source;
|
| - this.offset = offset;
|
| - }
|
| - toString() {
|
| - let report = "FormatException";
|
| - if (dart.notNull(this.message !== null) && dart.notNull(!dart.equals("", this.message))) {
|
| - report = `${report}: ${this.message}`;
|
| - }
|
| - let offset = this.offset;
|
| - if (!(typeof this.source == string)) {
|
| - if (offset !== -1) {
|
| - report = ` (at offset ${offset})`;
|
| - }
|
| - return report;
|
| - }
|
| - if (offset !== -1 && (dart.notNull(offset) < 0 || offset['>'](dart.dload(this.source, 'length')))) {
|
| - offset = -1;
|
| - }
|
| - if (offset === -1) {
|
| - let source = dart.as(this.source, String);
|
| - if (dart.notNull(source.length) > 78) {
|
| - source = String['+'](source.substring(0, 75), "...");
|
| - }
|
| - return `${report}\n${source}`;
|
| - }
|
| - let lineNum = 1;
|
| - let lineStart = 0;
|
| - let lastWasCR = null;
|
| - for (let i = 0; dart.notNull(i) < dart.notNull(offset); i = dart.notNull(i) + 1) {
|
| - let char = dart.as(dart.dinvoke(this.source, 'codeUnitAt', i), int);
|
| - if (char === 10) {
|
| - if (lineStart !== i || !dart.notNull(lastWasCR)) {
|
| - lineNum = dart.notNull(lineNum) + 1;
|
| - }
|
| - lineStart = dart.notNull(i) + 1;
|
| - lastWasCR = false;
|
| - } else if (char === 13) {
|
| - lineNum = dart.notNull(lineNum) + 1;
|
| - lineStart = dart.notNull(i) + 1;
|
| - lastWasCR = true;
|
| - }
|
| - }
|
| - if (dart.notNull(lineNum) > 1) {
|
| - report = ` (at line ${lineNum}, character ${dart.notNull(offset) - dart.notNull(lineStart) + 1})\n`;
|
| - } else {
|
| - report = ` (at character ${dart.notNull(offset) + 1})\n`;
|
| - }
|
| - let lineEnd = dart.as(dart.dload(this.source, 'length'), int);
|
| - for (let i = offset; i['<'](dart.dload(this.source, 'length')); i = dart.notNull(i) + 1) {
|
| - let char = dart.as(dart.dinvoke(this.source, 'codeUnitAt', i), int);
|
| - if (char === 10 || char === 13) {
|
| - lineEnd = i;
|
| - break;
|
| - }
|
| - }
|
| - let length = dart.notNull(lineEnd) - dart.notNull(lineStart);
|
| - let start = lineStart;
|
| - let end = lineEnd;
|
| - let prefix = "";
|
| - let postfix = "";
|
| - if (dart.notNull(length) > 78) {
|
| - let index = dart.notNull(offset) - dart.notNull(lineStart);
|
| - if (dart.notNull(index) < 75) {
|
| - end = dart.notNull(start) + 75;
|
| - postfix = "...";
|
| - } else if (dart.notNull(end) - dart.notNull(offset) < 75) {
|
| - start = dart.notNull(end) - 75;
|
| - prefix = "...";
|
| - } else {
|
| - start = dart.notNull(offset) - 36;
|
| - end = dart.notNull(offset) + 36;
|
| - prefix = postfix = "...";
|
| - }
|
| - }
|
| - let slice = dart.as(dart.dinvoke(this.source, 'substring', start, end), String);
|
| - let markOffset = dart.notNull(offset) - dart.notNull(start) + dart.notNull(prefix.length);
|
| - return `${report}${prefix}${slice}${postfix}\n${String['*'](" ", markOffset)}^\n`;
|
| - }
|
| - }
|
| - class IntegerDivisionByZeroException extends Object {
|
| - IntegerDivisionByZeroException() {
|
| - }
|
| - toString() {
|
| - return "IntegerDivisionByZeroException";
|
| - }
|
| - }
|
| - let _getKey = Symbol('_getKey');
|
| - let Expando$ = dart.generic(function(T) {
|
| - class Expando extends Object {
|
| - Expando(name) {
|
| - if (name === void 0)
|
| - name = null;
|
| - this.name = name;
|
| - }
|
| - toString() {
|
| - return `Expando:${this.name}`;
|
| - }
|
| - get(object) {
|
| - let values = _js_helper.Primitives.getProperty(object, Expando._EXPANDO_PROPERTY_NAME);
|
| - return dart.as(values === null ? null : _js_helper.Primitives.getProperty(values, this[_getKey]()), T);
|
| - }
|
| - set(object, value) {
|
| - let values = _js_helper.Primitives.getProperty(object, Expando._EXPANDO_PROPERTY_NAME);
|
| - if (values === null) {
|
| - values = new Object();
|
| - _js_helper.Primitives.setProperty(object, Expando._EXPANDO_PROPERTY_NAME, values);
|
| - }
|
| - _js_helper.Primitives.setProperty(values, this[_getKey](), value);
|
| - }
|
| - [_getKey]() {
|
| - let key = dart.as(_js_helper.Primitives.getProperty(this, Expando._KEY_PROPERTY_NAME), String);
|
| - if (key === null) {
|
| - key = `expando$key$${(($tmp) => _keyCount = dart.notNull($tmp) + 1, $tmp)(_keyCount)}`;
|
| - _js_helper.Primitives.setProperty(this, Expando._KEY_PROPERTY_NAME, key);
|
| - }
|
| - return key;
|
| - }
|
| - }
|
| - Expando._KEY_PROPERTY_NAME = 'expando$key';
|
| - Expando._EXPANDO_PROPERTY_NAME = 'expando$values';
|
| - Expando._keyCount = 0;
|
| - return Expando;
|
| - });
|
| - let Expando = Expando$(dart.dynamic);
|
| - let _toMangledNames = Symbol('_toMangledNames');
|
| - class Function extends Object {
|
| - static apply(function, positionalArguments, namedArguments) {
|
| - if (namedArguments === void 0)
|
| - namedArguments = null;
|
| - return _js_helper.Primitives.applyFunction(function, positionalArguments, namedArguments === null ? null : _toMangledNames(namedArguments));
|
| - }
|
| - static [_toMangledNames](namedArguments) {
|
| - let result = dart.as(dart.map(), Map$(String, dynamic));
|
| - namedArguments.forEach(dart.closureWrap((symbol, value) => {
|
| - result.set(_symbolToString(dart.as(symbol, Symbol)), value);
|
| - }, "(Symbol, dynamic) → void"));
|
| - return result;
|
| - }
|
| - }
|
| - // Function identical: (Object, Object) → bool
|
| - function identical(a, b) {
|
| - return _js_helper.Primitives.identicalImplementation(a, b);
|
| - }
|
| - // Function identityHashCode: (Object) → int
|
| - function identityHashCode(object) {
|
| - return _js_helper.objectHashCode(object);
|
| - }
|
| - class int extends num {
|
| - int$fromEnvironment(name, opt$) {
|
| - let defaultValue = opt$.defaultValue === void 0 ? null : opt$.defaultValue;
|
| - throw new UnsupportedError('int.fromEnvironment can only be used as a const constructor');
|
| - }
|
| - static parse(source, opt$) {
|
| - let radix = opt$.radix === void 0 ? null : opt$.radix;
|
| - let onError = opt$.onError === void 0 ? null : opt$.onError;
|
| - return _js_helper.Primitives.parseInt(source, radix, onError);
|
| - }
|
| - }
|
| - dart.defineNamedConstructor(int, 'fromEnvironment');
|
| - class Invocation extends Object {
|
| - get isAccessor() {
|
| - return dart.notNull(this.isGetter) || dart.notNull(this.isSetter);
|
| - }
|
| - }
|
| - let Iterable$ = dart.generic(function(E) {
|
| - class Iterable extends Object {
|
| - Iterable() {
|
| - }
|
| - Iterable$generate(count, generator) {
|
| - if (generator === void 0)
|
| - generator = null;
|
| - if (dart.notNull(count) <= 0)
|
| - return new _internal.EmptyIterable();
|
| - return new _GeneratorIterable(count, generator);
|
| - }
|
| - join(separator) {
|
| - if (separator === void 0)
|
| - separator = "";
|
| - let buffer = new StringBuffer();
|
| - buffer.writeAll(this, separator);
|
| - return buffer.toString();
|
| - }
|
| - [Symbol.iterator]() {
|
| - var iterator = this.iterator;
|
| - return {
|
| - next() {
|
| - var done = iterator.moveNext();
|
| - return {done: done, current: done ? void 0 : iterator.current};
|
| - }
|
| - };
|
| - }
|
| - }
|
| - dart.defineNamedConstructor(Iterable, 'generate');
|
| - return Iterable;
|
| - });
|
| - let Iterable = Iterable$(dart.dynamic);
|
| - let _end = Symbol('_end');
|
| - let _start = Symbol('_start');
|
| - let _generator = Symbol('_generator');
|
| - let _id = Symbol('_id');
|
| - let _GeneratorIterable$ = dart.generic(function(E) {
|
| - class _GeneratorIterable extends collection.IterableBase$(E) {
|
| - _GeneratorIterable($_end, generator) {
|
| - this[_end] = $_end;
|
| - this[_start] = 0;
|
| - this[_generator] = dart.as(generator !== null ? generator : _id, _Generator);
|
| - super.IterableBase();
|
| - }
|
| - _GeneratorIterable$slice($_start, $_end, $_generator) {
|
| - this[_start] = $_start;
|
| - this[_end] = $_end;
|
| - this[_generator] = $_generator;
|
| - super.IterableBase();
|
| - }
|
| - get iterator() {
|
| - return new _GeneratorIterator(this[_start], this[_end], this[_generator]);
|
| - }
|
| - get length() {
|
| - return dart.notNull(this[_end]) - dart.notNull(this[_start]);
|
| - }
|
| - skip(count) {
|
| - RangeError.checkNotNegative(count, "count");
|
| - if (count === 0)
|
| - return this;
|
| - let newStart = dart.notNull(this[_start]) + dart.notNull(count);
|
| - if (dart.notNull(newStart) >= dart.notNull(this[_end]))
|
| - return new _internal.EmptyIterable();
|
| - return new _GeneratorIterable.slice(newStart, this[_end], this[_generator]);
|
| - }
|
| - take(count) {
|
| - RangeError.checkNotNegative(count, "count");
|
| - if (count === 0)
|
| - return new _internal.EmptyIterable();
|
| - let newEnd = dart.notNull(this[_start]) + dart.notNull(count);
|
| - if (dart.notNull(newEnd) >= dart.notNull(this[_end]))
|
| - return this;
|
| - return new _GeneratorIterable.slice(this[_start], newEnd, this[_generator]);
|
| - }
|
| - static [_id](n) {
|
| - return n;
|
| - }
|
| - }
|
| - dart.defineNamedConstructor(_GeneratorIterable, 'slice');
|
| - return _GeneratorIterable;
|
| - });
|
| - dart.defineLazyClassGeneric(exports, '_GeneratorIterable', {get: _GeneratorIterable$});
|
| - let _index = Symbol('_index');
|
| - let _current = Symbol('_current');
|
| - let _GeneratorIterator$ = dart.generic(function(E) {
|
| - class _GeneratorIterator extends Object {
|
| - _GeneratorIterator($_index, $_end, $_generator) {
|
| - this[_index] = $_index;
|
| - this[_end] = $_end;
|
| - this[_generator] = $_generator;
|
| - this[_current] = null;
|
| - }
|
| - moveNext() {
|
| - if (dart.notNull(this[_index]) < dart.notNull(this[_end])) {
|
| - this[_current] = this[_generator](this[_index]);
|
| - this[_index] = dart.notNull(this[_index]) + 1;
|
| - return true;
|
| - } else {
|
| - this[_current] = null;
|
| - return false;
|
| - }
|
| - }
|
| - get current() {
|
| - return this[_current];
|
| - }
|
| - }
|
| - return _GeneratorIterator;
|
| - });
|
| - let _GeneratorIterator = _GeneratorIterator$(dart.dynamic);
|
| - let BidirectionalIterator$ = dart.generic(function(E) {
|
| - class BidirectionalIterator extends Object {
|
| - }
|
| - return BidirectionalIterator;
|
| - });
|
| - let BidirectionalIterator = BidirectionalIterator$(dart.dynamic);
|
| - let Iterator$ = dart.generic(function(E) {
|
| - class Iterator extends Object {
|
| - }
|
| - return Iterator;
|
| - });
|
| - let Iterator = Iterator$(dart.dynamic);
|
| - let List$ = dart.generic(function(E) {
|
| - class List extends Object {
|
| - List(length) {
|
| - if (length === void 0)
|
| - length = new _ListConstructorSentinel();
|
| - if (length === new _ListConstructorSentinel()) {
|
| - return new _interceptors.JSArray.emptyGrowable();
|
| - }
|
| - return new _interceptors.JSArray.fixed(length);
|
| - }
|
| - List$filled(length, fill) {
|
| - let result = new _interceptors.JSArray.fixed(length);
|
| - if (length !== 0 && dart.notNull(fill !== null)) {
|
| - for (let i = 0; dart.notNull(i) < dart.notNull(result.length); i = dart.notNull(i) + 1) {
|
| - result.set(i, fill);
|
| - }
|
| - }
|
| - return dart.as(result, List$(E));
|
| - }
|
| - List$from(elements, opt$) {
|
| - let growable = opt$.growable === void 0 ? true : opt$.growable;
|
| - let list = new List();
|
| - for (let e of elements) {
|
| - list.add(e);
|
| - }
|
| - if (growable)
|
| - return list;
|
| - return dart.as(_internal.makeListFixedLength(list), List$(E));
|
| - }
|
| - List$generate(length, generator, opt$) {
|
| - let growable = opt$.growable === void 0 ? true : opt$.growable;
|
| - let result = null;
|
| - if (growable) {
|
| - result = ((_) => {
|
| - _.length = length;
|
| - return _;
|
| - }).bind(this)(new List.from([]));
|
| - } else {
|
| - result = new List(length);
|
| - }
|
| - for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull(i) + 1) {
|
| - result.set(i, generator(i));
|
| - }
|
| - return result;
|
| - }
|
| - }
|
| - dart.defineNamedConstructor(List, 'filled');
|
| - dart.defineNamedConstructor(List, 'from');
|
| - dart.defineNamedConstructor(List, 'generate');
|
| - return List;
|
| - });
|
| - let List = List$(dart.dynamic);
|
| - let Map$ = dart.generic(function(K, V) {
|
| - class Map extends Object {
|
| - Map() {
|
| - return new collection.LinkedHashMap();
|
| - }
|
| - Map$from(other) {
|
| - return new collection.LinkedHashMap.from(other);
|
| - }
|
| - Map$identity() {
|
| - return new collection.LinkedHashMap.identity();
|
| - }
|
| - Map$fromIterable(iterable, opt$) {
|
| - return new collection.LinkedHashMap.fromIterable(iterable, opt$);
|
| - }
|
| - Map$fromIterables(keys, values) {
|
| - return new collection.LinkedHashMap.fromIterables(keys, values);
|
| - }
|
| - }
|
| - dart.defineNamedConstructor(Map, 'from');
|
| - dart.defineNamedConstructor(Map, 'identity');
|
| - dart.defineNamedConstructor(Map, 'fromIterable');
|
| - dart.defineNamedConstructor(Map, 'fromIterables');
|
| - return Map;
|
| - });
|
| - let Map = Map$(dart.dynamic, dart.dynamic);
|
| - class Null extends Object {
|
| - Null$_uninstantiable() {
|
| - throw new UnsupportedError('class Null cannot be instantiated');
|
| - }
|
| - toString() {
|
| - return "null";
|
| - }
|
| - }
|
| - dart.defineNamedConstructor(Null, '_uninstantiable');
|
| - class Pattern extends Object {
|
| - }
|
| - // Function print: (Object) → void
|
| - function print(object) {
|
| - let line = `${object}`;
|
| - if (_internal.printToZone === null) {
|
| - _internal.printToConsole(line);
|
| - } else {
|
| - dart.dinvokef(_internal.printToZone, line);
|
| - }
|
| - }
|
| - class Match extends Object {
|
| - }
|
| - class RegExp extends Object {
|
| - RegExp(source, opt$) {
|
| - let multiLine = opt$.multiLine === void 0 ? false : opt$.multiLine;
|
| - let caseSensitive = opt$.caseSensitive === void 0 ? true : opt$.caseSensitive;
|
| - return new _js_helper.JSSyntaxRegExp(source, {multiLine: multiLine, caseSensitive: caseSensitive});
|
| - }
|
| - }
|
| - let Set$ = dart.generic(function(E) {
|
| - class Set extends collection.IterableBase$(E) {
|
| - Set() {
|
| - return new collection.LinkedHashSet();
|
| - }
|
| - Set$identity() {
|
| - return new collection.LinkedHashSet.identity();
|
| - }
|
| - Set$from(elements) {
|
| - return new collection.LinkedHashSet.from(elements);
|
| - }
|
| - }
|
| - dart.defineNamedConstructor(Set, 'identity');
|
| - dart.defineNamedConstructor(Set, 'from');
|
| - return Set;
|
| - });
|
| - dart.defineLazyClassGeneric(exports, 'Set', {get: Set$});
|
| - let Sink$ = dart.generic(function(T) {
|
| - class Sink extends Object {
|
| - }
|
| - return Sink;
|
| - });
|
| - let Sink = Sink$(dart.dynamic);
|
| - class StackTrace extends Object {
|
| - }
|
| - let _stop = Symbol('_stop');
|
| - let _initTicker = Symbol('_initTicker');
|
| - let _now = Symbol('_now');
|
| - class Stopwatch extends Object {
|
| - get frequency() {
|
| - return _frequency;
|
| - }
|
| - Stopwatch() {
|
| - this[_start] = null;
|
| - this[_stop] = null;
|
| - _initTicker();
|
| - }
|
| - start() {
|
| - if (this.isRunning)
|
| - return;
|
| - if (this[_start] === null) {
|
| - this[_start] = _now();
|
| - } else {
|
| - this[_start] = dart.notNull(_now()) - (dart.notNull(this[_stop]) - dart.notNull(this[_start]));
|
| - this[_stop] = null;
|
| - }
|
| - }
|
| - stop() {
|
| - if (!dart.notNull(this.isRunning))
|
| - return;
|
| - this[_stop] = _now();
|
| - }
|
| - reset() {
|
| - if (this[_start] === null)
|
| - return;
|
| - this[_start] = _now();
|
| - if (this[_stop] !== null) {
|
| - this[_stop] = this[_start];
|
| - }
|
| - }
|
| - get elapsedTicks() {
|
| - if (this[_start] === null) {
|
| - return 0;
|
| - }
|
| - return this[_stop] === null ? dart.notNull(_now()) - dart.notNull(this[_start]) : dart.notNull(this[_stop]) - dart.notNull(this[_start]);
|
| - }
|
| - get elapsed() {
|
| - return new Duration({microseconds: this.elapsedMicroseconds});
|
| - }
|
| - get elapsedMicroseconds() {
|
| - return (dart.notNull(this.elapsedTicks) * 1000000 / dart.notNull(this.frequency)).truncate();
|
| - }
|
| - get elapsedMilliseconds() {
|
| - return (dart.notNull(this.elapsedTicks) * 1000 / dart.notNull(this.frequency)).truncate();
|
| - }
|
| - get isRunning() {
|
| - return this[_start] !== null && this[_stop] === null;
|
| - }
|
| - static [_initTicker]() {
|
| - _js_helper.Primitives.initTicker();
|
| - _frequency = _js_helper.Primitives.timerFrequency;
|
| - }
|
| - static [_now]() {
|
| - return dart.as(dart.dinvoke(_js_helper.Primitives, 'timerTicks'), int);
|
| - }
|
| - }
|
| - Stopwatch._frequency = null;
|
| - let _stringFromIterable = Symbol('_stringFromIterable');
|
| - class String extends Object {
|
| - String$fromCharCodes(charCodes, start, end) {
|
| - if (start === void 0)
|
| - start = 0;
|
| - if (end === void 0)
|
| - end = null;
|
| - if (!dart.is(charCodes, _interceptors.JSArray)) {
|
| - return _stringFromIterable(charCodes, start, end);
|
| - }
|
| - let list = dart.as(charCodes, List);
|
| - let len = list.length;
|
| - if (dart.notNull(start) < 0 || dart.notNull(start) > dart.notNull(len)) {
|
| - throw new RangeError.range(start, 0, len);
|
| - }
|
| - if (end === null) {
|
| - end = len;
|
| - } else if (dart.notNull(end) < dart.notNull(start) || dart.notNull(end) > dart.notNull(len)) {
|
| - throw new RangeError.range(end, start, len);
|
| - }
|
| - if (dart.notNull(start) > 0 || dart.notNull(end) < dart.notNull(len)) {
|
| - list = list.sublist(start, end);
|
| - }
|
| - return _js_helper.Primitives.stringFromCharCodes(list);
|
| - }
|
| - String$fromCharCode(charCode) {
|
| - return _js_helper.Primitives.stringFromCharCode(charCode);
|
| - }
|
| - String$fromEnvironment(name, opt$) {
|
| - let defaultValue = opt$.defaultValue === void 0 ? null : opt$.defaultValue;
|
| - throw new UnsupportedError('String.fromEnvironment can only be used as a const constructor');
|
| - }
|
| - static [_stringFromIterable](charCodes, start, end) {
|
| - if (dart.notNull(start) < 0)
|
| - throw new RangeError.range(start, 0, charCodes.length);
|
| - if (end !== null && dart.notNull(end) < dart.notNull(start)) {
|
| - throw new RangeError.range(end, start, charCodes.length);
|
| - }
|
| - let it = charCodes.iterator;
|
| - for (let i = 0; dart.notNull(i) < dart.notNull(start); i = dart.notNull(i) + 1) {
|
| - if (!dart.notNull(it.moveNext())) {
|
| - throw new RangeError.range(start, 0, i);
|
| - }
|
| - }
|
| - let list = new List.from([]);
|
| - if (end === null) {
|
| - while (it.moveNext())
|
| - list.add(it.current);
|
| - } else {
|
| - for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull(i) + 1) {
|
| - if (!dart.notNull(it.moveNext())) {
|
| - throw new RangeError.range(end, start, i);
|
| - }
|
| - list.add(it.current);
|
| - }
|
| - }
|
| - return _js_helper.Primitives.stringFromCharCodes(list);
|
| - }
|
| - }
|
| - dart.defineNamedConstructor(String, 'fromCharCodes');
|
| - dart.defineNamedConstructor(String, 'fromCharCode');
|
| - dart.defineNamedConstructor(String, 'fromEnvironment');
|
| - dart.defineLazyClass(exports, {
|
| - get Runes() {
|
| - class Runes extends collection.IterableBase$(int) {
|
| - Runes(string) {
|
| - this.string = string;
|
| - super.IterableBase();
|
| - }
|
| - get iterator() {
|
| - return new RuneIterator(this.string);
|
| - }
|
| - get last() {
|
| - if (this.string.length === 0) {
|
| - throw new StateError('No elements.');
|
| - }
|
| - let length = this.string.length;
|
| - let code = this.string.codeUnitAt(dart.notNull(length) - 1);
|
| - if (dart.notNull(_isTrailSurrogate(code)) && dart.notNull(this.string.length) > 1) {
|
| - let previousCode = this.string.codeUnitAt(dart.notNull(length) - 2);
|
| - if (_isLeadSurrogate(previousCode)) {
|
| - return _combineSurrogatePair(previousCode, code);
|
| - }
|
| - }
|
| - return code;
|
| - }
|
| - }
|
| - return Runes;
|
| - }
|
| - });
|
| - // Function _isLeadSurrogate: (int) → bool
|
| - function _isLeadSurrogate(code) {
|
| - return (dart.notNull(code) & 64512) === 55296;
|
| - }
|
| - // Function _isTrailSurrogate: (int) → bool
|
| - function _isTrailSurrogate(code) {
|
| - return (dart.notNull(code) & 64512) === 56320;
|
| - }
|
| - // Function _combineSurrogatePair: (int, int) → int
|
| - function _combineSurrogatePair(start, end) {
|
| - return 65536 + ((dart.notNull(start) & 1023) << 10) + (dart.notNull(end) & 1023);
|
| - }
|
| - let _position = Symbol('_position');
|
| - let _nextPosition = Symbol('_nextPosition');
|
| - let _currentCodePoint = Symbol('_currentCodePoint');
|
| - let _checkSplitSurrogate = Symbol('_checkSplitSurrogate');
|
| - class RuneIterator extends Object {
|
| - RuneIterator(string) {
|
| - this.string = string;
|
| - this[_position] = 0;
|
| - this[_nextPosition] = 0;
|
| - this[_currentCodePoint] = null;
|
| - }
|
| - RuneIterator$at(string, index) {
|
| - this.string = string;
|
| - this[_position] = index;
|
| - this[_nextPosition] = index;
|
| - this[_currentCodePoint] = null;
|
| - RangeError.checkValueInInterval(index, 0, string.length);
|
| - this[_checkSplitSurrogate](index);
|
| - }
|
| - [_checkSplitSurrogate](index) {
|
| - if (dart.notNull(index) > 0 && dart.notNull(index) < dart.notNull(this.string.length) && dart.notNull(_isLeadSurrogate(this.string.codeUnitAt(dart.notNull(index) - 1))) && dart.notNull(_isTrailSurrogate(this.string.codeUnitAt(index)))) {
|
| - throw new ArgumentError(`Index inside surrogate pair: ${index}`);
|
| - }
|
| - }
|
| - get rawIndex() {
|
| - return this[_position] !== this[_nextPosition] ? this[_position] : null;
|
| - }
|
| - set rawIndex(rawIndex) {
|
| - RangeError.checkValidIndex(rawIndex, this.string, "rawIndex");
|
| - this.reset(rawIndex);
|
| - this.moveNext();
|
| - }
|
| - reset(rawIndex) {
|
| - if (rawIndex === void 0)
|
| - rawIndex = 0;
|
| - RangeError.checkValueInInterval(rawIndex, 0, this.string.length, "rawIndex");
|
| - this[_checkSplitSurrogate](rawIndex);
|
| - this[_position] = this[_nextPosition] = rawIndex;
|
| - this[_currentCodePoint] = null;
|
| - }
|
| - get current() {
|
| - return this[_currentCodePoint];
|
| - }
|
| - get currentSize() {
|
| - return dart.notNull(this[_nextPosition]) - dart.notNull(this[_position]);
|
| - }
|
| - get currentAsString() {
|
| - if (this[_position] === this[_nextPosition])
|
| - return null;
|
| - if (dart.notNull(this[_position]) + 1 === this[_nextPosition])
|
| - return this.string.get(this[_position]);
|
| - return this.string.substring(this[_position], this[_nextPosition]);
|
| - }
|
| - moveNext() {
|
| - this[_position] = this[_nextPosition];
|
| - if (this[_position] === this.string.length) {
|
| - this[_currentCodePoint] = null;
|
| - return false;
|
| - }
|
| - let codeUnit = this.string.codeUnitAt(this[_position]);
|
| - let nextPosition = dart.notNull(this[_position]) + 1;
|
| - if (dart.notNull(_isLeadSurrogate(codeUnit)) && dart.notNull(nextPosition) < dart.notNull(this.string.length)) {
|
| - let nextCodeUnit = this.string.codeUnitAt(nextPosition);
|
| - if (_isTrailSurrogate(nextCodeUnit)) {
|
| - this[_nextPosition] = dart.notNull(nextPosition) + 1;
|
| - this[_currentCodePoint] = _combineSurrogatePair(codeUnit, nextCodeUnit);
|
| - return true;
|
| - }
|
| - }
|
| - this[_nextPosition] = nextPosition;
|
| - this[_currentCodePoint] = codeUnit;
|
| - return true;
|
| - }
|
| - movePrevious() {
|
| - this[_nextPosition] = this[_position];
|
| - if (this[_position] === 0) {
|
| - this[_currentCodePoint] = null;
|
| - return false;
|
| - }
|
| - let position = dart.notNull(this[_position]) - 1;
|
| - let codeUnit = this.string.codeUnitAt(position);
|
| - if (dart.notNull(_isTrailSurrogate(codeUnit)) && dart.notNull(position) > 0) {
|
| - let prevCodeUnit = this.string.codeUnitAt(dart.notNull(position) - 1);
|
| - if (_isLeadSurrogate(prevCodeUnit)) {
|
| - this[_position] = dart.notNull(position) - 1;
|
| - this[_currentCodePoint] = _combineSurrogatePair(prevCodeUnit, codeUnit);
|
| - return true;
|
| - }
|
| - }
|
| - this[_position] = position;
|
| - this[_currentCodePoint] = codeUnit;
|
| - return true;
|
| - }
|
| - }
|
| - dart.defineNamedConstructor(RuneIterator, 'at');
|
| - let _contents = Symbol('_contents');
|
| - let _writeString = Symbol('_writeString');
|
| - class StringBuffer extends Object {
|
| - StringBuffer(content) {
|
| - if (content === void 0)
|
| - content = "";
|
| - this[_contents] = `${content}`;
|
| - }
|
| - get length() {
|
| - return this[_contents].length;
|
| - }
|
| - get isEmpty() {
|
| - return this.length === 0;
|
| - }
|
| - get isNotEmpty() {
|
| - return !dart.notNull(this.isEmpty);
|
| - }
|
| - write(obj) {
|
| - this[_writeString](`${obj}`);
|
| - }
|
| - writeCharCode(charCode) {
|
| - this[_writeString](new String.fromCharCode(charCode));
|
| - }
|
| - writeAll(objects, separator) {
|
| - if (separator === void 0)
|
| - separator = "";
|
| - let iterator = objects.iterator;
|
| - if (!dart.notNull(iterator.moveNext()))
|
| - return;
|
| - if (separator.isEmpty) {
|
| - do {
|
| - this.write(iterator.current);
|
| - } while (iterator.moveNext());
|
| - } else {
|
| - this.write(iterator.current);
|
| - while (iterator.moveNext()) {
|
| - this.write(separator);
|
| - this.write(iterator.current);
|
| - }
|
| - }
|
| - }
|
| - writeln(obj) {
|
| - if (obj === void 0)
|
| - obj = "";
|
| - this.write(obj);
|
| - this.write("\n");
|
| - }
|
| - clear() {
|
| - this[_contents] = "";
|
| - }
|
| - toString() {
|
| - return _js_helper.Primitives.flattenString(this[_contents]);
|
| - }
|
| - [_writeString](str) {
|
| - this[_contents] = _js_helper.Primitives.stringConcatUnchecked(this[_contents], dart.as(str, String));
|
| - }
|
| - }
|
| - class StringSink extends Object {
|
| - }
|
| - class Symbol extends Object {
|
| - Symbol(name) {
|
| - return new _internal.Symbol(name);
|
| - }
|
| - }
|
| - class Type extends Object {
|
| - }
|
| - let _writeAuthority = Symbol('_writeAuthority');
|
| - let _userInfo = Symbol('_userInfo');
|
| - let _host = Symbol('_host');
|
| - let _port = Symbol('_port');
|
| - let _defaultPort = Symbol('_defaultPort');
|
| - let _path = Symbol('_path');
|
| - let _query = Symbol('_query');
|
| - let _fragment = Symbol('_fragment');
|
| - let _fail = Symbol('_fail');
|
| - let _pathSegments = Symbol('_pathSegments');
|
| - let _queryParameters = Symbol('_queryParameters');
|
| - let _makeHttpUri = Symbol('_makeHttpUri');
|
| - let _isWindows = Symbol('_isWindows');
|
| - let _checkNonWindowsPathReservedCharacters = Symbol('_checkNonWindowsPathReservedCharacters');
|
| - let _checkWindowsPathReservedCharacters = Symbol('_checkWindowsPathReservedCharacters');
|
| - let _checkWindowsDriveLetter = Symbol('_checkWindowsDriveLetter');
|
| - let _makeFileUri = Symbol('_makeFileUri');
|
| - let _makeWindowsFileUrl = Symbol('_makeWindowsFileUrl');
|
| - let _makePort = Symbol('_makePort');
|
| - let _makeHost = Symbol('_makeHost');
|
| - let _isRegNameChar = Symbol('_isRegNameChar');
|
| - let _normalizeRegName = Symbol('_normalizeRegName');
|
| - let _makeScheme = Symbol('_makeScheme');
|
| - let _makeUserInfo = Symbol('_makeUserInfo');
|
| - let _makePath = Symbol('_makePath');
|
| - let _makeQuery = Symbol('_makeQuery');
|
| - let _makeFragment = Symbol('_makeFragment');
|
| - let _stringOrNullLength = Symbol('_stringOrNullLength');
|
| - let _isHexDigit = Symbol('_isHexDigit');
|
| - let _hexValue = Symbol('_hexValue');
|
| - let _normalizeEscape = Symbol('_normalizeEscape');
|
| - let _isUnreservedChar = Symbol('_isUnreservedChar');
|
| - let _escapeChar = Symbol('_escapeChar');
|
| - let _normalize = Symbol('_normalize');
|
| - let _isSchemeCharacter = Symbol('_isSchemeCharacter');
|
| - let _isGeneralDelimiter = Symbol('_isGeneralDelimiter');
|
| - let _merge = Symbol('_merge');
|
| - let _hasDotSegments = Symbol('_hasDotSegments');
|
| - let _removeDotSegments = Symbol('_removeDotSegments');
|
| - let _toWindowsFilePath = Symbol('_toWindowsFilePath');
|
| - let _toFilePath = Symbol('_toFilePath');
|
| - let _isPathAbsolute = Symbol('_isPathAbsolute');
|
| - let _addIfNonEmpty = Symbol('_addIfNonEmpty');
|
| - let _uriEncode = Symbol('_uriEncode');
|
| - let _hexCharPairToByte = Symbol('_hexCharPairToByte');
|
| - let _uriDecode = Symbol('_uriDecode');
|
| - let _isAlphabeticCharacter = Symbol('_isAlphabeticCharacter');
|
| - class Uri extends Object {
|
| - get authority() {
|
| - if (!dart.notNull(this.hasAuthority))
|
| - return "";
|
| - let sb = new StringBuffer();
|
| - this[_writeAuthority](sb);
|
| - return sb.toString();
|
| - }
|
| - get userInfo() {
|
| - return this[_userInfo];
|
| - }
|
| - get host() {
|
| - if (this[_host] === null)
|
| - return "";
|
| - if (this[_host].startsWith('[')) {
|
| - return this[_host].substring(1, dart.notNull(this[_host].length) - 1);
|
| - }
|
| - return this[_host];
|
| - }
|
| - get port() {
|
| - if (this[_port] === null)
|
| - return _defaultPort(this.scheme);
|
| - return this[_port];
|
| - }
|
| - static [_defaultPort](scheme) {
|
| - if (dart.equals(scheme, "http"))
|
| - return 80;
|
| - if (dart.equals(scheme, "https"))
|
| - return 443;
|
| - return 0;
|
| - }
|
| - get path() {
|
| - return this[_path];
|
| - }
|
| - get query() {
|
| - return this[_query] === null ? "" : this[_query];
|
| - }
|
| - get fragment() {
|
| - return this[_fragment] === null ? "" : this[_fragment];
|
| - }
|
| - static parse(uri) {
|
| - // Function isRegName: (int) → bool
|
| - function isRegName(ch) {
|
| - return dart.notNull(ch) < 128 && dart.notNull(!dart.equals(dart.dbinary(Uri._regNameTable.get(dart.notNull(ch) >> 4), '&', 1 << (dart.notNull(ch) & 15)), 0));
|
| - }
|
| - let EOI = -1;
|
| - let scheme = "";
|
| - let userinfo = "";
|
| - let host = null;
|
| - let port = null;
|
| - let path = null;
|
| - let query = null;
|
| - let fragment = null;
|
| - let index = 0;
|
| - let pathStart = 0;
|
| - let char = EOI;
|
| - // Function parseAuth: () → void
|
| - function parseAuth() {
|
| - if (index === uri.length) {
|
| - char = EOI;
|
| - return;
|
| - }
|
| - let authStart = index;
|
| - let lastColon = -1;
|
| - let lastAt = -1;
|
| - char = uri.codeUnitAt(index);
|
| - while (dart.notNull(index) < dart.notNull(uri.length)) {
|
| - char = uri.codeUnitAt(index);
|
| - if (char === Uri._SLASH || char === Uri._QUESTION || char === Uri._NUMBER_SIGN) {
|
| - break;
|
| - }
|
| - if (char === Uri._AT_SIGN) {
|
| - lastAt = index;
|
| - lastColon = -1;
|
| - } else if (char === Uri._COLON) {
|
| - lastColon = index;
|
| - } else if (char === Uri._LEFT_BRACKET) {
|
| - lastColon = -1;
|
| - let endBracket = uri.indexOf(']', dart.notNull(index) + 1);
|
| - if (endBracket === -1) {
|
| - index = uri.length;
|
| - char = EOI;
|
| - break;
|
| - } else {
|
| - index = endBracket;
|
| - }
|
| - }
|
| - index = dart.notNull(index) + 1;
|
| - char = EOI;
|
| - }
|
| - let hostStart = authStart;
|
| - let hostEnd = index;
|
| - if (dart.notNull(lastAt) >= 0) {
|
| - userinfo = _makeUserInfo(uri, authStart, lastAt);
|
| - hostStart = dart.notNull(lastAt) + 1;
|
| - }
|
| - if (dart.notNull(lastColon) >= 0) {
|
| - let portNumber = null;
|
| - if (dart.notNull(lastColon) + 1 < dart.notNull(index)) {
|
| - portNumber = 0;
|
| - for (let i = dart.notNull(lastColon) + 1; dart.notNull(i) < dart.notNull(index); i = dart.notNull(i) + 1) {
|
| - let digit = uri.codeUnitAt(i);
|
| - if (dart.notNull(Uri._ZERO) > dart.notNull(digit) || dart.notNull(Uri._NINE) < dart.notNull(digit)) {
|
| - _fail(uri, i, "Invalid port number");
|
| - }
|
| - portNumber = dart.notNull(portNumber) * 10 + (dart.notNull(digit) - dart.notNull(Uri._ZERO));
|
| - }
|
| - }
|
| - port = _makePort(portNumber, scheme);
|
| - hostEnd = lastColon;
|
| - }
|
| - host = _makeHost(uri, hostStart, hostEnd, true);
|
| - if (dart.notNull(index) < dart.notNull(uri.length)) {
|
| - char = uri.codeUnitAt(index);
|
| - }
|
| - }
|
| - let NOT_IN_PATH = 0;
|
| - let IN_PATH = 1;
|
| - let ALLOW_AUTH = 2;
|
| - let state = NOT_IN_PATH;
|
| - let i = index;
|
| - while (dart.notNull(i) < dart.notNull(uri.length)) {
|
| - char = uri.codeUnitAt(i);
|
| - if (char === Uri._QUESTION || char === Uri._NUMBER_SIGN) {
|
| - state = NOT_IN_PATH;
|
| - break;
|
| - }
|
| - if (char === Uri._SLASH) {
|
| - state = i === 0 ? ALLOW_AUTH : IN_PATH;
|
| - break;
|
| - }
|
| - if (char === Uri._COLON) {
|
| - if (i === 0)
|
| - _fail(uri, 0, "Invalid empty scheme");
|
| - scheme = _makeScheme(uri, i);
|
| - i = dart.notNull(i) + 1;
|
| - pathStart = i;
|
| - if (i === uri.length) {
|
| - char = EOI;
|
| - state = NOT_IN_PATH;
|
| - } else {
|
| - char = uri.codeUnitAt(i);
|
| - if (char === Uri._QUESTION || char === Uri._NUMBER_SIGN) {
|
| - state = NOT_IN_PATH;
|
| - } else if (char === Uri._SLASH) {
|
| - state = ALLOW_AUTH;
|
| - } else {
|
| - state = IN_PATH;
|
| - }
|
| - }
|
| - break;
|
| - }
|
| - i = dart.notNull(i) + 1;
|
| - char = EOI;
|
| - }
|
| - index = i;
|
| - if (state === ALLOW_AUTH) {
|
| - dart.assert(char === Uri._SLASH);
|
| - index = dart.notNull(index) + 1;
|
| - if (index === uri.length) {
|
| - char = EOI;
|
| - state = NOT_IN_PATH;
|
| - } else {
|
| - char = uri.codeUnitAt(index);
|
| - if (char === Uri._SLASH) {
|
| - index = dart.notNull(index) + 1;
|
| - parseAuth();
|
| - pathStart = index;
|
| - }
|
| - if (char === Uri._QUESTION || char === Uri._NUMBER_SIGN || char === EOI) {
|
| - state = NOT_IN_PATH;
|
| - } else {
|
| - state = IN_PATH;
|
| - }
|
| - }
|
| - }
|
| - dart.assert(state === IN_PATH || state === NOT_IN_PATH);
|
| - if (state === IN_PATH) {
|
| - while ((index = dart.notNull(index) + 1) < dart.notNull(uri.length)) {
|
| - char = uri.codeUnitAt(index);
|
| - if (char === Uri._QUESTION || char === Uri._NUMBER_SIGN) {
|
| - break;
|
| - }
|
| - char = EOI;
|
| - }
|
| - state = NOT_IN_PATH;
|
| - }
|
| - dart.assert(state === NOT_IN_PATH);
|
| - let isFile = dart.equals(scheme, "file");
|
| - let ensureLeadingSlash = host !== null;
|
| - path = _makePath(uri, pathStart, index, null, ensureLeadingSlash, isFile);
|
| - if (char === Uri._QUESTION) {
|
| - let numberSignIndex = uri.indexOf('#', dart.notNull(index) + 1);
|
| - if (dart.notNull(numberSignIndex) < 0) {
|
| - query = _makeQuery(uri, dart.notNull(index) + 1, uri.length, null);
|
| - } else {
|
| - query = _makeQuery(uri, dart.notNull(index) + 1, numberSignIndex, null);
|
| - fragment = _makeFragment(uri, dart.notNull(numberSignIndex) + 1, uri.length);
|
| - }
|
| - } else if (char === Uri._NUMBER_SIGN) {
|
| - fragment = _makeFragment(uri, dart.notNull(index) + 1, uri.length);
|
| - }
|
| - return new Uri._internal(scheme, userinfo, host, port, path, query, fragment);
|
| - }
|
| - static [_fail](uri, index, message) {
|
| - throw new FormatException(message, uri, index);
|
| - }
|
| - Uri$_internal(scheme, $_userInfo, $_host, $_port, $_path, $_query, $_fragment) {
|
| - this.scheme = scheme;
|
| - this[_userInfo] = $_userInfo;
|
| - this[_host] = $_host;
|
| - this[_port] = $_port;
|
| - this[_path] = $_path;
|
| - this[_query] = $_query;
|
| - this[_fragment] = $_fragment;
|
| - this[_pathSegments] = null;
|
| - this[_queryParameters] = null;
|
| - }
|
| - Uri(opt$) {
|
| - let scheme = opt$.scheme === void 0 ? "" : opt$.scheme;
|
| - let userInfo = opt$.userInfo === void 0 ? "" : opt$.userInfo;
|
| - let host = opt$.host === void 0 ? null : opt$.host;
|
| - let port = opt$.port === void 0 ? null : opt$.port;
|
| - let path = opt$.path === void 0 ? null : opt$.path;
|
| - let pathSegments = opt$.pathSegments === void 0 ? null : opt$.pathSegments;
|
| - let query = opt$.query === void 0 ? null : opt$.query;
|
| - let queryParameters = opt$.queryParameters === void 0 ? null : opt$.queryParameters;
|
| - let fragment = opt$.fragment === void 0 ? null : opt$.fragment;
|
| - scheme = _makeScheme(scheme, _stringOrNullLength(scheme));
|
| - userInfo = _makeUserInfo(userInfo, 0, _stringOrNullLength(userInfo));
|
| - host = _makeHost(host, 0, _stringOrNullLength(host), false);
|
| - if (dart.equals(query, ""))
|
| - query = null;
|
| - query = _makeQuery(query, 0, _stringOrNullLength(query), queryParameters);
|
| - fragment = _makeFragment(fragment, 0, _stringOrNullLength(fragment));
|
| - port = _makePort(port, scheme);
|
| - let isFile = dart.equals(scheme, "file");
|
| - if (dart.notNull(host === null) && (dart.notNull(userInfo.isNotEmpty) || port !== null || dart.notNull(isFile))) {
|
| - host = "";
|
| - }
|
| - let ensureLeadingSlash = host !== null;
|
| - path = _makePath(path, 0, _stringOrNullLength(path), pathSegments, ensureLeadingSlash, isFile);
|
| - return new Uri._internal(scheme, userInfo, host, port, path, query, fragment);
|
| - }
|
| - Uri$http(authority, unencodedPath, queryParameters) {
|
| - if (queryParameters === void 0)
|
| - queryParameters = null;
|
| - return _makeHttpUri("http", authority, unencodedPath, queryParameters);
|
| - }
|
| - Uri$https(authority, unencodedPath, queryParameters) {
|
| - if (queryParameters === void 0)
|
| - queryParameters = null;
|
| - return _makeHttpUri("https", authority, unencodedPath, queryParameters);
|
| - }
|
| - static [_makeHttpUri](scheme, authority, unencodedPath, queryParameters) {
|
| - let userInfo = "";
|
| - let host = null;
|
| - let port = null;
|
| - if (dart.notNull(authority !== null) && dart.notNull(authority.isNotEmpty)) {
|
| - let hostStart = 0;
|
| - let hasUserInfo = false;
|
| - for (let i = 0; dart.notNull(i) < dart.notNull(authority.length); i = dart.notNull(i) + 1) {
|
| - if (authority.codeUnitAt(i) === Uri._AT_SIGN) {
|
| - hasUserInfo = true;
|
| - userInfo = authority.substring(0, i);
|
| - hostStart = dart.notNull(i) + 1;
|
| - break;
|
| - }
|
| - }
|
| - let hostEnd = hostStart;
|
| - if (dart.notNull(hostStart) < dart.notNull(authority.length) && authority.codeUnitAt(hostStart) === Uri._LEFT_BRACKET) {
|
| - for (; dart.notNull(hostEnd) < dart.notNull(authority.length); hostEnd = dart.notNull(hostEnd) + 1) {
|
| - if (authority.codeUnitAt(hostEnd) === Uri._RIGHT_BRACKET)
|
| - break;
|
| - }
|
| - if (hostEnd === authority.length) {
|
| - throw new FormatException("Invalid IPv6 host entry.", authority, hostStart);
|
| - }
|
| - parseIPv6Address(authority, dart.notNull(hostStart) + 1, hostEnd);
|
| - hostEnd = dart.notNull(hostEnd) + 1;
|
| - if (hostEnd !== authority.length && authority.codeUnitAt(hostEnd) !== Uri._COLON) {
|
| - throw new FormatException("Invalid end of authority", authority, hostEnd);
|
| - }
|
| - }
|
| - let hasPort = false;
|
| - for (; dart.notNull(hostEnd) < dart.notNull(authority.length); hostEnd = dart.notNull(hostEnd) + 1) {
|
| - if (authority.codeUnitAt(hostEnd) === Uri._COLON) {
|
| - let portString = authority.substring(dart.notNull(hostEnd) + 1);
|
| - if (portString.isNotEmpty)
|
| - port = int.parse(portString);
|
| - break;
|
| - }
|
| - }
|
| - host = authority.substring(hostStart, hostEnd);
|
| - }
|
| - return new Uri({scheme: scheme, userInfo: userInfo, host: dart.as(host, String), port: dart.as(port, int), pathSegments: unencodedPath.split("/"), queryParameters: queryParameters});
|
| - }
|
| - Uri$file(path, opt$) {
|
| - let windows = opt$.windows === void 0 ? null : opt$.windows;
|
| - windows = windows === null ? Uri[_isWindows] : windows;
|
| - return dart.as(windows ? _makeWindowsFileUrl(path) : _makeFileUri(path), Uri);
|
| - }
|
| - static get base() {
|
| - let uri = _js_helper.Primitives.currentUri();
|
| - if (uri !== null)
|
| - return Uri.parse(uri);
|
| - throw new UnsupportedError("'Uri.base' is not supported");
|
| - }
|
| - static get [_isWindows]() {
|
| - return false;
|
| - }
|
| - static [_checkNonWindowsPathReservedCharacters](segments, argumentError) {
|
| - segments.forEach(dart.closureWrap((segment) => {
|
| - if (dart.dinvoke(segment, 'contains', "/")) {
|
| - if (argumentError) {
|
| - throw new ArgumentError(`Illegal path character ${segment}`);
|
| - } else {
|
| - throw new UnsupportedError(`Illegal path character ${segment}`);
|
| - }
|
| - }
|
| - }, "(String) → void"));
|
| - }
|
| - static [_checkWindowsPathReservedCharacters](segments, argumentError, firstSegment) {
|
| - if (firstSegment === void 0)
|
| - firstSegment = 0;
|
| - segments.skip(firstSegment).forEach(dart.closureWrap((segment) => {
|
| - if (dart.dinvoke(segment, 'contains', new RegExp('["*/:<>?\\\\|]'))) {
|
| - if (argumentError) {
|
| - throw new ArgumentError("Illegal character in path");
|
| - } else {
|
| - throw new UnsupportedError("Illegal character in path");
|
| - }
|
| - }
|
| - }, "(String) → void"));
|
| - }
|
| - static [_checkWindowsDriveLetter](charCode, argumentError) {
|
| - if (dart.notNull(Uri._UPPER_CASE_A) <= dart.notNull(charCode) && dart.notNull(charCode) <= dart.notNull(Uri._UPPER_CASE_Z) || dart.notNull(Uri._LOWER_CASE_A) <= dart.notNull(charCode) && dart.notNull(charCode) <= dart.notNull(Uri._LOWER_CASE_Z)) {
|
| - return;
|
| - }
|
| - if (argumentError) {
|
| - throw new ArgumentError(String['+']("Illegal drive letter ", new String.fromCharCode(charCode)));
|
| - } else {
|
| - throw new UnsupportedError(String['+']("Illegal drive letter ", new String.fromCharCode(charCode)));
|
| - }
|
| - }
|
| - static [_makeFileUri](path) {
|
| - let sep = "/";
|
| - if (path.startsWith(sep)) {
|
| - return new Uri({scheme: "file", pathSegments: path.split(sep)});
|
| - } else {
|
| - return new Uri({pathSegments: path.split(sep)});
|
| - }
|
| - }
|
| - static [_makeWindowsFileUrl](path) {
|
| - if (path.startsWith("\\\\?\\")) {
|
| - if (path.startsWith("\\\\?\\UNC\\")) {
|
| - path = `\\${path.substring(7)}`;
|
| - } else {
|
| - path = path.substring(4);
|
| - if (dart.notNull(path.length) < 3 || path.codeUnitAt(1) !== Uri._COLON || path.codeUnitAt(2) !== Uri._BACKSLASH) {
|
| - throw new ArgumentError("Windows paths with \\\\?\\ prefix must be absolute");
|
| - }
|
| - }
|
| - } else {
|
| - path = path.replaceAll("/", "\\");
|
| - }
|
| - let sep = "\\";
|
| - if (dart.notNull(path.length) > 1 && dart.notNull(dart.equals(path.get(1), ":"))) {
|
| - _checkWindowsDriveLetter(path.codeUnitAt(0), true);
|
| - if (path.length === 2 || path.codeUnitAt(2) !== Uri._BACKSLASH) {
|
| - throw new ArgumentError("Windows paths with drive letter must be absolute");
|
| - }
|
| - let pathSegments = path.split(sep);
|
| - _checkWindowsPathReservedCharacters(pathSegments, true, 1);
|
| - return new Uri({scheme: "file", pathSegments: pathSegments});
|
| - }
|
| - if (dart.notNull(path.length) > 0 && dart.notNull(dart.equals(path.get(0), sep))) {
|
| - if (dart.notNull(path.length) > 1 && dart.notNull(dart.equals(path.get(1), sep))) {
|
| - let pathStart = path.indexOf("\\", 2);
|
| - let hostPart = pathStart === -1 ? path.substring(2) : path.substring(2, pathStart);
|
| - let pathPart = pathStart === -1 ? "" : path.substring(dart.notNull(pathStart) + 1);
|
| - let pathSegments = pathPart.split(sep);
|
| - _checkWindowsPathReservedCharacters(pathSegments, true);
|
| - return new Uri({scheme: "file", host: hostPart, pathSegments: pathSegments});
|
| - } else {
|
| - let pathSegments = path.split(sep);
|
| - _checkWindowsPathReservedCharacters(pathSegments, true);
|
| - return new Uri({scheme: "file", pathSegments: pathSegments});
|
| - }
|
| - } else {
|
| - let pathSegments = path.split(sep);
|
| - _checkWindowsPathReservedCharacters(pathSegments, true);
|
| - return new Uri({pathSegments: pathSegments});
|
| - }
|
| - }
|
| - replace(opt$) {
|
| - let scheme = opt$.scheme === void 0 ? null : opt$.scheme;
|
| - let userInfo = opt$.userInfo === void 0 ? null : opt$.userInfo;
|
| - let host = opt$.host === void 0 ? null : opt$.host;
|
| - let port = opt$.port === void 0 ? null : opt$.port;
|
| - let path = opt$.path === void 0 ? null : opt$.path;
|
| - let pathSegments = opt$.pathSegments === void 0 ? null : opt$.pathSegments;
|
| - let query = opt$.query === void 0 ? null : opt$.query;
|
| - let queryParameters = opt$.queryParameters === void 0 ? null : opt$.queryParameters;
|
| - let fragment = opt$.fragment === void 0 ? null : opt$.fragment;
|
| - let schemeChanged = false;
|
| - if (scheme !== null) {
|
| - scheme = _makeScheme(scheme, scheme.length);
|
| - schemeChanged = true;
|
| - } else {
|
| - scheme = this.scheme;
|
| - }
|
| - let isFile = dart.equals(scheme, "file");
|
| - if (userInfo !== null) {
|
| - userInfo = _makeUserInfo(userInfo, 0, userInfo.length);
|
| - } else {
|
| - userInfo = this.userInfo;
|
| - }
|
| - if (port !== null) {
|
| - port = _makePort(port, scheme);
|
| - } else {
|
| - port = this[_port];
|
| - if (schemeChanged) {
|
| - port = _makePort(port, scheme);
|
| - }
|
| - }
|
| - if (host !== null) {
|
| - host = _makeHost(host, 0, host.length, false);
|
| - } else if (this.hasAuthority) {
|
| - host = this.host;
|
| - } else if (dart.notNull(userInfo.isNotEmpty) || port !== null || dart.notNull(isFile)) {
|
| - host = "";
|
| - }
|
| - let ensureLeadingSlash = host !== null;
|
| - if (dart.notNull(path !== null) || dart.notNull(pathSegments !== null)) {
|
| - path = _makePath(path, 0, _stringOrNullLength(path), pathSegments, ensureLeadingSlash, isFile);
|
| - } else {
|
| - path = this.path;
|
| - if ((dart.notNull(isFile) || dart.notNull(ensureLeadingSlash) && !dart.notNull(path.isEmpty)) && !dart.notNull(path.startsWith('/'))) {
|
| - path = `/${path}`;
|
| - }
|
| - }
|
| - if (dart.notNull(query !== null) || dart.notNull(queryParameters !== null)) {
|
| - query = _makeQuery(query, 0, _stringOrNullLength(query), queryParameters);
|
| - } else if (this.hasQuery) {
|
| - query = this.query;
|
| - }
|
| - if (fragment !== null) {
|
| - fragment = _makeFragment(fragment, 0, fragment.length);
|
| - } else if (this.hasFragment) {
|
| - fragment = this.fragment;
|
| - }
|
| - return new Uri._internal(scheme, userInfo, host, port, path, query, fragment);
|
| - }
|
| - get pathSegments() {
|
| - if (this[_pathSegments] === null) {
|
| - let pathToSplit = !dart.notNull(this.path.isEmpty) && this.path.codeUnitAt(0) === Uri._SLASH ? this.path.substring(1) : this.path;
|
| - this[_pathSegments] = dart.as(new collection.UnmodifiableListView(dart.equals(pathToSplit, "") ? /* Unimplemented const */new List.from([]) : pathToSplit.split("/").map(Uri.decodeComponent).toList({growable: false})), List$(String));
|
| - }
|
| - return this[_pathSegments];
|
| - }
|
| - get queryParameters() {
|
| - if (this[_queryParameters] === null) {
|
| - this[_queryParameters] = dart.as(new collection.UnmodifiableMapView(splitQueryString(this.query)), Map$(String, String));
|
| - }
|
| - return this[_queryParameters];
|
| - }
|
| - static [_makePort](port, scheme) {
|
| - if (port !== null && port === _defaultPort(scheme))
|
| - return null;
|
| - return port;
|
| - }
|
| - static [_makeHost](host, start, end, strictIPv6) {
|
| - if (host === null)
|
| - return null;
|
| - if (start === end)
|
| - return "";
|
| - if (host.codeUnitAt(start) === Uri._LEFT_BRACKET) {
|
| - if (host.codeUnitAt(dart.notNull(end) - 1) !== Uri._RIGHT_BRACKET) {
|
| - _fail(host, start, 'Missing end `]` to match `[` in host');
|
| - }
|
| - parseIPv6Address(host, dart.notNull(start) + 1, dart.notNull(end) - 1);
|
| - return host.substring(start, end).toLowerCase();
|
| - }
|
| - if (!dart.notNull(strictIPv6)) {
|
| - for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull(i) + 1) {
|
| - if (host.codeUnitAt(i) === Uri._COLON) {
|
| - parseIPv6Address(host, start, end);
|
| - return `[${host}]`;
|
| - }
|
| - }
|
| - }
|
| - return _normalizeRegName(host, start, end);
|
| - }
|
| - static [_isRegNameChar](char) {
|
| - return dart.notNull(char) < 127 && dart.notNull(!dart.equals(dart.dbinary(Uri._regNameTable.get(dart.notNull(char) >> 4), '&', 1 << (dart.notNull(char) & 15)), 0));
|
| - }
|
| - static [_normalizeRegName](host, start, end) {
|
| - let buffer = null;
|
| - let sectionStart = start;
|
| - let index = start;
|
| - let isNormalized = true;
|
| - while (dart.notNull(index) < dart.notNull(end)) {
|
| - let char = host.codeUnitAt(index);
|
| - if (char === Uri._PERCENT) {
|
| - let replacement = _normalizeEscape(host, index, true);
|
| - if (dart.notNull(replacement === null) && dart.notNull(isNormalized)) {
|
| - index = 3;
|
| - continue;
|
| - }
|
| - if (buffer === null)
|
| - buffer = new StringBuffer();
|
| - let slice = host.substring(sectionStart, index);
|
| - if (!dart.notNull(isNormalized))
|
| - slice = slice.toLowerCase();
|
| - buffer.write(slice);
|
| - let sourceLength = 3;
|
| - if (replacement === null) {
|
| - replacement = host.substring(index, dart.notNull(index) + 3);
|
| - } else if (dart.equals(replacement, "%")) {
|
| - replacement = "%25";
|
| - sourceLength = 1;
|
| - }
|
| - buffer.write(replacement);
|
| - index = sourceLength;
|
| - sectionStart = index;
|
| - isNormalized = true;
|
| - } else if (_isRegNameChar(char)) {
|
| - if (dart.notNull(isNormalized) && dart.notNull(Uri._UPPER_CASE_A) <= dart.notNull(char) && dart.notNull(Uri._UPPER_CASE_Z) >= dart.notNull(char)) {
|
| - if (buffer === null)
|
| - buffer = new StringBuffer();
|
| - if (dart.notNull(sectionStart) < dart.notNull(index)) {
|
| - buffer.write(host.substring(sectionStart, index));
|
| - sectionStart = index;
|
| - }
|
| - isNormalized = false;
|
| - }
|
| - index = dart.notNull(index) + 1;
|
| - } else if (_isGeneralDelimiter(char)) {
|
| - _fail(host, index, "Invalid character");
|
| - } else {
|
| - let sourceLength = 1;
|
| - if ((dart.notNull(char) & 64512) === 55296 && dart.notNull(index) + 1 < dart.notNull(end)) {
|
| - let tail = host.codeUnitAt(dart.notNull(index) + 1);
|
| - if ((dart.notNull(tail) & 64512) === 56320) {
|
| - char = 65536 | (dart.notNull(char) & 1023) << 10 | dart.notNull(tail) & 1023;
|
| - sourceLength = 2;
|
| - }
|
| - }
|
| - if (buffer === null)
|
| - buffer = new StringBuffer();
|
| - let slice = host.substring(sectionStart, index);
|
| - if (!dart.notNull(isNormalized))
|
| - slice = slice.toLowerCase();
|
| - buffer.write(slice);
|
| - buffer.write(_escapeChar(char));
|
| - index = sourceLength;
|
| - sectionStart = index;
|
| - }
|
| - }
|
| - if (buffer === null)
|
| - return host.substring(start, end);
|
| - if (dart.notNull(sectionStart) < dart.notNull(end)) {
|
| - let slice = host.substring(sectionStart, end);
|
| - if (!dart.notNull(isNormalized))
|
| - slice = slice.toLowerCase();
|
| - buffer.write(slice);
|
| - }
|
| - return buffer.toString();
|
| - }
|
| - static [_makeScheme](scheme, end) {
|
| - if (end === 0)
|
| - return "";
|
| - let firstCodeUnit = scheme.codeUnitAt(0);
|
| - if (!dart.notNull(_isAlphabeticCharacter(firstCodeUnit))) {
|
| - _fail(scheme, 0, "Scheme not starting with alphabetic character");
|
| - }
|
| - let allLowercase = dart.notNull(firstCodeUnit) >= dart.notNull(Uri._LOWER_CASE_A);
|
| - for (let i = 0; dart.notNull(i) < dart.notNull(end); i = dart.notNull(i) + 1) {
|
| - let codeUnit = scheme.codeUnitAt(i);
|
| - if (!dart.notNull(_isSchemeCharacter(codeUnit))) {
|
| - _fail(scheme, i, "Illegal scheme character");
|
| - }
|
| - if (dart.notNull(codeUnit) < dart.notNull(Uri._LOWER_CASE_A) || dart.notNull(codeUnit) > dart.notNull(Uri._LOWER_CASE_Z)) {
|
| - allLowercase = false;
|
| - }
|
| - }
|
| - scheme = scheme.substring(0, end);
|
| - if (!dart.notNull(allLowercase))
|
| - scheme = scheme.toLowerCase();
|
| - return scheme;
|
| - }
|
| - static [_makeUserInfo](userInfo, start, end) {
|
| - if (userInfo === null)
|
| - return "";
|
| - return _normalize(userInfo, start, end, dart.as(Uri._userinfoTable, List$(int)));
|
| - }
|
| - static [_makePath](path, start, end, pathSegments, ensureLeadingSlash, isFile) {
|
| - if (dart.notNull(path === null) && dart.notNull(pathSegments === null))
|
| - return isFile ? "/" : "";
|
| - if (dart.notNull(path !== null) && dart.notNull(pathSegments !== null)) {
|
| - throw new ArgumentError('Both path and pathSegments specified');
|
| - }
|
| - let result = null;
|
| - if (path !== null) {
|
| - result = _normalize(path, start, end, dart.as(Uri._pathCharOrSlashTable, List$(int)));
|
| - } else {
|
| - result = pathSegments.map(dart.closureWrap((s) => _uriEncode(dart.as(Uri._pathCharTable, List$(int)), dart.as(s, String)), "(String) → dynamic")).join("/");
|
| - }
|
| - if (dart.dload(result, 'isEmpty')) {
|
| - if (isFile)
|
| - return "/";
|
| - } else if ((dart.notNull(isFile) || dart.notNull(ensureLeadingSlash)) && dart.notNull(!dart.equals(dart.dinvoke(result, 'codeUnitAt', 0), Uri._SLASH))) {
|
| - return `/${result}`;
|
| - }
|
| - return dart.as(result, String);
|
| - }
|
| - static [_makeQuery](query, start, end, queryParameters) {
|
| - if (dart.notNull(query === null) && dart.notNull(queryParameters === null))
|
| - return null;
|
| - if (dart.notNull(query !== null) && dart.notNull(queryParameters !== null)) {
|
| - throw new ArgumentError('Both query and queryParameters specified');
|
| - }
|
| - if (query !== null)
|
| - return _normalize(query, start, end, dart.as(Uri._queryCharTable, List$(int)));
|
| - let result = new StringBuffer();
|
| - let first = true;
|
| - queryParameters.forEach(dart.closureWrap(((key, value) => {
|
| - if (!dart.notNull(first)) {
|
| - result.write("&");
|
| - }
|
| - first = false;
|
| - result.write(Uri.encodeQueryComponent(dart.as(key, String)));
|
| - if (dart.notNull(value !== null) && dart.notNull(dart.dunary('!', dart.dload(value, 'isEmpty')))) {
|
| - result.write("=");
|
| - result.write(Uri.encodeQueryComponent(dart.as(value, String)));
|
| - }
|
| - }).bind(this), "(String, String) → void"));
|
| - return result.toString();
|
| - }
|
| - static [_makeFragment](fragment, start, end) {
|
| - if (fragment === null)
|
| - return null;
|
| - return _normalize(fragment, start, end, dart.as(Uri._queryCharTable, List$(int)));
|
| - }
|
| - static [_stringOrNullLength](s) {
|
| - return s === null ? 0 : s.length;
|
| - }
|
| - static [_isHexDigit](char) {
|
| - if (dart.notNull(Uri._NINE) >= dart.notNull(char))
|
| - return dart.notNull(Uri._ZERO) <= dart.notNull(char);
|
| - char = 32;
|
| - return dart.notNull(Uri._LOWER_CASE_A) <= dart.notNull(char) && dart.notNull(Uri._LOWER_CASE_F) >= dart.notNull(char);
|
| - }
|
| - static [_hexValue](char) {
|
| - dart.assert(_isHexDigit(char));
|
| - if (dart.notNull(Uri._NINE) >= dart.notNull(char))
|
| - return dart.notNull(char) - dart.notNull(Uri._ZERO);
|
| - char = 32;
|
| - return dart.notNull(char) - (dart.notNull(Uri._LOWER_CASE_A) - 10);
|
| - }
|
| - static [_normalizeEscape](source, index, lowerCase) {
|
| - dart.assert(source.codeUnitAt(index) === Uri._PERCENT);
|
| - if (dart.notNull(index) + 2 >= dart.notNull(source.length)) {
|
| - return "%";
|
| - }
|
| - let firstDigit = source.codeUnitAt(dart.notNull(index) + 1);
|
| - let secondDigit = source.codeUnitAt(dart.notNull(index) + 2);
|
| - if (!dart.notNull(_isHexDigit(firstDigit)) || !dart.notNull(_isHexDigit(secondDigit))) {
|
| - return "%";
|
| - }
|
| - let value = dart.notNull(_hexValue(firstDigit)) * 16 + dart.notNull(_hexValue(secondDigit));
|
| - if (_isUnreservedChar(value)) {
|
| - if (dart.notNull(lowerCase) && dart.notNull(Uri._UPPER_CASE_A) <= dart.notNull(value) && dart.notNull(Uri._UPPER_CASE_Z) >= dart.notNull(value)) {
|
| - value = 32;
|
| - }
|
| - return new String.fromCharCode(value);
|
| - }
|
| - if (dart.notNull(firstDigit) >= dart.notNull(Uri._LOWER_CASE_A) || dart.notNull(secondDigit) >= dart.notNull(Uri._LOWER_CASE_A)) {
|
| - return source.substring(index, dart.notNull(index) + 3).toUpperCase();
|
| - }
|
| - return null;
|
| - }
|
| - static [_isUnreservedChar](ch) {
|
| - return dart.notNull(ch) < 127 && dart.notNull(!dart.equals(dart.dbinary(Uri._unreservedTable.get(dart.notNull(ch) >> 4), '&', 1 << (dart.notNull(ch) & 15)), 0));
|
| - }
|
| - static [_escapeChar](char) {
|
| - dart.assert(dart.dbinary(char, '<=', 1114111));
|
| - let hexDigits = "0123456789ABCDEF";
|
| - let codeUnits = null;
|
| - if (dart.dbinary(char, '<', 128)) {
|
| - codeUnits = new List(3);
|
| - codeUnits.set(0, Uri._PERCENT);
|
| - codeUnits.set(1, hexDigits.codeUnitAt(dart.as(dart.dbinary(char, '>>', 4), int)));
|
| - codeUnits.set(2, hexDigits.codeUnitAt(dart.as(dart.dbinary(char, '&', 15), int)));
|
| - } else {
|
| - let flag = 192;
|
| - let encodedBytes = 2;
|
| - if (dart.dbinary(char, '>', 2047)) {
|
| - flag = 224;
|
| - encodedBytes = 3;
|
| - if (dart.dbinary(char, '>', 65535)) {
|
| - encodedBytes = 4;
|
| - flag = 240;
|
| - }
|
| - }
|
| - codeUnits = new List(3 * dart.notNull(encodedBytes));
|
| - let index = 0;
|
| - while ((encodedBytes = dart.notNull(encodedBytes) - 1) >= 0) {
|
| - let byte = dart.as(dart.dbinary(dart.dbinary(dart.dbinary(char, '>>', 6 * dart.notNull(encodedBytes)), '&', 63), '|', flag), int);
|
| - codeUnits.set(index, Uri._PERCENT);
|
| - codeUnits.set(dart.notNull(index) + 1, hexDigits.codeUnitAt(dart.notNull(byte) >> 4));
|
| - codeUnits.set(dart.notNull(index) + 2, hexDigits.codeUnitAt(dart.notNull(byte) & 15));
|
| - index = 3;
|
| - flag = 128;
|
| - }
|
| - }
|
| - return new String.fromCharCodes(dart.as(codeUnits, Iterable$(int)));
|
| - }
|
| - static [_normalize](component, start, end, charTable) {
|
| - let buffer = null;
|
| - let sectionStart = start;
|
| - let index = start;
|
| - while (dart.notNull(index) < dart.notNull(end)) {
|
| - let char = component.codeUnitAt(index);
|
| - if (dart.notNull(char) < 127 && (dart.notNull(charTable.get(dart.notNull(char) >> 4)) & 1 << (dart.notNull(char) & 15)) !== 0) {
|
| - index = dart.notNull(index) + 1;
|
| - } else {
|
| - let replacement = null;
|
| - let sourceLength = null;
|
| - if (char === Uri._PERCENT) {
|
| - replacement = _normalizeEscape(component, index, false);
|
| - if (replacement === null) {
|
| - index = 3;
|
| - continue;
|
| - }
|
| - if (dart.equals("%", replacement)) {
|
| - replacement = "%25";
|
| - sourceLength = 1;
|
| - } else {
|
| - sourceLength = 3;
|
| - }
|
| - } else if (_isGeneralDelimiter(char)) {
|
| - _fail(component, index, "Invalid character");
|
| - } else {
|
| - sourceLength = 1;
|
| - if ((dart.notNull(char) & 64512) === 55296) {
|
| - if (dart.notNull(index) + 1 < dart.notNull(end)) {
|
| - let tail = component.codeUnitAt(dart.notNull(index) + 1);
|
| - if ((dart.notNull(tail) & 64512) === 56320) {
|
| - sourceLength = 2;
|
| - char = 65536 | (dart.notNull(char) & 1023) << 10 | dart.notNull(tail) & 1023;
|
| - }
|
| - }
|
| - }
|
| - replacement = _escapeChar(char);
|
| - }
|
| - if (buffer === null)
|
| - buffer = new StringBuffer();
|
| - buffer.write(component.substring(sectionStart, index));
|
| - buffer.write(replacement);
|
| - index = sourceLength;
|
| - sectionStart = index;
|
| - }
|
| - }
|
| - if (buffer === null) {
|
| - return component.substring(start, end);
|
| - }
|
| - if (dart.notNull(sectionStart) < dart.notNull(end)) {
|
| - buffer.write(component.substring(sectionStart, end));
|
| - }
|
| - return buffer.toString();
|
| - }
|
| - static [_isSchemeCharacter](ch) {
|
| - return dart.notNull(ch) < 128 && dart.notNull(!dart.equals(dart.dbinary(Uri._schemeTable.get(dart.notNull(ch) >> 4), '&', 1 << (dart.notNull(ch) & 15)), 0));
|
| - }
|
| - static [_isGeneralDelimiter](ch) {
|
| - return dart.notNull(ch) <= dart.notNull(Uri._RIGHT_BRACKET) && dart.notNull(!dart.equals(dart.dbinary(Uri._genDelimitersTable.get(dart.notNull(ch) >> 4), '&', 1 << (dart.notNull(ch) & 15)), 0));
|
| - }
|
| - get isAbsolute() {
|
| - return dart.notNull(!dart.equals(this.scheme, "")) && dart.notNull(dart.equals(this.fragment, ""));
|
| - }
|
| - [_merge](base, reference) {
|
| - if (base.isEmpty)
|
| - return `/${reference}`;
|
| - let backCount = 0;
|
| - let refStart = 0;
|
| - while (reference.startsWith("../", refStart)) {
|
| - refStart = 3;
|
| - backCount = dart.notNull(backCount) + 1;
|
| - }
|
| - let baseEnd = base.lastIndexOf('/');
|
| - while (dart.notNull(baseEnd) > 0 && dart.notNull(backCount) > 0) {
|
| - let newEnd = base.lastIndexOf('/', dart.notNull(baseEnd) - 1);
|
| - if (dart.notNull(newEnd) < 0) {
|
| - break;
|
| - }
|
| - let delta = dart.notNull(baseEnd) - dart.notNull(newEnd);
|
| - if ((delta === 2 || delta === 3) && base.codeUnitAt(dart.notNull(newEnd) + 1) === Uri._DOT && (delta === 2 || base.codeUnitAt(dart.notNull(newEnd) + 2) === Uri._DOT)) {
|
| - break;
|
| - }
|
| - baseEnd = newEnd;
|
| - backCount = dart.notNull(backCount) - 1;
|
| - }
|
| - return String['+'](base.substring(0, dart.notNull(baseEnd) + 1), reference.substring(dart.notNull(refStart) - 3 * dart.notNull(backCount)));
|
| - }
|
| - [_hasDotSegments](path) {
|
| - if (dart.notNull(path.length) > 0 && path.codeUnitAt(0) === Uri._DOT)
|
| - return true;
|
| - let index = path.indexOf("/.");
|
| - return index !== -1;
|
| - }
|
| - [_removeDotSegments](path) {
|
| - if (!dart.notNull(this[_hasDotSegments](path)))
|
| - return path;
|
| - let output = dart.as(new List.from([]), List$(String));
|
| - let appendSlash = false;
|
| - for (let segment of path.split("/")) {
|
| - appendSlash = false;
|
| - if (dart.equals(segment, "..")) {
|
| - if (!dart.notNull(output.isEmpty) && (output.length !== 1 || dart.notNull(!dart.equals(output.get(0), ""))))
|
| - output.removeLast();
|
| - appendSlash = true;
|
| - } else if (dart.equals(".", segment)) {
|
| - appendSlash = true;
|
| - } else {
|
| - output.add(segment);
|
| - }
|
| - }
|
| - if (appendSlash)
|
| - output.add("");
|
| - return output.join("/");
|
| - }
|
| - resolve(reference) {
|
| - return this.resolveUri(Uri.parse(reference));
|
| - }
|
| - resolveUri(reference) {
|
| - let targetScheme = null;
|
| - let targetUserInfo = "";
|
| - let targetHost = null;
|
| - let targetPort = null;
|
| - let targetPath = null;
|
| - let targetQuery = null;
|
| - if (reference.scheme.isNotEmpty) {
|
| - targetScheme = reference.scheme;
|
| - if (reference.hasAuthority) {
|
| - targetUserInfo = reference.userInfo;
|
| - targetHost = reference.host;
|
| - targetPort = reference.hasPort ? reference.port : null;
|
| - }
|
| - targetPath = this[_removeDotSegments](reference.path);
|
| - if (reference.hasQuery) {
|
| - targetQuery = reference.query;
|
| - }
|
| - } else {
|
| - targetScheme = this.scheme;
|
| - if (reference.hasAuthority) {
|
| - targetUserInfo = reference.userInfo;
|
| - targetHost = reference.host;
|
| - targetPort = _makePort(reference.hasPort ? reference.port : null, targetScheme);
|
| - targetPath = this[_removeDotSegments](reference.path);
|
| - if (reference.hasQuery)
|
| - targetQuery = reference.query;
|
| - } else {
|
| - if (dart.equals(reference.path, "")) {
|
| - targetPath = this[_path];
|
| - if (reference.hasQuery) {
|
| - targetQuery = reference.query;
|
| - } else {
|
| - targetQuery = this[_query];
|
| - }
|
| - } else {
|
| - if (reference.path.startsWith("/")) {
|
| - targetPath = this[_removeDotSegments](reference.path);
|
| - } else {
|
| - targetPath = this[_removeDotSegments](this[_merge](this[_path], reference.path));
|
| - }
|
| - if (reference.hasQuery)
|
| - targetQuery = reference.query;
|
| - }
|
| - targetUserInfo = this[_userInfo];
|
| - targetHost = this[_host];
|
| - targetPort = this[_port];
|
| - }
|
| - }
|
| - let fragment = reference.hasFragment ? reference.fragment : null;
|
| - return new Uri._internal(targetScheme, targetUserInfo, targetHost, targetPort, targetPath, targetQuery, fragment);
|
| - }
|
| - get hasAuthority() {
|
| - return this[_host] !== null;
|
| - }
|
| - get hasPort() {
|
| - return this[_port] !== null;
|
| - }
|
| - get hasQuery() {
|
| - return this[_query] !== null;
|
| - }
|
| - get hasFragment() {
|
| - return this[_fragment] !== null;
|
| - }
|
| - get origin() {
|
| - if (dart.notNull(dart.equals(this.scheme, "")) || dart.notNull(this[_host] === null) || dart.notNull(dart.equals(this[_host], ""))) {
|
| - throw new StateError(`Cannot use origin without a scheme: ${this}`);
|
| - }
|
| - if (dart.notNull(!dart.equals(this.scheme, "http")) && dart.notNull(!dart.equals(this.scheme, "https"))) {
|
| - throw new StateError(`Origin is only applicable schemes http and https: ${this}`);
|
| - }
|
| - if (this[_port] === null)
|
| - return `${this.scheme}://${this[_host]}`;
|
| - return `${this.scheme}://${this[_host]}:${this[_port]}`;
|
| - }
|
| - toFilePath(opt$) {
|
| - let windows = opt$.windows === void 0 ? null : opt$.windows;
|
| - if (dart.notNull(!dart.equals(this.scheme, "")) && dart.notNull(!dart.equals(this.scheme, "file"))) {
|
| - throw new UnsupportedError(`Cannot extract a file path from a ${this.scheme} URI`);
|
| - }
|
| - if (!dart.equals(this.query, "")) {
|
| - throw new UnsupportedError("Cannot extract a file path from a URI with a query component");
|
| - }
|
| - if (!dart.equals(this.fragment, "")) {
|
| - throw new UnsupportedError("Cannot extract a file path from a URI with a fragment component");
|
| - }
|
| - if (windows === null)
|
| - windows = _isWindows;
|
| - return windows ? this[_toWindowsFilePath]() : this[_toFilePath]();
|
| - }
|
| - [_toFilePath]() {
|
| - if (!dart.equals(this.host, "")) {
|
| - throw new UnsupportedError("Cannot extract a non-Windows file path from a file URI " + "with an authority");
|
| - }
|
| - _checkNonWindowsPathReservedCharacters(this.pathSegments, false);
|
| - let result = new StringBuffer();
|
| - if (this[_isPathAbsolute])
|
| - result.write("/");
|
| - result.writeAll(this.pathSegments, "/");
|
| - return result.toString();
|
| - }
|
| - [_toWindowsFilePath]() {
|
| - let hasDriveLetter = false;
|
| - let segments = this.pathSegments;
|
| - if (dart.notNull(segments.length) > 0 && segments.get(0).length === 2 && segments.get(0).codeUnitAt(1) === Uri._COLON) {
|
| - _checkWindowsDriveLetter(segments.get(0).codeUnitAt(0), false);
|
| - _checkWindowsPathReservedCharacters(segments, false, 1);
|
| - hasDriveLetter = true;
|
| - } else {
|
| - _checkWindowsPathReservedCharacters(segments, false);
|
| - }
|
| - let result = new StringBuffer();
|
| - if (dart.notNull(this[_isPathAbsolute]) && !dart.notNull(hasDriveLetter))
|
| - result.write("\\");
|
| - if (!dart.equals(this.host, "")) {
|
| - result.write("\\");
|
| - result.write(this.host);
|
| - result.write("\\");
|
| - }
|
| - result.writeAll(segments, "\\");
|
| - if (dart.notNull(hasDriveLetter) && segments.length === 1)
|
| - result.write("\\");
|
| - return result.toString();
|
| - }
|
| - get [_isPathAbsolute]() {
|
| - if (dart.notNull(this.path === null) || dart.notNull(this.path.isEmpty))
|
| - return false;
|
| - return this.path.startsWith('/');
|
| - }
|
| - [_writeAuthority](ss) {
|
| - if (this[_userInfo].isNotEmpty) {
|
| - ss.write(this[_userInfo]);
|
| - ss.write("@");
|
| - }
|
| - if (this[_host] !== null)
|
| - ss.write(this[_host]);
|
| - if (this[_port] !== null) {
|
| - ss.write(":");
|
| - ss.write(this[_port]);
|
| - }
|
| - }
|
| - toString() {
|
| - let sb = new StringBuffer();
|
| - _addIfNonEmpty(sb, this.scheme, this.scheme, ':');
|
| - if (dart.notNull(this.hasAuthority) || dart.notNull(this.path.startsWith("//")) || dart.notNull(dart.equals(this.scheme, "file"))) {
|
| - sb.write("//");
|
| - this[_writeAuthority](sb);
|
| - }
|
| - sb.write(this.path);
|
| - if (this[_query] !== null) {
|
| - sb.write("?");
|
| - sb.write(this[_query]);
|
| - }
|
| - if (this[_fragment] !== null) {
|
| - sb.write("#");
|
| - sb.write(this[_fragment]);
|
| - }
|
| - return sb.toString();
|
| - }
|
| - ['=='](other) {
|
| - if (!dart.is(other, Uri))
|
| - return false;
|
| - let uri = dart.as(other, Uri);
|
| - return dart.notNull(dart.equals(this.scheme, uri.scheme)) && this.hasAuthority === uri.hasAuthority && dart.notNull(dart.equals(this.userInfo, uri.userInfo)) && dart.notNull(dart.equals(this.host, uri.host)) && this.port === uri.port && dart.notNull(dart.equals(this.path, uri.path)) && this.hasQuery === uri.hasQuery && dart.notNull(dart.equals(this.query, uri.query)) && this.hasFragment === uri.hasFragment && dart.notNull(dart.equals(this.fragment, uri.fragment));
|
| - }
|
| - get hashCode() {
|
| - // Function combine: (dynamic, dynamic) → int
|
| - function combine(part, current) {
|
| - return dart.as(dart.dbinary(dart.dbinary(dart.dbinary(current, '*', 31), '+', dart.dload(part, 'hashCode')), '&', 1073741823), int);
|
| - }
|
| - return combine(this.scheme, combine(this.userInfo, combine(this.host, combine(this.port, combine(this.path, combine(this.query, combine(this.fragment, 1)))))));
|
| - }
|
| - static [_addIfNonEmpty](sb, test, first, second) {
|
| - if (!dart.equals("", test)) {
|
| - sb.write(first);
|
| - sb.write(second);
|
| - }
|
| - }
|
| - static encodeComponent(component) {
|
| - return _uriEncode(dart.as(Uri._unreserved2396Table, List$(int)), component);
|
| - }
|
| - static encodeQueryComponent(component, opt$) {
|
| - let encoding = opt$.encoding === void 0 ? convert.UTF8 : opt$.encoding;
|
| - return _uriEncode(dart.as(Uri._unreservedTable, List$(int)), component, {encoding: encoding, spaceToPlus: true});
|
| - }
|
| - static decodeComponent(encodedComponent) {
|
| - return _uriDecode(encodedComponent);
|
| - }
|
| - static decodeQueryComponent(encodedComponent, opt$) {
|
| - let encoding = opt$.encoding === void 0 ? convert.UTF8 : opt$.encoding;
|
| - return _uriDecode(encodedComponent, {plusToSpace: true, encoding: encoding});
|
| - }
|
| - static encodeFull(uri) {
|
| - return _uriEncode(dart.as(Uri._encodeFullTable, List$(int)), uri);
|
| - }
|
| - static decodeFull(uri) {
|
| - return _uriDecode(uri);
|
| - }
|
| - static splitQueryString(query, opt$) {
|
| - let encoding = opt$.encoding === void 0 ? convert.UTF8 : opt$.encoding;
|
| - return dart.as(query.split("&").fold(dart.map(), dart.closureWrap((map, element) => {
|
| - let index = dart.as(dart.dinvoke(element, 'indexOf', "="), int);
|
| - if (index === -1) {
|
| - if (!dart.equals(element, "")) {
|
| - dart.dsetindex(map, decodeQueryComponent(dart.as(element, String), {encoding: encoding}), "");
|
| - }
|
| - } else if (index !== 0) {
|
| - let key = dart.dinvoke(element, 'substring', 0, index);
|
| - let value = dart.dinvoke(element, 'substring', dart.notNull(index) + 1);
|
| - dart.dsetindex(map, Uri.decodeQueryComponent(dart.as(key, String), {encoding: encoding}), decodeQueryComponent(dart.as(value, String), {encoding: encoding}));
|
| - }
|
| - return map;
|
| - }, "(dynamic, String) → dynamic")), Map$(String, String));
|
| - }
|
| - static parseIPv4Address(host) {
|
| - // Function error: (String) → void
|
| - function error(msg) {
|
| - throw new FormatException(`Illegal IPv4 address, ${msg}`);
|
| - }
|
| - let bytes = host.split('.');
|
| - if (bytes.length !== 4) {
|
| - error('IPv4 address should contain exactly 4 parts');
|
| - }
|
| - return dart.as(bytes.map(dart.closureWrap((byteString) => {
|
| - let byte = int.parse(dart.as(byteString, String));
|
| - if (dart.notNull(byte) < 0 || dart.notNull(byte) > 255) {
|
| - error('each part must be in the range of `0..255`');
|
| - }
|
| - return byte;
|
| - }, "(String) → dynamic")).toList(), List$(int));
|
| - }
|
| - static parseIPv6Address(host, start, end) {
|
| - if (start === void 0)
|
| - start = 0;
|
| - if (end === void 0)
|
| - end = null;
|
| - if (end === null)
|
| - end = host.length;
|
| - // Function error: (String, [dynamic]) → void
|
| - function error(msg, position) {
|
| - if (position === void 0)
|
| - position = null;
|
| - throw new FormatException(`Illegal IPv6 address, ${msg}`, host, dart.as(position, int));
|
| - }
|
| - // Function parseHex: (int, int) → int
|
| - function parseHex(start, end) {
|
| - if (dart.notNull(end) - dart.notNull(start) > 4) {
|
| - error('an IPv6 part can only contain a maximum of 4 hex digits', start);
|
| - }
|
| - let value = int.parse(host.substring(start, end), {radix: 16});
|
| - if (dart.notNull(value) < 0 || dart.notNull(value) > (1 << 16) - 1) {
|
| - error('each part must be in the range of `0x0..0xFFFF`', start);
|
| - }
|
| - return value;
|
| - }
|
| - if (dart.notNull(host.length) < 2)
|
| - error('address is too short');
|
| - let parts = dart.as(new List.from([]), List$(int));
|
| - let wildcardSeen = false;
|
| - let partStart = start;
|
| - for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull(i) + 1) {
|
| - if (host.codeUnitAt(i) === Uri._COLON) {
|
| - if (i === start) {
|
| - i = dart.notNull(i) + 1;
|
| - if (host.codeUnitAt(i) !== Uri._COLON) {
|
| - error('invalid start colon.', i);
|
| - }
|
| - partStart = i;
|
| - }
|
| - if (i === partStart) {
|
| - if (wildcardSeen) {
|
| - error('only one wildcard `::` is allowed', i);
|
| - }
|
| - wildcardSeen = true;
|
| - parts.add(-1);
|
| - } else {
|
| - parts.add(parseHex(partStart, i));
|
| - }
|
| - partStart = dart.notNull(i) + 1;
|
| - }
|
| - }
|
| - if (parts.length === 0)
|
| - error('too few parts');
|
| - let atEnd = partStart === end;
|
| - let isLastWildcard = parts.last === -1;
|
| - if (dart.notNull(atEnd) && !dart.notNull(isLastWildcard)) {
|
| - error('expected a part after last `:`', end);
|
| - }
|
| - if (!dart.notNull(atEnd)) {
|
| - try {
|
| - parts.add(parseHex(partStart, end));
|
| - } catch (e) {
|
| - try {
|
| - let last = parseIPv4Address(host.substring(partStart, end));
|
| - parts.add(dart.notNull(last.get(0)) << 8 | dart.notNull(last.get(1)));
|
| - parts.add(dart.notNull(last.get(2)) << 8 | dart.notNull(last.get(3)));
|
| - } catch (e) {
|
| - error('invalid end of IPv6 address.', partStart);
|
| - }
|
| -
|
| - }
|
| -
|
| - }
|
| - if (wildcardSeen) {
|
| - if (dart.notNull(parts.length) > 7) {
|
| - error('an address with a wildcard must have less than 7 parts');
|
| - }
|
| - } else if (parts.length !== 8) {
|
| - error('an address without a wildcard must contain exactly 8 parts');
|
| - }
|
| - let bytes = new List(16);
|
| - for (let i = 0, index = 0; dart.notNull(i) < dart.notNull(parts.length); i = dart.notNull(i) + 1) {
|
| - let value = parts.get(i);
|
| - if (value === -1) {
|
| - let wildCardLength = 9 - dart.notNull(parts.length);
|
| - for (let j = 0; dart.notNull(j) < dart.notNull(wildCardLength); j = dart.notNull(j) + 1) {
|
| - bytes.set(index, 0);
|
| - bytes.set(dart.notNull(index) + 1, 0);
|
| - index = 2;
|
| - }
|
| - } else {
|
| - bytes.set(index, dart.notNull(value) >> 8);
|
| - bytes.set(dart.notNull(index) + 1, dart.notNull(value) & 255);
|
| - index = 2;
|
| - }
|
| - }
|
| - return dart.as(bytes, List$(int));
|
| - }
|
| - static [_uriEncode](canonicalTable, text, opt$) {
|
| - let encoding = opt$.encoding === void 0 ? convert.UTF8 : opt$.encoding;
|
| - let spaceToPlus = opt$.spaceToPlus === void 0 ? false : opt$.spaceToPlus;
|
| - // Function byteToHex: (dynamic, dynamic) → dynamic
|
| - function byteToHex(byte, buffer) {
|
| - let hex = '0123456789ABCDEF';
|
| - dart.dinvoke(buffer, 'writeCharCode', hex.codeUnitAt(dart.as(dart.dbinary(byte, '>>', 4), int)));
|
| - dart.dinvoke(buffer, 'writeCharCode', hex.codeUnitAt(dart.as(dart.dbinary(byte, '&', 15), int)));
|
| - }
|
| - let result = new StringBuffer();
|
| - let bytes = encoding.encode(text);
|
| - for (let i = 0; dart.notNull(i) < dart.notNull(bytes.length); i = dart.notNull(i) + 1) {
|
| - let byte = bytes.get(i);
|
| - if (dart.notNull(byte) < 128 && (dart.notNull(canonicalTable.get(dart.notNull(byte) >> 4)) & 1 << (dart.notNull(byte) & 15)) !== 0) {
|
| - result.writeCharCode(byte);
|
| - } else if (dart.notNull(spaceToPlus) && byte === Uri._SPACE) {
|
| - result.writeCharCode(Uri._PLUS);
|
| - } else {
|
| - result.writeCharCode(Uri._PERCENT);
|
| - byteToHex(byte, result);
|
| - }
|
| - }
|
| - return result.toString();
|
| - }
|
| - static [_hexCharPairToByte](s, pos) {
|
| - let byte = 0;
|
| - for (let i = 0; dart.notNull(i) < 2; i = dart.notNull(i) + 1) {
|
| - let charCode = s.codeUnitAt(dart.notNull(pos) + dart.notNull(i));
|
| - if (48 <= dart.notNull(charCode) && dart.notNull(charCode) <= 57) {
|
| - byte = dart.notNull(byte) * 16 + dart.notNull(charCode) - 48;
|
| - } else {
|
| - charCode = 32;
|
| - if (97 <= dart.notNull(charCode) && dart.notNull(charCode) <= 102) {
|
| - byte = dart.notNull(byte) * 16 + dart.notNull(charCode) - 87;
|
| - } else {
|
| - throw new ArgumentError("Invalid URL encoding");
|
| - }
|
| - }
|
| - }
|
| - return byte;
|
| - }
|
| - static [_uriDecode](text, opt$) {
|
| - let plusToSpace = opt$.plusToSpace === void 0 ? false : opt$.plusToSpace;
|
| - let encoding = opt$.encoding === void 0 ? convert.UTF8 : opt$.encoding;
|
| - let simple = true;
|
| - for (let i = 0; dart.notNull(i) < dart.notNull(text.length) && dart.notNull(simple); i = dart.notNull(i) + 1) {
|
| - let codeUnit = text.codeUnitAt(i);
|
| - simple = codeUnit !== Uri._PERCENT && codeUnit !== Uri._PLUS;
|
| - }
|
| - let bytes = null;
|
| - if (simple) {
|
| - if (dart.notNull(dart.equals(encoding, convert.UTF8)) || dart.notNull(dart.equals(encoding, convert.LATIN1))) {
|
| - return text;
|
| - } else {
|
| - bytes = text.codeUnits;
|
| - }
|
| - } else {
|
| - bytes = dart.as(new List(), List$(int));
|
| - for (let i = 0; dart.notNull(i) < dart.notNull(text.length); i = dart.notNull(i) + 1) {
|
| - let codeUnit = text.codeUnitAt(i);
|
| - if (dart.notNull(codeUnit) > 127) {
|
| - throw new ArgumentError("Illegal percent encoding in URI");
|
| - }
|
| - if (codeUnit === Uri._PERCENT) {
|
| - if (dart.notNull(i) + 3 > dart.notNull(text.length)) {
|
| - throw new ArgumentError('Truncated URI');
|
| - }
|
| - bytes.add(_hexCharPairToByte(text, dart.notNull(i) + 1));
|
| - i = 2;
|
| - } else if (dart.notNull(plusToSpace) && codeUnit === Uri._PLUS) {
|
| - bytes.add(Uri._SPACE);
|
| - } else {
|
| - bytes.add(codeUnit);
|
| - }
|
| - }
|
| - }
|
| - return encoding.decode(bytes);
|
| - }
|
| - static [_isAlphabeticCharacter](codeUnit) {
|
| - return dart.notNull(codeUnit) >= dart.notNull(Uri._LOWER_CASE_A) && dart.notNull(codeUnit) <= dart.notNull(Uri._LOWER_CASE_Z) || dart.notNull(codeUnit) >= dart.notNull(Uri._UPPER_CASE_A) && dart.notNull(codeUnit) <= dart.notNull(Uri._UPPER_CASE_Z);
|
| - }
|
| - }
|
| - dart.defineNamedConstructor(Uri, '_internal');
|
| - dart.defineNamedConstructor(Uri, 'http');
|
| - dart.defineNamedConstructor(Uri, 'https');
|
| - dart.defineNamedConstructor(Uri, 'file');
|
| - Uri._SPACE = 32;
|
| - Uri._DOUBLE_QUOTE = 34;
|
| - Uri._NUMBER_SIGN = 35;
|
| - Uri._PERCENT = 37;
|
| - Uri._ASTERISK = 42;
|
| - Uri._PLUS = 43;
|
| - Uri._DOT = 46;
|
| - Uri._SLASH = 47;
|
| - Uri._ZERO = 48;
|
| - Uri._NINE = 57;
|
| - Uri._COLON = 58;
|
| - Uri._LESS = 60;
|
| - Uri._GREATER = 62;
|
| - Uri._QUESTION = 63;
|
| - Uri._AT_SIGN = 64;
|
| - Uri._UPPER_CASE_A = 65;
|
| - Uri._UPPER_CASE_F = 70;
|
| - Uri._UPPER_CASE_Z = 90;
|
| - Uri._LEFT_BRACKET = 91;
|
| - Uri._BACKSLASH = 92;
|
| - Uri._RIGHT_BRACKET = 93;
|
| - Uri._LOWER_CASE_A = 97;
|
| - Uri._LOWER_CASE_F = 102;
|
| - Uri._LOWER_CASE_Z = 122;
|
| - Uri._BAR = 124;
|
| - Uri._unreservedTable = /* Unimplemented const */new List.from([0, 0, 24576, 1023, 65534, 34815, 65534, 18431]);
|
| - Uri._unreserved2396Table = /* Unimplemented const */new List.from([0, 0, 26498, 1023, 65534, 34815, 65534, 18431]);
|
| - Uri._encodeFullTable = /* Unimplemented const */new List.from([0, 0, 65498, 45055, 65535, 34815, 65534, 18431]);
|
| - Uri._schemeTable = /* Unimplemented const */new List.from([0, 0, 26624, 1023, 65534, 2047, 65534, 2047]);
|
| - Uri._schemeLowerTable = /* Unimplemented const */new List.from([0, 0, 26624, 1023, 0, 0, 65534, 2047]);
|
| - Uri._subDelimitersTable = /* Unimplemented const */new List.from([0, 0, 32722, 11263, 65534, 34815, 65534, 18431]);
|
| - Uri._genDelimitersTable = /* Unimplemented const */new List.from([0, 0, 32776, 33792, 1, 10240, 0, 0]);
|
| - Uri._userinfoTable = /* Unimplemented const */new List.from([0, 0, 32722, 12287, 65534, 34815, 65534, 18431]);
|
| - Uri._regNameTable = /* Unimplemented const */new List.from([0, 0, 32754, 11263, 65534, 34815, 65534, 18431]);
|
| - Uri._pathCharTable = /* Unimplemented const */new List.from([0, 0, 32722, 12287, 65535, 34815, 65534, 18431]);
|
| - Uri._pathCharOrSlashTable = /* Unimplemented const */new List.from([0, 0, 65490, 12287, 65535, 34815, 65534, 18431]);
|
| - Uri._queryCharTable = /* Unimplemented const */new List.from([0, 0, 65490, 45055, 65535, 34815, 65534, 18431]);
|
| - // Function _symbolToString: (Symbol) → String
|
| - function _symbolToString(symbol) {
|
| - return _internal.Symbol.getName(dart.as(symbol, _internal.Symbol));
|
| - }
|
| - // Function _symbolMapToStringMap: (Map<Symbol, dynamic>) → dynamic
|
| - function _symbolMapToStringMap(map) {
|
| - if (map === null)
|
| - return null;
|
| - let result = new Map();
|
| - map.forEach((key, value) => {
|
| - result.set(_symbolToString(key), value);
|
| - });
|
| - return result;
|
| - }
|
| - dart.defineLazyClass(exports, {
|
| - get _ListConstructorSentinel() {
|
| - class _ListConstructorSentinel extends _interceptors.JSInt {
|
| - _ListConstructorSentinel() {
|
| - super.JSInt();
|
| - }
|
| - }
|
| - return _ListConstructorSentinel;
|
| - }
|
| - });
|
| - // Exports:
|
| - exports.Deprecated = Deprecated;
|
| - exports.Object = Object;
|
| - exports.deprecated = deprecated;
|
| - exports.override = override;
|
| - exports.proxy = proxy;
|
| - exports.bool = bool;
|
| - exports.Comparable = Comparable;
|
| - exports.Comparable$ = Comparable$;
|
| - exports.DateTime = DateTime;
|
| - exports.double = double;
|
| - exports.num = num;
|
| - exports.Duration = Duration;
|
| - exports.Error = Error;
|
| - exports.AssertionError = AssertionError;
|
| - exports.TypeError = TypeError;
|
| - exports.CastError = CastError;
|
| - exports.NullThrownError = NullThrownError;
|
| - exports.ArgumentError = ArgumentError;
|
| - exports.RangeError = RangeError;
|
| - exports.IndexError = IndexError;
|
| - exports.FallThroughError = FallThroughError;
|
| - exports.AbstractClassInstantiationError = AbstractClassInstantiationError;
|
| - exports.NoSuchMethodError = NoSuchMethodError;
|
| - exports.UnsupportedError = UnsupportedError;
|
| - exports.UnimplementedError = UnimplementedError;
|
| - exports.StateError = StateError;
|
| - exports.ConcurrentModificationError = ConcurrentModificationError;
|
| - exports.OutOfMemoryError = OutOfMemoryError;
|
| - exports.StackOverflowError = StackOverflowError;
|
| - exports.CyclicInitializationError = CyclicInitializationError;
|
| - exports.Exception = Exception;
|
| - exports.FormatException = FormatException;
|
| - exports.IntegerDivisionByZeroException = IntegerDivisionByZeroException;
|
| - exports.Expando = Expando;
|
| - exports.Expando$ = Expando$;
|
| - exports.Function = Function;
|
| - exports.identical = identical;
|
| - exports.identityHashCode = identityHashCode;
|
| - exports.int = int;
|
| - exports.Invocation = Invocation;
|
| - exports.Iterable = Iterable;
|
| - exports.Iterable$ = Iterable$;
|
| - exports.BidirectionalIterator = BidirectionalIterator;
|
| - exports.BidirectionalIterator$ = BidirectionalIterator$;
|
| - exports.Iterator = Iterator;
|
| - exports.Iterator$ = Iterator$;
|
| - exports.List = List;
|
| - exports.List$ = List$;
|
| - exports.Map = Map;
|
| - exports.Map$ = Map$;
|
| - exports.Null = Null;
|
| - exports.Pattern = Pattern;
|
| - exports.print = print;
|
| - exports.Match = Match;
|
| - exports.RegExp = RegExp;
|
| - exports.Set = Set;
|
| - exports.Set$ = Set$;
|
| - exports.Sink = Sink;
|
| - exports.Sink$ = Sink$;
|
| - exports.StackTrace = StackTrace;
|
| - exports.Stopwatch = Stopwatch;
|
| - exports.String = String;
|
| - exports.Runes = Runes;
|
| - exports.RuneIterator = RuneIterator;
|
| - exports.StringBuffer = StringBuffer;
|
| - exports.StringSink = StringSink;
|
| - exports.Symbol = Symbol;
|
| - exports.Type = Type;
|
| - exports.Uri = Uri;
|
| -})(core || (core = {}));
|
|
|