| /** |
| * @license |
| * Copyright Google Inc. 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 |
| */ |
| |
| import {globalSources, patchEventPrototype, patchEventTarget, zoneSymbolEventNames} from '../common/events'; |
| import {ADD_EVENT_LISTENER_STR, ArraySlice, attachOriginToPatched, bindArguments, FALSE_STR, isBrowser, isIEOrEdge, isMix, isNode, ObjectCreate, ObjectDefineProperty, ObjectGetOwnPropertyDescriptor, patchClass, patchMacroTask, patchMethod, patchOnProperties, REMOVE_EVENT_LISTENER_STR, TRUE_STR, wrapWithCurrentZone, ZONE_SYMBOL_PREFIX} from '../common/utils'; |
| |
| import {patchCallbacks} from './browser-util'; |
| import {_redefineProperty} from './define-property'; |
| import {eventNames, filterProperties} from './property-descriptor'; |
| |
| Zone.__load_patch('util', (global: any, Zone: ZoneType, api: _ZonePrivate) => { |
| api.patchOnProperties = patchOnProperties; |
| api.patchMethod = patchMethod; |
| api.bindArguments = bindArguments; |
| api.patchMacroTask = patchMacroTask; |
| // In earlier version of zone.js (<0.9.0), we use env name `__zone_symbol__BLACK_LISTED_EVENTS` to |
| // define which events will not be patched by `Zone.js`. |
| // In newer version (>=0.9.0), we change the env name to `__zone_symbol__UNPATCHED_EVENTS` to keep |
| // the name consistent with angular repo. |
| // The `__zone_symbol__BLACK_LISTED_EVENTS` is deprecated, but it is still be supported for |
| // backwards compatibility. |
| const SYMBOL_BLACK_LISTED_EVENTS = Zone.__symbol__('BLACK_LISTED_EVENTS'); |
| const SYMBOL_UNPATCHED_EVENTS = Zone.__symbol__('UNPATCHED_EVENTS'); |
| if (global[SYMBOL_UNPATCHED_EVENTS]) { |
| global[SYMBOL_BLACK_LISTED_EVENTS] = global[SYMBOL_UNPATCHED_EVENTS]; |
| } |
| if (global[SYMBOL_BLACK_LISTED_EVENTS]) { |
| (Zone as any)[SYMBOL_BLACK_LISTED_EVENTS] = (Zone as any)[SYMBOL_UNPATCHED_EVENTS] = |
| global[SYMBOL_BLACK_LISTED_EVENTS]; |
| } |
| api.patchEventPrototype = patchEventPrototype; |
| api.patchEventTarget = patchEventTarget; |
| api.isIEOrEdge = isIEOrEdge; |
| api.ObjectDefineProperty = ObjectDefineProperty; |
| api.ObjectGetOwnPropertyDescriptor = ObjectGetOwnPropertyDescriptor; |
| api.ObjectCreate = ObjectCreate; |
| api.ArraySlice = ArraySlice; |
| api.patchClass = patchClass; |
| api.wrapWithCurrentZone = wrapWithCurrentZone; |
| api.filterProperties = filterProperties; |
| api.attachOriginToPatched = attachOriginToPatched; |
| api._redefineProperty = _redefineProperty; |
| api.patchCallbacks = patchCallbacks; |
| api.getGlobalObjects = () => ({ |
| globalSources, |
| zoneSymbolEventNames, |
| eventNames, |
| isBrowser, |
| isMix, |
| isNode, |
| TRUE_STR, |
| FALSE_STR, |
| ZONE_SYMBOL_PREFIX, |
| ADD_EVENT_LISTENER_STR, |
| REMOVE_EVENT_LISTENER_STR |
| }); |
| }); |