From 11e05e131b4f2af8c18472a067de481bac9586ad Mon Sep 17 00:00:00 2001 From: Ben Heidemann Date: Sun, 18 Apr 2021 15:42:47 +0100 Subject: [PATCH] fix: make fs proxy return undefined for keys which do not exist on the file system instance --- shims/fs.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/shims/fs.js b/shims/fs.js index d60986f..d3b259d 100644 --- a/shims/fs.js +++ b/shims/fs.js @@ -26,8 +26,16 @@ var fsInstance = new FileSystem({ provider }, (err) => { } }); +function proxyHasProp(target, prop) { + return prop in target; +} + const fsPromises = new Proxy(fsInstance.promises, { get(target, prop) { + if (!proxyHasProp(target, prop)) { + return; + } + return async (...args) => { await fsReady; return await target[prop](...args); @@ -37,6 +45,10 @@ const fsPromises = new Proxy(fsInstance.promises, { const fs = new Proxy(fsInstance, { get(target, prop) { + if (!proxyHasProp(target, prop)) { + return; + } + if (prop === 'promises') { return fsPromises; }