Skip to content
This repository was archived by the owner on Feb 26, 2024. It is now read-only.

Commit 7a66237

Browse files
committed
chore: Release v0.6.22
1 parent 8b81537 commit 7a66237

File tree

4 files changed

+327
-76
lines changed

4 files changed

+327
-76
lines changed

dist/zone-node.js

+240-3
Original file line numberDiff line numberDiff line change
@@ -553,7 +553,7 @@ var Zone$1 = (function (global) {
553553
if (NativePromise) {
554554
patchThen(NativePromise);
555555
if (typeof global['fetch'] !== 'undefined') {
556-
var fetchPromise = global['fetch']();
556+
var fetchPromise = global['fetch']('about:blank');
557557
// ignore output to prevent error;
558558
fetchPromise.then(function () { return null; }, function () { return null; });
559559
if (fetchPromise.constructor != NativePromise) {
@@ -572,12 +572,144 @@ var Zone$1 = (function (global) {
572572
* @suppress {undefinedVars}
573573
*/
574574
var zoneSymbol = Zone['__symbol__'];
575+
var _global$1 = typeof window === 'object' && window || typeof self === 'object' && self || global;
576+
function bindArguments(args, source) {
577+
for (var i = args.length - 1; i >= 0; i--) {
578+
if (typeof args[i] === 'function') {
579+
args[i] = Zone.current.wrap(args[i], source + '_' + i);
580+
}
581+
}
582+
return args;
583+
}
584+
;
575585
var isNode = (typeof process !== 'undefined' && {}.toString.call(process) === '[object process]');
576586
var EVENT_TASKS = zoneSymbol('eventTasks');
587+
// For EventTarget
577588
var ADD_EVENT_LISTENER = 'addEventListener';
578589
var REMOVE_EVENT_LISTENER = 'removeEventListener';
579-
var SYMBOL_ADD_EVENT_LISTENER = zoneSymbol(ADD_EVENT_LISTENER);
580-
var SYMBOL_REMOVE_EVENT_LISTENER = zoneSymbol(REMOVE_EVENT_LISTENER);
590+
function findExistingRegisteredTask(target, handler, name, capture, remove) {
591+
var eventTasks = target[EVENT_TASKS];
592+
if (eventTasks) {
593+
for (var i = 0; i < eventTasks.length; i++) {
594+
var eventTask = eventTasks[i];
595+
var data = eventTask.data;
596+
if (data.handler === handler
597+
&& data.useCapturing === capture
598+
&& data.eventName === name) {
599+
if (remove) {
600+
eventTasks.splice(i, 1);
601+
}
602+
return eventTask;
603+
}
604+
}
605+
}
606+
return null;
607+
}
608+
function attachRegisteredEvent(target, eventTask) {
609+
var eventTasks = target[EVENT_TASKS];
610+
if (!eventTasks) {
611+
eventTasks = target[EVENT_TASKS] = [];
612+
}
613+
eventTasks.push(eventTask);
614+
}
615+
function makeZoneAwareAddListener(addFnName, removeFnName, useCapturingParam, allowDuplicates) {
616+
if (useCapturingParam === void 0) { useCapturingParam = true; }
617+
if (allowDuplicates === void 0) { allowDuplicates = false; }
618+
var addFnSymbol = zoneSymbol(addFnName);
619+
var removeFnSymbol = zoneSymbol(removeFnName);
620+
var defaultUseCapturing = useCapturingParam ? false : undefined;
621+
function scheduleEventListener(eventTask) {
622+
var meta = eventTask.data;
623+
attachRegisteredEvent(meta.target, eventTask);
624+
return meta.target[addFnSymbol](meta.eventName, eventTask.invoke, meta.useCapturing);
625+
}
626+
function cancelEventListener(eventTask) {
627+
var meta = eventTask.data;
628+
findExistingRegisteredTask(meta.target, eventTask.invoke, meta.eventName, meta.useCapturing, true);
629+
meta.target[removeFnSymbol](meta.eventName, eventTask.invoke, meta.useCapturing);
630+
}
631+
return function zoneAwareAddListener(self, args) {
632+
var eventName = args[0];
633+
var handler = args[1];
634+
var useCapturing = args[2] || defaultUseCapturing;
635+
// - Inside a Web Worker, `this` is undefined, the context is `global`
636+
// - When `addEventListener` is called on the global context in strict mode, `this` is undefined
637+
// see https://github.com/angular/zone.js/issues/190
638+
var target = self || _global$1;
639+
var delegate = null;
640+
if (typeof handler == 'function') {
641+
delegate = handler;
642+
}
643+
else if (handler && handler.handleEvent) {
644+
delegate = function (event) { return handler.handleEvent(event); };
645+
}
646+
var validZoneHandler = false;
647+
try {
648+
// In cross site contexts (such as WebDriver frameworks like Selenium),
649+
// accessing the handler object here will cause an exception to be thrown which
650+
// will fail tests prematurely.
651+
validZoneHandler = handler && handler.toString() === "[object FunctionWrapper]";
652+
}
653+
catch (e) {
654+
// Returning nothing here is fine, because objects in a cross-site context are unusable
655+
return;
656+
}
657+
// Ignore special listeners of IE11 & Edge dev tools, see https://github.com/angular/zone.js/issues/150
658+
if (!delegate || validZoneHandler) {
659+
return target[addFnSymbol](eventName, handler, useCapturing);
660+
}
661+
if (!allowDuplicates) {
662+
var eventTask = findExistingRegisteredTask(target, handler, eventName, useCapturing, false);
663+
if (eventTask) {
664+
// we already registered, so this will have noop.
665+
return target[addFnSymbol](eventName, eventTask.invoke, useCapturing);
666+
}
667+
}
668+
var zone = Zone.current;
669+
var source = target.constructor['name'] + '.' + addFnName + ':' + eventName;
670+
var data = {
671+
target: target,
672+
eventName: eventName,
673+
name: eventName,
674+
useCapturing: useCapturing,
675+
handler: handler
676+
};
677+
zone.scheduleEventTask(source, delegate, data, scheduleEventListener, cancelEventListener);
678+
};
679+
}
680+
function makeZoneAwareRemoveListener(fnName, useCapturingParam) {
681+
if (useCapturingParam === void 0) { useCapturingParam = true; }
682+
var symbol = zoneSymbol(fnName);
683+
var defaultUseCapturing = useCapturingParam ? false : undefined;
684+
return function zoneAwareRemoveListener(self, args) {
685+
var eventName = args[0];
686+
var handler = args[1];
687+
var useCapturing = args[2] || defaultUseCapturing;
688+
// - Inside a Web Worker, `this` is undefined, the context is `global`
689+
// - When `addEventListener` is called on the global context in strict mode, `this` is undefined
690+
// see https://github.com/angular/zone.js/issues/190
691+
var target = self || _global$1;
692+
var eventTask = findExistingRegisteredTask(target, handler, eventName, useCapturing, true);
693+
if (eventTask) {
694+
eventTask.zone.cancelTask(eventTask);
695+
}
696+
else {
697+
target[symbol](eventName, handler, useCapturing);
698+
}
699+
};
700+
}
701+
function makeZoneAwareListeners(fnName) {
702+
var symbol = zoneSymbol(fnName);
703+
return function zoneAwareEventListeners(self, args) {
704+
var eventName = args[0];
705+
var target = self || _global$1;
706+
return target[EVENT_TASKS]
707+
.filter(function (task) { return task.data.eventName === eventName; })
708+
.map(function (task) { return task.data.handler; });
709+
};
710+
}
711+
var zoneAwareAddEventListener = makeZoneAwareAddListener(ADD_EVENT_LISTENER, REMOVE_EVENT_LISTENER);
712+
var zoneAwareRemoveEventListener = makeZoneAwareRemoveListener(REMOVE_EVENT_LISTENER);
581713
var originalInstanceKey = zoneSymbol('originalInstance');
582714
function createNamedFn(name, delegate) {
583715
try {
@@ -663,6 +795,93 @@ function patchTimer(window, setName, cancelName, nameSuffix) {
663795
}; });
664796
}
665797

798+
// For EventEmitter
799+
var EE_ADD_LISTENER = 'addListener';
800+
var EE_PREPEND_LISTENER = 'prependListener';
801+
var EE_REMOVE_LISTENER = 'removeListener';
802+
var EE_LISTENERS = 'listeners';
803+
var EE_ON = 'on';
804+
var zoneAwareAddListener = makeZoneAwareAddListener(EE_ADD_LISTENER, EE_REMOVE_LISTENER, false, true);
805+
var zoneAwarePrependListener = makeZoneAwareAddListener(EE_PREPEND_LISTENER, EE_REMOVE_LISTENER, false, true);
806+
var zoneAwareRemoveListener = makeZoneAwareRemoveListener(EE_REMOVE_LISTENER, false);
807+
var zoneAwareListeners = makeZoneAwareListeners(EE_LISTENERS);
808+
function patchEventEmitterMethods(obj) {
809+
if (obj && obj.addListener) {
810+
patchMethod(obj, EE_ADD_LISTENER, function () { return zoneAwareAddListener; });
811+
patchMethod(obj, EE_PREPEND_LISTENER, function () { return zoneAwarePrependListener; });
812+
patchMethod(obj, EE_REMOVE_LISTENER, function () { return zoneAwareRemoveListener; });
813+
patchMethod(obj, EE_LISTENERS, function () { return zoneAwareListeners; });
814+
obj[EE_ON] = obj[EE_ADD_LISTENER];
815+
return true;
816+
}
817+
else {
818+
return false;
819+
}
820+
}
821+
// EventEmitter
822+
var events;
823+
try {
824+
events = require('events');
825+
}
826+
catch (err) { }
827+
if (events && events.EventEmitter) {
828+
patchEventEmitterMethods(events.EventEmitter.prototype);
829+
}
830+
831+
var fs;
832+
try {
833+
fs = require('fs');
834+
}
835+
catch (err) { }
836+
// TODO(alxhub): Patch `watch` and `unwatchFile`.
837+
var TO_PATCH = [
838+
'access',
839+
'appendFile',
840+
'chmod',
841+
'chown',
842+
'close',
843+
'exists',
844+
'fchmod',
845+
'fchown',
846+
'fdatasync',
847+
'fstat',
848+
'fsync',
849+
'ftruncate',
850+
'futimes',
851+
'lchmod',
852+
'lchown',
853+
'link',
854+
'lstat',
855+
'mkdir',
856+
'mkdtemp',
857+
'open',
858+
'read',
859+
'readdir',
860+
'readFile',
861+
'readlink',
862+
'realpath',
863+
'rename',
864+
'rmdir',
865+
'stat',
866+
'symlink',
867+
'truncate',
868+
'unlink',
869+
'utimes',
870+
'write',
871+
'writeFile',
872+
];
873+
if (fs) {
874+
TO_PATCH
875+
.filter(function (name) { return !!fs[name] && typeof fs[name] === 'function'; })
876+
.forEach(function (name) {
877+
fs[name] = (function (delegate) {
878+
return function () {
879+
return delegate.apply(this, bindArguments(arguments, 'fs.' + name));
880+
};
881+
})(fs[name]);
882+
});
883+
}
884+
666885
var set = 'set';
667886
var clear = 'clear';
668887
var _global = typeof window === 'object' && window || typeof self === 'object' && self || global;
@@ -713,4 +932,22 @@ if (crypto) {
713932
return nativePbkdf2_1.apply(void 0, args);
714933
}
715934
}.bind(crypto);
935+
}
936+
// HTTP Client
937+
var httpClient;
938+
try {
939+
httpClient = require('_http_client');
940+
}
941+
catch (err) { }
942+
if (httpClient && httpClient.ClientRequest) {
943+
var ClientRequest_1 = httpClient.ClientRequest.bind(httpClient);
944+
httpClient.ClientRequest = function (options, callback) {
945+
if (!callback) {
946+
return new ClientRequest_1(options);
947+
}
948+
else {
949+
var zone = Zone.current;
950+
return new ClientRequest_1(options, zone.wrap(callback, 'http.ClientRequest'));
951+
}
952+
};
716953
}

0 commit comments

Comments
 (0)