泛型:推断的函数参数类型

时间:2021-04-30 20:30:01

标签: typescript

我有一个函数,它接受带有一些状态定义的配置对象(这是一个状态机函数)。

示例:

createStateMachine({
  initial: 'inactive',
  states: {
    inactive: {
      transitions: { ACTIVATE: 'active' },
    },
    active: {
      transitions: { DEACTIVATE: 'inactive' },
      effect(send) {
        // an useless machine, will send back to inactive 
        send('DEACTIVATE') // should only accept "DEACTIVATE", but "ACTIVATE" | "DEACTIVATE" is also good enough.
      },
    },
  },
});

它还接受一个函数 effect,带有一个 send 回调,可用于触发状态更改。我希望 send 参数类型是从配置对象本身推断出的可能转换的联合。

这可以用 TypeScript 实现吗?

0 个答案:

没有答案