[P in keyof T]: T[P] not accepting inferred base type via extends
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- typescript
- Ambito
- compilers
Direzione di ricerca
Inizia riproducendo l'esempio TypeScript 3.8.3 dell'issue e il relativo link a Playground, quindi leggi il thread dei commenti per conoscere il consenso attuale. Non sono indicati file sorgente né test; il lavoro è completo quando la chiamata generica a find che utilizza la proprietà IModel viene accettata in modo coerente oppure il comportamento previsto viene chiaramente stabilito.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
TypeScript Version: 3.8.3
Search Terms:
[P in keyof T]?: T[P]typescript generic extends in keyoftypescript generic extends T[P]typescript mongo collection generic
Code
interface IModel {
id: string;
}
type Query<T> = {
[P in keyof T]?: T[P]
}
export class Base<T extends IModel> {
public find(query: Query<T>): void {
// Forward the query to database
console.log(query);
}
public findOneById(id: string): void {
this.find({ id });
}
}
Expected behavior:
It's expected to allow to execute the find with the properties defined on IModel as base of any other model;
Actual behavior:
It shows an error:
Argument of type '{ id: string; }' is not assignable to parameter of type 'Query<T>'.ts(2345)
Playground Link:
Related Issues:
Didn't find any related issue
- Lingua principale
- Go
- Stelle
- 111k
- Fork
- 14.4k
- Merge medio
- 1g 19h
- PR unite (30g)
- 117
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di microsoft/TypeScript
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
microsoft/TypeScript#64322 · 2 commenti · 1 reazione · 2 assegnatari ·
-
Possible Improvement
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
microsoft/TypeScript#64278 · 1 commento · 1 reazione ·
-
Docs
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
microsoft/TypeScript#64118 · 1 commento ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
microsoft/TypeScript#64094 ·
-
Docs
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
microsoft/TypeScript#63959 · 5 commenti ·
Tutte le issue di microsoft/TypeScript
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
milvus-io/birdwatcher#545 ·
-
kind/bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
kubernetes-sigs/prow#953 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
caddyserver/caddy#8046 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
jaegertracing/jaeger#9588 ·