firestore-parser

Parse the Firestore REST API endpoint JSON into a useable JS object

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
firestore-parser
7240.9.03 years ago5 years agoMinified + gzip package size for firestore-parser in KB

Readme

firestore-parser ยท Maintainability Test Coverage npm version npm license
Parse the Firestore REST API JSON into a useable JS object

Installation

// Install with NPM
npm install firestore-parser --save
// or Install with Yarn
yarn add firestore-parser

Examples

Live Example
// Node/AMD: 
// const FireStoreParser = require('firestore-parser');
// Node with TypeScript:
// import * as FireStoreParser from 'firestore-parser';
import FireStoreParser from 'firestore-parser'
const projectID = 'PROJECT_ID'
const key = 'API_KEY'
const doc = 'DOCUMENT'
const url = `https://firestore.googleapis.com/v1beta1/projects/${projectID}/databases/(default)/documents/${doc}?key=${key}`

fetch(url)
  .then(response => response.json())
  .then(json => FireStoreParser(json))
  .then(json => console.log(json));

Data Structure

The Firestore JSON returned in the REST API, uses value type as keys. This can be difficult to work with since you have to know the data type prior getting the value. The firestore-parser removes this barrier for you.

JSON response from Firestore

{
	"player": {
		"mapValue": {
			"fields": {
				"name": {
					"stringValue": "steve"
				},
				"health": {
					"integerValue": "100"
				},
				"alive": {
					"booleanValue": true
				}
			}
		}
	},
	"level": {
		"integerValue": "7"
	}
}

JSON parsed with firestore-parser

{
	"player": {
		"name": "steve",
		"health": 100,
		"alive": true
	},
	"level": 7
}