-
-
Notifications
You must be signed in to change notification settings - Fork 15
Open
Labels
Description
Briefly, this happens:
const obj = {}
const map = new Map([['a', obj], ['b', obj]])
const ok = stringify(map)
// "new Map([['a',{}],['b',{}]])"
const bad = stringify(map, null, null, { references: true })
// "(function(){var x=new Map([['a',{}],['b',undefined]]);x[1][1]=x[0][1];return x;}())"
eval(bad)
// Uncaught TypeError: Cannot read property '1' of undefinedThe problem here is that the object type isn't tracked, and therefore isn't taken into account by stringifyPath. The . and [] forms work fine for arrays and objects, but don't for Maps and Sets. The path in those cases is referring to the Array.from() constructions, rather than the resulting objects.
Reactions are currently unavailable