private async suggestCqlField()

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,
    ]);
  }