@@ -71,6 +71,10 @@ export default namespace => {
71
71
const typesOf = new WeakMap ;
72
72
const direct = Symbol ( ) ;
73
73
const proxy = { } ;
74
+ const set = ( p , type ) => {
75
+ typesOf . set ( p , type ) ;
76
+ return p ;
77
+ } ;
74
78
const utils = {
75
79
proxy,
76
80
release,
@@ -87,7 +91,7 @@ export default namespace => {
87
91
return value . call ( this , $ , ..._ ) ;
88
92
}
89
93
} ) ) ;
90
- proxy [ type ] = ( $ , ..._ ) => JSProxy ( $ , [ $ ] , handler , ..._ ) ;
94
+ proxy [ type ] = ( $ , ..._ ) => set ( JSProxy ( $ , [ $ ] , handler , ..._ ) , ARRAY ) ;
91
95
break ;
92
96
}
93
97
case FUNCTION : {
@@ -96,7 +100,7 @@ export default namespace => {
96
100
return value . call ( this , $ ( ) , ..._ ) ;
97
101
}
98
102
} ) ) ;
99
- proxy [ type ] = ( $ , ..._ ) => JSProxy ( $ , bound ( $ ) , handler , ..._ ) ;
103
+ proxy [ type ] = ( $ , ..._ ) => set ( JSProxy ( $ , bound ( $ ) , handler , ..._ ) , FUNCTION ) ;
100
104
break ;
101
105
}
102
106
case OBJECT : {
@@ -105,18 +109,14 @@ export default namespace => {
105
109
return value . call ( this , $ , ..._ ) ;
106
110
}
107
111
} ) ) ;
108
- proxy [ type ] = ( $ , ..._ ) => JSProxy ( $ , { $ } , handler , ..._ ) ;
112
+ proxy [ type ] = ( $ , ..._ ) => set ( JSProxy ( $ , { $ } , handler , ..._ ) , OBJECT ) ;
109
113
break ;
110
114
}
111
115
default : {
112
116
const handler = extendHandler ( traps , type , direct , value => ( {
113
117
value
114
118
} ) ) ;
115
- proxy [ type ] = ( $ , ..._ ) => {
116
- const p = JSProxy ( $ , $ , handler , ..._ ) ;
117
- typesOf . set ( p , type ) ;
118
- return p ;
119
- } ;
119
+ proxy [ type ] = ( $ , ..._ ) => set ( JSProxy ( $ , $ , handler , ..._ ) , type ) ;
120
120
break ;
121
121
}
122
122
}
0 commit comments