Readonly 2
提出詳細
type MyReadonly2<T, K extends keyof T = keyof T> = {readonly [P in K]: T[P]} & {[P in Exclude<keyof T, K>]: T[P]};
| 提出日時 | 2022-10-06 15:40:09 | 
|---|---|
| 問題 | Readonly 2 | 
| ユーザー | yotarotsukada | 
| ステータス | Accepted | 
import type { Alike, Expect } from '@type-challenges/utils' type cases = [ Expect<Alike<MyReadonly2<Todo1>, Readonly<Todo1>>>, Expect<Alike<MyReadonly2<Todo1, 'title' | 'description'>, Expected>>, Expect<Alike<MyReadonly2<Todo2, 'title' | 'description'>, Expected>>, ] interface Todo1 { title: string description?: string completed: boolean } interface Todo2 { readonly title: string description?: string completed: boolean } interface Expected { readonly title: string readonly description?: string completed: boolean }