version bumped to 22.12, dependencies updated
This commit is contained in:
+24
-322
@@ -899,6 +899,7 @@ function isNodeSdk() {
|
||||
/** Returns true if we are running in Safari. */
|
||||
function isSafari() {
|
||||
return (!isNode() &&
|
||||
!!navigator.userAgent &&
|
||||
navigator.userAgent.includes('Safari') &&
|
||||
!navigator.userAgent.includes('Chrome'));
|
||||
}
|
||||
@@ -3621,7 +3622,7 @@ __webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||||
/* harmony export */ PACKAGE_VERSION: () => (/* binding */ PACKAGE_VERSION)
|
||||
/* harmony export */ });
|
||||
const PACKAGE_VERSION = "0.22.11";
|
||||
const PACKAGE_VERSION = "0.22.12";
|
||||
|
||||
/***/ }),
|
||||
|
||||
@@ -16730,7 +16731,7 @@ function isVersionServiceProvider(provider) {
|
||||
}
|
||||
|
||||
const name$o = "@firebase/app";
|
||||
const version$1 = "0.9.25";
|
||||
const version$1 = "0.9.27";
|
||||
|
||||
/**
|
||||
* @license
|
||||
@@ -16797,7 +16798,7 @@ const name$2 = "@firebase/firestore";
|
||||
const name$1 = "@firebase/firestore-compat";
|
||||
|
||||
const name = "firebase";
|
||||
const version = "10.7.1";
|
||||
const version = "10.8.0";
|
||||
|
||||
/**
|
||||
* @license
|
||||
@@ -17279,7 +17280,15 @@ function getDbPromise() {
|
||||
// eslint-disable-next-line default-case
|
||||
switch (oldVersion) {
|
||||
case 0:
|
||||
db.createObjectStore(STORE_NAME);
|
||||
try {
|
||||
db.createObjectStore(STORE_NAME);
|
||||
}
|
||||
catch (e) {
|
||||
// Safari/iOS browsers throw occasional exceptions on
|
||||
// db.createObjectStore() that may be a bug. Avoid blocking
|
||||
// the rest of the app functionality.
|
||||
console.warn(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}).catch(e => {
|
||||
@@ -17293,10 +17302,11 @@ function getDbPromise() {
|
||||
async function readHeartbeatsFromIndexedDB(app) {
|
||||
try {
|
||||
const db = await getDbPromise();
|
||||
const result = await db
|
||||
.transaction(STORE_NAME)
|
||||
.objectStore(STORE_NAME)
|
||||
.get(computeKey(app));
|
||||
const tx = db.transaction(STORE_NAME);
|
||||
const result = await tx.objectStore(STORE_NAME).get(computeKey(app));
|
||||
// We already have the value but tx.done can throw,
|
||||
// so we need to await it here to catch errors
|
||||
await tx.done;
|
||||
return result;
|
||||
}
|
||||
catch (e) {
|
||||
@@ -18062,14 +18072,14 @@ __webpack_require__.r(__webpack_exports__);
|
||||
/* harmony import */ var _firebase_app__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @firebase/app */ "./node_modules/@firebase/app/dist/esm/index.esm2017.js");
|
||||
/* harmony import */ var _firebase_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @firebase/component */ "./node_modules/@firebase/component/dist/esm/index.esm2017.js");
|
||||
/* harmony import */ var _firebase_util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @firebase/util */ "./node_modules/@firebase/util/dist/index.esm2017.js");
|
||||
/* harmony import */ var idb__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! idb */ "./node_modules/@firebase/installations/node_modules/idb/build/index.js");
|
||||
/* harmony import */ var idb__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! idb */ "./node_modules/idb/build/index.js");
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
const name = "@firebase/installations";
|
||||
const version = "0.6.4";
|
||||
const version = "0.6.5";
|
||||
|
||||
/**
|
||||
* @license
|
||||
@@ -19206,7 +19216,8 @@ function registerInstallations() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Firebase Installations
|
||||
* The Firebase Installations Web SDK.
|
||||
* This SDK does not work in a Node.js environment.
|
||||
*
|
||||
* @packageDocumentation
|
||||
*/
|
||||
@@ -19219,315 +19230,6 @@ registerInstallations();
|
||||
//# sourceMappingURL=index.esm2017.js.map
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./node_modules/@firebase/installations/node_modules/idb/build/index.js":
|
||||
/*!******************************************************************************!*\
|
||||
!*** ./node_modules/@firebase/installations/node_modules/idb/build/index.js ***!
|
||||
\******************************************************************************/
|
||||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||||
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||||
/* harmony export */ deleteDB: () => (/* binding */ deleteDB),
|
||||
/* harmony export */ openDB: () => (/* binding */ openDB),
|
||||
/* harmony export */ unwrap: () => (/* reexport safe */ _wrap_idb_value_js__WEBPACK_IMPORTED_MODULE_0__.u),
|
||||
/* harmony export */ wrap: () => (/* reexport safe */ _wrap_idb_value_js__WEBPACK_IMPORTED_MODULE_0__.w)
|
||||
/* harmony export */ });
|
||||
/* harmony import */ var _wrap_idb_value_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./wrap-idb-value.js */ "./node_modules/@firebase/installations/node_modules/idb/build/wrap-idb-value.js");
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Open a database.
|
||||
*
|
||||
* @param name Name of the database.
|
||||
* @param version Schema version.
|
||||
* @param callbacks Additional callbacks.
|
||||
*/
|
||||
function openDB(name, version, { blocked, upgrade, blocking, terminated } = {}) {
|
||||
const request = indexedDB.open(name, version);
|
||||
const openPromise = (0,_wrap_idb_value_js__WEBPACK_IMPORTED_MODULE_0__.w)(request);
|
||||
if (upgrade) {
|
||||
request.addEventListener('upgradeneeded', (event) => {
|
||||
upgrade((0,_wrap_idb_value_js__WEBPACK_IMPORTED_MODULE_0__.w)(request.result), event.oldVersion, event.newVersion, (0,_wrap_idb_value_js__WEBPACK_IMPORTED_MODULE_0__.w)(request.transaction));
|
||||
});
|
||||
}
|
||||
if (blocked)
|
||||
request.addEventListener('blocked', () => blocked());
|
||||
openPromise
|
||||
.then((db) => {
|
||||
if (terminated)
|
||||
db.addEventListener('close', () => terminated());
|
||||
if (blocking)
|
||||
db.addEventListener('versionchange', () => blocking());
|
||||
})
|
||||
.catch(() => { });
|
||||
return openPromise;
|
||||
}
|
||||
/**
|
||||
* Delete a database.
|
||||
*
|
||||
* @param name Name of the database.
|
||||
*/
|
||||
function deleteDB(name, { blocked } = {}) {
|
||||
const request = indexedDB.deleteDatabase(name);
|
||||
if (blocked)
|
||||
request.addEventListener('blocked', () => blocked());
|
||||
return (0,_wrap_idb_value_js__WEBPACK_IMPORTED_MODULE_0__.w)(request).then(() => undefined);
|
||||
}
|
||||
|
||||
const readMethods = ['get', 'getKey', 'getAll', 'getAllKeys', 'count'];
|
||||
const writeMethods = ['put', 'add', 'delete', 'clear'];
|
||||
const cachedMethods = new Map();
|
||||
function getMethod(target, prop) {
|
||||
if (!(target instanceof IDBDatabase &&
|
||||
!(prop in target) &&
|
||||
typeof prop === 'string')) {
|
||||
return;
|
||||
}
|
||||
if (cachedMethods.get(prop))
|
||||
return cachedMethods.get(prop);
|
||||
const targetFuncName = prop.replace(/FromIndex$/, '');
|
||||
const useIndex = prop !== targetFuncName;
|
||||
const isWrite = writeMethods.includes(targetFuncName);
|
||||
if (
|
||||
// Bail if the target doesn't exist on the target. Eg, getAll isn't in Edge.
|
||||
!(targetFuncName in (useIndex ? IDBIndex : IDBObjectStore).prototype) ||
|
||||
!(isWrite || readMethods.includes(targetFuncName))) {
|
||||
return;
|
||||
}
|
||||
const method = async function (storeName, ...args) {
|
||||
// isWrite ? 'readwrite' : undefined gzipps better, but fails in Edge :(
|
||||
const tx = this.transaction(storeName, isWrite ? 'readwrite' : 'readonly');
|
||||
let target = tx.store;
|
||||
if (useIndex)
|
||||
target = target.index(args.shift());
|
||||
// Must reject if op rejects.
|
||||
// If it's a write operation, must reject if tx.done rejects.
|
||||
// Must reject with op rejection first.
|
||||
// Must resolve with op value.
|
||||
// Must handle both promises (no unhandled rejections)
|
||||
return (await Promise.all([
|
||||
target[targetFuncName](...args),
|
||||
isWrite && tx.done,
|
||||
]))[0];
|
||||
};
|
||||
cachedMethods.set(prop, method);
|
||||
return method;
|
||||
}
|
||||
(0,_wrap_idb_value_js__WEBPACK_IMPORTED_MODULE_0__.r)((oldTraps) => ({
|
||||
...oldTraps,
|
||||
get: (target, prop, receiver) => getMethod(target, prop) || oldTraps.get(target, prop, receiver),
|
||||
has: (target, prop) => !!getMethod(target, prop) || oldTraps.has(target, prop),
|
||||
}));
|
||||
|
||||
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./node_modules/@firebase/installations/node_modules/idb/build/wrap-idb-value.js":
|
||||
/*!***************************************************************************************!*\
|
||||
!*** ./node_modules/@firebase/installations/node_modules/idb/build/wrap-idb-value.js ***!
|
||||
\***************************************************************************************/
|
||||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||||
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||||
/* harmony export */ a: () => (/* binding */ reverseTransformCache),
|
||||
/* harmony export */ i: () => (/* binding */ instanceOfAny),
|
||||
/* harmony export */ r: () => (/* binding */ replaceTraps),
|
||||
/* harmony export */ u: () => (/* binding */ unwrap),
|
||||
/* harmony export */ w: () => (/* binding */ wrap)
|
||||
/* harmony export */ });
|
||||
const instanceOfAny = (object, constructors) => constructors.some((c) => object instanceof c);
|
||||
|
||||
let idbProxyableTypes;
|
||||
let cursorAdvanceMethods;
|
||||
// This is a function to prevent it throwing up in node environments.
|
||||
function getIdbProxyableTypes() {
|
||||
return (idbProxyableTypes ||
|
||||
(idbProxyableTypes = [
|
||||
IDBDatabase,
|
||||
IDBObjectStore,
|
||||
IDBIndex,
|
||||
IDBCursor,
|
||||
IDBTransaction,
|
||||
]));
|
||||
}
|
||||
// This is a function to prevent it throwing up in node environments.
|
||||
function getCursorAdvanceMethods() {
|
||||
return (cursorAdvanceMethods ||
|
||||
(cursorAdvanceMethods = [
|
||||
IDBCursor.prototype.advance,
|
||||
IDBCursor.prototype.continue,
|
||||
IDBCursor.prototype.continuePrimaryKey,
|
||||
]));
|
||||
}
|
||||
const cursorRequestMap = new WeakMap();
|
||||
const transactionDoneMap = new WeakMap();
|
||||
const transactionStoreNamesMap = new WeakMap();
|
||||
const transformCache = new WeakMap();
|
||||
const reverseTransformCache = new WeakMap();
|
||||
function promisifyRequest(request) {
|
||||
const promise = new Promise((resolve, reject) => {
|
||||
const unlisten = () => {
|
||||
request.removeEventListener('success', success);
|
||||
request.removeEventListener('error', error);
|
||||
};
|
||||
const success = () => {
|
||||
resolve(wrap(request.result));
|
||||
unlisten();
|
||||
};
|
||||
const error = () => {
|
||||
reject(request.error);
|
||||
unlisten();
|
||||
};
|
||||
request.addEventListener('success', success);
|
||||
request.addEventListener('error', error);
|
||||
});
|
||||
promise
|
||||
.then((value) => {
|
||||
// Since cursoring reuses the IDBRequest (*sigh*), we cache it for later retrieval
|
||||
// (see wrapFunction).
|
||||
if (value instanceof IDBCursor) {
|
||||
cursorRequestMap.set(value, request);
|
||||
}
|
||||
// Catching to avoid "Uncaught Promise exceptions"
|
||||
})
|
||||
.catch(() => { });
|
||||
// This mapping exists in reverseTransformCache but doesn't doesn't exist in transformCache. This
|
||||
// is because we create many promises from a single IDBRequest.
|
||||
reverseTransformCache.set(promise, request);
|
||||
return promise;
|
||||
}
|
||||
function cacheDonePromiseForTransaction(tx) {
|
||||
// Early bail if we've already created a done promise for this transaction.
|
||||
if (transactionDoneMap.has(tx))
|
||||
return;
|
||||
const done = new Promise((resolve, reject) => {
|
||||
const unlisten = () => {
|
||||
tx.removeEventListener('complete', complete);
|
||||
tx.removeEventListener('error', error);
|
||||
tx.removeEventListener('abort', error);
|
||||
};
|
||||
const complete = () => {
|
||||
resolve();
|
||||
unlisten();
|
||||
};
|
||||
const error = () => {
|
||||
reject(tx.error || new DOMException('AbortError', 'AbortError'));
|
||||
unlisten();
|
||||
};
|
||||
tx.addEventListener('complete', complete);
|
||||
tx.addEventListener('error', error);
|
||||
tx.addEventListener('abort', error);
|
||||
});
|
||||
// Cache it for later retrieval.
|
||||
transactionDoneMap.set(tx, done);
|
||||
}
|
||||
let idbProxyTraps = {
|
||||
get(target, prop, receiver) {
|
||||
if (target instanceof IDBTransaction) {
|
||||
// Special handling for transaction.done.
|
||||
if (prop === 'done')
|
||||
return transactionDoneMap.get(target);
|
||||
// Polyfill for objectStoreNames because of Edge.
|
||||
if (prop === 'objectStoreNames') {
|
||||
return target.objectStoreNames || transactionStoreNamesMap.get(target);
|
||||
}
|
||||
// Make tx.store return the only store in the transaction, or undefined if there are many.
|
||||
if (prop === 'store') {
|
||||
return receiver.objectStoreNames[1]
|
||||
? undefined
|
||||
: receiver.objectStore(receiver.objectStoreNames[0]);
|
||||
}
|
||||
}
|
||||
// Else transform whatever we get back.
|
||||
return wrap(target[prop]);
|
||||
},
|
||||
set(target, prop, value) {
|
||||
target[prop] = value;
|
||||
return true;
|
||||
},
|
||||
has(target, prop) {
|
||||
if (target instanceof IDBTransaction &&
|
||||
(prop === 'done' || prop === 'store')) {
|
||||
return true;
|
||||
}
|
||||
return prop in target;
|
||||
},
|
||||
};
|
||||
function replaceTraps(callback) {
|
||||
idbProxyTraps = callback(idbProxyTraps);
|
||||
}
|
||||
function wrapFunction(func) {
|
||||
// Due to expected object equality (which is enforced by the caching in `wrap`), we
|
||||
// only create one new func per func.
|
||||
// Edge doesn't support objectStoreNames (booo), so we polyfill it here.
|
||||
if (func === IDBDatabase.prototype.transaction &&
|
||||
!('objectStoreNames' in IDBTransaction.prototype)) {
|
||||
return function (storeNames, ...args) {
|
||||
const tx = func.call(unwrap(this), storeNames, ...args);
|
||||
transactionStoreNamesMap.set(tx, storeNames.sort ? storeNames.sort() : [storeNames]);
|
||||
return wrap(tx);
|
||||
};
|
||||
}
|
||||
// Cursor methods are special, as the behaviour is a little more different to standard IDB. In
|
||||
// IDB, you advance the cursor and wait for a new 'success' on the IDBRequest that gave you the
|
||||
// cursor. It's kinda like a promise that can resolve with many values. That doesn't make sense
|
||||
// with real promises, so each advance methods returns a new promise for the cursor object, or
|
||||
// undefined if the end of the cursor has been reached.
|
||||
if (getCursorAdvanceMethods().includes(func)) {
|
||||
return function (...args) {
|
||||
// Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use
|
||||
// the original object.
|
||||
func.apply(unwrap(this), args);
|
||||
return wrap(cursorRequestMap.get(this));
|
||||
};
|
||||
}
|
||||
return function (...args) {
|
||||
// Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use
|
||||
// the original object.
|
||||
return wrap(func.apply(unwrap(this), args));
|
||||
};
|
||||
}
|
||||
function transformCachableValue(value) {
|
||||
if (typeof value === 'function')
|
||||
return wrapFunction(value);
|
||||
// This doesn't return, it just creates a 'done' promise for the transaction,
|
||||
// which is later returned for transaction.done (see idbObjectHandler).
|
||||
if (value instanceof IDBTransaction)
|
||||
cacheDonePromiseForTransaction(value);
|
||||
if (instanceOfAny(value, getIdbProxyableTypes()))
|
||||
return new Proxy(value, idbProxyTraps);
|
||||
// Return the same value back if we're not going to transform it.
|
||||
return value;
|
||||
}
|
||||
function wrap(value) {
|
||||
// We sometimes generate multiple promises from a single IDBRequest (eg when cursoring), because
|
||||
// IDB is weird and a single IDBRequest can yield many responses, so these can't be cached.
|
||||
if (value instanceof IDBRequest)
|
||||
return promisifyRequest(value);
|
||||
// If we've already transformed this value before, reuse the transformed value.
|
||||
// This is faster, but it also provides object equality.
|
||||
if (transformCache.has(value))
|
||||
return transformCache.get(value);
|
||||
const newValue = transformCachableValue(value);
|
||||
// Not all types are transformed.
|
||||
// These may be primitive types, so they can't be WeakMap keys.
|
||||
if (newValue !== value) {
|
||||
transformCache.set(value, newValue);
|
||||
reverseTransformCache.set(newValue, value);
|
||||
}
|
||||
return newValue;
|
||||
}
|
||||
const unwrap = (value) => reverseTransformCache.get(value);
|
||||
|
||||
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./node_modules/@firebase/logger/dist/esm/index.esm2017.js":
|
||||
@@ -20783,7 +20485,7 @@ async function messageEventListener(messaging, event) {
|
||||
}
|
||||
|
||||
const name = "@firebase/messaging";
|
||||
const version = "0.12.5";
|
||||
const version = "0.12.6";
|
||||
|
||||
/**
|
||||
* @license
|
||||
@@ -21056,7 +20758,7 @@ __webpack_require__.r(__webpack_exports__);
|
||||
|
||||
|
||||
var name = "firebase";
|
||||
var version = "10.7.1";
|
||||
var version = "10.8.0";
|
||||
|
||||
/**
|
||||
* @license
|
||||
|
||||
Reference in New Issue
Block a user