UNPKG

firesage

Version:

🔥 Extremely High Precision Typescript Wrapper for Firestore Web, Providing Unparalleled Type Safe and Dev Experience

43 lines (42 loc) • 1.65 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.isFirestore = exports.flatten = void 0; // for update var flatten = function (object) { var obj = {}; var flat = function (object, key) { var _a; for (var prop in object) { var newKey = (key ? key + '.' : key) + prop; if (typeof object[prop] === 'object' && object[prop] !== null && // https://stackoverflow.com/questions/1173549/how-to-determine-if-an-object-is-an-object-literal-in-javascript Object.getPrototypeOf(object[prop]) === Object.prototype) { flat(object[prop], newKey); } else { obj = __assign(__assign({}, obj), (_a = {}, _a[newKey] = object[prop], _a)); } } }; flat(object, ''); return obj; }; exports.flatten = flatten; var isFirestore = function (value) { var v = value; var e = value; return ((v === null || v === void 0 ? void 0 : v.type) === 'firestore' || (v === null || v === void 0 ? void 0 : v.type) === 'firestore-lite' || !!(e === null || e === void 0 ? void 0 : e.useEmulator)); }; exports.isFirestore = isFirestore;