91. 对象属性深度可选

中等0

实现一个通用的工具类型 DeepMutable<T>,它使对象的每个属性,及其递归的子属性变为可变。

例如:

type X = {
  readonly a: () => 1
  readonly b: string
  readonly c: {
    readonly d: boolean
    readonly e: {
      readonly g: {
        readonly h: {
          readonly i: true
          readonly j: "s"
        }
        readonly k: "hello"
      }
    }
  }
}

type Expected = {
  a: () => 1
  b: string
  c: {
    d: boolean
    e: {
      g: {
        h: {
          i: true
          j: "s"
        }
        k: "hello"
      }
    }
  }
}

type Todo = DeepMutable<X> // excepted to b e Expected
评论(0)
题库

TypeScript

加载中...