Whether an object's constructor name is available depends on whether the
JavaScript engine could infer the name. Support for name inference is
incomplete in Node.js releases up to 6.4.0.
Move the tracking of function name support from the complex Function
value into the Object value. Compare deserialized object constructor
names using the same algorithm as is used for comparing function names.
This is a breaking change in the serialization format, resulting in the
serialization version being bumped to 2.
See #21 for background.
An easy way to reproduce the bug using concordance@1:
Whether an object's constructor name is available depends on whether the JavaScript engine could infer the name. Support for name inference is incomplete in Node.js releases up to 6.4.0.
Move the tracking of function name support from the complex Function value into the Object value. Compare deserialized object constructor names using the same algorithm as is used for comparing function names.
This is a breaking change in the serialization format, resulting in the serialization version being bumped to
2
.See #21 for background.
An easy way to reproduce the bug using concordance@1:
With this PR: