Skip to content

Commit e5131c8

Browse files
committed
Detect if snapshot value is an object before adding keyfield
1 parent 8974b1c commit e5131c8

File tree

3 files changed

+19
-5
lines changed

3 files changed

+19
-5
lines changed

database/helpers/index.ts

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,16 @@
11
import { database } from 'firebase';
2+
import * as isObject from 'isobject';
23

34
export const snapshotToData = (
45
snapshot: database.DataSnapshot,
56
keyField?: string
6-
) => ({
7-
...snapshot.val(),
8-
...(keyField ? { [keyField]: snapshot.key } : null),
9-
});
7+
) => {
8+
const val = snapshot.val();
9+
if (isObject(val)) {
10+
return {
11+
...val,
12+
...(keyField ? { [keyField]: snapshot.key } : null),
13+
};
14+
}
15+
return val;
16+
};

package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,9 @@
4343
},
4444
"main": "dist/index.cjs.js",
4545
"module": "dist/index.esm.js",
46-
"dependencies": {},
46+
"dependencies": {
47+
"isobject": "^3.0.1"
48+
},
4749
"devDependencies": {
4850
"@types/react": "^16.8.3",
4951
"firebase": "^5.5.6",

yarn.lock

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -573,6 +573,11 @@ isobject@^2.0.0:
573573
dependencies:
574574
isarray "1.0.0"
575575

576+
isobject@^3.0.1:
577+
version "3.0.1"
578+
resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
579+
integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8=
580+
576581
577582
version "2.2.1"
578583
resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9"

0 commit comments

Comments
 (0)