Skip to content

Commit 9bb1a2b

Browse files
committed
Improve evaldata-prune scriptlet
1 parent c778f33 commit 9bb1a2b

File tree

1 file changed

+7
-9
lines changed

1 file changed

+7
-9
lines changed

src/js/resources/scriptlets.js

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1472,21 +1472,19 @@ builtinScriptlets.push({
14721472
fn: evaldataPrune,
14731473
dependencies: [
14741474
'object-prune.fn',
1475+
'proxy-apply.fn',
14751476
],
14761477
});
14771478
function evaldataPrune(
14781479
rawPrunePaths = '',
14791480
rawNeedlePaths = ''
14801481
) {
1481-
self.eval = new Proxy(self.eval, {
1482-
apply(target, thisArg, args) {
1483-
const before = Reflect.apply(target, thisArg, args);
1484-
if ( typeof before === 'object' ) {
1485-
const after = objectPruneFn(before, rawPrunePaths, rawNeedlePaths);
1486-
return after || before;
1487-
}
1488-
return before;
1489-
}
1482+
proxyApplyFn('eval', function(context) {
1483+
const before = context.reflect();
1484+
if ( typeof before !== 'object' ) { return before; }
1485+
if ( before === null ) { return null; }
1486+
const after = objectPruneFn(before, rawPrunePaths, rawNeedlePaths);
1487+
return after || before;
14901488
});
14911489
}
14921490

0 commit comments

Comments
 (0)