firebase / firebase/firebase-admin-node

Typescript errors TS2345 on update method

Open
#2,372 1 comment 1 reaction 0 assignees View on GitHub
needs-triage
Dominant language
TypeScript
Stars
1.7k
Forks
419
Avg merge
3d 10h
Merged PRs (30d)
16

Description

### [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
```

#### Relevant Code:

Calls like this will get errors:

```typescript
const data = snapshot.data() as MyInterface;
db.collection(`anypath`).doc(id).update(data)

```

Quick workaround would be to cast it as any

```typescript
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.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.