utility functions for querying/traversing a nested object through the use of either:

  • a dot-separated string query (dot-path)
  • or an array of keys (key-path)

this submodule is made to be somewhat strictly typed, so you can expect to get type hints when accessing narrowly typed data via key-path or dot-path get/set functions. think of it as analogous to xpath for xml, and document.querySelector for html.

TODO: consider allowing getKeyPath and setKeyPath to accept create_missing: boolean = false option to create missing intermediate keys/entires

Type Aliases

KeyPathsOf
DotPath
KeyPath
DotPathLeaf
DotPathParent
DotPathToKeyPath
DotPathValue
KeyPathValue

Functions

getKeyPath
setKeyPath
bindKeyPathTo
dotPathToKeyPath
getDotPath
setDotPath
bindDotPathTo