Proposal: `maxDepth` on objects

Oliver Dunk oliver at
Sun Oct 21 13:45:10 UTC 2018

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.

More information about the es-discuss mailing list