// ============= Test Cases =============
import type { Equal, Expect } from './test-utils'

type cases = [
  Expect<Equal<MyReadonly<Todo1>, Readonly<Todo1>>>,
]

interface Todo1 {
  title: string
  description: string
  completed: boolean
  meta: {
    author: string
  }
}

// ============= Your Code Here =============
type MyReadonly<T> = {
  readonly [key in keyof T]: T[key]
}
// usage
type ReadonlyTest = Readonly<{ name: string, age: number }>

此处只是在key处加上关键字 readonly 即可

注意Readonly 不是deep readonly 的。