在Tyepscript区分的工会中省略整个类型

时间:2019-12-03 18:41:34

标签: typescript discriminated-union

歧视工会是打字稿中最方便的事情之一。但是,一旦定义它们就很难操作。我要弄清楚的是如何在联合中省略整个类型。请看以下示例:


export type A = {
  type: 'a',
  a: 'a'
}

export type B = {
  type: 'b',
  b: 'b'
}

export type C = A | B;

这一切都很好,但是使用模块是否有任何方法可以将C类型限制为A?

我想在使用模块中完成以下操作:


import { A, C, B } from 'type-defs.d'

type NewTypeA = SPECIAL_OMIT<C, B>

// A should be equivalent to NewTypeA

但是我不知道有什么方法可以做到这一点。请注意,我并没有要求从已区别类型中省略 properties 的方法。我想从工会中省略整个类型。

0 个答案:

没有答案