| Index: lib/runtime/dart_sdk.js
|
| diff --git a/lib/runtime/dart_sdk.js b/lib/runtime/dart_sdk.js
|
| index 67c5d7ae92bbaef82a1f9882d59d2ee543cdcc1d..99b1c89f75145e4ec685506a9ad86a3427f2a190 100644
|
| --- a/lib/runtime/dart_sdk.js
|
| +++ b/lib/runtime/dart_sdk.js
|
| @@ -20,6 +20,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| const core = Object.create(null);
|
| const isolate = Object.create(null);
|
| const js = Object.create(null);
|
| + const js_util = Object.create(null);
|
| const math = Object.create(null);
|
| const mirrors = Object.create(null);
|
| const typed_data = Object.create(null);
|
| @@ -629,6 +630,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| let dynamicAnddynamicAndFnToObject = () => (dynamicAnddynamicAndFnToObject = dart.constFn(dart.definiteFunctionType(core.Object, [dart.dynamic, dart.dynamic, dynamicTodynamic()])))();
|
| let FToF = () => (FToF = dart.constFn(dart.definiteFunctionType(F => [F, [F]])))();
|
| let FunctionToFunction = () => (FunctionToFunction = dart.constFn(dart.definiteFunctionType(core.Function, [core.Function])))();
|
| + let FunctionAndListTodynamic = () => (FunctionAndListTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [core.Function, core.List])))();
|
| let TAndTToT = () => (TAndTToT = dart.constFn(dart.definiteFunctionType(T => [T, [T, T]])))();
|
| let TAndTToT$ = () => (TAndTToT$ = dart.constFn(dart.definiteFunctionType(T => [T, [T, T]])))();
|
| let numAndnumTodouble = () => (numAndnumTodouble = dart.constFn(dart.definiteFunctionType(core.double, [core.num, core.num])))();
|
| @@ -33773,6 +33775,109 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| return ret;
|
| };
|
| dart.fn(js.allowInteropCaptureThis, FunctionToFunction());
|
| + js_util.jsify = function(object) {
|
| + if (!core.Map.is(object) && !core.Iterable.is(object)) {
|
| + dart.throw(new core.ArgumentError("object must be a Map or Iterable"));
|
| + }
|
| + return js_util._convertDataTree(object);
|
| + };
|
| + dart.fn(js_util.jsify, dynamicTodynamic$());
|
| + js_util._convertDataTree = function(data) {
|
| + let _convertedObjects = collection.HashMap.identity();
|
| + function _convert(o) {
|
| + if (dart.test(_convertedObjects.containsKey(o))) {
|
| + return _convertedObjects.get(o);
|
| + }
|
| + if (core.Map.is(o)) {
|
| + let convertedMap = {};
|
| + _convertedObjects.set(o, convertedMap);
|
| + for (let key of o[dartx.keys]) {
|
| + convertedMap[key] = _convert(o[dartx.get](key));
|
| + }
|
| + return convertedMap;
|
| + } else if (core.Iterable.is(o)) {
|
| + let convertedList = [];
|
| + _convertedObjects.set(o, convertedList);
|
| + convertedList[dartx.addAll](o[dartx.map](dart.dynamic)(_convert));
|
| + return convertedList;
|
| + } else {
|
| + return o;
|
| + }
|
| + }
|
| + dart.fn(_convert, dynamicTodynamic$());
|
| + return _convert(data);
|
| + };
|
| + dart.fn(js_util._convertDataTree, dynamicTodynamic$());
|
| + js_util.newObject = function() {
|
| + return {};
|
| + };
|
| + dart.fn(js_util.newObject, VoidTodynamic$());
|
| + js_util.hasProperty = function(o, name) {
|
| + return name in o;
|
| + };
|
| + dart.fn(js_util.hasProperty, dynamicAnddynamicTodynamic$());
|
| + js_util.getProperty = function(o, name) {
|
| + return o[name];
|
| + };
|
| + dart.fn(js_util.getProperty, dynamicAnddynamicTodynamic$());
|
| + js_util.setProperty = function(o, name, value) {
|
| + return o[name] = value;
|
| + };
|
| + dart.fn(js_util.setProperty, dynamicAnddynamicAnddynamicTodynamic());
|
| + js_util.callMethod = function(o, method, args) {
|
| + return o[method].apply(o, args);
|
| + };
|
| + dart.fn(js_util.callMethod, dynamicAndStringAndListTodynamic());
|
| + js_util.instanceof = function(o, type) {
|
| + return o instanceof type;
|
| + };
|
| + dart.fn(js_util.instanceof, dynamicAndFunctionTodynamic());
|
| + js_util.callConstructor = function(constr, arguments$) {
|
| + if (arguments$ == null) {
|
| + return new constr();
|
| + }
|
| + if (arguments$ instanceof Array) {
|
| + let argumentCount = arguments$.length;
|
| + switch (argumentCount) {
|
| + case 0:
|
| + {
|
| + return new constr();
|
| + }
|
| + case 1:
|
| + {
|
| + let arg0 = arguments$[0];
|
| + return new constr(arg0);
|
| + }
|
| + case 2:
|
| + {
|
| + let arg0 = arguments$[0];
|
| + let arg1 = arguments$[1];
|
| + return new constr(arg0, arg1);
|
| + }
|
| + case 3:
|
| + {
|
| + let arg0 = arguments$[0];
|
| + let arg1 = arguments$[1];
|
| + let arg2 = arguments$[2];
|
| + return new constr(arg0, arg1, arg2);
|
| + }
|
| + case 4:
|
| + {
|
| + let arg0 = arguments$[0];
|
| + let arg1 = arguments$[1];
|
| + let arg2 = arguments$[2];
|
| + let arg3 = arguments$[3];
|
| + return new constr(arg0, arg1, arg2, arg3);
|
| + }
|
| + }
|
| + }
|
| + let args = [null];
|
| + args[dartx.addAll](arguments$);
|
| + let factoryFunction = constr.bind.apply(constr, args);
|
| + String(factoryFunction);
|
| + return new factoryFunction();
|
| + };
|
| + dart.fn(js_util.callConstructor, FunctionAndListTodynamic());
|
| math.E = 2.718281828459045;
|
| math.LN10 = 2.302585092994046;
|
| math.LN2 = 0.6931471805599453;
|
| @@ -84098,6 +84203,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| exports.core = core;
|
| exports.isolate = isolate;
|
| exports.js = js;
|
| + exports.js_util = js_util;
|
| exports.math = math;
|
| exports.mirrors = mirrors;
|
| exports.typed_data = typed_data;
|
|
|