| 'use strict'; |
| /** |
| * @license Angular v12.0.0-next.0 |
| * (c) 2010-2020 Google LLC. https://angular.io/ |
| * License: MIT |
| */ |
| (function (factory) { |
| typeof define === 'function' && define.amd ? define(factory) : |
| factory(); |
| }((function () { |
| 'use strict'; |
| /** |
| * @license |
| * Copyright Google LLC All Rights Reserved. |
| * |
| * Use of this source code is governed by an MIT-style license that can be |
| * found in the LICENSE file at https://angular.io/license |
| */ |
| Zone.__load_patch('bluebird', function (global, Zone, api) { |
| // TODO: @JiaLiPassion, we can automatically patch bluebird |
| // if global.Promise = Bluebird, but sometimes in nodejs, |
| // global.Promise is not Bluebird, and Bluebird is just be |
| // used by other libraries such as sequelize, so I think it is |
| // safe to just expose a method to patch Bluebird explicitly |
| var BLUEBIRD = 'bluebird'; |
| Zone[Zone.__symbol__(BLUEBIRD)] = function patchBluebird(Bluebird) { |
| // patch method of Bluebird.prototype which not using `then` internally |
| var bluebirdApis = ['then', 'spread', 'finally']; |
| bluebirdApis.forEach(function (bapi) { |
| api.patchMethod(Bluebird.prototype, bapi, function (delegate) { return function (self, args) { |
| var zone = Zone.current; |
| var _loop_1 = function (i) { |
| var func = args[i]; |
| if (typeof func === 'function') { |
| args[i] = function () { |
| var argSelf = this; |
| var argArgs = arguments; |
| return new Bluebird(function (res, rej) { |
| zone.scheduleMicroTask('Promise.then', function () { |
| try { |
| res(func.apply(argSelf, argArgs)); |
| } |
| catch (error) { |
| rej(error); |
| } |
| }); |
| }); |
| }; |
| } |
| }; |
| for (var i = 0; i < args.length; i++) { |
| _loop_1(i); |
| } |
| return delegate.apply(self, args); |
| }; }); |
| }); |
| if (typeof window !== 'undefined') { |
| window.addEventListener('unhandledrejection', function (event) { |
| var error = event.detail && event.detail.reason; |
| if (error && error.isHandledByZone) { |
| event.preventDefault(); |
| if (typeof event.stopImmediatePropagation === 'function') { |
| event.stopImmediatePropagation(); |
| } |
| } |
| }); |
| } |
| else if (typeof process !== 'undefined') { |
| process.on('unhandledRejection', function (reason, p) { |
| if (reason && reason.isHandledByZone) { |
| var listeners_1 = process.listeners('unhandledRejection'); |
| if (listeners_1) { |
| // remove unhandledRejection listeners so the callback |
| // will not be triggered. |
| process.removeAllListeners('unhandledRejection'); |
| process.nextTick(function () { |
| listeners_1.forEach(function (listener) { return process.on('unhandledRejection', listener); }); |
| }); |
| } |
| } |
| }); |
| } |
| Bluebird.onPossiblyUnhandledRejection(function (e, promise) { |
| try { |
| Zone.current.runGuarded(function () { |
| e.isHandledByZone = true; |
| throw e; |
| }); |
| } |
| catch (err) { |
| err.isHandledByZone = false; |
| api.onUnhandledError(err); |
| } |
| }); |
| // override global promise |
| global.Promise = Bluebird; |
| }; |
| }); |
| }))); |