surrogate
Version:
Object method hooks made easy
34 lines (26 loc) • 1.72 kB
JavaScript
import {isBool as $8c13fb1fbdc14b86$export$28ac561dc09c20ca, isUndefined as $8c13fb1fbdc14b86$export$fce6876652108ab} from "./surrogate.68fc8564.js";
import {MethodIdentifier as $5373dd1107ba7dc2$export$1f0bc0d8e047b444} from "./surrogate.d934c73c.js";
import {ProxyRule as $77ae5d5db6ae6899$export$b530e0f2985eafdb} from "./surrogate.1a5ec86a.js";
import {asArray as $aOdzZ$asArray} from "@jfrazx/asarray";
class $930064bfb48b3b71$export$65a238bb838513b extends (0, $77ae5d5db6ae6899$export$b530e0f2985eafdb) {
shouldHandle() {
const manager = this.proxy.getEventManager(this.target);
return (0, $8c13fb1fbdc14b86$export$fce6876652108ab)(manager) || this.shouldMaintainContext(manager);
}
returnableValue() {
return Reflect.get(this.target, this.event);
}
shouldMaintainContext(manager) {
return manager.eventIsHandled(this.event) ? false : this.eventSpecificContextDetermination(manager);
}
eventSpecificContextDetermination({ globalOptions: globalOptions }) {
const identifier = new (0, $5373dd1107ba7dc2$export$1f0bc0d8e047b444)(this.target);
const { maintainContext: maintainContext = false } = globalOptions;
return (0, $8c13fb1fbdc14b86$export$28ac561dc09c20ca)(maintainContext) ? this.isNotAccessor(identifier, maintainContext) : identifier.doesNotIncludeEvent(this.event, (0, $aOdzZ$asArray)(maintainContext));
}
isNotAccessor(identifier, maintainContext) {
return maintainContext ? identifier.doesNotIncludeEvent(this.event, identifier.instanceMethodNames()) : !maintainContext;
}
}
export {$930064bfb48b3b71$export$65a238bb838513b as UnprocessableRule};
//# sourceMappingURL=surrogate.1088564d.js.map