@@ -63,14 +63,17 @@ export function proxy(value) {
63
63
64
64
return new Proxy ( /** @type {any } */ ( value ) , {
65
65
defineProperty ( _ , prop , descriptor ) {
66
+ // we allow non enumerable/writable defines if the prop being set is our own symbol
67
+ // this should be fine for the invariants since the user can't get a handle to the symbol
68
+ if ( DEV && prop === BINDABLE_FALLBACK_SYMBOL ) {
69
+ return Reflect . defineProperty ( _ , prop , descriptor ) ;
70
+ }
71
+
66
72
if (
67
- // we allow non enumerable/writable defines if the prop being set is our own symbol
68
- // this should be fine for the invariants since the user can't get a handle to the symbol
69
- ( ! DEV || prop !== BINDABLE_FALLBACK_SYMBOL ) &&
70
- ( ! ( 'value' in descriptor ) ||
71
- descriptor . configurable === false ||
72
- descriptor . enumerable === false ||
73
- descriptor . writable === false )
73
+ ! ( 'value' in descriptor ) ||
74
+ descriptor . configurable === false ||
75
+ descriptor . enumerable === false ||
76
+ descriptor . writable === false
74
77
) {
75
78
// we disallow non-basic descriptors, because unless they are applied to the
76
79
// target object — which we avoid, so that state can be forked — we will run
@@ -126,6 +129,9 @@ export function proxy(value) {
126
129
if ( prop === STATE_SYMBOL ) {
127
130
return value ;
128
131
}
132
+ if ( DEV && prop === BINDABLE_FALLBACK_SYMBOL ) {
133
+ return Reflect . get ( target , prop ) ;
134
+ }
129
135
130
136
var s = sources . get ( prop ) ;
131
137
var exists = prop in target ;
0 commit comments