in client/src/lang/typeahead.ts [99:131]
private async suggestCqlField(
q: CqlField,
signal?: AbortSignal
): Promise<TypeaheadSuggestion[]> {
const { key, value } = q;
if (!value) {
return this.getSuggestionsForKeyToken(key);
}
const keySuggestions = this.getSuggestionsForKeyToken(key);
const maybeValueSuggestions = this.suggestFieldValue(
key.literal ?? "",
value.literal ?? "",
signal
);
if (!maybeValueSuggestions) {
return Promise.resolve(keySuggestions);
}
return maybeValueSuggestions.suggestions.then((suggestions) => [
...keySuggestions,
{
from: value.start,
to: value.end,
position: "chipValue",
suggestions,
type: maybeValueSuggestions.type,
suffix: " ",
} as TypeaheadSuggestion,
]);
}