Wouldn't calculating the depth open up objects for abuse? Assuming the max depth is calculated with a BFS, it seems like you end up with a potentially expensive BFS in the standard. Something safer may be 'hasDepth(int n)' or a 'depthLessThan(int n)'.
On Sun, Oct 21, 2018 at 13:51 Jordan Harband <[email protected]> wrote: > What would it report on `obj` with `const a = {}; const obj = { a };`? > What about with `const obj = { get a() { return Math.random() > 0.5 ? obj : > {}; } };`? > > This seems like something you could do yourself as a function. > > On Sun, Oct 21, 2018 at 7:30 AM Isiah Meadows <[email protected]> > wrote: > >> Are there other use cases for this? This reason doesn't really seem >> compelling. >> >> (Not TC39, but I wouldn't expect this to be considered without a way >> stronger use case.) >> On Sun, Oct 21, 2018 at 09:45 Oliver Dunk <[email protected]> wrote: >> >>> I’d love to see some sort of `maxDepth` property on objects. >>> >>> For `{}`, it would return `0`. >>> In the case of `{keyOne: true}`, it would return `1`. >>> For `{keyOne: {anotherKey: false}, keyTwo: false}`, it would return `2`. >>> >>> My particular use case is validating a JSON payload sent by a user to >>> prevent abuse. I don’t want to force a particular structure or set of keys, >>> but I do want to make sure the level of nesting doesn’t get silly. >>> >>> The code to implement this is fairly short, but looks a bit messy. It’d >>> be really nice to have a property instead. >>> _______________________________________________ >>> es-discuss mailing list >>> [email protected] >>> https://mail.mozilla.org/listinfo/es-discuss >>> >> _______________________________________________ >> es-discuss mailing list >> [email protected] >> https://mail.mozilla.org/listinfo/es-discuss >> > _______________________________________________ > es-discuss mailing list > [email protected] > https://mail.mozilla.org/listinfo/es-discuss > -- Sent from Gmail Mobile
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

