@@ -9,28 +9,26 @@ export function magic(name, callback) {
9
9
}
10
10
11
11
export function injectMagics ( obj , el ) {
12
- Object . entries ( magics ) . forEach ( ( [ name , callback ] ) => {
13
- let memoizedUtilities = null ;
14
- function getUtilities ( ) {
15
- if ( memoizedUtilities ) {
16
- return memoizedUtilities ;
17
- } else {
18
- let [ utilities , cleanup ] = getElementBoundUtilities ( el )
19
-
20
- memoizedUtilities = { interceptor, ...utilities }
21
-
22
- onElRemoved ( el , cleanup )
23
- return memoizedUtilities ;
24
- }
25
- }
12
+ let memoizedUtilities = getUtilities ( el )
26
13
14
+ Object . entries ( magics ) . forEach ( ( [ name , callback ] ) => {
27
15
Object . defineProperty ( obj , `$${ name } ` , {
28
16
get ( ) {
29
- return callback ( el , getUtilities ( ) ) ;
17
+ return callback ( el , memoizedUtilities ) ;
30
18
} ,
31
19
enumerable : false ,
32
20
} )
33
21
} )
34
22
35
23
return obj
36
24
}
25
+
26
+ export function getUtilities ( el ) {
27
+ let [ utilities , cleanup ] = getElementBoundUtilities ( el )
28
+
29
+ let utils = { interceptor, ...utilities }
30
+
31
+ onElRemoved ( el , cleanup )
32
+
33
+ return utils ;
34
+ }
0 commit comments