firesage
Version:
🔥 Extremely High Precision Typescript Wrapper for Firestore Web, Providing Unparalleled Type Safe and Dev Experience
43 lines (42 loc) • 1.65 kB
JavaScript
;
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;