/firebase-firestore-fields

Convert Firebase Cloud Firestore fields into a usable JavaScript format

Primary LanguageJavaScriptOtherNOASSERTION

firebase-firestore-fields

NPM version License Chat

Convert the Cloud Firestore REST field values into a usable format. Handles nested objects and arrays.

Usage

npm install --save firebase-firestore-fields
const convert = require('firebase-firestore-fields');

// typical response from a Cloud Firestore REST endpoint
const response = {
    name: "projects/testproject/databases/(default)/documents/config/2L3sczWg8vZhIZDVgLh5",
    fields: {
        title: {
            stringValue: "Super cool app!"
        },
        theme: {
            mapValue: {
                fields: {
                    backgroundColor: {
                        stringValue: "#000000"
                    }
                }
            }
        },
        appEnabled: {
            booleanValue: true,
        },
    },
    createTime: "2017-11-24T10:00:12.419673Z",
    updateTime: "2017-11-24T10:58:15.600296Z"
}

// convert the response fields into a usable format
const converted = convert(response.fields);

{
    title: "Super cool app!",
    theme: {
        backgroundColor: "#000000"
    },
    appEnabled: true,
}

Differences

integerValue

Returns a type Number (Cloud Firestore returns it as a string).

geoPointValue

Returns the latitude & longitude points as an array: [latitude, longitude].

License