| OLD | NEW |
| 1 var core; | 1 var core; |
| 2 (function(exports) { | 2 (function(exports) { |
| 3 'use strict'; | 3 'use strict'; |
| 4 class Object { | 4 class Object { |
| 5 constructor() { | 5 constructor() { |
| 6 var name = this.constructor.name; | 6 var name = this.constructor.name; |
| 7 var init = this[name]; | 7 var init = this[name]; |
| 8 var result = void 0; | 8 var result = void 0; |
| 9 if (init) | 9 if (init) |
| 10 result = init.apply(this, arguments); | 10 result = init.apply(this, arguments$); |
| 11 return result === void 0 ? this : result; | 11 return result === void 0 ? this : result; |
| 12 } | 12 } |
| 13 ['=='](other) { | 13 ['=='](other) { |
| 14 return identical(this, other); | 14 return identical(this, other); |
| 15 } | 15 } |
| 16 get hashCode() { | 16 get hashCode() { |
| 17 return _js_helper.Primitives.objectHashCode(this); | 17 return _js_helper.Primitives.objectHashCode(this); |
| 18 } | 18 } |
| 19 toString() { | 19 toString() { |
| 20 return _js_helper.Primitives.objectToString(this); | 20 return _js_helper.Primitives.objectToString(this); |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 57 dart.defineNamedConstructor(bool, 'fromEnvironment'); | 57 dart.defineNamedConstructor(bool, 'fromEnvironment'); |
| 58 let Comparable$ = dart.generic(function(T) { | 58 let Comparable$ = dart.generic(function(T) { |
| 59 class Comparable extends Object { | 59 class Comparable extends Object { |
| 60 static compare(a, b) { | 60 static compare(a, b) { |
| 61 return a.compareTo(b); | 61 return a.compareTo(b); |
| 62 } | 62 } |
| 63 } | 63 } |
| 64 return Comparable; | 64 return Comparable; |
| 65 }); | 65 }); |
| 66 let Comparable = Comparable$(dart.dynamic); | 66 let Comparable = Comparable$(dart.dynamic); |
| 67 let _fourDigits$ = dart.JsSymbol('_fourDigits'); | 67 let _brokenDownDateToMillisecondsSinceEpoch = dart.JsSymbol('_brokenDownDateTo
MillisecondsSinceEpoch'); |
| 68 let _sixDigits$ = dart.JsSymbol('_sixDigits'); | 68 let _MAX_MILLISECONDS_SINCE_EPOCH = dart.JsSymbol('_MAX_MILLISECONDS_SINCE_EPO
CH'); |
| 69 let _threeDigits$ = dart.JsSymbol('_threeDigits'); | 69 let _fourDigits = dart.JsSymbol('_fourDigits'); |
| 70 let _twoDigits$ = dart.JsSymbol('_twoDigits'); | 70 let _sixDigits = dart.JsSymbol('_sixDigits'); |
| 71 let _brokenDownDateToMillisecondsSinceEpoch$ = dart.JsSymbol('_brokenDownDateT
oMillisecondsSinceEpoch'); | 71 let _threeDigits = dart.JsSymbol('_threeDigits'); |
| 72 let _twoDigits = dart.JsSymbol('_twoDigits'); |
| 73 let _internal$ = dart.JsSymbol('_internal'); |
| 74 let _now = dart.JsSymbol('_now'); |
| 72 class DateTime extends Object { | 75 class DateTime extends Object { |
| 73 DateTime(year, month, day, hour, minute, second, millisecond) { | 76 DateTime(year, month, day, hour, minute, second, millisecond) { |
| 74 if (month === void 0) | 77 if (month === void 0) |
| 75 month = 1; | 78 month = 1; |
| 76 if (day === void 0) | 79 if (day === void 0) |
| 77 day = 1; | 80 day = 1; |
| 78 if (hour === void 0) | 81 if (hour === void 0) |
| 79 hour = 0; | 82 hour = 0; |
| 80 if (minute === void 0) | 83 if (minute === void 0) |
| 81 minute = 0; | 84 minute = 0; |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 135 if (match.get(8) !== null) { | 138 if (match.get(8) !== null) { |
| 136 isUtc = true; | 139 isUtc = true; |
| 137 if (match.get(9) !== null) { | 140 if (match.get(9) !== null) { |
| 138 let sign = dart.equals(match.get(9), '-') ? -1 : 1; | 141 let sign = dart.equals(match.get(9), '-') ? -1 : 1; |
| 139 let hourDifference = int.parse(match.get(10)); | 142 let hourDifference = int.parse(match.get(10)); |
| 140 let minuteDifference = parseIntOrZero(match.get(11)); | 143 let minuteDifference = parseIntOrZero(match.get(11)); |
| 141 minuteDifference = 60 * dart.notNull(hourDifference); | 144 minuteDifference = 60 * dart.notNull(hourDifference); |
| 142 minute = dart.notNull(sign) * dart.notNull(minuteDifference); | 145 minute = dart.notNull(sign) * dart.notNull(minuteDifference); |
| 143 } | 146 } |
| 144 } | 147 } |
| 145 let millisecondsSinceEpoch = _brokenDownDateToMillisecondsSinceEpoch(yea
rs, month, day, hour, minute, second, millisecond, isUtc); | 148 let millisecondsSinceEpoch = DateTime[_brokenDownDateToMillisecondsSince
Epoch](years, month, day, hour, minute, second, millisecond, isUtc); |
| 146 if (millisecondsSinceEpoch === null) { | 149 if (millisecondsSinceEpoch === null) { |
| 147 throw new FormatException("Time out of range", formattedString); | 150 throw new FormatException("Time out of range", formattedString); |
| 148 } | 151 } |
| 149 if (addOneMillisecond) | 152 if (addOneMillisecond) |
| 150 millisecondsSinceEpoch = dart.notNull(millisecondsSinceEpoch) + 1; | 153 millisecondsSinceEpoch = dart.notNull(millisecondsSinceEpoch) + 1; |
| 151 return new DateTime.fromMillisecondsSinceEpoch(millisecondsSinceEpoch, {
isUtc: isUtc}); | 154 return new DateTime.fromMillisecondsSinceEpoch(millisecondsSinceEpoch, {
isUtc: isUtc}); |
| 152 } else { | 155 } else { |
| 153 throw new FormatException("Invalid date format", formattedString); | 156 throw new FormatException("Invalid date format", formattedString); |
| 154 } | 157 } |
| 155 } | 158 } |
| 156 DateTime$fromMillisecondsSinceEpoch(millisecondsSinceEpoch, opts) { | 159 DateTime$fromMillisecondsSinceEpoch(millisecondsSinceEpoch, opts) { |
| 157 let isUtc = opts && 'isUtc' in opts ? opts.isUtc : false; | 160 let isUtc = opts && 'isUtc' in opts ? opts.isUtc : false; |
| 158 this.millisecondsSinceEpoch = millisecondsSinceEpoch; | 161 this.millisecondsSinceEpoch = millisecondsSinceEpoch; |
| 159 this.isUtc = isUtc; | 162 this.isUtc = isUtc; |
| 160 if (dart.notNull(millisecondsSinceEpoch.abs()) > dart.notNull(DateTime._MA
X_MILLISECONDS_SINCE_EPOCH)) { | 163 if (dart.notNull(millisecondsSinceEpoch.abs()) > dart.notNull(DateTime[_MA
X_MILLISECONDS_SINCE_EPOCH])) { |
| 161 throw new ArgumentError(millisecondsSinceEpoch); | 164 throw new ArgumentError(millisecondsSinceEpoch); |
| 162 } | 165 } |
| 163 if (isUtc === null) | 166 if (isUtc === null) |
| 164 throw new ArgumentError(isUtc); | 167 throw new ArgumentError(isUtc); |
| 165 } | 168 } |
| 166 ['=='](other) { | 169 ['=='](other) { |
| 167 if (!dart.notNull(dart.is(other, DateTime))) | 170 if (!dart.notNull(dart.is(other, DateTime))) |
| 168 return false; | 171 return false; |
| 169 return this.millisecondsSinceEpoch === dart.dload(other, 'millisecondsSinc
eEpoch') && this.isUtc === dart.dload(other, 'isUtc'); | 172 return this.millisecondsSinceEpoch === dart.dload(other, 'millisecondsSinc
eEpoch') && this.isUtc === dart.dload(other, 'isUtc'); |
| 170 } | 173 } |
| (...skipping 16 matching lines...) Expand all Loading... |
| 187 if (this.isUtc) { | 190 if (this.isUtc) { |
| 188 return new DateTime.fromMillisecondsSinceEpoch(this.millisecondsSinceEpo
ch, {isUtc: false}); | 191 return new DateTime.fromMillisecondsSinceEpoch(this.millisecondsSinceEpo
ch, {isUtc: false}); |
| 189 } | 192 } |
| 190 return this; | 193 return this; |
| 191 } | 194 } |
| 192 toUtc() { | 195 toUtc() { |
| 193 if (this.isUtc) | 196 if (this.isUtc) |
| 194 return this; | 197 return this; |
| 195 return new DateTime.fromMillisecondsSinceEpoch(this.millisecondsSinceEpoch
, {isUtc: true}); | 198 return new DateTime.fromMillisecondsSinceEpoch(this.millisecondsSinceEpoch
, {isUtc: true}); |
| 196 } | 199 } |
| 197 static [_fourDigits$](n) { | 200 static [_fourDigits](n) { |
| 198 let absN = n.abs(); | 201 let absN = n.abs(); |
| 199 let sign = dart.notNull(n) < 0 ? "-" : ""; | 202 let sign = dart.notNull(n) < 0 ? "-" : ""; |
| 200 if (dart.notNull(absN) >= 1000) | 203 if (dart.notNull(absN) >= 1000) |
| 201 return `${n}`; | 204 return `${n}`; |
| 202 if (dart.notNull(absN) >= 100) | 205 if (dart.notNull(absN) >= 100) |
| 203 return `${sign}0${absN}`; | 206 return `${sign}0${absN}`; |
| 204 if (dart.notNull(absN) >= 10) | 207 if (dart.notNull(absN) >= 10) |
| 205 return `${sign}00${absN}`; | 208 return `${sign}00${absN}`; |
| 206 return `${sign}000${absN}`; | 209 return `${sign}000${absN}`; |
| 207 } | 210 } |
| 208 static [_sixDigits$](n) { | 211 static [_sixDigits](n) { |
| 209 dart.assert(dart.notNull(n) < -9999 || dart.notNull(n) > 9999); | 212 dart.assert(dart.notNull(n) < -9999 || dart.notNull(n) > 9999); |
| 210 let absN = n.abs(); | 213 let absN = n.abs(); |
| 211 let sign = dart.notNull(n) < 0 ? "-" : "+"; | 214 let sign = dart.notNull(n) < 0 ? "-" : "+"; |
| 212 if (dart.notNull(absN) >= 100000) | 215 if (dart.notNull(absN) >= 100000) |
| 213 return `${sign}${absN}`; | 216 return `${sign}${absN}`; |
| 214 return `${sign}0${absN}`; | 217 return `${sign}0${absN}`; |
| 215 } | 218 } |
| 216 static [_threeDigits$](n) { | 219 static [_threeDigits](n) { |
| 217 if (dart.notNull(n) >= 100) | 220 if (dart.notNull(n) >= 100) |
| 218 return `${n}`; | 221 return `${n}`; |
| 219 if (dart.notNull(n) >= 10) | 222 if (dart.notNull(n) >= 10) |
| 220 return `0${n}`; | 223 return `0${n}`; |
| 221 return `00${n}`; | 224 return `00${n}`; |
| 222 } | 225 } |
| 223 static [_twoDigits$](n) { | 226 static [_twoDigits](n) { |
| 224 if (dart.notNull(n) >= 10) | 227 if (dart.notNull(n) >= 10) |
| 225 return `${n}`; | 228 return `${n}`; |
| 226 return `0${n}`; | 229 return `0${n}`; |
| 227 } | 230 } |
| 228 toString() { | 231 toString() { |
| 229 let y = _fourDigits(this.year); | 232 let y = DateTime[_fourDigits](this.year); |
| 230 let m = _twoDigits(this.month); | 233 let m = DateTime[_twoDigits](this.month); |
| 231 let d = _twoDigits(this.day); | 234 let d = DateTime[_twoDigits](this.day); |
| 232 let h = _twoDigits(this.hour); | 235 let h = DateTime[_twoDigits](this.hour); |
| 233 let min = _twoDigits(this.minute); | 236 let min = DateTime[_twoDigits](this.minute); |
| 234 let sec = _twoDigits(this.second); | 237 let sec = DateTime[_twoDigits](this.second); |
| 235 let ms = _threeDigits(this.millisecond); | 238 let ms = DateTime[_threeDigits](this.millisecond); |
| 236 if (this.isUtc) { | 239 if (this.isUtc) { |
| 237 return `${y}-${m}-${d} ${h}:${min}:${sec}.${ms}Z`; | 240 return `${y}-${m}-${d} ${h}:${min}:${sec}.${ms}Z`; |
| 238 } else { | 241 } else { |
| 239 return `${y}-${m}-${d} ${h}:${min}:${sec}.${ms}`; | 242 return `${y}-${m}-${d} ${h}:${min}:${sec}.${ms}`; |
| 240 } | 243 } |
| 241 } | 244 } |
| 242 toIso8601String() { | 245 toIso8601String() { |
| 243 let y = dart.notNull(this.year) >= -9999 && dart.notNull(this.year) <= 999
9 ? _fourDigits(this.year) : _sixDigits(this.year); | 246 let y = dart.notNull(this.year) >= -9999 && dart.notNull(this.year) <= 999
9 ? DateTime[_fourDigits](this.year) : DateTime[_sixDigits](this.year); |
| 244 let m = _twoDigits(this.month); | 247 let m = DateTime[_twoDigits](this.month); |
| 245 let d = _twoDigits(this.day); | 248 let d = DateTime[_twoDigits](this.day); |
| 246 let h = _twoDigits(this.hour); | 249 let h = DateTime[_twoDigits](this.hour); |
| 247 let min = _twoDigits(this.minute); | 250 let min = DateTime[_twoDigits](this.minute); |
| 248 let sec = _twoDigits(this.second); | 251 let sec = DateTime[_twoDigits](this.second); |
| 249 let ms = _threeDigits(this.millisecond); | 252 let ms = DateTime[_threeDigits](this.millisecond); |
| 250 if (this.isUtc) { | 253 if (this.isUtc) { |
| 251 return `${y}-${m}-${d}T${h}:${min}:${sec}.${ms}Z`; | 254 return `${y}-${m}-${d}T${h}:${min}:${sec}.${ms}Z`; |
| 252 } else { | 255 } else { |
| 253 return `${y}-${m}-${d}T${h}:${min}:${sec}.${ms}`; | 256 return `${y}-${m}-${d}T${h}:${min}:${sec}.${ms}`; |
| 254 } | 257 } |
| 255 } | 258 } |
| 256 add(duration) { | 259 add(duration) { |
| 257 let ms = this.millisecondsSinceEpoch; | 260 let ms = this.millisecondsSinceEpoch; |
| 258 return new DateTime.fromMillisecondsSinceEpoch(dart.notNull(ms) + dart.not
Null(duration.inMilliseconds), {isUtc: this.isUtc}); | 261 return new DateTime.fromMillisecondsSinceEpoch(dart.notNull(ms) + dart.not
Null(duration.inMilliseconds), {isUtc: this.isUtc}); |
| 259 } | 262 } |
| 260 subtract(duration) { | 263 subtract(duration) { |
| 261 let ms = this.millisecondsSinceEpoch; | 264 let ms = this.millisecondsSinceEpoch; |
| 262 return new DateTime.fromMillisecondsSinceEpoch(dart.notNull(ms) - dart.not
Null(duration.inMilliseconds), {isUtc: this.isUtc}); | 265 return new DateTime.fromMillisecondsSinceEpoch(dart.notNull(ms) - dart.not
Null(duration.inMilliseconds), {isUtc: this.isUtc}); |
| 263 } | 266 } |
| 264 difference(other) { | 267 difference(other) { |
| 265 let ms = this.millisecondsSinceEpoch; | 268 let ms = this.millisecondsSinceEpoch; |
| 266 let otherMs = other.millisecondsSinceEpoch; | 269 let otherMs = other.millisecondsSinceEpoch; |
| 267 return new Duration({milliseconds: dart.notNull(ms) - dart.notNull(otherMs
)}); | 270 return new Duration({milliseconds: dart.notNull(ms) - dart.notNull(otherMs
)}); |
| 268 } | 271 } |
| 269 DateTime$_internal(year, month, day, hour, minute, second, millisecond, isUt
c) { | 272 DateTime$_internal(year, month, day, hour, minute, second, millisecond, isUt
c) { |
| 270 this.isUtc = typeof isUtc == boolean ? isUtc : dart.throw_(new ArgumentErr
or(isUtc)); | 273 this.isUtc = typeof isUtc == boolean ? isUtc : dart.throw_(new ArgumentErr
or(isUtc)); |
| 271 this.millisecondsSinceEpoch = dart.as(_js_helper.checkInt(_js_helper.Primi
tives.valueFromDecomposedDate(year, month, day, hour, minute, second, millisecon
d, isUtc)), int); | 274 this.millisecondsSinceEpoch = dart.as(_js_helper.checkInt(_js_helper.Primi
tives.valueFromDecomposedDate(year, month, day, hour, minute, second, millisecon
d, isUtc)), int); |
| 272 } | 275 } |
| 273 DateTime$_now() { | 276 DateTime$_now() { |
| 274 this.isUtc = false; | 277 this.isUtc = false; |
| 275 this.millisecondsSinceEpoch = _js_helper.Primitives.dateNow(); | 278 this.millisecondsSinceEpoch = _js_helper.Primitives.dateNow(); |
| 276 } | 279 } |
| 277 static [_brokenDownDateToMillisecondsSinceEpoch$](year, month, day, hour, mi
nute, second, millisecond, isUtc) { | 280 static [_brokenDownDateToMillisecondsSinceEpoch](year, month, day, hour, min
ute, second, millisecond, isUtc) { |
| 278 return dart.as(_js_helper.Primitives.valueFromDecomposedDate(year, month,
day, hour, minute, second, millisecond, isUtc), int); | 281 return dart.as(_js_helper.Primitives.valueFromDecomposedDate(year, month,
day, hour, minute, second, millisecond, isUtc), int); |
| 279 } | 282 } |
| 280 get timeZoneName() { | 283 get timeZoneName() { |
| 281 if (this.isUtc) | 284 if (this.isUtc) |
| 282 return "UTC"; | 285 return "UTC"; |
| 283 return _js_helper.Primitives.getTimeZoneName(this); | 286 return _js_helper.Primitives.getTimeZoneName(this); |
| 284 } | 287 } |
| 285 get timeZoneOffset() { | 288 get timeZoneOffset() { |
| 286 if (this.isUtc) | 289 if (this.isUtc) |
| 287 return new Duration(); | 290 return new Duration(); |
| (...skipping 20 matching lines...) Expand all Loading... |
| 308 get millisecond() { | 311 get millisecond() { |
| 309 return dart.as(_js_helper.Primitives.getMilliseconds(this), int); | 312 return dart.as(_js_helper.Primitives.getMilliseconds(this), int); |
| 310 } | 313 } |
| 311 get weekday() { | 314 get weekday() { |
| 312 return dart.as(_js_helper.Primitives.getWeekday(this), int); | 315 return dart.as(_js_helper.Primitives.getWeekday(this), int); |
| 313 } | 316 } |
| 314 } | 317 } |
| 315 dart.defineNamedConstructor(DateTime, 'utc'); | 318 dart.defineNamedConstructor(DateTime, 'utc'); |
| 316 dart.defineNamedConstructor(DateTime, 'now'); | 319 dart.defineNamedConstructor(DateTime, 'now'); |
| 317 dart.defineNamedConstructor(DateTime, 'fromMillisecondsSinceEpoch'); | 320 dart.defineNamedConstructor(DateTime, 'fromMillisecondsSinceEpoch'); |
| 318 dart.defineNamedConstructor(DateTime, '_internal'); | 321 dart.defineNamedConstructor(DateTime, _internal$); |
| 319 dart.defineNamedConstructor(DateTime, '_now'); | 322 dart.defineNamedConstructor(DateTime, _now); |
| 320 DateTime.MONDAY = 1; | 323 DateTime.MONDAY = 1; |
| 321 DateTime.TUESDAY = 2; | 324 DateTime.TUESDAY = 2; |
| 322 DateTime.WEDNESDAY = 3; | 325 DateTime.WEDNESDAY = 3; |
| 323 DateTime.THURSDAY = 4; | 326 DateTime.THURSDAY = 4; |
| 324 DateTime.FRIDAY = 5; | 327 DateTime.FRIDAY = 5; |
| 325 DateTime.SATURDAY = 6; | 328 DateTime.SATURDAY = 6; |
| 326 DateTime.SUNDAY = 7; | 329 DateTime.SUNDAY = 7; |
| 327 DateTime.DAYS_PER_WEEK = 7; | 330 DateTime.DAYS_PER_WEEK = 7; |
| 328 DateTime.JANUARY = 1; | 331 DateTime.JANUARY = 1; |
| 329 DateTime.FEBRUARY = 2; | 332 DateTime.FEBRUARY = 2; |
| 330 DateTime.MARCH = 3; | 333 DateTime.MARCH = 3; |
| 331 DateTime.APRIL = 4; | 334 DateTime.APRIL = 4; |
| 332 DateTime.MAY = 5; | 335 DateTime.MAY = 5; |
| 333 DateTime.JUNE = 6; | 336 DateTime.JUNE = 6; |
| 334 DateTime.JULY = 7; | 337 DateTime.JULY = 7; |
| 335 DateTime.AUGUST = 8; | 338 DateTime.AUGUST = 8; |
| 336 DateTime.SEPTEMBER = 9; | 339 DateTime.SEPTEMBER = 9; |
| 337 DateTime.OCTOBER = 10; | 340 DateTime.OCTOBER = 10; |
| 338 DateTime.NOVEMBER = 11; | 341 DateTime.NOVEMBER = 11; |
| 339 DateTime.DECEMBER = 12; | 342 DateTime.DECEMBER = 12; |
| 340 DateTime.MONTHS_PER_YEAR = 12; | 343 DateTime.MONTHS_PER_YEAR = 12; |
| 341 DateTime._MAX_MILLISECONDS_SINCE_EPOCH = 8640000000000000; | 344 DateTime._MAX_MILLISECONDS_SINCE_EPOCH = 8640000000000000; |
| 342 let _onParseErrorInt$ = dart.JsSymbol('_onParseErrorInt'); | 345 let _parseError = dart.JsSymbol('_parseError'); |
| 343 let _onParseErrorDouble$ = dart.JsSymbol('_onParseErrorDouble'); | 346 let _onParseErrorInt = dart.JsSymbol('_onParseErrorInt'); |
| 347 let _onParseErrorDouble = dart.JsSymbol('_onParseErrorDouble'); |
| 344 class num extends Object { | 348 class num extends Object { |
| 345 static parse(input, onError) { | 349 static parse(input, onError) { |
| 346 if (onError === void 0) | 350 if (onError === void 0) |
| 347 onError = null; | 351 onError = null; |
| 348 let source = input.trim(); | 352 let source = input.trim(); |
| 349 _parseError = false; | 353 num[_parseError] = false; |
| 350 let result = int.parse(source, {onError: _onParseErrorInt}); | 354 let result = int.parse(source, {onError: num[_onParseErrorInt]}); |
| 351 if (!dart.notNull(_parseError)) | 355 if (!dart.notNull(num[_parseError])) |
| 352 return result; | 356 return result; |
| 353 _parseError = false; | 357 num[_parseError] = false; |
| 354 result = double.parse(source, _onParseErrorDouble); | 358 result = double.parse(source, num[_onParseErrorDouble]); |
| 355 if (!dart.notNull(_parseError)) | 359 if (!dart.notNull(num[_parseError])) |
| 356 return result; | 360 return result; |
| 357 if (onError === null) | 361 if (onError === null) |
| 358 throw new FormatException(input); | 362 throw new FormatException(input); |
| 359 return onError(input); | 363 return onError(input); |
| 360 } | 364 } |
| 361 static [_onParseErrorInt$](_) { | 365 static [_onParseErrorInt](_) { |
| 362 _parseError = true; | 366 num[_parseError] = true; |
| 363 return 0; | 367 return 0; |
| 364 } | 368 } |
| 365 static [_onParseErrorDouble$](_) { | 369 static [_onParseErrorDouble](_) { |
| 366 _parseError = true; | 370 num[_parseError] = true; |
| 367 return 0.0; | 371 return 0.0; |
| 368 } | 372 } |
| 369 } | 373 } |
| 370 num._parseError = false; | 374 num._parseError = false; |
| 371 class double extends num { | 375 class double extends num { |
| 372 static parse(source, onError) { | 376 static parse(source, onError) { |
| 373 if (onError === void 0) | 377 if (onError === void 0) |
| 374 onError = null; | 378 onError = null; |
| 375 return _js_helper.Primitives.parseDouble(source, onError); | 379 return _js_helper.Primitives.parseDouble(source, onError); |
| 376 } | 380 } |
| 377 } | 381 } |
| 378 double.NAN = 0.0 / 0.0; | 382 double.NAN = 0.0 / 0.0; |
| 379 double.INFINITY = 1.0 / 0.0; | 383 double.INFINITY = 1.0 / 0.0; |
| 380 double.NEGATIVE_INFINITY = -dart.notNull(double.INFINITY); | 384 double.NEGATIVE_INFINITY = -dart.notNull(double.INFINITY); |
| 381 double.MIN_POSITIVE = 5e-324; | 385 double.MIN_POSITIVE = 5e-324; |
| 382 double.MAX_FINITE = 1.7976931348623157e+308; | 386 double.MAX_FINITE = 1.7976931348623157e+308; |
| 383 let _duration = dart.JsSymbol('_duration'); | 387 let _duration = dart.JsSymbol('_duration'); |
| 388 let _microseconds = dart.JsSymbol('_microseconds'); |
| 384 class Duration extends Object { | 389 class Duration extends Object { |
| 385 Duration(opts) { | 390 Duration(opts) { |
| 386 let days = opts && 'days' in opts ? opts.days : 0; | 391 let days = opts && 'days' in opts ? opts.days : 0; |
| 387 let hours = opts && 'hours' in opts ? opts.hours : 0; | 392 let hours = opts && 'hours' in opts ? opts.hours : 0; |
| 388 let minutes = opts && 'minutes' in opts ? opts.minutes : 0; | 393 let minutes = opts && 'minutes' in opts ? opts.minutes : 0; |
| 389 let seconds = opts && 'seconds' in opts ? opts.seconds : 0; | 394 let seconds = opts && 'seconds' in opts ? opts.seconds : 0; |
| 390 let milliseconds = opts && 'milliseconds' in opts ? opts.milliseconds : 0; | 395 let milliseconds = opts && 'milliseconds' in opts ? opts.milliseconds : 0; |
| 391 let microseconds = opts && 'microseconds' in opts ? opts.microseconds : 0; | 396 let microseconds = opts && 'microseconds' in opts ? opts.microseconds : 0; |
| 392 this.Duration$_microseconds(dart.notNull(days) * dart.notNull(Duration.MIC
ROSECONDS_PER_DAY) + dart.notNull(hours) * dart.notNull(Duration.MICROSECONDS_PE
R_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) + d
art.notNull(microseconds)); | 397 this.Duration$_microseconds(dart.notNull(days) * dart.notNull(Duration.MIC
ROSECONDS_PER_DAY) + dart.notNull(hours) * dart.notNull(Duration.MICROSECONDS_PE
R_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) + d
art.notNull(microseconds)); |
| 393 } | 398 } |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 481 get isNegative() { | 486 get isNegative() { |
| 482 return dart.notNull(this[_duration]) < 0; | 487 return dart.notNull(this[_duration]) < 0; |
| 483 } | 488 } |
| 484 abs() { | 489 abs() { |
| 485 return new Duration._microseconds(this[_duration].abs()); | 490 return new Duration._microseconds(this[_duration].abs()); |
| 486 } | 491 } |
| 487 ['-']() { | 492 ['-']() { |
| 488 return new Duration._microseconds(-dart.notNull(this[_duration])); | 493 return new Duration._microseconds(-dart.notNull(this[_duration])); |
| 489 } | 494 } |
| 490 } | 495 } |
| 491 dart.defineNamedConstructor(Duration, '_microseconds'); | 496 dart.defineNamedConstructor(Duration, _microseconds); |
| 492 Duration.MICROSECONDS_PER_MILLISECOND = 1000; | 497 Duration.MICROSECONDS_PER_MILLISECOND = 1000; |
| 493 Duration.MILLISECONDS_PER_SECOND = 1000; | 498 Duration.MILLISECONDS_PER_SECOND = 1000; |
| 494 Duration.SECONDS_PER_MINUTE = 60; | 499 Duration.SECONDS_PER_MINUTE = 60; |
| 495 Duration.MINUTES_PER_HOUR = 60; | 500 Duration.MINUTES_PER_HOUR = 60; |
| 496 Duration.HOURS_PER_DAY = 24; | 501 Duration.HOURS_PER_DAY = 24; |
| 497 Duration.MICROSECONDS_PER_SECOND = dart.notNull(Duration.MICROSECONDS_PER_MILL
ISECOND) * dart.notNull(Duration.MILLISECONDS_PER_SECOND); | 502 Duration.MICROSECONDS_PER_SECOND = dart.notNull(Duration.MICROSECONDS_PER_MILL
ISECOND) * dart.notNull(Duration.MILLISECONDS_PER_SECOND); |
| 498 Duration.MICROSECONDS_PER_MINUTE = dart.notNull(Duration.MICROSECONDS_PER_SECO
ND) * dart.notNull(Duration.SECONDS_PER_MINUTE); | 503 Duration.MICROSECONDS_PER_MINUTE = dart.notNull(Duration.MICROSECONDS_PER_SECO
ND) * dart.notNull(Duration.SECONDS_PER_MINUTE); |
| 499 Duration.MICROSECONDS_PER_HOUR = dart.notNull(Duration.MICROSECONDS_PER_MINUTE
) * dart.notNull(Duration.MINUTES_PER_HOUR); | 504 Duration.MICROSECONDS_PER_HOUR = dart.notNull(Duration.MICROSECONDS_PER_MINUTE
) * dart.notNull(Duration.MINUTES_PER_HOUR); |
| 500 Duration.MICROSECONDS_PER_DAY = dart.notNull(Duration.MICROSECONDS_PER_HOUR) *
dart.notNull(Duration.HOURS_PER_DAY); | 505 Duration.MICROSECONDS_PER_DAY = dart.notNull(Duration.MICROSECONDS_PER_HOUR) *
dart.notNull(Duration.HOURS_PER_DAY); |
| 501 Duration.MILLISECONDS_PER_MINUTE = dart.notNull(Duration.MILLISECONDS_PER_SECO
ND) * dart.notNull(Duration.SECONDS_PER_MINUTE); | 506 Duration.MILLISECONDS_PER_MINUTE = dart.notNull(Duration.MILLISECONDS_PER_SECO
ND) * dart.notNull(Duration.SECONDS_PER_MINUTE); |
| 502 Duration.MILLISECONDS_PER_HOUR = dart.notNull(Duration.MILLISECONDS_PER_MINUTE
) * dart.notNull(Duration.MINUTES_PER_HOUR); | 507 Duration.MILLISECONDS_PER_HOUR = dart.notNull(Duration.MILLISECONDS_PER_MINUTE
) * dart.notNull(Duration.MINUTES_PER_HOUR); |
| 503 Duration.MILLISECONDS_PER_DAY = dart.notNull(Duration.MILLISECONDS_PER_HOUR) *
dart.notNull(Duration.HOURS_PER_DAY); | 508 Duration.MILLISECONDS_PER_DAY = dart.notNull(Duration.MILLISECONDS_PER_HOUR) *
dart.notNull(Duration.HOURS_PER_DAY); |
| 504 Duration.SECONDS_PER_HOUR = dart.notNull(Duration.SECONDS_PER_MINUTE) * dart.n
otNull(Duration.MINUTES_PER_HOUR); | 509 Duration.SECONDS_PER_HOUR = dart.notNull(Duration.SECONDS_PER_MINUTE) * dart.n
otNull(Duration.MINUTES_PER_HOUR); |
| 505 Duration.SECONDS_PER_DAY = dart.notNull(Duration.SECONDS_PER_HOUR) * dart.notN
ull(Duration.HOURS_PER_DAY); | 510 Duration.SECONDS_PER_DAY = dart.notNull(Duration.SECONDS_PER_HOUR) * dart.notN
ull(Duration.HOURS_PER_DAY); |
| 506 Duration.MINUTES_PER_DAY = dart.notNull(Duration.MINUTES_PER_HOUR) * dart.notN
ull(Duration.HOURS_PER_DAY); | 511 Duration.MINUTES_PER_DAY = dart.notNull(Duration.MINUTES_PER_HOUR) * dart.notN
ull(Duration.HOURS_PER_DAY); |
| 507 Duration.ZERO = new Duration({seconds: 0}); | 512 Duration.ZERO = new Duration({seconds: 0}); |
| 508 let _stringToSafeString$ = dart.JsSymbol('_stringToSafeString'); | 513 let _stringToSafeString = dart.JsSymbol('_stringToSafeString'); |
| 509 let _objectToString$ = dart.JsSymbol('_objectToString'); | 514 let _objectToString = dart.JsSymbol('_objectToString'); |
| 510 class Error extends Object { | 515 class Error extends Object { |
| 511 Error() { | 516 Error() { |
| 512 } | 517 } |
| 513 static safeToString(object) { | 518 static safeToString(object) { |
| 514 if (dart.notNull(dart.is(object, num)) || dart.notNull(typeof object == bo
olean) || dart.notNull(null === object)) { | 519 if (dart.notNull(dart.is(object, num)) || dart.notNull(typeof object == bo
olean) || dart.notNull(null === object)) { |
| 515 return object.toString(); | 520 return object.toString(); |
| 516 } | 521 } |
| 517 if (typeof object == string) { | 522 if (typeof object == string) { |
| 518 return _stringToSafeString(object); | 523 return Error[_stringToSafeString](object); |
| 519 } | 524 } |
| 520 return _objectToString(object); | 525 return Error[_objectToString](object); |
| 521 } | 526 } |
| 522 static [_stringToSafeString$](string) { | 527 static [_stringToSafeString](string) { |
| 523 return _js_helper.jsonEncodeNative(string); | 528 return _js_helper.jsonEncodeNative(string); |
| 524 } | 529 } |
| 525 static [_objectToString$](object) { | 530 static [_objectToString](object) { |
| 526 return _js_helper.Primitives.objectToString(object); | 531 return _js_helper.Primitives.objectToString(object); |
| 527 } | 532 } |
| 528 get stackTrace() { | 533 get stackTrace() { |
| 529 return _js_helper.Primitives.extractStackTrace(this); | 534 return _js_helper.Primitives.extractStackTrace(this); |
| 530 } | 535 } |
| 531 } | 536 } |
| 532 class AssertionError extends Error { | 537 class AssertionError extends Error { |
| 533 } | 538 } |
| 534 class TypeError extends AssertionError { | 539 class TypeError extends AssertionError { |
| 535 } | 540 } |
| (...skipping 427 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 963 return `${report}${prefix}${slice}${postfix}\n${String['*'](" ", markOffse
t)}^\n`; | 968 return `${report}${prefix}${slice}${postfix}\n${String['*'](" ", markOffse
t)}^\n`; |
| 964 } | 969 } |
| 965 } | 970 } |
| 966 class IntegerDivisionByZeroException extends Object { | 971 class IntegerDivisionByZeroException extends Object { |
| 967 IntegerDivisionByZeroException() { | 972 IntegerDivisionByZeroException() { |
| 968 } | 973 } |
| 969 toString() { | 974 toString() { |
| 970 return "IntegerDivisionByZeroException"; | 975 return "IntegerDivisionByZeroException"; |
| 971 } | 976 } |
| 972 } | 977 } |
| 978 let _EXPANDO_PROPERTY_NAME = dart.JsSymbol('_EXPANDO_PROPERTY_NAME'); |
| 973 let _getKey = dart.JsSymbol('_getKey'); | 979 let _getKey = dart.JsSymbol('_getKey'); |
| 980 let _KEY_PROPERTY_NAME = dart.JsSymbol('_KEY_PROPERTY_NAME'); |
| 981 let _keyCount = dart.JsSymbol('_keyCount'); |
| 974 let Expando$ = dart.generic(function(T) { | 982 let Expando$ = dart.generic(function(T) { |
| 975 class Expando extends Object { | 983 class Expando extends Object { |
| 976 Expando(name) { | 984 Expando(name) { |
| 977 if (name === void 0) | 985 if (name === void 0) |
| 978 name = null; | 986 name = null; |
| 979 this.name = name; | 987 this.name = name; |
| 980 } | 988 } |
| 981 toString() { | 989 toString() { |
| 982 return `Expando:${this.name}`; | 990 return `Expando:${this.name}`; |
| 983 } | 991 } |
| 984 get(object) { | 992 get(object) { |
| 985 let values = _js_helper.Primitives.getProperty(object, Expando._EXPANDO_
PROPERTY_NAME); | 993 let values = _js_helper.Primitives.getProperty(object, Expando[_EXPANDO_
PROPERTY_NAME]); |
| 986 return dart.as(values === null ? null : _js_helper.Primitives.getPropert
y(values, this[_getKey]()), T); | 994 return dart.as(values === null ? null : _js_helper.Primitives.getPropert
y(values, this[_getKey]()), T); |
| 987 } | 995 } |
| 988 set(object, value) { | 996 set(object, value) { |
| 989 let values = _js_helper.Primitives.getProperty(object, Expando._EXPANDO_
PROPERTY_NAME); | 997 let values = _js_helper.Primitives.getProperty(object, Expando[_EXPANDO_
PROPERTY_NAME]); |
| 990 if (values === null) { | 998 if (values === null) { |
| 991 values = new Object(); | 999 values = new Object(); |
| 992 _js_helper.Primitives.setProperty(object, Expando._EXPANDO_PROPERTY_NA
ME, values); | 1000 _js_helper.Primitives.setProperty(object, Expando[_EXPANDO_PROPERTY_NA
ME], values); |
| 993 } | 1001 } |
| 994 _js_helper.Primitives.setProperty(values, this[_getKey](), value); | 1002 _js_helper.Primitives.setProperty(values, this[_getKey](), value); |
| 995 } | 1003 } |
| 996 [_getKey]() { | 1004 [_getKey]() { |
| 997 let key = dart.as(_js_helper.Primitives.getProperty(this, Expando._KEY_P
ROPERTY_NAME), String); | 1005 let key = dart.as(_js_helper.Primitives.getProperty(this, Expando[_KEY_P
ROPERTY_NAME]), String); |
| 998 if (key === null) { | 1006 if (key === null) { |
| 999 key = `expando$key$${((x) => _keyCount = dart.notNull(x) + 1, x)(_keyC
ount)}`; | 1007 key = `expando$key$${((x) => Expando[_keyCount] = dart.notNull(x) + 1,
x)(Expando[_keyCount])}`; |
| 1000 _js_helper.Primitives.setProperty(this, Expando._KEY_PROPERTY_NAME, ke
y); | 1008 _js_helper.Primitives.setProperty(this, Expando[_KEY_PROPERTY_NAME], k
ey); |
| 1001 } | 1009 } |
| 1002 return key; | 1010 return key; |
| 1003 } | 1011 } |
| 1004 } | 1012 } |
| 1005 Expando._KEY_PROPERTY_NAME = 'expando$key'; | 1013 Expando._KEY_PROPERTY_NAME = 'expando$key'; |
| 1006 Expando._EXPANDO_PROPERTY_NAME = 'expando$values'; | 1014 Expando._EXPANDO_PROPERTY_NAME = 'expando$values'; |
| 1007 Expando._keyCount = 0; | 1015 Expando._keyCount = 0; |
| 1008 return Expando; | 1016 return Expando; |
| 1009 }); | 1017 }); |
| 1010 let Expando = Expando$(dart.dynamic); | 1018 let Expando = Expando$(dart.dynamic); |
| 1011 let _toMangledNames$ = dart.JsSymbol('_toMangledNames'); | 1019 let _toMangledNames = dart.JsSymbol('_toMangledNames'); |
| 1012 class Function extends Object { | 1020 class Function extends Object { |
| 1013 static apply(f, positionalArguments, namedArguments) { | 1021 static apply(f, positionalArguments, namedArguments) { |
| 1014 if (namedArguments === void 0) | 1022 if (namedArguments === void 0) |
| 1015 namedArguments = null; | 1023 namedArguments = null; |
| 1016 return _js_helper.Primitives.applyFunction(f, positionalArguments, namedAr
guments === null ? null : _toMangledNames(namedArguments)); | 1024 return _js_helper.Primitives.applyFunction(f, positionalArguments, namedAr
guments === null ? null : Function[_toMangledNames](namedArguments)); |
| 1017 } | 1025 } |
| 1018 static [_toMangledNames$](namedArguments) { | 1026 static [_toMangledNames](namedArguments) { |
| 1019 let result = dart.as(dart.map(), Map$(String, dynamic)); | 1027 let result = dart.as(dart.map(), Map$(String, dynamic)); |
| 1020 namedArguments.forEach(dart.closureWrap((symbol, value) => { | 1028 namedArguments.forEach(dart.closureWrap((symbol, value) => { |
| 1021 result.set(_symbolToString(dart.as(symbol, Symbol)), value); | 1029 result.set(_symbolToString(dart.as(symbol, Symbol)), value); |
| 1022 }, "(Symbol, dynamic) → void")); | 1030 }, "(Symbol, dynamic) → void")); |
| 1023 return result; | 1031 return result; |
| 1024 } | 1032 } |
| 1025 } | 1033 } |
| 1026 // Function identical: (Object, Object) → bool | 1034 // Function identical: (Object, Object) → bool |
| 1027 function identical(a, b) { | 1035 function identical(a, b) { |
| 1028 return _js_helper.Primitives.identicalImplementation(a, b); | 1036 return _js_helper.Primitives.identicalImplementation(a, b); |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1076 }; | 1084 }; |
| 1077 } | 1085 } |
| 1078 } | 1086 } |
| 1079 dart.defineNamedConstructor(Iterable, 'generate'); | 1087 dart.defineNamedConstructor(Iterable, 'generate'); |
| 1080 return Iterable; | 1088 return Iterable; |
| 1081 }); | 1089 }); |
| 1082 let Iterable = Iterable$(dart.dynamic); | 1090 let Iterable = Iterable$(dart.dynamic); |
| 1083 let _end = dart.JsSymbol('_end'); | 1091 let _end = dart.JsSymbol('_end'); |
| 1084 let _start = dart.JsSymbol('_start'); | 1092 let _start = dart.JsSymbol('_start'); |
| 1085 let _generator = dart.JsSymbol('_generator'); | 1093 let _generator = dart.JsSymbol('_generator'); |
| 1086 let _id$ = dart.JsSymbol('_id'); | 1094 let _id = dart.JsSymbol('_id'); |
| 1087 let _GeneratorIterable$ = dart.generic(function(E) { | 1095 let _GeneratorIterable$ = dart.generic(function(E) { |
| 1088 class _GeneratorIterable extends collection.IterableBase$(E) { | 1096 class _GeneratorIterable extends collection.IterableBase$(E) { |
| 1089 _GeneratorIterable(end$, generator) { | 1097 _GeneratorIterable(end$, generator) { |
| 1090 this[_end] = end$; | 1098 this[_end] = end$; |
| 1091 this[_start] = 0; | 1099 this[_start] = 0; |
| 1092 this[_generator] = dart.as(generator !== null ? generator : _id, _Genera
tor); | 1100 this[_generator] = dart.as(generator !== null ? generator : _GeneratorIt
erable[_id], _Generator); |
| 1093 super.IterableBase(); | 1101 super.IterableBase(); |
| 1094 } | 1102 } |
| 1095 _GeneratorIterable$slice(start$, end$, generator$) { | 1103 _GeneratorIterable$slice(start$, end$, generator$) { |
| 1096 this[_start] = start$; | 1104 this[_start] = start$; |
| 1097 this[_end] = end$; | 1105 this[_end] = end$; |
| 1098 this[_generator] = generator$; | 1106 this[_generator] = generator$; |
| 1099 super.IterableBase(); | 1107 super.IterableBase(); |
| 1100 } | 1108 } |
| 1101 get iterator() { | 1109 get iterator() { |
| 1102 return new _GeneratorIterator(this[_start], this[_end], this[_generator]
); | 1110 return new _GeneratorIterator(this[_start], this[_end], this[_generator]
); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 1115 } | 1123 } |
| 1116 take(count) { | 1124 take(count) { |
| 1117 RangeError.checkNotNegative(count, "count"); | 1125 RangeError.checkNotNegative(count, "count"); |
| 1118 if (count === 0) | 1126 if (count === 0) |
| 1119 return new _internal.EmptyIterable(); | 1127 return new _internal.EmptyIterable(); |
| 1120 let newEnd = dart.notNull(this[_start]) + dart.notNull(count); | 1128 let newEnd = dart.notNull(this[_start]) + dart.notNull(count); |
| 1121 if (dart.notNull(newEnd) >= dart.notNull(this[_end])) | 1129 if (dart.notNull(newEnd) >= dart.notNull(this[_end])) |
| 1122 return this; | 1130 return this; |
| 1123 return new _GeneratorIterable.slice(this[_start], newEnd, this[_generato
r]); | 1131 return new _GeneratorIterable.slice(this[_start], newEnd, this[_generato
r]); |
| 1124 } | 1132 } |
| 1125 static [_id$](n) { | 1133 static [_id](n) { |
| 1126 return n; | 1134 return n; |
| 1127 } | 1135 } |
| 1128 } | 1136 } |
| 1129 dart.defineNamedConstructor(_GeneratorIterable, 'slice'); | 1137 dart.defineNamedConstructor(_GeneratorIterable, 'slice'); |
| 1130 return _GeneratorIterable; | 1138 return _GeneratorIterable; |
| 1131 }); | 1139 }); |
| 1132 dart.defineLazyClassGeneric(exports, '_GeneratorIterable', {get: _GeneratorIte
rable$}); | 1140 dart.defineLazyClassGeneric(exports, '_GeneratorIterable', {get: _GeneratorIte
rable$}); |
| 1133 let _index = dart.JsSymbol('_index'); | 1141 let _index = dart.JsSymbol('_index'); |
| 1134 let _current = dart.JsSymbol('_current'); | 1142 let _current = dart.JsSymbol('_current'); |
| 1135 let _GeneratorIterator$ = dart.generic(function(E) { | 1143 let _GeneratorIterator$ = dart.generic(function(E) { |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1233 return new collection.LinkedHashMap.fromIterables(keys, values); | 1241 return new collection.LinkedHashMap.fromIterables(keys, values); |
| 1234 } | 1242 } |
| 1235 } | 1243 } |
| 1236 dart.defineNamedConstructor(Map, 'from'); | 1244 dart.defineNamedConstructor(Map, 'from'); |
| 1237 dart.defineNamedConstructor(Map, 'identity'); | 1245 dart.defineNamedConstructor(Map, 'identity'); |
| 1238 dart.defineNamedConstructor(Map, 'fromIterable'); | 1246 dart.defineNamedConstructor(Map, 'fromIterable'); |
| 1239 dart.defineNamedConstructor(Map, 'fromIterables'); | 1247 dart.defineNamedConstructor(Map, 'fromIterables'); |
| 1240 return Map; | 1248 return Map; |
| 1241 }); | 1249 }); |
| 1242 let Map = Map$(dart.dynamic, dart.dynamic); | 1250 let Map = Map$(dart.dynamic, dart.dynamic); |
| 1251 let _uninstantiable = dart.JsSymbol('_uninstantiable'); |
| 1243 class Null extends Object { | 1252 class Null extends Object { |
| 1244 Null$_uninstantiable() { | 1253 Null$_uninstantiable() { |
| 1245 throw new UnsupportedError('class Null cannot be instantiated'); | 1254 throw new UnsupportedError('class Null cannot be instantiated'); |
| 1246 } | 1255 } |
| 1247 toString() { | 1256 toString() { |
| 1248 return "null"; | 1257 return "null"; |
| 1249 } | 1258 } |
| 1250 } | 1259 } |
| 1251 dart.defineNamedConstructor(Null, '_uninstantiable'); | 1260 dart.defineNamedConstructor(Null, _uninstantiable); |
| 1252 class Pattern extends Object { | 1261 class Pattern extends Object { |
| 1253 } | 1262 } |
| 1254 // Function print: (Object) → void | 1263 // Function print: (Object) → void |
| 1255 function print(object) { | 1264 function print(object) { |
| 1256 let line = `${object}`; | 1265 let line = `${object}`; |
| 1257 if (_internal.printToZone === null) { | 1266 if (_internal.printToZone === null) { |
| 1258 _internal.printToConsole(line); | 1267 _internal.printToConsole(line); |
| 1259 } else { | 1268 } else { |
| 1260 dart.dinvokef(_internal.printToZone, line); | 1269 dart.dinvokef(_internal.printToZone, line); |
| 1261 } | 1270 } |
| (...skipping 25 matching lines...) Expand all Loading... |
| 1287 }); | 1296 }); |
| 1288 dart.defineLazyClassGeneric(exports, 'Set', {get: Set$}); | 1297 dart.defineLazyClassGeneric(exports, 'Set', {get: Set$}); |
| 1289 let Sink$ = dart.generic(function(T) { | 1298 let Sink$ = dart.generic(function(T) { |
| 1290 class Sink extends Object { | 1299 class Sink extends Object { |
| 1291 } | 1300 } |
| 1292 return Sink; | 1301 return Sink; |
| 1293 }); | 1302 }); |
| 1294 let Sink = Sink$(dart.dynamic); | 1303 let Sink = Sink$(dart.dynamic); |
| 1295 class StackTrace extends Object { | 1304 class StackTrace extends Object { |
| 1296 } | 1305 } |
| 1306 let _frequency = dart.JsSymbol('_frequency'); |
| 1297 let _stop = dart.JsSymbol('_stop'); | 1307 let _stop = dart.JsSymbol('_stop'); |
| 1298 let _initTicker$ = dart.JsSymbol('_initTicker'); | 1308 let _initTicker = dart.JsSymbol('_initTicker'); |
| 1299 let _now$ = dart.JsSymbol('_now'); | |
| 1300 class Stopwatch extends Object { | 1309 class Stopwatch extends Object { |
| 1301 get frequency() { | 1310 get frequency() { |
| 1302 return _frequency; | 1311 return Stopwatch[_frequency]; |
| 1303 } | 1312 } |
| 1304 Stopwatch() { | 1313 Stopwatch() { |
| 1305 this[_start] = null; | 1314 this[_start] = null; |
| 1306 this[_stop] = null; | 1315 this[_stop] = null; |
| 1307 _initTicker(); | 1316 Stopwatch[_initTicker](); |
| 1308 } | 1317 } |
| 1309 start() { | 1318 start() { |
| 1310 if (this.isRunning) | 1319 if (this.isRunning) |
| 1311 return; | 1320 return; |
| 1312 if (this[_start] === null) { | 1321 if (this[_start] === null) { |
| 1313 this[_start] = _now(); | 1322 this[_start] = Stopwatch[_now](); |
| 1314 } else { | 1323 } else { |
| 1315 this[_start] = dart.notNull(_now()) - (dart.notNull(this[_stop]) - dart.
notNull(this[_start])); | 1324 this[_start] = dart.notNull(Stopwatch[_now]()) - (dart.notNull(this[_sto
p]) - dart.notNull(this[_start])); |
| 1316 this[_stop] = null; | 1325 this[_stop] = null; |
| 1317 } | 1326 } |
| 1318 } | 1327 } |
| 1319 stop() { | 1328 stop() { |
| 1320 if (!dart.notNull(this.isRunning)) | 1329 if (!dart.notNull(this.isRunning)) |
| 1321 return; | 1330 return; |
| 1322 this[_stop] = _now(); | 1331 this[_stop] = Stopwatch[_now](); |
| 1323 } | 1332 } |
| 1324 reset() { | 1333 reset() { |
| 1325 if (this[_start] === null) | 1334 if (this[_start] === null) |
| 1326 return; | 1335 return; |
| 1327 this[_start] = _now(); | 1336 this[_start] = Stopwatch[_now](); |
| 1328 if (this[_stop] !== null) { | 1337 if (this[_stop] !== null) { |
| 1329 this[_stop] = this[_start]; | 1338 this[_stop] = this[_start]; |
| 1330 } | 1339 } |
| 1331 } | 1340 } |
| 1332 get elapsedTicks() { | 1341 get elapsedTicks() { |
| 1333 if (this[_start] === null) { | 1342 if (this[_start] === null) { |
| 1334 return 0; | 1343 return 0; |
| 1335 } | 1344 } |
| 1336 return this[_stop] === null ? dart.notNull(_now()) - dart.notNull(this[_st
art]) : dart.notNull(this[_stop]) - dart.notNull(this[_start]); | 1345 return this[_stop] === null ? dart.notNull(Stopwatch[_now]()) - dart.notNu
ll(this[_start]) : dart.notNull(this[_stop]) - dart.notNull(this[_start]); |
| 1337 } | 1346 } |
| 1338 get elapsed() { | 1347 get elapsed() { |
| 1339 return new Duration({microseconds: this.elapsedMicroseconds}); | 1348 return new Duration({microseconds: this.elapsedMicroseconds}); |
| 1340 } | 1349 } |
| 1341 get elapsedMicroseconds() { | 1350 get elapsedMicroseconds() { |
| 1342 return (dart.notNull(this.elapsedTicks) * 1000000 / dart.notNull(this.freq
uency)).truncate(); | 1351 return (dart.notNull(this.elapsedTicks) * 1000000 / dart.notNull(this.freq
uency)).truncate(); |
| 1343 } | 1352 } |
| 1344 get elapsedMilliseconds() { | 1353 get elapsedMilliseconds() { |
| 1345 return (dart.notNull(this.elapsedTicks) * 1000 / dart.notNull(this.frequen
cy)).truncate(); | 1354 return (dart.notNull(this.elapsedTicks) * 1000 / dart.notNull(this.frequen
cy)).truncate(); |
| 1346 } | 1355 } |
| 1347 get isRunning() { | 1356 get isRunning() { |
| 1348 return this[_start] !== null && this[_stop] === null; | 1357 return this[_start] !== null && this[_stop] === null; |
| 1349 } | 1358 } |
| 1350 static [_initTicker$]() { | 1359 static [_initTicker]() { |
| 1351 _js_helper.Primitives.initTicker(); | 1360 _js_helper.Primitives.initTicker(); |
| 1352 _frequency = _js_helper.Primitives.timerFrequency; | 1361 Stopwatch[_frequency] = _js_helper.Primitives.timerFrequency; |
| 1353 } | 1362 } |
| 1354 static [_now$]() { | 1363 static [_now]() { |
| 1355 return dart.as(dart.dinvoke(_js_helper.Primitives, 'timerTicks'), int); | 1364 return dart.as(dart.dinvoke(_js_helper.Primitives, 'timerTicks'), int); |
| 1356 } | 1365 } |
| 1357 } | 1366 } |
| 1358 Stopwatch._frequency = null; | 1367 Stopwatch._frequency = null; |
| 1359 let _stringFromIterable$ = dart.JsSymbol('_stringFromIterable'); | 1368 let _stringFromIterable = dart.JsSymbol('_stringFromIterable'); |
| 1360 class String extends Object { | 1369 class String extends Object { |
| 1361 String$fromCharCodes(charCodes, start, end) { | 1370 String$fromCharCodes(charCodes, start, end) { |
| 1362 if (start === void 0) | 1371 if (start === void 0) |
| 1363 start = 0; | 1372 start = 0; |
| 1364 if (end === void 0) | 1373 if (end === void 0) |
| 1365 end = null; | 1374 end = null; |
| 1366 if (!dart.is(charCodes, _interceptors.JSArray)) { | 1375 if (!dart.is(charCodes, _interceptors.JSArray)) { |
| 1367 return _stringFromIterable(charCodes, start, end); | 1376 return String[_stringFromIterable](charCodes, start, end); |
| 1368 } | 1377 } |
| 1369 let list = dart.as(charCodes, List); | 1378 let list = dart.as(charCodes, List); |
| 1370 let len = list.length; | 1379 let len = list.length; |
| 1371 if (dart.notNull(start) < 0 || dart.notNull(start) > dart.notNull(len)) { | 1380 if (dart.notNull(start) < 0 || dart.notNull(start) > dart.notNull(len)) { |
| 1372 throw new RangeError.range(start, 0, len); | 1381 throw new RangeError.range(start, 0, len); |
| 1373 } | 1382 } |
| 1374 if (end === null) { | 1383 if (end === null) { |
| 1375 end = len; | 1384 end = len; |
| 1376 } else if (dart.notNull(end) < dart.notNull(start) || dart.notNull(end) >
dart.notNull(len)) { | 1385 } else if (dart.notNull(end) < dart.notNull(start) || dart.notNull(end) >
dart.notNull(len)) { |
| 1377 throw new RangeError.range(end, start, len); | 1386 throw new RangeError.range(end, start, len); |
| 1378 } | 1387 } |
| 1379 if (dart.notNull(start) > 0 || dart.notNull(end) < dart.notNull(len)) { | 1388 if (dart.notNull(start) > 0 || dart.notNull(end) < dart.notNull(len)) { |
| 1380 list = list.sublist(start, end); | 1389 list = list.sublist(start, end); |
| 1381 } | 1390 } |
| 1382 return _js_helper.Primitives.stringFromCharCodes(list); | 1391 return _js_helper.Primitives.stringFromCharCodes(list); |
| 1383 } | 1392 } |
| 1384 String$fromCharCode(charCode) { | 1393 String$fromCharCode(charCode) { |
| 1385 return _js_helper.Primitives.stringFromCharCode(charCode); | 1394 return _js_helper.Primitives.stringFromCharCode(charCode); |
| 1386 } | 1395 } |
| 1387 String$fromEnvironment(name, opts) { | 1396 String$fromEnvironment(name, opts) { |
| 1388 let defaultValue = opts && 'defaultValue' in opts ? opts.defaultValue : nu
ll; | 1397 let defaultValue = opts && 'defaultValue' in opts ? opts.defaultValue : nu
ll; |
| 1389 throw new UnsupportedError('String.fromEnvironment can only be used as a c
onst constructor'); | 1398 throw new UnsupportedError('String.fromEnvironment can only be used as a c
onst constructor'); |
| 1390 } | 1399 } |
| 1391 static [_stringFromIterable$](charCodes, start, end) { | 1400 static [_stringFromIterable](charCodes, start, end) { |
| 1392 if (dart.notNull(start) < 0) | 1401 if (dart.notNull(start) < 0) |
| 1393 throw new RangeError.range(start, 0, charCodes.length); | 1402 throw new RangeError.range(start, 0, charCodes.length); |
| 1394 if (end !== null && dart.notNull(end) < dart.notNull(start)) { | 1403 if (end !== null && dart.notNull(end) < dart.notNull(start)) { |
| 1395 throw new RangeError.range(end, start, charCodes.length); | 1404 throw new RangeError.range(end, start, charCodes.length); |
| 1396 } | 1405 } |
| 1397 let it = charCodes.iterator; | 1406 let it = charCodes.iterator; |
| 1398 for (let i = 0; dart.notNull(i) < dart.notNull(start); i = dart.notNull(i)
+ 1) { | 1407 for (let i = 0; dart.notNull(i) < dart.notNull(start); i = dart.notNull(i)
+ 1) { |
| 1399 if (!dart.notNull(it.moveNext())) { | 1408 if (!dart.notNull(it.moveNext())) { |
| 1400 throw new RangeError.range(start, 0, i); | 1409 throw new RangeError.range(start, 0, i); |
| 1401 } | 1410 } |
| (...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1616 Symbol(name) { | 1625 Symbol(name) { |
| 1617 return new _internal.Symbol(name); | 1626 return new _internal.Symbol(name); |
| 1618 } | 1627 } |
| 1619 } | 1628 } |
| 1620 class Type extends Object { | 1629 class Type extends Object { |
| 1621 } | 1630 } |
| 1622 let _writeAuthority = dart.JsSymbol('_writeAuthority'); | 1631 let _writeAuthority = dart.JsSymbol('_writeAuthority'); |
| 1623 let _userInfo = dart.JsSymbol('_userInfo'); | 1632 let _userInfo = dart.JsSymbol('_userInfo'); |
| 1624 let _host = dart.JsSymbol('_host'); | 1633 let _host = dart.JsSymbol('_host'); |
| 1625 let _port = dart.JsSymbol('_port'); | 1634 let _port = dart.JsSymbol('_port'); |
| 1626 let _defaultPort$ = dart.JsSymbol('_defaultPort'); | 1635 let _defaultPort = dart.JsSymbol('_defaultPort'); |
| 1627 let _path = dart.JsSymbol('_path'); | 1636 let _path = dart.JsSymbol('_path'); |
| 1628 let _query = dart.JsSymbol('_query'); | 1637 let _query = dart.JsSymbol('_query'); |
| 1629 let _fragment = dart.JsSymbol('_fragment'); | 1638 let _fragment = dart.JsSymbol('_fragment'); |
| 1630 let _fail$ = dart.JsSymbol('_fail'); | 1639 let _regNameTable = dart.JsSymbol('_regNameTable'); |
| 1640 let _SLASH = dart.JsSymbol('_SLASH'); |
| 1641 let _QUESTION = dart.JsSymbol('_QUESTION'); |
| 1642 let _NUMBER_SIGN = dart.JsSymbol('_NUMBER_SIGN'); |
| 1643 let _AT_SIGN = dart.JsSymbol('_AT_SIGN'); |
| 1644 let _COLON = dart.JsSymbol('_COLON'); |
| 1645 let _LEFT_BRACKET = dart.JsSymbol('_LEFT_BRACKET'); |
| 1646 let _makeUserInfo = dart.JsSymbol('_makeUserInfo'); |
| 1647 let _ZERO = dart.JsSymbol('_ZERO'); |
| 1648 let _NINE = dart.JsSymbol('_NINE'); |
| 1649 let _fail = dart.JsSymbol('_fail'); |
| 1650 let _makePort = dart.JsSymbol('_makePort'); |
| 1651 let _makeHost = dart.JsSymbol('_makeHost'); |
| 1652 let _makeScheme = dart.JsSymbol('_makeScheme'); |
| 1653 let _makePath = dart.JsSymbol('_makePath'); |
| 1654 let _makeQuery = dart.JsSymbol('_makeQuery'); |
| 1655 let _makeFragment = dart.JsSymbol('_makeFragment'); |
| 1631 let _pathSegments = dart.JsSymbol('_pathSegments'); | 1656 let _pathSegments = dart.JsSymbol('_pathSegments'); |
| 1632 let _queryParameters = dart.JsSymbol('_queryParameters'); | 1657 let _queryParameters = dart.JsSymbol('_queryParameters'); |
| 1633 let _makeHttpUri$ = dart.JsSymbol('_makeHttpUri'); | 1658 let _stringOrNullLength = dart.JsSymbol('_stringOrNullLength'); |
| 1634 let _isWindows$ = dart.JsSymbol('_isWindows'); | 1659 let _makeHttpUri = dart.JsSymbol('_makeHttpUri'); |
| 1635 let _checkNonWindowsPathReservedCharacters$ = dart.JsSymbol('_checkNonWindowsP
athReservedCharacters'); | 1660 let _RIGHT_BRACKET = dart.JsSymbol('_RIGHT_BRACKET'); |
| 1636 let _checkWindowsPathReservedCharacters$ = dart.JsSymbol('_checkWindowsPathRes
ervedCharacters'); | 1661 let _isWindows = dart.JsSymbol('_isWindows'); |
| 1637 let _checkWindowsDriveLetter$ = dart.JsSymbol('_checkWindowsDriveLetter'); | 1662 let _makeWindowsFileUrl = dart.JsSymbol('_makeWindowsFileUrl'); |
| 1638 let _makeFileUri$ = dart.JsSymbol('_makeFileUri'); | 1663 let _makeFileUri = dart.JsSymbol('_makeFileUri'); |
| 1639 let _makeWindowsFileUrl$ = dart.JsSymbol('_makeWindowsFileUrl'); | 1664 let _checkNonWindowsPathReservedCharacters = dart.JsSymbol('_checkNonWindowsPa
thReservedCharacters'); |
| 1640 let _makePort$ = dart.JsSymbol('_makePort'); | 1665 let _checkWindowsPathReservedCharacters = dart.JsSymbol('_checkWindowsPathRese
rvedCharacters'); |
| 1641 let _makeHost$ = dart.JsSymbol('_makeHost'); | 1666 let _checkWindowsDriveLetter = dart.JsSymbol('_checkWindowsDriveLetter'); |
| 1642 let _isRegNameChar$ = dart.JsSymbol('_isRegNameChar'); | 1667 let _UPPER_CASE_A = dart.JsSymbol('_UPPER_CASE_A'); |
| 1643 let _normalizeRegName$ = dart.JsSymbol('_normalizeRegName'); | 1668 let _UPPER_CASE_Z = dart.JsSymbol('_UPPER_CASE_Z'); |
| 1644 let _makeScheme$ = dart.JsSymbol('_makeScheme'); | 1669 let _LOWER_CASE_A = dart.JsSymbol('_LOWER_CASE_A'); |
| 1645 let _makeUserInfo$ = dart.JsSymbol('_makeUserInfo'); | 1670 let _LOWER_CASE_Z = dart.JsSymbol('_LOWER_CASE_Z'); |
| 1646 let _makePath$ = dart.JsSymbol('_makePath'); | 1671 let _BACKSLASH = dart.JsSymbol('_BACKSLASH'); |
| 1647 let _makeQuery$ = dart.JsSymbol('_makeQuery'); | 1672 let _normalizeRegName = dart.JsSymbol('_normalizeRegName'); |
| 1648 let _makeFragment$ = dart.JsSymbol('_makeFragment'); | 1673 let _isRegNameChar = dart.JsSymbol('_isRegNameChar'); |
| 1649 let _stringOrNullLength$ = dart.JsSymbol('_stringOrNullLength'); | 1674 let _PERCENT = dart.JsSymbol('_PERCENT'); |
| 1650 let _isHexDigit$ = dart.JsSymbol('_isHexDigit'); | 1675 let _normalizeEscape = dart.JsSymbol('_normalizeEscape'); |
| 1651 let _hexValue$ = dart.JsSymbol('_hexValue'); | 1676 let _isGeneralDelimiter = dart.JsSymbol('_isGeneralDelimiter'); |
| 1652 let _normalizeEscape$ = dart.JsSymbol('_normalizeEscape'); | 1677 let _escapeChar = dart.JsSymbol('_escapeChar'); |
| 1653 let _isUnreservedChar$ = dart.JsSymbol('_isUnreservedChar'); | 1678 let _isAlphabeticCharacter = dart.JsSymbol('_isAlphabeticCharacter'); |
| 1654 let _escapeChar$ = dart.JsSymbol('_escapeChar'); | 1679 let _isSchemeCharacter = dart.JsSymbol('_isSchemeCharacter'); |
| 1655 let _normalize$ = dart.JsSymbol('_normalize'); | 1680 let _normalize = dart.JsSymbol('_normalize'); |
| 1656 let _isSchemeCharacter$ = dart.JsSymbol('_isSchemeCharacter'); | 1681 let _userinfoTable = dart.JsSymbol('_userinfoTable'); |
| 1657 let _isGeneralDelimiter$ = dart.JsSymbol('_isGeneralDelimiter'); | 1682 let _pathCharOrSlashTable = dart.JsSymbol('_pathCharOrSlashTable'); |
| 1683 let _uriEncode = dart.JsSymbol('_uriEncode'); |
| 1684 let _pathCharTable = dart.JsSymbol('_pathCharTable'); |
| 1685 let _queryCharTable = dart.JsSymbol('_queryCharTable'); |
| 1686 let _isHexDigit = dart.JsSymbol('_isHexDigit'); |
| 1687 let _LOWER_CASE_F = dart.JsSymbol('_LOWER_CASE_F'); |
| 1688 let _hexValue = dart.JsSymbol('_hexValue'); |
| 1689 let _isUnreservedChar = dart.JsSymbol('_isUnreservedChar'); |
| 1690 let _unreservedTable = dart.JsSymbol('_unreservedTable'); |
| 1691 let _schemeTable = dart.JsSymbol('_schemeTable'); |
| 1692 let _genDelimitersTable = dart.JsSymbol('_genDelimitersTable'); |
| 1658 let _merge = dart.JsSymbol('_merge'); | 1693 let _merge = dart.JsSymbol('_merge'); |
| 1694 let _DOT = dart.JsSymbol('_DOT'); |
| 1659 let _hasDotSegments = dart.JsSymbol('_hasDotSegments'); | 1695 let _hasDotSegments = dart.JsSymbol('_hasDotSegments'); |
| 1660 let _removeDotSegments = dart.JsSymbol('_removeDotSegments'); | 1696 let _removeDotSegments = dart.JsSymbol('_removeDotSegments'); |
| 1661 let _toWindowsFilePath = dart.JsSymbol('_toWindowsFilePath'); | 1697 let _toWindowsFilePath = dart.JsSymbol('_toWindowsFilePath'); |
| 1662 let _toFilePath = dart.JsSymbol('_toFilePath'); | 1698 let _toFilePath = dart.JsSymbol('_toFilePath'); |
| 1663 let _isPathAbsolute = dart.JsSymbol('_isPathAbsolute'); | 1699 let _isPathAbsolute = dart.JsSymbol('_isPathAbsolute'); |
| 1664 let _addIfNonEmpty$ = dart.JsSymbol('_addIfNonEmpty'); | 1700 let _addIfNonEmpty = dart.JsSymbol('_addIfNonEmpty'); |
| 1665 let _uriEncode$ = dart.JsSymbol('_uriEncode'); | 1701 let _unreserved2396Table = dart.JsSymbol('_unreserved2396Table'); |
| 1666 let _hexCharPairToByte$ = dart.JsSymbol('_hexCharPairToByte'); | 1702 let _uriDecode = dart.JsSymbol('_uriDecode'); |
| 1667 let _uriDecode$ = dart.JsSymbol('_uriDecode'); | 1703 let _encodeFullTable = dart.JsSymbol('_encodeFullTable'); |
| 1668 let _isAlphabeticCharacter$ = dart.JsSymbol('_isAlphabeticCharacter'); | 1704 let _SPACE = dart.JsSymbol('_SPACE'); |
| 1705 let _PLUS = dart.JsSymbol('_PLUS'); |
| 1706 let _hexCharPairToByte = dart.JsSymbol('_hexCharPairToByte'); |
| 1669 class Uri extends Object { | 1707 class Uri extends Object { |
| 1670 get authority() { | 1708 get authority() { |
| 1671 if (!dart.notNull(this.hasAuthority)) | 1709 if (!dart.notNull(this.hasAuthority)) |
| 1672 return ""; | 1710 return ""; |
| 1673 let sb = new StringBuffer(); | 1711 let sb = new StringBuffer(); |
| 1674 this[_writeAuthority](sb); | 1712 this[_writeAuthority](sb); |
| 1675 return sb.toString(); | 1713 return sb.toString(); |
| 1676 } | 1714 } |
| 1677 get userInfo() { | 1715 get userInfo() { |
| 1678 return this[_userInfo]; | 1716 return this[_userInfo]; |
| 1679 } | 1717 } |
| 1680 get host() { | 1718 get host() { |
| 1681 if (this[_host] === null) | 1719 if (this[_host] === null) |
| 1682 return ""; | 1720 return ""; |
| 1683 if (this[_host].startsWith('[')) { | 1721 if (this[_host].startsWith('[')) { |
| 1684 return this[_host].substring(1, dart.notNull(this[_host].length) - 1); | 1722 return this[_host].substring(1, dart.notNull(this[_host].length) - 1); |
| 1685 } | 1723 } |
| 1686 return this[_host]; | 1724 return this[_host]; |
| 1687 } | 1725 } |
| 1688 get port() { | 1726 get port() { |
| 1689 if (this[_port] === null) | 1727 if (this[_port] === null) |
| 1690 return _defaultPort(this.scheme); | 1728 return Uri[_defaultPort](this.scheme); |
| 1691 return this[_port]; | 1729 return this[_port]; |
| 1692 } | 1730 } |
| 1693 static [_defaultPort$](scheme) { | 1731 static [_defaultPort](scheme) { |
| 1694 if (dart.equals(scheme, "http")) | 1732 if (dart.equals(scheme, "http")) |
| 1695 return 80; | 1733 return 80; |
| 1696 if (dart.equals(scheme, "https")) | 1734 if (dart.equals(scheme, "https")) |
| 1697 return 443; | 1735 return 443; |
| 1698 return 0; | 1736 return 0; |
| 1699 } | 1737 } |
| 1700 get path() { | 1738 get path() { |
| 1701 return this[_path]; | 1739 return this[_path]; |
| 1702 } | 1740 } |
| 1703 get query() { | 1741 get query() { |
| 1704 return this[_query] === null ? "" : this[_query]; | 1742 return this[_query] === null ? "" : this[_query]; |
| 1705 } | 1743 } |
| 1706 get fragment() { | 1744 get fragment() { |
| 1707 return this[_fragment] === null ? "" : this[_fragment]; | 1745 return this[_fragment] === null ? "" : this[_fragment]; |
| 1708 } | 1746 } |
| 1709 static parse(uri) { | 1747 static parse(uri) { |
| 1710 // Function isRegName: (int) → bool | 1748 // Function isRegName: (int) → bool |
| 1711 function isRegName(ch) { | 1749 function isRegName(ch) { |
| 1712 return dart.notNull(ch) < 128 && dart.notNull(!dart.equals(dart.dbinary(
Uri._regNameTable.get(dart.notNull(ch) >> 4), '&', 1 << (dart.notNull(ch) & 15))
, 0)); | 1750 return dart.notNull(ch) < 128 && dart.notNull(!dart.equals(dart.dbinary(
Uri[_regNameTable].get(dart.notNull(ch) >> 4), '&', 1 << (dart.notNull(ch) & 15)
), 0)); |
| 1713 } | 1751 } |
| 1714 let EOI = -1; | 1752 let EOI = -1; |
| 1715 let scheme = ""; | 1753 let scheme = ""; |
| 1716 let userinfo = ""; | 1754 let userinfo = ""; |
| 1717 let host = null; | 1755 let host = null; |
| 1718 let port = null; | 1756 let port = null; |
| 1719 let path = null; | 1757 let path = null; |
| 1720 let query = null; | 1758 let query = null; |
| 1721 let fragment = null; | 1759 let fragment = null; |
| 1722 let index = 0; | 1760 let index = 0; |
| 1723 let pathStart = 0; | 1761 let pathStart = 0; |
| 1724 let char = EOI; | 1762 let char = EOI; |
| 1725 // Function parseAuth: () → void | 1763 // Function parseAuth: () → void |
| 1726 function parseAuth() { | 1764 function parseAuth() { |
| 1727 if (index === uri.length) { | 1765 if (index === uri.length) { |
| 1728 char = EOI; | 1766 char = EOI; |
| 1729 return; | 1767 return; |
| 1730 } | 1768 } |
| 1731 let authStart = index; | 1769 let authStart = index; |
| 1732 let lastColon = -1; | 1770 let lastColon = -1; |
| 1733 let lastAt = -1; | 1771 let lastAt = -1; |
| 1734 char = uri.codeUnitAt(index); | 1772 char = uri.codeUnitAt(index); |
| 1735 while (dart.notNull(index) < dart.notNull(uri.length)) { | 1773 while (dart.notNull(index) < dart.notNull(uri.length)) { |
| 1736 char = uri.codeUnitAt(index); | 1774 char = uri.codeUnitAt(index); |
| 1737 if (char === Uri._SLASH || char === Uri._QUESTION || char === Uri._NUM
BER_SIGN) { | 1775 if (char === Uri[_SLASH] || char === Uri[_QUESTION] || char === Uri[_N
UMBER_SIGN]) { |
| 1738 break; | 1776 break; |
| 1739 } | 1777 } |
| 1740 if (char === Uri._AT_SIGN) { | 1778 if (char === Uri[_AT_SIGN]) { |
| 1741 lastAt = index; | 1779 lastAt = index; |
| 1742 lastColon = -1; | 1780 lastColon = -1; |
| 1743 } else if (char === Uri._COLON) { | 1781 } else if (char === Uri[_COLON]) { |
| 1744 lastColon = index; | 1782 lastColon = index; |
| 1745 } else if (char === Uri._LEFT_BRACKET) { | 1783 } else if (char === Uri[_LEFT_BRACKET]) { |
| 1746 lastColon = -1; | 1784 lastColon = -1; |
| 1747 let endBracket = uri.indexOf(']', dart.notNull(index) + 1); | 1785 let endBracket = uri.indexOf(']', dart.notNull(index) + 1); |
| 1748 if (endBracket === -1) { | 1786 if (endBracket === -1) { |
| 1749 index = uri.length; | 1787 index = uri.length; |
| 1750 char = EOI; | 1788 char = EOI; |
| 1751 break; | 1789 break; |
| 1752 } else { | 1790 } else { |
| 1753 index = endBracket; | 1791 index = endBracket; |
| 1754 } | 1792 } |
| 1755 } | 1793 } |
| 1756 index = dart.notNull(index) + 1; | 1794 index = dart.notNull(index) + 1; |
| 1757 char = EOI; | 1795 char = EOI; |
| 1758 } | 1796 } |
| 1759 let hostStart = authStart; | 1797 let hostStart = authStart; |
| 1760 let hostEnd = index; | 1798 let hostEnd = index; |
| 1761 if (dart.notNull(lastAt) >= 0) { | 1799 if (dart.notNull(lastAt) >= 0) { |
| 1762 userinfo = _makeUserInfo(uri, authStart, lastAt); | 1800 userinfo = Uri[_makeUserInfo](uri, authStart, lastAt); |
| 1763 hostStart = dart.notNull(lastAt) + 1; | 1801 hostStart = dart.notNull(lastAt) + 1; |
| 1764 } | 1802 } |
| 1765 if (dart.notNull(lastColon) >= 0) { | 1803 if (dart.notNull(lastColon) >= 0) { |
| 1766 let portNumber = null; | 1804 let portNumber = null; |
| 1767 if (dart.notNull(lastColon) + 1 < dart.notNull(index)) { | 1805 if (dart.notNull(lastColon) + 1 < dart.notNull(index)) { |
| 1768 portNumber = 0; | 1806 portNumber = 0; |
| 1769 for (let i = dart.notNull(lastColon) + 1; dart.notNull(i) < dart.not
Null(index); i = dart.notNull(i) + 1) { | 1807 for (let i = dart.notNull(lastColon) + 1; dart.notNull(i) < dart.not
Null(index); i = dart.notNull(i) + 1) { |
| 1770 let digit = uri.codeUnitAt(i); | 1808 let digit = uri.codeUnitAt(i); |
| 1771 if (dart.notNull(Uri._ZERO) > dart.notNull(digit) || dart.notNull(
Uri._NINE) < dart.notNull(digit)) { | 1809 if (dart.notNull(Uri[_ZERO]) > dart.notNull(digit) || dart.notNull
(Uri[_NINE]) < dart.notNull(digit)) { |
| 1772 _fail(uri, i, "Invalid port number"); | 1810 Uri[_fail](uri, i, "Invalid port number"); |
| 1773 } | 1811 } |
| 1774 portNumber = dart.notNull(portNumber) * 10 + (dart.notNull(digit)
- dart.notNull(Uri._ZERO)); | 1812 portNumber = dart.notNull(portNumber) * 10 + (dart.notNull(digit)
- dart.notNull(Uri[_ZERO])); |
| 1775 } | 1813 } |
| 1776 } | 1814 } |
| 1777 port = _makePort(portNumber, scheme); | 1815 port = Uri[_makePort](portNumber, scheme); |
| 1778 hostEnd = lastColon; | 1816 hostEnd = lastColon; |
| 1779 } | 1817 } |
| 1780 host = _makeHost(uri, hostStart, hostEnd, true); | 1818 host = Uri[_makeHost](uri, hostStart, hostEnd, true); |
| 1781 if (dart.notNull(index) < dart.notNull(uri.length)) { | 1819 if (dart.notNull(index) < dart.notNull(uri.length)) { |
| 1782 char = uri.codeUnitAt(index); | 1820 char = uri.codeUnitAt(index); |
| 1783 } | 1821 } |
| 1784 } | 1822 } |
| 1785 let NOT_IN_PATH = 0; | 1823 let NOT_IN_PATH = 0; |
| 1786 let IN_PATH = 1; | 1824 let IN_PATH = 1; |
| 1787 let ALLOW_AUTH = 2; | 1825 let ALLOW_AUTH = 2; |
| 1788 let state = NOT_IN_PATH; | 1826 let state = NOT_IN_PATH; |
| 1789 let i = index; | 1827 let i = index; |
| 1790 while (dart.notNull(i) < dart.notNull(uri.length)) { | 1828 while (dart.notNull(i) < dart.notNull(uri.length)) { |
| 1791 char = uri.codeUnitAt(i); | 1829 char = uri.codeUnitAt(i); |
| 1792 if (char === Uri._QUESTION || char === Uri._NUMBER_SIGN) { | 1830 if (char === Uri[_QUESTION] || char === Uri[_NUMBER_SIGN]) { |
| 1793 state = NOT_IN_PATH; | 1831 state = NOT_IN_PATH; |
| 1794 break; | 1832 break; |
| 1795 } | 1833 } |
| 1796 if (char === Uri._SLASH) { | 1834 if (char === Uri[_SLASH]) { |
| 1797 state = i === 0 ? ALLOW_AUTH : IN_PATH; | 1835 state = i === 0 ? ALLOW_AUTH : IN_PATH; |
| 1798 break; | 1836 break; |
| 1799 } | 1837 } |
| 1800 if (char === Uri._COLON) { | 1838 if (char === Uri[_COLON]) { |
| 1801 if (i === 0) | 1839 if (i === 0) |
| 1802 _fail(uri, 0, "Invalid empty scheme"); | 1840 Uri[_fail](uri, 0, "Invalid empty scheme"); |
| 1803 scheme = _makeScheme(uri, i); | 1841 scheme = Uri[_makeScheme](uri, i); |
| 1804 i = dart.notNull(i) + 1; | 1842 i = dart.notNull(i) + 1; |
| 1805 pathStart = i; | 1843 pathStart = i; |
| 1806 if (i === uri.length) { | 1844 if (i === uri.length) { |
| 1807 char = EOI; | 1845 char = EOI; |
| 1808 state = NOT_IN_PATH; | 1846 state = NOT_IN_PATH; |
| 1809 } else { | 1847 } else { |
| 1810 char = uri.codeUnitAt(i); | 1848 char = uri.codeUnitAt(i); |
| 1811 if (char === Uri._QUESTION || char === Uri._NUMBER_SIGN) { | 1849 if (char === Uri[_QUESTION] || char === Uri[_NUMBER_SIGN]) { |
| 1812 state = NOT_IN_PATH; | 1850 state = NOT_IN_PATH; |
| 1813 } else if (char === Uri._SLASH) { | 1851 } else if (char === Uri[_SLASH]) { |
| 1814 state = ALLOW_AUTH; | 1852 state = ALLOW_AUTH; |
| 1815 } else { | 1853 } else { |
| 1816 state = IN_PATH; | 1854 state = IN_PATH; |
| 1817 } | 1855 } |
| 1818 } | 1856 } |
| 1819 break; | 1857 break; |
| 1820 } | 1858 } |
| 1821 i = dart.notNull(i) + 1; | 1859 i = dart.notNull(i) + 1; |
| 1822 char = EOI; | 1860 char = EOI; |
| 1823 } | 1861 } |
| 1824 index = i; | 1862 index = i; |
| 1825 if (state === ALLOW_AUTH) { | 1863 if (state === ALLOW_AUTH) { |
| 1826 dart.assert(char === Uri._SLASH); | 1864 dart.assert(char === Uri[_SLASH]); |
| 1827 index = dart.notNull(index) + 1; | 1865 index = dart.notNull(index) + 1; |
| 1828 if (index === uri.length) { | 1866 if (index === uri.length) { |
| 1829 char = EOI; | 1867 char = EOI; |
| 1830 state = NOT_IN_PATH; | 1868 state = NOT_IN_PATH; |
| 1831 } else { | 1869 } else { |
| 1832 char = uri.codeUnitAt(index); | 1870 char = uri.codeUnitAt(index); |
| 1833 if (char === Uri._SLASH) { | 1871 if (char === Uri[_SLASH]) { |
| 1834 index = dart.notNull(index) + 1; | 1872 index = dart.notNull(index) + 1; |
| 1835 parseAuth(); | 1873 parseAuth(); |
| 1836 pathStart = index; | 1874 pathStart = index; |
| 1837 } | 1875 } |
| 1838 if (char === Uri._QUESTION || char === Uri._NUMBER_SIGN || char === EO
I) { | 1876 if (char === Uri[_QUESTION] || char === Uri[_NUMBER_SIGN] || char ===
EOI) { |
| 1839 state = NOT_IN_PATH; | 1877 state = NOT_IN_PATH; |
| 1840 } else { | 1878 } else { |
| 1841 state = IN_PATH; | 1879 state = IN_PATH; |
| 1842 } | 1880 } |
| 1843 } | 1881 } |
| 1844 } | 1882 } |
| 1845 dart.assert(state === IN_PATH || state === NOT_IN_PATH); | 1883 dart.assert(state === IN_PATH || state === NOT_IN_PATH); |
| 1846 if (state === IN_PATH) { | 1884 if (state === IN_PATH) { |
| 1847 while ((index = dart.notNull(index) + 1) < dart.notNull(uri.length)) { | 1885 while ((index = dart.notNull(index) + 1) < dart.notNull(uri.length)) { |
| 1848 char = uri.codeUnitAt(index); | 1886 char = uri.codeUnitAt(index); |
| 1849 if (char === Uri._QUESTION || char === Uri._NUMBER_SIGN) { | 1887 if (char === Uri[_QUESTION] || char === Uri[_NUMBER_SIGN]) { |
| 1850 break; | 1888 break; |
| 1851 } | 1889 } |
| 1852 char = EOI; | 1890 char = EOI; |
| 1853 } | 1891 } |
| 1854 state = NOT_IN_PATH; | 1892 state = NOT_IN_PATH; |
| 1855 } | 1893 } |
| 1856 dart.assert(state === NOT_IN_PATH); | 1894 dart.assert(state === NOT_IN_PATH); |
| 1857 let isFile = dart.equals(scheme, "file"); | 1895 let isFile = dart.equals(scheme, "file"); |
| 1858 let ensureLeadingSlash = host !== null; | 1896 let ensureLeadingSlash = host !== null; |
| 1859 path = _makePath(uri, pathStart, index, null, ensureLeadingSlash, isFile); | 1897 path = Uri[_makePath](uri, pathStart, index, null, ensureLeadingSlash, isF
ile); |
| 1860 if (char === Uri._QUESTION) { | 1898 if (char === Uri[_QUESTION]) { |
| 1861 let numberSignIndex = uri.indexOf('#', dart.notNull(index) + 1); | 1899 let numberSignIndex = uri.indexOf('#', dart.notNull(index) + 1); |
| 1862 if (dart.notNull(numberSignIndex) < 0) { | 1900 if (dart.notNull(numberSignIndex) < 0) { |
| 1863 query = _makeQuery(uri, dart.notNull(index) + 1, uri.length, null); | 1901 query = Uri[_makeQuery](uri, dart.notNull(index) + 1, uri.length, null
); |
| 1864 } else { | 1902 } else { |
| 1865 query = _makeQuery(uri, dart.notNull(index) + 1, numberSignIndex, null
); | 1903 query = Uri[_makeQuery](uri, dart.notNull(index) + 1, numberSignIndex,
null); |
| 1866 fragment = _makeFragment(uri, dart.notNull(numberSignIndex) + 1, uri.l
ength); | 1904 fragment = Uri[_makeFragment](uri, dart.notNull(numberSignIndex) + 1,
uri.length); |
| 1867 } | 1905 } |
| 1868 } else if (char === Uri._NUMBER_SIGN) { | 1906 } else if (char === Uri[_NUMBER_SIGN]) { |
| 1869 fragment = _makeFragment(uri, dart.notNull(index) + 1, uri.length); | 1907 fragment = Uri[_makeFragment](uri, dart.notNull(index) + 1, uri.length); |
| 1870 } | 1908 } |
| 1871 return new Uri._internal(scheme, userinfo, host, port, path, query, fragme
nt); | 1909 return new Uri._internal(scheme, userinfo, host, port, path, query, fragme
nt); |
| 1872 } | 1910 } |
| 1873 static [_fail$](uri, index, message) { | 1911 static [_fail](uri, index, message) { |
| 1874 throw new FormatException(message, uri, index); | 1912 throw new FormatException(message, uri, index); |
| 1875 } | 1913 } |
| 1876 Uri$_internal(scheme, userInfo$, host$, port$, path$, query$, fragment$) { | 1914 Uri$_internal(scheme, userInfo$, host$, port$, path$, query$, fragment$) { |
| 1877 this.scheme = scheme; | 1915 this.scheme = scheme; |
| 1878 this[_userInfo] = userInfo$; | 1916 this[_userInfo] = userInfo$; |
| 1879 this[_host] = host$; | 1917 this[_host] = host$; |
| 1880 this[_port] = port$; | 1918 this[_port] = port$; |
| 1881 this[_path] = path$; | 1919 this[_path] = path$; |
| 1882 this[_query] = query$; | 1920 this[_query] = query$; |
| 1883 this[_fragment] = fragment$; | 1921 this[_fragment] = fragment$; |
| 1884 this[_pathSegments] = null; | 1922 this[_pathSegments] = null; |
| 1885 this[_queryParameters] = null; | 1923 this[_queryParameters] = null; |
| 1886 } | 1924 } |
| 1887 Uri(opts) { | 1925 Uri(opts) { |
| 1888 let scheme = opts && 'scheme' in opts ? opts.scheme : ""; | 1926 let scheme = opts && 'scheme' in opts ? opts.scheme : ""; |
| 1889 let userInfo = opts && 'userInfo' in opts ? opts.userInfo : ""; | 1927 let userInfo = opts && 'userInfo' in opts ? opts.userInfo : ""; |
| 1890 let host = opts && 'host' in opts ? opts.host : null; | 1928 let host = opts && 'host' in opts ? opts.host : null; |
| 1891 let port = opts && 'port' in opts ? opts.port : null; | 1929 let port = opts && 'port' in opts ? opts.port : null; |
| 1892 let path = opts && 'path' in opts ? opts.path : null; | 1930 let path = opts && 'path' in opts ? opts.path : null; |
| 1893 let pathSegments = opts && 'pathSegments' in opts ? opts.pathSegments : nu
ll; | 1931 let pathSegments = opts && 'pathSegments' in opts ? opts.pathSegments : nu
ll; |
| 1894 let query = opts && 'query' in opts ? opts.query : null; | 1932 let query = opts && 'query' in opts ? opts.query : null; |
| 1895 let queryParameters = opts && 'queryParameters' in opts ? opts.queryParame
ters : null; | 1933 let queryParameters = opts && 'queryParameters' in opts ? opts.queryParame
ters : null; |
| 1896 let fragment = opts && 'fragment' in opts ? opts.fragment : null; | 1934 let fragment = opts && 'fragment' in opts ? opts.fragment : null; |
| 1897 scheme = _makeScheme(scheme, _stringOrNullLength(scheme)); | 1935 scheme = Uri[_makeScheme](scheme, Uri[_stringOrNullLength](scheme)); |
| 1898 userInfo = _makeUserInfo(userInfo, 0, _stringOrNullLength(userInfo)); | 1936 userInfo = Uri[_makeUserInfo](userInfo, 0, Uri[_stringOrNullLength](userIn
fo)); |
| 1899 host = _makeHost(host, 0, _stringOrNullLength(host), false); | 1937 host = Uri[_makeHost](host, 0, Uri[_stringOrNullLength](host), false); |
| 1900 if (dart.equals(query, "")) | 1938 if (dart.equals(query, "")) |
| 1901 query = null; | 1939 query = null; |
| 1902 query = _makeQuery(query, 0, _stringOrNullLength(query), queryParameters); | 1940 query = Uri[_makeQuery](query, 0, Uri[_stringOrNullLength](query), queryPa
rameters); |
| 1903 fragment = _makeFragment(fragment, 0, _stringOrNullLength(fragment)); | 1941 fragment = Uri[_makeFragment](fragment, 0, Uri[_stringOrNullLength](fragme
nt)); |
| 1904 port = _makePort(port, scheme); | 1942 port = Uri[_makePort](port, scheme); |
| 1905 let isFile = dart.equals(scheme, "file"); | 1943 let isFile = dart.equals(scheme, "file"); |
| 1906 if (dart.notNull(host === null) && (dart.notNull(userInfo.isNotEmpty) || p
ort !== null || dart.notNull(isFile))) { | 1944 if (dart.notNull(host === null) && (dart.notNull(userInfo.isNotEmpty) || p
ort !== null || dart.notNull(isFile))) { |
| 1907 host = ""; | 1945 host = ""; |
| 1908 } | 1946 } |
| 1909 let ensureLeadingSlash = host !== null; | 1947 let ensureLeadingSlash = host !== null; |
| 1910 path = _makePath(path, 0, _stringOrNullLength(path), pathSegments, ensureL
eadingSlash, isFile); | 1948 path = Uri[_makePath](path, 0, Uri[_stringOrNullLength](path), pathSegment
s, ensureLeadingSlash, isFile); |
| 1911 return new Uri._internal(scheme, userInfo, host, port, path, query, fragme
nt); | 1949 return new Uri._internal(scheme, userInfo, host, port, path, query, fragme
nt); |
| 1912 } | 1950 } |
| 1913 Uri$http(authority, unencodedPath, queryParameters) { | 1951 Uri$http(authority, unencodedPath, queryParameters) { |
| 1914 if (queryParameters === void 0) | 1952 if (queryParameters === void 0) |
| 1915 queryParameters = null; | 1953 queryParameters = null; |
| 1916 return _makeHttpUri("http", authority, unencodedPath, queryParameters); | 1954 return Uri[_makeHttpUri]("http", authority, unencodedPath, queryParameters
); |
| 1917 } | 1955 } |
| 1918 Uri$https(authority, unencodedPath, queryParameters) { | 1956 Uri$https(authority, unencodedPath, queryParameters) { |
| 1919 if (queryParameters === void 0) | 1957 if (queryParameters === void 0) |
| 1920 queryParameters = null; | 1958 queryParameters = null; |
| 1921 return _makeHttpUri("https", authority, unencodedPath, queryParameters); | 1959 return Uri[_makeHttpUri]("https", authority, unencodedPath, queryParameter
s); |
| 1922 } | 1960 } |
| 1923 static [_makeHttpUri$](scheme, authority, unencodedPath, queryParameters) { | 1961 static [_makeHttpUri](scheme, authority, unencodedPath, queryParameters) { |
| 1924 let userInfo = ""; | 1962 let userInfo = ""; |
| 1925 let host = null; | 1963 let host = null; |
| 1926 let port = null; | 1964 let port = null; |
| 1927 if (dart.notNull(authority !== null) && dart.notNull(authority.isNotEmpty)
) { | 1965 if (dart.notNull(authority !== null) && dart.notNull(authority.isNotEmpty)
) { |
| 1928 let hostStart = 0; | 1966 let hostStart = 0; |
| 1929 let hasUserInfo = false; | 1967 let hasUserInfo = false; |
| 1930 for (let i = 0; dart.notNull(i) < dart.notNull(authority.length); i = da
rt.notNull(i) + 1) { | 1968 for (let i = 0; dart.notNull(i) < dart.notNull(authority.length); i = da
rt.notNull(i) + 1) { |
| 1931 if (authority.codeUnitAt(i) === Uri._AT_SIGN) { | 1969 if (authority.codeUnitAt(i) === Uri[_AT_SIGN]) { |
| 1932 hasUserInfo = true; | 1970 hasUserInfo = true; |
| 1933 userInfo = authority.substring(0, i); | 1971 userInfo = authority.substring(0, i); |
| 1934 hostStart = dart.notNull(i) + 1; | 1972 hostStart = dart.notNull(i) + 1; |
| 1935 break; | 1973 break; |
| 1936 } | 1974 } |
| 1937 } | 1975 } |
| 1938 let hostEnd = hostStart; | 1976 let hostEnd = hostStart; |
| 1939 if (dart.notNull(hostStart) < dart.notNull(authority.length) && authorit
y.codeUnitAt(hostStart) === Uri._LEFT_BRACKET) { | 1977 if (dart.notNull(hostStart) < dart.notNull(authority.length) && authorit
y.codeUnitAt(hostStart) === Uri[_LEFT_BRACKET]) { |
| 1940 for (; dart.notNull(hostEnd) < dart.notNull(authority.length); hostEnd
= dart.notNull(hostEnd) + 1) { | 1978 for (; dart.notNull(hostEnd) < dart.notNull(authority.length); hostEnd
= dart.notNull(hostEnd) + 1) { |
| 1941 if (authority.codeUnitAt(hostEnd) === Uri._RIGHT_BRACKET) | 1979 if (authority.codeUnitAt(hostEnd) === Uri[_RIGHT_BRACKET]) |
| 1942 break; | 1980 break; |
| 1943 } | 1981 } |
| 1944 if (hostEnd === authority.length) { | 1982 if (hostEnd === authority.length) { |
| 1945 throw new FormatException("Invalid IPv6 host entry.", authority, hos
tStart); | 1983 throw new FormatException("Invalid IPv6 host entry.", authority, hos
tStart); |
| 1946 } | 1984 } |
| 1947 parseIPv6Address(authority, dart.notNull(hostStart) + 1, hostEnd); | 1985 Uri.parseIPv6Address(authority, dart.notNull(hostStart) + 1, hostEnd); |
| 1948 hostEnd = dart.notNull(hostEnd) + 1; | 1986 hostEnd = dart.notNull(hostEnd) + 1; |
| 1949 if (hostEnd !== authority.length && authority.codeUnitAt(hostEnd) !==
Uri._COLON) { | 1987 if (hostEnd !== authority.length && authority.codeUnitAt(hostEnd) !==
Uri[_COLON]) { |
| 1950 throw new FormatException("Invalid end of authority", authority, hos
tEnd); | 1988 throw new FormatException("Invalid end of authority", authority, hos
tEnd); |
| 1951 } | 1989 } |
| 1952 } | 1990 } |
| 1953 let hasPort = false; | 1991 let hasPort = false; |
| 1954 for (; dart.notNull(hostEnd) < dart.notNull(authority.length); hostEnd =
dart.notNull(hostEnd) + 1) { | 1992 for (; dart.notNull(hostEnd) < dart.notNull(authority.length); hostEnd =
dart.notNull(hostEnd) + 1) { |
| 1955 if (authority.codeUnitAt(hostEnd) === Uri._COLON) { | 1993 if (authority.codeUnitAt(hostEnd) === Uri[_COLON]) { |
| 1956 let portString = authority.substring(dart.notNull(hostEnd) + 1); | 1994 let portString = authority.substring(dart.notNull(hostEnd) + 1); |
| 1957 if (portString.isNotEmpty) | 1995 if (portString.isNotEmpty) |
| 1958 port = int.parse(portString); | 1996 port = int.parse(portString); |
| 1959 break; | 1997 break; |
| 1960 } | 1998 } |
| 1961 } | 1999 } |
| 1962 host = authority.substring(hostStart, hostEnd); | 2000 host = authority.substring(hostStart, hostEnd); |
| 1963 } | 2001 } |
| 1964 return new Uri({scheme: scheme, userInfo: userInfo, host: dart.as(host, St
ring), port: dart.as(port, int), pathSegments: unencodedPath.split("/"), queryPa
rameters: queryParameters}); | 2002 return new Uri({scheme: scheme, userInfo: userInfo, host: dart.as(host, St
ring), port: dart.as(port, int), pathSegments: unencodedPath.split("/"), queryPa
rameters: queryParameters}); |
| 1965 } | 2003 } |
| 1966 Uri$file(path, opts) { | 2004 Uri$file(path, opts) { |
| 1967 let windows = opts && 'windows' in opts ? opts.windows : null; | 2005 let windows = opts && 'windows' in opts ? opts.windows : null; |
| 1968 windows = windows === null ? Uri[_isWindows$] : windows; | 2006 windows = windows === null ? Uri[_isWindows] : windows; |
| 1969 return dart.as(windows ? _makeWindowsFileUrl(path) : _makeFileUri(path), U
ri); | 2007 return dart.as(windows ? Uri[_makeWindowsFileUrl](path) : Uri[_makeFileUri
](path), Uri); |
| 1970 } | 2008 } |
| 1971 static get base() { | 2009 static get base() { |
| 1972 let uri = _js_helper.Primitives.currentUri(); | 2010 let uri = _js_helper.Primitives.currentUri(); |
| 1973 if (uri !== null) | 2011 if (uri !== null) |
| 1974 return Uri.parse(uri); | 2012 return Uri.parse(uri); |
| 1975 throw new UnsupportedError("'Uri.base' is not supported"); | 2013 throw new UnsupportedError("'Uri.base' is not supported"); |
| 1976 } | 2014 } |
| 1977 static get [_isWindows$]() { | 2015 static get [_isWindows]() { |
| 1978 return false; | 2016 return false; |
| 1979 } | 2017 } |
| 1980 static [_checkNonWindowsPathReservedCharacters$](segments, argumentError) { | 2018 static [_checkNonWindowsPathReservedCharacters](segments, argumentError) { |
| 1981 segments.forEach(dart.closureWrap((segment) => { | 2019 segments.forEach(dart.closureWrap((segment) => { |
| 1982 if (dart.dinvoke(segment, 'contains', "/")) { | 2020 if (dart.dinvoke(segment, 'contains', "/")) { |
| 1983 if (argumentError) { | 2021 if (argumentError) { |
| 1984 throw new ArgumentError(`Illegal path character ${segment}`); | 2022 throw new ArgumentError(`Illegal path character ${segment}`); |
| 1985 } else { | 2023 } else { |
| 1986 throw new UnsupportedError(`Illegal path character ${segment}`); | 2024 throw new UnsupportedError(`Illegal path character ${segment}`); |
| 1987 } | 2025 } |
| 1988 } | 2026 } |
| 1989 }, "(String) → void")); | 2027 }, "(String) → void")); |
| 1990 } | 2028 } |
| 1991 static [_checkWindowsPathReservedCharacters$](segments, argumentError, first
Segment) { | 2029 static [_checkWindowsPathReservedCharacters](segments, argumentError, firstS
egment) { |
| 1992 if (firstSegment === void 0) | 2030 if (firstSegment === void 0) |
| 1993 firstSegment = 0; | 2031 firstSegment = 0; |
| 1994 segments.skip(firstSegment).forEach(dart.closureWrap((segment) => { | 2032 segments.skip(firstSegment).forEach(dart.closureWrap((segment) => { |
| 1995 if (dart.dinvoke(segment, 'contains', new RegExp('["*/:<>?\\\\|]'))) { | 2033 if (dart.dinvoke(segment, 'contains', new RegExp('["*/:<>?\\\\|]'))) { |
| 1996 if (argumentError) { | 2034 if (argumentError) { |
| 1997 throw new ArgumentError("Illegal character in path"); | 2035 throw new ArgumentError("Illegal character in path"); |
| 1998 } else { | 2036 } else { |
| 1999 throw new UnsupportedError("Illegal character in path"); | 2037 throw new UnsupportedError("Illegal character in path"); |
| 2000 } | 2038 } |
| 2001 } | 2039 } |
| 2002 }, "(String) → void")); | 2040 }, "(String) → void")); |
| 2003 } | 2041 } |
| 2004 static [_checkWindowsDriveLetter$](charCode, argumentError) { | 2042 static [_checkWindowsDriveLetter](charCode, argumentError) { |
| 2005 if (dart.notNull(Uri._UPPER_CASE_A) <= dart.notNull(charCode) && dart.notN
ull(charCode) <= dart.notNull(Uri._UPPER_CASE_Z) || dart.notNull(Uri._LOWER_CASE
_A) <= dart.notNull(charCode) && dart.notNull(charCode) <= dart.notNull(Uri._LOW
ER_CASE_Z)) { | 2043 if (dart.notNull(Uri[_UPPER_CASE_A]) <= dart.notNull(charCode) && dart.not
Null(charCode) <= dart.notNull(Uri[_UPPER_CASE_Z]) || dart.notNull(Uri[_LOWER_CA
SE_A]) <= dart.notNull(charCode) && dart.notNull(charCode) <= dart.notNull(Uri[_
LOWER_CASE_Z])) { |
| 2006 return; | 2044 return; |
| 2007 } | 2045 } |
| 2008 if (argumentError) { | 2046 if (argumentError) { |
| 2009 throw new ArgumentError(String['+']("Illegal drive letter ", new String.
fromCharCode(charCode))); | 2047 throw new ArgumentError(String['+']("Illegal drive letter ", new String.
fromCharCode(charCode))); |
| 2010 } else { | 2048 } else { |
| 2011 throw new UnsupportedError(String['+']("Illegal drive letter ", new Stri
ng.fromCharCode(charCode))); | 2049 throw new UnsupportedError(String['+']("Illegal drive letter ", new Stri
ng.fromCharCode(charCode))); |
| 2012 } | 2050 } |
| 2013 } | 2051 } |
| 2014 static [_makeFileUri$](path) { | 2052 static [_makeFileUri](path) { |
| 2015 let sep = "/"; | 2053 let sep = "/"; |
| 2016 if (path.startsWith(sep)) { | 2054 if (path.startsWith(sep)) { |
| 2017 return new Uri({scheme: "file", pathSegments: path.split(sep)}); | 2055 return new Uri({scheme: "file", pathSegments: path.split(sep)}); |
| 2018 } else { | 2056 } else { |
| 2019 return new Uri({pathSegments: path.split(sep)}); | 2057 return new Uri({pathSegments: path.split(sep)}); |
| 2020 } | 2058 } |
| 2021 } | 2059 } |
| 2022 static [_makeWindowsFileUrl$](path) { | 2060 static [_makeWindowsFileUrl](path) { |
| 2023 if (path.startsWith("\\\\?\\")) { | 2061 if (path.startsWith("\\\\?\\")) { |
| 2024 if (path.startsWith("\\\\?\\UNC\\")) { | 2062 if (path.startsWith("\\\\?\\UNC\\")) { |
| 2025 path = `\\${path.substring(7)}`; | 2063 path = `\\${path.substring(7)}`; |
| 2026 } else { | 2064 } else { |
| 2027 path = path.substring(4); | 2065 path = path.substring(4); |
| 2028 if (dart.notNull(path.length) < 3 || path.codeUnitAt(1) !== Uri._COLON
|| path.codeUnitAt(2) !== Uri._BACKSLASH) { | 2066 if (dart.notNull(path.length) < 3 || path.codeUnitAt(1) !== Uri[_COLON
] || path.codeUnitAt(2) !== Uri[_BACKSLASH]) { |
| 2029 throw new ArgumentError("Windows paths with \\\\?\\ prefix must be a
bsolute"); | 2067 throw new ArgumentError("Windows paths with \\\\?\\ prefix must be a
bsolute"); |
| 2030 } | 2068 } |
| 2031 } | 2069 } |
| 2032 } else { | 2070 } else { |
| 2033 path = path.replaceAll("/", "\\"); | 2071 path = path.replaceAll("/", "\\"); |
| 2034 } | 2072 } |
| 2035 let sep = "\\"; | 2073 let sep = "\\"; |
| 2036 if (dart.notNull(path.length) > 1 && dart.notNull(dart.equals(path.get(1),
":"))) { | 2074 if (dart.notNull(path.length) > 1 && dart.notNull(dart.equals(path.get(1),
":"))) { |
| 2037 _checkWindowsDriveLetter(path.codeUnitAt(0), true); | 2075 Uri[_checkWindowsDriveLetter](path.codeUnitAt(0), true); |
| 2038 if (path.length === 2 || path.codeUnitAt(2) !== Uri._BACKSLASH) { | 2076 if (path.length === 2 || path.codeUnitAt(2) !== Uri[_BACKSLASH]) { |
| 2039 throw new ArgumentError("Windows paths with drive letter must be absol
ute"); | 2077 throw new ArgumentError("Windows paths with drive letter must be absol
ute"); |
| 2040 } | 2078 } |
| 2041 let pathSegments = path.split(sep); | 2079 let pathSegments = path.split(sep); |
| 2042 _checkWindowsPathReservedCharacters(pathSegments, true, 1); | 2080 Uri[_checkWindowsPathReservedCharacters](pathSegments, true, 1); |
| 2043 return new Uri({scheme: "file", pathSegments: pathSegments}); | 2081 return new Uri({scheme: "file", pathSegments: pathSegments}); |
| 2044 } | 2082 } |
| 2045 if (dart.notNull(path.length) > 0 && dart.notNull(dart.equals(path.get(0),
sep))) { | 2083 if (dart.notNull(path.length) > 0 && dart.notNull(dart.equals(path.get(0),
sep))) { |
| 2046 if (dart.notNull(path.length) > 1 && dart.notNull(dart.equals(path.get(1
), sep))) { | 2084 if (dart.notNull(path.length) > 1 && dart.notNull(dart.equals(path.get(1
), sep))) { |
| 2047 let pathStart = path.indexOf("\\", 2); | 2085 let pathStart = path.indexOf("\\", 2); |
| 2048 let hostPart = pathStart === -1 ? path.substring(2) : path.substring(2
, pathStart); | 2086 let hostPart = pathStart === -1 ? path.substring(2) : path.substring(2
, pathStart); |
| 2049 let pathPart = pathStart === -1 ? "" : path.substring(dart.notNull(pat
hStart) + 1); | 2087 let pathPart = pathStart === -1 ? "" : path.substring(dart.notNull(pat
hStart) + 1); |
| 2050 let pathSegments = pathPart.split(sep); | 2088 let pathSegments = pathPart.split(sep); |
| 2051 _checkWindowsPathReservedCharacters(pathSegments, true); | 2089 Uri[_checkWindowsPathReservedCharacters](pathSegments, true); |
| 2052 return new Uri({scheme: "file", host: hostPart, pathSegments: pathSegm
ents}); | 2090 return new Uri({scheme: "file", host: hostPart, pathSegments: pathSegm
ents}); |
| 2053 } else { | 2091 } else { |
| 2054 let pathSegments = path.split(sep); | 2092 let pathSegments = path.split(sep); |
| 2055 _checkWindowsPathReservedCharacters(pathSegments, true); | 2093 Uri[_checkWindowsPathReservedCharacters](pathSegments, true); |
| 2056 return new Uri({scheme: "file", pathSegments: pathSegments}); | 2094 return new Uri({scheme: "file", pathSegments: pathSegments}); |
| 2057 } | 2095 } |
| 2058 } else { | 2096 } else { |
| 2059 let pathSegments = path.split(sep); | 2097 let pathSegments = path.split(sep); |
| 2060 _checkWindowsPathReservedCharacters(pathSegments, true); | 2098 Uri[_checkWindowsPathReservedCharacters](pathSegments, true); |
| 2061 return new Uri({pathSegments: pathSegments}); | 2099 return new Uri({pathSegments: pathSegments}); |
| 2062 } | 2100 } |
| 2063 } | 2101 } |
| 2064 replace(opts) { | 2102 replace(opts) { |
| 2065 let scheme = opts && 'scheme' in opts ? opts.scheme : null; | 2103 let scheme = opts && 'scheme' in opts ? opts.scheme : null; |
| 2066 let userInfo = opts && 'userInfo' in opts ? opts.userInfo : null; | 2104 let userInfo = opts && 'userInfo' in opts ? opts.userInfo : null; |
| 2067 let host = opts && 'host' in opts ? opts.host : null; | 2105 let host = opts && 'host' in opts ? opts.host : null; |
| 2068 let port = opts && 'port' in opts ? opts.port : null; | 2106 let port = opts && 'port' in opts ? opts.port : null; |
| 2069 let path = opts && 'path' in opts ? opts.path : null; | 2107 let path = opts && 'path' in opts ? opts.path : null; |
| 2070 let pathSegments = opts && 'pathSegments' in opts ? opts.pathSegments : nu
ll; | 2108 let pathSegments = opts && 'pathSegments' in opts ? opts.pathSegments : nu
ll; |
| 2071 let query = opts && 'query' in opts ? opts.query : null; | 2109 let query = opts && 'query' in opts ? opts.query : null; |
| 2072 let queryParameters = opts && 'queryParameters' in opts ? opts.queryParame
ters : null; | 2110 let queryParameters = opts && 'queryParameters' in opts ? opts.queryParame
ters : null; |
| 2073 let fragment = opts && 'fragment' in opts ? opts.fragment : null; | 2111 let fragment = opts && 'fragment' in opts ? opts.fragment : null; |
| 2074 let schemeChanged = false; | 2112 let schemeChanged = false; |
| 2075 if (scheme !== null) { | 2113 if (scheme !== null) { |
| 2076 scheme = _makeScheme(scheme, scheme.length); | 2114 scheme = Uri[_makeScheme](scheme, scheme.length); |
| 2077 schemeChanged = true; | 2115 schemeChanged = true; |
| 2078 } else { | 2116 } else { |
| 2079 scheme = this.scheme; | 2117 scheme = this.scheme; |
| 2080 } | 2118 } |
| 2081 let isFile = dart.equals(scheme, "file"); | 2119 let isFile = dart.equals(scheme, "file"); |
| 2082 if (userInfo !== null) { | 2120 if (userInfo !== null) { |
| 2083 userInfo = _makeUserInfo(userInfo, 0, userInfo.length); | 2121 userInfo = Uri[_makeUserInfo](userInfo, 0, userInfo.length); |
| 2084 } else { | 2122 } else { |
| 2085 userInfo = this.userInfo; | 2123 userInfo = this.userInfo; |
| 2086 } | 2124 } |
| 2087 if (port !== null) { | 2125 if (port !== null) { |
| 2088 port = _makePort(port, scheme); | 2126 port = Uri[_makePort](port, scheme); |
| 2089 } else { | 2127 } else { |
| 2090 port = this[_port]; | 2128 port = this[_port]; |
| 2091 if (schemeChanged) { | 2129 if (schemeChanged) { |
| 2092 port = _makePort(port, scheme); | 2130 port = Uri[_makePort](port, scheme); |
| 2093 } | 2131 } |
| 2094 } | 2132 } |
| 2095 if (host !== null) { | 2133 if (host !== null) { |
| 2096 host = _makeHost(host, 0, host.length, false); | 2134 host = Uri[_makeHost](host, 0, host.length, false); |
| 2097 } else if (this.hasAuthority) { | 2135 } else if (this.hasAuthority) { |
| 2098 host = this.host; | 2136 host = this.host; |
| 2099 } else if (dart.notNull(userInfo.isNotEmpty) || port !== null || dart.notN
ull(isFile)) { | 2137 } else if (dart.notNull(userInfo.isNotEmpty) || port !== null || dart.notN
ull(isFile)) { |
| 2100 host = ""; | 2138 host = ""; |
| 2101 } | 2139 } |
| 2102 let ensureLeadingSlash = host !== null; | 2140 let ensureLeadingSlash = host !== null; |
| 2103 if (dart.notNull(path !== null) || dart.notNull(pathSegments !== null)) { | 2141 if (dart.notNull(path !== null) || dart.notNull(pathSegments !== null)) { |
| 2104 path = _makePath(path, 0, _stringOrNullLength(path), pathSegments, ensur
eLeadingSlash, isFile); | 2142 path = Uri[_makePath](path, 0, Uri[_stringOrNullLength](path), pathSegme
nts, ensureLeadingSlash, isFile); |
| 2105 } else { | 2143 } else { |
| 2106 path = this.path; | 2144 path = this.path; |
| 2107 if ((dart.notNull(isFile) || dart.notNull(ensureLeadingSlash) && !dart.n
otNull(path.isEmpty)) && !dart.notNull(path.startsWith('/'))) { | 2145 if ((dart.notNull(isFile) || dart.notNull(ensureLeadingSlash) && !dart.n
otNull(path.isEmpty)) && !dart.notNull(path.startsWith('/'))) { |
| 2108 path = `/${path}`; | 2146 path = `/${path}`; |
| 2109 } | 2147 } |
| 2110 } | 2148 } |
| 2111 if (dart.notNull(query !== null) || dart.notNull(queryParameters !== null)
) { | 2149 if (dart.notNull(query !== null) || dart.notNull(queryParameters !== null)
) { |
| 2112 query = _makeQuery(query, 0, _stringOrNullLength(query), queryParameters
); | 2150 query = Uri[_makeQuery](query, 0, Uri[_stringOrNullLength](query), query
Parameters); |
| 2113 } else if (this.hasQuery) { | 2151 } else if (this.hasQuery) { |
| 2114 query = this.query; | 2152 query = this.query; |
| 2115 } | 2153 } |
| 2116 if (fragment !== null) { | 2154 if (fragment !== null) { |
| 2117 fragment = _makeFragment(fragment, 0, fragment.length); | 2155 fragment = Uri[_makeFragment](fragment, 0, fragment.length); |
| 2118 } else if (this.hasFragment) { | 2156 } else if (this.hasFragment) { |
| 2119 fragment = this.fragment; | 2157 fragment = this.fragment; |
| 2120 } | 2158 } |
| 2121 return new Uri._internal(scheme, userInfo, host, port, path, query, fragme
nt); | 2159 return new Uri._internal(scheme, userInfo, host, port, path, query, fragme
nt); |
| 2122 } | 2160 } |
| 2123 get pathSegments() { | 2161 get pathSegments() { |
| 2124 if (this[_pathSegments] === null) { | 2162 if (this[_pathSegments] === null) { |
| 2125 let pathToSplit = !dart.notNull(this.path.isEmpty) && this.path.codeUnit
At(0) === Uri._SLASH ? this.path.substring(1) : this.path; | 2163 let pathToSplit = !dart.notNull(this.path.isEmpty) && this.path.codeUnit
At(0) === Uri[_SLASH] ? this.path.substring(1) : this.path; |
| 2126 this[_pathSegments] = dart.as(new collection.UnmodifiableListView(dart.e
quals(pathToSplit, "") ? /* Unimplemented const */new List.from([]) : pathToSpli
t.split("/").map(Uri.decodeComponent).toList({growable: false})), List$(String))
; | 2164 this[_pathSegments] = dart.as(new collection.UnmodifiableListView(dart.e
quals(pathToSplit, "") ? /* Unimplemented const */new List.from([]) : pathToSpli
t.split("/").map(Uri.decodeComponent).toList({growable: false})), List$(String))
; |
| 2127 } | 2165 } |
| 2128 return this[_pathSegments]; | 2166 return this[_pathSegments]; |
| 2129 } | 2167 } |
| 2130 get queryParameters() { | 2168 get queryParameters() { |
| 2131 if (this[_queryParameters] === null) { | 2169 if (this[_queryParameters] === null) { |
| 2132 this[_queryParameters] = dart.as(new collection.UnmodifiableMapView(spli
tQueryString(this.query)), Map$(String, String)); | 2170 this[_queryParameters] = dart.as(new collection.UnmodifiableMapView(Uri.
splitQueryString(this.query)), Map$(String, String)); |
| 2133 } | 2171 } |
| 2134 return this[_queryParameters]; | 2172 return this[_queryParameters]; |
| 2135 } | 2173 } |
| 2136 static [_makePort$](port, scheme) { | 2174 static [_makePort](port, scheme) { |
| 2137 if (port !== null && port === _defaultPort(scheme)) | 2175 if (port !== null && port === Uri[_defaultPort](scheme)) |
| 2138 return null; | 2176 return null; |
| 2139 return port; | 2177 return port; |
| 2140 } | 2178 } |
| 2141 static [_makeHost$](host, start, end, strictIPv6) { | 2179 static [_makeHost](host, start, end, strictIPv6) { |
| 2142 if (host === null) | 2180 if (host === null) |
| 2143 return null; | 2181 return null; |
| 2144 if (start === end) | 2182 if (start === end) |
| 2145 return ""; | 2183 return ""; |
| 2146 if (host.codeUnitAt(start) === Uri._LEFT_BRACKET) { | 2184 if (host.codeUnitAt(start) === Uri[_LEFT_BRACKET]) { |
| 2147 if (host.codeUnitAt(dart.notNull(end) - 1) !== Uri._RIGHT_BRACKET) { | 2185 if (host.codeUnitAt(dart.notNull(end) - 1) !== Uri[_RIGHT_BRACKET]) { |
| 2148 _fail(host, start, 'Missing end `]` to match `[` in host'); | 2186 Uri[_fail](host, start, 'Missing end `]` to match `[` in host'); |
| 2149 } | 2187 } |
| 2150 parseIPv6Address(host, dart.notNull(start) + 1, dart.notNull(end) - 1); | 2188 Uri.parseIPv6Address(host, dart.notNull(start) + 1, dart.notNull(end) -
1); |
| 2151 return host.substring(start, end).toLowerCase(); | 2189 return host.substring(start, end).toLowerCase(); |
| 2152 } | 2190 } |
| 2153 if (!dart.notNull(strictIPv6)) { | 2191 if (!dart.notNull(strictIPv6)) { |
| 2154 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNul
l(i) + 1) { | 2192 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNul
l(i) + 1) { |
| 2155 if (host.codeUnitAt(i) === Uri._COLON) { | 2193 if (host.codeUnitAt(i) === Uri[_COLON]) { |
| 2156 parseIPv6Address(host, start, end); | 2194 Uri.parseIPv6Address(host, start, end); |
| 2157 return `[${host}]`; | 2195 return `[${host}]`; |
| 2158 } | 2196 } |
| 2159 } | 2197 } |
| 2160 } | 2198 } |
| 2161 return _normalizeRegName(host, start, end); | 2199 return Uri[_normalizeRegName](host, start, end); |
| 2162 } | 2200 } |
| 2163 static [_isRegNameChar$](char) { | 2201 static [_isRegNameChar](char) { |
| 2164 return dart.notNull(char) < 127 && dart.notNull(!dart.equals(dart.dbinary(
Uri._regNameTable.get(dart.notNull(char) >> 4), '&', 1 << (dart.notNull(char) &
15)), 0)); | 2202 return dart.notNull(char) < 127 && dart.notNull(!dart.equals(dart.dbinary(
Uri[_regNameTable].get(dart.notNull(char) >> 4), '&', 1 << (dart.notNull(char) &
15)), 0)); |
| 2165 } | 2203 } |
| 2166 static [_normalizeRegName$](host, start, end) { | 2204 static [_normalizeRegName](host, start, end) { |
| 2167 let buffer = null; | 2205 let buffer = null; |
| 2168 let sectionStart = start; | 2206 let sectionStart = start; |
| 2169 let index = start; | 2207 let index = start; |
| 2170 let isNormalized = true; | 2208 let isNormalized = true; |
| 2171 while (dart.notNull(index) < dart.notNull(end)) { | 2209 while (dart.notNull(index) < dart.notNull(end)) { |
| 2172 let char = host.codeUnitAt(index); | 2210 let char = host.codeUnitAt(index); |
| 2173 if (char === Uri._PERCENT) { | 2211 if (char === Uri[_PERCENT]) { |
| 2174 let replacement = _normalizeEscape(host, index, true); | 2212 let replacement = Uri[_normalizeEscape](host, index, true); |
| 2175 if (dart.notNull(replacement === null) && dart.notNull(isNormalized))
{ | 2213 if (dart.notNull(replacement === null) && dart.notNull(isNormalized))
{ |
| 2176 index = 3; | 2214 index = 3; |
| 2177 continue; | 2215 continue; |
| 2178 } | 2216 } |
| 2179 if (buffer === null) | 2217 if (buffer === null) |
| 2180 buffer = new StringBuffer(); | 2218 buffer = new StringBuffer(); |
| 2181 let slice = host.substring(sectionStart, index); | 2219 let slice = host.substring(sectionStart, index); |
| 2182 if (!dart.notNull(isNormalized)) | 2220 if (!dart.notNull(isNormalized)) |
| 2183 slice = slice.toLowerCase(); | 2221 slice = slice.toLowerCase(); |
| 2184 buffer.write(slice); | 2222 buffer.write(slice); |
| 2185 let sourceLength = 3; | 2223 let sourceLength = 3; |
| 2186 if (replacement === null) { | 2224 if (replacement === null) { |
| 2187 replacement = host.substring(index, dart.notNull(index) + 3); | 2225 replacement = host.substring(index, dart.notNull(index) + 3); |
| 2188 } else if (dart.equals(replacement, "%")) { | 2226 } else if (dart.equals(replacement, "%")) { |
| 2189 replacement = "%25"; | 2227 replacement = "%25"; |
| 2190 sourceLength = 1; | 2228 sourceLength = 1; |
| 2191 } | 2229 } |
| 2192 buffer.write(replacement); | 2230 buffer.write(replacement); |
| 2193 index = sourceLength; | 2231 index = sourceLength; |
| 2194 sectionStart = index; | 2232 sectionStart = index; |
| 2195 isNormalized = true; | 2233 isNormalized = true; |
| 2196 } else if (_isRegNameChar(char)) { | 2234 } else if (Uri[_isRegNameChar](char)) { |
| 2197 if (dart.notNull(isNormalized) && dart.notNull(Uri._UPPER_CASE_A) <= d
art.notNull(char) && dart.notNull(Uri._UPPER_CASE_Z) >= dart.notNull(char)) { | 2235 if (dart.notNull(isNormalized) && dart.notNull(Uri[_UPPER_CASE_A]) <=
dart.notNull(char) && dart.notNull(Uri[_UPPER_CASE_Z]) >= dart.notNull(char)) { |
| 2198 if (buffer === null) | 2236 if (buffer === null) |
| 2199 buffer = new StringBuffer(); | 2237 buffer = new StringBuffer(); |
| 2200 if (dart.notNull(sectionStart) < dart.notNull(index)) { | 2238 if (dart.notNull(sectionStart) < dart.notNull(index)) { |
| 2201 buffer.write(host.substring(sectionStart, index)); | 2239 buffer.write(host.substring(sectionStart, index)); |
| 2202 sectionStart = index; | 2240 sectionStart = index; |
| 2203 } | 2241 } |
| 2204 isNormalized = false; | 2242 isNormalized = false; |
| 2205 } | 2243 } |
| 2206 index = dart.notNull(index) + 1; | 2244 index = dart.notNull(index) + 1; |
| 2207 } else if (_isGeneralDelimiter(char)) { | 2245 } else if (Uri[_isGeneralDelimiter](char)) { |
| 2208 _fail(host, index, "Invalid character"); | 2246 Uri[_fail](host, index, "Invalid character"); |
| 2209 } else { | 2247 } else { |
| 2210 let sourceLength = 1; | 2248 let sourceLength = 1; |
| 2211 if ((dart.notNull(char) & 64512) === 55296 && dart.notNull(index) + 1
< dart.notNull(end)) { | 2249 if ((dart.notNull(char) & 64512) === 55296 && dart.notNull(index) + 1
< dart.notNull(end)) { |
| 2212 let tail = host.codeUnitAt(dart.notNull(index) + 1); | 2250 let tail = host.codeUnitAt(dart.notNull(index) + 1); |
| 2213 if ((dart.notNull(tail) & 64512) === 56320) { | 2251 if ((dart.notNull(tail) & 64512) === 56320) { |
| 2214 char = 65536 | (dart.notNull(char) & 1023) << 10 | dart.notNull(ta
il) & 1023; | 2252 char = 65536 | (dart.notNull(char) & 1023) << 10 | dart.notNull(ta
il) & 1023; |
| 2215 sourceLength = 2; | 2253 sourceLength = 2; |
| 2216 } | 2254 } |
| 2217 } | 2255 } |
| 2218 if (buffer === null) | 2256 if (buffer === null) |
| 2219 buffer = new StringBuffer(); | 2257 buffer = new StringBuffer(); |
| 2220 let slice = host.substring(sectionStart, index); | 2258 let slice = host.substring(sectionStart, index); |
| 2221 if (!dart.notNull(isNormalized)) | 2259 if (!dart.notNull(isNormalized)) |
| 2222 slice = slice.toLowerCase(); | 2260 slice = slice.toLowerCase(); |
| 2223 buffer.write(slice); | 2261 buffer.write(slice); |
| 2224 buffer.write(_escapeChar(char)); | 2262 buffer.write(Uri[_escapeChar](char)); |
| 2225 index = sourceLength; | 2263 index = sourceLength; |
| 2226 sectionStart = index; | 2264 sectionStart = index; |
| 2227 } | 2265 } |
| 2228 } | 2266 } |
| 2229 if (buffer === null) | 2267 if (buffer === null) |
| 2230 return host.substring(start, end); | 2268 return host.substring(start, end); |
| 2231 if (dart.notNull(sectionStart) < dart.notNull(end)) { | 2269 if (dart.notNull(sectionStart) < dart.notNull(end)) { |
| 2232 let slice = host.substring(sectionStart, end); | 2270 let slice = host.substring(sectionStart, end); |
| 2233 if (!dart.notNull(isNormalized)) | 2271 if (!dart.notNull(isNormalized)) |
| 2234 slice = slice.toLowerCase(); | 2272 slice = slice.toLowerCase(); |
| 2235 buffer.write(slice); | 2273 buffer.write(slice); |
| 2236 } | 2274 } |
| 2237 return buffer.toString(); | 2275 return buffer.toString(); |
| 2238 } | 2276 } |
| 2239 static [_makeScheme$](scheme, end) { | 2277 static [_makeScheme](scheme, end) { |
| 2240 if (end === 0) | 2278 if (end === 0) |
| 2241 return ""; | 2279 return ""; |
| 2242 let firstCodeUnit = scheme.codeUnitAt(0); | 2280 let firstCodeUnit = scheme.codeUnitAt(0); |
| 2243 if (!dart.notNull(_isAlphabeticCharacter(firstCodeUnit))) { | 2281 if (!dart.notNull(Uri[_isAlphabeticCharacter](firstCodeUnit))) { |
| 2244 _fail(scheme, 0, "Scheme not starting with alphabetic character"); | 2282 Uri[_fail](scheme, 0, "Scheme not starting with alphabetic character"); |
| 2245 } | 2283 } |
| 2246 let allLowercase = dart.notNull(firstCodeUnit) >= dart.notNull(Uri._LOWER_
CASE_A); | 2284 let allLowercase = dart.notNull(firstCodeUnit) >= dart.notNull(Uri[_LOWER_
CASE_A]); |
| 2247 for (let i = 0; dart.notNull(i) < dart.notNull(end); i = dart.notNull(i) +
1) { | 2285 for (let i = 0; dart.notNull(i) < dart.notNull(end); i = dart.notNull(i) +
1) { |
| 2248 let codeUnit = scheme.codeUnitAt(i); | 2286 let codeUnit = scheme.codeUnitAt(i); |
| 2249 if (!dart.notNull(_isSchemeCharacter(codeUnit))) { | 2287 if (!dart.notNull(Uri[_isSchemeCharacter](codeUnit))) { |
| 2250 _fail(scheme, i, "Illegal scheme character"); | 2288 Uri[_fail](scheme, i, "Illegal scheme character"); |
| 2251 } | 2289 } |
| 2252 if (dart.notNull(codeUnit) < dart.notNull(Uri._LOWER_CASE_A) || dart.not
Null(codeUnit) > dart.notNull(Uri._LOWER_CASE_Z)) { | 2290 if (dart.notNull(codeUnit) < dart.notNull(Uri[_LOWER_CASE_A]) || dart.no
tNull(codeUnit) > dart.notNull(Uri[_LOWER_CASE_Z])) { |
| 2253 allLowercase = false; | 2291 allLowercase = false; |
| 2254 } | 2292 } |
| 2255 } | 2293 } |
| 2256 scheme = scheme.substring(0, end); | 2294 scheme = scheme.substring(0, end); |
| 2257 if (!dart.notNull(allLowercase)) | 2295 if (!dart.notNull(allLowercase)) |
| 2258 scheme = scheme.toLowerCase(); | 2296 scheme = scheme.toLowerCase(); |
| 2259 return scheme; | 2297 return scheme; |
| 2260 } | 2298 } |
| 2261 static [_makeUserInfo$](userInfo, start, end) { | 2299 static [_makeUserInfo](userInfo, start, end) { |
| 2262 if (userInfo === null) | 2300 if (userInfo === null) |
| 2263 return ""; | 2301 return ""; |
| 2264 return _normalize(userInfo, start, end, dart.as(Uri._userinfoTable, List$(
int))); | 2302 return Uri[_normalize](userInfo, start, end, dart.as(Uri[_userinfoTable],
List$(int))); |
| 2265 } | 2303 } |
| 2266 static [_makePath$](path, start, end, pathSegments, ensureLeadingSlash, isFi
le) { | 2304 static [_makePath](path, start, end, pathSegments, ensureLeadingSlash, isFil
e) { |
| 2267 if (dart.notNull(path === null) && dart.notNull(pathSegments === null)) | 2305 if (dart.notNull(path === null) && dart.notNull(pathSegments === null)) |
| 2268 return isFile ? "/" : ""; | 2306 return isFile ? "/" : ""; |
| 2269 if (dart.notNull(path !== null) && dart.notNull(pathSegments !== null)) { | 2307 if (dart.notNull(path !== null) && dart.notNull(pathSegments !== null)) { |
| 2270 throw new ArgumentError('Both path and pathSegments specified'); | 2308 throw new ArgumentError('Both path and pathSegments specified'); |
| 2271 } | 2309 } |
| 2272 let result = null; | 2310 let result = null; |
| 2273 if (path !== null) { | 2311 if (path !== null) { |
| 2274 result = _normalize(path, start, end, dart.as(Uri._pathCharOrSlashTable,
List$(int))); | 2312 result = Uri[_normalize](path, start, end, dart.as(Uri[_pathCharOrSlashT
able], List$(int))); |
| 2275 } else { | 2313 } else { |
| 2276 result = pathSegments.map(dart.closureWrap((s) => _uriEncode(dart.as(Uri
._pathCharTable, List$(int)), dart.as(s, String)), "(String) → dynamic")).join("
/"); | 2314 result = pathSegments.map(dart.closureWrap((s) => Uri[_uriEncode](dart.a
s(Uri[_pathCharTable], List$(int)), dart.as(s, String)), "(String) → dynamic")).
join("/"); |
| 2277 } | 2315 } |
| 2278 if (dart.dload(result, 'isEmpty')) { | 2316 if (dart.dload(result, 'isEmpty')) { |
| 2279 if (isFile) | 2317 if (isFile) |
| 2280 return "/"; | 2318 return "/"; |
| 2281 } else if ((dart.notNull(isFile) || dart.notNull(ensureLeadingSlash)) && d
art.notNull(!dart.equals(dart.dinvoke(result, 'codeUnitAt', 0), Uri._SLASH))) { | 2319 } else if ((dart.notNull(isFile) || dart.notNull(ensureLeadingSlash)) && d
art.notNull(!dart.equals(dart.dinvoke(result, 'codeUnitAt', 0), Uri[_SLASH]))) { |
| 2282 return `/${result}`; | 2320 return `/${result}`; |
| 2283 } | 2321 } |
| 2284 return dart.as(result, String); | 2322 return dart.as(result, String); |
| 2285 } | 2323 } |
| 2286 static [_makeQuery$](query, start, end, queryParameters) { | 2324 static [_makeQuery](query, start, end, queryParameters) { |
| 2287 if (dart.notNull(query === null) && dart.notNull(queryParameters === null)
) | 2325 if (dart.notNull(query === null) && dart.notNull(queryParameters === null)
) |
| 2288 return null; | 2326 return null; |
| 2289 if (dart.notNull(query !== null) && dart.notNull(queryParameters !== null)
) { | 2327 if (dart.notNull(query !== null) && dart.notNull(queryParameters !== null)
) { |
| 2290 throw new ArgumentError('Both query and queryParameters specified'); | 2328 throw new ArgumentError('Both query and queryParameters specified'); |
| 2291 } | 2329 } |
| 2292 if (query !== null) | 2330 if (query !== null) |
| 2293 return _normalize(query, start, end, dart.as(Uri._queryCharTable, List$(
int))); | 2331 return Uri[_normalize](query, start, end, dart.as(Uri[_queryCharTable],
List$(int))); |
| 2294 let result = new StringBuffer(); | 2332 let result = new StringBuffer(); |
| 2295 let first = true; | 2333 let first = true; |
| 2296 queryParameters.forEach(dart.closureWrap(((key, value) => { | 2334 queryParameters.forEach(dart.closureWrap(((key, value) => { |
| 2297 if (!dart.notNull(first)) { | 2335 if (!dart.notNull(first)) { |
| 2298 result.write("&"); | 2336 result.write("&"); |
| 2299 } | 2337 } |
| 2300 first = false; | 2338 first = false; |
| 2301 result.write(Uri.encodeQueryComponent(dart.as(key, String))); | 2339 result.write(Uri.encodeQueryComponent(dart.as(key, String))); |
| 2302 if (dart.notNull(value !== null) && dart.notNull(dart.dunary('!', dart.d
load(value, 'isEmpty')))) { | 2340 if (dart.notNull(value !== null) && dart.notNull(dart.dunary('!', dart.d
load(value, 'isEmpty')))) { |
| 2303 result.write("="); | 2341 result.write("="); |
| 2304 result.write(Uri.encodeQueryComponent(dart.as(value, String))); | 2342 result.write(Uri.encodeQueryComponent(dart.as(value, String))); |
| 2305 } | 2343 } |
| 2306 }).bind(this), "(String, String) → void")); | 2344 }).bind(this), "(String, String) → void")); |
| 2307 return result.toString(); | 2345 return result.toString(); |
| 2308 } | 2346 } |
| 2309 static [_makeFragment$](fragment, start, end) { | 2347 static [_makeFragment](fragment, start, end) { |
| 2310 if (fragment === null) | 2348 if (fragment === null) |
| 2311 return null; | 2349 return null; |
| 2312 return _normalize(fragment, start, end, dart.as(Uri._queryCharTable, List$
(int))); | 2350 return Uri[_normalize](fragment, start, end, dart.as(Uri[_queryCharTable],
List$(int))); |
| 2313 } | 2351 } |
| 2314 static [_stringOrNullLength$](s) { | 2352 static [_stringOrNullLength](s) { |
| 2315 return s === null ? 0 : s.length; | 2353 return s === null ? 0 : s.length; |
| 2316 } | 2354 } |
| 2317 static [_isHexDigit$](char) { | 2355 static [_isHexDigit](char) { |
| 2318 if (dart.notNull(Uri._NINE) >= dart.notNull(char)) | 2356 if (dart.notNull(Uri[_NINE]) >= dart.notNull(char)) |
| 2319 return dart.notNull(Uri._ZERO) <= dart.notNull(char); | 2357 return dart.notNull(Uri[_ZERO]) <= dart.notNull(char); |
| 2320 char = 32; | 2358 char = 32; |
| 2321 return dart.notNull(Uri._LOWER_CASE_A) <= dart.notNull(char) && dart.notNu
ll(Uri._LOWER_CASE_F) >= dart.notNull(char); | 2359 return dart.notNull(Uri[_LOWER_CASE_A]) <= dart.notNull(char) && dart.notN
ull(Uri[_LOWER_CASE_F]) >= dart.notNull(char); |
| 2322 } | 2360 } |
| 2323 static [_hexValue$](char) { | 2361 static [_hexValue](char) { |
| 2324 dart.assert(_isHexDigit(char)); | 2362 dart.assert(Uri[_isHexDigit](char)); |
| 2325 if (dart.notNull(Uri._NINE) >= dart.notNull(char)) | 2363 if (dart.notNull(Uri[_NINE]) >= dart.notNull(char)) |
| 2326 return dart.notNull(char) - dart.notNull(Uri._ZERO); | 2364 return dart.notNull(char) - dart.notNull(Uri[_ZERO]); |
| 2327 char = 32; | 2365 char = 32; |
| 2328 return dart.notNull(char) - (dart.notNull(Uri._LOWER_CASE_A) - 10); | 2366 return dart.notNull(char) - (dart.notNull(Uri[_LOWER_CASE_A]) - 10); |
| 2329 } | 2367 } |
| 2330 static [_normalizeEscape$](source, index, lowerCase) { | 2368 static [_normalizeEscape](source, index, lowerCase) { |
| 2331 dart.assert(source.codeUnitAt(index) === Uri._PERCENT); | 2369 dart.assert(source.codeUnitAt(index) === Uri[_PERCENT]); |
| 2332 if (dart.notNull(index) + 2 >= dart.notNull(source.length)) { | 2370 if (dart.notNull(index) + 2 >= dart.notNull(source.length)) { |
| 2333 return "%"; | 2371 return "%"; |
| 2334 } | 2372 } |
| 2335 let firstDigit = source.codeUnitAt(dart.notNull(index) + 1); | 2373 let firstDigit = source.codeUnitAt(dart.notNull(index) + 1); |
| 2336 let secondDigit = source.codeUnitAt(dart.notNull(index) + 2); | 2374 let secondDigit = source.codeUnitAt(dart.notNull(index) + 2); |
| 2337 if (!dart.notNull(_isHexDigit(firstDigit)) || !dart.notNull(_isHexDigit(se
condDigit))) { | 2375 if (!dart.notNull(Uri[_isHexDigit](firstDigit)) || !dart.notNull(Uri[_isHe
xDigit](secondDigit))) { |
| 2338 return "%"; | 2376 return "%"; |
| 2339 } | 2377 } |
| 2340 let value = dart.notNull(_hexValue(firstDigit)) * 16 + dart.notNull(_hexVa
lue(secondDigit)); | 2378 let value = dart.notNull(Uri[_hexValue](firstDigit)) * 16 + dart.notNull(U
ri[_hexValue](secondDigit)); |
| 2341 if (_isUnreservedChar(value)) { | 2379 if (Uri[_isUnreservedChar](value)) { |
| 2342 if (dart.notNull(lowerCase) && dart.notNull(Uri._UPPER_CASE_A) <= dart.n
otNull(value) && dart.notNull(Uri._UPPER_CASE_Z) >= dart.notNull(value)) { | 2380 if (dart.notNull(lowerCase) && dart.notNull(Uri[_UPPER_CASE_A]) <= dart.
notNull(value) && dart.notNull(Uri[_UPPER_CASE_Z]) >= dart.notNull(value)) { |
| 2343 value = 32; | 2381 value = 32; |
| 2344 } | 2382 } |
| 2345 return new String.fromCharCode(value); | 2383 return new String.fromCharCode(value); |
| 2346 } | 2384 } |
| 2347 if (dart.notNull(firstDigit) >= dart.notNull(Uri._LOWER_CASE_A) || dart.no
tNull(secondDigit) >= dart.notNull(Uri._LOWER_CASE_A)) { | 2385 if (dart.notNull(firstDigit) >= dart.notNull(Uri[_LOWER_CASE_A]) || dart.n
otNull(secondDigit) >= dart.notNull(Uri[_LOWER_CASE_A])) { |
| 2348 return source.substring(index, dart.notNull(index) + 3).toUpperCase(); | 2386 return source.substring(index, dart.notNull(index) + 3).toUpperCase(); |
| 2349 } | 2387 } |
| 2350 return null; | 2388 return null; |
| 2351 } | 2389 } |
| 2352 static [_isUnreservedChar$](ch) { | 2390 static [_isUnreservedChar](ch) { |
| 2353 return dart.notNull(ch) < 127 && dart.notNull(!dart.equals(dart.dbinary(Ur
i._unreservedTable.get(dart.notNull(ch) >> 4), '&', 1 << (dart.notNull(ch) & 15)
), 0)); | 2391 return dart.notNull(ch) < 127 && dart.notNull(!dart.equals(dart.dbinary(Ur
i[_unreservedTable].get(dart.notNull(ch) >> 4), '&', 1 << (dart.notNull(ch) & 15
)), 0)); |
| 2354 } | 2392 } |
| 2355 static [_escapeChar$](char) { | 2393 static [_escapeChar](char) { |
| 2356 dart.assert(dart.dbinary(char, '<=', 1114111)); | 2394 dart.assert(dart.dbinary(char, '<=', 1114111)); |
| 2357 let hexDigits = "0123456789ABCDEF"; | 2395 let hexDigits = "0123456789ABCDEF"; |
| 2358 let codeUnits = null; | 2396 let codeUnits = null; |
| 2359 if (dart.dbinary(char, '<', 128)) { | 2397 if (dart.dbinary(char, '<', 128)) { |
| 2360 codeUnits = new List(3); | 2398 codeUnits = new List(3); |
| 2361 codeUnits.set(0, Uri._PERCENT); | 2399 codeUnits.set(0, Uri[_PERCENT]); |
| 2362 codeUnits.set(1, hexDigits.codeUnitAt(dart.as(dart.dbinary(char, '>>', 4
), int))); | 2400 codeUnits.set(1, hexDigits.codeUnitAt(dart.as(dart.dbinary(char, '>>', 4
), int))); |
| 2363 codeUnits.set(2, hexDigits.codeUnitAt(dart.as(dart.dbinary(char, '&', 15
), int))); | 2401 codeUnits.set(2, hexDigits.codeUnitAt(dart.as(dart.dbinary(char, '&', 15
), int))); |
| 2364 } else { | 2402 } else { |
| 2365 let flag = 192; | 2403 let flag = 192; |
| 2366 let encodedBytes = 2; | 2404 let encodedBytes = 2; |
| 2367 if (dart.dbinary(char, '>', 2047)) { | 2405 if (dart.dbinary(char, '>', 2047)) { |
| 2368 flag = 224; | 2406 flag = 224; |
| 2369 encodedBytes = 3; | 2407 encodedBytes = 3; |
| 2370 if (dart.dbinary(char, '>', 65535)) { | 2408 if (dart.dbinary(char, '>', 65535)) { |
| 2371 encodedBytes = 4; | 2409 encodedBytes = 4; |
| 2372 flag = 240; | 2410 flag = 240; |
| 2373 } | 2411 } |
| 2374 } | 2412 } |
| 2375 codeUnits = new List(3 * dart.notNull(encodedBytes)); | 2413 codeUnits = new List(3 * dart.notNull(encodedBytes)); |
| 2376 let index = 0; | 2414 let index = 0; |
| 2377 while ((encodedBytes = dart.notNull(encodedBytes) - 1) >= 0) { | 2415 while ((encodedBytes = dart.notNull(encodedBytes) - 1) >= 0) { |
| 2378 let byte = dart.as(dart.dbinary(dart.dbinary(dart.dbinary(char, '>>',
6 * dart.notNull(encodedBytes)), '&', 63), '|', flag), int); | 2416 let byte = dart.as(dart.dbinary(dart.dbinary(dart.dbinary(char, '>>',
6 * dart.notNull(encodedBytes)), '&', 63), '|', flag), int); |
| 2379 codeUnits.set(index, Uri._PERCENT); | 2417 codeUnits.set(index, Uri[_PERCENT]); |
| 2380 codeUnits.set(dart.notNull(index) + 1, hexDigits.codeUnitAt(dart.notNu
ll(byte) >> 4)); | 2418 codeUnits.set(dart.notNull(index) + 1, hexDigits.codeUnitAt(dart.notNu
ll(byte) >> 4)); |
| 2381 codeUnits.set(dart.notNull(index) + 2, hexDigits.codeUnitAt(dart.notNu
ll(byte) & 15)); | 2419 codeUnits.set(dart.notNull(index) + 2, hexDigits.codeUnitAt(dart.notNu
ll(byte) & 15)); |
| 2382 index = 3; | 2420 index = 3; |
| 2383 flag = 128; | 2421 flag = 128; |
| 2384 } | 2422 } |
| 2385 } | 2423 } |
| 2386 return new String.fromCharCodes(dart.as(codeUnits, Iterable$(int))); | 2424 return new String.fromCharCodes(dart.as(codeUnits, Iterable$(int))); |
| 2387 } | 2425 } |
| 2388 static [_normalize$](component, start, end, charTable) { | 2426 static [_normalize](component, start, end, charTable) { |
| 2389 let buffer = null; | 2427 let buffer = null; |
| 2390 let sectionStart = start; | 2428 let sectionStart = start; |
| 2391 let index = start; | 2429 let index = start; |
| 2392 while (dart.notNull(index) < dart.notNull(end)) { | 2430 while (dart.notNull(index) < dart.notNull(end)) { |
| 2393 let char = component.codeUnitAt(index); | 2431 let char = component.codeUnitAt(index); |
| 2394 if (dart.notNull(char) < 127 && (dart.notNull(charTable.get(dart.notNull
(char) >> 4)) & 1 << (dart.notNull(char) & 15)) !== 0) { | 2432 if (dart.notNull(char) < 127 && (dart.notNull(charTable.get(dart.notNull
(char) >> 4)) & 1 << (dart.notNull(char) & 15)) !== 0) { |
| 2395 index = dart.notNull(index) + 1; | 2433 index = dart.notNull(index) + 1; |
| 2396 } else { | 2434 } else { |
| 2397 let replacement = null; | 2435 let replacement = null; |
| 2398 let sourceLength = null; | 2436 let sourceLength = null; |
| 2399 if (char === Uri._PERCENT) { | 2437 if (char === Uri[_PERCENT]) { |
| 2400 replacement = _normalizeEscape(component, index, false); | 2438 replacement = Uri[_normalizeEscape](component, index, false); |
| 2401 if (replacement === null) { | 2439 if (replacement === null) { |
| 2402 index = 3; | 2440 index = 3; |
| 2403 continue; | 2441 continue; |
| 2404 } | 2442 } |
| 2405 if (dart.equals("%", replacement)) { | 2443 if (dart.equals("%", replacement)) { |
| 2406 replacement = "%25"; | 2444 replacement = "%25"; |
| 2407 sourceLength = 1; | 2445 sourceLength = 1; |
| 2408 } else { | 2446 } else { |
| 2409 sourceLength = 3; | 2447 sourceLength = 3; |
| 2410 } | 2448 } |
| 2411 } else if (_isGeneralDelimiter(char)) { | 2449 } else if (Uri[_isGeneralDelimiter](char)) { |
| 2412 _fail(component, index, "Invalid character"); | 2450 Uri[_fail](component, index, "Invalid character"); |
| 2413 } else { | 2451 } else { |
| 2414 sourceLength = 1; | 2452 sourceLength = 1; |
| 2415 if ((dart.notNull(char) & 64512) === 55296) { | 2453 if ((dart.notNull(char) & 64512) === 55296) { |
| 2416 if (dart.notNull(index) + 1 < dart.notNull(end)) { | 2454 if (dart.notNull(index) + 1 < dart.notNull(end)) { |
| 2417 let tail = component.codeUnitAt(dart.notNull(index) + 1); | 2455 let tail = component.codeUnitAt(dart.notNull(index) + 1); |
| 2418 if ((dart.notNull(tail) & 64512) === 56320) { | 2456 if ((dart.notNull(tail) & 64512) === 56320) { |
| 2419 sourceLength = 2; | 2457 sourceLength = 2; |
| 2420 char = 65536 | (dart.notNull(char) & 1023) << 10 | dart.notNul
l(tail) & 1023; | 2458 char = 65536 | (dart.notNull(char) & 1023) << 10 | dart.notNul
l(tail) & 1023; |
| 2421 } | 2459 } |
| 2422 } | 2460 } |
| 2423 } | 2461 } |
| 2424 replacement = _escapeChar(char); | 2462 replacement = Uri[_escapeChar](char); |
| 2425 } | 2463 } |
| 2426 if (buffer === null) | 2464 if (buffer === null) |
| 2427 buffer = new StringBuffer(); | 2465 buffer = new StringBuffer(); |
| 2428 buffer.write(component.substring(sectionStart, index)); | 2466 buffer.write(component.substring(sectionStart, index)); |
| 2429 buffer.write(replacement); | 2467 buffer.write(replacement); |
| 2430 index = sourceLength; | 2468 index = sourceLength; |
| 2431 sectionStart = index; | 2469 sectionStart = index; |
| 2432 } | 2470 } |
| 2433 } | 2471 } |
| 2434 if (buffer === null) { | 2472 if (buffer === null) { |
| 2435 return component.substring(start, end); | 2473 return component.substring(start, end); |
| 2436 } | 2474 } |
| 2437 if (dart.notNull(sectionStart) < dart.notNull(end)) { | 2475 if (dart.notNull(sectionStart) < dart.notNull(end)) { |
| 2438 buffer.write(component.substring(sectionStart, end)); | 2476 buffer.write(component.substring(sectionStart, end)); |
| 2439 } | 2477 } |
| 2440 return buffer.toString(); | 2478 return buffer.toString(); |
| 2441 } | 2479 } |
| 2442 static [_isSchemeCharacter$](ch) { | 2480 static [_isSchemeCharacter](ch) { |
| 2443 return dart.notNull(ch) < 128 && dart.notNull(!dart.equals(dart.dbinary(Ur
i._schemeTable.get(dart.notNull(ch) >> 4), '&', 1 << (dart.notNull(ch) & 15)), 0
)); | 2481 return dart.notNull(ch) < 128 && dart.notNull(!dart.equals(dart.dbinary(Ur
i[_schemeTable].get(dart.notNull(ch) >> 4), '&', 1 << (dart.notNull(ch) & 15)),
0)); |
| 2444 } | 2482 } |
| 2445 static [_isGeneralDelimiter$](ch) { | 2483 static [_isGeneralDelimiter](ch) { |
| 2446 return dart.notNull(ch) <= dart.notNull(Uri._RIGHT_BRACKET) && dart.notNul
l(!dart.equals(dart.dbinary(Uri._genDelimitersTable.get(dart.notNull(ch) >> 4),
'&', 1 << (dart.notNull(ch) & 15)), 0)); | 2484 return dart.notNull(ch) <= dart.notNull(Uri[_RIGHT_BRACKET]) && dart.notNu
ll(!dart.equals(dart.dbinary(Uri[_genDelimitersTable].get(dart.notNull(ch) >> 4)
, '&', 1 << (dart.notNull(ch) & 15)), 0)); |
| 2447 } | 2485 } |
| 2448 get isAbsolute() { | 2486 get isAbsolute() { |
| 2449 return dart.notNull(!dart.equals(this.scheme, "")) && dart.notNull(dart.eq
uals(this.fragment, "")); | 2487 return dart.notNull(!dart.equals(this.scheme, "")) && dart.notNull(dart.eq
uals(this.fragment, "")); |
| 2450 } | 2488 } |
| 2451 [_merge](base, reference) { | 2489 [_merge](base, reference) { |
| 2452 if (base.isEmpty) | 2490 if (base.isEmpty) |
| 2453 return `/${reference}`; | 2491 return `/${reference}`; |
| 2454 let backCount = 0; | 2492 let backCount = 0; |
| 2455 let refStart = 0; | 2493 let refStart = 0; |
| 2456 while (reference.startsWith("../", refStart)) { | 2494 while (reference.startsWith("../", refStart)) { |
| 2457 refStart = 3; | 2495 refStart = 3; |
| 2458 backCount = dart.notNull(backCount) + 1; | 2496 backCount = dart.notNull(backCount) + 1; |
| 2459 } | 2497 } |
| 2460 let baseEnd = base.lastIndexOf('/'); | 2498 let baseEnd = base.lastIndexOf('/'); |
| 2461 while (dart.notNull(baseEnd) > 0 && dart.notNull(backCount) > 0) { | 2499 while (dart.notNull(baseEnd) > 0 && dart.notNull(backCount) > 0) { |
| 2462 let newEnd = base.lastIndexOf('/', dart.notNull(baseEnd) - 1); | 2500 let newEnd = base.lastIndexOf('/', dart.notNull(baseEnd) - 1); |
| 2463 if (dart.notNull(newEnd) < 0) { | 2501 if (dart.notNull(newEnd) < 0) { |
| 2464 break; | 2502 break; |
| 2465 } | 2503 } |
| 2466 let delta = dart.notNull(baseEnd) - dart.notNull(newEnd); | 2504 let delta = dart.notNull(baseEnd) - dart.notNull(newEnd); |
| 2467 if ((delta === 2 || delta === 3) && base.codeUnitAt(dart.notNull(newEnd)
+ 1) === Uri._DOT && (delta === 2 || base.codeUnitAt(dart.notNull(newEnd) + 2)
=== Uri._DOT)) { | 2505 if ((delta === 2 || delta === 3) && base.codeUnitAt(dart.notNull(newEnd)
+ 1) === Uri[_DOT] && (delta === 2 || base.codeUnitAt(dart.notNull(newEnd) + 2)
=== Uri[_DOT])) { |
| 2468 break; | 2506 break; |
| 2469 } | 2507 } |
| 2470 baseEnd = newEnd; | 2508 baseEnd = newEnd; |
| 2471 backCount = dart.notNull(backCount) - 1; | 2509 backCount = dart.notNull(backCount) - 1; |
| 2472 } | 2510 } |
| 2473 return String['+'](base.substring(0, dart.notNull(baseEnd) + 1), reference
.substring(dart.notNull(refStart) - 3 * dart.notNull(backCount))); | 2511 return String['+'](base.substring(0, dart.notNull(baseEnd) + 1), reference
.substring(dart.notNull(refStart) - 3 * dart.notNull(backCount))); |
| 2474 } | 2512 } |
| 2475 [_hasDotSegments](path) { | 2513 [_hasDotSegments](path) { |
| 2476 if (dart.notNull(path.length) > 0 && path.codeUnitAt(0) === Uri._DOT) | 2514 if (dart.notNull(path.length) > 0 && path.codeUnitAt(0) === Uri[_DOT]) |
| 2477 return true; | 2515 return true; |
| 2478 let index = path.indexOf("/."); | 2516 let index = path.indexOf("/."); |
| 2479 return index !== -1; | 2517 return index !== -1; |
| 2480 } | 2518 } |
| 2481 [_removeDotSegments](path) { | 2519 [_removeDotSegments](path) { |
| 2482 if (!dart.notNull(this[_hasDotSegments](path))) | 2520 if (!dart.notNull(this[_hasDotSegments](path))) |
| 2483 return path; | 2521 return path; |
| 2484 let output = dart.as(new List.from([]), List$(String)); | 2522 let output = dart.as(new List.from([]), List$(String)); |
| 2485 let appendSlash = false; | 2523 let appendSlash = false; |
| 2486 for (let segment of path.split("/")) { | 2524 for (let segment of path.split("/")) { |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2518 } | 2556 } |
| 2519 targetPath = this[_removeDotSegments](reference.path); | 2557 targetPath = this[_removeDotSegments](reference.path); |
| 2520 if (reference.hasQuery) { | 2558 if (reference.hasQuery) { |
| 2521 targetQuery = reference.query; | 2559 targetQuery = reference.query; |
| 2522 } | 2560 } |
| 2523 } else { | 2561 } else { |
| 2524 targetScheme = this.scheme; | 2562 targetScheme = this.scheme; |
| 2525 if (reference.hasAuthority) { | 2563 if (reference.hasAuthority) { |
| 2526 targetUserInfo = reference.userInfo; | 2564 targetUserInfo = reference.userInfo; |
| 2527 targetHost = reference.host; | 2565 targetHost = reference.host; |
| 2528 targetPort = _makePort(reference.hasPort ? reference.port : null, targ
etScheme); | 2566 targetPort = Uri[_makePort](reference.hasPort ? reference.port : null,
targetScheme); |
| 2529 targetPath = this[_removeDotSegments](reference.path); | 2567 targetPath = this[_removeDotSegments](reference.path); |
| 2530 if (reference.hasQuery) | 2568 if (reference.hasQuery) |
| 2531 targetQuery = reference.query; | 2569 targetQuery = reference.query; |
| 2532 } else { | 2570 } else { |
| 2533 if (dart.equals(reference.path, "")) { | 2571 if (dart.equals(reference.path, "")) { |
| 2534 targetPath = this[_path]; | 2572 targetPath = this[_path]; |
| 2535 if (reference.hasQuery) { | 2573 if (reference.hasQuery) { |
| 2536 targetQuery = reference.query; | 2574 targetQuery = reference.query; |
| 2537 } else { | 2575 } else { |
| 2538 targetQuery = this[_query]; | 2576 targetQuery = this[_query]; |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2582 if (dart.notNull(!dart.equals(this.scheme, "")) && dart.notNull(!dart.equa
ls(this.scheme, "file"))) { | 2620 if (dart.notNull(!dart.equals(this.scheme, "")) && dart.notNull(!dart.equa
ls(this.scheme, "file"))) { |
| 2583 throw new UnsupportedError(`Cannot extract a file path from a ${this.sch
eme} URI`); | 2621 throw new UnsupportedError(`Cannot extract a file path from a ${this.sch
eme} URI`); |
| 2584 } | 2622 } |
| 2585 if (!dart.equals(this.query, "")) { | 2623 if (!dart.equals(this.query, "")) { |
| 2586 throw new UnsupportedError("Cannot extract a file path from a URI with a
query component"); | 2624 throw new UnsupportedError("Cannot extract a file path from a URI with a
query component"); |
| 2587 } | 2625 } |
| 2588 if (!dart.equals(this.fragment, "")) { | 2626 if (!dart.equals(this.fragment, "")) { |
| 2589 throw new UnsupportedError("Cannot extract a file path from a URI with a
fragment component"); | 2627 throw new UnsupportedError("Cannot extract a file path from a URI with a
fragment component"); |
| 2590 } | 2628 } |
| 2591 if (windows === null) | 2629 if (windows === null) |
| 2592 windows = _isWindows; | 2630 windows = Uri[_isWindows]; |
| 2593 return windows ? this[_toWindowsFilePath]() : this[_toFilePath](); | 2631 return windows ? this[_toWindowsFilePath]() : this[_toFilePath](); |
| 2594 } | 2632 } |
| 2595 [_toFilePath]() { | 2633 [_toFilePath]() { |
| 2596 if (!dart.equals(this.host, "")) { | 2634 if (!dart.equals(this.host, "")) { |
| 2597 throw new UnsupportedError("Cannot extract a non-Windows file path from
a file URI " + "with an authority"); | 2635 throw new UnsupportedError("Cannot extract a non-Windows file path from
a file URI " + "with an authority"); |
| 2598 } | 2636 } |
| 2599 _checkNonWindowsPathReservedCharacters(this.pathSegments, false); | 2637 Uri[_checkNonWindowsPathReservedCharacters](this.pathSegments, false); |
| 2600 let result = new StringBuffer(); | 2638 let result = new StringBuffer(); |
| 2601 if (this[_isPathAbsolute]) | 2639 if (this[_isPathAbsolute]) |
| 2602 result.write("/"); | 2640 result.write("/"); |
| 2603 result.writeAll(this.pathSegments, "/"); | 2641 result.writeAll(this.pathSegments, "/"); |
| 2604 return result.toString(); | 2642 return result.toString(); |
| 2605 } | 2643 } |
| 2606 [_toWindowsFilePath]() { | 2644 [_toWindowsFilePath]() { |
| 2607 let hasDriveLetter = false; | 2645 let hasDriveLetter = false; |
| 2608 let segments = this.pathSegments; | 2646 let segments = this.pathSegments; |
| 2609 if (dart.notNull(segments.length) > 0 && segments.get(0).length === 2 && s
egments.get(0).codeUnitAt(1) === Uri._COLON) { | 2647 if (dart.notNull(segments.length) > 0 && segments.get(0).length === 2 && s
egments.get(0).codeUnitAt(1) === Uri[_COLON]) { |
| 2610 _checkWindowsDriveLetter(segments.get(0).codeUnitAt(0), false); | 2648 Uri[_checkWindowsDriveLetter](segments.get(0).codeUnitAt(0), false); |
| 2611 _checkWindowsPathReservedCharacters(segments, false, 1); | 2649 Uri[_checkWindowsPathReservedCharacters](segments, false, 1); |
| 2612 hasDriveLetter = true; | 2650 hasDriveLetter = true; |
| 2613 } else { | 2651 } else { |
| 2614 _checkWindowsPathReservedCharacters(segments, false); | 2652 Uri[_checkWindowsPathReservedCharacters](segments, false); |
| 2615 } | 2653 } |
| 2616 let result = new StringBuffer(); | 2654 let result = new StringBuffer(); |
| 2617 if (dart.notNull(this[_isPathAbsolute]) && !dart.notNull(hasDriveLetter)) | 2655 if (dart.notNull(this[_isPathAbsolute]) && !dart.notNull(hasDriveLetter)) |
| 2618 result.write("\\"); | 2656 result.write("\\"); |
| 2619 if (!dart.equals(this.host, "")) { | 2657 if (!dart.equals(this.host, "")) { |
| 2620 result.write("\\"); | 2658 result.write("\\"); |
| 2621 result.write(this.host); | 2659 result.write(this.host); |
| 2622 result.write("\\"); | 2660 result.write("\\"); |
| 2623 } | 2661 } |
| 2624 result.writeAll(segments, "\\"); | 2662 result.writeAll(segments, "\\"); |
| (...skipping 13 matching lines...) Expand all Loading... |
| 2638 } | 2676 } |
| 2639 if (this[_host] !== null) | 2677 if (this[_host] !== null) |
| 2640 ss.write(this[_host]); | 2678 ss.write(this[_host]); |
| 2641 if (this[_port] !== null) { | 2679 if (this[_port] !== null) { |
| 2642 ss.write(":"); | 2680 ss.write(":"); |
| 2643 ss.write(this[_port]); | 2681 ss.write(this[_port]); |
| 2644 } | 2682 } |
| 2645 } | 2683 } |
| 2646 toString() { | 2684 toString() { |
| 2647 let sb = new StringBuffer(); | 2685 let sb = new StringBuffer(); |
| 2648 _addIfNonEmpty(sb, this.scheme, this.scheme, ':'); | 2686 Uri[_addIfNonEmpty](sb, this.scheme, this.scheme, ':'); |
| 2649 if (dart.notNull(this.hasAuthority) || dart.notNull(this.path.startsWith("
//")) || dart.notNull(dart.equals(this.scheme, "file"))) { | 2687 if (dart.notNull(this.hasAuthority) || dart.notNull(this.path.startsWith("
//")) || dart.notNull(dart.equals(this.scheme, "file"))) { |
| 2650 sb.write("//"); | 2688 sb.write("//"); |
| 2651 this[_writeAuthority](sb); | 2689 this[_writeAuthority](sb); |
| 2652 } | 2690 } |
| 2653 sb.write(this.path); | 2691 sb.write(this.path); |
| 2654 if (this[_query] !== null) { | 2692 if (this[_query] !== null) { |
| 2655 sb.write("?"); | 2693 sb.write("?"); |
| 2656 sb.write(this[_query]); | 2694 sb.write(this[_query]); |
| 2657 } | 2695 } |
| 2658 if (this[_fragment] !== null) { | 2696 if (this[_fragment] !== null) { |
| 2659 sb.write("#"); | 2697 sb.write("#"); |
| 2660 sb.write(this[_fragment]); | 2698 sb.write(this[_fragment]); |
| 2661 } | 2699 } |
| 2662 return sb.toString(); | 2700 return sb.toString(); |
| 2663 } | 2701 } |
| 2664 ['=='](other) { | 2702 ['=='](other) { |
| 2665 if (!dart.is(other, Uri)) | 2703 if (!dart.is(other, Uri)) |
| 2666 return false; | 2704 return false; |
| 2667 let uri = dart.as(other, Uri); | 2705 let uri = dart.as(other, Uri); |
| 2668 return dart.notNull(dart.equals(this.scheme, uri.scheme)) && this.hasAutho
rity === uri.hasAuthority && dart.notNull(dart.equals(this.userInfo, uri.userInf
o)) && dart.notNull(dart.equals(this.host, uri.host)) && this.port === uri.port
&& dart.notNull(dart.equals(this.path, uri.path)) && this.hasQuery === uri.hasQu
ery && dart.notNull(dart.equals(this.query, uri.query)) && this.hasFragment ===
uri.hasFragment && dart.notNull(dart.equals(this.fragment, uri.fragment)); | 2706 return dart.notNull(dart.equals(this.scheme, uri.scheme)) && this.hasAutho
rity === uri.hasAuthority && dart.notNull(dart.equals(this.userInfo, uri.userInf
o)) && dart.notNull(dart.equals(this.host, uri.host)) && this.port === uri.port
&& dart.notNull(dart.equals(this.path, uri.path)) && this.hasQuery === uri.hasQu
ery && dart.notNull(dart.equals(this.query, uri.query)) && this.hasFragment ===
uri.hasFragment && dart.notNull(dart.equals(this.fragment, uri.fragment)); |
| 2669 } | 2707 } |
| 2670 get hashCode() { | 2708 get hashCode() { |
| 2671 // Function combine: (dynamic, dynamic) → int | 2709 // Function combine: (dynamic, dynamic) → int |
| 2672 function combine(part, current) { | 2710 function combine(part, current) { |
| 2673 return dart.as(dart.dbinary(dart.dbinary(dart.dbinary(current, '*', 31),
'+', dart.dload(part, 'hashCode')), '&', 1073741823), int); | 2711 return dart.as(dart.dbinary(dart.dbinary(dart.dbinary(current, '*', 31),
'+', dart.dload(part, 'hashCode')), '&', 1073741823), int); |
| 2674 } | 2712 } |
| 2675 return combine(this.scheme, combine(this.userInfo, combine(this.host, comb
ine(this.port, combine(this.path, combine(this.query, combine(this.fragment, 1))
))))); | 2713 return combine(this.scheme, combine(this.userInfo, combine(this.host, comb
ine(this.port, combine(this.path, combine(this.query, combine(this.fragment, 1))
))))); |
| 2676 } | 2714 } |
| 2677 static [_addIfNonEmpty$](sb, test, first, second) { | 2715 static [_addIfNonEmpty](sb, test, first, second) { |
| 2678 if (!dart.equals("", test)) { | 2716 if (!dart.equals("", test)) { |
| 2679 sb.write(first); | 2717 sb.write(first); |
| 2680 sb.write(second); | 2718 sb.write(second); |
| 2681 } | 2719 } |
| 2682 } | 2720 } |
| 2683 static encodeComponent(component) { | 2721 static encodeComponent(component) { |
| 2684 return _uriEncode(dart.as(Uri._unreserved2396Table, List$(int)), component
); | 2722 return Uri[_uriEncode](dart.as(Uri[_unreserved2396Table], List$(int)), com
ponent); |
| 2685 } | 2723 } |
| 2686 static encodeQueryComponent(component, opts) { | 2724 static encodeQueryComponent(component, opts) { |
| 2687 let encoding = opts && 'encoding' in opts ? opts.encoding : convert.UTF8; | 2725 let encoding = opts && 'encoding' in opts ? opts.encoding : convert.UTF8; |
| 2688 return _uriEncode(dart.as(Uri._unreservedTable, List$(int)), component, {e
ncoding: encoding, spaceToPlus: true}); | 2726 return Uri[_uriEncode](dart.as(Uri[_unreservedTable], List$(int)), compone
nt, {encoding: encoding, spaceToPlus: true}); |
| 2689 } | 2727 } |
| 2690 static decodeComponent(encodedComponent) { | 2728 static decodeComponent(encodedComponent) { |
| 2691 return _uriDecode(encodedComponent); | 2729 return Uri[_uriDecode](encodedComponent); |
| 2692 } | 2730 } |
| 2693 static decodeQueryComponent(encodedComponent, opts) { | 2731 static decodeQueryComponent(encodedComponent, opts) { |
| 2694 let encoding = opts && 'encoding' in opts ? opts.encoding : convert.UTF8; | 2732 let encoding = opts && 'encoding' in opts ? opts.encoding : convert.UTF8; |
| 2695 return _uriDecode(encodedComponent, {plusToSpace: true, encoding: encoding
}); | 2733 return Uri[_uriDecode](encodedComponent, {plusToSpace: true, encoding: enc
oding}); |
| 2696 } | 2734 } |
| 2697 static encodeFull(uri) { | 2735 static encodeFull(uri) { |
| 2698 return _uriEncode(dart.as(Uri._encodeFullTable, List$(int)), uri); | 2736 return Uri[_uriEncode](dart.as(Uri[_encodeFullTable], List$(int)), uri); |
| 2699 } | 2737 } |
| 2700 static decodeFull(uri) { | 2738 static decodeFull(uri) { |
| 2701 return _uriDecode(uri); | 2739 return Uri[_uriDecode](uri); |
| 2702 } | 2740 } |
| 2703 static splitQueryString(query, opts) { | 2741 static splitQueryString(query, opts) { |
| 2704 let encoding = opts && 'encoding' in opts ? opts.encoding : convert.UTF8; | 2742 let encoding = opts && 'encoding' in opts ? opts.encoding : convert.UTF8; |
| 2705 return dart.as(query.split("&").fold(dart.map(), dart.closureWrap((map, el
ement) => { | 2743 return dart.as(query.split("&").fold(dart.map(), dart.closureWrap((map, el
ement) => { |
| 2706 let index = dart.as(dart.dinvoke(element, 'indexOf', "="), int); | 2744 let index = dart.as(dart.dinvoke(element, 'indexOf', "="), int); |
| 2707 if (index === -1) { | 2745 if (index === -1) { |
| 2708 if (!dart.equals(element, "")) { | 2746 if (!dart.equals(element, "")) { |
| 2709 dart.dsetindex(map, decodeQueryComponent(dart.as(element, String), {
encoding: encoding}), ""); | 2747 dart.dsetindex(map, Uri.decodeQueryComponent(dart.as(element, String
), {encoding: encoding}), ""); |
| 2710 } | 2748 } |
| 2711 } else if (index !== 0) { | 2749 } else if (index !== 0) { |
| 2712 let key = dart.dinvoke(element, 'substring', 0, index); | 2750 let key = dart.dinvoke(element, 'substring', 0, index); |
| 2713 let value = dart.dinvoke(element, 'substring', dart.notNull(index) + 1
); | 2751 let value = dart.dinvoke(element, 'substring', dart.notNull(index) + 1
); |
| 2714 dart.dsetindex(map, Uri.decodeQueryComponent(dart.as(key, String), {en
coding: encoding}), decodeQueryComponent(dart.as(value, String), {encoding: enco
ding})); | 2752 dart.dsetindex(map, Uri.decodeQueryComponent(dart.as(key, String), {en
coding: encoding}), Uri.decodeQueryComponent(dart.as(value, String), {encoding:
encoding})); |
| 2715 } | 2753 } |
| 2716 return map; | 2754 return map; |
| 2717 }, "(dynamic, String) → dynamic")), Map$(String, String)); | 2755 }, "(dynamic, String) → dynamic")), Map$(String, String)); |
| 2718 } | 2756 } |
| 2719 static parseIPv4Address(host) { | 2757 static parseIPv4Address(host) { |
| 2720 // Function error: (String) → void | 2758 // Function error: (String) → void |
| 2721 function error(msg) { | 2759 function error(msg) { |
| 2722 throw new FormatException(`Illegal IPv4 address, ${msg}`); | 2760 throw new FormatException(`Illegal IPv4 address, ${msg}`); |
| 2723 } | 2761 } |
| 2724 let bytes = host.split('.'); | 2762 let bytes = host.split('.'); |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2756 error('each part must be in the range of `0x0..0xFFFF`', start); | 2794 error('each part must be in the range of `0x0..0xFFFF`', start); |
| 2757 } | 2795 } |
| 2758 return value; | 2796 return value; |
| 2759 } | 2797 } |
| 2760 if (dart.notNull(host.length) < 2) | 2798 if (dart.notNull(host.length) < 2) |
| 2761 error('address is too short'); | 2799 error('address is too short'); |
| 2762 let parts = dart.as(new List.from([]), List$(int)); | 2800 let parts = dart.as(new List.from([]), List$(int)); |
| 2763 let wildcardSeen = false; | 2801 let wildcardSeen = false; |
| 2764 let partStart = start; | 2802 let partStart = start; |
| 2765 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull(
i) + 1) { | 2803 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull(
i) + 1) { |
| 2766 if (host.codeUnitAt(i) === Uri._COLON) { | 2804 if (host.codeUnitAt(i) === Uri[_COLON]) { |
| 2767 if (i === start) { | 2805 if (i === start) { |
| 2768 i = dart.notNull(i) + 1; | 2806 i = dart.notNull(i) + 1; |
| 2769 if (host.codeUnitAt(i) !== Uri._COLON) { | 2807 if (host.codeUnitAt(i) !== Uri[_COLON]) { |
| 2770 error('invalid start colon.', i); | 2808 error('invalid start colon.', i); |
| 2771 } | 2809 } |
| 2772 partStart = i; | 2810 partStart = i; |
| 2773 } | 2811 } |
| 2774 if (i === partStart) { | 2812 if (i === partStart) { |
| 2775 if (wildcardSeen) { | 2813 if (wildcardSeen) { |
| 2776 error('only one wildcard `::` is allowed', i); | 2814 error('only one wildcard `::` is allowed', i); |
| 2777 } | 2815 } |
| 2778 wildcardSeen = true; | 2816 wildcardSeen = true; |
| 2779 parts.add(-1); | 2817 parts.add(-1); |
| 2780 } else { | 2818 } else { |
| 2781 parts.add(parseHex(partStart, i)); | 2819 parts.add(parseHex(partStart, i)); |
| 2782 } | 2820 } |
| 2783 partStart = dart.notNull(i) + 1; | 2821 partStart = dart.notNull(i) + 1; |
| 2784 } | 2822 } |
| 2785 } | 2823 } |
| 2786 if (parts.length === 0) | 2824 if (parts.length === 0) |
| 2787 error('too few parts'); | 2825 error('too few parts'); |
| 2788 let atEnd = partStart === end; | 2826 let atEnd = partStart === end; |
| 2789 let isLastWildcard = parts.last === -1; | 2827 let isLastWildcard = parts.last === -1; |
| 2790 if (dart.notNull(atEnd) && !dart.notNull(isLastWildcard)) { | 2828 if (dart.notNull(atEnd) && !dart.notNull(isLastWildcard)) { |
| 2791 error('expected a part after last `:`', end); | 2829 error('expected a part after last `:`', end); |
| 2792 } | 2830 } |
| 2793 if (!dart.notNull(atEnd)) { | 2831 if (!dart.notNull(atEnd)) { |
| 2794 try { | 2832 try { |
| 2795 parts.add(parseHex(partStart, end)); | 2833 parts.add(parseHex(partStart, end)); |
| 2796 } catch (e) { | 2834 } catch (e) { |
| 2797 try { | 2835 try { |
| 2798 let last = parseIPv4Address(host.substring(partStart, end)); | 2836 let last = Uri.parseIPv4Address(host.substring(partStart, end)); |
| 2799 parts.add(dart.notNull(last.get(0)) << 8 | dart.notNull(last.get(1))
); | 2837 parts.add(dart.notNull(last.get(0)) << 8 | dart.notNull(last.get(1))
); |
| 2800 parts.add(dart.notNull(last.get(2)) << 8 | dart.notNull(last.get(3))
); | 2838 parts.add(dart.notNull(last.get(2)) << 8 | dart.notNull(last.get(3))
); |
| 2801 } catch (e) { | 2839 } catch (e) { |
| 2802 error('invalid end of IPv6 address.', partStart); | 2840 error('invalid end of IPv6 address.', partStart); |
| 2803 } | 2841 } |
| 2804 | 2842 |
| 2805 } | 2843 } |
| 2806 | 2844 |
| 2807 } | 2845 } |
| 2808 if (wildcardSeen) { | 2846 if (wildcardSeen) { |
| (...skipping 14 matching lines...) Expand all Loading... |
| 2823 index = 2; | 2861 index = 2; |
| 2824 } | 2862 } |
| 2825 } else { | 2863 } else { |
| 2826 bytes.set(index, dart.notNull(value) >> 8); | 2864 bytes.set(index, dart.notNull(value) >> 8); |
| 2827 bytes.set(dart.notNull(index) + 1, dart.notNull(value) & 255); | 2865 bytes.set(dart.notNull(index) + 1, dart.notNull(value) & 255); |
| 2828 index = 2; | 2866 index = 2; |
| 2829 } | 2867 } |
| 2830 } | 2868 } |
| 2831 return dart.as(bytes, List$(int)); | 2869 return dart.as(bytes, List$(int)); |
| 2832 } | 2870 } |
| 2833 static [_uriEncode$](canonicalTable, text, opts) { | 2871 static [_uriEncode](canonicalTable, text, opts) { |
| 2834 let encoding = opts && 'encoding' in opts ? opts.encoding : convert.UTF8; | 2872 let encoding = opts && 'encoding' in opts ? opts.encoding : convert.UTF8; |
| 2835 let spaceToPlus = opts && 'spaceToPlus' in opts ? opts.spaceToPlus : false
; | 2873 let spaceToPlus = opts && 'spaceToPlus' in opts ? opts.spaceToPlus : false
; |
| 2836 // Function byteToHex: (dynamic, dynamic) → dynamic | 2874 // Function byteToHex: (dynamic, dynamic) → dynamic |
| 2837 function byteToHex(byte, buffer) { | 2875 function byteToHex(byte, buffer) { |
| 2838 let hex = '0123456789ABCDEF'; | 2876 let hex = '0123456789ABCDEF'; |
| 2839 dart.dinvoke(buffer, 'writeCharCode', hex.codeUnitAt(dart.as(dart.dbinar
y(byte, '>>', 4), int))); | 2877 dart.dinvoke(buffer, 'writeCharCode', hex.codeUnitAt(dart.as(dart.dbinar
y(byte, '>>', 4), int))); |
| 2840 dart.dinvoke(buffer, 'writeCharCode', hex.codeUnitAt(dart.as(dart.dbinar
y(byte, '&', 15), int))); | 2878 dart.dinvoke(buffer, 'writeCharCode', hex.codeUnitAt(dart.as(dart.dbinar
y(byte, '&', 15), int))); |
| 2841 } | 2879 } |
| 2842 let result = new StringBuffer(); | 2880 let result = new StringBuffer(); |
| 2843 let bytes = encoding.encode(text); | 2881 let bytes = encoding.encode(text); |
| 2844 for (let i = 0; dart.notNull(i) < dart.notNull(bytes.length); i = dart.not
Null(i) + 1) { | 2882 for (let i = 0; dart.notNull(i) < dart.notNull(bytes.length); i = dart.not
Null(i) + 1) { |
| 2845 let byte = bytes.get(i); | 2883 let byte = bytes.get(i); |
| 2846 if (dart.notNull(byte) < 128 && (dart.notNull(canonicalTable.get(dart.no
tNull(byte) >> 4)) & 1 << (dart.notNull(byte) & 15)) !== 0) { | 2884 if (dart.notNull(byte) < 128 && (dart.notNull(canonicalTable.get(dart.no
tNull(byte) >> 4)) & 1 << (dart.notNull(byte) & 15)) !== 0) { |
| 2847 result.writeCharCode(byte); | 2885 result.writeCharCode(byte); |
| 2848 } else if (dart.notNull(spaceToPlus) && byte === Uri._SPACE) { | 2886 } else if (dart.notNull(spaceToPlus) && byte === Uri[_SPACE]) { |
| 2849 result.writeCharCode(Uri._PLUS); | 2887 result.writeCharCode(Uri[_PLUS]); |
| 2850 } else { | 2888 } else { |
| 2851 result.writeCharCode(Uri._PERCENT); | 2889 result.writeCharCode(Uri[_PERCENT]); |
| 2852 byteToHex(byte, result); | 2890 byteToHex(byte, result); |
| 2853 } | 2891 } |
| 2854 } | 2892 } |
| 2855 return result.toString(); | 2893 return result.toString(); |
| 2856 } | 2894 } |
| 2857 static [_hexCharPairToByte$](s, pos) { | 2895 static [_hexCharPairToByte](s, pos) { |
| 2858 let byte = 0; | 2896 let byte = 0; |
| 2859 for (let i = 0; dart.notNull(i) < 2; i = dart.notNull(i) + 1) { | 2897 for (let i = 0; dart.notNull(i) < 2; i = dart.notNull(i) + 1) { |
| 2860 let charCode = s.codeUnitAt(dart.notNull(pos) + dart.notNull(i)); | 2898 let charCode = s.codeUnitAt(dart.notNull(pos) + dart.notNull(i)); |
| 2861 if (48 <= dart.notNull(charCode) && dart.notNull(charCode) <= 57) { | 2899 if (48 <= dart.notNull(charCode) && dart.notNull(charCode) <= 57) { |
| 2862 byte = dart.notNull(byte) * 16 + dart.notNull(charCode) - 48; | 2900 byte = dart.notNull(byte) * 16 + dart.notNull(charCode) - 48; |
| 2863 } else { | 2901 } else { |
| 2864 charCode = 32; | 2902 charCode = 32; |
| 2865 if (97 <= dart.notNull(charCode) && dart.notNull(charCode) <= 102) { | 2903 if (97 <= dart.notNull(charCode) && dart.notNull(charCode) <= 102) { |
| 2866 byte = dart.notNull(byte) * 16 + dart.notNull(charCode) - 87; | 2904 byte = dart.notNull(byte) * 16 + dart.notNull(charCode) - 87; |
| 2867 } else { | 2905 } else { |
| 2868 throw new ArgumentError("Invalid URL encoding"); | 2906 throw new ArgumentError("Invalid URL encoding"); |
| 2869 } | 2907 } |
| 2870 } | 2908 } |
| 2871 } | 2909 } |
| 2872 return byte; | 2910 return byte; |
| 2873 } | 2911 } |
| 2874 static [_uriDecode$](text, opts) { | 2912 static [_uriDecode](text, opts) { |
| 2875 let plusToSpace = opts && 'plusToSpace' in opts ? opts.plusToSpace : false
; | 2913 let plusToSpace = opts && 'plusToSpace' in opts ? opts.plusToSpace : false
; |
| 2876 let encoding = opts && 'encoding' in opts ? opts.encoding : convert.UTF8; | 2914 let encoding = opts && 'encoding' in opts ? opts.encoding : convert.UTF8; |
| 2877 let simple = true; | 2915 let simple = true; |
| 2878 for (let i = 0; dart.notNull(i) < dart.notNull(text.length) && dart.notNul
l(simple); i = dart.notNull(i) + 1) { | 2916 for (let i = 0; dart.notNull(i) < dart.notNull(text.length) && dart.notNul
l(simple); i = dart.notNull(i) + 1) { |
| 2879 let codeUnit = text.codeUnitAt(i); | 2917 let codeUnit = text.codeUnitAt(i); |
| 2880 simple = codeUnit !== Uri._PERCENT && codeUnit !== Uri._PLUS; | 2918 simple = codeUnit !== Uri[_PERCENT] && codeUnit !== Uri[_PLUS]; |
| 2881 } | 2919 } |
| 2882 let bytes = null; | 2920 let bytes = null; |
| 2883 if (simple) { | 2921 if (simple) { |
| 2884 if (dart.notNull(dart.equals(encoding, convert.UTF8)) || dart.notNull(da
rt.equals(encoding, convert.LATIN1))) { | 2922 if (dart.notNull(dart.equals(encoding, convert.UTF8)) || dart.notNull(da
rt.equals(encoding, convert.LATIN1))) { |
| 2885 return text; | 2923 return text; |
| 2886 } else { | 2924 } else { |
| 2887 bytes = text.codeUnits; | 2925 bytes = text.codeUnits; |
| 2888 } | 2926 } |
| 2889 } else { | 2927 } else { |
| 2890 bytes = dart.as(new List(), List$(int)); | 2928 bytes = dart.as(new List(), List$(int)); |
| 2891 for (let i = 0; dart.notNull(i) < dart.notNull(text.length); i = dart.no
tNull(i) + 1) { | 2929 for (let i = 0; dart.notNull(i) < dart.notNull(text.length); i = dart.no
tNull(i) + 1) { |
| 2892 let codeUnit = text.codeUnitAt(i); | 2930 let codeUnit = text.codeUnitAt(i); |
| 2893 if (dart.notNull(codeUnit) > 127) { | 2931 if (dart.notNull(codeUnit) > 127) { |
| 2894 throw new ArgumentError("Illegal percent encoding in URI"); | 2932 throw new ArgumentError("Illegal percent encoding in URI"); |
| 2895 } | 2933 } |
| 2896 if (codeUnit === Uri._PERCENT) { | 2934 if (codeUnit === Uri[_PERCENT]) { |
| 2897 if (dart.notNull(i) + 3 > dart.notNull(text.length)) { | 2935 if (dart.notNull(i) + 3 > dart.notNull(text.length)) { |
| 2898 throw new ArgumentError('Truncated URI'); | 2936 throw new ArgumentError('Truncated URI'); |
| 2899 } | 2937 } |
| 2900 bytes.add(_hexCharPairToByte(text, dart.notNull(i) + 1)); | 2938 bytes.add(Uri[_hexCharPairToByte](text, dart.notNull(i) + 1)); |
| 2901 i = 2; | 2939 i = 2; |
| 2902 } else if (dart.notNull(plusToSpace) && codeUnit === Uri._PLUS) { | 2940 } else if (dart.notNull(plusToSpace) && codeUnit === Uri[_PLUS]) { |
| 2903 bytes.add(Uri._SPACE); | 2941 bytes.add(Uri[_SPACE]); |
| 2904 } else { | 2942 } else { |
| 2905 bytes.add(codeUnit); | 2943 bytes.add(codeUnit); |
| 2906 } | 2944 } |
| 2907 } | 2945 } |
| 2908 } | 2946 } |
| 2909 return encoding.decode(bytes); | 2947 return encoding.decode(bytes); |
| 2910 } | 2948 } |
| 2911 static [_isAlphabeticCharacter$](codeUnit) { | 2949 static [_isAlphabeticCharacter](codeUnit) { |
| 2912 return dart.notNull(codeUnit) >= dart.notNull(Uri._LOWER_CASE_A) && dart.n
otNull(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); | 2950 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(Ur
i[_UPPER_CASE_Z]); |
| 2913 } | 2951 } |
| 2914 } | 2952 } |
| 2915 dart.defineNamedConstructor(Uri, '_internal'); | 2953 dart.defineNamedConstructor(Uri, _internal$); |
| 2916 dart.defineNamedConstructor(Uri, 'http'); | 2954 dart.defineNamedConstructor(Uri, 'http'); |
| 2917 dart.defineNamedConstructor(Uri, 'https'); | 2955 dart.defineNamedConstructor(Uri, 'https'); |
| 2918 dart.defineNamedConstructor(Uri, 'file'); | 2956 dart.defineNamedConstructor(Uri, 'file'); |
| 2919 Uri._SPACE = 32; | 2957 Uri._SPACE = 32; |
| 2920 Uri._DOUBLE_QUOTE = 34; | 2958 Uri._DOUBLE_QUOTE = 34; |
| 2921 Uri._NUMBER_SIGN = 35; | 2959 Uri._NUMBER_SIGN = 35; |
| 2922 Uri._PERCENT = 37; | 2960 Uri._PERCENT = 37; |
| 2923 Uri._ASTERISK = 42; | 2961 Uri._ASTERISK = 42; |
| 2924 Uri._PLUS = 43; | 2962 Uri._PLUS = 43; |
| 2925 Uri._DOT = 46; | 2963 Uri._DOT = 46; |
| (...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3032 exports.StackTrace = StackTrace; | 3070 exports.StackTrace = StackTrace; |
| 3033 exports.Stopwatch = Stopwatch; | 3071 exports.Stopwatch = Stopwatch; |
| 3034 exports.String = String; | 3072 exports.String = String; |
| 3035 exports.RuneIterator = RuneIterator; | 3073 exports.RuneIterator = RuneIterator; |
| 3036 exports.StringBuffer = StringBuffer; | 3074 exports.StringBuffer = StringBuffer; |
| 3037 exports.StringSink = StringSink; | 3075 exports.StringSink = StringSink; |
| 3038 exports.Symbol = Symbol; | 3076 exports.Symbol = Symbol; |
| 3039 exports.Type = Type; | 3077 exports.Type = Type; |
| 3040 exports.Uri = Uri; | 3078 exports.Uri = Uri; |
| 3041 })(core || (core = {})); | 3079 })(core || (core = {})); |
| OLD | NEW |