Support the ability to resume `onSnapshot` listeners in the CSR phase based on serialized `DataSnapshot`s and `QuerySnapshot`s built in the SSR phase. Allow Firestore result types to be serialized with `toJSON` and then deserialized with `fromJSON` methods on the objects.
`DocumentSnapshot` and `QuerySnapshot` deserialization methods will be standalone, tree-shakable functions `dataSnapshotFromJSON` and `querySnapshotFromJSON`.
* types(firestore): make `withConverter` retro compatible
* style: format
* changeset added
* reference.ts: add default DocumentData parameter type for NewDbModelType to the other withConverter() functions
* add tests
* database.test.ts: move an inline comment to be above the appropriate line
* yarn docgen devsite
---------
Co-authored-by: Denver Coneybeare <[email protected]>