fromJsPath

Creates a KPointer from a JavaScript access path string: the static member-access subset of JavaScript syntax used by APIs such as Vega-Lite's encoding.*.field (dot segments, quoted-bracket segments, and numeric-bracket segments, with backslash escaping).

Parsing rules:

  • An empty string returns ROOT.

  • Segments are separated by . or by [...] brackets; a bracket may immediately follow a dot segment or another bracket (foo[0]['bar']).

  • A bracket contains either a run of digits ([0]) or a single- or double-quoted string (['a'], ["a"]), whose contents become the segment verbatim; \ inside a quoted bracket escapes the active quote character or a literal \.

  • Inside a dot segment, \ escapes a literal ., [, ], or \ into the segment.

  • Empty segments are rejected: a leading ., a trailing ., and consecutive dots all produce one.

Return

A KPointer whose segments correspond to the parsed access path.

Parameters

path

The JavaScript access path string.

Throws

if path is syntactically malformed: an unterminated bracket or quote, an empty bracket, a dangling backslash, junk after a closing quote, or an empty segment.