/**
 * 查询条件显示项格式化工具
 */
import { getDisplayLabelFromOptions } from './common-query-display-utils';
/**
 * 格式化查询条件显示项
 * @param tokens - token 数组
 * @param schema - 字段配置 schema（可选，用于获取 format）
 */
export function conditionQueryDisplayUtils(tokens, schema) {
    const displayItems = [];
    tokens.forEach((token) => {
        var _a, _b, _c;
        if (token.queryType === 'NATURAL_LANGUAGE' && token.naturalLanguage) {
            // 自然语言：直接使用文本
            displayItems.push({
                type: 'NATURAL_LANGUAGE',
                text: token.naturalLanguage,
            });
        }
        else if (token.queryType === 'STRUCTURED' && token.displayName) {
            // 有 value 时用 getDisplayLabelFromOptions 格式化；无 value 时（如 ai_suggetsj 仅返回 naturalLanguage）用 naturalLanguage 作为展示值
            const displayValue = token.value !== undefined
                ? getDisplayLabelFromOptions(token.value, token.options, token.columnType, token.naturalLanguage, (_b = (_a = schema === null || schema === void 0 ? void 0 : schema[token.columnName]) === null || _a === void 0 ? void 0 : _a['x-component-props']) === null || _b === void 0 ? void 0 : _b.format)
                : ((_c = token.naturalLanguage) !== null && _c !== void 0 ? _c : '');
            displayItems.push({
                type: 'STRUCTURED',
                tag: {
                    displayName: token.displayName,
                    displayValue,
                },
            });
        }
    });
    return displayItems;
}
