| 222 | }, |
| 223 | |
| 224 | has(target, prop) { |
| 225 | if (prop === STATE_SYMBOL) { |
| 226 | return true; |
| 227 | } |
| 228 | |
| 229 | var s = sources.get(prop); |
| 230 | var has = (s !== undefined && s.v !== UNINITIALIZED) || Reflect.has(target, prop); |
| 231 | |
| 232 | if ( |
| 233 | s !== undefined || |
| 234 | (active_effect !== null && (!has || get_descriptor(target, prop)?.writable)) |
| 235 | ) { |
| 236 | if (s === undefined) { |
| 237 | s = with_parent(() => { |
| 238 | var p = has ? proxy(target[prop]) : UNINITIALIZED; |
| 239 | var s = source(p, stack); |
| 240 | |
| 241 | if (DEV) { |
| 242 | tag(s, get_label(path, prop)); |
| 243 | } |
| 244 | |
| 245 | return s; |
| 246 | }); |
| 247 | |
| 248 | sources.set(prop, s); |
| 249 | } |
| 250 | |
| 251 | var value = get(s); |
| 252 | if (value === UNINITIALIZED) { |
| 253 | return false; |
| 254 | } |
| 255 | } |
| 256 | |
| 257 | return has; |
| 258 | }, |
| 259 | |
| 260 | set(target, prop, value, receiver) { |
| 261 | var s = sources.get(prop); |