We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent c8fd4b6 commit deb2fabCopy full SHA for deb2fab
packages/nuxt/src/runtime/payload-plugin.ts
@@ -1,3 +1,4 @@
1
+import { Timestamp, GeoPoint } from 'firebase/firestore'
2
import {
3
definePayloadPlugin,
4
definePayloadReducer,
@@ -15,5 +16,17 @@ export default definePayloadPlugin(() => {
15
16
typeof data.toJSON === 'function' &&
17
JSON.stringify(data.toJSON())
18
)
- definePayloadReviver('JSONifiable', (data: string) => JSON.parse(data))
19
+ definePayloadReviver('JSONifiable', (data: string) => {
20
+ const parsed = JSON.parse(data)
21
+
22
+ if ('seconds' in parsed && 'nanoseconds' in parsed) {
23
+ return new Timestamp(parsed.seconds, parsed.nanoseconds)
24
+ }
25
26
+ if ('latitude' in parsed && 'longitude' in parsed) {
27
+ return new GeoPoint(parsed.latitude, parsed.longitude)
28
29
30
+ return parsed
31
+ })
32
})
0 commit comments