状态工具

一个简单的状态判断封装, 主要是写代码时总要把状态从===判断改成[state1,state2,...].includes(state), 而封装后,我只要把 is 方法改为 in 然后添加参数就行, 而且 in 方法预设的类型约束比现写数组的要好(可能要再写一遍约束)

enum Color {
RED,
BLUE,
GREEN,
}

const state = new StateTool(Color.RED);
state.is(Color.RED); // return true
state.in(Color.BLUE, Color.RED, Color.GREEN) // return true

state.value = Color.GREEN;
state.is(Color.GREEN); // return true
state.value // Color.GREEN

// 必须指定类型
const state2 = new StateTool<Color | null>(null);
state2.value // null
state2.value = Color.RED;

类型参数

  • T

构造函数

访问器

方法

构造函数

访问器

方法