Это не совсем то, что вы хотите, но вы можете сделать:
interface Prop<U> {
x: U,
validate: (x: U) => U
}
function makeProp<U>(x: U, validate: (x: U) => U): Prop<U> {
return { x, validate }
}
const state = {
asString: makeProp('', value => value + ' is string'),
asBoolean: makeProp(true, value => !value)
}
// Here, 'state' is of type: { asString: Prop<string>, asBoolean: Prop<boolean> }
Интересный, но трудно сказать. Необходимо было бы определить некоторые параметры:
Эти 8088 имеют 29k транзистор, но я сомневаюсь, что это было бы тем, что Вы ищете.