How to pick properties from deep object? It seems T[key]['default'] is not allowed in Mapped type?
type MyModule = {
title: {
default: string
},
length: {
default: number
}
}
// expected type
type NewMyModule = {
dataModel: string; // type of 'default' prop
length: number; // type of 'default' prop
}
// error message: 'default' can't be used to index type 'T[key]'
type PickDefault<T> = {
[key in keyof T]: T[key]['default']
}