export class EnumManager {
  constructor(data) {
    this.data = data;
    this.valueMap = new Map(data.map(item => [item.value, item.name]));
    this.nameMap = new Map(data.map(item => [item.name, item.value]));
    this.colorMap=new Map(data.map(item=>[item.value,item.color]))
  }

  // 获取整个数组
  getAll() {
    return this.data.map(item=>({label:item.name,value:item.value}))
  }

  // 根据value获取name
  getName(value) {
    return this.valueMap.get(value) || '';
  }
  //根据value获取color
  getColor(value){
    return this.colorMap.get(value)||''
  }
  // 根据name获取value（可选）
  getValue(name) {
    return this.nameMap.get(name) || '';
  }

  // 获取所有value的数组
  getValues() {
    return Array.from(this.valueMap.keys());
  }

  // 获取所有name的数组
  getNames() {
    return Array.from(this.valueMap.values());
  }

}

