같은 원리로 모든 속성을 readonly로 만들거나 readonly가 아니게 만들 수 있습니다. Readonly 타입입니다.
type MyReadonly<T> = {
readonly [P in keyof T]: T[P];
};
type Result = MyReadonly<{ a: string, b: number }>;
/*
type Result = {
readonly a: string;
readonly b: number;
}
*/
모든 속성을 readonly가 아니게 만들려면 -readonly를 대신 적으면 됩니다.