I'd really appreciate it if you could help me figure out what this Typescript does:
type FilterKeysByValue<O extends object, NotAssignableTo> = {
	[K in keyof O]: O[K] extends NotAssignableTo ? never
		: K;
}[keyof O];
system
Eu realmente apreciaria se você pudesse me ajudar a descobrir o que este tipo de texto digital faz:
TIPO FILTERKEYSBYVALUE <O estende objeto, notassignableto> = {
[K em keyof o]: o [k] estende notassignableto?nunca
: K;
} [KeyOf O];
user
Esse tipo leva dois parâmetros de tipo, um objeto O e um tipo NotassignableTo e resolve as chaves em O cujos valores não são atribuíveis ao NotAssignableto.Faz isso criando um tipo mapeado a partir de O onde, para cada chave em O, o tipo correspondente nunca é se seu valor é atribuível ao Notassignableto, ou o próprio valor, se não for.O tipo então indexa o tipo mapeado com as teclas de O para produzir uma união de todos os valores do tipo mapeado, resultando em uma união de todos os valores que não são atribuíveis ao tipo notingtobleto.
assistant
<|system|>
</s>
<|user|>
Eu realmente apreciaria se você pudesse me ajudar a descobrir o que este tipo de texto digital faz:
TIPO FILTERKEYSBYVALUE <O estende objeto, notassignableto> = {
[K em keyof o]: o [k] estende notassignableto?nunca
: K;
} [KeyOf O];</s>
<|assistant|>
Esse tipo leva dois parâmetros de tipo, um objeto O e um tipo NotassignableTo e resolve as chaves em O cujos valores não são atribuíveis ao NotAssignableto.Faz isso criando um tipo mapeado a partir de O onde, para cada chave em O, o tipo correspondente nunca é se seu valor é atribuível ao Notassignableto, ou o próprio valor, se não for.O tipo então indexa o tipo mapeado com as teclas de O para produzir uma união de todos os valores do tipo mapeado, resultando em uma união de todos os valores que não são atribuíveis ao tipo notingtobleto.</s>
