From 9bb1a2baaf0063099c361ff2e24b8f312a6a9546 Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Thu, 20 Feb 2025 09:47:36 -0500 Subject: [PATCH] Improve `evaldata-prune` scriptlet --- src/js/resources/scriptlets.js | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/js/resources/scriptlets.js b/src/js/resources/scriptlets.js index 10a89d083..8ee5603b5 100755 --- a/src/js/resources/scriptlets.js +++ b/src/js/resources/scriptlets.js @@ -1472,21 +1472,19 @@ builtinScriptlets.push({ fn: evaldataPrune, dependencies: [ 'object-prune.fn', + 'proxy-apply.fn', ], }); function evaldataPrune( rawPrunePaths = '', rawNeedlePaths = '' ) { - self.eval = new Proxy(self.eval, { - apply(target, thisArg, args) { - const before = Reflect.apply(target, thisArg, args); - if ( typeof before === 'object' ) { - const after = objectPruneFn(before, rawPrunePaths, rawNeedlePaths); - return after || before; - } - return before; - } + proxyApplyFn('eval', function(context) { + const before = context.reflect(); + if ( typeof before !== 'object' ) { return before; } + if ( before === null ) { return null; } + const after = objectPruneFn(before, rawPrunePaths, rawNeedlePaths); + return after || before; }); }