Hide private symbols
Right now we use a lot of "private" symbols in core. However, those show up when using console.log
or util.inspect
(the latter as the actual part that makes them visible). The reason for that is that we add them as enumerable symbols instead of non-enumerable ones.
The default for util.inspect
is to show all enumerable properties. I would like to hide all of these by changing our symbols to non-enumerable properties. That way they could still be inspected when calling inspect
with the showHidden
option but I believe that is exactly as it should be.
Are other @nodejs/collaborators
fine with changing all those entries? We would only have to change it in the places where we actually add the symbol to the object.
If that is something we all agree to, I would like to add the good-first-issue
and help-wanted
labels and we should pay attention to always make sure they are added as non-enumerable properties and add tests for that as well to prevent regressions.