const valueList = [true, false, 'true', 'false', 1, 0, '1', '0', '启用', '停用', '是', '否']
class BooleanUtil {
  /**
   * 获取相反的bool值 输入'0'，输出'1'
   *
   * @param {*} val
   * @returns
   * @memberof BooleanUtil
   */
  getOppositeValue(val) {
    let index = valueList.indexOf(val)
    if (index === -1) throw new Error('找不到相反的值：' + val)
    if (index % 2 === 0) index++
    else index--
    return valueList[index]
  }
  /**
   * 检查一个值是否为真值
   *
   * @param {*} val
   * @returns
   * @memberof BooleanUtil
   */

  isTruthy(val) {
    const index = valueList.indexOf(val)
    if (index === -1) return !!val
    return index % 2 === 0
  }
}

export default new BooleanUtil()
