Typescript errors TS2345 on update method
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- node.js, typescript
- Área
- database
Línea de trabajo
Comienza reproduciendo el error TS2345 reportado con el ejemplo de interfaz tipada e inspecciona los puntos de entrada de update de DocumentSnapshot y DocumentReference. Compara los tipos de actualización aceptados con el ejemplo de MyInterface. Se considera terminado cuando los datos de una interfaz tipada se puedan pasar a update sin convertirlos a any y se haya verificado el comportamiento de tipos relevante.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
[READ] Step 1: Are you in the right place?
Yes
[REQUIRED] Step 2: Describe your environment
- Operating System version: Ubuntu 22.04
- Firebase SDK version: 11.11.0
- Firebase Product: firebase-admin
- Node.js version: 18
- NPM version: 9.7.2
[REQUIRED] Step 3: Describe the problem
DocumentSnapshot or DocumentReference update method can't be used with typed interfaces. I get the following typescript error
TS2345: Argument of type MyInterface is not assignable to parameter of type
{ [x: string]: any; } & AddPrefixToKeys<string, any>
Relevant Code:
Calls like this will get errors:
const data = snapshot.data() as MyInterface;
db.collection(`anypath`).doc(id).update(data)
Quick workaround would be to cast it as any
db.collection(`anypath`).doc(id).update(data as any)
But it would require to refactor every update call which can be painful for large projects.
- Lenguaje dominante
- TypeScript
- Estrellas
- 1.7k
- Forks
- 419
- Merge medio
- 4 d 20 h
- PR fusionados (30 d)
- 16
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de firebase/firebase-admin-node
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
firebase/firebase-admin-node#3234 ·
-
firebase/firebase-admin-node#3221 · 3 comentarios · 1 asignado ·
-
api: messaging
Dificultad 3/5 1-2 días Aptitud para principiantes 70/100
firebase/firebase-admin-node#3215 ·
-
api: messaging
Dificultad 5/5 Más de una semana Aptitud para principiantes 28/100
firebase/firebase-admin-node#3214 ·
-
api: firestore type: feature request
firebase/firebase-admin-node#3183 · 1 comentario · 1 asignado ·
Todos los issues de firebase/firebase-admin-node
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
mksglu/context-mode#1200 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
jaegertracing/jaeger-ui#4506 ·
-
area:desktop area:ui bug platform:macos
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
anthropics/claude-code#96687 ·
-
good first issue
Dificultad 1/5 Menos de una hora Aptitud para principiantes 95/100
AOSSIE-Org/DebateAI#582 · 2 comentarios ·