Socket
Socket
Sign inDemoInstall

zone.js

Package Overview
Dependencies
Maintainers
2
Versions
124
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

zone.js - npm Package Compare versions

Comparing version 0.6.10 to 0.6.11

lib/common/timers.ts

9

dist/long-stack-trace-zone.js

@@ -82,4 +82,3 @@ /******/ (function(modules) { // webpackBootstrap

function addErrorStack(lines, error) {
var trace;
trace = getFrames(error);
var trace = getFrames(error);
for (var i = 0; i < trace.length; i++) {

@@ -127,7 +126,7 @@ var frame = trace[i];

if (descriptor) {
var delegateGet = descriptor.get;
var value = descriptor.value;
var delegateGet_1 = descriptor.get;
var value_1 = descriptor.value;
descriptor = {
get: function () {
return renderLongStackTrace(parentTask.data && parentTask.data[creationTrace], delegateGet ? delegateGet.apply(this) : value);
return renderLongStackTrace(parentTask.data && parentTask.data[creationTrace], delegateGet_1 ? delegateGet_1.apply(this) : value_1);
}

@@ -134,0 +133,0 @@ };

@@ -1,1 +0,1 @@

!function(t){function r(n){if(e[n])return e[n].exports;var a=e[n]={exports:{},id:n,loaded:!1};return t[n].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}var e={};return r.m=t,r.c=e,r.p="",r(0)}([function(t,exports){"use strict";!function(){function t(){return new Error("STACKTRACE TRACKING")}function r(){try{throw t()}catch(r){return r}}function e(t){return t.stack?t.stack.split(i):[]}function n(t,r){var n;n=e(r);for(var a=0;a<n.length;a++){var c=n[a];a<u.length&&u[a]===c||t.push(n[a])}}function a(t,r){var e=[r];if(t)for(var a=(new Date).getTime(),c=0;c<t.length;c++){var o=t[c],u=o.timestamp;e.push(s+" Elapsed: "+(a-u.getTime())+" ms; At: "+u+" "+s),n(e,o.error),a=u.getTime()}return e.join(i)}function c(t,r){r>0&&(t.push(e((new l).error)),c(t,r-1))}function o(){var t=[];c(t,2);for(var r=t[0],e=t[1],n=0;n<r.length;n++){var a=r[n],o=e[n];if(a!==o)break;u.push(a)}}var i="\n",s=" ------------- ",u=[],f="__creationTrace__",l=function(){function t(){this.error=p(),this.timestamp=new Date}return t}(),d=t(),h=r(),p=d.stack?t:h.stack?r:t;Zone.longStackTraceZoneSpec={name:"long-stack-trace",longStackTraceLimit:10,onScheduleTask:function(t,r,e,n){var a=Zone.currentTask,c=a&&a.data&&a.data[f]||[];return c=[new l].concat(c),c.length>this.longStackTraceLimit&&(c.length=this.longStackTraceLimit),n.data||(n.data={}),n.data[f]=c,t.scheduleTask(e,n)},onHandleError:function(t,r,e,n){var c=Zone.currentTask;if(n instanceof Error&&c){var o=Object.getOwnPropertyDescriptor(n,"stack");if(o){var i=o.get,s=o.value;o={get:function(){return a(c.data&&c.data[f],i?i.apply(this):s)}},Object.defineProperty(n,"stack",o)}else n.stack=a(c.data&&c.data[f],n.stack)}return t.handleError(e,n)}},o()}()}]);
!function(t){function r(n){if(e[n])return e[n].exports;var a=e[n]={exports:{},id:n,loaded:!1};return t[n].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}var e={};return r.m=t,r.c=e,r.p="",r(0)}([function(t,exports){"use strict";!function(){function t(){return new Error("STACKTRACE TRACKING")}function r(){try{throw t()}catch(r){return r}}function e(t){return t.stack?t.stack.split(i):[]}function n(t,r){for(var n=e(r),a=0;a<n.length;a++){var c=n[a];a<u.length&&u[a]===c||t.push(n[a])}}function a(t,r){var e=[r];if(t)for(var a=(new Date).getTime(),c=0;c<t.length;c++){var o=t[c],u=o.timestamp;e.push(s+" Elapsed: "+(a-u.getTime())+" ms; At: "+u+" "+s),n(e,o.error),a=u.getTime()}return e.join(i)}function c(t,r){r>0&&(t.push(e((new l).error)),c(t,r-1))}function o(){var t=[];c(t,2);for(var r=t[0],e=t[1],n=0;n<r.length;n++){var a=r[n],o=e[n];if(a!==o)break;u.push(a)}}var i="\n",s=" ------------- ",u=[],f="__creationTrace__",l=function(){function t(){this.error=p(),this.timestamp=new Date}return t}(),d=t(),h=r(),p=d.stack?t:h.stack?r:t;Zone.longStackTraceZoneSpec={name:"long-stack-trace",longStackTraceLimit:10,onScheduleTask:function(t,r,e,n){var a=Zone.currentTask,c=a&&a.data&&a.data[f]||[];return c=[new l].concat(c),c.length>this.longStackTraceLimit&&(c.length=this.longStackTraceLimit),n.data||(n.data={}),n.data[f]=c,t.scheduleTask(e,n)},onHandleError:function(t,r,e,n){var c=Zone.currentTask;if(n instanceof Error&&c){var o=Object.getOwnPropertyDescriptor(n,"stack");if(o){var i=o.get,s=o.value;o={get:function(){return a(c.data&&c.data[f],i?i.apply(this):s)}},Object.defineProperty(n,"stack",o)}else n.stack=a(c.data&&c.data[f],n.stack)}return t.handleError(e,n)}},o()}()}]);

@@ -132,4 +132,4 @@ /******/ (function(modules) { // webpackBootstrap

case 'object':
var name = value && value.constructor && value.constructor.name;
value = name == Object.name ? shallowObj(value, depth - 1) : name;
var name_1 = value && value.constructor && value.constructor.name;
value = name_1 == Object.name ? shallowObj(value, depth - 1) : name_1;
break;

@@ -136,0 +136,0 @@ case 'function':

@@ -53,2 +53,3 @@ /******/ (function(modules) { // webpackBootstrap

var property_descriptor_1 = __webpack_require__(6);
var timers_1 = __webpack_require__(8);
var utils_1 = __webpack_require__(3);

@@ -59,8 +60,8 @@ var set = 'set';

var _global = typeof window == 'undefined' ? global : window;
patchTimer(_global, set, clear, 'Timeout');
patchTimer(_global, set, clear, 'Interval');
patchTimer(_global, set, clear, 'Immediate');
patchTimer(_global, 'request', 'cancelMacroTask', 'AnimationFrame');
patchTimer(_global, 'mozRequest', 'mozCancel', 'AnimationFrame');
patchTimer(_global, 'webkitRequest', 'webkitCancel', 'AnimationFrame');
timers_1.patchTimer(_global, set, clear, 'Timeout');
timers_1.patchTimer(_global, set, clear, 'Interval');
timers_1.patchTimer(_global, set, clear, 'Immediate');
timers_1.patchTimer(_global, 'request', 'cancelMacroTask', 'AnimationFrame');
timers_1.patchTimer(_global, 'mozRequest', 'mozCancel', 'AnimationFrame');
timers_1.patchTimer(_global, 'webkitRequest', 'webkitCancel', 'AnimationFrame');
for (var i = 0; i < blockingMethods.length; i++) {

@@ -144,44 +145,2 @@ var name = blockingMethods[i];

}
function patchTimer(window, setName, cancelName, nameSuffix) {
setName += nameSuffix;
cancelName += nameSuffix;
function scheduleTask(task) {
var data = task.data;
data.args[0] = task.invoke;
data.handleId = setNative.apply(window, data.args);
return task;
}
function clearTask(task) {
return clearNative(task.data.handleId);
}
var setNative = utils_1.patchMethod(window, setName, function (delegate) { return function (self, args) {
if (typeof args[0] === 'function') {
var zone = Zone.current;
var options = {
handleId: null,
isPeriodic: nameSuffix == 'Interval',
delay: (nameSuffix == 'Timeout' || nameSuffix == 'Interval') ? args[1] || 0 : null,
args: args
};
return zone.scheduleMacroTask(setName, args[0], options, scheduleTask, clearTask);
}
else {
// cause an error by calling it directly.
return delegate.apply(window, args);
}
}; });
var clearNative = utils_1.patchMethod(window, cancelName, function (delegate) { return function (self, args) {
var task = args[0];
if (task && typeof task.type == 'string') {
if (task.cancelFn && task.data.isPeriodic || task.runCount == 0) {
// Do not cancel already canceled functions
task.zone.cancelTask(task);
}
}
else {
// cause an error by calling it directly.
delegate.apply(window, args);
}
}; });
}

@@ -244,9 +203,9 @@ /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))

Zone.prototype.wrap = function (callback, source) {
if (typeof callback != 'function') {
if (typeof callback !== 'function') {
throw new Error('Expecting function got: ' + callback);
}
var callback = this._zoneDelegate.intercept(this, callback, source);
var _callback = this._zoneDelegate.intercept(this, callback, source);
var zone = this;
return function () {
return zone.runGuarded(callback, this, arguments, source);
return zone.runGuarded(_callback, this, arguments, source);
};

@@ -297,2 +256,5 @@ };

try {
if (task.type == 'macroTask' && task.data && !task.data.isPeriodic) {
task.cancelFn = null;
}
try {

@@ -308,5 +270,2 @@ return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs);

finally {
if (task.type == 'macroTask' && task.data && !task.data.isPeriodic) {
task.cancelFn = null;
}
_currentZone = oldZone;

@@ -531,3 +490,3 @@ _currentTask = previousTask;

_uncaughtPromiseErrors = [];
for (var i = 0; i < uncaughtPromiseErrors.length; i++) {
var _loop_1 = function(i) {
var uncaughtPromiseError = uncaughtPromiseErrors[i];

@@ -540,2 +499,5 @@ try {

}
};
for (var i = 0; i < uncaughtPromiseErrors.length; i++) {
_loop_1(i);
}

@@ -661,4 +623,4 @@ }

var promise = new this(function (res, rej) { resolve = res; reject = rej; });
var count = 0;
var resolvedValues = [];
var count = 0;
function onReject(error) { promise && reject(error); promise = null; }

@@ -704,3 +666,3 @@ for (var _i = 0, values_2 = values; _i < values_2.length; _i++) {

var NativePromiseProtototype = NativePromise.prototype;
var NativePromiseThen = NativePromiseProtototype[__symbol__('then')]
var NativePromiseThen_1 = NativePromiseProtototype[__symbol__('then')]
= NativePromiseProtototype.then;

@@ -710,3 +672,3 @@ NativePromiseProtototype.then = function (onResolve, onReject) {

return new ZoneAwarePromise(function (resolve, reject) {
NativePromiseThen.call(nativePromise, resolve, reject);
NativePromiseThen_1.call(nativePromise, resolve, reject);
}).then(onResolve, onReject);

@@ -716,3 +678,3 @@ };

return global.Zone = Zone;
})(typeof window == 'undefined' ? global : window);
})(typeof window === 'undefined' ? global : window);

@@ -777,12 +739,15 @@ /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))

var source = prototype.constructor['name'];
for (var i = 0; i < fnNames.length; i++) {
var name = fnNames[i];
var delegate = prototype[name];
var _loop_1 = function(i) {
var name_1 = fnNames[i];
var delegate = prototype[name_1];
if (delegate) {
prototype[name] = (function (delegate) {
prototype[name_1] = (function (delegate) {
return function () {
return delegate.apply(this, bindArguments(arguments, source + '.' + name));
return delegate.apply(this, bindArguments(arguments, source + '.' + name_1));
};
})(delegate);
}
};
for (var i = 0; i < fnNames.length; i++) {
_loop_1(i);
}

@@ -794,3 +759,3 @@ }

exports.isNode = (typeof process !== 'undefined' && {}.toString.call(process) === '[object process]');
exports.isBrowser = !exports.isNode && !exports.isWebWorker && !!(window && window['HTMLElement']);
exports.isBrowser = !exports.isNode && !exports.isWebWorker && !!(typeof window !== 'undefined' && window['HTMLElement']);
function patchProperty(obj, prop) {

@@ -909,4 +874,15 @@ var desc = Object.getOwnPropertyDescriptor(obj, prop) || {

}
var validZoneHandler = false;
try {
// In cross site contexts (such as WebDriver frameworks like Selenium),
// accessing the handler object here will cause an exception to be thrown which
// will fail tests prematurely.
validZoneHandler = handler && handler.toString() === "[object FunctionWrapper]";
}
catch (e) {
// Returning nothing here is fine, because objects in a cross-site context are unusable
return;
}
// Ignore special listeners of IE11 & Edge dev tools, see https://github.com/angular/zone.js/issues/150
if (!delegate || handler && handler.toString() === "[object FunctionWrapper]") {
if (!delegate || validZoneHandler) {
return target[SYMBOL_ADD_EVENT_LISTENER](eventName, handler, useCapturing);

@@ -1058,4 +1034,6 @@ }

var utils_1 = __webpack_require__(3);
// might need similar for object.freeze
// i regret nothing
/*
* This is necessary for Chrome and Chrome mobile, to enable
* things like redefining `createdCallback` on an element.
*/
var _defineProperty = Object.defineProperty;

@@ -1229,3 +1207,3 @@ var _getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;

function patchViaCapturingAllTheEvents() {
for (var i = 0; i < eventNames.length; i++) {
var _loop_1 = function(i) {
var property = eventNames[i];

@@ -1245,2 +1223,5 @@ var onproperty = 'on' + property;

}, true);
};
for (var i = 0; i < eventNames.length; i++) {
_loop_1(i);
}

@@ -1256,3 +1237,3 @@ ;

/* WEBPACK VAR INJECTION */(function(global) {"use strict";
"use strict";
var utils_1 = __webpack_require__(3);

@@ -1287,9 +1268,63 @@ // we have to patch the instance since the proto is non-configurable

};
global.WebSocket.prototype = Object.create(WS.prototype, { constructor: { value: WebSocket } });
for (var prop in WS) {
_global.WebSocket[prop] = WS[prop];
}
}
exports.apply = apply;
/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
/***/ },
/* 8 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
var utils_1 = __webpack_require__(3);
function patchTimer(window, setName, cancelName, nameSuffix) {
var setNative = null;
var clearNative = null;
setName += nameSuffix;
cancelName += nameSuffix;
function scheduleTask(task) {
var data = task.data;
data.args[0] = task.invoke;
data.handleId = setNative.apply(window, data.args);
return task;
}
function clearTask(task) {
return clearNative(task.data.handleId);
}
setNative = utils_1.patchMethod(window, setName, function (delegate) { return function (self, args) {
if (typeof args[0] === 'function') {
var zone = Zone.current;
var options = {
handleId: null,
isPeriodic: nameSuffix === 'Interval',
delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 : null,
args: args
};
return zone.scheduleMacroTask(setName, args[0], options, scheduleTask, clearTask);
}
else {
// cause an error by calling it directly.
return delegate.apply(window, args);
}
}; });
clearNative = utils_1.patchMethod(window, cancelName, function (delegate) { return function (self, args) {
var task = args[0];
if (task && typeof task.type === 'string') {
if (task.cancelFn && task.data.isPeriodic || task.runCount === 0) {
// Do not cancel already canceled functions
task.zone.cancelTask(task);
}
}
else {
// cause an error by calling it directly.
delegate.apply(window, args);
}
}; });
}
exports.patchTimer = patchTimer;
/***/ }
/******/ ]);

@@ -445,2 +445,2 @@ /**

}
declare var Zone: ZoneType;
declare const Zone: ZoneType;

@@ -1,1 +0,1 @@

!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,exports,t){(function(e){"use strict";function n(e){function t(e){var t=e[v];return t}function n(e){var t=e.data;t.target.addEventListener("readystatechange",function(){t.target.readyState===XMLHttpRequest.DONE&&(t.aborted||e.invoke())});var n=t.target[v];return n||(t.target[v]=e),a.apply(t.target,t.args),e}function r(){}function o(e){var t=e.data;return t.aborted=!0,i.apply(t.target,t.args)}var a=c.patchMethod(e.XMLHttpRequest.prototype,"send",function(){return function(e,t){var a=Zone.current,i={target:e,isPeriodic:!1,delay:null,args:t,aborted:!1};return a.scheduleMacroTask("XMLHttpRequest.send",r,i,n,o)}}),i=c.patchMethod(e.XMLHttpRequest.prototype,"abort",function(e){return function(e,n){var r=t(e);if(r&&"string"==typeof r.type){if(null==r.cancelFn)return;r.zone.cancelTask(r)}}})}function r(e,t,n,r){function o(t){var n=t.data;return n.args[0]=t.invoke,n.handleId=i.apply(e,n.args),t}function a(e){return s(e.data.handleId)}t+=r,n+=r;var i=c.patchMethod(e,t,function(n){return function(i,s){if("function"==typeof s[0]){var c=Zone.current,u={handleId:null,isPeriodic:"Interval"==r,delay:"Timeout"==r||"Interval"==r?s[1]||0:null,args:s};return c.scheduleMacroTask(t,s[0],u,o,a)}return n.apply(e,s)}}),s=c.patchMethod(e,n,function(t){return function(n,r){var o=r[0];o&&"string"==typeof o.type?(o.cancelFn&&o.data.isPeriodic||0==o.runCount)&&o.zone.cancelTask(o):t.apply(e,r)}})}t(1);var o=t(2),a=t(4),i=t(5),s=t(6),c=t(3),u="set",l="clear",p=["alert","prompt","confirm"],h="undefined"==typeof window?e:window;r(h,u,l,"Timeout"),r(h,u,l,"Interval"),r(h,u,l,"Immediate"),r(h,"request","cancelMacroTask","AnimationFrame"),r(h,"mozRequest","mozCancel","AnimationFrame"),r(h,"webkitRequest","webkitCancel","AnimationFrame");for(var f=0;f<p.length;f++){var d=p[f];c.patchMethod(h,d,function(e,t,n){return function(t,r){return Zone.current.run(e,h,r,n)}})}o.eventTargetPatch(h),s.propertyDescriptorPatch(h),c.patchClass("MutationObserver"),c.patchClass("WebKitMutationObserver"),c.patchClass("FileReader"),a.propertyPatch(),i.registerElementPatch(h),n(h);var v=c.zoneSymbol("xhrTask");h.navigator&&h.navigator.geolocation&&c.patchPrototype(h.navigator.geolocation,["getCurrentPosition","watchPosition"])}).call(exports,function(){return this}())},function(e,exports){(function(e){(function(e){function t(e){return"__zone_symbol__"+e}function n(){D||T||0!=b.length||(e[y]?e[y].resolve(0)[g](a):e[k](a,0))}function r(e){n(),b.push(e)}function o(e){var t=e&&e.rejection;t&&console.error("Unhandled Promise rejection:",t instanceof Error?t.message:t,"; Zone:",e.zone.name,"; Task:",e.task&&e.task.source,"; Value:",t),console.error(e)}function a(){if(!_){for(_=!0;b.length;){var e=b;b=[];for(var t=0;t<e.length;t++){var n=e[t];try{n.zone.runTask(n,null,null)}catch(r){o(r)}}}for(;w.length;){var a=w;w=[];for(var t=0;t<a.length;t++){var i=a[t];try{i.zone.runGuarded(function(){throw i})}catch(r){o(r)}}}_=!1,D=!1}}function i(e){return e&&e.then}function s(e){return e}function c(e){return M.reject(e)}function u(e,t){return function(n){l(e,t,n)}}function l(e,t,r){if(e[S]===O)if(r instanceof M&&r[S]!==O)p(r),l(e,r[S],r[E]);else if(i(r))r.then(u(e,t),u(e,!1));else{e[S]=t;var o=e[E];e[E]=r;for(var a=0;a<o.length;)h(e,o[a++],o[a++],o[a++],o[a++]);if(0==o.length&&t==Z){e[S]=C;try{throw new Error("Uncaught (in promise): "+r)}catch(s){var c=s;c.rejection=r,c.promise=e,c.zone=f.current,c.task=f.currentTask,w.push(c),n()}}}return e}function p(e){if(e[S]===C){e[S]=Z;for(var t=0;t<w.length;t++)if(e===w[t].promise){w.splice(t,1);break}}}function h(e,t,n,r,o){p(e);var a=e[S]?r||s:o||c;t.scheduleMicroTask(P,function(){try{l(n,!0,t.run(a,null,[e[E]]))}catch(r){l(n,!1,r)}})}var f=function(){function e(e,t){this._properties=null,this._parent=e,this._name=t?t.name||"unnamed":"<root>",this._properties=t&&t.properties||{},this._zoneDelegate=new d(this,this._parent&&this._parent._zoneDelegate,t)}return Object.defineProperty(e,"current",{get:function(){return m},enumerable:!0,configurable:!0}),Object.defineProperty(e,"currentTask",{get:function(){return T},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"name",{get:function(){return this._name},enumerable:!0,configurable:!0}),e.prototype.get=function(e){for(var t=this;t;){if(t._properties.hasOwnProperty(e))return t._properties[e];t=t._parent}},e.prototype.fork=function(e){if(!e)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,e)},e.prototype.wrap=function(e,t){if("function"!=typeof e)throw new Error("Expecting function got: "+e);var e=this._zoneDelegate.intercept(this,e,t),n=this;return function(){return n.runGuarded(e,this,arguments,t)}},e.prototype.run=function(e,t,n,r){void 0===t&&(t=null),void 0===n&&(n=null),void 0===r&&(r=null);var o=m;m=this;try{return this._zoneDelegate.invoke(this,e,t,n,r)}finally{m=o}},e.prototype.runGuarded=function(e,t,n,r){void 0===t&&(t=null),void 0===n&&(n=null),void 0===r&&(r=null);var o=m;m=this;try{try{return this._zoneDelegate.invoke(this,e,t,n,r)}catch(a){if(this._zoneDelegate.handleError(this,a))throw a}}finally{m=o}},e.prototype.runTask=function(e,t,n){if(e.runCount++,e.zone!=this)throw new Error("A task can only be run in the zone which created it! (Creation: "+e.zone.name+"; Execution: "+this.name+")");var r=T;T=e;var o=m;m=this;try{try{return this._zoneDelegate.invokeTask(this,e,t,n)}catch(a){if(this._zoneDelegate.handleError(this,a))throw a}}finally{"macroTask"==e.type&&e.data&&!e.data.isPeriodic&&(e.cancelFn=null),m=o,T=r}},e.prototype.scheduleMicroTask=function(e,t,n,r){return this._zoneDelegate.scheduleTask(this,new v("microTask",this,e,t,n,r,null))},e.prototype.scheduleMacroTask=function(e,t,n,r,o){return this._zoneDelegate.scheduleTask(this,new v("macroTask",this,e,t,n,r,o))},e.prototype.scheduleEventTask=function(e,t,n,r,o){return this._zoneDelegate.scheduleTask(this,new v("eventTask",this,e,t,n,r,o))},e.prototype.cancelTask=function(e){var t=this._zoneDelegate.cancelTask(this,e);return e.runCount=-1,e.cancelFn=null,t},e.__symbol__=t,e}(),d=function(){function e(e,t,n){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=e,this._parentDelegate=t,this._forkZS=n&&(n&&n.onFork?n:t._forkZS),this._forkDlgt=n&&(n.onFork?t:t._forkDlgt),this._interceptZS=n&&(n.onIntercept?n:t._interceptZS),this._interceptDlgt=n&&(n.onIntercept?t:t._interceptDlgt),this._invokeZS=n&&(n.onInvoke?n:t._invokeZS),this._invokeDlgt=n&&(n.onInvoke?t:t._invokeDlgt),this._handleErrorZS=n&&(n.onHandleError?n:t._handleErrorZS),this._handleErrorDlgt=n&&(n.onHandleError?t:t._handleErrorDlgt),this._scheduleTaskZS=n&&(n.onScheduleTask?n:t._scheduleTaskZS),this._scheduleTaskDlgt=n&&(n.onScheduleTask?t:t._scheduleTaskDlgt),this._invokeTaskZS=n&&(n.onInvokeTask?n:t._invokeTaskZS),this._invokeTaskDlgt=n&&(n.onInvokeTask?t:t._invokeTaskDlgt),this._cancelTaskZS=n&&(n.onCancelTask?n:t._cancelTaskZS),this._cancelTaskDlgt=n&&(n.onCancelTask?t:t._cancelTaskDlgt),this._hasTaskZS=n&&(n.onHasTask?n:t._hasTaskZS),this._hasTaskDlgt=n&&(n.onHasTask?t:t._hasTaskDlgt)}return e.prototype.fork=function(e,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,e,t):new f(e,t)},e.prototype.intercept=function(e,t,n){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this.zone,e,t,n):t},e.prototype.invoke=function(e,t,n,r,o){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this.zone,e,t,n,r,o):t.apply(n,r)},e.prototype.handleError=function(e,t){return this._handleErrorZS?this._handleErrorZS.onHandleError(this._handleErrorDlgt,this.zone,e,t):!0},e.prototype.scheduleTask=function(e,t){try{if(this._scheduleTaskZS)return this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this.zone,e,t);if(t.scheduleFn)t.scheduleFn(t);else{if("microTask"!=t.type)throw new Error("Task is missing scheduleFn.");r(t)}return t}finally{e==this.zone&&this._updateTaskCount(t.type,1)}},e.prototype.invokeTask=function(e,t,n,r){try{return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this.zone,e,t,n,r):t.callback.apply(n,r)}finally{e!=this.zone||"eventTask"==t.type||t.data&&t.data.isPeriodic||this._updateTaskCount(t.type,-1)}},e.prototype.cancelTask=function(e,t){var n;if(this._cancelTaskZS)n=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this.zone,e,t);else{if(!t.cancelFn)throw new Error("Task does not support cancellation, or is already canceled.");n=t.cancelFn(t)}return e==this.zone&&this._updateTaskCount(t.type,-1),n},e.prototype.hasTask=function(e,t){return this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this.zone,e,t)},e.prototype._updateTaskCount=function(e,t){var n=this._taskCounts,r=n[e],o=n[e]=r+t;if(0>o)throw new Error("More tasks executed then were scheduled.");if(0==r||0==o){var a={microTask:n.microTask>0,macroTask:n.macroTask>0,eventTask:n.eventTask>0,change:e};try{this.hasTask(this.zone,a)}finally{this._parentDelegate&&this._parentDelegate._updateTaskCount(e,t)}}},e}(),v=function(){function e(e,t,n,r,o,i,s){this.runCount=0,this.type=e,this.zone=t,this.source=n,this.data=o,this.scheduleFn=i,this.cancelFn=s,this.callback=r;var c=this;this.invoke=function(){try{return t.runTask(c,this,arguments)}finally{a()}}}return e}(),k=t("setTimeout"),y=t("Promise"),g=t("then"),m=new f(null,null),T=null,b=[],_=!1,w=[],D=!1,S=t("state"),E=t("value"),P="Promise.then",O=null,z=!0,Z=!1,C=0,M=function(){function e(e){var t=this;t[S]=O,t[E]=[];try{e&&e(u(t,z),u(t,Z))}catch(n){l(t,!1,n)}}return e.resolve=function(e){return l(new this(null),z,e)},e.reject=function(e){return l(new this(null),Z,e)},e.race=function(e){function t(e){a&&(a=r(e))}function n(e){a&&(a=o(e))}for(var r,o,a=new this(function(e,t){r=e,o=t}),s=0,c=e;s<c.length;s++){var u=c[s];i(u)||(u=this.resolve(u)),u.then(t,n)}return a},e.all=function(e){function t(e){o&&r(e),o=null}for(var n,r,o=new this(function(e,t){n=e,r=t}),a=[],s=0,c=0,u=e;c<u.length;c++){var l=u[c];i(l)||(l=this.resolve(l)),l.then(function(e){return function(t){a[e]=t,s--,o&&!s&&n(a)}}(s),t),s++}return s||n(a),o},e.prototype.then=function(t,n){var r=new e(null),o=f.current;return this[S]==O?this[E].push(o,r,t,n):h(this,o,r,t,n),r},e.prototype["catch"]=function(e){return this.then(null,e)},e}(),I=e[t("Promise")]=e.Promise;if(e.Promise=M,I){var j=I.prototype,L=j[t("then")]=j.then;j.then=function(e,t){var n=this;return new M(function(e,t){L.call(n,e,t)}).then(e,t)}}return e.Zone=f})("undefined"==typeof window?e:window)}).call(exports,function(){return this}())},function(e,exports,t){"use strict";function n(e){var t=[],n=e.wtf;n?t=o.split(",").map(function(e){return"HTML"+e+"Element"}).concat(a):e[i]?t.push(i):t=a;for(var s=0;s<t.length;s++){var c=e[t[s]];r.patchEventTargetMethods(c&&c.prototype)}}var r=t(3),o="Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video",a="ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex".split(","),i="EventTarget";exports.eventTargetPatch=n},function(e,exports){(function(e){"use strict";function t(e,t){for(var n=e.length-1;n>=0;n--)"function"==typeof e[n]&&(e[n]=Zone.current.wrap(e[n],t+"_"+n));return e}function n(e,n){for(var r=e.constructor.name,o=0;o<n.length;o++){var a=n[o],i=e[a];i&&(e[a]=function(e){return function(){return e.apply(this,t(arguments,r+"."+a))}}(i))}}function r(e,t){var n=Object.getOwnPropertyDescriptor(e,t)||{enumerable:!0,configurable:!0};delete n.writable,delete n.value;var r=t.substr(2),o="_"+t;n.set=function(e){if(this[o]&&this.removeEventListener(r,this[o]),"function"==typeof e){var t=function(t){var n;n=e.apply(this,arguments),void 0==n||n||t.preventDefault()};this[o]=t,this.addEventListener(r,t,!1)}else this[o]=null},n.get=function(){return this[o]},Object.defineProperty(e,t,n)}function o(e,t){var n=[];for(var o in e)"on"==o.substr(0,2)&&n.push(o);for(var a=0;a<n.length;a++)r(e,n[a]);if(t)for(var i=0;i<t.length;i++)r(e,"on"+t[i])}function a(e,t,n,r,o){var a=e[k];if(a)for(var i=0;i<a.length;i++){var s=a[i],c=s.data;if(c.handler===t&&c.useCapturing===r&&c.eventName===n)return o&&a.splice(i,1),s}return null}function i(e,t){var n=e[k];n||(n=e[k]=[]),n.push(t)}function s(e){var t=e.data;return i(t.target,e),t.target[m](t.eventName,e.invoke,t.useCapturing)}function c(e){var t=e.data;a(t.target,e.invoke,t.eventName,t.useCapturing,!0),t.target[T](t.eventName,e.invoke,t.useCapturing)}function u(e,t){var n=t[0],r=t[1],o=t[2]||!1,i=e||v,u=null;if("function"==typeof r?u=r:r&&r.handleEvent&&(u=function(e){return r.handleEvent(e)}),!u||r&&"[object FunctionWrapper]"===r.toString())return i[m](n,r,o);var l=a(i,r,n,o,!1);if(l)return i[m](n,l.invoke,o);var p=Zone.current,h=i.constructor.name+".addEventListener:"+n,f={target:i,eventName:n,name:n,useCapturing:o,handler:r};p.scheduleEventTask(h,u,f,s,c)}function l(e,t){var n=t[0],r=t[1],o=t[2]||!1,i=e||v,s=a(i,r,n,o,!0);s?s.zone.cancelTask(s):i[T](n,r,o)}function p(e){return e&&e.addEventListener?(d(e,y,function(){return u}),d(e,g,function(){return l}),!0):!1}function h(e){var n=v[e];if(n){v[e]=function(){var r=t(arguments,e);switch(r.length){case 0:this[b]=new n;break;case 1:this[b]=new n(r[0]);break;case 2:this[b]=new n(r[0],r[1]);break;case 3:this[b]=new n(r[0],r[1],r[2]);break;case 4:this[b]=new n(r[0],r[1],r[2],r[3]);break;default:throw new Error("Arg list too long.")}};var r,o=new n(function(){});for(r in o)!function(t){"function"==typeof o[t]?v[e].prototype[t]=function(){return this[b][t].apply(this[b],arguments)}:Object.defineProperty(v[e].prototype,t,{set:function(n){"function"==typeof n?this[b][t]=Zone.current.wrap(n,e+"."+t):this[b][t]=n},get:function(){return this[b][t]}})}(r);for(r in n)"prototype"!==r&&n.hasOwnProperty(r)&&(v[e][r]=n[r])}}function f(e,t){try{return Function("f","return function "+e+"(){return f(this, arguments)}")(t)}catch(n){return function(){return t(this,arguments)}}}function d(e,t,n){for(var r=e;r&&!r.hasOwnProperty(t);)r=Object.getPrototypeOf(r);!r&&e[t]&&(r=e);var o,a=exports.zoneSymbol(t);return r&&!(o=r[a])&&(o=r[a]=r[t],r[t]=f(t,n(o,a,t))),o}exports.zoneSymbol=Zone.__symbol__;var v="undefined"==typeof window?e:window;exports.bindArguments=t,exports.patchPrototype=n,exports.isWebWorker="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,exports.isNode="undefined"!=typeof process&&"[object process]"==={}.toString.call(process),exports.isBrowser=!exports.isNode&&!exports.isWebWorker&&!(!window||!window.HTMLElement),exports.patchProperty=r,exports.patchOnProperties=o;var k=exports.zoneSymbol("eventTasks"),y="addEventListener",g="removeEventListener",m=exports.zoneSymbol(y),T=exports.zoneSymbol(g);exports.patchEventTargetMethods=p;var b=exports.zoneSymbol("originalInstance");exports.patchClass=h,exports.createNamedFn=f,exports.patchMethod=d}).call(exports,function(){return this}())},function(e,exports,t){"use strict";function n(){Object.defineProperty=function(e,t,n){if(o(e,t))throw new TypeError("Cannot assign to read only property '"+t+"' of "+e);return"prototype"!==t&&(n=a(e,t,n)),s(e,t,n)},Object.defineProperties=function(e,t){return Object.keys(t).forEach(function(n){Object.defineProperty(e,n,t[n])}),e},Object.create=function(e,t){return"object"==typeof t&&Object.keys(t).forEach(function(n){t[n]=a(e,n,t[n])}),u(e,t)},Object.getOwnPropertyDescriptor=function(e,t){var n=c(e,t);return o(e,t)&&(n.configurable=!1),n}}function r(e,t,n){return n=a(e,t,n),s(e,t,n)}function o(e,t){return e&&e[l]&&e[l][t]}function a(e,t,n){return n.configurable=!0,n.configurable||(e[l]||s(e,l,{writable:!0,value:{}}),e[l][t]=!0),n}var i=t(3),s=Object.defineProperty,c=Object.getOwnPropertyDescriptor,u=Object.create,l=i.zoneSymbol("unconfigurables");exports.propertyPatch=n,exports._redefineProperty=r},function(e,exports,t){"use strict";function n(e){if(o.isBrowser&&"registerElement"in e.document){var t=document.registerElement,n=["createdCallback","attachedCallback","detachedCallback","attributeChangedCallback"];document.registerElement=function(e,o){return o&&o.prototype&&n.forEach(function(e){var t="Document.registerElement::"+e;if(o.prototype.hasOwnProperty(e)){var n=Object.getOwnPropertyDescriptor(o.prototype,e);n&&n.value?(n.value=Zone.current.wrap(n.value,t),r._redefineProperty(o.prototype,e,n)):o.prototype[e]=Zone.current.wrap(o.prototype[e],t)}else o.prototype[e]&&(o.prototype[e]=Zone.current.wrap(o.prototype[e],t))}),t.apply(document,[e,o])}}}var r=t(4),o=t(3);exports.registerElementPatch=n},function(e,exports,t){"use strict";function n(e){if(!i.isNode){var t="undefined"!=typeof WebSocket;r()?(i.isBrowser&&i.patchOnProperties(HTMLElement.prototype,s),i.patchOnProperties(XMLHttpRequest.prototype,null),"undefined"!=typeof IDBIndex&&(i.patchOnProperties(IDBIndex.prototype,null),i.patchOnProperties(IDBRequest.prototype,null),i.patchOnProperties(IDBOpenDBRequest.prototype,null),i.patchOnProperties(IDBDatabase.prototype,null),i.patchOnProperties(IDBTransaction.prototype,null),i.patchOnProperties(IDBCursor.prototype,null)),t&&i.patchOnProperties(WebSocket.prototype,null)):(o(),i.patchClass("XMLHttpRequest"),t&&a.apply(e))}}function r(){if(i.isBrowser&&!Object.getOwnPropertyDescriptor(HTMLElement.prototype,"onclick")&&"undefined"!=typeof Element){var e=Object.getOwnPropertyDescriptor(Element.prototype,"onclick");if(e&&!e.configurable)return!1}Object.defineProperty(XMLHttpRequest.prototype,"onreadystatechange",{get:function(){return!0}});var t=new XMLHttpRequest,n=!!t.onreadystatechange;return Object.defineProperty(XMLHttpRequest.prototype,"onreadystatechange",{}),n}function o(){for(var e=0;e<s.length;e++){var t=s[e],n="on"+t;document.addEventListener(t,function(e){for(var t,r=e.target,o=r.constructor.name+"."+n;r;)r[n]&&!r[n][c]&&(t=Zone.current.wrap(r[n],o),t[c]=r[n],r[n]=t),r=r.parentElement},!0)}}var a=t(7),i=t(3),s="copy cut paste abort blur focus canplay canplaythrough change click contextmenu dblclick drag dragend dragenter dragleave dragover dragstart drop durationchange emptied ended input invalid keydown keypress keyup load loadeddata loadedmetadata loadstart message mousedown mouseenter mouseleave mousemove mouseout mouseover mouseup pause play playing progress ratechange reset scroll seeked seeking select show stalled submit suspend timeupdate volumechange waiting mozfullscreenchange mozfullscreenerror mozpointerlockchange mozpointerlockerror error webglcontextrestored webglcontextlost webglcontextcreationerror".split(" ");exports.propertyDescriptorPatch=n;var c=i.zoneSymbol("unbound")},function(e,exports,t){(function(e){"use strict";function n(t){var n=t.WebSocket;t.EventTarget||r.patchEventTargetMethods(n.prototype),t.WebSocket=function(e,t){var o,a=arguments.length>1?new n(e,t):new n(e),i=Object.getOwnPropertyDescriptor(a,"onmessage");return i&&i.configurable===!1?(o=Object.create(a),["addEventListener","removeEventListener","send","close"].forEach(function(e){o[e]=function(){return a[e].apply(a,arguments)}})):o=a,r.patchOnProperties(o,["close","error","message","open"]),o},e.WebSocket.prototype=Object.create(n.prototype,{constructor:{value:WebSocket}})}var r=t(3);exports.apply=n}).call(exports,function(){return this}())}]);
!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,exports,t){(function(e){"use strict";function n(e){function t(e){var t=e[v];return t}function n(e){var t=e.data;t.target.addEventListener("readystatechange",function(){t.target.readyState===XMLHttpRequest.DONE&&(t.aborted||e.invoke())});var n=t.target[v];return n||(t.target[v]=e),a.apply(t.target,t.args),e}function r(){}function o(e){var t=e.data;return t.aborted=!0,i.apply(t.target,t.args)}var a=c.patchMethod(e.XMLHttpRequest.prototype,"send",function(){return function(e,t){var a=Zone.current,i={target:e,isPeriodic:!1,delay:null,args:t,aborted:!1};return a.scheduleMacroTask("XMLHttpRequest.send",r,i,n,o)}}),i=c.patchMethod(e.XMLHttpRequest.prototype,"abort",function(e){return function(e,n){var r=t(e);if(r&&"string"==typeof r.type){if(null==r.cancelFn)return;r.zone.cancelTask(r)}}})}t(1);var r=t(2),o=t(4),a=t(5),i=t(6),s=t(8),c=t(3),u="set",l="clear",p=["alert","prompt","confirm"],h="undefined"==typeof window?e:window;s.patchTimer(h,u,l,"Timeout"),s.patchTimer(h,u,l,"Interval"),s.patchTimer(h,u,l,"Immediate"),s.patchTimer(h,"request","cancelMacroTask","AnimationFrame"),s.patchTimer(h,"mozRequest","mozCancel","AnimationFrame"),s.patchTimer(h,"webkitRequest","webkitCancel","AnimationFrame");for(var f=0;f<p.length;f++){var d=p[f];c.patchMethod(h,d,function(e,t,n){return function(t,r){return Zone.current.run(e,h,r,n)}})}r.eventTargetPatch(h),i.propertyDescriptorPatch(h),c.patchClass("MutationObserver"),c.patchClass("WebKitMutationObserver"),c.patchClass("FileReader"),o.propertyPatch(),a.registerElementPatch(h),n(h);var v=c.zoneSymbol("xhrTask");h.navigator&&h.navigator.geolocation&&c.patchPrototype(h.navigator.geolocation,["getCurrentPosition","watchPosition"])}).call(exports,function(){return this}())},function(e,exports){(function(e){(function(e){function t(e){return"__zone_symbol__"+e}function n(){D||T||0!=b.length||(e[y]?e[y].resolve(0)[g](a):e[k](a,0))}function r(e){n(),b.push(e)}function o(e){var t=e&&e.rejection;t&&console.error("Unhandled Promise rejection:",t instanceof Error?t.message:t,"; Zone:",e.zone.name,"; Task:",e.task&&e.task.source,"; Value:",t),console.error(e)}function a(){if(!_){for(_=!0;b.length;){var e=b;b=[];for(var t=0;t<e.length;t++){var n=e[t];try{n.zone.runTask(n,null,null)}catch(r){o(r)}}}for(;w.length;){var a=w;w=[];for(var i=function(e){var t=a[e];try{t.zone.runGuarded(function(){throw t})}catch(n){o(n)}},t=0;t<a.length;t++)i(t)}_=!1,D=!1}}function i(e){return e&&e.then}function s(e){return e}function c(e){return M.reject(e)}function u(e,t){return function(n){l(e,t,n)}}function l(e,t,r){if(e[S]===O)if(r instanceof M&&r[S]!==O)p(r),l(e,r[S],r[E]);else if(i(r))r.then(u(e,t),u(e,!1));else{e[S]=t;var o=e[E];e[E]=r;for(var a=0;a<o.length;)h(e,o[a++],o[a++],o[a++],o[a++]);if(0==o.length&&t==Z){e[S]=C;try{throw new Error("Uncaught (in promise): "+r)}catch(s){var c=s;c.rejection=r,c.promise=e,c.zone=f.current,c.task=f.currentTask,w.push(c),n()}}}return e}function p(e){if(e[S]===C){e[S]=Z;for(var t=0;t<w.length;t++)if(e===w[t].promise){w.splice(t,1);break}}}function h(e,t,n,r,o){p(e);var a=e[S]?r||s:o||c;t.scheduleMicroTask(P,function(){try{l(n,!0,t.run(a,null,[e[E]]))}catch(r){l(n,!1,r)}})}var f=function(){function e(e,t){this._properties=null,this._parent=e,this._name=t?t.name||"unnamed":"<root>",this._properties=t&&t.properties||{},this._zoneDelegate=new d(this,this._parent&&this._parent._zoneDelegate,t)}return Object.defineProperty(e,"current",{get:function(){return m},enumerable:!0,configurable:!0}),Object.defineProperty(e,"currentTask",{get:function(){return T},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"name",{get:function(){return this._name},enumerable:!0,configurable:!0}),e.prototype.get=function(e){for(var t=this;t;){if(t._properties.hasOwnProperty(e))return t._properties[e];t=t._parent}},e.prototype.fork=function(e){if(!e)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,e)},e.prototype.wrap=function(e,t){if("function"!=typeof e)throw new Error("Expecting function got: "+e);var n=this._zoneDelegate.intercept(this,e,t),r=this;return function(){return r.runGuarded(n,this,arguments,t)}},e.prototype.run=function(e,t,n,r){void 0===t&&(t=null),void 0===n&&(n=null),void 0===r&&(r=null);var o=m;m=this;try{return this._zoneDelegate.invoke(this,e,t,n,r)}finally{m=o}},e.prototype.runGuarded=function(e,t,n,r){void 0===t&&(t=null),void 0===n&&(n=null),void 0===r&&(r=null);var o=m;m=this;try{try{return this._zoneDelegate.invoke(this,e,t,n,r)}catch(a){if(this._zoneDelegate.handleError(this,a))throw a}}finally{m=o}},e.prototype.runTask=function(e,t,n){if(e.runCount++,e.zone!=this)throw new Error("A task can only be run in the zone which created it! (Creation: "+e.zone.name+"; Execution: "+this.name+")");var r=T;T=e;var o=m;m=this;try{"macroTask"==e.type&&e.data&&!e.data.isPeriodic&&(e.cancelFn=null);try{return this._zoneDelegate.invokeTask(this,e,t,n)}catch(a){if(this._zoneDelegate.handleError(this,a))throw a}}finally{m=o,T=r}},e.prototype.scheduleMicroTask=function(e,t,n,r){return this._zoneDelegate.scheduleTask(this,new v("microTask",this,e,t,n,r,null))},e.prototype.scheduleMacroTask=function(e,t,n,r,o){return this._zoneDelegate.scheduleTask(this,new v("macroTask",this,e,t,n,r,o))},e.prototype.scheduleEventTask=function(e,t,n,r,o){return this._zoneDelegate.scheduleTask(this,new v("eventTask",this,e,t,n,r,o))},e.prototype.cancelTask=function(e){var t=this._zoneDelegate.cancelTask(this,e);return e.runCount=-1,e.cancelFn=null,t},e.__symbol__=t,e}(),d=function(){function e(e,t,n){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=e,this._parentDelegate=t,this._forkZS=n&&(n&&n.onFork?n:t._forkZS),this._forkDlgt=n&&(n.onFork?t:t._forkDlgt),this._interceptZS=n&&(n.onIntercept?n:t._interceptZS),this._interceptDlgt=n&&(n.onIntercept?t:t._interceptDlgt),this._invokeZS=n&&(n.onInvoke?n:t._invokeZS),this._invokeDlgt=n&&(n.onInvoke?t:t._invokeDlgt),this._handleErrorZS=n&&(n.onHandleError?n:t._handleErrorZS),this._handleErrorDlgt=n&&(n.onHandleError?t:t._handleErrorDlgt),this._scheduleTaskZS=n&&(n.onScheduleTask?n:t._scheduleTaskZS),this._scheduleTaskDlgt=n&&(n.onScheduleTask?t:t._scheduleTaskDlgt),this._invokeTaskZS=n&&(n.onInvokeTask?n:t._invokeTaskZS),this._invokeTaskDlgt=n&&(n.onInvokeTask?t:t._invokeTaskDlgt),this._cancelTaskZS=n&&(n.onCancelTask?n:t._cancelTaskZS),this._cancelTaskDlgt=n&&(n.onCancelTask?t:t._cancelTaskDlgt),this._hasTaskZS=n&&(n.onHasTask?n:t._hasTaskZS),this._hasTaskDlgt=n&&(n.onHasTask?t:t._hasTaskDlgt)}return e.prototype.fork=function(e,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,e,t):new f(e,t)},e.prototype.intercept=function(e,t,n){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this.zone,e,t,n):t},e.prototype.invoke=function(e,t,n,r,o){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this.zone,e,t,n,r,o):t.apply(n,r)},e.prototype.handleError=function(e,t){return this._handleErrorZS?this._handleErrorZS.onHandleError(this._handleErrorDlgt,this.zone,e,t):!0},e.prototype.scheduleTask=function(e,t){try{if(this._scheduleTaskZS)return this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this.zone,e,t);if(t.scheduleFn)t.scheduleFn(t);else{if("microTask"!=t.type)throw new Error("Task is missing scheduleFn.");r(t)}return t}finally{e==this.zone&&this._updateTaskCount(t.type,1)}},e.prototype.invokeTask=function(e,t,n,r){try{return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this.zone,e,t,n,r):t.callback.apply(n,r)}finally{e!=this.zone||"eventTask"==t.type||t.data&&t.data.isPeriodic||this._updateTaskCount(t.type,-1)}},e.prototype.cancelTask=function(e,t){var n;if(this._cancelTaskZS)n=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this.zone,e,t);else{if(!t.cancelFn)throw new Error("Task does not support cancellation, or is already canceled.");n=t.cancelFn(t)}return e==this.zone&&this._updateTaskCount(t.type,-1),n},e.prototype.hasTask=function(e,t){return this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this.zone,e,t)},e.prototype._updateTaskCount=function(e,t){var n=this._taskCounts,r=n[e],o=n[e]=r+t;if(0>o)throw new Error("More tasks executed then were scheduled.");if(0==r||0==o){var a={microTask:n.microTask>0,macroTask:n.macroTask>0,eventTask:n.eventTask>0,change:e};try{this.hasTask(this.zone,a)}finally{this._parentDelegate&&this._parentDelegate._updateTaskCount(e,t)}}},e}(),v=function(){function e(e,t,n,r,o,i,s){this.runCount=0,this.type=e,this.zone=t,this.source=n,this.data=o,this.scheduleFn=i,this.cancelFn=s,this.callback=r;var c=this;this.invoke=function(){try{return t.runTask(c,this,arguments)}finally{a()}}}return e}(),k=t("setTimeout"),y=t("Promise"),g=t("then"),m=new f(null,null),T=null,b=[],_=!1,w=[],D=!1,S=t("state"),E=t("value"),P="Promise.then",O=null,z=!0,Z=!1,C=0,M=function(){function e(e){var t=this;t[S]=O,t[E]=[];try{e&&e(u(t,z),u(t,Z))}catch(n){l(t,!1,n)}}return e.resolve=function(e){return l(new this(null),z,e)},e.reject=function(e){return l(new this(null),Z,e)},e.race=function(e){function t(e){a&&(a=r(e))}function n(e){a&&(a=o(e))}for(var r,o,a=new this(function(e,t){r=e,o=t}),s=0,c=e;s<c.length;s++){var u=c[s];i(u)||(u=this.resolve(u)),u.then(t,n)}return a},e.all=function(e){function t(e){o&&r(e),o=null}for(var n,r,o=new this(function(e,t){n=e,r=t}),a=0,s=[],c=0,u=e;c<u.length;c++){var l=u[c];i(l)||(l=this.resolve(l)),l.then(function(e){return function(t){s[e]=t,a--,o&&!a&&n(s)}}(a),t),a++}return a||n(s),o},e.prototype.then=function(t,n){var r=new e(null),o=f.current;return this[S]==O?this[E].push(o,r,t,n):h(this,o,r,t,n),r},e.prototype["catch"]=function(e){return this.then(null,e)},e}(),I=e[t("Promise")]=e.Promise;if(e.Promise=M,I){var j=I.prototype,L=j[t("then")]=j.then;j.then=function(e,t){var n=this;return new M(function(e,t){L.call(n,e,t)}).then(e,t)}}return e.Zone=f})("undefined"==typeof window?e:window)}).call(exports,function(){return this}())},function(e,exports,t){"use strict";function n(e){var t=[],n=e.wtf;n?t=o.split(",").map(function(e){return"HTML"+e+"Element"}).concat(a):e[i]?t.push(i):t=a;for(var s=0;s<t.length;s++){var c=e[t[s]];r.patchEventTargetMethods(c&&c.prototype)}}var r=t(3),o="Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video",a="ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex".split(","),i="EventTarget";exports.eventTargetPatch=n},function(e,exports){(function(e){"use strict";function t(e,t){for(var n=e.length-1;n>=0;n--)"function"==typeof e[n]&&(e[n]=Zone.current.wrap(e[n],t+"_"+n));return e}function n(e,n){for(var r=e.constructor.name,o=function(o){var a=n[o],i=e[a];i&&(e[a]=function(e){return function(){return e.apply(this,t(arguments,r+"."+a))}}(i))},a=0;a<n.length;a++)o(a)}function r(e,t){var n=Object.getOwnPropertyDescriptor(e,t)||{enumerable:!0,configurable:!0};delete n.writable,delete n.value;var r=t.substr(2),o="_"+t;n.set=function(e){if(this[o]&&this.removeEventListener(r,this[o]),"function"==typeof e){var t=function(t){var n;n=e.apply(this,arguments),void 0==n||n||t.preventDefault()};this[o]=t,this.addEventListener(r,t,!1)}else this[o]=null},n.get=function(){return this[o]},Object.defineProperty(e,t,n)}function o(e,t){var n=[];for(var o in e)"on"==o.substr(0,2)&&n.push(o);for(var a=0;a<n.length;a++)r(e,n[a]);if(t)for(var i=0;i<t.length;i++)r(e,"on"+t[i])}function a(e,t,n,r,o){var a=e[k];if(a)for(var i=0;i<a.length;i++){var s=a[i],c=s.data;if(c.handler===t&&c.useCapturing===r&&c.eventName===n)return o&&a.splice(i,1),s}return null}function i(e,t){var n=e[k];n||(n=e[k]=[]),n.push(t)}function s(e){var t=e.data;return i(t.target,e),t.target[m](t.eventName,e.invoke,t.useCapturing)}function c(e){var t=e.data;a(t.target,e.invoke,t.eventName,t.useCapturing,!0),t.target[T](t.eventName,e.invoke,t.useCapturing)}function u(e,t){var n=t[0],r=t[1],o=t[2]||!1,i=e||v,u=null;"function"==typeof r?u=r:r&&r.handleEvent&&(u=function(e){return r.handleEvent(e)});var l=!1;try{l=r&&"[object FunctionWrapper]"===r.toString()}catch(p){return}if(!u||l)return i[m](n,r,o);var h=a(i,r,n,o,!1);if(h)return i[m](n,h.invoke,o);var f=Zone.current,d=i.constructor.name+".addEventListener:"+n,k={target:i,eventName:n,name:n,useCapturing:o,handler:r};f.scheduleEventTask(d,u,k,s,c)}function l(e,t){var n=t[0],r=t[1],o=t[2]||!1,i=e||v,s=a(i,r,n,o,!0);s?s.zone.cancelTask(s):i[T](n,r,o)}function p(e){return e&&e.addEventListener?(d(e,y,function(){return u}),d(e,g,function(){return l}),!0):!1}function h(e){var n=v[e];if(n){v[e]=function(){var r=t(arguments,e);switch(r.length){case 0:this[b]=new n;break;case 1:this[b]=new n(r[0]);break;case 2:this[b]=new n(r[0],r[1]);break;case 3:this[b]=new n(r[0],r[1],r[2]);break;case 4:this[b]=new n(r[0],r[1],r[2],r[3]);break;default:throw new Error("Arg list too long.")}};var r,o=new n(function(){});for(r in o)!function(t){"function"==typeof o[t]?v[e].prototype[t]=function(){return this[b][t].apply(this[b],arguments)}:Object.defineProperty(v[e].prototype,t,{set:function(n){"function"==typeof n?this[b][t]=Zone.current.wrap(n,e+"."+t):this[b][t]=n},get:function(){return this[b][t]}})}(r);for(r in n)"prototype"!==r&&n.hasOwnProperty(r)&&(v[e][r]=n[r])}}function f(e,t){try{return Function("f","return function "+e+"(){return f(this, arguments)}")(t)}catch(n){return function(){return t(this,arguments)}}}function d(e,t,n){for(var r=e;r&&!r.hasOwnProperty(t);)r=Object.getPrototypeOf(r);!r&&e[t]&&(r=e);var o,a=exports.zoneSymbol(t);return r&&!(o=r[a])&&(o=r[a]=r[t],r[t]=f(t,n(o,a,t))),o}exports.zoneSymbol=Zone.__symbol__;var v="undefined"==typeof window?e:window;exports.bindArguments=t,exports.patchPrototype=n,exports.isWebWorker="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,exports.isNode="undefined"!=typeof process&&"[object process]"==={}.toString.call(process),exports.isBrowser=!exports.isNode&&!exports.isWebWorker&&!("undefined"==typeof window||!window.HTMLElement),exports.patchProperty=r,exports.patchOnProperties=o;var k=exports.zoneSymbol("eventTasks"),y="addEventListener",g="removeEventListener",m=exports.zoneSymbol(y),T=exports.zoneSymbol(g);exports.patchEventTargetMethods=p;var b=exports.zoneSymbol("originalInstance");exports.patchClass=h,exports.createNamedFn=f,exports.patchMethod=d}).call(exports,function(){return this}())},function(e,exports,t){"use strict";function n(){Object.defineProperty=function(e,t,n){if(o(e,t))throw new TypeError("Cannot assign to read only property '"+t+"' of "+e);return"prototype"!==t&&(n=a(e,t,n)),s(e,t,n)},Object.defineProperties=function(e,t){return Object.keys(t).forEach(function(n){Object.defineProperty(e,n,t[n])}),e},Object.create=function(e,t){return"object"==typeof t&&Object.keys(t).forEach(function(n){t[n]=a(e,n,t[n])}),u(e,t)},Object.getOwnPropertyDescriptor=function(e,t){var n=c(e,t);return o(e,t)&&(n.configurable=!1),n}}function r(e,t,n){return n=a(e,t,n),s(e,t,n)}function o(e,t){return e&&e[l]&&e[l][t]}function a(e,t,n){return n.configurable=!0,n.configurable||(e[l]||s(e,l,{writable:!0,value:{}}),e[l][t]=!0),n}var i=t(3),s=Object.defineProperty,c=Object.getOwnPropertyDescriptor,u=Object.create,l=i.zoneSymbol("unconfigurables");exports.propertyPatch=n,exports._redefineProperty=r},function(e,exports,t){"use strict";function n(e){if(o.isBrowser&&"registerElement"in e.document){var t=document.registerElement,n=["createdCallback","attachedCallback","detachedCallback","attributeChangedCallback"];document.registerElement=function(e,o){return o&&o.prototype&&n.forEach(function(e){var t="Document.registerElement::"+e;if(o.prototype.hasOwnProperty(e)){var n=Object.getOwnPropertyDescriptor(o.prototype,e);n&&n.value?(n.value=Zone.current.wrap(n.value,t),r._redefineProperty(o.prototype,e,n)):o.prototype[e]=Zone.current.wrap(o.prototype[e],t)}else o.prototype[e]&&(o.prototype[e]=Zone.current.wrap(o.prototype[e],t))}),t.apply(document,[e,o])}}}var r=t(4),o=t(3);exports.registerElementPatch=n},function(e,exports,t){"use strict";function n(e){if(!i.isNode){var t="undefined"!=typeof WebSocket;r()?(i.isBrowser&&i.patchOnProperties(HTMLElement.prototype,s),i.patchOnProperties(XMLHttpRequest.prototype,null),"undefined"!=typeof IDBIndex&&(i.patchOnProperties(IDBIndex.prototype,null),i.patchOnProperties(IDBRequest.prototype,null),i.patchOnProperties(IDBOpenDBRequest.prototype,null),i.patchOnProperties(IDBDatabase.prototype,null),i.patchOnProperties(IDBTransaction.prototype,null),i.patchOnProperties(IDBCursor.prototype,null)),t&&i.patchOnProperties(WebSocket.prototype,null)):(o(),i.patchClass("XMLHttpRequest"),t&&a.apply(e))}}function r(){if(i.isBrowser&&!Object.getOwnPropertyDescriptor(HTMLElement.prototype,"onclick")&&"undefined"!=typeof Element){var e=Object.getOwnPropertyDescriptor(Element.prototype,"onclick");if(e&&!e.configurable)return!1}Object.defineProperty(XMLHttpRequest.prototype,"onreadystatechange",{get:function(){return!0}});var t=new XMLHttpRequest,n=!!t.onreadystatechange;return Object.defineProperty(XMLHttpRequest.prototype,"onreadystatechange",{}),n}function o(){for(var e=function(e){var t=s[e],n="on"+t;document.addEventListener(t,function(e){for(var t,r=e.target,o=r.constructor.name+"."+n;r;)r[n]&&!r[n][c]&&(t=Zone.current.wrap(r[n],o),t[c]=r[n],r[n]=t),r=r.parentElement},!0)},t=0;t<s.length;t++)e(t)}var a=t(7),i=t(3),s="copy cut paste abort blur focus canplay canplaythrough change click contextmenu dblclick drag dragend dragenter dragleave dragover dragstart drop durationchange emptied ended input invalid keydown keypress keyup load loadeddata loadedmetadata loadstart message mousedown mouseenter mouseleave mousemove mouseout mouseover mouseup pause play playing progress ratechange reset scroll seeked seeking select show stalled submit suspend timeupdate volumechange waiting mozfullscreenchange mozfullscreenerror mozpointerlockchange mozpointerlockerror error webglcontextrestored webglcontextlost webglcontextcreationerror".split(" ");exports.propertyDescriptorPatch=n;var c=i.zoneSymbol("unbound")},function(e,exports,t){"use strict";function n(e){var t=e.WebSocket;e.EventTarget||r.patchEventTargetMethods(t.prototype),e.WebSocket=function(e,n){var o,a=arguments.length>1?new t(e,n):new t(e),i=Object.getOwnPropertyDescriptor(a,"onmessage");return i&&i.configurable===!1?(o=Object.create(a),["addEventListener","removeEventListener","send","close"].forEach(function(e){o[e]=function(){return a[e].apply(a,arguments)}})):o=a,r.patchOnProperties(o,["close","error","message","open"]),o};for(var n in t)e.WebSocket[n]=t[n]}var r=t(3);exports.apply=n},function(e,exports,t){"use strict";function n(e,t,n,o){function a(t){var n=t.data;return n.args[0]=t.invoke,n.handleId=s.apply(e,n.args),t}function i(e){return c(e.data.handleId)}var s=null,c=null;t+=o,n+=o,s=r.patchMethod(e,t,function(n){return function(r,s){if("function"==typeof s[0]){var c=Zone.current,u={handleId:null,isPeriodic:"Interval"===o,delay:"Timeout"===o||"Interval"===o?s[1]||0:null,args:s};return c.scheduleMacroTask(t,s[0],u,a,i)}return n.apply(e,s)}}),c=r.patchMethod(e,n,function(t){return function(n,r){var o=r[0];o&&"string"==typeof o.type?(o.cancelFn&&o.data.isPeriodic||0===o.runCount)&&o.zone.cancelTask(o):t.apply(e,r)}})}var r=t(3);exports.patchTimer=n}]);

@@ -6,3 +6,4 @@ import '../zone';

import {propertyDescriptorPatch} from './property-descriptor';
import {patchMethod, patchPrototype, patchClass, zoneSymbol} from "./utils";
import {patchTimer} from '../common/timers';
import {patchMethod, patchPrototype, patchClass, zoneSymbol} from "../common/utils";

@@ -44,5 +45,5 @@ const set = 'set';

interface XHROptions extends TaskData {
target: any,
args: any[],
aborted: boolean
target: any;
args: any[];
aborted: boolean;
}

@@ -117,57 +118,1 @@

}
interface TimerOptions extends TaskData {
handleId: number,
args: any[]
}
function patchTimer(
window: any,
setName: string,
cancelName: string,
nameSuffix: string)
{
setName += nameSuffix;
cancelName += nameSuffix;
function scheduleTask(task: Task) {
var data = <TimerOptions>task.data;
data.args[0] = task.invoke;
data.handleId = setNative.apply(window, data.args);
return task;
}
function clearTask(task: Task) {
return clearNative((<TimerOptions>task.data).handleId);
}
var setNative = patchMethod(window, setName, (delegate: Function) => function(self: any, args: any[]) {
if (typeof args[0] === 'function') {
var zone = Zone.current;
var options:TimerOptions = {
handleId: null,
isPeriodic: nameSuffix == 'Interval',
delay: (nameSuffix == 'Timeout' || nameSuffix == 'Interval') ? args[1] || 0 : null,
args: args
};
return zone.scheduleMacroTask(setName, args[0], options, scheduleTask, clearTask);
} else {
// cause an error by calling it directly.
return delegate.apply(window, args);
}
});
var clearNative = patchMethod(window, cancelName, (delegate: Function) => function(self: any, args: any[]) {
var task: Task = args[0];
if (task && typeof task.type == 'string') {
if (task.cancelFn && task.data.isPeriodic || task.runCount == 0) {
// Do not cancel already canceled functions
task.zone.cancelTask(task);
}
} else {
// cause an error by calling it directly.
delegate.apply(window, args);
}
});
}

@@ -1,11 +0,12 @@

import {zoneSymbol} from "./utils";
import {zoneSymbol} from "../common/utils";
/*
* This is necessary for Chrome and Chrome mobile, to enable
* things like redefining `createdCallback` on an element.
*/
// might need similar for object.freeze
// i regret nothing
const _defineProperty = Object.defineProperty;
const _getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
const _create = Object.create;
const unconfigurablesKey = zoneSymbol('unconfigurables');
var _defineProperty = Object.defineProperty;
var _getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
var _create = Object.create;
var unconfigurablesKey = zoneSymbol('unconfigurables');
export function propertyPatch() {

@@ -39,3 +40,3 @@ Object.defineProperty = function (obj, prop, desc) {

Object.getOwnPropertyDescriptor = function (obj, prop) {
var desc = _getOwnPropertyDescriptor(obj, prop);
const desc = _getOwnPropertyDescriptor(obj, prop);
if (isUnconfigurable(obj, prop)) {

@@ -42,0 +43,0 @@ desc.configurable = false;

@@ -1,2 +0,2 @@

import {patchEventTargetMethods} from './utils';
import {patchEventTargetMethods} from '../common/utils';

@@ -3,0 +3,0 @@ const WTF_ISSUE_555 = 'Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video';

import * as webSocketPatch from './websocket';
import {zoneSymbol, patchOnProperties, patchClass, isBrowser, isNode} from './utils';
import {zoneSymbol, patchOnProperties, patchClass, isBrowser, isNode} from '../common/utils';
var eventNames = 'copy cut paste abort blur focus canplay canplaythrough change click contextmenu dblclick drag dragend dragenter dragleave dragover dragstart drop durationchange emptied ended input invalid keydown keypress keyup load loadeddata loadedmetadata loadstart message mousedown mouseenter mouseleave mousemove mouseout mouseover mouseup pause play playing progress ratechange reset scroll seeked seeking select show stalled submit suspend timeupdate volumechange waiting mozfullscreenchange mozfullscreenerror mozpointerlockchange mozpointerlockerror error webglcontextrestored webglcontextlost webglcontextcreationerror'.split(' ');
const eventNames = 'copy cut paste abort blur focus canplay canplaythrough change click contextmenu dblclick drag dragend dragenter dragleave dragover dragstart drop durationchange emptied ended input invalid keydown keypress keyup load loadeddata loadedmetadata loadstart message mousedown mouseenter mouseleave mousemove mouseout mouseover mouseup pause play playing progress ratechange reset scroll seeked seeking select show stalled submit suspend timeupdate volumechange waiting mozfullscreenchange mozfullscreenerror mozpointerlockchange mozpointerlockerror error webglcontextrestored webglcontextlost webglcontextcreationerror'.split(' ');

@@ -10,4 +10,4 @@ export function propertyDescriptorPatch(_global) {

}
var supportsWebSocket = typeof WebSocket !== 'undefined';
const supportsWebSocket = typeof WebSocket !== 'undefined';
if (canPatchViaPropertyDescriptor()) {

@@ -45,3 +45,3 @@ // for browsers that we can patch the descriptor: Chrome & Firefox

// IDL interface attributes are not configurable
var desc = Object.getOwnPropertyDescriptor(Element.prototype, 'onclick');
const desc = Object.getOwnPropertyDescriptor(Element.prototype, 'onclick');
if (desc && !desc.configurable) return false;

@@ -55,4 +55,4 @@ }

});
var req = new XMLHttpRequest();
var result = !!req.onreadystatechange;
const req = new XMLHttpRequest();
const result = !!req.onreadystatechange;
Object.defineProperty(XMLHttpRequest.prototype, 'onreadystatechange', {});

@@ -62,3 +62,3 @@ return result;

var unboundKey = zoneSymbol('unbound');
const unboundKey = zoneSymbol('unbound');

@@ -69,8 +69,8 @@ // Whenever any eventListener fires, we check the eventListener target and all parents

function patchViaCapturingAllTheEvents() {
for(var i = 0; i < eventNames.length; i++) {
var property = eventNames[i];
var onproperty = 'on' + property;
for(let i = 0; i < eventNames.length; i++) {
const property = eventNames[i];
const onproperty = 'on' + property;
document.addEventListener(property, function (event) {
var elt = <Node>event.target, bound;
var source = elt.constructor['name'] + '.' + onproperty;
let elt = <Node>event.target, bound;
const source = elt.constructor['name'] + '.' + onproperty;
while (elt) {

@@ -77,0 +77,0 @@ if (elt[onproperty] && !elt[onproperty][unboundKey]) {

import {_redefineProperty} from './define-property';
import {isBrowser} from './utils';
import {isBrowser} from '../common/utils';

@@ -9,4 +9,4 @@ export function registerElementPatch(_global: any) {

var _registerElement = (<any>document).registerElement;
var callbacks = [
const _registerElement = (<any>document).registerElement;
const callbacks = [
'createdCallback',

@@ -21,5 +21,5 @@ 'attachedCallback',

callbacks.forEach(function (callback) {
var source = 'Document.registerElement::' + callback;
const source = 'Document.registerElement::' + callback;
if (opts.prototype.hasOwnProperty(callback)) {
var descriptor = Object.getOwnPropertyDescriptor(opts.prototype, callback);
const descriptor = Object.getOwnPropertyDescriptor(opts.prototype, callback);
if (descriptor && descriptor.value) {

@@ -26,0 +26,0 @@ descriptor.value = Zone.current.wrap(descriptor.value, source);

@@ -1,6 +0,6 @@

import {patchEventTargetMethods, patchOnProperties} from './utils';
import {patchEventTargetMethods, patchOnProperties} from '../common/utils';
// we have to patch the instance since the proto is non-configurable
export function apply(_global: any) {
var WS = (<any>_global).WebSocket;
const WS = (<any>_global).WebSocket;
// On Safari window.EventTarget doesn't exist so need to patch WS add/removeEventListener

@@ -12,7 +12,7 @@ // On older Chrome, no need since EventTarget was already patched

(<any>_global).WebSocket = function(a, b) {
var socket = arguments.length > 1 ? new WS(a, b) : new WS(a);
var proxySocket;
const socket = arguments.length > 1 ? new WS(a, b) : new WS(a);
let proxySocket;
// Safari 7.0 has non-configurable own 'onmessage' and friends properties on the socket instance
var onmessageDesc = Object.getOwnPropertyDescriptor(socket, 'onmessage');
const onmessageDesc = Object.getOwnPropertyDescriptor(socket, 'onmessage');
if (onmessageDesc && onmessageDesc.configurable === false) {

@@ -34,3 +34,3 @@ proxySocket = Object.create(socket);

};
(<any>global).WebSocket.prototype = Object.create(WS.prototype, {constructor:{value: WebSocket}});
for (var prop in WS) { _global.WebSocket[prop] = WS[prop]; }
}

@@ -8,3 +8,3 @@ 'use strict';

var SET_TIMEOUT = '__zone_symbol__setTimeout';
const SET_TIMEOUT = '__zone_symbol__setTimeout';
const _global = typeof window == 'undefined' ? global : window;

@@ -11,0 +11,0 @@

@@ -48,3 +48,3 @@ (function() {

// Let the parent try to handle the error.
var result = parentZoneDelegate.handleError(targetZone, error);
const result = parentZoneDelegate.handleError(targetZone, error);
if (result) {

@@ -51,0 +51,0 @@ this._failCallback(error.message ? error.message : 'unknown error');

@@ -28,5 +28,5 @@ 'use strict';

// isn't thrown, however it's faster not to actually throw the exception.
var error = getStacktraceWithUncaughtError();
var coughtError = getStacktraceWithCaughtError();
var getStacktrace = error.stack
const error = getStacktraceWithUncaughtError();
const coughtError = getStacktraceWithCaughtError();
const getStacktrace = error.stack
? getStacktraceWithUncaughtError

@@ -40,6 +40,5 @@ : (coughtError.stack ? getStacktraceWithCaughtError: getStacktraceWithUncaughtError);

function addErrorStack(lines:string[], error:Error):void {
var trace: string[];
trace = getFrames(error);
for (var i = 0; i < trace.length; i++) {
var frame = trace[i];
let trace: string[] = getFrames(error);
for (let i = 0; i < trace.length; i++) {
const frame = trace[i];
// Filter out the Frames which are part of stack capturing.

@@ -53,9 +52,9 @@ if (! (i < IGNORE_FRAMES.length && IGNORE_FRAMES[i] === frame)) {

function renderLongStackTrace(frames: LongStackTrace[], stack: string): string {
var longTrace: string[] = [stack];
const longTrace: string[] = [stack];
if (frames) {
var timestamp = new Date().getTime();
for (var i = 0; i < frames.length; i++) {
var traceFrames: LongStackTrace = frames[i];
var lastTime = traceFrames.timestamp;
let timestamp = new Date().getTime();
for (let i = 0; i < frames.length; i++) {
const traceFrames: LongStackTrace = frames[i];
const lastTime = traceFrames.timestamp;
longTrace.push(`${SEP} Elapsed: ${timestamp - lastTime.getTime()} ms; At: ${lastTime} ${SEP}`);

@@ -78,4 +77,4 @@ addErrorStack(longTrace, traceFrames.error);

{
var currentTask = Zone.currentTask;
var trace = currentTask && currentTask.data && currentTask.data[creationTrace] || [];
const currentTask = Zone.currentTask;
let trace = currentTask && currentTask.data && currentTask.data[creationTrace] || [];
trace = [new LongStackTrace()].concat(trace);

@@ -93,8 +92,8 @@ if (trace.length > this.longStackTraceLimit) {

{
var parentTask = Zone.currentTask;
const parentTask = Zone.currentTask;
if (error instanceof Error && parentTask) {
var descriptor = Object.getOwnPropertyDescriptor(error, 'stack');
let descriptor = Object.getOwnPropertyDescriptor(error, 'stack');
if (descriptor) {
var delegateGet = descriptor.get;
var value = descriptor.value;
const delegateGet = descriptor.get;
const value = descriptor.value;
descriptor = {

@@ -124,9 +123,9 @@ get: function() {

function computeIgnoreFrames() {
var frames: string[][] = [];
const frames: string[][] = [];
captureStackTraces(frames, 2);
var frames1 = frames[0];
var frames2 = frames[1];
for (var i = 0; i < frames1.length; i++) {
var frame1 = frames1[i];
var frame2 = frames2[i];
const frames1 = frames[0];
const frames2 = frames[1];
for (let i = 0; i < frames1.length; i++) {
const frame1 = frames1[i];
const frame2 = frames2[i];
if (frame1 === frame2) {

@@ -133,0 +132,0 @@ IGNORE_FRAMES.push(frame1);

@@ -16,10 +16,10 @@ (function(global) {

type WtfScopeFn = (...args) => WtfScope;
type WtfEventFn = (...args) => any;
type WtfScopeFn = (...args: any[]) => WtfScope;
type WtfEventFn = (...args: any[]) => any;
// Detect and setup WTF.
var wtfTrace: WtfTrace = null;
var wtfEvents: WtfEvents = null;
var wtfEnabled: boolean = (function (): boolean {
var wtf: Wtf = global['wtf'];
let wtfTrace: WtfTrace = null;
let wtfEvents: WtfEvents = null;
const wtfEnabled: boolean = (function (): boolean {
const wtf: Wtf = global['wtf'];
if (wtf) {

@@ -46,3 +46,3 @@ wtfTrace = wtf.trace;

zoneSpec: ZoneSpec): Zone {
var retValue = parentZoneDelegate.fork(targetZone, zoneSpec);
const retValue = parentZoneDelegate.fork(targetZone, zoneSpec);
WtfZoneSpec.forkInstance(zonePathName(targetZone), retValue.name);

@@ -54,3 +54,3 @@ return retValue;

delegate: Function, applyThis: any, applyArgs: any[], source: string): any {
var scope = WtfZoneSpec.invokeScope[source];
let scope = WtfZoneSpec.invokeScope[source];
if (!scope) {

@@ -72,4 +72,4 @@ scope = WtfZoneSpec.invokeScope[source]

task: Task): any {
var key = task.type + ':' + task.source;
var instance = WtfZoneSpec.scheduleInstance[key];
const key = task.type + ':' + task.source;
let instance = WtfZoneSpec.scheduleInstance[key];
if (!instance) {

@@ -79,3 +79,3 @@ instance = WtfZoneSpec.scheduleInstance[key]

}
var retValue = parentZoneDelegate.scheduleTask(targetZone, task);
const retValue = parentZoneDelegate.scheduleTask(targetZone, task);
instance(zonePathName(targetZone), shallowObj(task.data, 2));

@@ -89,4 +89,4 @@ return retValue;

{
var source = task.source;
var scope = WtfZoneSpec.invokeTaskScope[source];
const source = task.source;
let scope = WtfZoneSpec.invokeTaskScope[source];
if (!scope) {

@@ -102,4 +102,4 @@ scope = WtfZoneSpec.invokeTaskScope[source]

task: Task): any {
var key = task.source;
var instance = WtfZoneSpec.cancelInstance[key];
const key = task.source;
let instance = WtfZoneSpec.cancelInstance[key];
if (!instance) {

@@ -109,3 +109,3 @@ instance = WtfZoneSpec.cancelInstance[key]

}
var retValue = parentZoneDelegate.cancelTask(targetZone, task);
const retValue = parentZoneDelegate.cancelTask(targetZone, task);
instance(zonePathName(targetZone), shallowObj(task.data, 2));

@@ -118,9 +118,9 @@ return retValue;

if (!depth) return null;
var out = {};
for(var key in obj) {
const out = {};
for(const key in obj) {
if (obj.hasOwnProperty(key)) {
var value = obj[key];
let value = obj[key];
switch (typeof value) {
case 'object':
var name = value && value.constructor && (<any>value.constructor).name;
const name = value && value.constructor && (<any>value.constructor).name;
value = name == (<any>Object).name ? shallowObj(value, depth - 1) : name;

@@ -139,3 +139,3 @@ break;

function zonePathName(zone: Zone) {
var name: string = zone.name;
let name: string = zone.name;
zone = zone.parent;

@@ -142,0 +142,0 @@ while(zone != null) {

@@ -375,6 +375,6 @@ /**

type HasTaskState = {
microTask: boolean,
macroTask: boolean,
eventTask: boolean,
change: TaskType
microTask: boolean;
macroTask: boolean;
eventTask: boolean;
change: TaskType;
};

@@ -490,3 +490,3 @@

var Zone: ZoneType = (function(global) {
const Zone: ZoneType = (function(global) {
class Zone implements AmbientZone {

@@ -517,3 +517,3 @@ static __symbol__: (name: string) => string = __symbol__;

public get(key: string): any {
var current: Zone = this;
let current: Zone = this;
while (current) {

@@ -534,9 +534,9 @@ if (current._properties.hasOwnProperty(key)) {

{
if (typeof callback != 'function') {
if (typeof callback !== 'function') {
throw new Error('Expecting function got: ' + callback);
}
var callback = this._zoneDelegate.intercept(this, callback, source);
var zone: Zone = this;
const _callback = this._zoneDelegate.intercept(this, callback, source);
const zone: Zone = this;
return function() {
return zone.runGuarded(callback, this, <any>arguments, source);
return zone.runGuarded(_callback, this, <any>arguments, source);
}

@@ -548,3 +548,3 @@ }

{
var oldZone = _currentZone;
const oldZone = _currentZone;
_currentZone = this;

@@ -561,3 +561,3 @@ try {

{
var oldZone = _currentZone;
const oldZone = _currentZone;
_currentZone = this;

@@ -583,7 +583,10 @@ try {

task.zone.name + '; Execution: ' + this.name + ')');
var previousTask = _currentTask;
const previousTask = _currentTask;
_currentTask = task;
var oldZone = _currentZone;
const oldZone = _currentZone;
_currentZone = this;
try {
if (task.type == 'macroTask' && task.data && !task.data.isPeriodic) {
task.cancelFn = null;
}
try {

@@ -597,5 +600,2 @@ return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs);

} finally {
if (task.type == 'macroTask' && task.data && !task.data.isPeriodic) {
task.cancelFn = null;
}
_currentZone = oldZone;

@@ -628,3 +628,3 @@ _currentTask = previousTask;

cancelTask(task: Task): any {
var value = this._zoneDelegate.cancelTask(this, task);
const value = this._zoneDelegate.cancelTask(this, task);
task.runCount = -1;

@@ -755,3 +755,3 @@ task.cancelFn = null;

cancelTask(targetZone: Zone, task: Task): any {
var value;
let value;
if (this._cancelTaskZS) {

@@ -777,5 +777,5 @@ value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this.zone, targetZone, task);

private _updateTaskCount(type: TaskType, count: number) {
var counts = this._taskCounts;
var prev = counts[type];
var next = counts[type] = prev + count;
const counts = this._taskCounts;
const prev = counts[type];
const next = counts[type] = prev + count;
if (next < 0) {

@@ -785,3 +785,3 @@ throw new Error('More tasks executed then were scheduled.');

if (prev == 0 || next == 0) {
var isEmpty: HasTaskState = {
const isEmpty: HasTaskState = {
microTask: counts.microTask > 0,

@@ -825,3 +825,3 @@ macroTask: counts.macroTask > 0,

this.callback = callback;
var self = this;
const self = this;
this.invoke = function () {

@@ -849,8 +849,8 @@ try {

var _currentZone: Zone = new Zone(null, null);
var _currentTask: Task = null;
var _microTaskQueue: Task[] = [];
var _isDrainingMicrotaskQueue: boolean = false;
var _uncaughtPromiseErrors: UncaughtPromiseError[] = [];
var _drainScheduled: boolean = false;
let _currentZone: Zone = new Zone(null, null);
let _currentTask: Task = null;
let _microTaskQueue: Task[] = [];
let _isDrainingMicrotaskQueue: boolean = false;
let _uncaughtPromiseErrors: UncaughtPromiseError[] = [];
let _drainScheduled: boolean = false;

@@ -874,3 +874,3 @@ function scheduleQueueDrain() {

function consoleError(e:any) {
var rejection = e && e.rejection;
const rejection = e && e.rejection;
if (rejection) {

@@ -891,6 +891,6 @@ console.error(

while(_microTaskQueue.length) {
var queue = _microTaskQueue;
const queue = _microTaskQueue;
_microTaskQueue = [];
for (var i = 0; i < queue.length; i++) {
var task = queue[i];
for (let i = 0; i < queue.length; i++) {
const task = queue[i];
try {

@@ -904,6 +904,6 @@ task.zone.runTask(task, null, null);

while(_uncaughtPromiseErrors.length) {
var uncaughtPromiseErrors = _uncaughtPromiseErrors;
const uncaughtPromiseErrors = _uncaughtPromiseErrors;
_uncaughtPromiseErrors = [];
for (var i = 0; i < uncaughtPromiseErrors.length; i++) {
var uncaughtPromiseError: UncaughtPromiseError = uncaughtPromiseErrors[i];
for (let i = 0; i < uncaughtPromiseErrors.length; i++) {
const uncaughtPromiseError: UncaughtPromiseError = uncaughtPromiseErrors[i];
try {

@@ -954,6 +954,6 @@ uncaughtPromiseError.zone.runGuarded(() => { throw uncaughtPromiseError; });

promise[symbolState] = state;
var queue = promise[symbolValue];
const queue = promise[symbolValue];
promise[symbolValue] = value;
for (var i = 0; i < queue.length;) {
for (let i = 0; i < queue.length;) {
scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]);

@@ -966,3 +966,3 @@ }

} catch (e) {
var error: UncaughtPromiseError = e;
const error: UncaughtPromiseError = e;
error.rejection = value;

@@ -985,3 +985,3 @@ error.promise = promise;

promise[symbolState] = REJECTED;
for (var i = 0; i < _uncaughtPromiseErrors.length; i++) {
for (let i = 0; i < _uncaughtPromiseErrors.length; i++) {
if (promise === _uncaughtPromiseErrors[i].promise) {

@@ -1003,3 +1003,3 @@ _uncaughtPromiseErrors.splice(i, 1);

clearRejectedNoCatch(promise);
var delegate = promise[symbolState] ? onFulfilled || forwardResolution: onRejected || forwardRejection;
const delegate = promise[symbolState] ? onFulfilled || forwardResolution: onRejected || forwardRejection;
zone.scheduleMicroTask(source, () => {

@@ -1024,9 +1024,9 @@ try {

static race<R>(values: Thenable<any>[]): Promise<R> {
var resolve: (v: any) => void;
var reject: (v: any) => void;
var promise: any = new this((res, rej) => {resolve = res; reject = rej});
let resolve: (v: any) => void;
let reject: (v: any) => void;
let promise: any = new this((res, rej) => {resolve = res; reject = rej});
function onResolve(value) { promise && (promise = null || resolve(value)) }
function onReject(error) { promise && (promise = null || reject(error)) }
for(var value of values) {
for(let value of values) {
if (!isThenable(value)) {

@@ -1041,10 +1041,10 @@ value = this.resolve(value);

static all<R>(values): Promise<R> {
var resolve: (v: any) => void;
var reject: (v: any) => void;
var promise = new this((res, rej) => {resolve = res; reject = rej;});
var resolvedValues = [];
var count = 0;
let resolve: (v: any) => void;
let reject: (v: any) => void;
let promise = new this((res, rej) => {resolve = res; reject = rej;});
let count = 0;
const resolvedValues = [];
function onReject(error) { promise && reject(error); promise = null; }
for(var value of values) {
for(let value of values) {
if (!isThenable(value)) {

@@ -1069,3 +1069,3 @@ value = this.resolve(value);

reject: (error?: any) => void) => void) {
var promise: ZoneAwarePromise<R> = this;
const promise: ZoneAwarePromise<R> = this;
promise[symbolState] = UNRESOLVED;

@@ -1083,4 +1083,4 @@ promise[symbolValue] = []; // queue;

{
var chainPromise: Promise<R> = new ZoneAwarePromise(null);
var zone = Zone.current;
const chainPromise: Promise<R> = new ZoneAwarePromise(null);
const zone = Zone.current;
if (this[symbolState] == UNRESOLVED ) {

@@ -1099,10 +1099,10 @@ (<any[]>this[symbolValue]).push(zone, chainPromise, onFulfilled, onRejected);

var NativePromise = global[__symbol__('Promise')] = global.Promise;
const NativePromise = global[__symbol__('Promise')] = global.Promise;
global.Promise = ZoneAwarePromise;
if (NativePromise) {
var NativePromiseProtototype = NativePromise.prototype;
var NativePromiseThen = NativePromiseProtototype[__symbol__('then')]
const NativePromiseProtototype = NativePromise.prototype;
const NativePromiseThen = NativePromiseProtototype[__symbol__('then')]
= NativePromiseProtototype.then;
NativePromiseProtototype.then = function(onResolve, onReject) {
var nativePromise = this;
const nativePromise = this;
return new ZoneAwarePromise((resolve, reject) => {

@@ -1115,2 +1115,2 @@ NativePromiseThen.call(nativePromise, resolve, reject);

return global.Zone = Zone;
})(typeof window == 'undefined' ? global : window);
})(typeof window === 'undefined' ? global : window);
{
"name": "zone.js",
"version": "0.6.10",
"version": "0.6.11",
"description": "Zones for JavaScript",

@@ -19,5 +19,7 @@ "main": "dist/zone-node.js",

"typings": "./node_modules/.bin/typings install",
"ws-server": "node ./test/ws-server.js",
"tsc": "./node_modules/.bin/tsc",
"tsc:w": "./node_modules/.bin/tsc -w",
"test": "karma start karma.conf.js",
"test-node": "./node_modules/.bin/gulp test/node",
"serve": "python -m SimpleHTTPServer 8000"

@@ -42,2 +44,3 @@ },

"gulp-util": "^3.0.7",
"jasmine": "^2.4.1",
"jasmine-core": "^2.2.0",

@@ -55,7 +58,5 @@ "karma": "^0.13.14",

"typescript": "^1.8.0",
"typings": "^0.6.6",
"vinyl-buffer": "^1.0.0",
"vinyl-source-stream": "^1.1.0",
"typings": "^0.7.12",
"webpack": "^1.12.2"
}
}

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc