Parse selector text and translate it to a QueryDescriptor-shaped
{ types, filters }, or throw. Never returns a partial result: either
every construct in the (single, non-unioned) group translates losslessly,
or this throws naming every construct that didn't — see the module doc for
why a partial/empty descriptor is not an acceptable fallback here.
Parse selector text and translate it to a
QueryDescriptor-shaped{ types, filters }, or throw. Never returns a partial result: either every construct in the (single, non-unioned) group translates losslessly, or this throws naming every construct that didn't — see the module doc for why a partial/empty descriptor is not an acceptable fallback here.