Add support for traversing native Map
objects like objects
#96
Labels
enhancement
Improvement of existing features
Map
objects like objects
#96
✨ Feature request
JSON pointers should traverse native
Map
objects like plain and objects.Motivation
Plain objects are inefficient and ill advised when dealing with large number of keys or when handling dynamic, possibly untrusted, keys.
To allow an application to traverse a path using keys provided by the user requires a lot of care and consideration to create an appropriate object.
Example
The API would remain the same, but now also support maps.
Alternatives
The safe and correct alternative to handle user-provided keys is to construct a prototype-free object using
Object.create(null)
and populating it iteratively. Besides inconvenient and unergonomic, such operation is linear at best and linearithmic at worst due to how the representation of plain objects are optimized to have few, statically known, unchanging keys.Additional context
https://www.builder.io/blog/maps
The text was updated successfully, but these errors were encountered: