| OLD | NEW |
| 1 dart_library.library('dart/js', null, /* Imports */[ | 1 dart_library.library('dart/js', null, /* Imports */[ |
| 2 "dart_runtime/dart", | 2 "dart_runtime/dart", |
| 3 'dart/core', | 3 'dart/core', |
| 4 'dart/collection', | 4 'dart/collection', |
| 5 'dart/_js_helper' | 5 'dart/_js_helper' |
| 6 ], /* Lazy imports */[ | 6 ], /* Lazy imports */[ |
| 7 ], function(exports, dart, core, collection, _js_helper) { | 7 ], function(exports, dart, core, collection, _js_helper) { |
| 8 'use strict'; | 8 'use strict'; |
| 9 let dartx = dart.dartx; | 9 let dartx = dart.dartx; |
| 10 dart.defineLazyProperties(exports, { | 10 dart.defineLazyProperties(exports, { |
| 11 get context() { | 11 get context() { |
| 12 return dart.as(_wrapToDart(dart.global), JsObject); | 12 return _wrapToDart(dart.global); |
| 13 } | 13 } |
| 14 }); | 14 }); |
| 15 let _jsObject = Symbol('_jsObject'); | 15 let _jsObject = Symbol('_jsObject'); |
| 16 class JsObject extends core.Object { | 16 class JsObject extends core.Object { |
| 17 _fromJs(jsObject) { | 17 _fromJs(jsObject) { |
| 18 this[_jsObject] = jsObject; | 18 this[_jsObject] = jsObject; |
| 19 dart.assert(this[_jsObject] != null); | 19 dart.assert(this[_jsObject] != null); |
| 20 } | 20 } |
| 21 static new(constructor, arguments$) { | 21 static new(constructor, arguments$) { |
| 22 if (arguments$ === void 0) | 22 if (arguments$ === void 0) |
| 23 arguments$ = null; | 23 arguments$ = null; |
| 24 let ctor = constructor[_jsObject]; | 24 let ctor = constructor[_jsObject]; |
| 25 if (arguments$ == null) { | 25 if (arguments$ == null) { |
| 26 return dart.as(_wrapToDart(new ctor()), JsObject); | 26 return _wrapToDart(new ctor()); |
| 27 } | 27 } |
| 28 return dart.as(_wrapToDart(new ctor(...arguments$)), JsObject); | 28 return _wrapToDart(new ctor(...arguments$)); |
| 29 } | 29 } |
| 30 static fromBrowserObject(object) { | 30 static fromBrowserObject(object) { |
| 31 if (typeof object == 'number' || typeof object == 'string' || typeof objec
t == 'boolean' || object == null) { | 31 if (typeof object == 'number' || typeof object == 'string' || typeof objec
t == 'boolean' || object == null) { |
| 32 dart.throw(new core.ArgumentError("object cannot be a num, string, bool,
or null")); | 32 dart.throw(new core.ArgumentError("object cannot be a num, string, bool,
or null")); |
| 33 } | 33 } |
| 34 return dart.as(_wrapToDart(_convertToJS(object)), JsObject); | 34 return _wrapToDart(_convertToJS(object)); |
| 35 } | 35 } |
| 36 static jsify(object) { | 36 static jsify(object) { |
| 37 if (!dart.is(object, core.Map) && !dart.is(object, core.Iterable)) { | 37 if (!dart.is(object, core.Map) && !dart.is(object, core.Iterable)) { |
| 38 dart.throw(new core.ArgumentError("object must be a Map or Iterable")); | 38 dart.throw(new core.ArgumentError("object must be a Map or Iterable")); |
| 39 } | 39 } |
| 40 return dart.as(_wrapToDart(JsObject._convertDataTree(object)), JsObject); | 40 return _wrapToDart(JsObject._convertDataTree(object)); |
| 41 } | 41 } |
| 42 static _convertDataTree(data) { | 42 static _convertDataTree(data) { |
| 43 let _convertedObjects = collection.HashMap.identity(); | 43 let _convertedObjects = collection.HashMap.identity(); |
| 44 function _convert(o) { | 44 function _convert(o) { |
| 45 if (dart.notNull(_convertedObjects.containsKey(o))) { | 45 if (dart.notNull(_convertedObjects.containsKey(o))) { |
| 46 return _convertedObjects.get(o); | 46 return _convertedObjects.get(o); |
| 47 } | 47 } |
| 48 if (dart.is(o, core.Map)) { | 48 if (dart.is(o, core.Map)) { |
| 49 let convertedMap = {}; | 49 let convertedMap = {}; |
| 50 _convertedObjects.set(o, convertedMap); | 50 _convertedObjects.set(o, convertedMap); |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 123 } | 123 } |
| 124 dart.defineNamedConstructor(JsObject, '_fromJs'); | 124 dart.defineNamedConstructor(JsObject, '_fromJs'); |
| 125 dart.setSignature(JsObject, { | 125 dart.setSignature(JsObject, { |
| 126 constructors: () => ({ | 126 constructors: () => ({ |
| 127 _fromJs: [JsObject, [dart.dynamic]], | 127 _fromJs: [JsObject, [dart.dynamic]], |
| 128 new: [JsObject, [JsFunction], [core.List]], | 128 new: [JsObject, [JsFunction], [core.List]], |
| 129 fromBrowserObject: [JsObject, [dart.dynamic]], | 129 fromBrowserObject: [JsObject, [dart.dynamic]], |
| 130 jsify: [JsObject, [dart.dynamic]] | 130 jsify: [JsObject, [dart.dynamic]] |
| 131 }), | 131 }), |
| 132 methods: () => ({ | 132 methods: () => ({ |
| 133 get: [dart.dynamic, [dart.dynamic]], | 133 get: [dart.dynamic, [core.Object]], |
| 134 set: [dart.dynamic, [dart.dynamic, dart.dynamic]], | 134 set: [dart.dynamic, [core.Object, dart.dynamic]], |
| 135 hasProperty: [core.bool, [dart.dynamic]], | 135 hasProperty: [core.bool, [dart.dynamic]], |
| 136 deleteProperty: [dart.void, [dart.dynamic]], | 136 deleteProperty: [dart.void, [dart.dynamic]], |
| 137 instanceof: [core.bool, [JsFunction]], | 137 instanceof: [core.bool, [JsFunction]], |
| 138 callMethod: [dart.dynamic, [dart.dynamic], [core.List]] | 138 callMethod: [dart.dynamic, [dart.dynamic], [core.List]] |
| 139 }), | 139 }), |
| 140 statics: () => ({_convertDataTree: [dart.dynamic, [dart.dynamic]]}), | 140 statics: () => ({_convertDataTree: [dart.dynamic, [dart.dynamic]]}), |
| 141 names: ['_convertDataTree'] | 141 names: ['_convertDataTree'] |
| 142 }); | 142 }); |
| 143 class JsFunction extends JsObject { | 143 class JsFunction extends JsObject { |
| 144 static withThis(f) { | 144 static withThis(f) { |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 196 static _checkRange(start, end, length) { | 196 static _checkRange(start, end, length) { |
| 197 if (dart.notNull(start) < 0 || dart.notNull(start) > dart.notNull(length
)) { | 197 if (dart.notNull(start) < 0 || dart.notNull(start) > dart.notNull(length
)) { |
| 198 dart.throw(new core.RangeError.range(start, 0, length)); | 198 dart.throw(new core.RangeError.range(start, 0, length)); |
| 199 } | 199 } |
| 200 if (dart.notNull(end) < dart.notNull(start) || dart.notNull(end) > dart.
notNull(length)) { | 200 if (dart.notNull(end) < dart.notNull(start) || dart.notNull(end) > dart.
notNull(length)) { |
| 201 dart.throw(new core.RangeError.range(end, start, length)); | 201 dart.throw(new core.RangeError.range(end, start, length)); |
| 202 } | 202 } |
| 203 } | 203 } |
| 204 get(index) { | 204 get(index) { |
| 205 if (typeof index == 'number' && index == index[dartx.toInt]()) { | 205 if (typeof index == 'number' && index == index[dartx.toInt]()) { |
| 206 this[_checkIndex](index); | 206 this[_checkIndex](dart.asInt(index)); |
| 207 } | 207 } |
| 208 return dart.as(super.get(index), E); | 208 return dart.as(super.get(index), E); |
| 209 } | 209 } |
| 210 set(index, value) { | 210 set(index, value) { |
| 211 dart.as(value, E); | 211 dart.as(value, E); |
| 212 if (typeof index == 'number' && index == index[dartx.toInt]()) { | 212 if (typeof index == 'number' && index == index[dartx.toInt]()) { |
| 213 this[_checkIndex](index); | 213 this[_checkIndex](dart.asInt(index)); |
| 214 } | 214 } |
| 215 super.set(index, value); | 215 super.set(index, value); |
| 216 return value; | 216 return value; |
| 217 } | 217 } |
| 218 get length() { | 218 get length() { |
| 219 let len = this[_jsObject].length; | 219 let len = this[_jsObject].length; |
| 220 if (typeof len === "number" && len >>> 0 === len) { | 220 if (typeof len === "number" && len >>> 0 === len) { |
| 221 return len; | 221 return len; |
| 222 } | 222 } |
| 223 dart.throw(new core.StateError('Bad JsArray length')); | 223 dart.throw(new core.StateError('Bad JsArray length')); |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 277 dart.defineNamedConstructor(JsArray, '_fromJs'); | 277 dart.defineNamedConstructor(JsArray, '_fromJs'); |
| 278 dart.setSignature(JsArray, { | 278 dart.setSignature(JsArray, { |
| 279 constructors: () => ({ | 279 constructors: () => ({ |
| 280 JsArray: [JsArray$(E), []], | 280 JsArray: [JsArray$(E), []], |
| 281 from: [JsArray$(E), [core.Iterable$(E)]], | 281 from: [JsArray$(E), [core.Iterable$(E)]], |
| 282 _fromJs: [JsArray$(E), [dart.dynamic]] | 282 _fromJs: [JsArray$(E), [dart.dynamic]] |
| 283 }), | 283 }), |
| 284 methods: () => ({ | 284 methods: () => ({ |
| 285 [_checkIndex]: [dart.dynamic, [core.int]], | 285 [_checkIndex]: [dart.dynamic, [core.int]], |
| 286 [_checkInsertIndex]: [dart.dynamic, [core.int]], | 286 [_checkInsertIndex]: [dart.dynamic, [core.int]], |
| 287 get: [E, [core.int]], | 287 get: [E, [core.Object]], |
| 288 set: [dart.void, [core.int, E]], | 288 set: [dart.void, [core.Object, E]], |
| 289 add: [dart.void, [E]], | 289 add: [dart.void, [E]], |
| 290 addAll: [dart.void, [core.Iterable$(E)]], | 290 addAll: [dart.void, [core.Iterable$(E)]], |
| 291 insert: [dart.void, [core.int, E]], | 291 insert: [dart.void, [core.int, E]], |
| 292 removeAt: [E, [core.int]], | 292 removeAt: [E, [core.int]], |
| 293 removeLast: [E, []], | 293 removeLast: [E, []], |
| 294 setRange: [dart.void, [core.int, core.int, core.Iterable$(E)], [core.int
]], | 294 setRange: [dart.void, [core.int, core.int, core.Iterable$(E)], [core.int
]], |
| 295 sort: [dart.void, [], [dart.functionType(core.int, [E, E])]] | 295 sort: [dart.void, [], [dart.functionType(core.int, [E, E])]] |
| 296 }), | 296 }), |
| 297 statics: () => ({_checkRange: [dart.dynamic, [core.int, core.int, core.int
]]}), | 297 statics: () => ({_checkRange: [dart.dynamic, [core.int, core.int, core.int
]]}), |
| 298 names: ['_checkRange'] | 298 names: ['_checkRange'] |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 365 dart.fn(_convertToDart, core.Object, [dart.dynamic]); | 365 dart.fn(_convertToDart, core.Object, [dart.dynamic]); |
| 366 function _wrapToDart(o) { | 366 function _wrapToDart(o) { |
| 367 if (typeof o == "function") { | 367 if (typeof o == "function") { |
| 368 return new JsFunction._fromJs(o); | 368 return new JsFunction._fromJs(o); |
| 369 } | 369 } |
| 370 if (o instanceof Array) { | 370 if (o instanceof Array) { |
| 371 return new JsArray._fromJs(o); | 371 return new JsArray._fromJs(o); |
| 372 } | 372 } |
| 373 return new JsObject._fromJs(o); | 373 return new JsObject._fromJs(o); |
| 374 } | 374 } |
| 375 dart.fn(_wrapToDart); | 375 dart.fn(_wrapToDart, JsObject, [dart.dynamic]); |
| 376 dart.defineLazyProperties(exports, { | 376 dart.defineLazyProperties(exports, { |
| 377 get _dartProxies() { | 377 get _dartProxies() { |
| 378 return new WeakMap(); | 378 return new WeakMap(); |
| 379 }, | 379 }, |
| 380 get _jsProxies() { | 380 get _jsProxies() { |
| 381 return new WeakMap(); | 381 return new WeakMap(); |
| 382 } | 382 } |
| 383 }); | 383 }); |
| 384 function _putIfAbsent(weakMap, o, getValue) { | 384 function _putIfAbsent(weakMap, o, getValue) { |
| 385 let value = weakMap.get(o); | 385 let value = weakMap.get(o); |
| 386 if (value == null) { | 386 if (value == null) { |
| 387 value = dart.dcall(getValue, o); | 387 value = dart.dcall(getValue, o); |
| 388 weakMap.set(o, value); | 388 weakMap.set(o, value); |
| 389 } | 389 } |
| 390 return value; | 390 return value; |
| 391 } | 391 } |
| 392 dart.fn(_putIfAbsent, core.Object, [dart.dynamic, dart.dynamic, dart.functionT
ype(dart.dynamic, [dart.dynamic])]); | 392 dart.fn(_putIfAbsent, core.Object, [dart.dynamic, dart.dynamic, dart.functionT
ype(dart.dynamic, [dart.dynamic])]); |
| 393 let __CastType0$ = dart.generic(function(E) { | 393 let __CastType0$ = dart.generic(function(E) { |
| 394 let __CastType0 = dart.typedef('__CastType0', () => dart.functionType(dart.d
ynamic, [E])); | 394 let __CastType0 = dart.typedef('__CastType0', () => dart.functionType(dart.d
ynamic, [E])); |
| 395 return __CastType0; | 395 return __CastType0; |
| 396 }); | 396 }); |
| 397 let __CastType0 = __CastType0$(); | 397 let __CastType0 = __CastType0$(); |
| 398 // Exports: | 398 // Exports: |
| 399 exports.JsObject = JsObject; | 399 exports.JsObject = JsObject; |
| 400 exports.JsFunction = JsFunction; | 400 exports.JsFunction = JsFunction; |
| 401 exports.JsArray$ = JsArray$; | 401 exports.JsArray$ = JsArray$; |
| 402 exports.JsArray = JsArray; | 402 exports.JsArray = JsArray; |
| 403 }); | 403 }); |
| OLD | NEW |