Options
All
  • Public
  • Public/Protected
  • All
Menu

状态机 用于避免使用 if-else 的一种方式

typeparam

构造函数返回值的类型,一般为实现子类的基类,默认为 any

deprecated

该类将在下个大版本进行重构,使用函数而非类作为基本单元

Type parameters

  • K

    状态的类型,默认为 any

  • R

Hierarchy

  • StateMachine

Properties

Private classMap

classMap: Map<K, object> = new Map<K, Newable<R>>()

Methods

[Symbol.iterator]

  • [Symbol.iterator](): Generator<[K, object], void, unknown>

允许使用 for-of 遍历整个状态机

Returns Generator<[K, object], void, unknown>

getInstance

  • getInstance(state: K, ...args: any []): Nullable<R>

获取一个标签子类对象

Parameters

  • state: K

    状态索引

  • ...args: any [] Rest

    构造函数的参数

Returns Nullable<R>

子类对象

register

注册一个 class,创建子类时调用,用于记录每一个 [状态 => 子类] 对应 注: 此处不再默认使用单例模式,如果需要,请自行对 class 进行包装

Parameters

  • state: K

    作为键的状态

  • clazz: Newable<R>

    对应的子类型

Returns Newable<R>

返回 clazz 本身

Static getFactory

获取到一个状态工厂

Type parameters

  • K

Returns StateMachine<K, any>

  • Inherited
  • Protected
  • Private
  • Static
  • Module
  • Object
  • Property
  • Function
  • Variable
  • Index
  • Type
  • Class
  • Interface
  • Enum
  • Constructor
  • Getter/Setter
Made with ❤️ by pirix-gh. Documentation generated by TypeDoc.