// ============= 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 的。