fix: make screen wrapper remote-friendly again (#26661)

This restores accessibility of screen methods via remote.screen.

Fixes #26610.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>

Co-authored-by: Anders Kaseorg <andersk@mit.edu>
This commit is contained in:
trop[bot]
2020-11-24 16:19:41 -05:00
committed by GitHub
parent c9801ab5a5
commit 4fbb58020c

View File

@@ -16,5 +16,23 @@ export default new Proxy({}, {
return v.bind(_screen);
}
return v;
},
ownKeys: () => {
if (_screen === undefined) {
_screen = createScreen();
}
return Reflect.ownKeys(_screen);
},
has: (target, prop: string) => {
if (_screen === undefined) {
_screen = createScreen();
}
return prop in _screen;
},
getOwnPropertyDescriptor: (target, prop: string) => {
if (_screen === undefined) {
_screen = createScreen();
}
return Reflect.getOwnPropertyDescriptor(_screen, prop);
}
});