import { ListIitem } from "@/api/base/BaseDataModel"
import { isArrayLength } from "./is"

/**
 * 查找对应的list元素：[{ value: xxx, label: xxx }]
 * @param val value 值
 * @param list 查找的数组
 */
function deal_FindItemName(val: string | number, list: ListIitem[]) {
    if (!deal_checkNumberStringValue) return ''
    const findObj = list.find(item => item.value === val)
    return findObj?.label || ''
}

/**
 * 查找对应的list元素：[{ value: xxx, label: xxx }]
 * @param val value 值
 * @param list 查找的数组
 */
function deal_FindGetItemName<T extends ListIitem>(val: string | number | undefined, list: T[]) {
    if (!isArrayLength(list)) return ''
    const findObj = list.find(item => item.value === val)
    return findObj?.label || ''
}

/**
 * 判断数值或字符串不能为空且数值可以为0
 * @param value 
 * @returns 
 */
function deal_checkNumberStringValue(value: number | string) {
    if (value === null || value === undefined) {
        return false;
    }

    if (typeof value === 'number') {
        return true;
    }

    if (typeof value === 'string' && value.trim() !== '') {
        return true;
    }

    return false;
}

export {
    deal_FindItemName,
    deal_FindGetItemName,
    deal_checkNumberStringValue
}