1+ /**
2+ * @license
3+ * Copyright Google Inc. All Rights Reserved.
4+ *
5+ * Use of this source code is governed by an MIT-style license that can be
6+ * found in the LICENSE file at https://angular.io/license
7+ */
8+ import { NestedEventListenerOrEventListenerObject , patchEventTargetMethods } from '../common/utils' ;
9+
10+ ( ( _global : any ) => {
11+ // patch MediaQuery
12+ patchMediaQuery ( _global ) ;
13+
14+ function patchMediaQuery ( _global : any ) {
15+ if ( ! _global [ 'MediaQueryList' ] ) {
16+ return ;
17+ }
18+ patchEventTargetMethods (
19+ _global [ 'MediaQueryList' ] . prototype , 'addListener' , 'removeListener' , ( self , args ) => {
20+ return {
21+ useCapturing : false ,
22+ eventName : 'mediaQuery' ,
23+ handler : args [ 0 ] ,
24+ target : self || _global ,
25+ name : 'mediaQuery' ,
26+ invokeAddFunc : function (
27+ addFnSymbol : any , delegate : Task | NestedEventListenerOrEventListenerObject ) {
28+ if ( delegate && ( < Task > delegate ) . invoke ) {
29+ return this . target [ addFnSymbol ] ( ( < Task > delegate ) . invoke ) ;
30+ } else {
31+ return this . target [ addFnSymbol ] ( delegate ) ;
32+ }
33+ } ,
34+ invokeRemoveFunc : function (
35+ removeFnSymbol : any , delegate : Task | NestedEventListenerOrEventListenerObject ) {
36+ if ( delegate && ( < Task > delegate ) . invoke ) {
37+ return this . target [ removeFnSymbol ] ( ( < Task > delegate ) . invoke ) ;
38+ } else {
39+ return this . target [ removeFnSymbol ] ( delegate ) ;
40+ }
41+ }
42+ } ;
43+ } ) ;
44+ }
45+ } ) ( typeof window === 'object' && window || typeof self === 'object' && self || global ) ;
0 commit comments