Skip to content

Commit e3cc399

Browse files
committed
helpers.py - be more selective wrt properties added to pm
1 parent 35ae229 commit e3cc399

File tree

2 files changed

+8
-7
lines changed

2 files changed

+8
-7
lines changed

python/pythonmonkey/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Export public PythonMonkey APIs
22
from .pythonmonkey import *
3-
from .require import *
43
from .helpers import *
4+
from .require import *
55

66
# Expose the package version
77
import importlib.metadata

python/pythonmonkey/helpers.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,16 +42,17 @@ def new(ctor):
4242
# List which symbols are exposed to the pythonmonkey module.
4343
__all__ = [ "new", "typeof" ]
4444

45-
# Add the properties of globalThis (except eval) as exports:
45+
# Add the non-enumerable properties of globalThis which don't collide with pythonmonkey.so as exports:
4646
globalThis = pm.eval('globalThis');
47+
pmGlobals = vars(pm)
4748

4849
exports = pm.eval("""
4950
Object.getOwnPropertyNames(globalThis)
50-
.filter(prop => prop !== 'eval')
51-
.filter(prop => prop[0] !== '_')
52-
""")
51+
.filter(prop => Object.keys(globalThis).indexOf(prop) === -1);
52+
""", evalOpts)
5353

5454
for index in range(0, int(exports.length)):
5555
name = exports[index]
56-
globals().update({name: globalThis[name]})
57-
__all__.append(name)
56+
if (pmGlobals.get(name) == None):
57+
globals().update({name: globalThis[name]})
58+
__all__.append(name)

0 commit comments

Comments
 (0)