@@ -347,194 +347,7 @@ exports.setup = function setup(obj, globalObject, constructorArgs = [], privateD
347347 configurable: true
348348 });
349349
350- obj = new Proxy (obj , {
351- get(target , P , receiver ) {
352- if (typeof P === \\" symbol\\ " ) {
353- return Reflect .get (target , P , receiver );
354- }
355- const desc = this .getOwnPropertyDescriptor (target , P );
356- if (desc === undefined ) {
357- const parent = Object .getPrototypeOf (target );
358- if (parent === null ) {
359- return undefined ;
360- }
361- return Reflect .get (target , P , receiver );
362- }
363- if (! desc .get && ! desc .set ) {
364- return desc .value ;
365- }
366- const getter = desc .get ;
367- if (getter === undefined ) {
368- return undefined ;
369- }
370- return Reflect .apply (getter , receiver , []);
371- },
372-
373- has(target , P ) {
374- if (typeof P === \\" symbol\\ " ) {
375- return Reflect .has (target , P );
376- }
377- const desc = this .getOwnPropertyDescriptor (target , P );
378- if (desc !== undefined ) {
379- return true ;
380- }
381- const parent = Object .getPrototypeOf (target );
382- if (parent !== null ) {
383- return Reflect .has (parent , P );
384- }
385- return false ;
386- },
387-
388- ownKeys(target ) {
389- const keys = new Set ();
390-
391- for (const key of target [impl ][utils .supportedPropertyNames ]) {
392- if (! (key in target )) {
393- keys .add (\` \$ { key } \` );
394- }
395- }
396-
397- for (const key of Reflect.ownKeys(target)) {
398- keys .add (key );
399- }
400- return [...keys];
401- },
402-
403- getOwnPropertyDescriptor(target, P) {
404- if (typeof P === \\" symbol\\ " ) {
405- return Reflect.getOwnPropertyDescriptor(target , P );
406- }
407- let ignoreNamedProps = false ;
408-
409- if (target [impl ][utils .supportsPropertyName ](P ) && ! (P in target ) && ! ignoreNamedProps ) {
410- const namedValue = target[impl][utils .namedGet ](P );
411-
412- return {
413- writable: true ,
414- enumerable: true ,
415- configurable: true ,
416- value: utils .tryWrapperForImpl (namedValue )
417- };
418- }
419-
420- return Reflect.getOwnPropertyDescriptor(target, P);
421- },
422-
423- set(target, P, V, receiver) {
424- if (typeof P === \\" symbol\\ " ) {
425- return Reflect.set(target , P , V , receiver );
426- }
427- if (target === receiver ) {
428- if (typeof P === \\"string \\" && !utils .isArrayIndexPropName (P )) {
429- let namedValue = V ;
430-
431- namedValue = conversions [\\" DOMString\\ " ](namedValue , {
432- context: \\" Failed to set the '\\ " + P + \\" ' property on 'CEReactions': The provided value\\ "
433- });
434-
435- CEReactions .preSteps (globalObject );
436- try {
437- const creating = ! target [impl ][utils .supportsPropertyName ](P );
438- if (creating ) {
439- target [impl ][utils .namedSetNew ](P , namedValue );
440- } else {
441- target [impl ][utils .namedSetExisting ](P , namedValue );
442- }
443- } finally {
444- CEReactions .postSteps (globalObject );
445- }
446-
447- return true ;
448- }
449- }
450- let ownDesc ;
451-
452- if (ownDesc === undefined ) {
453- ownDesc = Reflect.getOwnPropertyDescriptor(target , P );
454- }
455- if (ownDesc === undefined ) {
456- const parent = Reflect.getPrototypeOf(target );
457- if (parent !== null ) {
458- return Reflect .set (parent , P , V , receiver );
459- }
460- ownDesc = { writable: true , enumerable: true , configurable: true , value: undefined };
461- }
462- if (!ownDesc.writable) {
463- return false ;
464- }
465- if (!utils.isObject(receiver)) {
466- return false ;
467- }
468- const existingDesc = Reflect.getOwnPropertyDescriptor(receiver, P);
469- let valueDesc;
470- if (existingDesc !== undefined) {
471- if (existingDesc .get || existingDesc .set ) {
472- return false;
473- }
474- if (! existingDesc .writable ) {
475- return false;
476- }
477- valueDesc = { value: V };
478- } else {
479- valueDesc = { writable: true , enumerable: true , configurable: true , value: V };
480- }
481- return Reflect.defineProperty(receiver, P, valueDesc);
482- },
483-
484- defineProperty(target, P, desc) {
485- if (typeof P === \\" symbol\\ " ) {
486- return Reflect.defineProperty(target , P , desc );
487- }
488- if (! utils .hasOwn (target , P )) {
489- if (desc .get || desc .set ) {
490- return false ;
491- }
492-
493- let namedValue = desc.value;
494-
495- namedValue = conversions[\\" DOMString\\ " ](namedValue , {
496- context : \\"Failed to set the '\\" + P + \\"' property on ' CEReactions' : The provided value \\"
497- });
498-
499- CEReactions.preSteps(globalObject );
500- try {
501- const creating = !target[impl][utils .supportsPropertyName ](P );
502- if (creating ) {
503- target [impl ][utils .namedSetNew ](P , namedValue );
504- } else {
505- target[impl][utils .namedSetExisting ](P , namedValue );
506- }
507- } finally {
508- CEReactions .postSteps (globalObject );
509- }
510-
511- return true;
512- }
513- return Reflect.defineProperty(target, P, desc);
514- },
515-
516- deleteProperty(target, P) {
517- if (typeof P === \\" symbol\\ " ) {
518- return Reflect.deleteProperty(target , P );
519- }
520-
521- if (target [impl ][utils .supportsPropertyName ](P ) && ! (P in target )) {
522- CEReactions.preSteps(globalObject );
523- try {
524- target[impl][utils .namedDelete ](P );
525- return true;
526- } finally {
527- CEReactions.postSteps(globalObject );
528- }
529- }
530-
531- return Reflect.deleteProperty(target, P);
532- },
533-
534- preventExtensions() {
535- return false ;
536- }
537- });
350+ obj = new Proxy (obj , proxyHandler );
538351
539352 obj [impl ][utils .wrapperSymbol ] = obj ;
540353 if (Impl .init ) {
@@ -610,6 +423,195 @@ exports.install = function install(globalObject) {
610423 });
611424};
612425
426+ const proxyHandler = {
427+ get(target , P , receiver ) {
428+ if (typeof P === \\" symbol\\ " ) {
429+ return Reflect .get (target , P , receiver );
430+ }
431+ const desc = this .getOwnPropertyDescriptor (target , P );
432+ if (desc === undefined ) {
433+ const parent = Object .getPrototypeOf (target );
434+ if (parent === null ) {
435+ return undefined ;
436+ }
437+ return Reflect .get (target , P , receiver );
438+ }
439+ if (! desc .get && ! desc .set ) {
440+ return desc .value ;
441+ }
442+ const getter = desc .get ;
443+ if (getter === undefined ) {
444+ return undefined ;
445+ }
446+ return Reflect .apply (getter , receiver , []);
447+ },
448+
449+ has(target , P ) {
450+ if (typeof P === \\" symbol\\ " ) {
451+ return Reflect .has (target , P );
452+ }
453+ const desc = this .getOwnPropertyDescriptor (target , P );
454+ if (desc !== undefined ) {
455+ return true ;
456+ }
457+ const parent = Object .getPrototypeOf (target );
458+ if (parent !== null ) {
459+ return Reflect .has (parent , P );
460+ }
461+ return false ;
462+ },
463+
464+ ownKeys(target ) {
465+ const keys = new Set ();
466+
467+ for (const key of target [impl ][utils .supportedPropertyNames ]) {
468+ if (! (key in target )) {
469+ keys .add (\` \$ { key } \` );
470+ }
471+ }
472+
473+ for (const key of Reflect.ownKeys(target)) {
474+ keys .add (key );
475+ }
476+ return [...keys];
477+ },
478+
479+ getOwnPropertyDescriptor(target, P) {
480+ if (typeof P === \\" symbol\\ " ) {
481+ return Reflect.getOwnPropertyDescriptor(target , P );
482+ }
483+ let ignoreNamedProps = false ;
484+
485+ if (target [impl ][utils .supportsPropertyName ](P ) && ! (P in target ) && ! ignoreNamedProps ) {
486+ const namedValue = target[impl][utils .namedGet ](P );
487+
488+ return {
489+ writable: true ,
490+ enumerable: true ,
491+ configurable: true ,
492+ value: utils .tryWrapperForImpl (namedValue )
493+ };
494+ }
495+
496+ return Reflect.getOwnPropertyDescriptor(target, P);
497+ },
498+
499+ set(target, P, V, receiver) {
500+ if (typeof P === \\" symbol\\ " ) {
501+ return Reflect.set(target , P , V , receiver );
502+ }
503+ if (target === receiver ) {
504+ if (typeof P === \\"string \\" && !utils .isArrayIndexPropName (P )) {
505+ let namedValue = V ;
506+
507+ namedValue = conversions [\\" DOMString\\ " ](namedValue , {
508+ context: \\" Failed to set the '\\ " + P + \\" ' property on 'CEReactions': The provided value\\ "
509+ });
510+
511+ CEReactions .preSteps (globalObject );
512+ try {
513+ const creating = ! target [impl ][utils .supportsPropertyName ](P );
514+ if (creating ) {
515+ target [impl ][utils .namedSetNew ](P , namedValue );
516+ } else {
517+ target [impl ][utils .namedSetExisting ](P , namedValue );
518+ }
519+ } finally {
520+ CEReactions .postSteps (globalObject );
521+ }
522+
523+ return true ;
524+ }
525+ }
526+ let ownDesc ;
527+
528+ if (ownDesc === undefined ) {
529+ ownDesc = Reflect.getOwnPropertyDescriptor(target , P );
530+ }
531+ if (ownDesc === undefined ) {
532+ const parent = Reflect.getPrototypeOf(target );
533+ if (parent !== null ) {
534+ return Reflect .set (parent , P , V , receiver );
535+ }
536+ ownDesc = { writable: true , enumerable: true , configurable: true , value: undefined };
537+ }
538+ if (!ownDesc.writable) {
539+ return false ;
540+ }
541+ if (!utils.isObject(receiver)) {
542+ return false ;
543+ }
544+ const existingDesc = Reflect.getOwnPropertyDescriptor(receiver, P);
545+ let valueDesc;
546+ if (existingDesc !== undefined) {
547+ if (existingDesc .get || existingDesc .set ) {
548+ return false;
549+ }
550+ if (! existingDesc .writable ) {
551+ return false;
552+ }
553+ valueDesc = { value: V };
554+ } else {
555+ valueDesc = { writable: true , enumerable: true , configurable: true , value: V };
556+ }
557+ return Reflect.defineProperty(receiver, P, valueDesc);
558+ },
559+
560+ defineProperty(target, P, desc) {
561+ if (typeof P === \\" symbol\\ " ) {
562+ return Reflect.defineProperty(target , P , desc );
563+ }
564+ if (! utils .hasOwn (target , P )) {
565+ if (desc .get || desc .set ) {
566+ return false ;
567+ }
568+
569+ let namedValue = desc.value;
570+
571+ namedValue = conversions[\\" DOMString\\ " ](namedValue , {
572+ context : \\"Failed to set the '\\" + P + \\"' property on ' CEReactions' : The provided value \\"
573+ });
574+
575+ CEReactions.preSteps(globalObject );
576+ try {
577+ const creating = !target[impl][utils .supportsPropertyName ](P );
578+ if (creating ) {
579+ target [impl ][utils .namedSetNew ](P , namedValue );
580+ } else {
581+ target[impl][utils .namedSetExisting ](P , namedValue );
582+ }
583+ } finally {
584+ CEReactions .postSteps (globalObject );
585+ }
586+
587+ return true;
588+ }
589+ return Reflect.defineProperty(target, P, desc);
590+ },
591+
592+ deleteProperty(target, P) {
593+ if (typeof P === \\" symbol\\ " ) {
594+ return Reflect.deleteProperty(target , P );
595+ }
596+
597+ if (target [impl ][utils .supportsPropertyName ](P ) && ! (P in target )) {
598+ CEReactions.preSteps(globalObject );
599+ try {
600+ target[impl][utils .namedDelete ](P );
601+ return true;
602+ } finally {
603+ CEReactions.postSteps(globalObject );
604+ }
605+ }
606+
607+ return Reflect.deleteProperty(target, P);
608+ },
609+
610+ preventExtensions() {
611+ return false ;
612+ }
613+ };
614+
613615const Impl = require(\\ "../implementations/CEReactions.js\\ ");
614616"
615617` ;
0 commit comments