@isardsat/editorial-admin 6.5.0 → 6.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/client/assets/FilePicker-CWQ8ELBw.js +1 -0
- package/build/client/assets/Loading-BiO3HJmZ.js +11 -0
- package/build/client/assets/URLInput-CFnU0U1n.js +1 -0
- package/build/client/assets/{authSlice-DXFkOZ5W.js → authSlice-O1tz7SK1.js} +167 -167
- package/build/client/assets/{button-DYtHJlPL.js → button-494fplqA.js} +1 -1
- package/build/client/assets/{calendar-6ih_JEvR.js → calendar-DVBBYeOW.js} +1 -1
- package/build/client/assets/chevron-down-CtNmiOMb.js +6 -0
- package/build/client/assets/chevron-right-haBQNeuE.js +6 -0
- package/build/client/assets/{chunk-EF7DTUVF-MlADC7xe.js → chunk-EF7DTUVF-CaKisB5m.js} +1 -1
- package/build/client/assets/{createLucideIcon-BJQzFwzJ.js → createLucideIcon-BweVylaW.js} +1 -1
- package/build/client/assets/dashboard-DqU-WlEe.js +1 -0
- package/build/client/assets/dashboard._collection-LAkj-iO9.js +26 -0
- package/build/client/assets/dashboard._collection._document-Cqsuu-0-.js +1 -0
- package/build/client/assets/dashboard._collection.new-SI3Dkpds.js +1 -0
- package/build/client/assets/dashboard._layout-BUGw8Wsg.js +46 -0
- package/build/client/assets/dashboard.files-YptTPTFT.js +1 -0
- package/build/client/assets/date-picker-D7MFHjcF.js +1 -0
- package/build/client/assets/datetime-picker-DzApRNz_.js +1 -0
- package/build/client/assets/{entry.client-BI4QA1ti.js → entry.client-Be049MAC.js} +1 -1
- package/build/client/assets/{external-link-D1If5twJ.js → external-link-LWykkN17.js} +1 -1
- package/build/client/assets/files-DrzVVLDE.js +26 -0
- package/build/client/assets/home-BtNh5JTT.js +1 -0
- package/build/client/assets/hooks-BA9LC00C.js +1 -0
- package/build/client/assets/{index-xBXWoUIa.js → index-BJ-ODQ_I.js} +1 -1
- package/build/client/assets/index-BNiwB2Xo.js +1 -0
- package/build/client/assets/index-Blx_6p83.js +1 -0
- package/build/client/assets/index-CQ2mjYJl.js +1 -0
- package/build/client/assets/index-CqaffZUS.js +1 -0
- package/build/client/assets/{index-BCGL68Qt.js → index-DgN6jnv0.js} +1 -1
- package/build/client/assets/index-N8jzdZDg.js +45 -0
- package/build/client/assets/{index-Dycitln2.js → index-gfXi4hAm.js} +1 -1
- package/build/client/assets/itemForm-BcDnRX3X.js +13 -0
- package/build/client/assets/manifest-384b5d21.js +1 -0
- package/build/client/assets/{itemForm-ya4bvPWM.css → markdownEditor-D2iPtBtk.css} +1 -1
- package/build/client/assets/markdownEditor-DQtQQZeo.js +128 -0
- package/build/client/assets/popover-DDQEIzon.js +6 -0
- package/build/client/assets/root-BctYpWwq.css +1 -0
- package/build/client/assets/root-DtBI39a7.js +1 -0
- package/build/client/assets/{trash-CN5HT_ZJ.js → trash-BPu8wmdf.js} +1 -1
- package/build/client/assets/tslib.es6-De9GV7Vy.js +1 -0
- package/build/client/assets/types-qmeOZPBc.js +6 -0
- package/build/client/assets/upload-C84AIRF5.js +6 -0
- package/build/client/assets/{utils-BdGM_Id-.js → utils-5cV-49hI.js} +2 -2
- package/build/client/assets/x-BI8YVnoZ.js +6 -0
- package/build/client/index.html +3 -3
- package/package.json +2 -2
- package/build/client/assets/dashboard-eLqz7BO7.js +0 -1
- package/build/client/assets/dashboard._collection-BBg-A9Sj.js +0 -26
- package/build/client/assets/dashboard._collection._document-B0ZbqsBo.js +0 -1
- package/build/client/assets/dashboard._collection.new-mErjJpgV.js +0 -1
- package/build/client/assets/dashboard._layout-124HIuKq.js +0 -46
- package/build/client/assets/dashboard.files-BgTiS3Ze.js +0 -1
- package/build/client/assets/files-rJZM0-f6.js +0 -26
- package/build/client/assets/home-l-obs5PE.js +0 -1
- package/build/client/assets/index-BhhxCYB_.js +0 -1
- package/build/client/assets/index-Cl368BLL.js +0 -55
- package/build/client/assets/itemForm-D7gNDu4Q.js +0 -106
- package/build/client/assets/manifest-e71b8e01.js +0 -1
- package/build/client/assets/root-DVVVBPEK.css +0 -1
- package/build/client/assets/root-vSnuIdRx.js +0 -1
- package/build/client/assets/spinner-C3uu_C2V.js +0 -11
- package/build/client/assets/types-BFhFSnS8.js +0 -6
- package/build/client/assets/upload-CopmcV94.js +0 -11
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{a as mi}from"./tslib.es6-De9GV7Vy.js";import{e as Ba,z as Ha}from"./utils-5cV-49hI.js";import{c as Cr}from"./hooks-BA9LC00C.js";/**
|
|
2
2
|
* @license
|
|
3
3
|
* Copyright 2025 Google LLC
|
|
4
4
|
*
|
|
@@ -13,7 +13,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
13
13
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
|
-
*/const
|
|
16
|
+
*/const Va=()=>{};var us={};/**
|
|
17
17
|
* @license
|
|
18
18
|
* Copyright 2017 Google LLC
|
|
19
19
|
*
|
|
@@ -28,7 +28,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
28
28
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
29
29
|
* See the License for the specific language governing permissions and
|
|
30
30
|
* limitations under the License.
|
|
31
|
-
*/const
|
|
31
|
+
*/const wr={NODE_ADMIN:!1,SDK_VERSION:"${JSCORE_VERSION}"};/**
|
|
32
32
|
* @license
|
|
33
33
|
* Copyright 2017 Google LLC
|
|
34
34
|
*
|
|
@@ -43,7 +43,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
43
43
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
44
44
|
* See the License for the specific language governing permissions and
|
|
45
45
|
* limitations under the License.
|
|
46
|
-
*/const f=function(n,e){if(!n)throw Ze(e)},Ze=function(n){return new Error("Firebase Database ("+
|
|
46
|
+
*/const f=function(n,e){if(!n)throw Ze(e)},Ze=function(n){return new Error("Firebase Database ("+wr.SDK_VERSION+") INTERNAL ASSERT FAILED: "+n)};/**
|
|
47
47
|
* @license
|
|
48
48
|
* Copyright 2017 Google LLC
|
|
49
49
|
*
|
|
@@ -58,7 +58,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
58
58
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
59
59
|
* See the License for the specific language governing permissions and
|
|
60
60
|
* limitations under the License.
|
|
61
|
-
*/const
|
|
61
|
+
*/const Tr=function(n){const e=[];let t=0;for(let i=0;i<n.length;i++){let s=n.charCodeAt(i);s<128?e[t++]=s:s<2048?(e[t++]=s>>6|192,e[t++]=s&63|128):(s&64512)===55296&&i+1<n.length&&(n.charCodeAt(i+1)&64512)===56320?(s=65536+((s&1023)<<10)+(n.charCodeAt(++i)&1023),e[t++]=s>>18|240,e[t++]=s>>12&63|128,e[t++]=s>>6&63|128,e[t++]=s&63|128):(e[t++]=s>>12|224,e[t++]=s>>6&63|128,e[t++]=s&63|128)}return e},$a=function(n){const e=[];let t=0,i=0;for(;t<n.length;){const s=n[t++];if(s<128)e[i++]=String.fromCharCode(s);else if(s>191&&s<224){const r=n[t++];e[i++]=String.fromCharCode((s&31)<<6|r&63)}else if(s>239&&s<365){const r=n[t++],o=n[t++],a=n[t++],l=((s&7)<<18|(r&63)<<12|(o&63)<<6|a&63)-65536;e[i++]=String.fromCharCode(55296+(l>>10)),e[i++]=String.fromCharCode(56320+(l&1023))}else{const r=n[t++],o=n[t++];e[i++]=String.fromCharCode((s&15)<<12|(r&63)<<6|o&63)}}return e.join("")},vi={byteToCharMap_:null,charToByteMap_:null,byteToCharMapWebSafe_:null,charToByteMapWebSafe_:null,ENCODED_VALS_BASE:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",get ENCODED_VALS(){return this.ENCODED_VALS_BASE+"+/="},get ENCODED_VALS_WEBSAFE(){return this.ENCODED_VALS_BASE+"-_."},HAS_NATIVE_SUPPORT:typeof atob=="function",encodeByteArray(n,e){if(!Array.isArray(n))throw Error("encodeByteArray takes an array as a parameter");this.init_();const t=e?this.byteToCharMapWebSafe_:this.byteToCharMap_,i=[];for(let s=0;s<n.length;s+=3){const r=n[s],o=s+1<n.length,a=o?n[s+1]:0,l=s+2<n.length,c=l?n[s+2]:0,h=r>>2,u=(r&3)<<4|a>>4;let d=(a&15)<<2|c>>6,p=c&63;l||(p=64,o||(d=64)),i.push(t[h],t[u],t[d],t[p])}return i.join("")},encodeString(n,e){return this.HAS_NATIVE_SUPPORT&&!e?btoa(n):this.encodeByteArray(Tr(n),e)},decodeString(n,e){return this.HAS_NATIVE_SUPPORT&&!e?atob(n):$a(this.decodeStringToByteArray(n,e))},decodeStringToByteArray(n,e){this.init_();const t=e?this.charToByteMapWebSafe_:this.charToByteMap_,i=[];for(let s=0;s<n.length;){const r=t[n.charAt(s++)],a=s<n.length?t[n.charAt(s)]:0;++s;const c=s<n.length?t[n.charAt(s)]:64;++s;const u=s<n.length?t[n.charAt(s)]:64;if(++s,r==null||a==null||c==null||u==null)throw new Ga;const d=r<<2|a>>4;if(i.push(d),c!==64){const p=a<<4&240|c>>2;if(i.push(p),u!==64){const _=c<<6&192|u;i.push(_)}}}return i},init_(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(let n=0;n<this.ENCODED_VALS.length;n++)this.byteToCharMap_[n]=this.ENCODED_VALS.charAt(n),this.charToByteMap_[this.byteToCharMap_[n]]=n,this.byteToCharMapWebSafe_[n]=this.ENCODED_VALS_WEBSAFE.charAt(n),this.charToByteMapWebSafe_[this.byteToCharMapWebSafe_[n]]=n,n>=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(n)]=n,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(n)]=n)}}};class Ga extends Error{constructor(){super(...arguments),this.name="DecodeBase64StringError"}}const Sr=function(n){const e=Tr(n);return vi.encodeByteArray(e,!0)},Xt=function(n){return Sr(n).replace(/\./g,"")},Zt=function(n){try{return vi.decodeString(n,!0)}catch(e){console.error("base64Decode failed: ",e)}return null};/**
|
|
62
62
|
* @license
|
|
63
63
|
* Copyright 2017 Google LLC
|
|
64
64
|
*
|
|
@@ -73,7 +73,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
73
73
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
74
74
|
* See the License for the specific language governing permissions and
|
|
75
75
|
* limitations under the License.
|
|
76
|
-
*/function
|
|
76
|
+
*/function ja(n){return br(void 0,n)}function br(n,e){if(!(e instanceof Object))return e;switch(e.constructor){case Date:const t=e;return new Date(t.getTime());case Object:n===void 0&&(n={});break;case Array:n=[];break;default:return e}for(const t in e)!e.hasOwnProperty(t)||!za(t)||(n[t]=br(n[t],e[t]));return n}function za(n){return n!=="__proto__"}/**
|
|
77
77
|
* @license
|
|
78
78
|
* Copyright 2022 Google LLC
|
|
79
79
|
*
|
|
@@ -88,7 +88,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
88
88
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
89
89
|
* See the License for the specific language governing permissions and
|
|
90
90
|
* limitations under the License.
|
|
91
|
-
*/function
|
|
91
|
+
*/function qa(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("Unable to locate global object.")}/**
|
|
92
92
|
* @license
|
|
93
93
|
* Copyright 2022 Google LLC
|
|
94
94
|
*
|
|
@@ -103,7 +103,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
103
103
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
104
104
|
* See the License for the specific language governing permissions and
|
|
105
105
|
* limitations under the License.
|
|
106
|
-
*/const
|
|
106
|
+
*/const Ka=()=>qa().__FIREBASE_DEFAULTS__,Ya=()=>{if(typeof process>"u"||typeof us>"u")return;const n=us.__FIREBASE_DEFAULTS__;if(n)return JSON.parse(n)},Qa=()=>{if(typeof document>"u")return;let n;try{n=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch{return}const e=n&&Zt(n[1]);return e&&JSON.parse(e)},yi=()=>{try{return Va()||Ka()||Ya()||Qa()}catch(n){console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${n}`);return}},Rr=n=>{var e,t;return(t=(e=yi())===null||e===void 0?void 0:e.emulatorHosts)===null||t===void 0?void 0:t[n]},Ja=n=>{const e=Rr(n);if(!e)return;const t=e.lastIndexOf(":");if(t<=0||t+1===e.length)throw new Error(`Invalid host ${e} with no separate hostname and port!`);const i=parseInt(e.substring(t+1),10);return e[0]==="["?[e.substring(1,t-1),i]:[e.substring(0,t),i]},kr=()=>{var n;return(n=yi())===null||n===void 0?void 0:n.config},Ar=n=>{var e;return(e=yi())===null||e===void 0?void 0:e[`_${n}`]};/**
|
|
107
107
|
* @license
|
|
108
108
|
* Copyright 2017 Google LLC
|
|
109
109
|
*
|
|
@@ -133,7 +133,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
133
133
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
134
134
|
* See the License for the specific language governing permissions and
|
|
135
135
|
* limitations under the License.
|
|
136
|
-
*/function et(n){try{return(n.startsWith("http://")||n.startsWith("https://")?new URL(n).hostname:n).endsWith(".cloudworkstations.dev")}catch{return!1}}async function
|
|
136
|
+
*/function et(n){try{return(n.startsWith("http://")||n.startsWith("https://")?new URL(n).hostname:n).endsWith(".cloudworkstations.dev")}catch{return!1}}async function Nr(n){return(await fetch(n,{credentials:"include"})).ok}/**
|
|
137
137
|
* @license
|
|
138
138
|
* Copyright 2021 Google LLC
|
|
139
139
|
*
|
|
@@ -148,7 +148,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
148
148
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
149
149
|
* See the License for the specific language governing permissions and
|
|
150
150
|
* limitations under the License.
|
|
151
|
-
*/function
|
|
151
|
+
*/function Xa(n,e){if(n.uid)throw new Error('The "uid" field is no longer supported by mockUserToken. Please use "sub" instead for Firebase Auth User ID.');const t={alg:"none",type:"JWT"},i=e||"demo-project",s=n.iat||0,r=n.sub||n.user_id;if(!r)throw new Error("mockUserToken must contain 'sub' or 'user_id' field!");const o=Object.assign({iss:`https://securetoken.google.com/${i}`,aud:i,iat:s,exp:s+3600,auth_time:s,sub:r,user_id:r,firebase:{sign_in_provider:"custom",identities:{}}},n);return[Xt(JSON.stringify(t)),Xt(JSON.stringify(o)),""].join(".")}const ft={};function Za(){const n={prod:[],emulator:[]};for(const e of Object.keys(ft))ft[e]?n.emulator.push(e):n.prod.push(e);return n}function el(n){let e=document.getElementById(n),t=!1;return e||(e=document.createElement("div"),e.setAttribute("id",n),t=!0),{created:t,element:e}}let ds=!1;function Pr(n,e){if(typeof window>"u"||typeof document>"u"||!et(window.location.host)||ft[n]===e||ft[n]||ds)return;ft[n]=e;function t(d){return`__firebase__banner__${d}`}const i="__firebase__banner",r=Za().prod.length>0;function o(){const d=document.getElementById(i);d&&d.remove()}function a(d){d.style.display="flex",d.style.background="#7faaf0",d.style.position="fixed",d.style.bottom="5px",d.style.left="5px",d.style.padding=".5em",d.style.borderRadius="5px",d.style.alignItems="center"}function l(d,p){d.setAttribute("width","24"),d.setAttribute("id",p),d.setAttribute("height","24"),d.setAttribute("viewBox","0 0 24 24"),d.setAttribute("fill","none"),d.style.marginLeft="-6px"}function c(){const d=document.createElement("span");return d.style.cursor="pointer",d.style.marginLeft="16px",d.style.fontSize="24px",d.innerHTML=" ×",d.onclick=()=>{ds=!0,o()},d}function h(d,p){d.setAttribute("id",p),d.innerText="Learn more",d.href="https://firebase.google.com/docs/studio/preview-apps#preview-backend",d.setAttribute("target","__blank"),d.style.paddingLeft="5px",d.style.textDecoration="underline"}function u(){const d=el(i),p=t("text"),_=document.getElementById(p)||document.createElement("span"),C=t("learnmore"),R=document.getElementById(C)||document.createElement("a"),H=t("preprendIcon"),V=document.getElementById(H)||document.createElementNS("http://www.w3.org/2000/svg","svg");if(d.created){const $=d.element;a($),h(R,C);const xe=c();l(V,H),$.append(V,_,R,xe),document.body.appendChild($)}r?(_.innerText="Preview backend disconnected.",V.innerHTML=`<g clip-path="url(#clip0_6013_33858)">
|
|
152
152
|
<path d="M4.8 17.6L12 5.6L19.2 17.6H4.8ZM6.91667 16.4H17.0833L12 7.93333L6.91667 16.4ZM12 15.6C12.1667 15.6 12.3056 15.5444 12.4167 15.4333C12.5389 15.3111 12.6 15.1667 12.6 15C12.6 14.8333 12.5389 14.6944 12.4167 14.5833C12.3056 14.4611 12.1667 14.4 12 14.4C11.8333 14.4 11.6889 14.4611 11.5667 14.5833C11.4556 14.6944 11.4 14.8333 11.4 15C11.4 15.1667 11.4556 15.3111 11.5667 15.4333C11.6889 15.5444 11.8333 15.6 12 15.6ZM11.4 13.6H12.6V10.4H11.4V13.6Z" fill="#212121"/>
|
|
153
153
|
</g>
|
|
154
154
|
<defs>
|
|
@@ -162,7 +162,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
162
162
|
<clipPath id="clip0_6083_34804">
|
|
163
163
|
<rect width="24" height="24" fill="white"/>
|
|
164
164
|
</clipPath>
|
|
165
|
-
</defs>`,_.innerText="Preview backend running in this workspace."),_.setAttribute("id",p)}document.readyState==="loading"?window.addEventListener("DOMContentLoaded",
|
|
165
|
+
</defs>`,_.innerText="Preview backend running in this workspace."),_.setAttribute("id",p)}document.readyState==="loading"?window.addEventListener("DOMContentLoaded",u):u()}/**
|
|
166
166
|
* @license
|
|
167
167
|
* Copyright 2017 Google LLC
|
|
168
168
|
*
|
|
@@ -177,7 +177,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
177
177
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
178
178
|
* See the License for the specific language governing permissions and
|
|
179
179
|
* limitations under the License.
|
|
180
|
-
*/function x(){return typeof navigator<"u"&&typeof navigator.userAgent=="string"?navigator.userAgent:""}function Ii(){return typeof window<"u"&&!!(window.cordova||window.phonegap||window.PhoneGap)&&/ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(x())}function
|
|
180
|
+
*/function x(){return typeof navigator<"u"&&typeof navigator.userAgent=="string"?navigator.userAgent:""}function Ii(){return typeof window<"u"&&!!(window.cordova||window.phonegap||window.PhoneGap)&&/ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(x())}function tl(){return typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers"}function nl(){const n=typeof chrome=="object"?chrome.runtime:typeof browser=="object"?browser.runtime:void 0;return typeof n=="object"&&n.id!==void 0}function Or(){return typeof navigator=="object"&&navigator.product==="ReactNative"}function il(){const n=x();return n.indexOf("MSIE ")>=0||n.indexOf("Trident/")>=0}function sl(){return wr.NODE_ADMIN===!0}function rl(){try{return typeof indexedDB=="object"}catch{return!1}}function ol(){return new Promise((n,e)=>{try{let t=!0;const i="validate-browser-context-for-indexeddb-analytics-module",s=self.indexedDB.open(i);s.onsuccess=()=>{s.result.close(),t||self.indexedDB.deleteDatabase(i),n(!0)},s.onupgradeneeded=()=>{t=!1},s.onerror=()=>{var r;e(((r=s.error)===null||r===void 0?void 0:r.message)||"")}}catch(t){e(t)}})}/**
|
|
181
181
|
* @license
|
|
182
182
|
* Copyright 2017 Google LLC
|
|
183
183
|
*
|
|
@@ -192,7 +192,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
192
192
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
193
193
|
* See the License for the specific language governing permissions and
|
|
194
194
|
* limitations under the License.
|
|
195
|
-
*/const
|
|
195
|
+
*/const al="FirebaseError";class Ce extends Error{constructor(e,t,i){super(t),this.code=e,this.customData=i,this.name=al,Object.setPrototypeOf(this,Ce.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,Ot.prototype.create)}}class Ot{constructor(e,t,i){this.service=e,this.serviceName=t,this.errors=i}create(e,...t){const i=t[0]||{},s=`${this.service}/${e}`,r=this.errors[e],o=r?ll(r,i):"Error",a=`${this.serviceName}: ${o} (${s}).`;return new Ce(s,a,i)}}function ll(n,e){return n.replace(cl,(t,i)=>{const s=e[i];return s!=null?String(s):`<${i}?>`})}const cl=/\{\$([^}]+)}/g;/**
|
|
196
196
|
* @license
|
|
197
197
|
* Copyright 2017 Google LLC
|
|
198
198
|
*
|
|
@@ -222,7 +222,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
222
222
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
223
223
|
* See the License for the specific language governing permissions and
|
|
224
224
|
* limitations under the License.
|
|
225
|
-
*/const
|
|
225
|
+
*/const Dr=function(n){let e={},t={},i={},s="";try{const r=n.split(".");e=Et(Zt(r[0])||""),t=Et(Zt(r[1])||""),s=r[2],i=t.d||{},delete t.d}catch{}return{header:e,claims:t,data:i,signature:s}},hl=function(n){const e=Dr(n),t=e.claims;return!!t&&typeof t=="object"&&t.hasOwnProperty("iat")},ul=function(n){const e=Dr(n).claims;return typeof e=="object"&&e.admin===!0};/**
|
|
226
226
|
* @license
|
|
227
227
|
* Copyright 2017 Google LLC
|
|
228
228
|
*
|
|
@@ -237,7 +237,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
237
237
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
238
238
|
* See the License for the specific language governing permissions and
|
|
239
239
|
* limitations under the License.
|
|
240
|
-
*/function oe(n,e){return Object.prototype.hasOwnProperty.call(n,e)}function qe(n,e){if(Object.prototype.hasOwnProperty.call(n,e))return n[e]}function
|
|
240
|
+
*/function oe(n,e){return Object.prototype.hasOwnProperty.call(n,e)}function qe(n,e){if(Object.prototype.hasOwnProperty.call(n,e))return n[e]}function Jn(n){for(const e in n)if(Object.prototype.hasOwnProperty.call(n,e))return!1;return!0}function en(n,e,t){const i={};for(const s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=e.call(t,n[s],s,n));return i}function ke(n,e){if(n===e)return!0;const t=Object.keys(n),i=Object.keys(e);for(const s of t){if(!i.includes(s))return!1;const r=n[s],o=e[s];if(fs(r)&&fs(o)){if(!ke(r,o))return!1}else if(r!==o)return!1}for(const s of i)if(!t.includes(s))return!1;return!0}function fs(n){return n!==null&&typeof n=="object"}/**
|
|
241
241
|
* @license
|
|
242
242
|
* Copyright 2017 Google LLC
|
|
243
243
|
*
|
|
@@ -267,7 +267,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
267
267
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
268
268
|
* See the License for the specific language governing permissions and
|
|
269
269
|
* limitations under the License.
|
|
270
|
-
*/class
|
|
270
|
+
*/class dl{constructor(){this.chain_=[],this.buf_=[],this.W_=[],this.pad_=[],this.inbuf_=0,this.total_=0,this.blockSize=512/8,this.pad_[0]=128;for(let e=1;e<this.blockSize;++e)this.pad_[e]=0;this.reset()}reset(){this.chain_[0]=1732584193,this.chain_[1]=4023233417,this.chain_[2]=2562383102,this.chain_[3]=271733878,this.chain_[4]=3285377520,this.inbuf_=0,this.total_=0}compress_(e,t){t||(t=0);const i=this.W_;if(typeof e=="string")for(let u=0;u<16;u++)i[u]=e.charCodeAt(t)<<24|e.charCodeAt(t+1)<<16|e.charCodeAt(t+2)<<8|e.charCodeAt(t+3),t+=4;else for(let u=0;u<16;u++)i[u]=e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3],t+=4;for(let u=16;u<80;u++){const d=i[u-3]^i[u-8]^i[u-14]^i[u-16];i[u]=(d<<1|d>>>31)&4294967295}let s=this.chain_[0],r=this.chain_[1],o=this.chain_[2],a=this.chain_[3],l=this.chain_[4],c,h;for(let u=0;u<80;u++){u<40?u<20?(c=a^r&(o^a),h=1518500249):(c=r^o^a,h=1859775393):u<60?(c=r&o|a&(r|o),h=2400959708):(c=r^o^a,h=3395469782);const d=(s<<5|s>>>27)+c+l+h+i[u]&4294967295;l=a,a=o,o=(r<<30|r>>>2)&4294967295,r=s,s=d}this.chain_[0]=this.chain_[0]+s&4294967295,this.chain_[1]=this.chain_[1]+r&4294967295,this.chain_[2]=this.chain_[2]+o&4294967295,this.chain_[3]=this.chain_[3]+a&4294967295,this.chain_[4]=this.chain_[4]+l&4294967295}update(e,t){if(e==null)return;t===void 0&&(t=e.length);const i=t-this.blockSize;let s=0;const r=this.buf_;let o=this.inbuf_;for(;s<t;){if(o===0)for(;s<=i;)this.compress_(e,s),s+=this.blockSize;if(typeof e=="string"){for(;s<t;)if(r[o]=e.charCodeAt(s),++o,++s,o===this.blockSize){this.compress_(r),o=0;break}}else for(;s<t;)if(r[o]=e[s],++o,++s,o===this.blockSize){this.compress_(r),o=0;break}}this.inbuf_=o,this.total_+=t}digest(){const e=[];let t=this.total_*8;this.inbuf_<56?this.update(this.pad_,56-this.inbuf_):this.update(this.pad_,this.blockSize-(this.inbuf_-56));for(let s=this.blockSize-1;s>=56;s--)this.buf_[s]=t&255,t/=256;this.compress_(this.buf_);let i=0;for(let s=0;s<5;s++)for(let r=24;r>=0;r-=8)e[i]=this.chain_[s]>>r&255,++i;return e}}function fl(n,e){const t=new pl(n,e);return t.subscribe.bind(t)}class pl{constructor(e,t){this.observers=[],this.unsubscribes=[],this.observerCount=0,this.task=Promise.resolve(),this.finalized=!1,this.onNoObservers=t,this.task.then(()=>{e(this)}).catch(i=>{this.error(i)})}next(e){this.forEachObserver(t=>{t.next(e)})}error(e){this.forEachObserver(t=>{t.error(e)}),this.close(e)}complete(){this.forEachObserver(e=>{e.complete()}),this.close()}subscribe(e,t,i){let s;if(e===void 0&&t===void 0&&i===void 0)throw new Error("Missing Observer.");_l(e,["next","error","complete"])?s=e:s={next:e,error:t,complete:i},s.next===void 0&&(s.next=Ln),s.error===void 0&&(s.error=Ln),s.complete===void 0&&(s.complete=Ln);const r=this.unsubscribeOne.bind(this,this.observers.length);return this.finalized&&this.task.then(()=>{try{this.finalError?s.error(this.finalError):s.complete()}catch{}}),this.observers.push(s),r}unsubscribeOne(e){this.observers===void 0||this.observers[e]===void 0||(delete this.observers[e],this.observerCount-=1,this.observerCount===0&&this.onNoObservers!==void 0&&this.onNoObservers(this))}forEachObserver(e){if(!this.finalized)for(let t=0;t<this.observers.length;t++)this.sendOne(t,e)}sendOne(e,t){this.task.then(()=>{if(this.observers!==void 0&&this.observers[e]!==void 0)try{t(this.observers[e])}catch(i){typeof console<"u"&&console.error&&console.error(i)}})}close(e){this.finalized||(this.finalized=!0,e!==void 0&&(this.finalError=e),this.task.then(()=>{this.observers=void 0,this.onNoObservers=void 0}))}}function _l(n,e){if(typeof n!="object"||n===null)return!1;for(const t of e)if(t in n&&typeof n[t]=="function")return!0;return!1}function Ln(){}function Mr(n,e){return`${n} failed: ${e} argument `}/**
|
|
271
271
|
* @license
|
|
272
272
|
* Copyright 2017 Google LLC
|
|
273
273
|
*
|
|
@@ -282,7 +282,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
282
282
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
283
283
|
* See the License for the specific language governing permissions and
|
|
284
284
|
* limitations under the License.
|
|
285
|
-
*/const
|
|
285
|
+
*/const gl=function(n){const e=[];let t=0;for(let i=0;i<n.length;i++){let s=n.charCodeAt(i);if(s>=55296&&s<=56319){const r=s-55296;i++,f(i<n.length,"Surrogate pair missing trail surrogate.");const o=n.charCodeAt(i)-56320;s=65536+(r<<10)+o}s<128?e[t++]=s:s<2048?(e[t++]=s>>6|192,e[t++]=s&63|128):s<65536?(e[t++]=s>>12|224,e[t++]=s>>6&63|128,e[t++]=s&63|128):(e[t++]=s>>18|240,e[t++]=s>>12&63|128,e[t++]=s>>6&63|128,e[t++]=s&63|128)}return e},In=function(n){let e=0;for(let t=0;t<n.length;t++){const i=n.charCodeAt(t);i<128?e++:i<2048?e+=2:i>=55296&&i<=56319?(e+=4,t++):e+=3}return e};/**
|
|
286
286
|
* @license
|
|
287
287
|
* Copyright 2021 Google LLC
|
|
288
288
|
*
|
|
@@ -327,7 +327,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
327
327
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
328
328
|
* See the License for the specific language governing permissions and
|
|
329
329
|
* limitations under the License.
|
|
330
|
-
*/class
|
|
330
|
+
*/class ml{constructor(e,t){this.name=e,this.container=t,this.component=null,this.instances=new Map,this.instancesDeferred=new Map,this.instancesOptions=new Map,this.onInitCallbacks=new Map}get(e){const t=this.normalizeInstanceIdentifier(e);if(!this.instancesDeferred.has(t)){const i=new Ei;if(this.instancesDeferred.set(t,i),this.isInitialized(t)||this.shouldAutoInitialize())try{const s=this.getOrInitializeService({instanceIdentifier:t});s&&i.resolve(s)}catch{}}return this.instancesDeferred.get(t).promise}getImmediate(e){var t;const i=this.normalizeInstanceIdentifier(e?.identifier),s=(t=e?.optional)!==null&&t!==void 0?t:!1;if(this.isInitialized(i)||this.shouldAutoInitialize())try{return this.getOrInitializeService({instanceIdentifier:i})}catch(r){if(s)return null;throw r}else{if(s)return null;throw Error(`Service ${this.name} is not available`)}}getComponent(){return this.component}setComponent(e){if(e.name!==this.name)throw Error(`Mismatching Component ${e.name} for Provider ${this.name}.`);if(this.component)throw Error(`Component for ${this.name} has already been provided`);if(this.component=e,!!this.shouldAutoInitialize()){if(yl(e))try{this.getOrInitializeService({instanceIdentifier:Se})}catch{}for(const[t,i]of this.instancesDeferred.entries()){const s=this.normalizeInstanceIdentifier(t);try{const r=this.getOrInitializeService({instanceIdentifier:s});i.resolve(r)}catch{}}}}clearInstance(e=Se){this.instancesDeferred.delete(e),this.instancesOptions.delete(e),this.instances.delete(e)}async delete(){const e=Array.from(this.instances.values());await Promise.all([...e.filter(t=>"INTERNAL"in t).map(t=>t.INTERNAL.delete()),...e.filter(t=>"_delete"in t).map(t=>t._delete())])}isComponentSet(){return this.component!=null}isInitialized(e=Se){return this.instances.has(e)}getOptions(e=Se){return this.instancesOptions.get(e)||{}}initialize(e={}){const{options:t={}}=e,i=this.normalizeInstanceIdentifier(e.instanceIdentifier);if(this.isInitialized(i))throw Error(`${this.name}(${i}) has already been initialized`);if(!this.isComponentSet())throw Error(`Component ${this.name} has not been registered yet`);const s=this.getOrInitializeService({instanceIdentifier:i,options:t});for(const[r,o]of this.instancesDeferred.entries()){const a=this.normalizeInstanceIdentifier(r);i===a&&o.resolve(s)}return s}onInit(e,t){var i;const s=this.normalizeInstanceIdentifier(t),r=(i=this.onInitCallbacks.get(s))!==null&&i!==void 0?i:new Set;r.add(e),this.onInitCallbacks.set(s,r);const o=this.instances.get(s);return o&&e(o,s),()=>{r.delete(e)}}invokeOnInitCallbacks(e,t){const i=this.onInitCallbacks.get(t);if(i)for(const s of i)try{s(e,t)}catch{}}getOrInitializeService({instanceIdentifier:e,options:t={}}){let i=this.instances.get(e);if(!i&&this.component&&(i=this.component.instanceFactory(this.container,{instanceIdentifier:vl(e),options:t}),this.instances.set(e,i),this.instancesOptions.set(e,t),this.invokeOnInitCallbacks(i,e),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,e,i)}catch{}return i||null}normalizeInstanceIdentifier(e=Se){return this.component?this.component.multipleInstances?e:Se:e}shouldAutoInitialize(){return!!this.component&&this.component.instantiationMode!=="EXPLICIT"}}function vl(n){return n===Se?void 0:n}function yl(n){return n.instantiationMode==="EAGER"}/**
|
|
331
331
|
* @license
|
|
332
332
|
* Copyright 2019 Google LLC
|
|
333
333
|
*
|
|
@@ -342,7 +342,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
342
342
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
343
343
|
* See the License for the specific language governing permissions and
|
|
344
344
|
* limitations under the License.
|
|
345
|
-
*/class
|
|
345
|
+
*/class El{constructor(e){this.name=e,this.providers=new Map}addComponent(e){const t=this.getProvider(e.name);if(t.isComponentSet())throw new Error(`Component ${e.name} has already been registered with ${this.name}`);t.setComponent(e)}addOrOverwriteComponent(e){this.getProvider(e.name).isComponentSet()&&this.providers.delete(e.name),this.addComponent(e)}getProvider(e){if(this.providers.has(e))return this.providers.get(e);const t=new ml(e,this);return this.providers.set(e,t),t}getProviders(){return Array.from(this.providers.values())}}/**
|
|
346
346
|
* @license
|
|
347
347
|
* Copyright 2017 Google LLC
|
|
348
348
|
*
|
|
@@ -357,7 +357,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
357
357
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
358
358
|
* See the License for the specific language governing permissions and
|
|
359
359
|
* limitations under the License.
|
|
360
|
-
*/var w;(function(n){n[n.DEBUG=0]="DEBUG",n[n.VERBOSE=1]="VERBOSE",n[n.INFO=2]="INFO",n[n.WARN=3]="WARN",n[n.ERROR=4]="ERROR",n[n.SILENT=5]="SILENT"})(w||(w={}));const
|
|
360
|
+
*/var w;(function(n){n[n.DEBUG=0]="DEBUG",n[n.VERBOSE=1]="VERBOSE",n[n.INFO=2]="INFO",n[n.WARN=3]="WARN",n[n.ERROR=4]="ERROR",n[n.SILENT=5]="SILENT"})(w||(w={}));const Il={debug:w.DEBUG,verbose:w.VERBOSE,info:w.INFO,warn:w.WARN,error:w.ERROR,silent:w.SILENT},Cl=w.INFO,wl={[w.DEBUG]:"log",[w.VERBOSE]:"log",[w.INFO]:"info",[w.WARN]:"warn",[w.ERROR]:"error"},Tl=(n,e,...t)=>{if(e<n.logLevel)return;const i=new Date().toISOString(),s=wl[e];if(s)console[s](`[${i}] ${n.name}:`,...t);else throw new Error(`Attempted to log a message with an invalid logType (value: ${e})`)};class Ci{constructor(e){this.name=e,this._logLevel=Cl,this._logHandler=Tl,this._userLogHandler=null}get logLevel(){return this._logLevel}set logLevel(e){if(!(e in w))throw new TypeError(`Invalid value "${e}" assigned to \`logLevel\``);this._logLevel=e}setLogLevel(e){this._logLevel=typeof e=="string"?Il[e]:e}get logHandler(){return this._logHandler}set logHandler(e){if(typeof e!="function")throw new TypeError("Value assigned to `logHandler` must be a function");this._logHandler=e}get userLogHandler(){return this._userLogHandler}set userLogHandler(e){this._userLogHandler=e}debug(...e){this._userLogHandler&&this._userLogHandler(this,w.DEBUG,...e),this._logHandler(this,w.DEBUG,...e)}log(...e){this._userLogHandler&&this._userLogHandler(this,w.VERBOSE,...e),this._logHandler(this,w.VERBOSE,...e)}info(...e){this._userLogHandler&&this._userLogHandler(this,w.INFO,...e),this._logHandler(this,w.INFO,...e)}warn(...e){this._userLogHandler&&this._userLogHandler(this,w.WARN,...e),this._logHandler(this,w.WARN,...e)}error(...e){this._userLogHandler&&this._userLogHandler(this,w.ERROR,...e),this._logHandler(this,w.ERROR,...e)}}const Sl=(n,e)=>e.some(t=>n instanceof t);let ps,_s;function bl(){return ps||(ps=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Rl(){return _s||(_s=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const Lr=new WeakMap,Xn=new WeakMap,xr=new WeakMap,xn=new WeakMap,wi=new WeakMap;function kl(n){const e=new Promise((t,i)=>{const s=()=>{n.removeEventListener("success",r),n.removeEventListener("error",o)},r=()=>{t(fe(n.result)),s()},o=()=>{i(n.error),s()};n.addEventListener("success",r),n.addEventListener("error",o)});return e.then(t=>{t instanceof IDBCursor&&Lr.set(t,n)}).catch(()=>{}),wi.set(e,n),e}function Al(n){if(Xn.has(n))return;const e=new Promise((t,i)=>{const s=()=>{n.removeEventListener("complete",r),n.removeEventListener("error",o),n.removeEventListener("abort",o)},r=()=>{t(),s()},o=()=>{i(n.error||new DOMException("AbortError","AbortError")),s()};n.addEventListener("complete",r),n.addEventListener("error",o),n.addEventListener("abort",o)});Xn.set(n,e)}let Zn={get(n,e,t){if(n instanceof IDBTransaction){if(e==="done")return Xn.get(n);if(e==="objectStoreNames")return n.objectStoreNames||xr.get(n);if(e==="store")return t.objectStoreNames[1]?void 0:t.objectStore(t.objectStoreNames[0])}return fe(n[e])},set(n,e,t){return n[e]=t,!0},has(n,e){return n instanceof IDBTransaction&&(e==="done"||e==="store")?!0:e in n}};function Nl(n){Zn=n(Zn)}function Pl(n){return n===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(e,...t){const i=n.call(Fn(this),e,...t);return xr.set(i,e.sort?e.sort():[e]),fe(i)}:Rl().includes(n)?function(...e){return n.apply(Fn(this),e),fe(Lr.get(this))}:function(...e){return fe(n.apply(Fn(this),e))}}function Ol(n){return typeof n=="function"?Pl(n):(n instanceof IDBTransaction&&Al(n),Sl(n,bl())?new Proxy(n,Zn):n)}function fe(n){if(n instanceof IDBRequest)return kl(n);if(xn.has(n))return xn.get(n);const e=Ol(n);return e!==n&&(xn.set(n,e),wi.set(e,n)),e}const Fn=n=>wi.get(n);function Dl(n,e,{blocked:t,upgrade:i,blocking:s,terminated:r}={}){const o=indexedDB.open(n,e),a=fe(o);return i&&o.addEventListener("upgradeneeded",l=>{i(fe(o.result),l.oldVersion,l.newVersion,fe(o.transaction),l)}),t&&o.addEventListener("blocked",l=>t(l.oldVersion,l.newVersion,l)),a.then(l=>{r&&l.addEventListener("close",()=>r()),s&&l.addEventListener("versionchange",c=>s(c.oldVersion,c.newVersion,c))}).catch(()=>{}),a}const Ml=["get","getKey","getAll","getAllKeys","count"],Ll=["put","add","delete","clear"],Un=new Map;function gs(n,e){if(!(n instanceof IDBDatabase&&!(e in n)&&typeof e=="string"))return;if(Un.get(e))return Un.get(e);const t=e.replace(/FromIndex$/,""),i=e!==t,s=Ll.includes(t);if(!(t in(i?IDBIndex:IDBObjectStore).prototype)||!(s||Ml.includes(t)))return;const r=async function(o,...a){const l=this.transaction(o,s?"readwrite":"readonly");let c=l.store;return i&&(c=c.index(a.shift())),(await Promise.all([c[t](...a),s&&l.done]))[0]};return Un.set(e,r),r}Nl(n=>({...n,get:(e,t,i)=>gs(e,t)||n.get(e,t,i),has:(e,t)=>!!gs(e,t)||n.has(e,t)}));/**
|
|
361
361
|
* @license
|
|
362
362
|
* Copyright 2019 Google LLC
|
|
363
363
|
*
|
|
@@ -372,7 +372,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
372
372
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
373
373
|
* See the License for the specific language governing permissions and
|
|
374
374
|
* limitations under the License.
|
|
375
|
-
*/class
|
|
375
|
+
*/class xl{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map(t=>{if(Fl(t)){const i=t.getImmediate();return`${i.library}/${i.version}`}else return null}).filter(t=>t).join(" ")}}function Fl(n){const e=n.getComponent();return e?.type==="VERSION"}const ei="@firebase/app",ms="0.13.2";/**
|
|
376
376
|
* @license
|
|
377
377
|
* Copyright 2019 Google LLC
|
|
378
378
|
*
|
|
@@ -387,7 +387,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
387
387
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
388
388
|
* See the License for the specific language governing permissions and
|
|
389
389
|
* limitations under the License.
|
|
390
|
-
*/const ie=new Ci("@firebase/app"),
|
|
390
|
+
*/const ie=new Ci("@firebase/app"),Ul="@firebase/app-compat",Wl="@firebase/analytics-compat",Bl="@firebase/analytics",Hl="@firebase/app-check-compat",Vl="@firebase/app-check",$l="@firebase/auth",Gl="@firebase/auth-compat",jl="@firebase/database",zl="@firebase/data-connect",ql="@firebase/database-compat",Kl="@firebase/functions",Yl="@firebase/functions-compat",Ql="@firebase/installations",Jl="@firebase/installations-compat",Xl="@firebase/messaging",Zl="@firebase/messaging-compat",ec="@firebase/performance",tc="@firebase/performance-compat",nc="@firebase/remote-config",ic="@firebase/remote-config-compat",sc="@firebase/storage",rc="@firebase/storage-compat",oc="@firebase/firestore",ac="@firebase/ai",lc="@firebase/firestore-compat",cc="firebase",hc="11.10.0";/**
|
|
391
391
|
* @license
|
|
392
392
|
* Copyright 2019 Google LLC
|
|
393
393
|
*
|
|
@@ -402,7 +402,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
402
402
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
403
403
|
* See the License for the specific language governing permissions and
|
|
404
404
|
* limitations under the License.
|
|
405
|
-
*/const
|
|
405
|
+
*/const ti="[DEFAULT]",uc={[ei]:"fire-core",[Ul]:"fire-core-compat",[Bl]:"fire-analytics",[Wl]:"fire-analytics-compat",[Vl]:"fire-app-check",[Hl]:"fire-app-check-compat",[$l]:"fire-auth",[Gl]:"fire-auth-compat",[jl]:"fire-rtdb",[zl]:"fire-data-connect",[ql]:"fire-rtdb-compat",[Kl]:"fire-fn",[Yl]:"fire-fn-compat",[Ql]:"fire-iid",[Jl]:"fire-iid-compat",[Xl]:"fire-fcm",[Zl]:"fire-fcm-compat",[ec]:"fire-perf",[tc]:"fire-perf-compat",[nc]:"fire-rc",[ic]:"fire-rc-compat",[sc]:"fire-gcs",[rc]:"fire-gcs-compat",[oc]:"fire-fst",[lc]:"fire-fst-compat",[ac]:"fire-vertex","fire-js":"fire-js",[cc]:"fire-js-all"};/**
|
|
406
406
|
* @license
|
|
407
407
|
* Copyright 2019 Google LLC
|
|
408
408
|
*
|
|
@@ -417,7 +417,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
417
417
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
418
418
|
* See the License for the specific language governing permissions and
|
|
419
419
|
* limitations under the License.
|
|
420
|
-
*/const
|
|
420
|
+
*/const tn=new Map,dc=new Map,ni=new Map;function vs(n,e){try{n.container.addComponent(e)}catch(t){ie.debug(`Component ${e.name} failed to register with FirebaseApp ${n.name}`,t)}}function Ke(n){const e=n.name;if(ni.has(e))return ie.debug(`There were multiple attempts to register component ${e}.`),!1;ni.set(e,n);for(const t of tn.values())vs(t,n);for(const t of dc.values())vs(t,n);return!0}function Ti(n,e){const t=n.container.getProvider("heartbeat").getImmediate({optional:!0});return t&&t.triggerHeartbeat(),n.container.getProvider(e)}function G(n){return n==null?!1:n.settings!==void 0}/**
|
|
421
421
|
* @license
|
|
422
422
|
* Copyright 2019 Google LLC
|
|
423
423
|
*
|
|
@@ -432,7 +432,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
432
432
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
433
433
|
* See the License for the specific language governing permissions and
|
|
434
434
|
* limitations under the License.
|
|
435
|
-
*/const
|
|
435
|
+
*/const fc={"no-app":"No Firebase App '{$appName}' has been created - call initializeApp() first","bad-app-name":"Illegal App name: '{$appName}'","duplicate-app":"Firebase App named '{$appName}' already exists with different options or config","app-deleted":"Firebase App named '{$appName}' already deleted","server-app-deleted":"Firebase Server App has been deleted","no-options":"Need to provide options, when not being deployed to hosting via source.","invalid-app-argument":"firebase.{$appName}() takes either no argument or a Firebase App instance.","invalid-log-argument":"First argument to `onLog` must be null or a function.","idb-open":"Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.","idb-get":"Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.","idb-set":"Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.","idb-delete":"Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.","finalization-registry-not-supported":"FirebaseServerApp deleteOnDeref field defined but the JS runtime does not support FinalizationRegistry.","invalid-server-app-environment":"FirebaseServerApp is not for use in browser environments."},pe=new Ot("app","Firebase",fc);/**
|
|
436
436
|
* @license
|
|
437
437
|
* Copyright 2019 Google LLC
|
|
438
438
|
*
|
|
@@ -447,7 +447,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
447
447
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
448
448
|
* See the License for the specific language governing permissions and
|
|
449
449
|
* limitations under the License.
|
|
450
|
-
*/class
|
|
450
|
+
*/class pc{constructor(e,t,i){this._isDeleted=!1,this._options=Object.assign({},e),this._config=Object.assign({},t),this._name=t.name,this._automaticDataCollectionEnabled=t.automaticDataCollectionEnabled,this._container=i,this.container.addComponent(new Ae("app",()=>this,"PUBLIC"))}get automaticDataCollectionEnabled(){return this.checkDestroyed(),this._automaticDataCollectionEnabled}set automaticDataCollectionEnabled(e){this.checkDestroyed(),this._automaticDataCollectionEnabled=e}get name(){return this.checkDestroyed(),this._name}get options(){return this.checkDestroyed(),this._options}get config(){return this.checkDestroyed(),this._config}get container(){return this._container}get isDeleted(){return this._isDeleted}set isDeleted(e){this._isDeleted=e}checkDestroyed(){if(this.isDeleted)throw pe.create("app-deleted",{appName:this._name})}}/**
|
|
451
451
|
* @license
|
|
452
452
|
* Copyright 2019 Google LLC
|
|
453
453
|
*
|
|
@@ -462,7 +462,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
462
462
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
463
463
|
* See the License for the specific language governing permissions and
|
|
464
464
|
* limitations under the License.
|
|
465
|
-
*/const nt=
|
|
465
|
+
*/const nt=hc;function Fr(n,e={}){let t=n;typeof e!="object"&&(e={name:e});const i=Object.assign({name:ti,automaticDataCollectionEnabled:!0},e),s=i.name;if(typeof s!="string"||!s)throw pe.create("bad-app-name",{appName:String(s)});if(t||(t=kr()),!t)throw pe.create("no-options");const r=tn.get(s);if(r){if(ke(t,r.options)&&ke(i,r.config))return r;throw pe.create("duplicate-app",{appName:s})}const o=new El(s);for(const l of ni.values())o.addComponent(l);const a=new pc(t,i,o);return tn.set(s,a),a}function Ur(n=ti){const e=tn.get(n);if(!e&&n===ti&&kr())return Fr();if(!e)throw pe.create("no-app",{appName:n});return e}function _e(n,e,t){var i;let s=(i=uc[n])!==null&&i!==void 0?i:n;t&&(s+=`-${t}`);const r=s.match(/\s|\//),o=e.match(/\s|\//);if(r||o){const a=[`Unable to register library "${s}" with version "${e}":`];r&&a.push(`library name "${s}" contains illegal characters (whitespace or "/")`),r&&o&&a.push("and"),o&&a.push(`version name "${e}" contains illegal characters (whitespace or "/")`),ie.warn(a.join(" "));return}Ke(new Ae(`${s}-version`,()=>({library:s,version:e}),"VERSION"))}/**
|
|
466
466
|
* @license
|
|
467
467
|
* Copyright 2021 Google LLC
|
|
468
468
|
*
|
|
@@ -477,7 +477,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
477
477
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
478
478
|
* See the License for the specific language governing permissions and
|
|
479
479
|
* limitations under the License.
|
|
480
|
-
*/const
|
|
480
|
+
*/const _c="firebase-heartbeat-database",gc=1,It="firebase-heartbeat-store";let Wn=null;function Wr(){return Wn||(Wn=Dl(_c,gc,{upgrade:(n,e)=>{switch(e){case 0:try{n.createObjectStore(It)}catch(t){console.warn(t)}}}}).catch(n=>{throw pe.create("idb-open",{originalErrorMessage:n.message})})),Wn}async function mc(n){try{const t=(await Wr()).transaction(It),i=await t.objectStore(It).get(Br(n));return await t.done,i}catch(e){if(e instanceof Ce)ie.warn(e.message);else{const t=pe.create("idb-get",{originalErrorMessage:e?.message});ie.warn(t.message)}}}async function ys(n,e){try{const i=(await Wr()).transaction(It,"readwrite");await i.objectStore(It).put(e,Br(n)),await i.done}catch(t){if(t instanceof Ce)ie.warn(t.message);else{const i=pe.create("idb-set",{originalErrorMessage:t?.message});ie.warn(i.message)}}}function Br(n){return`${n.name}!${n.options.appId}`}/**
|
|
481
481
|
* @license
|
|
482
482
|
* Copyright 2021 Google LLC
|
|
483
483
|
*
|
|
@@ -492,7 +492,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
492
492
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
493
493
|
* See the License for the specific language governing permissions and
|
|
494
494
|
* limitations under the License.
|
|
495
|
-
*/const
|
|
495
|
+
*/const vc=1024,yc=30;class Ec{constructor(e){this.container=e,this._heartbeatsCache=null;const t=this.container.getProvider("app").getImmediate();this._storage=new Cc(t),this._heartbeatsCachePromise=this._storage.read().then(i=>(this._heartbeatsCache=i,i))}async triggerHeartbeat(){var e,t;try{const s=this.container.getProvider("platform-logger").getImmediate().getPlatformInfoString(),r=Es();if(((e=this._heartbeatsCache)===null||e===void 0?void 0:e.heartbeats)==null&&(this._heartbeatsCache=await this._heartbeatsCachePromise,((t=this._heartbeatsCache)===null||t===void 0?void 0:t.heartbeats)==null)||this._heartbeatsCache.lastSentHeartbeatDate===r||this._heartbeatsCache.heartbeats.some(o=>o.date===r))return;if(this._heartbeatsCache.heartbeats.push({date:r,agent:s}),this._heartbeatsCache.heartbeats.length>yc){const o=wc(this._heartbeatsCache.heartbeats);this._heartbeatsCache.heartbeats.splice(o,1)}return this._storage.overwrite(this._heartbeatsCache)}catch(i){ie.warn(i)}}async getHeartbeatsHeader(){var e;try{if(this._heartbeatsCache===null&&await this._heartbeatsCachePromise,((e=this._heartbeatsCache)===null||e===void 0?void 0:e.heartbeats)==null||this._heartbeatsCache.heartbeats.length===0)return"";const t=Es(),{heartbeatsToSend:i,unsentEntries:s}=Ic(this._heartbeatsCache.heartbeats),r=Xt(JSON.stringify({version:2,heartbeats:i}));return this._heartbeatsCache.lastSentHeartbeatDate=t,s.length>0?(this._heartbeatsCache.heartbeats=s,await this._storage.overwrite(this._heartbeatsCache)):(this._heartbeatsCache.heartbeats=[],this._storage.overwrite(this._heartbeatsCache)),r}catch(t){return ie.warn(t),""}}}function Es(){return new Date().toISOString().substring(0,10)}function Ic(n,e=vc){const t=[];let i=n.slice();for(const s of n){const r=t.find(o=>o.agent===s.agent);if(r){if(r.dates.push(s.date),Is(t)>e){r.dates.pop();break}}else if(t.push({agent:s.agent,dates:[s.date]}),Is(t)>e){t.pop();break}i=i.slice(1)}return{heartbeatsToSend:t,unsentEntries:i}}class Cc{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return rl()?ol().then(()=>!0).catch(()=>!1):!1}async read(){if(await this._canUseIndexedDBPromise){const t=await mc(this.app);return t?.heartbeats?t:{heartbeats:[]}}else return{heartbeats:[]}}async overwrite(e){var t;if(await this._canUseIndexedDBPromise){const s=await this.read();return ys(this.app,{lastSentHeartbeatDate:(t=e.lastSentHeartbeatDate)!==null&&t!==void 0?t:s.lastSentHeartbeatDate,heartbeats:e.heartbeats})}else return}async add(e){var t;if(await this._canUseIndexedDBPromise){const s=await this.read();return ys(this.app,{lastSentHeartbeatDate:(t=e.lastSentHeartbeatDate)!==null&&t!==void 0?t:s.lastSentHeartbeatDate,heartbeats:[...s.heartbeats,...e.heartbeats]})}else return}}function Is(n){return Xt(JSON.stringify({version:2,heartbeats:n})).length}function wc(n){if(n.length===0)return-1;let e=0,t=n[0].date;for(let i=1;i<n.length;i++)n[i].date<t&&(t=n[i].date,e=i);return e}/**
|
|
496
496
|
* @license
|
|
497
497
|
* Copyright 2019 Google LLC
|
|
498
498
|
*
|
|
@@ -507,7 +507,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
507
507
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
508
508
|
* See the License for the specific language governing permissions and
|
|
509
509
|
* limitations under the License.
|
|
510
|
-
*/function
|
|
510
|
+
*/function Tc(n){Ke(new Ae("platform-logger",e=>new xl(e),"PRIVATE")),Ke(new Ae("heartbeat",e=>new Ec(e),"PRIVATE")),_e(ei,ms,n),_e(ei,ms,"esm2017"),_e("fire-js","")}Tc("");var Sc="firebase",bc="11.10.0";/**
|
|
511
511
|
* @license
|
|
512
512
|
* Copyright 2020 Google LLC
|
|
513
513
|
*
|
|
@@ -522,7 +522,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
522
522
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
523
523
|
* See the License for the specific language governing permissions and
|
|
524
524
|
* limitations under the License.
|
|
525
|
-
*/_e(
|
|
525
|
+
*/_e(Sc,bc,"app");function Hr(){return{"dependent-sdk-initialized-before-auth":"Another Firebase SDK was initialized and is trying to use Auth before Auth is initialized. Please be sure to call `initializeAuth` or `getAuth` before starting any other Firebase SDK."}}const Rc=Hr,Vr=new Ot("auth","Firebase",Hr());/**
|
|
526
526
|
* @license
|
|
527
527
|
* Copyright 2020 Google LLC
|
|
528
528
|
*
|
|
@@ -537,7 +537,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
537
537
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
538
538
|
* See the License for the specific language governing permissions and
|
|
539
539
|
* limitations under the License.
|
|
540
|
-
*/const
|
|
540
|
+
*/const nn=new Ci("@firebase/auth");function kc(n,...e){nn.logLevel<=w.WARN&&nn.warn(`Auth (${nt}): ${n}`,...e)}function zt(n,...e){nn.logLevel<=w.ERROR&&nn.error(`Auth (${nt}): ${n}`,...e)}/**
|
|
541
541
|
* @license
|
|
542
542
|
* Copyright 2020 Google LLC
|
|
543
543
|
*
|
|
@@ -552,7 +552,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
552
552
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
553
553
|
* See the License for the specific language governing permissions and
|
|
554
554
|
* limitations under the License.
|
|
555
|
-
*/function Q(n,...e){throw
|
|
555
|
+
*/function Q(n,...e){throw Si(n,...e)}function J(n,...e){return Si(n,...e)}function $r(n,e,t){const i=Object.assign(Object.assign({},Rc()),{[e]:t});return new Ot("auth","Firebase",i).create(e,{appName:n.name})}function ge(n){return $r(n,"operation-not-supported-in-this-environment","Operations that alter the current user are not supported in conjunction with FirebaseServerApp")}function Si(n,...e){if(typeof n!="string"){const t=e[0],i=[...e.slice(1)];return i[0]&&(i[0].appName=n.name),n._errorFactory.create(t,...i)}return Vr.create(n,...e)}function g(n,e,...t){if(!n)throw Si(e,...t)}function Z(n){const e="INTERNAL ASSERTION FAILED: "+n;throw zt(e),new Error(e)}function se(n,e){n||Z(e)}/**
|
|
556
556
|
* @license
|
|
557
557
|
* Copyright 2020 Google LLC
|
|
558
558
|
*
|
|
@@ -567,7 +567,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
567
567
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
568
568
|
* See the License for the specific language governing permissions and
|
|
569
569
|
* limitations under the License.
|
|
570
|
-
*/function
|
|
570
|
+
*/function ii(){var n;return typeof self<"u"&&((n=self.location)===null||n===void 0?void 0:n.href)||""}function Ac(){return Cs()==="http:"||Cs()==="https:"}function Cs(){var n;return typeof self<"u"&&((n=self.location)===null||n===void 0?void 0:n.protocol)||null}/**
|
|
571
571
|
* @license
|
|
572
572
|
* Copyright 2020 Google LLC
|
|
573
573
|
*
|
|
@@ -582,7 +582,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
582
582
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
583
583
|
* See the License for the specific language governing permissions and
|
|
584
584
|
* limitations under the License.
|
|
585
|
-
*/function
|
|
585
|
+
*/function Nc(){return typeof navigator<"u"&&navigator&&"onLine"in navigator&&typeof navigator.onLine=="boolean"&&(Ac()||nl()||"connection"in navigator)?navigator.onLine:!0}function Pc(){if(typeof navigator>"u")return null;const n=navigator;return n.languages&&n.languages[0]||n.language||null}/**
|
|
586
586
|
* @license
|
|
587
587
|
* Copyright 2020 Google LLC
|
|
588
588
|
*
|
|
@@ -597,7 +597,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
597
597
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
598
598
|
* See the License for the specific language governing permissions and
|
|
599
599
|
* limitations under the License.
|
|
600
|
-
*/class Dt{constructor(e,t){this.shortDelay=e,this.longDelay=t,se(t>e,"Short delay should be less than long delay!"),this.isMobile=Ii()||
|
|
600
|
+
*/class Dt{constructor(e,t){this.shortDelay=e,this.longDelay=t,se(t>e,"Short delay should be less than long delay!"),this.isMobile=Ii()||Or()}get(){return Nc()?this.isMobile?this.longDelay:this.shortDelay:Math.min(5e3,this.shortDelay)}}/**
|
|
601
601
|
* @license
|
|
602
602
|
* Copyright 2020 Google LLC
|
|
603
603
|
*
|
|
@@ -612,7 +612,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
612
612
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
613
613
|
* See the License for the specific language governing permissions and
|
|
614
614
|
* limitations under the License.
|
|
615
|
-
*/function
|
|
615
|
+
*/function bi(n,e){se(n.emulator,"Emulator should always be set here");const{url:t}=n.emulator;return e?`${t}${e.startsWith("/")?e.slice(1):e}`:t}/**
|
|
616
616
|
* @license
|
|
617
617
|
* Copyright 2020 Google LLC
|
|
618
618
|
*
|
|
@@ -627,7 +627,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
627
627
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
628
628
|
* See the License for the specific language governing permissions and
|
|
629
629
|
* limitations under the License.
|
|
630
|
-
*/class
|
|
630
|
+
*/class Gr{static initialize(e,t,i){this.fetchImpl=e,t&&(this.headersImpl=t),i&&(this.responseImpl=i)}static fetch(){if(this.fetchImpl)return this.fetchImpl;if(typeof self<"u"&&"fetch"in self)return self.fetch;if(typeof globalThis<"u"&&globalThis.fetch)return globalThis.fetch;if(typeof fetch<"u")return fetch;Z("Could not find fetch implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill")}static headers(){if(this.headersImpl)return this.headersImpl;if(typeof self<"u"&&"Headers"in self)return self.Headers;if(typeof globalThis<"u"&&globalThis.Headers)return globalThis.Headers;if(typeof Headers<"u")return Headers;Z("Could not find Headers implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill")}static response(){if(this.responseImpl)return this.responseImpl;if(typeof self<"u"&&"Response"in self)return self.Response;if(typeof globalThis<"u"&&globalThis.Response)return globalThis.Response;if(typeof Response<"u")return Response;Z("Could not find Response implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill")}}/**
|
|
631
631
|
* @license
|
|
632
632
|
* Copyright 2020 Google LLC
|
|
633
633
|
*
|
|
@@ -642,7 +642,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
642
642
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
643
643
|
* See the License for the specific language governing permissions and
|
|
644
644
|
* limitations under the License.
|
|
645
|
-
*/const
|
|
645
|
+
*/const Oc={CREDENTIAL_MISMATCH:"custom-token-mismatch",MISSING_CUSTOM_TOKEN:"internal-error",INVALID_IDENTIFIER:"invalid-email",MISSING_CONTINUE_URI:"internal-error",INVALID_PASSWORD:"wrong-password",MISSING_PASSWORD:"missing-password",INVALID_LOGIN_CREDENTIALS:"invalid-credential",EMAIL_EXISTS:"email-already-in-use",PASSWORD_LOGIN_DISABLED:"operation-not-allowed",INVALID_IDP_RESPONSE:"invalid-credential",INVALID_PENDING_TOKEN:"invalid-credential",FEDERATED_USER_ID_ALREADY_LINKED:"credential-already-in-use",MISSING_REQ_TYPE:"internal-error",EMAIL_NOT_FOUND:"user-not-found",RESET_PASSWORD_EXCEED_LIMIT:"too-many-requests",EXPIRED_OOB_CODE:"expired-action-code",INVALID_OOB_CODE:"invalid-action-code",MISSING_OOB_CODE:"internal-error",CREDENTIAL_TOO_OLD_LOGIN_AGAIN:"requires-recent-login",INVALID_ID_TOKEN:"invalid-user-token",TOKEN_EXPIRED:"user-token-expired",USER_NOT_FOUND:"user-token-expired",TOO_MANY_ATTEMPTS_TRY_LATER:"too-many-requests",PASSWORD_DOES_NOT_MEET_REQUIREMENTS:"password-does-not-meet-requirements",INVALID_CODE:"invalid-verification-code",INVALID_SESSION_INFO:"invalid-verification-id",INVALID_TEMPORARY_PROOF:"invalid-credential",MISSING_SESSION_INFO:"missing-verification-id",SESSION_EXPIRED:"code-expired",MISSING_ANDROID_PACKAGE_NAME:"missing-android-pkg-name",UNAUTHORIZED_DOMAIN:"unauthorized-continue-uri",INVALID_OAUTH_CLIENT_ID:"invalid-oauth-client-id",ADMIN_ONLY_OPERATION:"admin-restricted-operation",INVALID_MFA_PENDING_CREDENTIAL:"invalid-multi-factor-session",MFA_ENROLLMENT_NOT_FOUND:"multi-factor-info-not-found",MISSING_MFA_ENROLLMENT_ID:"missing-multi-factor-info",MISSING_MFA_PENDING_CREDENTIAL:"missing-multi-factor-session",SECOND_FACTOR_EXISTS:"second-factor-already-in-use",SECOND_FACTOR_LIMIT_EXCEEDED:"maximum-second-factor-count-exceeded",BLOCKING_FUNCTION_ERROR_RESPONSE:"internal-error",RECAPTCHA_NOT_ENABLED:"recaptcha-not-enabled",MISSING_RECAPTCHA_TOKEN:"missing-recaptcha-token",INVALID_RECAPTCHA_TOKEN:"invalid-recaptcha-token",INVALID_RECAPTCHA_ACTION:"invalid-recaptcha-action",MISSING_CLIENT_TYPE:"missing-client-type",MISSING_RECAPTCHA_VERSION:"missing-recaptcha-version",INVALID_RECAPTCHA_VERSION:"invalid-recaptcha-version",INVALID_REQ_TYPE:"invalid-req-type"};/**
|
|
646
646
|
* @license
|
|
647
647
|
* Copyright 2020 Google LLC
|
|
648
648
|
*
|
|
@@ -657,7 +657,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
657
657
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
658
658
|
* See the License for the specific language governing permissions and
|
|
659
659
|
* limitations under the License.
|
|
660
|
-
*/const
|
|
660
|
+
*/const Dc=["/v1/accounts:signInWithCustomToken","/v1/accounts:signInWithEmailLink","/v1/accounts:signInWithIdp","/v1/accounts:signInWithPassword","/v1/accounts:signInWithPhoneNumber","/v1/token"],Mc=new Dt(3e4,6e4);function Me(n,e){return n.tenantId&&!e.tenantId?Object.assign(Object.assign({},e),{tenantId:n.tenantId}):e}async function we(n,e,t,i,s={}){return jr(n,s,async()=>{let r={},o={};i&&(e==="GET"?o=i:r={body:JSON.stringify(i)});const a=tt(Object.assign({key:n.config.apiKey},o)).slice(1),l=await n._getAdditionalHeaders();l["Content-Type"]="application/json",n.languageCode&&(l["X-Firebase-Locale"]=n.languageCode);const c=Object.assign({method:e,headers:l},r);return tl()||(c.referrerPolicy="no-referrer"),n.emulatorConfig&&et(n.emulatorConfig.host)&&(c.credentials="include"),Gr.fetch()(await zr(n,n.config.apiHost,t,a),c)})}async function jr(n,e,t){n._canInitEmulator=!1;const i=Object.assign(Object.assign({},Oc),e);try{const s=new xc(n),r=await Promise.race([t(),s.promise]);s.clearNetworkTimeout();const o=await r.json();if("needConfirmation"in o)throw $t(n,"account-exists-with-different-credential",o);if(r.ok&&!("errorMessage"in o))return o;{const a=r.ok?o.errorMessage:o.error.message,[l,c]=a.split(" : ");if(l==="FEDERATED_USER_ID_ALREADY_LINKED")throw $t(n,"credential-already-in-use",o);if(l==="EMAIL_EXISTS")throw $t(n,"email-already-in-use",o);if(l==="USER_DISABLED")throw $t(n,"user-disabled",o);const h=i[l]||l.toLowerCase().replace(/[_\s]+/g,"-");if(c)throw $r(n,h,c);Q(n,h)}}catch(s){if(s instanceof Ce)throw s;Q(n,"network-request-failed",{message:String(s)})}}async function Cn(n,e,t,i,s={}){const r=await we(n,e,t,i,s);return"mfaPendingCredential"in r&&Q(n,"multi-factor-auth-required",{_serverResponse:r}),r}async function zr(n,e,t,i){const s=`${e}${t}?${i}`,r=n,o=r.config.emulator?bi(n.config,s):`${n.config.apiScheme}://${s}`;return Dc.includes(t)&&(await r._persistenceManagerAvailable,r._getPersistenceType()==="COOKIE")?r._getPersistence()._getFinalTarget(o).toString():o}function Lc(n){switch(n){case"ENFORCE":return"ENFORCE";case"AUDIT":return"AUDIT";case"OFF":return"OFF";default:return"ENFORCEMENT_STATE_UNSPECIFIED"}}class xc{clearNetworkTimeout(){clearTimeout(this.timer)}constructor(e){this.auth=e,this.timer=null,this.promise=new Promise((t,i)=>{this.timer=setTimeout(()=>i(J(this.auth,"network-request-failed")),Mc.get())})}}function $t(n,e,t){const i={appName:n.name};t.email&&(i.email=t.email),t.phoneNumber&&(i.phoneNumber=t.phoneNumber);const s=J(n,e,i);return s.customData._tokenResponse=t,s}function ws(n){return n!==void 0&&n.enterprise!==void 0}class Fc{constructor(e){if(this.siteKey="",this.recaptchaEnforcementState=[],e.recaptchaKey===void 0)throw new Error("recaptchaKey undefined");this.siteKey=e.recaptchaKey.split("/")[3],this.recaptchaEnforcementState=e.recaptchaEnforcementState}getProviderEnforcementState(e){if(!this.recaptchaEnforcementState||this.recaptchaEnforcementState.length===0)return null;for(const t of this.recaptchaEnforcementState)if(t.provider&&t.provider===e)return Lc(t.enforcementState);return null}isProviderEnabled(e){return this.getProviderEnforcementState(e)==="ENFORCE"||this.getProviderEnforcementState(e)==="AUDIT"}isAnyProviderEnabled(){return this.isProviderEnabled("EMAIL_PASSWORD_PROVIDER")||this.isProviderEnabled("PHONE_PROVIDER")}}async function Uc(n,e){return we(n,"GET","/v2/recaptchaConfig",Me(n,e))}/**
|
|
661
661
|
* @license
|
|
662
662
|
* Copyright 2020 Google LLC
|
|
663
663
|
*
|
|
@@ -672,7 +672,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
672
672
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
673
673
|
* See the License for the specific language governing permissions and
|
|
674
674
|
* limitations under the License.
|
|
675
|
-
*/async function
|
|
675
|
+
*/async function Wc(n,e){return we(n,"POST","/v1/accounts:delete",e)}async function sn(n,e){return we(n,"POST","/v1/accounts:lookup",e)}/**
|
|
676
676
|
* @license
|
|
677
677
|
* Copyright 2020 Google LLC
|
|
678
678
|
*
|
|
@@ -687,7 +687,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
687
687
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
688
688
|
* See the License for the specific language governing permissions and
|
|
689
689
|
* limitations under the License.
|
|
690
|
-
*/function pt(n){if(n)try{const e=new Date(Number(n));if(!isNaN(e.getTime()))return e.toUTCString()}catch{}}async function
|
|
690
|
+
*/function pt(n){if(n)try{const e=new Date(Number(n));if(!isNaN(e.getTime()))return e.toUTCString()}catch{}}async function Bc(n,e=!1){const t=F(n),i=await t.getIdToken(e),s=Ri(i);g(s&&s.exp&&s.auth_time&&s.iat,t.auth,"internal-error");const r=typeof s.firebase=="object"?s.firebase:void 0,o=r?.sign_in_provider;return{claims:s,token:i,authTime:pt(Bn(s.auth_time)),issuedAtTime:pt(Bn(s.iat)),expirationTime:pt(Bn(s.exp)),signInProvider:o||null,signInSecondFactor:r?.sign_in_second_factor||null}}function Bn(n){return Number(n)*1e3}function Ri(n){const[e,t,i]=n.split(".");if(e===void 0||t===void 0||i===void 0)return zt("JWT malformed, contained fewer than 3 sections"),null;try{const s=Zt(t);return s?JSON.parse(s):(zt("Failed to decode base64 JWT payload"),null)}catch(s){return zt("Caught error parsing JWT payload as JSON",s?.toString()),null}}function Ts(n){const e=Ri(n);return g(e,"internal-error"),g(typeof e.exp<"u","internal-error"),g(typeof e.iat<"u","internal-error"),Number(e.exp)-Number(e.iat)}/**
|
|
691
691
|
* @license
|
|
692
692
|
* Copyright 2020 Google LLC
|
|
693
693
|
*
|
|
@@ -702,7 +702,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
702
702
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
703
703
|
* See the License for the specific language governing permissions and
|
|
704
704
|
* limitations under the License.
|
|
705
|
-
*/async function Ct(n,e,t=!1){if(t)return e;try{return await e}catch(i){throw i instanceof Ce&&
|
|
705
|
+
*/async function Ct(n,e,t=!1){if(t)return e;try{return await e}catch(i){throw i instanceof Ce&&Hc(i)&&n.auth.currentUser===n&&await n.auth.signOut(),i}}function Hc({code:n}){return n==="auth/user-disabled"||n==="auth/user-token-expired"}/**
|
|
706
706
|
* @license
|
|
707
707
|
* Copyright 2020 Google LLC
|
|
708
708
|
*
|
|
@@ -717,7 +717,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
717
717
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
718
718
|
* See the License for the specific language governing permissions and
|
|
719
719
|
* limitations under the License.
|
|
720
|
-
*/class
|
|
720
|
+
*/class Vc{constructor(e){this.user=e,this.isRunning=!1,this.timerId=null,this.errorBackoff=3e4}_start(){this.isRunning||(this.isRunning=!0,this.schedule())}_stop(){this.isRunning&&(this.isRunning=!1,this.timerId!==null&&clearTimeout(this.timerId))}getInterval(e){var t;if(e){const i=this.errorBackoff;return this.errorBackoff=Math.min(this.errorBackoff*2,96e4),i}else{this.errorBackoff=3e4;const s=((t=this.user.stsTokenManager.expirationTime)!==null&&t!==void 0?t:0)-Date.now()-3e5;return Math.max(0,s)}}schedule(e=!1){if(!this.isRunning)return;const t=this.getInterval(e);this.timerId=setTimeout(async()=>{await this.iteration()},t)}async iteration(){try{await this.user.getIdToken(!0)}catch(e){e?.code==="auth/network-request-failed"&&this.schedule(!0);return}this.schedule()}}/**
|
|
721
721
|
* @license
|
|
722
722
|
* Copyright 2020 Google LLC
|
|
723
723
|
*
|
|
@@ -732,7 +732,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
732
732
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
733
733
|
* See the License for the specific language governing permissions and
|
|
734
734
|
* limitations under the License.
|
|
735
|
-
*/class
|
|
735
|
+
*/class si{constructor(e,t){this.createdAt=e,this.lastLoginAt=t,this._initializeTime()}_initializeTime(){this.lastSignInTime=pt(this.lastLoginAt),this.creationTime=pt(this.createdAt)}_copy(e){this.createdAt=e.createdAt,this.lastLoginAt=e.lastLoginAt,this._initializeTime()}toJSON(){return{createdAt:this.createdAt,lastLoginAt:this.lastLoginAt}}}/**
|
|
736
736
|
* @license
|
|
737
737
|
* Copyright 2019 Google LLC
|
|
738
738
|
*
|
|
@@ -747,7 +747,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
747
747
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
748
748
|
* See the License for the specific language governing permissions and
|
|
749
749
|
* limitations under the License.
|
|
750
|
-
*/async function
|
|
750
|
+
*/async function rn(n){var e;const t=n.auth,i=await n.getIdToken(),s=await Ct(n,sn(t,{idToken:i}));g(s?.users.length,t,"internal-error");const r=s.users[0];n._notifyReloadListener(r);const o=!((e=r.providerUserInfo)===null||e===void 0)&&e.length?qr(r.providerUserInfo):[],a=Gc(n.providerData,o),l=n.isAnonymous,c=!(n.email&&r.passwordHash)&&!a?.length,h=l?c:!1,u={uid:r.localId,displayName:r.displayName||null,photoURL:r.photoUrl||null,email:r.email||null,emailVerified:r.emailVerified||!1,phoneNumber:r.phoneNumber||null,tenantId:r.tenantId||null,providerData:a,metadata:new si(r.createdAt,r.lastLoginAt),isAnonymous:h};Object.assign(n,u)}async function $c(n){const e=F(n);await rn(e),await e.auth._persistUserIfCurrent(e),e.auth._notifyListenersIfCurrent(e)}function Gc(n,e){return[...n.filter(i=>!e.some(s=>s.providerId===i.providerId)),...e]}function qr(n){return n.map(e=>{var{providerId:t}=e,i=mi(e,["providerId"]);return{providerId:t,uid:i.rawId||"",displayName:i.displayName||null,email:i.email||null,phoneNumber:i.phoneNumber||null,photoURL:i.photoUrl||null}})}/**
|
|
751
751
|
* @license
|
|
752
752
|
* Copyright 2020 Google LLC
|
|
753
753
|
*
|
|
@@ -762,7 +762,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
762
762
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
763
763
|
* See the License for the specific language governing permissions and
|
|
764
764
|
* limitations under the License.
|
|
765
|
-
*/async function
|
|
765
|
+
*/async function jc(n,e){const t=await jr(n,{},async()=>{const i=tt({grant_type:"refresh_token",refresh_token:e}).slice(1),{tokenApiHost:s,apiKey:r}=n.config,o=await zr(n,s,"/v1/token",`key=${r}`),a=await n._getAdditionalHeaders();a["Content-Type"]="application/x-www-form-urlencoded";const l={method:"POST",headers:a,body:i};return n.emulatorConfig&&et(n.emulatorConfig.host)&&(l.credentials="include"),Gr.fetch()(o,l)});return{accessToken:t.access_token,expiresIn:t.expires_in,refreshToken:t.refresh_token}}async function zc(n,e){return we(n,"POST","/v2/accounts:revokeToken",Me(n,e))}/**
|
|
766
766
|
* @license
|
|
767
767
|
* Copyright 2020 Google LLC
|
|
768
768
|
*
|
|
@@ -777,7 +777,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
777
777
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
778
778
|
* See the License for the specific language governing permissions and
|
|
779
779
|
* limitations under the License.
|
|
780
|
-
*/class Ve{constructor(){this.refreshToken=null,this.accessToken=null,this.expirationTime=null}get isExpired(){return!this.expirationTime||Date.now()>this.expirationTime-3e4}updateFromServerResponse(e){g(e.idToken,"internal-error"),g(typeof e.idToken<"u","internal-error"),g(typeof e.refreshToken<"u","internal-error");const t="expiresIn"in e&&typeof e.expiresIn<"u"?Number(e.expiresIn):
|
|
780
|
+
*/class Ve{constructor(){this.refreshToken=null,this.accessToken=null,this.expirationTime=null}get isExpired(){return!this.expirationTime||Date.now()>this.expirationTime-3e4}updateFromServerResponse(e){g(e.idToken,"internal-error"),g(typeof e.idToken<"u","internal-error"),g(typeof e.refreshToken<"u","internal-error");const t="expiresIn"in e&&typeof e.expiresIn<"u"?Number(e.expiresIn):Ts(e.idToken);this.updateTokensAndExpiration(e.idToken,e.refreshToken,t)}updateFromIdToken(e){g(e.length!==0,"internal-error");const t=Ts(e);this.updateTokensAndExpiration(e,null,t)}async getToken(e,t=!1){return!t&&this.accessToken&&!this.isExpired?this.accessToken:(g(this.refreshToken,e,"user-token-expired"),this.refreshToken?(await this.refresh(e,this.refreshToken),this.accessToken):null)}clearRefreshToken(){this.refreshToken=null}async refresh(e,t){const{accessToken:i,refreshToken:s,expiresIn:r}=await jc(e,t);this.updateTokensAndExpiration(i,s,Number(r))}updateTokensAndExpiration(e,t,i){this.refreshToken=t||null,this.accessToken=e||null,this.expirationTime=Date.now()+i*1e3}static fromJSON(e,t){const{refreshToken:i,accessToken:s,expirationTime:r}=t,o=new Ve;return i&&(g(typeof i=="string","internal-error",{appName:e}),o.refreshToken=i),s&&(g(typeof s=="string","internal-error",{appName:e}),o.accessToken=s),r&&(g(typeof r=="number","internal-error",{appName:e}),o.expirationTime=r),o}toJSON(){return{refreshToken:this.refreshToken,accessToken:this.accessToken,expirationTime:this.expirationTime}}_assign(e){this.accessToken=e.accessToken,this.refreshToken=e.refreshToken,this.expirationTime=e.expirationTime}_clone(){return Object.assign(new Ve,this.toJSON())}_performRefresh(){return Z("not implemented")}}/**
|
|
781
781
|
* @license
|
|
782
782
|
* Copyright 2020 Google LLC
|
|
783
783
|
*
|
|
@@ -792,7 +792,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
792
792
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
793
793
|
* See the License for the specific language governing permissions and
|
|
794
794
|
* limitations under the License.
|
|
795
|
-
*/function le(n,e){g(typeof n=="string"||typeof n>"u","internal-error",{appName:e})}class z{constructor(e){var{uid:t,auth:i,stsTokenManager:s}=e,r=
|
|
795
|
+
*/function le(n,e){g(typeof n=="string"||typeof n>"u","internal-error",{appName:e})}class z{constructor(e){var{uid:t,auth:i,stsTokenManager:s}=e,r=mi(e,["uid","auth","stsTokenManager"]);this.providerId="firebase",this.proactiveRefresh=new Vc(this),this.reloadUserInfo=null,this.reloadListener=null,this.uid=t,this.auth=i,this.stsTokenManager=s,this.accessToken=s.accessToken,this.displayName=r.displayName||null,this.email=r.email||null,this.emailVerified=r.emailVerified||!1,this.phoneNumber=r.phoneNumber||null,this.photoURL=r.photoURL||null,this.isAnonymous=r.isAnonymous||!1,this.tenantId=r.tenantId||null,this.providerData=r.providerData?[...r.providerData]:[],this.metadata=new si(r.createdAt||void 0,r.lastLoginAt||void 0)}async getIdToken(e){const t=await Ct(this,this.stsTokenManager.getToken(this.auth,e));return g(t,this.auth,"internal-error"),this.accessToken!==t&&(this.accessToken=t,await this.auth._persistUserIfCurrent(this),this.auth._notifyListenersIfCurrent(this)),t}getIdTokenResult(e){return Bc(this,e)}reload(){return $c(this)}_assign(e){this!==e&&(g(this.uid===e.uid,this.auth,"internal-error"),this.displayName=e.displayName,this.photoURL=e.photoURL,this.email=e.email,this.emailVerified=e.emailVerified,this.phoneNumber=e.phoneNumber,this.isAnonymous=e.isAnonymous,this.tenantId=e.tenantId,this.providerData=e.providerData.map(t=>Object.assign({},t)),this.metadata._copy(e.metadata),this.stsTokenManager._assign(e.stsTokenManager))}_clone(e){const t=new z(Object.assign(Object.assign({},this),{auth:e,stsTokenManager:this.stsTokenManager._clone()}));return t.metadata._copy(this.metadata),t}_onReload(e){g(!this.reloadListener,this.auth,"internal-error"),this.reloadListener=e,this.reloadUserInfo&&(this._notifyReloadListener(this.reloadUserInfo),this.reloadUserInfo=null)}_notifyReloadListener(e){this.reloadListener?this.reloadListener(e):this.reloadUserInfo=e}_startProactiveRefresh(){this.proactiveRefresh._start()}_stopProactiveRefresh(){this.proactiveRefresh._stop()}async _updateTokensIfNecessary(e,t=!1){let i=!1;e.idToken&&e.idToken!==this.stsTokenManager.accessToken&&(this.stsTokenManager.updateFromServerResponse(e),i=!0),t&&await rn(this),await this.auth._persistUserIfCurrent(this),i&&this.auth._notifyListenersIfCurrent(this)}async delete(){if(G(this.auth.app))return Promise.reject(ge(this.auth));const e=await this.getIdToken();return await Ct(this,Wc(this.auth,{idToken:e})),this.stsTokenManager.clearRefreshToken(),this.auth.signOut()}toJSON(){return Object.assign(Object.assign({uid:this.uid,email:this.email||void 0,emailVerified:this.emailVerified,displayName:this.displayName||void 0,isAnonymous:this.isAnonymous,photoURL:this.photoURL||void 0,phoneNumber:this.phoneNumber||void 0,tenantId:this.tenantId||void 0,providerData:this.providerData.map(e=>Object.assign({},e)),stsTokenManager:this.stsTokenManager.toJSON(),_redirectEventId:this._redirectEventId},this.metadata.toJSON()),{apiKey:this.auth.config.apiKey,appName:this.auth.name})}get refreshToken(){return this.stsTokenManager.refreshToken||""}static _fromJSON(e,t){var i,s,r,o,a,l,c,h;const u=(i=t.displayName)!==null&&i!==void 0?i:void 0,d=(s=t.email)!==null&&s!==void 0?s:void 0,p=(r=t.phoneNumber)!==null&&r!==void 0?r:void 0,_=(o=t.photoURL)!==null&&o!==void 0?o:void 0,C=(a=t.tenantId)!==null&&a!==void 0?a:void 0,R=(l=t._redirectEventId)!==null&&l!==void 0?l:void 0,H=(c=t.createdAt)!==null&&c!==void 0?c:void 0,V=(h=t.lastLoginAt)!==null&&h!==void 0?h:void 0,{uid:$,emailVerified:xe,isAnonymous:cs,providerData:Dn,stsTokenManager:hs}=t;g($&&hs,e,"internal-error");const Ua=Ve.fromJSON(this.name,hs);g(typeof $=="string",e,"internal-error"),le(u,e.name),le(d,e.name),g(typeof xe=="boolean",e,"internal-error"),g(typeof cs=="boolean",e,"internal-error"),le(p,e.name),le(_,e.name),le(C,e.name),le(R,e.name),le(H,e.name),le(V,e.name);const Mn=new z({uid:$,auth:e,email:d,emailVerified:xe,displayName:u,isAnonymous:cs,photoURL:_,phoneNumber:p,tenantId:C,stsTokenManager:Ua,createdAt:H,lastLoginAt:V});return Dn&&Array.isArray(Dn)&&(Mn.providerData=Dn.map(Wa=>Object.assign({},Wa))),R&&(Mn._redirectEventId=R),Mn}static async _fromIdTokenResponse(e,t,i=!1){const s=new Ve;s.updateFromServerResponse(t);const r=new z({uid:t.localId,auth:e,stsTokenManager:s,isAnonymous:i});return await rn(r),r}static async _fromGetAccountInfoResponse(e,t,i){const s=t.users[0];g(s.localId!==void 0,"internal-error");const r=s.providerUserInfo!==void 0?qr(s.providerUserInfo):[],o=!(s.email&&s.passwordHash)&&!r?.length,a=new Ve;a.updateFromIdToken(i);const l=new z({uid:s.localId,auth:e,stsTokenManager:a,isAnonymous:o}),c={uid:s.localId,displayName:s.displayName||null,photoURL:s.photoUrl||null,email:s.email||null,emailVerified:s.emailVerified||!1,phoneNumber:s.phoneNumber||null,tenantId:s.tenantId||null,providerData:r,metadata:new si(s.createdAt,s.lastLoginAt),isAnonymous:!(s.email&&s.passwordHash)&&!r?.length};return Object.assign(l,c),l}}/**
|
|
796
796
|
* @license
|
|
797
797
|
* Copyright 2020 Google LLC
|
|
798
798
|
*
|
|
@@ -807,7 +807,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
807
807
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
808
808
|
* See the License for the specific language governing permissions and
|
|
809
809
|
* limitations under the License.
|
|
810
|
-
*/const
|
|
810
|
+
*/const Ss=new Map;function ee(n){se(n instanceof Function,"Expected a class definition");let e=Ss.get(n);return e?(se(e instanceof n,"Instance stored in cache mismatched with class"),e):(e=new n,Ss.set(n,e),e)}/**
|
|
811
811
|
* @license
|
|
812
812
|
* Copyright 2019 Google LLC
|
|
813
813
|
*
|
|
@@ -822,7 +822,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
822
822
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
823
823
|
* See the License for the specific language governing permissions and
|
|
824
824
|
* limitations under the License.
|
|
825
|
-
*/class
|
|
825
|
+
*/class Kr{constructor(){this.type="NONE",this.storage={}}async _isAvailable(){return!0}async _set(e,t){this.storage[e]=t}async _get(e){const t=this.storage[e];return t===void 0?null:t}async _remove(e){delete this.storage[e]}_addListener(e,t){}_removeListener(e,t){}}Kr.type="NONE";const bs=Kr;/**
|
|
826
826
|
* @license
|
|
827
827
|
* Copyright 2019 Google LLC
|
|
828
828
|
*
|
|
@@ -837,7 +837,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
837
837
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
838
838
|
* See the License for the specific language governing permissions and
|
|
839
839
|
* limitations under the License.
|
|
840
|
-
*/function qt(n,e,t){return`firebase:${n}:${e}:${t}`}class $e{constructor(e,t,i){this.persistence=e,this.auth=t,this.userKey=i;const{config:s,name:r}=this.auth;this.fullUserKey=qt(this.userKey,s.apiKey,r),this.fullPersistenceKey=qt("persistence",s.apiKey,r),this.boundEventHandler=t._onStorageEvent.bind(t),this.persistence._addListener(this.fullUserKey,this.boundEventHandler)}setCurrentUser(e){return this.persistence._set(this.fullUserKey,e.toJSON())}async getCurrentUser(){const e=await this.persistence._get(this.fullUserKey);if(!e)return null;if(typeof e=="string"){const t=await
|
|
840
|
+
*/function qt(n,e,t){return`firebase:${n}:${e}:${t}`}class $e{constructor(e,t,i){this.persistence=e,this.auth=t,this.userKey=i;const{config:s,name:r}=this.auth;this.fullUserKey=qt(this.userKey,s.apiKey,r),this.fullPersistenceKey=qt("persistence",s.apiKey,r),this.boundEventHandler=t._onStorageEvent.bind(t),this.persistence._addListener(this.fullUserKey,this.boundEventHandler)}setCurrentUser(e){return this.persistence._set(this.fullUserKey,e.toJSON())}async getCurrentUser(){const e=await this.persistence._get(this.fullUserKey);if(!e)return null;if(typeof e=="string"){const t=await sn(this.auth,{idToken:e}).catch(()=>{});return t?z._fromGetAccountInfoResponse(this.auth,t,e):null}return z._fromJSON(this.auth,e)}removeCurrentUser(){return this.persistence._remove(this.fullUserKey)}savePersistenceForRedirect(){return this.persistence._set(this.fullPersistenceKey,this.persistence.type)}async setPersistence(e){if(this.persistence===e)return;const t=await this.getCurrentUser();if(await this.removeCurrentUser(),this.persistence=e,t)return this.setCurrentUser(t)}delete(){this.persistence._removeListener(this.fullUserKey,this.boundEventHandler)}static async create(e,t,i="authUser"){if(!t.length)return new $e(ee(bs),e,i);const s=(await Promise.all(t.map(async c=>{if(await c._isAvailable())return c}))).filter(c=>c);let r=s[0]||ee(bs);const o=qt(i,e.config.apiKey,e.name);let a=null;for(const c of t)try{const h=await c._get(o);if(h){let u;if(typeof h=="string"){const d=await sn(e,{idToken:h}).catch(()=>{});if(!d)break;u=await z._fromGetAccountInfoResponse(e,d,h)}else u=z._fromJSON(e,h);c!==r&&(a=u),r=c;break}}catch{}const l=s.filter(c=>c._shouldAllowMigration);return!r._shouldAllowMigration||!l.length?new $e(r,e,i):(r=l[0],a&&await r._set(o,a.toJSON()),await Promise.all(t.map(async c=>{if(c!==r)try{await c._remove(o)}catch{}})),new $e(r,e,i))}}/**
|
|
841
841
|
* @license
|
|
842
842
|
* Copyright 2020 Google LLC
|
|
843
843
|
*
|
|
@@ -852,7 +852,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
852
852
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
853
853
|
* See the License for the specific language governing permissions and
|
|
854
854
|
* limitations under the License.
|
|
855
|
-
*/function Rs(n){const e=n.toLowerCase();if(e.includes("opera/")||e.includes("opr/")||e.includes("opios/"))return"Opera";if(
|
|
855
|
+
*/function Rs(n){const e=n.toLowerCase();if(e.includes("opera/")||e.includes("opr/")||e.includes("opios/"))return"Opera";if(Xr(e))return"IEMobile";if(e.includes("msie")||e.includes("trident/"))return"IE";if(e.includes("edge/"))return"Edge";if(Yr(e))return"Firefox";if(e.includes("silk/"))return"Silk";if(eo(e))return"Blackberry";if(to(e))return"Webos";if(Qr(e))return"Safari";if((e.includes("chrome/")||Jr(e))&&!e.includes("edge/"))return"Chrome";if(Zr(e))return"Android";{const t=/([a-zA-Z\d\.]+)\/[a-zA-Z\d\.]*$/,i=n.match(t);if(i?.length===2)return i[1]}return"Other"}function Yr(n=x()){return/firefox\//i.test(n)}function Qr(n=x()){const e=n.toLowerCase();return e.includes("safari/")&&!e.includes("chrome/")&&!e.includes("crios/")&&!e.includes("android")}function Jr(n=x()){return/crios\//i.test(n)}function Xr(n=x()){return/iemobile/i.test(n)}function Zr(n=x()){return/android/i.test(n)}function eo(n=x()){return/blackberry/i.test(n)}function to(n=x()){return/webos/i.test(n)}function ki(n=x()){return/iphone|ipad|ipod/i.test(n)||/macintosh/i.test(n)&&/mobile/i.test(n)}function qc(n=x()){var e;return ki(n)&&!!(!((e=window.navigator)===null||e===void 0)&&e.standalone)}function Kc(){return il()&&document.documentMode===10}function no(n=x()){return ki(n)||Zr(n)||to(n)||eo(n)||/windows phone/i.test(n)||Xr(n)}/**
|
|
856
856
|
* @license
|
|
857
857
|
* Copyright 2020 Google LLC
|
|
858
858
|
*
|
|
@@ -867,7 +867,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
867
867
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
868
868
|
* See the License for the specific language governing permissions and
|
|
869
869
|
* limitations under the License.
|
|
870
|
-
*/function
|
|
870
|
+
*/function io(n,e=[]){let t;switch(n){case"Browser":t=Rs(x());break;case"Worker":t=`${Rs(x())}-${n}`;break;default:t=n}const i=e.length?e.join(","):"FirebaseCore-web";return`${t}/JsCore/${nt}/${i}`}/**
|
|
871
871
|
* @license
|
|
872
872
|
* Copyright 2022 Google LLC
|
|
873
873
|
*
|
|
@@ -882,7 +882,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
882
882
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
883
883
|
* See the License for the specific language governing permissions and
|
|
884
884
|
* limitations under the License.
|
|
885
|
-
*/class
|
|
885
|
+
*/class Yc{constructor(e){this.auth=e,this.queue=[]}pushCallback(e,t){const i=r=>new Promise((o,a)=>{try{const l=e(r);o(l)}catch(l){a(l)}});i.onAbort=t,this.queue.push(i);const s=this.queue.length-1;return()=>{this.queue[s]=()=>Promise.resolve()}}async runMiddleware(e){if(this.auth.currentUser===e)return;const t=[];try{for(const i of this.queue)await i(e),i.onAbort&&t.push(i.onAbort)}catch(i){t.reverse();for(const s of t)try{s()}catch{}throw this.auth._errorFactory.create("login-blocked",{originalMessage:i?.message})}}}/**
|
|
886
886
|
* @license
|
|
887
887
|
* Copyright 2023 Google LLC
|
|
888
888
|
*
|
|
@@ -897,7 +897,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
897
897
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
898
898
|
* See the License for the specific language governing permissions and
|
|
899
899
|
* limitations under the License.
|
|
900
|
-
*/async function
|
|
900
|
+
*/async function Qc(n,e={}){return we(n,"GET","/v2/passwordPolicy",Me(n,e))}/**
|
|
901
901
|
* @license
|
|
902
902
|
* Copyright 2023 Google LLC
|
|
903
903
|
*
|
|
@@ -912,7 +912,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
912
912
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
913
913
|
* See the License for the specific language governing permissions and
|
|
914
914
|
* limitations under the License.
|
|
915
|
-
*/const
|
|
915
|
+
*/const Jc=6;class Xc{constructor(e){var t,i,s,r;const o=e.customStrengthOptions;this.customStrengthOptions={},this.customStrengthOptions.minPasswordLength=(t=o.minPasswordLength)!==null&&t!==void 0?t:Jc,o.maxPasswordLength&&(this.customStrengthOptions.maxPasswordLength=o.maxPasswordLength),o.containsLowercaseCharacter!==void 0&&(this.customStrengthOptions.containsLowercaseLetter=o.containsLowercaseCharacter),o.containsUppercaseCharacter!==void 0&&(this.customStrengthOptions.containsUppercaseLetter=o.containsUppercaseCharacter),o.containsNumericCharacter!==void 0&&(this.customStrengthOptions.containsNumericCharacter=o.containsNumericCharacter),o.containsNonAlphanumericCharacter!==void 0&&(this.customStrengthOptions.containsNonAlphanumericCharacter=o.containsNonAlphanumericCharacter),this.enforcementState=e.enforcementState,this.enforcementState==="ENFORCEMENT_STATE_UNSPECIFIED"&&(this.enforcementState="OFF"),this.allowedNonAlphanumericCharacters=(s=(i=e.allowedNonAlphanumericCharacters)===null||i===void 0?void 0:i.join(""))!==null&&s!==void 0?s:"",this.forceUpgradeOnSignin=(r=e.forceUpgradeOnSignin)!==null&&r!==void 0?r:!1,this.schemaVersion=e.schemaVersion}validatePassword(e){var t,i,s,r,o,a;const l={isValid:!0,passwordPolicy:this};return this.validatePasswordLengthOptions(e,l),this.validatePasswordCharacterOptions(e,l),l.isValid&&(l.isValid=(t=l.meetsMinPasswordLength)!==null&&t!==void 0?t:!0),l.isValid&&(l.isValid=(i=l.meetsMaxPasswordLength)!==null&&i!==void 0?i:!0),l.isValid&&(l.isValid=(s=l.containsLowercaseLetter)!==null&&s!==void 0?s:!0),l.isValid&&(l.isValid=(r=l.containsUppercaseLetter)!==null&&r!==void 0?r:!0),l.isValid&&(l.isValid=(o=l.containsNumericCharacter)!==null&&o!==void 0?o:!0),l.isValid&&(l.isValid=(a=l.containsNonAlphanumericCharacter)!==null&&a!==void 0?a:!0),l}validatePasswordLengthOptions(e,t){const i=this.customStrengthOptions.minPasswordLength,s=this.customStrengthOptions.maxPasswordLength;i&&(t.meetsMinPasswordLength=e.length>=i),s&&(t.meetsMaxPasswordLength=e.length<=s)}validatePasswordCharacterOptions(e,t){this.updatePasswordCharacterOptionsStatuses(t,!1,!1,!1,!1);let i;for(let s=0;s<e.length;s++)i=e.charAt(s),this.updatePasswordCharacterOptionsStatuses(t,i>="a"&&i<="z",i>="A"&&i<="Z",i>="0"&&i<="9",this.allowedNonAlphanumericCharacters.includes(i))}updatePasswordCharacterOptionsStatuses(e,t,i,s,r){this.customStrengthOptions.containsLowercaseLetter&&(e.containsLowercaseLetter||(e.containsLowercaseLetter=t)),this.customStrengthOptions.containsUppercaseLetter&&(e.containsUppercaseLetter||(e.containsUppercaseLetter=i)),this.customStrengthOptions.containsNumericCharacter&&(e.containsNumericCharacter||(e.containsNumericCharacter=s)),this.customStrengthOptions.containsNonAlphanumericCharacter&&(e.containsNonAlphanumericCharacter||(e.containsNonAlphanumericCharacter=r))}}/**
|
|
916
916
|
* @license
|
|
917
917
|
* Copyright 2020 Google LLC
|
|
918
918
|
*
|
|
@@ -927,7 +927,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
927
927
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
928
928
|
* See the License for the specific language governing permissions and
|
|
929
929
|
* limitations under the License.
|
|
930
|
-
*/class
|
|
930
|
+
*/class Zc{constructor(e,t,i,s){this.app=e,this.heartbeatServiceProvider=t,this.appCheckServiceProvider=i,this.config=s,this.currentUser=null,this.emulatorConfig=null,this.operations=Promise.resolve(),this.authStateSubscription=new ks(this),this.idTokenSubscription=new ks(this),this.beforeStateQueue=new Yc(this),this.redirectUser=null,this.isProactiveRefreshEnabled=!1,this.EXPECTED_PASSWORD_POLICY_SCHEMA_VERSION=1,this._canInitEmulator=!0,this._isInitialized=!1,this._deleted=!1,this._initializationPromise=null,this._popupRedirectResolver=null,this._errorFactory=Vr,this._agentRecaptchaConfig=null,this._tenantRecaptchaConfigs={},this._projectPasswordPolicy=null,this._tenantPasswordPolicies={},this._resolvePersistenceManagerAvailable=void 0,this.lastNotifiedUid=void 0,this.languageCode=null,this.tenantId=null,this.settings={appVerificationDisabledForTesting:!1},this.frameworks=[],this.name=e.name,this.clientVersion=s.sdkClientVersion,this._persistenceManagerAvailable=new Promise(r=>this._resolvePersistenceManagerAvailable=r)}_initializeWithPersistence(e,t){return t&&(this._popupRedirectResolver=ee(t)),this._initializationPromise=this.queue(async()=>{var i,s,r;if(!this._deleted&&(this.persistenceManager=await $e.create(this,e),(i=this._resolvePersistenceManagerAvailable)===null||i===void 0||i.call(this),!this._deleted)){if(!((s=this._popupRedirectResolver)===null||s===void 0)&&s._shouldInitProactively)try{await this._popupRedirectResolver._initialize(this)}catch{}await this.initializeCurrentUser(t),this.lastNotifiedUid=((r=this.currentUser)===null||r===void 0?void 0:r.uid)||null,!this._deleted&&(this._isInitialized=!0)}}),this._initializationPromise}async _onStorageEvent(){if(this._deleted)return;const e=await this.assertedPersistence.getCurrentUser();if(!(!this.currentUser&&!e)){if(this.currentUser&&e&&this.currentUser.uid===e.uid){this._currentUser._assign(e),await this.currentUser.getIdToken();return}await this._updateCurrentUser(e,!0)}}async initializeCurrentUserFromIdToken(e){try{const t=await sn(this,{idToken:e}),i=await z._fromGetAccountInfoResponse(this,t,e);await this.directlySetCurrentUser(i)}catch(t){console.warn("FirebaseServerApp could not login user with provided authIdToken: ",t),await this.directlySetCurrentUser(null)}}async initializeCurrentUser(e){var t;if(G(this.app)){const o=this.app.settings.authIdToken;return o?new Promise(a=>{setTimeout(()=>this.initializeCurrentUserFromIdToken(o).then(a,a))}):this.directlySetCurrentUser(null)}const i=await this.assertedPersistence.getCurrentUser();let s=i,r=!1;if(e&&this.config.authDomain){await this.getOrInitRedirectPersistenceManager();const o=(t=this.redirectUser)===null||t===void 0?void 0:t._redirectEventId,a=s?._redirectEventId,l=await this.tryRedirectSignIn(e);(!o||o===a)&&l?.user&&(s=l.user,r=!0)}if(!s)return this.directlySetCurrentUser(null);if(!s._redirectEventId){if(r)try{await this.beforeStateQueue.runMiddleware(s)}catch(o){s=i,this._popupRedirectResolver._overrideRedirectResult(this,()=>Promise.reject(o))}return s?this.reloadAndSetCurrentUserOrClear(s):this.directlySetCurrentUser(null)}return g(this._popupRedirectResolver,this,"argument-error"),await this.getOrInitRedirectPersistenceManager(),this.redirectUser&&this.redirectUser._redirectEventId===s._redirectEventId?this.directlySetCurrentUser(s):this.reloadAndSetCurrentUserOrClear(s)}async tryRedirectSignIn(e){let t=null;try{t=await this._popupRedirectResolver._completeRedirectFn(this,e,!0)}catch{await this._setRedirectUser(null)}return t}async reloadAndSetCurrentUserOrClear(e){try{await rn(e)}catch(t){if(t?.code!=="auth/network-request-failed")return this.directlySetCurrentUser(null)}return this.directlySetCurrentUser(e)}useDeviceLanguage(){this.languageCode=Pc()}async _delete(){this._deleted=!0}async updateCurrentUser(e){if(G(this.app))return Promise.reject(ge(this));const t=e?F(e):null;return t&&g(t.auth.config.apiKey===this.config.apiKey,this,"invalid-user-token"),this._updateCurrentUser(t&&t._clone(this))}async _updateCurrentUser(e,t=!1){if(!this._deleted)return e&&g(this.tenantId===e.tenantId,this,"tenant-id-mismatch"),t||await this.beforeStateQueue.runMiddleware(e),this.queue(async()=>{await this.directlySetCurrentUser(e),this.notifyAuthListeners()})}async signOut(){return G(this.app)?Promise.reject(ge(this)):(await this.beforeStateQueue.runMiddleware(null),(this.redirectPersistenceManager||this._popupRedirectResolver)&&await this._setRedirectUser(null),this._updateCurrentUser(null,!0))}setPersistence(e){return G(this.app)?Promise.reject(ge(this)):this.queue(async()=>{await this.assertedPersistence.setPersistence(ee(e))})}_getRecaptchaConfig(){return this.tenantId==null?this._agentRecaptchaConfig:this._tenantRecaptchaConfigs[this.tenantId]}async validatePassword(e){this._getPasswordPolicyInternal()||await this._updatePasswordPolicy();const t=this._getPasswordPolicyInternal();return t.schemaVersion!==this.EXPECTED_PASSWORD_POLICY_SCHEMA_VERSION?Promise.reject(this._errorFactory.create("unsupported-password-policy-schema-version",{})):t.validatePassword(e)}_getPasswordPolicyInternal(){return this.tenantId===null?this._projectPasswordPolicy:this._tenantPasswordPolicies[this.tenantId]}async _updatePasswordPolicy(){const e=await Qc(this),t=new Xc(e);this.tenantId===null?this._projectPasswordPolicy=t:this._tenantPasswordPolicies[this.tenantId]=t}_getPersistenceType(){return this.assertedPersistence.persistence.type}_getPersistence(){return this.assertedPersistence.persistence}_updateErrorMap(e){this._errorFactory=new Ot("auth","Firebase",e())}onAuthStateChanged(e,t,i){return this.registerStateListener(this.authStateSubscription,e,t,i)}beforeAuthStateChanged(e,t){return this.beforeStateQueue.pushCallback(e,t)}onIdTokenChanged(e,t,i){return this.registerStateListener(this.idTokenSubscription,e,t,i)}authStateReady(){return new Promise((e,t)=>{if(this.currentUser)e();else{const i=this.onAuthStateChanged(()=>{i(),e()},t)}})}async revokeAccessToken(e){if(this.currentUser){const t=await this.currentUser.getIdToken(),i={providerId:"apple.com",tokenType:"ACCESS_TOKEN",token:e,idToken:t};this.tenantId!=null&&(i.tenantId=this.tenantId),await zc(this,i)}}toJSON(){var e;return{apiKey:this.config.apiKey,authDomain:this.config.authDomain,appName:this.name,currentUser:(e=this._currentUser)===null||e===void 0?void 0:e.toJSON()}}async _setRedirectUser(e,t){const i=await this.getOrInitRedirectPersistenceManager(t);return e===null?i.removeCurrentUser():i.setCurrentUser(e)}async getOrInitRedirectPersistenceManager(e){if(!this.redirectPersistenceManager){const t=e&&ee(e)||this._popupRedirectResolver;g(t,this,"argument-error"),this.redirectPersistenceManager=await $e.create(this,[ee(t._redirectPersistence)],"redirectUser"),this.redirectUser=await this.redirectPersistenceManager.getCurrentUser()}return this.redirectPersistenceManager}async _redirectUserForId(e){var t,i;return this._isInitialized&&await this.queue(async()=>{}),((t=this._currentUser)===null||t===void 0?void 0:t._redirectEventId)===e?this._currentUser:((i=this.redirectUser)===null||i===void 0?void 0:i._redirectEventId)===e?this.redirectUser:null}async _persistUserIfCurrent(e){if(e===this.currentUser)return this.queue(async()=>this.directlySetCurrentUser(e))}_notifyListenersIfCurrent(e){e===this.currentUser&&this.notifyAuthListeners()}_key(){return`${this.config.authDomain}:${this.config.apiKey}:${this.name}`}_startProactiveRefresh(){this.isProactiveRefreshEnabled=!0,this.currentUser&&this._currentUser._startProactiveRefresh()}_stopProactiveRefresh(){this.isProactiveRefreshEnabled=!1,this.currentUser&&this._currentUser._stopProactiveRefresh()}get _currentUser(){return this.currentUser}notifyAuthListeners(){var e,t;if(!this._isInitialized)return;this.idTokenSubscription.next(this.currentUser);const i=(t=(e=this.currentUser)===null||e===void 0?void 0:e.uid)!==null&&t!==void 0?t:null;this.lastNotifiedUid!==i&&(this.lastNotifiedUid=i,this.authStateSubscription.next(this.currentUser))}registerStateListener(e,t,i,s){if(this._deleted)return()=>{};const r=typeof t=="function"?t:t.next.bind(t);let o=!1;const a=this._isInitialized?Promise.resolve():this._initializationPromise;if(g(a,this,"internal-error"),a.then(()=>{o||r(this.currentUser)}),typeof t=="function"){const l=e.addObserver(t,i,s);return()=>{o=!0,l()}}else{const l=e.addObserver(t);return()=>{o=!0,l()}}}async directlySetCurrentUser(e){this.currentUser&&this.currentUser!==e&&this._currentUser._stopProactiveRefresh(),e&&this.isProactiveRefreshEnabled&&e._startProactiveRefresh(),this.currentUser=e,e?await this.assertedPersistence.setCurrentUser(e):await this.assertedPersistence.removeCurrentUser()}queue(e){return this.operations=this.operations.then(e,e),this.operations}get assertedPersistence(){return g(this.persistenceManager,this,"internal-error"),this.persistenceManager}_logFramework(e){!e||this.frameworks.includes(e)||(this.frameworks.push(e),this.frameworks.sort(),this.clientVersion=io(this.config.clientPlatform,this._getFrameworks()))}_getFrameworks(){return this.frameworks}async _getAdditionalHeaders(){var e;const t={"X-Client-Version":this.clientVersion};this.app.options.appId&&(t["X-Firebase-gmpid"]=this.app.options.appId);const i=await((e=this.heartbeatServiceProvider.getImmediate({optional:!0}))===null||e===void 0?void 0:e.getHeartbeatsHeader());i&&(t["X-Firebase-Client"]=i);const s=await this._getAppCheckToken();return s&&(t["X-Firebase-AppCheck"]=s),t}async _getAppCheckToken(){var e;if(G(this.app)&&this.app.settings.appCheckToken)return this.app.settings.appCheckToken;const t=await((e=this.appCheckServiceProvider.getImmediate({optional:!0}))===null||e===void 0?void 0:e.getToken());return t?.error&&kc(`Error while retrieving App Check token: ${t.error}`),t?.token}}function it(n){return F(n)}class ks{constructor(e){this.auth=e,this.observer=null,this.addObserver=fl(t=>this.observer=t)}get next(){return g(this.observer,this.auth,"internal-error"),this.observer.next.bind(this.observer)}}/**
|
|
931
931
|
* @license
|
|
932
932
|
* Copyright 2020 Google LLC
|
|
933
933
|
*
|
|
@@ -942,7 +942,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
942
942
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
943
943
|
* See the License for the specific language governing permissions and
|
|
944
944
|
* limitations under the License.
|
|
945
|
-
*/let
|
|
945
|
+
*/let wn={async loadJS(){throw new Error("Unable to load external scripts")},recaptchaV2Script:"",recaptchaEnterpriseScript:"",gapiScript:""};function eh(n){wn=n}function so(n){return wn.loadJS(n)}function th(){return wn.recaptchaEnterpriseScript}function nh(){return wn.gapiScript}function ih(n){return`__${n}${Math.floor(Math.random()*1e6)}`}class sh{constructor(){this.enterprise=new rh}ready(e){e()}execute(e,t){return Promise.resolve("token")}render(e,t){return""}}class rh{ready(e){e()}execute(e,t){return Promise.resolve("token")}render(e,t){return""}}const oh="recaptcha-enterprise",ro="NO_RECAPTCHA";class ah{constructor(e){this.type=oh,this.auth=it(e)}async verify(e="verify",t=!1){async function i(r){if(!t){if(r.tenantId==null&&r._agentRecaptchaConfig!=null)return r._agentRecaptchaConfig.siteKey;if(r.tenantId!=null&&r._tenantRecaptchaConfigs[r.tenantId]!==void 0)return r._tenantRecaptchaConfigs[r.tenantId].siteKey}return new Promise(async(o,a)=>{Uc(r,{clientType:"CLIENT_TYPE_WEB",version:"RECAPTCHA_ENTERPRISE"}).then(l=>{if(l.recaptchaKey===void 0)a(new Error("recaptcha Enterprise site key undefined"));else{const c=new Fc(l);return r.tenantId==null?r._agentRecaptchaConfig=c:r._tenantRecaptchaConfigs[r.tenantId]=c,o(c.siteKey)}}).catch(l=>{a(l)})})}function s(r,o,a){const l=window.grecaptcha;ws(l)?l.enterprise.ready(()=>{l.enterprise.execute(r,{action:e}).then(c=>{o(c)}).catch(()=>{o(ro)})}):a(Error("No reCAPTCHA enterprise script loaded."))}return this.auth.settings.appVerificationDisabledForTesting?new sh().execute("siteKey",{action:"verify"}):new Promise((r,o)=>{i(this.auth).then(a=>{if(!t&&ws(window.grecaptcha))s(a,r,o);else{if(typeof window>"u"){o(new Error("RecaptchaVerifier is only supported in browser"));return}let l=th();l.length!==0&&(l+=a),so(l).then(()=>{s(a,r,o)}).catch(c=>{o(c)})}}).catch(a=>{o(a)})})}}async function As(n,e,t,i=!1,s=!1){const r=new ah(n);let o;if(s)o=ro;else try{o=await r.verify(t)}catch{o=await r.verify(t,!0)}const a=Object.assign({},e);if(t==="mfaSmsEnrollment"||t==="mfaSmsSignIn"){if("phoneEnrollmentInfo"in a){const l=a.phoneEnrollmentInfo.phoneNumber,c=a.phoneEnrollmentInfo.recaptchaToken;Object.assign(a,{phoneEnrollmentInfo:{phoneNumber:l,recaptchaToken:c,captchaResponse:o,clientType:"CLIENT_TYPE_WEB",recaptchaVersion:"RECAPTCHA_ENTERPRISE"}})}else if("phoneSignInInfo"in a){const l=a.phoneSignInInfo.recaptchaToken;Object.assign(a,{phoneSignInInfo:{recaptchaToken:l,captchaResponse:o,clientType:"CLIENT_TYPE_WEB",recaptchaVersion:"RECAPTCHA_ENTERPRISE"}})}return a}return i?Object.assign(a,{captchaResp:o}):Object.assign(a,{captchaResponse:o}),Object.assign(a,{clientType:"CLIENT_TYPE_WEB"}),Object.assign(a,{recaptchaVersion:"RECAPTCHA_ENTERPRISE"}),a}async function Ns(n,e,t,i,s){var r;if(!((r=n._getRecaptchaConfig())===null||r===void 0)&&r.isProviderEnabled("EMAIL_PASSWORD_PROVIDER")){const o=await As(n,e,t,t==="getOobCode");return i(n,o)}else return i(n,e).catch(async o=>{if(o.code==="auth/missing-recaptcha-token"){console.log(`${t} is protected by reCAPTCHA Enterprise for this project. Automatically triggering the reCAPTCHA flow and restarting the flow.`);const a=await As(n,e,t,t==="getOobCode");return i(n,a)}else return Promise.reject(o)})}/**
|
|
946
946
|
* @license
|
|
947
947
|
* Copyright 2020 Google LLC
|
|
948
948
|
*
|
|
@@ -957,7 +957,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
957
957
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
958
958
|
* See the License for the specific language governing permissions and
|
|
959
959
|
* limitations under the License.
|
|
960
|
-
*/function
|
|
960
|
+
*/function lh(n,e){const t=Ti(n,"auth");if(t.isInitialized()){const s=t.getImmediate(),r=t.getOptions();if(ke(r,e??{}))return s;Q(s,"already-initialized")}return t.initialize({options:e})}function ch(n,e){const t=e?.persistence||[],i=(Array.isArray(t)?t:[t]).map(ee);e?.errorMap&&n._updateErrorMap(e.errorMap),n._initializeWithPersistence(i,e?.popupRedirectResolver)}function hh(n,e,t){const i=it(n);g(/^https?:\/\//.test(e),i,"invalid-emulator-scheme");const s=!1,r=oo(e),{host:o,port:a}=uh(e),l=a===null?"":`:${a}`,c={url:`${r}//${o}${l}/`},h=Object.freeze({host:o,port:a,protocol:r.replace(":",""),options:Object.freeze({disableWarnings:s})});if(!i._canInitEmulator){g(i.config.emulator&&i.emulatorConfig,i,"emulator-config-failed"),g(ke(c,i.config.emulator)&&ke(h,i.emulatorConfig),i,"emulator-config-failed");return}i.config.emulator=c,i.emulatorConfig=h,i.settings.appVerificationDisabledForTesting=!0,et(o)?(Nr(`${r}//${o}${l}`),Pr("Auth",!0)):dh()}function oo(n){const e=n.indexOf(":");return e<0?"":n.substr(0,e+1)}function uh(n){const e=oo(n),t=/(\/\/)?([^?#/]+)/.exec(n.substr(e.length));if(!t)return{host:"",port:null};const i=t[2].split("@").pop()||"",s=/^(\[[^\]]+\])(:|$)/.exec(i);if(s){const r=s[1];return{host:r,port:Ps(i.substr(r.length+1))}}else{const[r,o]=i.split(":");return{host:r,port:Ps(o)}}}function Ps(n){if(!n)return null;const e=Number(n);return isNaN(e)?null:e}function dh(){function n(){const e=document.createElement("p"),t=e.style;e.innerText="Running in emulator mode. Do not use with production credentials.",t.position="fixed",t.width="100%",t.backgroundColor="#ffffff",t.border=".1em solid #000000",t.color="#b50000",t.bottom="0px",t.left="0px",t.margin="0px",t.zIndex="10000",t.textAlign="center",e.classList.add("firebase-emulator-warning"),document.body.appendChild(e)}typeof console<"u"&&typeof console.info=="function"&&console.info("WARNING: You are using the Auth Emulator, which is intended for local testing only. Do not use with production credentials."),typeof window<"u"&&typeof document<"u"&&(document.readyState==="loading"?window.addEventListener("DOMContentLoaded",n):n())}/**
|
|
961
961
|
* @license
|
|
962
962
|
* Copyright 2020 Google LLC
|
|
963
963
|
*
|
|
@@ -972,7 +972,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
972
972
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
973
973
|
* See the License for the specific language governing permissions and
|
|
974
974
|
* limitations under the License.
|
|
975
|
-
*/class
|
|
975
|
+
*/class Ai{constructor(e,t){this.providerId=e,this.signInMethod=t}toJSON(){return Z("not implemented")}_getIdTokenResponse(e){return Z("not implemented")}_linkToIdToken(e,t){return Z("not implemented")}_getReauthenticationResolver(e){return Z("not implemented")}}async function fh(n,e){return we(n,"POST","/v1/accounts:signUp",e)}/**
|
|
976
976
|
* @license
|
|
977
977
|
* Copyright 2020 Google LLC
|
|
978
978
|
*
|
|
@@ -987,7 +987,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
987
987
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
988
988
|
* See the License for the specific language governing permissions and
|
|
989
989
|
* limitations under the License.
|
|
990
|
-
*/async function
|
|
990
|
+
*/async function ph(n,e){return Cn(n,"POST","/v1/accounts:signInWithPassword",Me(n,e))}/**
|
|
991
991
|
* @license
|
|
992
992
|
* Copyright 2020 Google LLC
|
|
993
993
|
*
|
|
@@ -1002,7 +1002,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1002
1002
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1003
1003
|
* See the License for the specific language governing permissions and
|
|
1004
1004
|
* limitations under the License.
|
|
1005
|
-
*/async function
|
|
1005
|
+
*/async function _h(n,e){return Cn(n,"POST","/v1/accounts:signInWithEmailLink",Me(n,e))}async function gh(n,e){return Cn(n,"POST","/v1/accounts:signInWithEmailLink",Me(n,e))}/**
|
|
1006
1006
|
* @license
|
|
1007
1007
|
* Copyright 2020 Google LLC
|
|
1008
1008
|
*
|
|
@@ -1017,7 +1017,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1017
1017
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1018
1018
|
* See the License for the specific language governing permissions and
|
|
1019
1019
|
* limitations under the License.
|
|
1020
|
-
*/class wt extends
|
|
1020
|
+
*/class wt extends Ai{constructor(e,t,i,s=null){super("password",i),this._email=e,this._password=t,this._tenantId=s}static _fromEmailAndPassword(e,t){return new wt(e,t,"password")}static _fromEmailAndCode(e,t,i=null){return new wt(e,t,"emailLink",i)}toJSON(){return{email:this._email,password:this._password,signInMethod:this.signInMethod,tenantId:this._tenantId}}static fromJSON(e){const t=typeof e=="string"?JSON.parse(e):e;if(t?.email&&t?.password){if(t.signInMethod==="password")return this._fromEmailAndPassword(t.email,t.password);if(t.signInMethod==="emailLink")return this._fromEmailAndCode(t.email,t.password,t.tenantId)}return null}async _getIdTokenResponse(e){switch(this.signInMethod){case"password":const t={returnSecureToken:!0,email:this._email,password:this._password,clientType:"CLIENT_TYPE_WEB"};return Ns(e,t,"signInWithPassword",ph);case"emailLink":return _h(e,{email:this._email,oobCode:this._password});default:Q(e,"internal-error")}}async _linkToIdToken(e,t){switch(this.signInMethod){case"password":const i={idToken:t,returnSecureToken:!0,email:this._email,password:this._password,clientType:"CLIENT_TYPE_WEB"};return Ns(e,i,"signUpPassword",fh);case"emailLink":return gh(e,{idToken:t,email:this._email,oobCode:this._password});default:Q(e,"internal-error")}}_getReauthenticationResolver(e){return this._getIdTokenResponse(e)}}/**
|
|
1021
1021
|
* @license
|
|
1022
1022
|
* Copyright 2020 Google LLC
|
|
1023
1023
|
*
|
|
@@ -1032,7 +1032,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1032
1032
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1033
1033
|
* See the License for the specific language governing permissions and
|
|
1034
1034
|
* limitations under the License.
|
|
1035
|
-
*/async function
|
|
1035
|
+
*/async function Ge(n,e){return Cn(n,"POST","/v1/accounts:signInWithIdp",Me(n,e))}/**
|
|
1036
1036
|
* @license
|
|
1037
1037
|
* Copyright 2020 Google LLC
|
|
1038
1038
|
*
|
|
@@ -1047,7 +1047,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1047
1047
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1048
1048
|
* See the License for the specific language governing permissions and
|
|
1049
1049
|
* limitations under the License.
|
|
1050
|
-
*/const
|
|
1050
|
+
*/const mh="http://localhost";class Ne extends Ai{constructor(){super(...arguments),this.pendingToken=null}static _fromParams(e){const t=new Ne(e.providerId,e.signInMethod);return e.idToken||e.accessToken?(e.idToken&&(t.idToken=e.idToken),e.accessToken&&(t.accessToken=e.accessToken),e.nonce&&!e.pendingToken&&(t.nonce=e.nonce),e.pendingToken&&(t.pendingToken=e.pendingToken)):e.oauthToken&&e.oauthTokenSecret?(t.accessToken=e.oauthToken,t.secret=e.oauthTokenSecret):Q("argument-error"),t}toJSON(){return{idToken:this.idToken,accessToken:this.accessToken,secret:this.secret,nonce:this.nonce,pendingToken:this.pendingToken,providerId:this.providerId,signInMethod:this.signInMethod}}static fromJSON(e){const t=typeof e=="string"?JSON.parse(e):e,{providerId:i,signInMethod:s}=t,r=mi(t,["providerId","signInMethod"]);if(!i||!s)return null;const o=new Ne(i,s);return o.idToken=r.idToken||void 0,o.accessToken=r.accessToken||void 0,o.secret=r.secret,o.nonce=r.nonce,o.pendingToken=r.pendingToken||null,o}_getIdTokenResponse(e){const t=this.buildRequest();return Ge(e,t)}_linkToIdToken(e,t){const i=this.buildRequest();return i.idToken=t,Ge(e,i)}_getReauthenticationResolver(e){const t=this.buildRequest();return t.autoCreate=!1,Ge(e,t)}buildRequest(){const e={requestUri:mh,returnSecureToken:!0};if(this.pendingToken)e.pendingToken=this.pendingToken;else{const t={};this.idToken&&(t.id_token=this.idToken),this.accessToken&&(t.access_token=this.accessToken),this.secret&&(t.oauth_token_secret=this.secret),t.providerId=this.providerId,this.nonce&&!this.pendingToken&&(t.nonce=this.nonce),e.postBody=tt(t)}return e}}/**
|
|
1051
1051
|
* @license
|
|
1052
1052
|
* Copyright 2020 Google LLC
|
|
1053
1053
|
*
|
|
@@ -1062,7 +1062,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1062
1062
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1063
1063
|
* See the License for the specific language governing permissions and
|
|
1064
1064
|
* limitations under the License.
|
|
1065
|
-
*/function
|
|
1065
|
+
*/function vh(n){switch(n){case"recoverEmail":return"RECOVER_EMAIL";case"resetPassword":return"PASSWORD_RESET";case"signIn":return"EMAIL_SIGNIN";case"verifyEmail":return"VERIFY_EMAIL";case"verifyAndChangeEmail":return"VERIFY_AND_CHANGE_EMAIL";case"revertSecondFactorAddition":return"REVERT_SECOND_FACTOR_ADDITION";default:return null}}function yh(n){const e=ut(dt(n)).link,t=e?ut(dt(e)).deep_link_id:null,i=ut(dt(n)).deep_link_id;return(i?ut(dt(i)).link:null)||i||t||e||n}class Ni{constructor(e){var t,i,s,r,o,a;const l=ut(dt(e)),c=(t=l.apiKey)!==null&&t!==void 0?t:null,h=(i=l.oobCode)!==null&&i!==void 0?i:null,u=vh((s=l.mode)!==null&&s!==void 0?s:null);g(c&&h&&u,"argument-error"),this.apiKey=c,this.operation=u,this.code=h,this.continueUrl=(r=l.continueUrl)!==null&&r!==void 0?r:null,this.languageCode=(o=l.lang)!==null&&o!==void 0?o:null,this.tenantId=(a=l.tenantId)!==null&&a!==void 0?a:null}static parseLink(e){const t=yh(e);try{return new Ni(t)}catch{return null}}}/**
|
|
1066
1066
|
* @license
|
|
1067
1067
|
* Copyright 2020 Google LLC
|
|
1068
1068
|
*
|
|
@@ -1077,7 +1077,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1077
1077
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1078
1078
|
* See the License for the specific language governing permissions and
|
|
1079
1079
|
* limitations under the License.
|
|
1080
|
-
*/class st{constructor(){this.providerId=st.PROVIDER_ID}static credential(e,t){return wt._fromEmailAndPassword(e,t)}static credentialWithLink(e,t){const i=
|
|
1080
|
+
*/class st{constructor(){this.providerId=st.PROVIDER_ID}static credential(e,t){return wt._fromEmailAndPassword(e,t)}static credentialWithLink(e,t){const i=Ni.parseLink(t);return g(i,"argument-error"),wt._fromEmailAndCode(e,i.code,i.tenantId)}}st.PROVIDER_ID="password";st.EMAIL_PASSWORD_SIGN_IN_METHOD="password";st.EMAIL_LINK_SIGN_IN_METHOD="emailLink";/**
|
|
1081
1081
|
* @license
|
|
1082
1082
|
* Copyright 2020 Google LLC
|
|
1083
1083
|
*
|
|
@@ -1092,7 +1092,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1092
1092
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1093
1093
|
* See the License for the specific language governing permissions and
|
|
1094
1094
|
* limitations under the License.
|
|
1095
|
-
*/class
|
|
1095
|
+
*/class ao{constructor(e){this.providerId=e,this.defaultLanguageCode=null,this.customParameters={}}setDefaultLanguage(e){this.defaultLanguageCode=e}setCustomParameters(e){return this.customParameters=e,this}getCustomParameters(){return this.customParameters}}/**
|
|
1096
1096
|
* @license
|
|
1097
1097
|
* Copyright 2019 Google LLC
|
|
1098
1098
|
*
|
|
@@ -1107,7 +1107,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1107
1107
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1108
1108
|
* See the License for the specific language governing permissions and
|
|
1109
1109
|
* limitations under the License.
|
|
1110
|
-
*/class Mt extends
|
|
1110
|
+
*/class Mt extends ao{constructor(){super(...arguments),this.scopes=[]}addScope(e){return this.scopes.includes(e)||this.scopes.push(e),this}getScopes(){return[...this.scopes]}}/**
|
|
1111
1111
|
* @license
|
|
1112
1112
|
* Copyright 2020 Google LLC
|
|
1113
1113
|
*
|
|
@@ -1197,7 +1197,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1197
1197
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1198
1198
|
* See the License for the specific language governing permissions and
|
|
1199
1199
|
* limitations under the License.
|
|
1200
|
-
*/class
|
|
1200
|
+
*/class on extends Ce{constructor(e,t,i,s){var r;super(t.code,t.message),this.operationType=i,this.user=s,Object.setPrototypeOf(this,on.prototype),this.customData={appName:e.name,tenantId:(r=e.tenantId)!==null&&r!==void 0?r:void 0,_serverResponse:t.customData._serverResponse,operationType:i}}static _fromErrorAndOperation(e,t,i,s){return new on(e,t,i,s)}}function lo(n,e,t,i){return(e==="reauthenticate"?t._getReauthenticationResolver(n):t._getIdTokenResponse(n)).catch(r=>{throw r.code==="auth/multi-factor-auth-required"?on._fromErrorAndOperation(n,r,e,i):r})}async function Eh(n,e,t=!1){const i=await Ct(n,e._linkToIdToken(n.auth,await n.getIdToken()),t);return Ye._forOperation(n,"link",i)}/**
|
|
1201
1201
|
* @license
|
|
1202
1202
|
* Copyright 2019 Google LLC
|
|
1203
1203
|
*
|
|
@@ -1212,7 +1212,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1212
1212
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1213
1213
|
* See the License for the specific language governing permissions and
|
|
1214
1214
|
* limitations under the License.
|
|
1215
|
-
*/async function
|
|
1215
|
+
*/async function Ih(n,e,t=!1){const{auth:i}=n;if(G(i.app))return Promise.reject(ge(i));const s="reauthenticate";try{const r=await Ct(n,lo(i,s,e,n),t);g(r.idToken,i,"internal-error");const o=Ri(r.idToken);g(o,i,"internal-error");const{sub:a}=o;return g(n.uid===a,i,"user-mismatch"),Ye._forOperation(n,s,r)}catch(r){throw r?.code==="auth/user-not-found"&&Q(i,"user-mismatch"),r}}/**
|
|
1216
1216
|
* @license
|
|
1217
1217
|
* Copyright 2020 Google LLC
|
|
1218
1218
|
*
|
|
@@ -1227,7 +1227,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1227
1227
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1228
1228
|
* See the License for the specific language governing permissions and
|
|
1229
1229
|
* limitations under the License.
|
|
1230
|
-
*/async function
|
|
1230
|
+
*/async function co(n,e,t=!1){if(G(n.app))return Promise.reject(ge(n));const i="signIn",s=await lo(n,i,e),r=await Ye._fromIdTokenResponse(n,i,s);return t||await n._updateCurrentUser(r.user),r}async function Ch(n,e){return co(it(n),e)}/**
|
|
1231
1231
|
* @license
|
|
1232
1232
|
* Copyright 2020 Google LLC
|
|
1233
1233
|
*
|
|
@@ -1242,7 +1242,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1242
1242
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1243
1243
|
* See the License for the specific language governing permissions and
|
|
1244
1244
|
* limitations under the License.
|
|
1245
|
-
*/async function
|
|
1245
|
+
*/async function wh(n){const e=it(n);e._getPasswordPolicyInternal()&&await e._updatePasswordPolicy()}function Th(n,e,t){return G(n.app)?Promise.reject(ge(n)):Ch(F(n),st.credential(e,t)).catch(async i=>{throw i.code==="auth/password-does-not-meet-requirements"&&wh(n),i})}/**
|
|
1246
1246
|
* @license
|
|
1247
1247
|
* Copyright 2020 Google LLC
|
|
1248
1248
|
*
|
|
@@ -1257,7 +1257,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1257
1257
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1258
1258
|
* See the License for the specific language governing permissions and
|
|
1259
1259
|
* limitations under the License.
|
|
1260
|
-
*/function
|
|
1260
|
+
*/function Sh(n,e){return F(n).setPersistence(e)}function bh(n,e,t,i){return F(n).onIdTokenChanged(e,t,i)}function Rh(n,e,t){return F(n).beforeAuthStateChanged(e,t)}function s_(n,e,t,i){return F(n).onAuthStateChanged(e,t,i)}function ho(n){return F(n).signOut()}const an="__sak";/**
|
|
1261
1261
|
* @license
|
|
1262
1262
|
* Copyright 2019 Google LLC
|
|
1263
1263
|
*
|
|
@@ -1272,7 +1272,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1272
1272
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1273
1273
|
* See the License for the specific language governing permissions and
|
|
1274
1274
|
* limitations under the License.
|
|
1275
|
-
*/class
|
|
1275
|
+
*/class uo{constructor(e,t){this.storageRetriever=e,this.type=t}_isAvailable(){try{return this.storage?(this.storage.setItem(an,"1"),this.storage.removeItem(an),Promise.resolve(!0)):Promise.resolve(!1)}catch{return Promise.resolve(!1)}}_set(e,t){return this.storage.setItem(e,JSON.stringify(t)),Promise.resolve()}_get(e){const t=this.storage.getItem(e);return Promise.resolve(t?JSON.parse(t):null)}_remove(e){return this.storage.removeItem(e),Promise.resolve()}get storage(){return this.storageRetriever()}}/**
|
|
1276
1276
|
* @license
|
|
1277
1277
|
* Copyright 2020 Google LLC
|
|
1278
1278
|
*
|
|
@@ -1287,7 +1287,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1287
1287
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1288
1288
|
* See the License for the specific language governing permissions and
|
|
1289
1289
|
* limitations under the License.
|
|
1290
|
-
*/const
|
|
1290
|
+
*/const kh=1e3,Ah=10;class fo extends uo{constructor(){super(()=>window.localStorage,"LOCAL"),this.boundEventHandler=(e,t)=>this.onStorageEvent(e,t),this.listeners={},this.localCache={},this.pollTimer=null,this.fallbackToPolling=no(),this._shouldAllowMigration=!0}forAllChangedKeys(e){for(const t of Object.keys(this.listeners)){const i=this.storage.getItem(t),s=this.localCache[t];i!==s&&e(t,s,i)}}onStorageEvent(e,t=!1){if(!e.key){this.forAllChangedKeys((o,a,l)=>{this.notifyListeners(o,l)});return}const i=e.key;t?this.detachListener():this.stopPolling();const s=()=>{const o=this.storage.getItem(i);!t&&this.localCache[i]===o||this.notifyListeners(i,o)},r=this.storage.getItem(i);Kc()&&r!==e.newValue&&e.newValue!==e.oldValue?setTimeout(s,Ah):s()}notifyListeners(e,t){this.localCache[e]=t;const i=this.listeners[e];if(i)for(const s of Array.from(i))s(t&&JSON.parse(t))}startPolling(){this.stopPolling(),this.pollTimer=setInterval(()=>{this.forAllChangedKeys((e,t,i)=>{this.onStorageEvent(new StorageEvent("storage",{key:e,oldValue:t,newValue:i}),!0)})},kh)}stopPolling(){this.pollTimer&&(clearInterval(this.pollTimer),this.pollTimer=null)}attachListener(){window.addEventListener("storage",this.boundEventHandler)}detachListener(){window.removeEventListener("storage",this.boundEventHandler)}_addListener(e,t){Object.keys(this.listeners).length===0&&(this.fallbackToPolling?this.startPolling():this.attachListener()),this.listeners[e]||(this.listeners[e]=new Set,this.localCache[e]=this.storage.getItem(e)),this.listeners[e].add(t)}_removeListener(e,t){this.listeners[e]&&(this.listeners[e].delete(t),this.listeners[e].size===0&&delete this.listeners[e]),Object.keys(this.listeners).length===0&&(this.detachListener(),this.stopPolling())}async _set(e,t){await super._set(e,t),this.localCache[e]=JSON.stringify(t)}async _get(e){const t=await super._get(e);return this.localCache[e]=JSON.stringify(t),t}async _remove(e){await super._remove(e),delete this.localCache[e]}}fo.type="LOCAL";const po=fo;/**
|
|
1291
1291
|
* @license
|
|
1292
1292
|
* Copyright 2020 Google LLC
|
|
1293
1293
|
*
|
|
@@ -1302,7 +1302,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1302
1302
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1303
1303
|
* See the License for the specific language governing permissions and
|
|
1304
1304
|
* limitations under the License.
|
|
1305
|
-
*/class
|
|
1305
|
+
*/class _o extends uo{constructor(){super(()=>window.sessionStorage,"SESSION")}_addListener(e,t){}_removeListener(e,t){}}_o.type="SESSION";const Pi=_o;/**
|
|
1306
1306
|
* @license
|
|
1307
1307
|
* Copyright 2019 Google LLC
|
|
1308
1308
|
*
|
|
@@ -1317,7 +1317,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1317
1317
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1318
1318
|
* See the License for the specific language governing permissions and
|
|
1319
1319
|
* limitations under the License.
|
|
1320
|
-
*/function
|
|
1320
|
+
*/function Nh(n){return Promise.all(n.map(async e=>{try{return{fulfilled:!0,value:await e}}catch(t){return{fulfilled:!1,reason:t}}}))}/**
|
|
1321
1321
|
* @license
|
|
1322
1322
|
* Copyright 2019 Google LLC
|
|
1323
1323
|
*
|
|
@@ -1332,7 +1332,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1332
1332
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1333
1333
|
* See the License for the specific language governing permissions and
|
|
1334
1334
|
* limitations under the License.
|
|
1335
|
-
*/class
|
|
1335
|
+
*/class Tn{constructor(e){this.eventTarget=e,this.handlersMap={},this.boundEventHandler=this.handleEvent.bind(this)}static _getInstance(e){const t=this.receivers.find(s=>s.isListeningto(e));if(t)return t;const i=new Tn(e);return this.receivers.push(i),i}isListeningto(e){return this.eventTarget===e}async handleEvent(e){const t=e,{eventId:i,eventType:s,data:r}=t.data,o=this.handlersMap[s];if(!o?.size)return;t.ports[0].postMessage({status:"ack",eventId:i,eventType:s});const a=Array.from(o).map(async c=>c(t.origin,r)),l=await Nh(a);t.ports[0].postMessage({status:"done",eventId:i,eventType:s,response:l})}_subscribe(e,t){Object.keys(this.handlersMap).length===0&&this.eventTarget.addEventListener("message",this.boundEventHandler),this.handlersMap[e]||(this.handlersMap[e]=new Set),this.handlersMap[e].add(t)}_unsubscribe(e,t){this.handlersMap[e]&&t&&this.handlersMap[e].delete(t),(!t||this.handlersMap[e].size===0)&&delete this.handlersMap[e],Object.keys(this.handlersMap).length===0&&this.eventTarget.removeEventListener("message",this.boundEventHandler)}}Tn.receivers=[];/**
|
|
1336
1336
|
* @license
|
|
1337
1337
|
* Copyright 2020 Google LLC
|
|
1338
1338
|
*
|
|
@@ -1362,7 +1362,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1362
1362
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1363
1363
|
* See the License for the specific language governing permissions and
|
|
1364
1364
|
* limitations under the License.
|
|
1365
|
-
*/class
|
|
1365
|
+
*/class Ph{constructor(e){this.target=e,this.handlers=new Set}removeMessageHandler(e){e.messageChannel&&(e.messageChannel.port1.removeEventListener("message",e.onMessage),e.messageChannel.port1.close()),this.handlers.delete(e)}async _send(e,t,i=50){const s=typeof MessageChannel<"u"?new MessageChannel:null;if(!s)throw new Error("connection_unavailable");let r,o;return new Promise((a,l)=>{const c=Oi("",20);s.port1.start();const h=setTimeout(()=>{l(new Error("unsupported_event"))},i);o={messageChannel:s,onMessage(u){const d=u;if(d.data.eventId===c)switch(d.data.status){case"ack":clearTimeout(h),r=setTimeout(()=>{l(new Error("timeout"))},3e3);break;case"done":clearTimeout(r),a(d.data.response);break;default:clearTimeout(h),clearTimeout(r),l(new Error("invalid_response"));break}}},this.handlers.add(o),s.port1.addEventListener("message",o.onMessage),this.target.postMessage({eventType:e,eventId:c,data:t},[s.port2])}).finally(()=>{o&&this.removeMessageHandler(o)})}}/**
|
|
1366
1366
|
* @license
|
|
1367
1367
|
* Copyright 2020 Google LLC
|
|
1368
1368
|
*
|
|
@@ -1377,7 +1377,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1377
1377
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1378
1378
|
* See the License for the specific language governing permissions and
|
|
1379
1379
|
* limitations under the License.
|
|
1380
|
-
*/function X(){return window}function
|
|
1380
|
+
*/function X(){return window}function Oh(n){X().location.href=n}/**
|
|
1381
1381
|
* @license
|
|
1382
1382
|
* Copyright 2020 Google LLC.
|
|
1383
1383
|
*
|
|
@@ -1392,7 +1392,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1392
1392
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1393
1393
|
* See the License for the specific language governing permissions and
|
|
1394
1394
|
* limitations under the License.
|
|
1395
|
-
*/function
|
|
1395
|
+
*/function go(){return typeof X().WorkerGlobalScope<"u"&&typeof X().importScripts=="function"}async function Dh(){if(!navigator?.serviceWorker)return null;try{return(await navigator.serviceWorker.ready).active}catch{return null}}function Mh(){var n;return((n=navigator?.serviceWorker)===null||n===void 0?void 0:n.controller)||null}function Lh(){return go()?self:null}/**
|
|
1396
1396
|
* @license
|
|
1397
1397
|
* Copyright 2019 Google LLC
|
|
1398
1398
|
*
|
|
@@ -1407,7 +1407,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1407
1407
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1408
1408
|
* See the License for the specific language governing permissions and
|
|
1409
1409
|
* limitations under the License.
|
|
1410
|
-
*/const
|
|
1410
|
+
*/const mo="firebaseLocalStorageDb",xh=1,ln="firebaseLocalStorage",vo="fbase_key";class Lt{constructor(e){this.request=e}toPromise(){return new Promise((e,t)=>{this.request.addEventListener("success",()=>{e(this.request.result)}),this.request.addEventListener("error",()=>{t(this.request.error)})})}}function Sn(n,e){return n.transaction([ln],e?"readwrite":"readonly").objectStore(ln)}function Fh(){const n=indexedDB.deleteDatabase(mo);return new Lt(n).toPromise()}function ri(){const n=indexedDB.open(mo,xh);return new Promise((e,t)=>{n.addEventListener("error",()=>{t(n.error)}),n.addEventListener("upgradeneeded",()=>{const i=n.result;try{i.createObjectStore(ln,{keyPath:vo})}catch(s){t(s)}}),n.addEventListener("success",async()=>{const i=n.result;i.objectStoreNames.contains(ln)?e(i):(i.close(),await Fh(),e(await ri()))})})}async function Ds(n,e,t){const i=Sn(n,!0).put({[vo]:e,value:t});return new Lt(i).toPromise()}async function Uh(n,e){const t=Sn(n,!1).get(e),i=await new Lt(t).toPromise();return i===void 0?null:i.value}function Ms(n,e){const t=Sn(n,!0).delete(e);return new Lt(t).toPromise()}const Wh=800,Bh=3;class yo{constructor(){this.type="LOCAL",this._shouldAllowMigration=!0,this.listeners={},this.localCache={},this.pollTimer=null,this.pendingWrites=0,this.receiver=null,this.sender=null,this.serviceWorkerReceiverAvailable=!1,this.activeServiceWorker=null,this._workerInitializationPromise=this.initializeServiceWorkerMessaging().then(()=>{},()=>{})}async _openDb(){return this.db?this.db:(this.db=await ri(),this.db)}async _withRetries(e){let t=0;for(;;)try{const i=await this._openDb();return await e(i)}catch(i){if(t++>Bh)throw i;this.db&&(this.db.close(),this.db=void 0)}}async initializeServiceWorkerMessaging(){return go()?this.initializeReceiver():this.initializeSender()}async initializeReceiver(){this.receiver=Tn._getInstance(Lh()),this.receiver._subscribe("keyChanged",async(e,t)=>({keyProcessed:(await this._poll()).includes(t.key)})),this.receiver._subscribe("ping",async(e,t)=>["keyChanged"])}async initializeSender(){var e,t;if(this.activeServiceWorker=await Dh(),!this.activeServiceWorker)return;this.sender=new Ph(this.activeServiceWorker);const i=await this.sender._send("ping",{},800);i&&!((e=i[0])===null||e===void 0)&&e.fulfilled&&!((t=i[0])===null||t===void 0)&&t.value.includes("keyChanged")&&(this.serviceWorkerReceiverAvailable=!0)}async notifyServiceWorker(e){if(!(!this.sender||!this.activeServiceWorker||Mh()!==this.activeServiceWorker))try{await this.sender._send("keyChanged",{key:e},this.serviceWorkerReceiverAvailable?800:50)}catch{}}async _isAvailable(){try{if(!indexedDB)return!1;const e=await ri();return await Ds(e,an,"1"),await Ms(e,an),!0}catch{}return!1}async _withPendingWrite(e){this.pendingWrites++;try{await e()}finally{this.pendingWrites--}}async _set(e,t){return this._withPendingWrite(async()=>(await this._withRetries(i=>Ds(i,e,t)),this.localCache[e]=t,this.notifyServiceWorker(e)))}async _get(e){const t=await this._withRetries(i=>Uh(i,e));return this.localCache[e]=t,t}async _remove(e){return this._withPendingWrite(async()=>(await this._withRetries(t=>Ms(t,e)),delete this.localCache[e],this.notifyServiceWorker(e)))}async _poll(){const e=await this._withRetries(s=>{const r=Sn(s,!1).getAll();return new Lt(r).toPromise()});if(!e)return[];if(this.pendingWrites!==0)return[];const t=[],i=new Set;if(e.length!==0)for(const{fbase_key:s,value:r}of e)i.add(s),JSON.stringify(this.localCache[s])!==JSON.stringify(r)&&(this.notifyListeners(s,r),t.push(s));for(const s of Object.keys(this.localCache))this.localCache[s]&&!i.has(s)&&(this.notifyListeners(s,null),t.push(s));return t}notifyListeners(e,t){this.localCache[e]=t;const i=this.listeners[e];if(i)for(const s of Array.from(i))s(t)}startPolling(){this.stopPolling(),this.pollTimer=setInterval(async()=>this._poll(),Wh)}stopPolling(){this.pollTimer&&(clearInterval(this.pollTimer),this.pollTimer=null)}_addListener(e,t){Object.keys(this.listeners).length===0&&this.startPolling(),this.listeners[e]||(this.listeners[e]=new Set,this._get(e)),this.listeners[e].add(t)}_removeListener(e,t){this.listeners[e]&&(this.listeners[e].delete(t),this.listeners[e].size===0&&delete this.listeners[e]),Object.keys(this.listeners).length===0&&this.stopPolling()}}yo.type="LOCAL";const Hh=yo;new Dt(3e4,6e4);/**
|
|
1411
1411
|
* @license
|
|
1412
1412
|
* Copyright 2021 Google LLC
|
|
1413
1413
|
*
|
|
@@ -1422,7 +1422,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1422
1422
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1423
1423
|
* See the License for the specific language governing permissions and
|
|
1424
1424
|
* limitations under the License.
|
|
1425
|
-
*/function
|
|
1425
|
+
*/function Vh(n,e){return e?ee(e):(g(n._popupRedirectResolver,n,"argument-error"),n._popupRedirectResolver)}/**
|
|
1426
1426
|
* @license
|
|
1427
1427
|
* Copyright 2019 Google LLC
|
|
1428
1428
|
*
|
|
@@ -1437,7 +1437,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1437
1437
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1438
1438
|
* See the License for the specific language governing permissions and
|
|
1439
1439
|
* limitations under the License.
|
|
1440
|
-
*/class Di extends
|
|
1440
|
+
*/class Di extends Ai{constructor(e){super("custom","custom"),this.params=e}_getIdTokenResponse(e){return Ge(e,this._buildIdpRequest())}_linkToIdToken(e,t){return Ge(e,this._buildIdpRequest(t))}_getReauthenticationResolver(e){return Ge(e,this._buildIdpRequest())}_buildIdpRequest(e){const t={requestUri:this.params.requestUri,sessionId:this.params.sessionId,postBody:this.params.postBody,tenantId:this.params.tenantId,pendingToken:this.params.pendingToken,returnSecureToken:!0,returnIdpCredential:!0};return e&&(t.idToken=e),t}}function $h(n){return co(n.auth,new Di(n),n.bypassAuthState)}function Gh(n){const{auth:e,user:t}=n;return g(t,e,"internal-error"),Ih(t,new Di(n),n.bypassAuthState)}async function jh(n){const{auth:e,user:t}=n;return g(t,e,"internal-error"),Eh(t,new Di(n),n.bypassAuthState)}/**
|
|
1441
1441
|
* @license
|
|
1442
1442
|
* Copyright 2020 Google LLC
|
|
1443
1443
|
*
|
|
@@ -1452,7 +1452,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1452
1452
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1453
1453
|
* See the License for the specific language governing permissions and
|
|
1454
1454
|
* limitations under the License.
|
|
1455
|
-
*/class
|
|
1455
|
+
*/class Eo{constructor(e,t,i,s,r=!1){this.auth=e,this.resolver=i,this.user=s,this.bypassAuthState=r,this.pendingPromise=null,this.eventManager=null,this.filter=Array.isArray(t)?t:[t]}execute(){return new Promise(async(e,t)=>{this.pendingPromise={resolve:e,reject:t};try{this.eventManager=await this.resolver._initialize(this.auth),await this.onExecution(),this.eventManager.registerConsumer(this)}catch(i){this.reject(i)}})}async onAuthEvent(e){const{urlResponse:t,sessionId:i,postBody:s,tenantId:r,error:o,type:a}=e;if(o){this.reject(o);return}const l={auth:this.auth,requestUri:t,sessionId:i,tenantId:r||void 0,postBody:s||void 0,user:this.user,bypassAuthState:this.bypassAuthState};try{this.resolve(await this.getIdpTask(a)(l))}catch(c){this.reject(c)}}onError(e){this.reject(e)}getIdpTask(e){switch(e){case"signInViaPopup":case"signInViaRedirect":return $h;case"linkViaPopup":case"linkViaRedirect":return jh;case"reauthViaPopup":case"reauthViaRedirect":return Gh;default:Q(this.auth,"internal-error")}}resolve(e){se(this.pendingPromise,"Pending promise was never set"),this.pendingPromise.resolve(e),this.unregisterAndCleanUp()}reject(e){se(this.pendingPromise,"Pending promise was never set"),this.pendingPromise.reject(e),this.unregisterAndCleanUp()}unregisterAndCleanUp(){this.eventManager&&this.eventManager.unregisterConsumer(this),this.pendingPromise=null,this.cleanUp()}}/**
|
|
1456
1456
|
* @license
|
|
1457
1457
|
* Copyright 2020 Google LLC
|
|
1458
1458
|
*
|
|
@@ -1467,7 +1467,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1467
1467
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1468
1468
|
* See the License for the specific language governing permissions and
|
|
1469
1469
|
* limitations under the License.
|
|
1470
|
-
*/const
|
|
1470
|
+
*/const zh=new Dt(2e3,1e4);class Ue extends Eo{constructor(e,t,i,s,r){super(e,t,s,r),this.provider=i,this.authWindow=null,this.pollId=null,Ue.currentPopupAction&&Ue.currentPopupAction.cancel(),Ue.currentPopupAction=this}async executeNotNull(){const e=await this.execute();return g(e,this.auth,"internal-error"),e}async onExecution(){se(this.filter.length===1,"Popup operations only handle one event");const e=Oi();this.authWindow=await this.resolver._openPopup(this.auth,this.provider,this.filter[0],e),this.authWindow.associatedEvent=e,this.resolver._originValidation(this.auth).catch(t=>{this.reject(t)}),this.resolver._isIframeWebStorageSupported(this.auth,t=>{t||this.reject(J(this.auth,"web-storage-unsupported"))}),this.pollUserCancellation()}get eventId(){var e;return((e=this.authWindow)===null||e===void 0?void 0:e.associatedEvent)||null}cancel(){this.reject(J(this.auth,"cancelled-popup-request"))}cleanUp(){this.authWindow&&this.authWindow.close(),this.pollId&&window.clearTimeout(this.pollId),this.authWindow=null,this.pollId=null,Ue.currentPopupAction=null}pollUserCancellation(){const e=()=>{var t,i;if(!((i=(t=this.authWindow)===null||t===void 0?void 0:t.window)===null||i===void 0)&&i.closed){this.pollId=window.setTimeout(()=>{this.pollId=null,this.reject(J(this.auth,"popup-closed-by-user"))},8e3);return}this.pollId=window.setTimeout(e,zh.get())};e()}}Ue.currentPopupAction=null;/**
|
|
1471
1471
|
* @license
|
|
1472
1472
|
* Copyright 2020 Google LLC
|
|
1473
1473
|
*
|
|
@@ -1482,7 +1482,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1482
1482
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1483
1483
|
* See the License for the specific language governing permissions and
|
|
1484
1484
|
* limitations under the License.
|
|
1485
|
-
*/const
|
|
1485
|
+
*/const qh="pendingRedirect",Kt=new Map;class Kh extends Eo{constructor(e,t,i=!1){super(e,["signInViaRedirect","linkViaRedirect","reauthViaRedirect","unknown"],t,void 0,i),this.eventId=null}async execute(){let e=Kt.get(this.auth._key());if(!e){try{const i=await Yh(this.resolver,this.auth)?await super.execute():null;e=()=>Promise.resolve(i)}catch(t){e=()=>Promise.reject(t)}Kt.set(this.auth._key(),e)}return this.bypassAuthState||Kt.set(this.auth._key(),()=>Promise.resolve(null)),e()}async onAuthEvent(e){if(e.type==="signInViaRedirect")return super.onAuthEvent(e);if(e.type==="unknown"){this.resolve(null);return}if(e.eventId){const t=await this.auth._redirectUserForId(e.eventId);if(t)return this.user=t,super.onAuthEvent(e);this.resolve(null)}}async onExecution(){}cleanUp(){}}async function Yh(n,e){const t=Xh(e),i=Jh(n);if(!await i._isAvailable())return!1;const s=await i._get(t)==="true";return await i._remove(t),s}function Qh(n,e){Kt.set(n._key(),e)}function Jh(n){return ee(n._redirectPersistence)}function Xh(n){return qt(qh,n.config.apiKey,n.name)}async function Zh(n,e,t=!1){if(G(n.app))return Promise.reject(ge(n));const i=it(n),s=Vh(i,e),o=await new Kh(i,s,t).execute();return o&&!t&&(delete o.user._redirectEventId,await i._persistUserIfCurrent(o.user),await i._setRedirectUser(null,e)),o}/**
|
|
1486
1486
|
* @license
|
|
1487
1487
|
* Copyright 2020 Google LLC
|
|
1488
1488
|
*
|
|
@@ -1497,7 +1497,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1497
1497
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1498
1498
|
* See the License for the specific language governing permissions and
|
|
1499
1499
|
* limitations under the License.
|
|
1500
|
-
*/const
|
|
1500
|
+
*/const eu=600*1e3;class tu{constructor(e){this.auth=e,this.cachedEventUids=new Set,this.consumers=new Set,this.queuedRedirectEvent=null,this.hasHandledPotentialRedirect=!1,this.lastProcessedEventTime=Date.now()}registerConsumer(e){this.consumers.add(e),this.queuedRedirectEvent&&this.isEventForConsumer(this.queuedRedirectEvent,e)&&(this.sendToConsumer(this.queuedRedirectEvent,e),this.saveEventToCache(this.queuedRedirectEvent),this.queuedRedirectEvent=null)}unregisterConsumer(e){this.consumers.delete(e)}onEvent(e){if(this.hasEventBeenHandled(e))return!1;let t=!1;return this.consumers.forEach(i=>{this.isEventForConsumer(e,i)&&(t=!0,this.sendToConsumer(e,i),this.saveEventToCache(e))}),this.hasHandledPotentialRedirect||!nu(e)||(this.hasHandledPotentialRedirect=!0,t||(this.queuedRedirectEvent=e,t=!0)),t}sendToConsumer(e,t){var i;if(e.error&&!Io(e)){const s=((i=e.error.code)===null||i===void 0?void 0:i.split("auth/")[1])||"internal-error";t.onError(J(this.auth,s))}else t.onAuthEvent(e)}isEventForConsumer(e,t){const i=t.eventId===null||!!e.eventId&&e.eventId===t.eventId;return t.filter.includes(e.type)&&i}hasEventBeenHandled(e){return Date.now()-this.lastProcessedEventTime>=eu&&this.cachedEventUids.clear(),this.cachedEventUids.has(Ls(e))}saveEventToCache(e){this.cachedEventUids.add(Ls(e)),this.lastProcessedEventTime=Date.now()}}function Ls(n){return[n.type,n.eventId,n.sessionId,n.tenantId].filter(e=>e).join("-")}function Io({type:n,error:e}){return n==="unknown"&&e?.code==="auth/no-auth-event"}function nu(n){switch(n.type){case"signInViaRedirect":case"linkViaRedirect":case"reauthViaRedirect":return!0;case"unknown":return Io(n);default:return!1}}/**
|
|
1501
1501
|
* @license
|
|
1502
1502
|
* Copyright 2020 Google LLC
|
|
1503
1503
|
*
|
|
@@ -1512,7 +1512,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1512
1512
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1513
1513
|
* See the License for the specific language governing permissions and
|
|
1514
1514
|
* limitations under the License.
|
|
1515
|
-
*/async function
|
|
1515
|
+
*/async function iu(n,e={}){return we(n,"GET","/v1/projects",e)}/**
|
|
1516
1516
|
* @license
|
|
1517
1517
|
* Copyright 2020 Google LLC
|
|
1518
1518
|
*
|
|
@@ -1527,7 +1527,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1527
1527
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1528
1528
|
* See the License for the specific language governing permissions and
|
|
1529
1529
|
* limitations under the License.
|
|
1530
|
-
*/const
|
|
1530
|
+
*/const su=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,ru=/^https?/;async function ou(n){if(n.config.emulator)return;const{authorizedDomains:e}=await iu(n);for(const t of e)try{if(au(t))return}catch{}Q(n,"unauthorized-domain")}function au(n){const e=ii(),{protocol:t,hostname:i}=new URL(e);if(n.startsWith("chrome-extension://")){const o=new URL(n);return o.hostname===""&&i===""?t==="chrome-extension:"&&n.replace("chrome-extension://","")===e.replace("chrome-extension://",""):t==="chrome-extension:"&&o.hostname===i}if(!ru.test(t))return!1;if(su.test(n))return i===n;const s=n.replace(/\./g,"\\.");return new RegExp("^(.+\\."+s+"|"+s+")$","i").test(i)}/**
|
|
1531
1531
|
* @license
|
|
1532
1532
|
* Copyright 2020 Google LLC.
|
|
1533
1533
|
*
|
|
@@ -1542,7 +1542,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1542
1542
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1543
1543
|
* See the License for the specific language governing permissions and
|
|
1544
1544
|
* limitations under the License.
|
|
1545
|
-
*/const
|
|
1545
|
+
*/const lu=new Dt(3e4,6e4);function xs(){const n=X().___jsl;if(n?.H){for(const e of Object.keys(n.H))if(n.H[e].r=n.H[e].r||[],n.H[e].L=n.H[e].L||[],n.H[e].r=[...n.H[e].L],n.CP)for(let t=0;t<n.CP.length;t++)n.CP[t]=null}}function cu(n){return new Promise((e,t)=>{var i,s,r;function o(){xs(),gapi.load("gapi.iframes",{callback:()=>{e(gapi.iframes.getContext())},ontimeout:()=>{xs(),t(J(n,"network-request-failed"))},timeout:lu.get()})}if(!((s=(i=X().gapi)===null||i===void 0?void 0:i.iframes)===null||s===void 0)&&s.Iframe)e(gapi.iframes.getContext());else if(!((r=X().gapi)===null||r===void 0)&&r.load)o();else{const a=ih("iframefcb");return X()[a]=()=>{gapi.load?o():t(J(n,"network-request-failed"))},so(`${nh()}?onload=${a}`).catch(l=>t(l))}}).catch(e=>{throw Yt=null,e})}let Yt=null;function hu(n){return Yt=Yt||cu(n),Yt}/**
|
|
1546
1546
|
* @license
|
|
1547
1547
|
* Copyright 2020 Google LLC.
|
|
1548
1548
|
*
|
|
@@ -1557,7 +1557,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1557
1557
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1558
1558
|
* See the License for the specific language governing permissions and
|
|
1559
1559
|
* limitations under the License.
|
|
1560
|
-
*/const
|
|
1560
|
+
*/const uu=new Dt(5e3,15e3),du="__/auth/iframe",fu="emulator/auth/iframe",pu={style:{position:"absolute",top:"-100px",width:"1px",height:"1px"},"aria-hidden":"true",tabindex:"-1"},_u=new Map([["identitytoolkit.googleapis.com","p"],["staging-identitytoolkit.sandbox.googleapis.com","s"],["test-identitytoolkit.sandbox.googleapis.com","t"]]);function gu(n){const e=n.config;g(e.authDomain,n,"auth-domain-config-required");const t=e.emulator?bi(e,fu):`https://${n.config.authDomain}/${du}`,i={apiKey:e.apiKey,appName:n.name,v:nt},s=_u.get(n.config.apiHost);s&&(i.eid=s);const r=n._getFrameworks();return r.length&&(i.fw=r.join(",")),`${t}?${tt(i).slice(1)}`}async function mu(n){const e=await hu(n),t=X().gapi;return g(t,n,"internal-error"),e.open({where:document.body,url:gu(n),messageHandlersFilter:t.iframes.CROSS_ORIGIN_IFRAMES_FILTER,attributes:pu,dontclear:!0},i=>new Promise(async(s,r)=>{await i.restyle({setHideOnLeave:!1});const o=J(n,"network-request-failed"),a=X().setTimeout(()=>{r(o)},uu.get());function l(){X().clearTimeout(a),s(i)}i.ping(l).then(l,()=>{r(o)})}))}/**
|
|
1561
1561
|
* @license
|
|
1562
1562
|
* Copyright 2020 Google LLC.
|
|
1563
1563
|
*
|
|
@@ -1572,7 +1572,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1572
1572
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1573
1573
|
* See the License for the specific language governing permissions and
|
|
1574
1574
|
* limitations under the License.
|
|
1575
|
-
*/const
|
|
1575
|
+
*/const vu={location:"yes",resizable:"yes",statusbar:"yes",toolbar:"no"},yu=500,Eu=600,Iu="_blank",Cu="http://localhost";class Fs{constructor(e){this.window=e,this.associatedEvent=null}close(){if(this.window)try{this.window.close()}catch{}}}function wu(n,e,t,i=yu,s=Eu){const r=Math.max((window.screen.availHeight-s)/2,0).toString(),o=Math.max((window.screen.availWidth-i)/2,0).toString();let a="";const l=Object.assign(Object.assign({},vu),{width:i.toString(),height:s.toString(),top:r,left:o}),c=x().toLowerCase();t&&(a=Jr(c)?Iu:t),Yr(c)&&(e=e||Cu,l.scrollbars="yes");const h=Object.entries(l).reduce((d,[p,_])=>`${d}${p}=${_},`,"");if(qc(c)&&a!=="_self")return Tu(e||"",a),new Fs(null);const u=window.open(e||"",a,h);g(u,n,"popup-blocked");try{u.focus()}catch{}return new Fs(u)}function Tu(n,e){const t=document.createElement("a");t.href=n,t.target=e;const i=document.createEvent("MouseEvent");i.initMouseEvent("click",!0,!0,window,1,0,0,0,0,!1,!1,!1,!1,1,null),t.dispatchEvent(i)}/**
|
|
1576
1576
|
* @license
|
|
1577
1577
|
* Copyright 2021 Google LLC
|
|
1578
1578
|
*
|
|
@@ -1587,7 +1587,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1587
1587
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1588
1588
|
* See the License for the specific language governing permissions and
|
|
1589
1589
|
* limitations under the License.
|
|
1590
|
-
*/const
|
|
1590
|
+
*/const Su="__/auth/handler",bu="emulator/auth/handler",Ru=encodeURIComponent("fac");async function Us(n,e,t,i,s,r){g(n.config.authDomain,n,"auth-domain-config-required"),g(n.config.apiKey,n,"invalid-api-key");const o={apiKey:n.config.apiKey,appName:n.name,authType:t,redirectUrl:i,v:nt,eventId:s};if(e instanceof ao){e.setDefaultLanguage(n.languageCode),o.providerId=e.providerId||"",Jn(e.getCustomParameters())||(o.customParameters=JSON.stringify(e.getCustomParameters()));for(const[h,u]of Object.entries({}))o[h]=u}if(e instanceof Mt){const h=e.getScopes().filter(u=>u!=="");h.length>0&&(o.scopes=h.join(","))}n.tenantId&&(o.tid=n.tenantId);const a=o;for(const h of Object.keys(a))a[h]===void 0&&delete a[h];const l=await n._getAppCheckToken(),c=l?`#${Ru}=${encodeURIComponent(l)}`:"";return`${ku(n)}?${tt(a).slice(1)}${c}`}function ku({config:n}){return n.emulator?bi(n,bu):`https://${n.authDomain}/${Su}`}/**
|
|
1591
1591
|
* @license
|
|
1592
1592
|
* Copyright 2020 Google LLC
|
|
1593
1593
|
*
|
|
@@ -1602,7 +1602,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1602
1602
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1603
1603
|
* See the License for the specific language governing permissions and
|
|
1604
1604
|
* limitations under the License.
|
|
1605
|
-
*/const
|
|
1605
|
+
*/const Hn="webStorageSupport";class Au{constructor(){this.eventManagers={},this.iframes={},this.originValidationPromises={},this._redirectPersistence=Pi,this._completeRedirectFn=Zh,this._overrideRedirectResult=Qh}async _openPopup(e,t,i,s){var r;se((r=this.eventManagers[e._key()])===null||r===void 0?void 0:r.manager,"_initialize() not called before _openPopup()");const o=await Us(e,t,i,ii(),s);return wu(e,o,Oi())}async _openRedirect(e,t,i,s){await this._originValidation(e);const r=await Us(e,t,i,ii(),s);return Oh(r),new Promise(()=>{})}_initialize(e){const t=e._key();if(this.eventManagers[t]){const{manager:s,promise:r}=this.eventManagers[t];return s?Promise.resolve(s):(se(r,"If manager is not set, promise should be"),r)}const i=this.initAndGetManager(e);return this.eventManagers[t]={promise:i},i.catch(()=>{delete this.eventManagers[t]}),i}async initAndGetManager(e){const t=await mu(e),i=new tu(e);return t.register("authEvent",s=>(g(s?.authEvent,e,"invalid-auth-event"),{status:i.onEvent(s.authEvent)?"ACK":"ERROR"}),gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER),this.eventManagers[e._key()]={manager:i},this.iframes[e._key()]=t,i}_isIframeWebStorageSupported(e,t){this.iframes[e._key()].send(Hn,{type:Hn},s=>{var r;const o=(r=s?.[0])===null||r===void 0?void 0:r[Hn];o!==void 0&&t(!!o),Q(e,"internal-error")},gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER)}_originValidation(e){const t=e._key();return this.originValidationPromises[t]||(this.originValidationPromises[t]=ou(e)),this.originValidationPromises[t]}get _shouldInitProactively(){return no()||Qr()||ki()}}const Nu=Au;var Ws="@firebase/auth",Bs="1.10.8";/**
|
|
1606
1606
|
* @license
|
|
1607
1607
|
* Copyright 2020 Google LLC
|
|
1608
1608
|
*
|
|
@@ -1617,7 +1617,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1617
1617
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1618
1618
|
* See the License for the specific language governing permissions and
|
|
1619
1619
|
* limitations under the License.
|
|
1620
|
-
*/class
|
|
1620
|
+
*/class Pu{constructor(e){this.auth=e,this.internalListeners=new Map}getUid(){var e;return this.assertAuthConfigured(),((e=this.auth.currentUser)===null||e===void 0?void 0:e.uid)||null}async getToken(e){return this.assertAuthConfigured(),await this.auth._initializationPromise,this.auth.currentUser?{accessToken:await this.auth.currentUser.getIdToken(e)}:null}addAuthTokenListener(e){if(this.assertAuthConfigured(),this.internalListeners.has(e))return;const t=this.auth.onIdTokenChanged(i=>{e(i?.stsTokenManager.accessToken||null)});this.internalListeners.set(e,t),this.updateProactiveRefresh()}removeAuthTokenListener(e){this.assertAuthConfigured();const t=this.internalListeners.get(e);t&&(this.internalListeners.delete(e),t(),this.updateProactiveRefresh())}assertAuthConfigured(){g(this.auth._initializationPromise,"dependent-sdk-initialized-before-auth")}updateProactiveRefresh(){this.internalListeners.size>0?this.auth._startProactiveRefresh():this.auth._stopProactiveRefresh()}}/**
|
|
1621
1621
|
* @license
|
|
1622
1622
|
* Copyright 2020 Google LLC
|
|
1623
1623
|
*
|
|
@@ -1632,7 +1632,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1632
1632
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1633
1633
|
* See the License for the specific language governing permissions and
|
|
1634
1634
|
* limitations under the License.
|
|
1635
|
-
*/function
|
|
1635
|
+
*/function Ou(n){switch(n){case"Node":return"node";case"ReactNative":return"rn";case"Worker":return"webworker";case"Cordova":return"cordova";case"WebExtension":return"web-extension";default:return}}function Du(n){Ke(new Ae("auth",(e,{options:t})=>{const i=e.getProvider("app").getImmediate(),s=e.getProvider("heartbeat"),r=e.getProvider("app-check-internal"),{apiKey:o,authDomain:a}=i.options;g(o&&!o.includes(":"),"invalid-api-key",{appName:i.name});const l={apiKey:o,authDomain:a,clientPlatform:n,apiHost:"identitytoolkit.googleapis.com",tokenApiHost:"securetoken.googleapis.com",apiScheme:"https",sdkClientVersion:io(n)},c=new Zc(i,s,r,l);return ch(c,t),c},"PUBLIC").setInstantiationMode("EXPLICIT").setInstanceCreatedCallback((e,t,i)=>{e.getProvider("auth-internal").initialize()})),Ke(new Ae("auth-internal",e=>{const t=it(e.getProvider("auth").getImmediate());return(i=>new Pu(i))(t)},"PRIVATE").setInstantiationMode("EXPLICIT")),_e(Ws,Bs,Ou(n)),_e(Ws,Bs,"esm2017")}/**
|
|
1636
1636
|
* @license
|
|
1637
1637
|
* Copyright 2021 Google LLC
|
|
1638
1638
|
*
|
|
@@ -1647,7 +1647,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1647
1647
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1648
1648
|
* See the License for the specific language governing permissions and
|
|
1649
1649
|
* limitations under the License.
|
|
1650
|
-
*/const
|
|
1650
|
+
*/const Mu=300,Lu=Ar("authIdTokenMaxAge")||Mu;let Hs=null;const xu=n=>async e=>{const t=e&&await e.getIdTokenResult(),i=t&&(new Date().getTime()-Date.parse(t.issuedAtTime))/1e3;if(i&&i>Lu)return;const s=t?.token;Hs!==s&&(Hs=s,await fetch(n,{method:s?"POST":"DELETE",headers:s?{Authorization:`Bearer ${s}`}:{}}))};function Fu(n=Ur()){const e=Ti(n,"auth");if(e.isInitialized())return e.getImmediate();const t=lh(n,{popupRedirectResolver:Nu,persistence:[Hh,po,Pi]}),i=Ar("authTokenSyncURL");if(i&&typeof isSecureContext=="boolean"&&isSecureContext){const r=new URL(i,location.origin);if(location.origin===r.origin){const o=xu(r.toString());Rh(t,o,()=>o(t.currentUser)),bh(t,a=>o(a))}}const s=Rr("auth");return s&&hh(t,`http://${s}`),t}function Uu(){var n,e;return(e=(n=document.getElementsByTagName("head"))===null||n===void 0?void 0:n[0])!==null&&e!==void 0?e:document}eh({loadJS(n){return new Promise((e,t)=>{const i=document.createElement("script");i.setAttribute("src",n),i.onload=e,i.onerror=s=>{const r=J("internal-error");r.customData=s,t(r)},i.type="text/javascript",i.charset="UTF-8",Uu().appendChild(i)})},gapiScript:"https://apis.google.com/js/api.js",recaptchaV2Script:"https://www.google.com/recaptcha/api.js",recaptchaEnterpriseScript:"https://www.google.com/recaptcha/enterprise.js?render="});Du("Browser");var Vs={};const $s="@firebase/database",Gs="1.0.20";/**
|
|
1651
1651
|
* @license
|
|
1652
1652
|
* Copyright 2019 Google LLC
|
|
1653
1653
|
*
|
|
@@ -1662,7 +1662,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1662
1662
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1663
1663
|
* See the License for the specific language governing permissions and
|
|
1664
1664
|
* limitations under the License.
|
|
1665
|
-
*/let
|
|
1665
|
+
*/let Co="";function Wu(n){Co=n}/**
|
|
1666
1666
|
* @license
|
|
1667
1667
|
* Copyright 2017 Google LLC
|
|
1668
1668
|
*
|
|
@@ -1677,7 +1677,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1677
1677
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1678
1678
|
* See the License for the specific language governing permissions and
|
|
1679
1679
|
* limitations under the License.
|
|
1680
|
-
*/class
|
|
1680
|
+
*/class Bu{constructor(e){this.domStorage_=e,this.prefix_="firebase:"}set(e,t){t==null?this.domStorage_.removeItem(this.prefixedName_(e)):this.domStorage_.setItem(this.prefixedName_(e),A(t))}get(e){const t=this.domStorage_.getItem(this.prefixedName_(e));return t==null?null:Et(t)}remove(e){this.domStorage_.removeItem(this.prefixedName_(e))}prefixedName_(e){return this.prefix_+e}toString(){return this.domStorage_.toString()}}/**
|
|
1681
1681
|
* @license
|
|
1682
1682
|
* Copyright 2017 Google LLC
|
|
1683
1683
|
*
|
|
@@ -1692,7 +1692,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1692
1692
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1693
1693
|
* See the License for the specific language governing permissions and
|
|
1694
1694
|
* limitations under the License.
|
|
1695
|
-
*/class
|
|
1695
|
+
*/class Hu{constructor(){this.cache_={},this.isInMemoryStorage=!0}set(e,t){t==null?delete this.cache_[e]:this.cache_[e]=t}get(e){return oe(this.cache_,e)?this.cache_[e]:null}remove(e){delete this.cache_[e]}}/**
|
|
1696
1696
|
* @license
|
|
1697
1697
|
* Copyright 2017 Google LLC
|
|
1698
1698
|
*
|
|
@@ -1707,7 +1707,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1707
1707
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1708
1708
|
* See the License for the specific language governing permissions and
|
|
1709
1709
|
* limitations under the License.
|
|
1710
|
-
*/const
|
|
1710
|
+
*/const wo=function(n){try{if(typeof window<"u"&&typeof window[n]<"u"){const e=window[n];return e.setItem("firebase:sentinel","cache"),e.removeItem("firebase:sentinel"),new Bu(e)}}catch{}return new Hu},Re=wo("localStorage"),Vu=wo("sessionStorage");/**
|
|
1711
1711
|
* @license
|
|
1712
1712
|
* Copyright 2017 Google LLC
|
|
1713
1713
|
*
|
|
@@ -1722,7 +1722,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1722
1722
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1723
1723
|
* See the License for the specific language governing permissions and
|
|
1724
1724
|
* limitations under the License.
|
|
1725
|
-
*/const
|
|
1725
|
+
*/const je=new Ci("@firebase/database"),$u=function(){let n=1;return function(){return n++}}(),To=function(n){const e=gl(n),t=new dl;t.update(e);const i=t.digest();return vi.encodeByteArray(i)},xt=function(...n){let e="";for(let t=0;t<n.length;t++){const i=n[t];Array.isArray(i)||i&&typeof i=="object"&&typeof i.length=="number"?e+=xt.apply(null,i):typeof i=="object"?e+=A(i):e+=i,e+=" "}return e};let _t=null,js=!0;const Gu=function(n,e){f(!0,"Can't turn on custom loggers persistently."),je.logLevel=w.VERBOSE,_t=je.log.bind(je)},M=function(...n){if(js===!0&&(js=!1,_t===null&&Vu.get("logging_enabled")===!0&&Gu()),_t){const e=xt.apply(null,n);_t(e)}},Ft=function(n){return function(...e){M(n,...e)}},oi=function(...n){const e="FIREBASE INTERNAL ERROR: "+xt(...n);je.error(e)},re=function(...n){const e=`FIREBASE FATAL ERROR: ${xt(...n)}`;throw je.error(e),new Error(e)},B=function(...n){const e="FIREBASE WARNING: "+xt(...n);je.warn(e)},ju=function(){typeof window<"u"&&window.location&&window.location.protocol&&window.location.protocol.indexOf("https:")!==-1&&B("Insecure Firebase access from a secure page. Please use https in calls to new Firebase().")},So=function(n){return typeof n=="number"&&(n!==n||n===Number.POSITIVE_INFINITY||n===Number.NEGATIVE_INFINITY)},zu=function(n){if(document.readyState==="complete")n();else{let e=!1;const t=function(){if(!document.body){setTimeout(t,Math.floor(10));return}e||(e=!0,n())};document.addEventListener?(document.addEventListener("DOMContentLoaded",t,!1),window.addEventListener("load",t,!1)):document.attachEvent&&(document.attachEvent("onreadystatechange",()=>{document.readyState==="complete"&&t()}),window.attachEvent("onload",t))}},Qe="[MIN_NAME]",Pe="[MAX_NAME]",rt=function(n,e){if(n===e)return 0;if(n===Qe||e===Pe)return-1;if(e===Qe||n===Pe)return 1;{const t=zs(n),i=zs(e);return t!==null?i!==null?t-i===0?n.length-e.length:t-i:-1:i!==null?1:n<e?-1:1}},qu=function(n,e){return n===e?0:n<e?-1:1},at=function(n,e){if(e&&n in e)return e[n];throw new Error("Missing required key ("+n+") in object: "+A(e))},Mi=function(n){if(typeof n!="object"||n===null)return A(n);const e=[];for(const i in n)e.push(i);e.sort();let t="{";for(let i=0;i<e.length;i++)i!==0&&(t+=","),t+=A(e[i]),t+=":",t+=Mi(n[e[i]]);return t+="}",t},bo=function(n,e){const t=n.length;if(t<=e)return[n];const i=[];for(let s=0;s<t;s+=e)s+e>t?i.push(n.substring(s,t)):i.push(n.substring(s,s+e));return i};function W(n,e){for(const t in n)n.hasOwnProperty(t)&&e(t,n[t])}const Ro=function(n){f(!So(n),"Invalid JSON number");const e=11,t=52,i=(1<<e-1)-1;let s,r,o,a,l;n===0?(r=0,o=0,s=1/n===-1/0?1:0):(s=n<0,n=Math.abs(n),n>=Math.pow(2,1-i)?(a=Math.min(Math.floor(Math.log(n)/Math.LN2),i),r=a+i,o=Math.round(n*Math.pow(2,t-a)-Math.pow(2,t))):(r=0,o=Math.round(n/Math.pow(2,1-i-t))));const c=[];for(l=t;l;l-=1)c.push(o%2?1:0),o=Math.floor(o/2);for(l=e;l;l-=1)c.push(r%2?1:0),r=Math.floor(r/2);c.push(s?1:0),c.reverse();const h=c.join("");let u="";for(l=0;l<64;l+=8){let d=parseInt(h.substr(l,8),2).toString(16);d.length===1&&(d="0"+d),u=u+d}return u.toLowerCase()},Ku=function(){return!!(typeof window=="object"&&window.chrome&&window.chrome.extension&&!/^chrome/.test(window.location.href))},Yu=function(){return typeof Windows=="object"&&typeof Windows.UI=="object"};function Qu(n,e){let t="Unknown Error";n==="too_big"?t="The data requested exceeds the maximum size that can be accessed with a single request.":n==="permission_denied"?t="Client doesn't have permission to access the desired data.":n==="unavailable"&&(t="The service is unavailable");const i=new Error(n+" at "+e._path.toString()+": "+t);return i.code=n.toUpperCase(),i}const Ju=new RegExp("^-?(0*)\\d{1,10}$"),Xu=-2147483648,Zu=2147483647,zs=function(n){if(Ju.test(n)){const e=Number(n);if(e>=Xu&&e<=Zu)return e}return null},Ut=function(n){try{n()}catch(e){setTimeout(()=>{const t=e.stack||"";throw B("Exception was thrown by user callback.",t),e},Math.floor(0))}},ed=function(){return(typeof window=="object"&&window.navigator&&window.navigator.userAgent||"").search(/googlebot|google webmaster tools|bingbot|yahoo! slurp|baiduspider|yandexbot|duckduckbot/i)>=0},gt=function(n,e){const t=setTimeout(n,e);return typeof t=="number"&&typeof Deno<"u"&&Deno.unrefTimer?Deno.unrefTimer(t):typeof t=="object"&&t.unref&&t.unref(),t};/**
|
|
1726
1726
|
* @license
|
|
1727
1727
|
* Copyright 2021 Google LLC
|
|
1728
1728
|
*
|
|
@@ -1737,7 +1737,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1737
1737
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1738
1738
|
* See the License for the specific language governing permissions and
|
|
1739
1739
|
* limitations under the License.
|
|
1740
|
-
*/class
|
|
1740
|
+
*/class td{constructor(e,t){this.appCheckProvider=t,this.appName=e.name,G(e)&&e.settings.appCheckToken&&(this.serverAppAppCheckToken=e.settings.appCheckToken),this.appCheck=t?.getImmediate({optional:!0}),this.appCheck||t?.get().then(i=>this.appCheck=i)}getToken(e){if(this.serverAppAppCheckToken){if(e)throw new Error("Attempted reuse of `FirebaseServerApp.appCheckToken` after previous usage failed.");return Promise.resolve({token:this.serverAppAppCheckToken})}return this.appCheck?this.appCheck.getToken(e):new Promise((t,i)=>{setTimeout(()=>{this.appCheck?this.getToken(e).then(t,i):t(null)},0)})}addTokenChangeListener(e){var t;(t=this.appCheckProvider)===null||t===void 0||t.get().then(i=>i.addTokenListener(e))}notifyForInvalidToken(){B(`Provided AppCheck credentials for the app named "${this.appName}" are invalid. This usually indicates your app was not initialized correctly.`)}}/**
|
|
1741
1741
|
* @license
|
|
1742
1742
|
* Copyright 2017 Google LLC
|
|
1743
1743
|
*
|
|
@@ -1752,7 +1752,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1752
1752
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1753
1753
|
* See the License for the specific language governing permissions and
|
|
1754
1754
|
* limitations under the License.
|
|
1755
|
-
*/class
|
|
1755
|
+
*/class nd{constructor(e,t,i){this.appName_=e,this.firebaseOptions_=t,this.authProvider_=i,this.auth_=null,this.auth_=i.getImmediate({optional:!0}),this.auth_||i.onInit(s=>this.auth_=s)}getToken(e){return this.auth_?this.auth_.getToken(e).catch(t=>t&&t.code==="auth/token-not-initialized"?(M("Got auth/token-not-initialized error. Treating as null token."),null):Promise.reject(t)):new Promise((t,i)=>{setTimeout(()=>{this.auth_?this.getToken(e).then(t,i):t(null)},0)})}addTokenChangeListener(e){this.auth_?this.auth_.addAuthTokenListener(e):this.authProvider_.get().then(t=>t.addAuthTokenListener(e))}removeTokenChangeListener(e){this.authProvider_.get().then(t=>t.removeAuthTokenListener(e))}notifyForInvalidToken(){let e='Provided authentication credentials for the app named "'+this.appName_+'" are invalid. This usually indicates your app was not initialized correctly. ';"credential"in this.firebaseOptions_?e+='Make sure the "credential" property provided to initializeApp() is authorized to access the specified "databaseURL" and is from the correct project.':"serviceAccount"in this.firebaseOptions_?e+='Make sure the "serviceAccount" property provided to initializeApp() is authorized to access the specified "databaseURL" and is from the correct project.':e+='Make sure the "apiKey" and "databaseURL" properties provided to initializeApp() match the values provided for your app at https://console.firebase.google.com/.',B(e)}}class Qt{constructor(e){this.accessToken=e}getToken(e){return Promise.resolve({accessToken:this.accessToken})}addTokenChangeListener(e){e(this.accessToken)}removeTokenChangeListener(e){}notifyForInvalidToken(){}}Qt.OWNER="owner";/**
|
|
1756
1756
|
* @license
|
|
1757
1757
|
* Copyright 2017 Google LLC
|
|
1758
1758
|
*
|
|
@@ -1767,7 +1767,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1767
1767
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1768
1768
|
* See the License for the specific language governing permissions and
|
|
1769
1769
|
* limitations under the License.
|
|
1770
|
-
*/const Li="5",
|
|
1770
|
+
*/const Li="5",ko="v",Ao="s",No="r",Po="f",Oo=/(console\.firebase|firebase-console-\w+\.corp|firebase\.corp)\.google\.com/,Do="ls",Mo="p",ai="ac",Lo="websocket",xo="long_polling";/**
|
|
1771
1771
|
* @license
|
|
1772
1772
|
* Copyright 2017 Google LLC
|
|
1773
1773
|
*
|
|
@@ -1782,7 +1782,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1782
1782
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1783
1783
|
* See the License for the specific language governing permissions and
|
|
1784
1784
|
* limitations under the License.
|
|
1785
|
-
*/class
|
|
1785
|
+
*/class Fo{constructor(e,t,i,s,r=!1,o="",a=!1,l=!1,c=null){this.secure=t,this.namespace=i,this.webSocketOnly=s,this.nodeAdmin=r,this.persistenceKey=o,this.includeNamespaceInQueryParams=a,this.isUsingEmulator=l,this.emulatorOptions=c,this._host=e.toLowerCase(),this._domain=this._host.substr(this._host.indexOf(".")+1),this.internalHost=Re.get("host:"+e)||this._host}isCacheableHost(){return this.internalHost.substr(0,2)==="s-"}isCustomHost(){return this._domain!=="firebaseio.com"&&this._domain!=="firebaseio-demo.com"}get host(){return this._host}set host(e){e!==this.internalHost&&(this.internalHost=e,this.isCacheableHost()&&Re.set("host:"+this._host,this.internalHost))}toString(){let e=this.toURLString();return this.persistenceKey&&(e+="<"+this.persistenceKey+">"),e}toURLString(){const e=this.secure?"https://":"http://",t=this.includeNamespaceInQueryParams?`?ns=${this.namespace}`:"";return`${e}${this.host}/${t}`}}function id(n){return n.host!==n.internalHost||n.isCustomHost()||n.includeNamespaceInQueryParams}function Uo(n,e,t){f(typeof e=="string","typeof type must == string"),f(typeof t=="object","typeof params must == object");let i;if(e===Lo)i=(n.secure?"wss://":"ws://")+n.internalHost+"/.ws?";else if(e===xo)i=(n.secure?"https://":"http://")+n.internalHost+"/.lp?";else throw new Error("Unknown connection type: "+e);id(n)&&(t.ns=n.namespace);const s=[];return W(t,(r,o)=>{s.push(r+"="+o)}),i+s.join("&")}/**
|
|
1786
1786
|
* @license
|
|
1787
1787
|
* Copyright 2017 Google LLC
|
|
1788
1788
|
*
|
|
@@ -1797,7 +1797,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1797
1797
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1798
1798
|
* See the License for the specific language governing permissions and
|
|
1799
1799
|
* limitations under the License.
|
|
1800
|
-
*/class
|
|
1800
|
+
*/class sd{constructor(){this.counters_={}}incrementCounter(e,t=1){oe(this.counters_,e)||(this.counters_[e]=0),this.counters_[e]+=t}get(){return ja(this.counters_)}}/**
|
|
1801
1801
|
* @license
|
|
1802
1802
|
* Copyright 2017 Google LLC
|
|
1803
1803
|
*
|
|
@@ -1812,7 +1812,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1812
1812
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1813
1813
|
* See the License for the specific language governing permissions and
|
|
1814
1814
|
* limitations under the License.
|
|
1815
|
-
*/const
|
|
1815
|
+
*/const Vn={},$n={};function xi(n){const e=n.toString();return Vn[e]||(Vn[e]=new sd),Vn[e]}function rd(n,e){const t=n.toString();return $n[t]||($n[t]=e()),$n[t]}/**
|
|
1816
1816
|
* @license
|
|
1817
1817
|
* Copyright 2017 Google LLC
|
|
1818
1818
|
*
|
|
@@ -1827,7 +1827,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1827
1827
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1828
1828
|
* See the License for the specific language governing permissions and
|
|
1829
1829
|
* limitations under the License.
|
|
1830
|
-
*/class
|
|
1830
|
+
*/class od{constructor(e){this.onMessage_=e,this.pendingResponses=[],this.currentResponseNum=0,this.closeAfterResponse=-1,this.onClose=null}closeAfter(e,t){this.closeAfterResponse=e,this.onClose=t,this.closeAfterResponse<this.currentResponseNum&&(this.onClose(),this.onClose=null)}handleResponse(e,t){for(this.pendingResponses[e]=t;this.pendingResponses[this.currentResponseNum];){const i=this.pendingResponses[this.currentResponseNum];delete this.pendingResponses[this.currentResponseNum];for(let s=0;s<i.length;++s)i[s]&&Ut(()=>{this.onMessage_(i[s])});if(this.currentResponseNum===this.closeAfterResponse){this.onClose&&(this.onClose(),this.onClose=null);break}this.currentResponseNum++}}}/**
|
|
1831
1831
|
* @license
|
|
1832
1832
|
* Copyright 2017 Google LLC
|
|
1833
1833
|
*
|
|
@@ -1842,7 +1842,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1842
1842
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1843
1843
|
* See the License for the specific language governing permissions and
|
|
1844
1844
|
* limitations under the License.
|
|
1845
|
-
*/const qs="start",
|
|
1845
|
+
*/const qs="start",ad="close",ld="pLPCommand",cd="pRTLPCB",Wo="id",Bo="pw",Ho="ser",hd="cb",ud="seg",dd="ts",fd="d",pd="dframe",Vo=1870,$o=30,_d=Vo-$o,gd=25e3,md=3e4;class We{constructor(e,t,i,s,r,o,a){this.connId=e,this.repoInfo=t,this.applicationId=i,this.appCheckToken=s,this.authToken=r,this.transportSessionId=o,this.lastSessionId=a,this.bytesSent=0,this.bytesReceived=0,this.everConnected_=!1,this.log_=Ft(e),this.stats_=xi(t),this.urlFn=l=>(this.appCheckToken&&(l[ai]=this.appCheckToken),Uo(t,xo,l))}open(e,t){this.curSegmentNum=0,this.onDisconnect_=t,this.myPacketOrderer=new od(e),this.isClosed_=!1,this.connectTimeoutTimer_=setTimeout(()=>{this.log_("Timed out trying to connect."),this.onClosed_(),this.connectTimeoutTimer_=null},Math.floor(md)),zu(()=>{if(this.isClosed_)return;this.scriptTagHolder=new Fi((...r)=>{const[o,a,l,c,h]=r;if(this.incrementIncomingBytes_(r),!!this.scriptTagHolder)if(this.connectTimeoutTimer_&&(clearTimeout(this.connectTimeoutTimer_),this.connectTimeoutTimer_=null),this.everConnected_=!0,o===qs)this.id=a,this.password=l;else if(o===ad)a?(this.scriptTagHolder.sendNewPolls=!1,this.myPacketOrderer.closeAfter(a,()=>{this.onClosed_()})):this.onClosed_();else throw new Error("Unrecognized command received: "+o)},(...r)=>{const[o,a]=r;this.incrementIncomingBytes_(r),this.myPacketOrderer.handleResponse(o,a)},()=>{this.onClosed_()},this.urlFn);const i={};i[qs]="t",i[Ho]=Math.floor(Math.random()*1e8),this.scriptTagHolder.uniqueCallbackIdentifier&&(i[hd]=this.scriptTagHolder.uniqueCallbackIdentifier),i[ko]=Li,this.transportSessionId&&(i[Ao]=this.transportSessionId),this.lastSessionId&&(i[Do]=this.lastSessionId),this.applicationId&&(i[Mo]=this.applicationId),this.appCheckToken&&(i[ai]=this.appCheckToken),typeof location<"u"&&location.hostname&&Oo.test(location.hostname)&&(i[No]=Po);const s=this.urlFn(i);this.log_("Connecting via long-poll to "+s),this.scriptTagHolder.addTag(s,()=>{})})}start(){this.scriptTagHolder.startLongPoll(this.id,this.password),this.addDisconnectPingFrame(this.id,this.password)}static forceAllow(){We.forceAllow_=!0}static forceDisallow(){We.forceDisallow_=!0}static isAvailable(){return We.forceAllow_?!0:!We.forceDisallow_&&typeof document<"u"&&document.createElement!=null&&!Ku()&&!Yu()}markConnectionHealthy(){}shutdown_(){this.isClosed_=!0,this.scriptTagHolder&&(this.scriptTagHolder.close(),this.scriptTagHolder=null),this.myDisconnFrame&&(document.body.removeChild(this.myDisconnFrame),this.myDisconnFrame=null),this.connectTimeoutTimer_&&(clearTimeout(this.connectTimeoutTimer_),this.connectTimeoutTimer_=null)}onClosed_(){this.isClosed_||(this.log_("Longpoll is closing itself"),this.shutdown_(),this.onDisconnect_&&(this.onDisconnect_(this.everConnected_),this.onDisconnect_=null))}close(){this.isClosed_||(this.log_("Longpoll is being closed."),this.shutdown_())}send(e){const t=A(e);this.bytesSent+=t.length,this.stats_.incrementCounter("bytes_sent",t.length);const i=Sr(t),s=bo(i,_d);for(let r=0;r<s.length;r++)this.scriptTagHolder.enqueueSegment(this.curSegmentNum,s.length,s[r]),this.curSegmentNum++}addDisconnectPingFrame(e,t){this.myDisconnFrame=document.createElement("iframe");const i={};i[pd]="t",i[Wo]=e,i[Bo]=t,this.myDisconnFrame.src=this.urlFn(i),this.myDisconnFrame.style.display="none",document.body.appendChild(this.myDisconnFrame)}incrementIncomingBytes_(e){const t=A(e).length;this.bytesReceived+=t,this.stats_.incrementCounter("bytes_received",t)}}class Fi{constructor(e,t,i,s){this.onDisconnect=i,this.urlFn=s,this.outstandingRequests=new Set,this.pendingSegs=[],this.currentSerial=Math.floor(Math.random()*1e8),this.sendNewPolls=!0;{this.uniqueCallbackIdentifier=$u(),window[ld+this.uniqueCallbackIdentifier]=e,window[cd+this.uniqueCallbackIdentifier]=t,this.myIFrame=Fi.createIFrame_();let r="";this.myIFrame.src&&this.myIFrame.src.substr(0,11)==="javascript:"&&(r='<script>document.domain="'+document.domain+'";<\/script>');const o="<html><body>"+r+"</body></html>";try{this.myIFrame.doc.open(),this.myIFrame.doc.write(o),this.myIFrame.doc.close()}catch(a){M("frame writing exception"),a.stack&&M(a.stack),M(a)}}}static createIFrame_(){const e=document.createElement("iframe");if(e.style.display="none",document.body){document.body.appendChild(e);try{e.contentWindow.document||M("No IE domain setting required")}catch{const i=document.domain;e.src="javascript:void((function(){document.open();document.domain='"+i+"';document.close();})())"}}else throw"Document body has not initialized. Wait to initialize Firebase until after the document is ready.";return e.contentDocument?e.doc=e.contentDocument:e.contentWindow?e.doc=e.contentWindow.document:e.document&&(e.doc=e.document),e}close(){this.alive=!1,this.myIFrame&&(this.myIFrame.doc.body.textContent="",setTimeout(()=>{this.myIFrame!==null&&(document.body.removeChild(this.myIFrame),this.myIFrame=null)},Math.floor(0)));const e=this.onDisconnect;e&&(this.onDisconnect=null,e())}startLongPoll(e,t){for(this.myID=e,this.myPW=t,this.alive=!0;this.newRequest_(););}newRequest_(){if(this.alive&&this.sendNewPolls&&this.outstandingRequests.size<(this.pendingSegs.length>0?2:1)){this.currentSerial++;const e={};e[Wo]=this.myID,e[Bo]=this.myPW,e[Ho]=this.currentSerial;let t=this.urlFn(e),i="",s=0;for(;this.pendingSegs.length>0&&this.pendingSegs[0].d.length+$o+i.length<=Vo;){const o=this.pendingSegs.shift();i=i+"&"+ud+s+"="+o.seg+"&"+dd+s+"="+o.ts+"&"+fd+s+"="+o.d,s++}return t=t+i,this.addLongPollTag_(t,this.currentSerial),!0}else return!1}enqueueSegment(e,t,i){this.pendingSegs.push({seg:e,ts:t,d:i}),this.alive&&this.newRequest_()}addLongPollTag_(e,t){this.outstandingRequests.add(t);const i=()=>{this.outstandingRequests.delete(t),this.newRequest_()},s=setTimeout(i,Math.floor(gd)),r=()=>{clearTimeout(s),i()};this.addTag(e,r)}addTag(e,t){setTimeout(()=>{try{if(!this.sendNewPolls)return;const i=this.myIFrame.doc.createElement("script");i.type="text/javascript",i.async=!0,i.src=e,i.onload=i.onreadystatechange=function(){const s=i.readyState;(!s||s==="loaded"||s==="complete")&&(i.onload=i.onreadystatechange=null,i.parentNode&&i.parentNode.removeChild(i),t())},i.onerror=()=>{M("Long-poll script failed to load: "+e),this.sendNewPolls=!1,this.close()},this.myIFrame.doc.body.appendChild(i)}catch{}},Math.floor(1))}}/**
|
|
1846
1846
|
* @license
|
|
1847
1847
|
* Copyright 2017 Google LLC
|
|
1848
1848
|
*
|
|
@@ -1857,7 +1857,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1857
1857
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1858
1858
|
* See the License for the specific language governing permissions and
|
|
1859
1859
|
* limitations under the License.
|
|
1860
|
-
*/const
|
|
1860
|
+
*/const vd=16384,yd=45e3;let cn=null;typeof MozWebSocket<"u"?cn=MozWebSocket:typeof WebSocket<"u"&&(cn=WebSocket);class j{constructor(e,t,i,s,r,o,a){this.connId=e,this.applicationId=i,this.appCheckToken=s,this.authToken=r,this.keepaliveTimer=null,this.frames=null,this.totalFrames=0,this.bytesSent=0,this.bytesReceived=0,this.log_=Ft(this.connId),this.stats_=xi(t),this.connURL=j.connectionURL_(t,o,a,s,i),this.nodeAdmin=t.nodeAdmin}static connectionURL_(e,t,i,s,r){const o={};return o[ko]=Li,typeof location<"u"&&location.hostname&&Oo.test(location.hostname)&&(o[No]=Po),t&&(o[Ao]=t),i&&(o[Do]=i),s&&(o[ai]=s),r&&(o[Mo]=r),Uo(e,Lo,o)}open(e,t){this.onDisconnect=t,this.onMessage=e,this.log_("Websocket connecting to "+this.connURL),this.everConnected_=!1,Re.set("previous_websocket_failure",!0);try{let i;sl(),this.mySock=new cn(this.connURL,[],i)}catch(i){this.log_("Error instantiating WebSocket.");const s=i.message||i.data;s&&this.log_(s),this.onClosed_();return}this.mySock.onopen=()=>{this.log_("Websocket connected."),this.everConnected_=!0},this.mySock.onclose=()=>{this.log_("Websocket connection was disconnected."),this.mySock=null,this.onClosed_()},this.mySock.onmessage=i=>{this.handleIncomingFrame(i)},this.mySock.onerror=i=>{this.log_("WebSocket error. Closing connection.");const s=i.message||i.data;s&&this.log_(s),this.onClosed_()}}start(){}static forceDisallow(){j.forceDisallow_=!0}static isAvailable(){let e=!1;if(typeof navigator<"u"&&navigator.userAgent){const t=/Android ([0-9]{0,}\.[0-9]{0,})/,i=navigator.userAgent.match(t);i&&i.length>1&&parseFloat(i[1])<4.4&&(e=!0)}return!e&&cn!==null&&!j.forceDisallow_}static previouslyFailed(){return Re.isInMemoryStorage||Re.get("previous_websocket_failure")===!0}markConnectionHealthy(){Re.remove("previous_websocket_failure")}appendFrame_(e){if(this.frames.push(e),this.frames.length===this.totalFrames){const t=this.frames.join("");this.frames=null;const i=Et(t);this.onMessage(i)}}handleNewFrameCount_(e){this.totalFrames=e,this.frames=[]}extractFrameCount_(e){if(f(this.frames===null,"We already have a frame buffer"),e.length<=6){const t=Number(e);if(!isNaN(t))return this.handleNewFrameCount_(t),null}return this.handleNewFrameCount_(1),e}handleIncomingFrame(e){if(this.mySock===null)return;const t=e.data;if(this.bytesReceived+=t.length,this.stats_.incrementCounter("bytes_received",t.length),this.resetKeepAlive(),this.frames!==null)this.appendFrame_(t);else{const i=this.extractFrameCount_(t);i!==null&&this.appendFrame_(i)}}send(e){this.resetKeepAlive();const t=A(e);this.bytesSent+=t.length,this.stats_.incrementCounter("bytes_sent",t.length);const i=bo(t,vd);i.length>1&&this.sendString_(String(i.length));for(let s=0;s<i.length;s++)this.sendString_(i[s])}shutdown_(){this.isClosed_=!0,this.keepaliveTimer&&(clearInterval(this.keepaliveTimer),this.keepaliveTimer=null),this.mySock&&(this.mySock.close(),this.mySock=null)}onClosed_(){this.isClosed_||(this.log_("WebSocket is closing itself"),this.shutdown_(),this.onDisconnect&&(this.onDisconnect(this.everConnected_),this.onDisconnect=null))}close(){this.isClosed_||(this.log_("WebSocket is being closed"),this.shutdown_())}resetKeepAlive(){clearInterval(this.keepaliveTimer),this.keepaliveTimer=setInterval(()=>{this.mySock&&this.sendString_("0"),this.resetKeepAlive()},Math.floor(yd))}sendString_(e){try{this.mySock.send(e)}catch(t){this.log_("Exception thrown from WebSocket.send():",t.message||t.data,"Closing connection."),setTimeout(this.onClosed_.bind(this),0)}}}j.responsesRequiredToBeHealthy=2;j.healthyTimeout=3e4;/**
|
|
1861
1861
|
* @license
|
|
1862
1862
|
* Copyright 2017 Google LLC
|
|
1863
1863
|
*
|
|
@@ -1872,7 +1872,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1872
1872
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1873
1873
|
* See the License for the specific language governing permissions and
|
|
1874
1874
|
* limitations under the License.
|
|
1875
|
-
*/class Tt{static get ALL_TRANSPORTS(){return[We,
|
|
1875
|
+
*/class Tt{static get ALL_TRANSPORTS(){return[We,j]}static get IS_TRANSPORT_INITIALIZED(){return this.globalTransportInitialized_}constructor(e){this.initTransports_(e)}initTransports_(e){const t=j&&j.isAvailable();let i=t&&!j.previouslyFailed();if(e.webSocketOnly&&(t||B("wss:// URL used, but browser isn't known to support websockets. Trying anyway."),i=!0),i)this.transports_=[j];else{const s=this.transports_=[];for(const r of Tt.ALL_TRANSPORTS)r&&r.isAvailable()&&s.push(r);Tt.globalTransportInitialized_=!0}}initialTransport(){if(this.transports_.length>0)return this.transports_[0];throw new Error("No transports available")}upgradeTransport(){return this.transports_.length>1?this.transports_[1]:null}}Tt.globalTransportInitialized_=!1;/**
|
|
1876
1876
|
* @license
|
|
1877
1877
|
* Copyright 2017 Google LLC
|
|
1878
1878
|
*
|
|
@@ -1887,7 +1887,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1887
1887
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1888
1888
|
* See the License for the specific language governing permissions and
|
|
1889
1889
|
* limitations under the License.
|
|
1890
|
-
*/const
|
|
1890
|
+
*/const Ed=6e4,Id=5e3,Cd=10*1024,wd=100*1024,Gn="t",Ks="d",Td="s",Ys="r",Sd="e",Qs="o",Js="a",Xs="n",Zs="p",bd="h";class Rd{constructor(e,t,i,s,r,o,a,l,c,h){this.id=e,this.repoInfo_=t,this.applicationId_=i,this.appCheckToken_=s,this.authToken_=r,this.onMessage_=o,this.onReady_=a,this.onDisconnect_=l,this.onKill_=c,this.lastSessionId=h,this.connectionCount=0,this.pendingDataMessages=[],this.state_=0,this.log_=Ft("c:"+this.id+":"),this.transportManager_=new Tt(t),this.log_("Connection created"),this.start_()}start_(){const e=this.transportManager_.initialTransport();this.conn_=new e(this.nextTransportId_(),this.repoInfo_,this.applicationId_,this.appCheckToken_,this.authToken_,null,this.lastSessionId),this.primaryResponsesRequired_=e.responsesRequiredToBeHealthy||0;const t=this.connReceiver_(this.conn_),i=this.disconnReceiver_(this.conn_);this.tx_=this.conn_,this.rx_=this.conn_,this.secondaryConn_=null,this.isHealthy_=!1,setTimeout(()=>{this.conn_&&this.conn_.open(t,i)},Math.floor(0));const s=e.healthyTimeout||0;s>0&&(this.healthyTimeout_=gt(()=>{this.healthyTimeout_=null,this.isHealthy_||(this.conn_&&this.conn_.bytesReceived>wd?(this.log_("Connection exceeded healthy timeout but has received "+this.conn_.bytesReceived+" bytes. Marking connection healthy."),this.isHealthy_=!0,this.conn_.markConnectionHealthy()):this.conn_&&this.conn_.bytesSent>Cd?this.log_("Connection exceeded healthy timeout but has sent "+this.conn_.bytesSent+" bytes. Leaving connection alive."):(this.log_("Closing unhealthy connection after timeout."),this.close()))},Math.floor(s)))}nextTransportId_(){return"c:"+this.id+":"+this.connectionCount++}disconnReceiver_(e){return t=>{e===this.conn_?this.onConnectionLost_(t):e===this.secondaryConn_?(this.log_("Secondary connection lost."),this.onSecondaryConnectionLost_()):this.log_("closing an old connection")}}connReceiver_(e){return t=>{this.state_!==2&&(e===this.rx_?this.onPrimaryMessageReceived_(t):e===this.secondaryConn_?this.onSecondaryMessageReceived_(t):this.log_("message on old connection"))}}sendRequest(e){const t={t:"d",d:e};this.sendData_(t)}tryCleanupConnection(){this.tx_===this.secondaryConn_&&this.rx_===this.secondaryConn_&&(this.log_("cleaning up and promoting a connection: "+this.secondaryConn_.connId),this.conn_=this.secondaryConn_,this.secondaryConn_=null)}onSecondaryControl_(e){if(Gn in e){const t=e[Gn];t===Js?this.upgradeIfSecondaryHealthy_():t===Ys?(this.log_("Got a reset on secondary, closing it"),this.secondaryConn_.close(),(this.tx_===this.secondaryConn_||this.rx_===this.secondaryConn_)&&this.close()):t===Qs&&(this.log_("got pong on secondary."),this.secondaryResponsesRequired_--,this.upgradeIfSecondaryHealthy_())}}onSecondaryMessageReceived_(e){const t=at("t",e),i=at("d",e);if(t==="c")this.onSecondaryControl_(i);else if(t==="d")this.pendingDataMessages.push(i);else throw new Error("Unknown protocol layer: "+t)}upgradeIfSecondaryHealthy_(){this.secondaryResponsesRequired_<=0?(this.log_("Secondary connection is healthy."),this.isHealthy_=!0,this.secondaryConn_.markConnectionHealthy(),this.proceedWithUpgrade_()):(this.log_("sending ping on secondary."),this.secondaryConn_.send({t:"c",d:{t:Zs,d:{}}}))}proceedWithUpgrade_(){this.secondaryConn_.start(),this.log_("sending client ack on secondary"),this.secondaryConn_.send({t:"c",d:{t:Js,d:{}}}),this.log_("Ending transmission on primary"),this.conn_.send({t:"c",d:{t:Xs,d:{}}}),this.tx_=this.secondaryConn_,this.tryCleanupConnection()}onPrimaryMessageReceived_(e){const t=at("t",e),i=at("d",e);t==="c"?this.onControl_(i):t==="d"&&this.onDataMessage_(i)}onDataMessage_(e){this.onPrimaryResponse_(),this.onMessage_(e)}onPrimaryResponse_(){this.isHealthy_||(this.primaryResponsesRequired_--,this.primaryResponsesRequired_<=0&&(this.log_("Primary connection is healthy."),this.isHealthy_=!0,this.conn_.markConnectionHealthy()))}onControl_(e){const t=at(Gn,e);if(Ks in e){const i=e[Ks];if(t===bd){const s=Object.assign({},i);this.repoInfo_.isUsingEmulator&&(s.h=this.repoInfo_.host),this.onHandshake_(s)}else if(t===Xs){this.log_("recvd end transmission on primary"),this.rx_=this.secondaryConn_;for(let s=0;s<this.pendingDataMessages.length;++s)this.onDataMessage_(this.pendingDataMessages[s]);this.pendingDataMessages=[],this.tryCleanupConnection()}else t===Td?this.onConnectionShutdown_(i):t===Ys?this.onReset_(i):t===Sd?oi("Server Error: "+i):t===Qs?(this.log_("got pong on primary."),this.onPrimaryResponse_(),this.sendPingOnPrimaryIfNecessary_()):oi("Unknown control packet command: "+t)}}onHandshake_(e){const t=e.ts,i=e.v,s=e.h;this.sessionId=e.s,this.repoInfo_.host=s,this.state_===0&&(this.conn_.start(),this.onConnectionEstablished_(this.conn_,t),Li!==i&&B("Protocol version mismatch detected"),this.tryStartUpgrade_())}tryStartUpgrade_(){const e=this.transportManager_.upgradeTransport();e&&this.startUpgrade_(e)}startUpgrade_(e){this.secondaryConn_=new e(this.nextTransportId_(),this.repoInfo_,this.applicationId_,this.appCheckToken_,this.authToken_,this.sessionId),this.secondaryResponsesRequired_=e.responsesRequiredToBeHealthy||0;const t=this.connReceiver_(this.secondaryConn_),i=this.disconnReceiver_(this.secondaryConn_);this.secondaryConn_.open(t,i),gt(()=>{this.secondaryConn_&&(this.log_("Timed out trying to upgrade."),this.secondaryConn_.close())},Math.floor(Ed))}onReset_(e){this.log_("Reset packet received. New host: "+e),this.repoInfo_.host=e,this.state_===1?this.close():(this.closeConnections_(),this.start_())}onConnectionEstablished_(e,t){this.log_("Realtime connection established."),this.conn_=e,this.state_=1,this.onReady_&&(this.onReady_(t,this.sessionId),this.onReady_=null),this.primaryResponsesRequired_===0?(this.log_("Primary connection is healthy."),this.isHealthy_=!0):gt(()=>{this.sendPingOnPrimaryIfNecessary_()},Math.floor(Id))}sendPingOnPrimaryIfNecessary_(){!this.isHealthy_&&this.state_===1&&(this.log_("sending ping on primary."),this.sendData_({t:"c",d:{t:Zs,d:{}}}))}onSecondaryConnectionLost_(){const e=this.secondaryConn_;this.secondaryConn_=null,(this.tx_===e||this.rx_===e)&&this.close()}onConnectionLost_(e){this.conn_=null,!e&&this.state_===0?(this.log_("Realtime connection failed."),this.repoInfo_.isCacheableHost()&&(Re.remove("host:"+this.repoInfo_.host),this.repoInfo_.internalHost=this.repoInfo_.host)):this.state_===1&&this.log_("Realtime connection lost."),this.close()}onConnectionShutdown_(e){this.log_("Connection shutdown command received. Shutting down..."),this.onKill_&&(this.onKill_(e),this.onKill_=null),this.onDisconnect_=null,this.close()}sendData_(e){if(this.state_!==1)throw"Connection is not connected";this.tx_.send(e)}close(){this.state_!==2&&(this.log_("Closing realtime connection."),this.state_=2,this.closeConnections_(),this.onDisconnect_&&(this.onDisconnect_(),this.onDisconnect_=null))}closeConnections_(){this.log_("Shutting down all connections"),this.conn_&&(this.conn_.close(),this.conn_=null),this.secondaryConn_&&(this.secondaryConn_.close(),this.secondaryConn_=null),this.healthyTimeout_&&(clearTimeout(this.healthyTimeout_),this.healthyTimeout_=null)}}/**
|
|
1891
1891
|
* @license
|
|
1892
1892
|
* Copyright 2017 Google LLC
|
|
1893
1893
|
*
|
|
@@ -1902,7 +1902,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1902
1902
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1903
1903
|
* See the License for the specific language governing permissions and
|
|
1904
1904
|
* limitations under the License.
|
|
1905
|
-
*/class
|
|
1905
|
+
*/class Go{put(e,t,i,s){}merge(e,t,i,s){}refreshAuthToken(e){}refreshAppCheckToken(e){}onDisconnectPut(e,t,i){}onDisconnectMerge(e,t,i){}onDisconnectCancel(e,t){}reportStats(e){}}/**
|
|
1906
1906
|
* @license
|
|
1907
1907
|
* Copyright 2017 Google LLC
|
|
1908
1908
|
*
|
|
@@ -1932,7 +1932,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1932
1932
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1933
1933
|
* See the License for the specific language governing permissions and
|
|
1934
1934
|
* limitations under the License.
|
|
1935
|
-
*/class
|
|
1935
|
+
*/class hn extends jo{static getInstance(){return new hn}constructor(){super(["online"]),this.online_=!0,typeof window<"u"&&typeof window.addEventListener<"u"&&!Ii()&&(window.addEventListener("online",()=>{this.online_||(this.online_=!0,this.trigger("online",!0))},!1),window.addEventListener("offline",()=>{this.online_&&(this.online_=!1,this.trigger("online",!1))},!1))}getInitialEvent(e){return f(e==="online","Unknown event type: "+e),[this.online_]}currentlyOnline(){return this.online_}}/**
|
|
1936
1936
|
* @license
|
|
1937
1937
|
* Copyright 2017 Google LLC
|
|
1938
1938
|
*
|
|
@@ -1947,7 +1947,7 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1947
1947
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1948
1948
|
* See the License for the specific language governing permissions and
|
|
1949
1949
|
* limitations under the License.
|
|
1950
|
-
*/const er=32,tr=768;class T{constructor(e,t){if(t===void 0){this.pieces_=e.split("/");let i=0;for(let s=0;s<this.pieces_.length;s++)this.pieces_[s].length>0&&(this.pieces_[i]=this.pieces_[s],i++);this.pieces_.length=i,this.pieceNum_=0}else this.pieces_=e,this.pieceNum_=t}toString(){let e="";for(let t=this.pieceNum_;t<this.pieces_.length;t++)this.pieces_[t]!==""&&(e+="/"+this.pieces_[t]);return e||"/"}}function I(){return new T("")}function E(n){return n.pieceNum_>=n.pieces_.length?null:n.pieces_[n.pieceNum_]}function ye(n){return n.pieces_.length-n.pieceNum_}function S(n){let e=n.pieceNum_;return e<n.pieces_.length&&e++,new T(n.pieces_,e)}function
|
|
1950
|
+
*/const er=32,tr=768;class T{constructor(e,t){if(t===void 0){this.pieces_=e.split("/");let i=0;for(let s=0;s<this.pieces_.length;s++)this.pieces_[s].length>0&&(this.pieces_[i]=this.pieces_[s],i++);this.pieces_.length=i,this.pieceNum_=0}else this.pieces_=e,this.pieceNum_=t}toString(){let e="";for(let t=this.pieceNum_;t<this.pieces_.length;t++)this.pieces_[t]!==""&&(e+="/"+this.pieces_[t]);return e||"/"}}function I(){return new T("")}function E(n){return n.pieceNum_>=n.pieces_.length?null:n.pieces_[n.pieceNum_]}function ye(n){return n.pieces_.length-n.pieceNum_}function S(n){let e=n.pieceNum_;return e<n.pieces_.length&&e++,new T(n.pieces_,e)}function zo(n){return n.pieceNum_<n.pieces_.length?n.pieces_[n.pieces_.length-1]:null}function kd(n){let e="";for(let t=n.pieceNum_;t<n.pieces_.length;t++)n.pieces_[t]!==""&&(e+="/"+encodeURIComponent(String(n.pieces_[t])));return e||"/"}function qo(n,e=0){return n.pieces_.slice(n.pieceNum_+e)}function Ko(n){if(n.pieceNum_>=n.pieces_.length)return null;const e=[];for(let t=n.pieceNum_;t<n.pieces_.length-1;t++)e.push(n.pieces_[t]);return new T(e,0)}function N(n,e){const t=[];for(let i=n.pieceNum_;i<n.pieces_.length;i++)t.push(n.pieces_[i]);if(e instanceof T)for(let i=e.pieceNum_;i<e.pieces_.length;i++)t.push(e.pieces_[i]);else{const i=e.split("/");for(let s=0;s<i.length;s++)i[s].length>0&&t.push(i[s])}return new T(t,0)}function y(n){return n.pieceNum_>=n.pieces_.length}function L(n,e){const t=E(n),i=E(e);if(t===null)return e;if(t===i)return L(S(n),S(e));throw new Error("INTERNAL ERROR: innerPath ("+e+") is not within outerPath ("+n+")")}function Yo(n,e){if(ye(n)!==ye(e))return!1;for(let t=n.pieceNum_,i=e.pieceNum_;t<=n.pieces_.length;t++,i++)if(n.pieces_[t]!==e.pieces_[i])return!1;return!0}function q(n,e){let t=n.pieceNum_,i=e.pieceNum_;if(ye(n)>ye(e))return!1;for(;t<n.pieces_.length;){if(n.pieces_[t]!==e.pieces_[i])return!1;++t,++i}return!0}class Ad{constructor(e,t){this.errorPrefix_=t,this.parts_=qo(e,0),this.byteLength_=Math.max(1,this.parts_.length);for(let i=0;i<this.parts_.length;i++)this.byteLength_+=In(this.parts_[i]);Qo(this)}}function Nd(n,e){n.parts_.length>0&&(n.byteLength_+=1),n.parts_.push(e),n.byteLength_+=In(e),Qo(n)}function Pd(n){const e=n.parts_.pop();n.byteLength_-=In(e),n.parts_.length>0&&(n.byteLength_-=1)}function Qo(n){if(n.byteLength_>tr)throw new Error(n.errorPrefix_+"has a key path longer than "+tr+" bytes ("+n.byteLength_+").");if(n.parts_.length>er)throw new Error(n.errorPrefix_+"path specified exceeds the maximum depth that can be written ("+er+") or object contains a cycle "+be(n))}function be(n){return n.parts_.length===0?"":"in property '"+n.parts_.join(".")+"'"}/**
|
|
1951
1951
|
* @license
|
|
1952
1952
|
* Copyright 2017 Google LLC
|
|
1953
1953
|
*
|
|
@@ -1977,10 +1977,10 @@ import{z as Ba,A as Ha,B as Va,C as $a,e as ja,D as Ga}from"./utils-BdGM_Id-.js"
|
|
|
1977
1977
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1978
1978
|
* See the License for the specific language governing permissions and
|
|
1979
1979
|
* limitations under the License.
|
|
1980
|
-
*/const lt=1e3,
|
|
1981
|
-
Are you using the latest client?`)}onReady_(e,t){this.log_("connection ready"),this.connected_=!0,this.lastConnectionEstablishedTime_=new Date().getTime(),this.handleTimestamp_(e),this.lastSessionId=t,this.firstConnection_&&this.sendConnectStats_(),this.restoreState_(),this.firstConnection_=!1,this.onConnectStatus_(!0)}scheduleConnect_(e){f(!this.realtime_,"Scheduling a connect when we're already connected/ing?"),this.establishConnectionTimer_&&clearTimeout(this.establishConnectionTimer_),this.establishConnectionTimer_=setTimeout(()=>{this.establishConnectionTimer_=null,this.establishConnection_()},Math.floor(e))}initConnection_(){!this.realtime_&&this.firstConnection_&&this.scheduleConnect_(0)}onVisible_(e){e&&!this.visible_&&this.reconnectDelay_===this.maxReconnectDelay_&&(this.log_("Window became visible. Reducing delay."),this.reconnectDelay_=lt,this.realtime_||this.scheduleConnect_(0)),this.visible_=e}onOnline_(e){e?(this.log_("Browser went online."),this.reconnectDelay_=lt,this.realtime_||this.scheduleConnect_(0)):(this.log_("Browser went offline. Killing connection."),this.realtime_&&this.realtime_.close())}onRealtimeDisconnect_(){if(this.log_("data client disconnected"),this.connected_=!1,this.realtime_=null,this.cancelSentTransactions_(),this.requestCBHash_={},this.shouldReconnect_()){this.visible_?this.lastConnectionEstablishedTime_&&(new Date().getTime()-this.lastConnectionEstablishedTime_>
|
|
1980
|
+
*/const lt=1e3,Od=300*1e3,nr=30*1e3,Dd=1.3,Md=3e4,Ld="server_kill",ir=3;class ne extends Go{constructor(e,t,i,s,r,o,a,l){if(super(),this.repoInfo_=e,this.applicationId_=t,this.onDataUpdate_=i,this.onConnectStatus_=s,this.onServerInfoUpdate_=r,this.authTokenProvider_=o,this.appCheckTokenProvider_=a,this.authOverride_=l,this.id=ne.nextPersistentConnectionId_++,this.log_=Ft("p:"+this.id+":"),this.interruptReasons_={},this.listens=new Map,this.outstandingPuts_=[],this.outstandingGets_=[],this.outstandingPutCount_=0,this.outstandingGetCount_=0,this.onDisconnectRequestQueue_=[],this.connected_=!1,this.reconnectDelay_=lt,this.maxReconnectDelay_=Od,this.securityDebugCallback_=null,this.lastSessionId=null,this.establishConnectionTimer_=null,this.visible_=!1,this.requestCBHash_={},this.requestNumber_=0,this.realtime_=null,this.authToken_=null,this.appCheckToken_=null,this.forceTokenRefresh_=!1,this.invalidAuthTokenCount_=0,this.invalidAppCheckTokenCount_=0,this.firstConnection_=!0,this.lastConnectionAttemptTime_=null,this.lastConnectionEstablishedTime_=null,l)throw new Error("Auth override specified in options, but not supported on non Node.js platforms");Ui.getInstance().on("visible",this.onVisible_,this),e.host.indexOf("fblocal")===-1&&hn.getInstance().on("online",this.onOnline_,this)}sendRequest(e,t,i){const s=++this.requestNumber_,r={r:s,a:e,b:t};this.log_(A(r)),f(this.connected_,"sendRequest call when we're not connected not allowed."),this.realtime_.sendRequest(r),i&&(this.requestCBHash_[s]=i)}get(e){this.initConnection_();const t=new Ei,s={action:"g",request:{p:e._path.toString(),q:e._queryObject},onComplete:o=>{const a=o.d;o.s==="ok"?t.resolve(a):t.reject(a)}};this.outstandingGets_.push(s),this.outstandingGetCount_++;const r=this.outstandingGets_.length-1;return this.connected_&&this.sendGet_(r),t.promise}listen(e,t,i,s){this.initConnection_();const r=e._queryIdentifier,o=e._path.toString();this.log_("Listen called for "+o+" "+r),this.listens.has(o)||this.listens.set(o,new Map),f(e._queryParams.isDefault()||!e._queryParams.loadsAllData(),"listen() called for non-default but complete query"),f(!this.listens.get(o).has(r),"listen() called twice for same path/queryId.");const a={onComplete:s,hashFn:t,query:e,tag:i};this.listens.get(o).set(r,a),this.connected_&&this.sendListen_(a)}sendGet_(e){const t=this.outstandingGets_[e];this.sendRequest("g",t.request,i=>{delete this.outstandingGets_[e],this.outstandingGetCount_--,this.outstandingGetCount_===0&&(this.outstandingGets_=[]),t.onComplete&&t.onComplete(i)})}sendListen_(e){const t=e.query,i=t._path.toString(),s=t._queryIdentifier;this.log_("Listen on "+i+" for "+s);const r={p:i},o="q";e.tag&&(r.q=t._queryObject,r.t=e.tag),r.h=e.hashFn(),this.sendRequest(o,r,a=>{const l=a.d,c=a.s;ne.warnOnListenWarnings_(l,t),(this.listens.get(i)&&this.listens.get(i).get(s))===e&&(this.log_("listen response",a),c!=="ok"&&this.removeListen_(i,s),e.onComplete&&e.onComplete(c,l))})}static warnOnListenWarnings_(e,t){if(e&&typeof e=="object"&&oe(e,"w")){const i=qe(e,"w");if(Array.isArray(i)&&~i.indexOf("no_index")){const s='".indexOn": "'+t._queryParams.getIndex().toString()+'"',r=t._path.toString();B(`Using an unspecified index. Your data will be downloaded and filtered on the client. Consider adding ${s} at ${r} to your security rules for better performance.`)}}}refreshAuthToken(e){this.authToken_=e,this.log_("Auth token refreshed"),this.authToken_?this.tryAuth():this.connected_&&this.sendRequest("unauth",{},()=>{}),this.reduceReconnectDelayIfAdminCredential_(e)}reduceReconnectDelayIfAdminCredential_(e){(e&&e.length===40||ul(e))&&(this.log_("Admin auth credential detected. Reducing max reconnect time."),this.maxReconnectDelay_=nr)}refreshAppCheckToken(e){this.appCheckToken_=e,this.log_("App check token refreshed"),this.appCheckToken_?this.tryAppCheck():this.connected_&&this.sendRequest("unappeck",{},()=>{})}tryAuth(){if(this.connected_&&this.authToken_){const e=this.authToken_,t=hl(e)?"auth":"gauth",i={cred:e};this.authOverride_===null?i.noauth=!0:typeof this.authOverride_=="object"&&(i.authvar=this.authOverride_),this.sendRequest(t,i,s=>{const r=s.s,o=s.d||"error";this.authToken_===e&&(r==="ok"?this.invalidAuthTokenCount_=0:this.onAuthRevoked_(r,o))})}}tryAppCheck(){this.connected_&&this.appCheckToken_&&this.sendRequest("appcheck",{token:this.appCheckToken_},e=>{const t=e.s,i=e.d||"error";t==="ok"?this.invalidAppCheckTokenCount_=0:this.onAppCheckRevoked_(t,i)})}unlisten(e,t){const i=e._path.toString(),s=e._queryIdentifier;this.log_("Unlisten called for "+i+" "+s),f(e._queryParams.isDefault()||!e._queryParams.loadsAllData(),"unlisten() called for non-default but complete query"),this.removeListen_(i,s)&&this.connected_&&this.sendUnlisten_(i,s,e._queryObject,t)}sendUnlisten_(e,t,i,s){this.log_("Unlisten on "+e+" for "+t);const r={p:e},o="n";s&&(r.q=i,r.t=s),this.sendRequest(o,r)}onDisconnectPut(e,t,i){this.initConnection_(),this.connected_?this.sendOnDisconnect_("o",e,t,i):this.onDisconnectRequestQueue_.push({pathString:e,action:"o",data:t,onComplete:i})}onDisconnectMerge(e,t,i){this.initConnection_(),this.connected_?this.sendOnDisconnect_("om",e,t,i):this.onDisconnectRequestQueue_.push({pathString:e,action:"om",data:t,onComplete:i})}onDisconnectCancel(e,t){this.initConnection_(),this.connected_?this.sendOnDisconnect_("oc",e,null,t):this.onDisconnectRequestQueue_.push({pathString:e,action:"oc",data:null,onComplete:t})}sendOnDisconnect_(e,t,i,s){const r={p:t,d:i};this.log_("onDisconnect "+e,r),this.sendRequest(e,r,o=>{s&&setTimeout(()=>{s(o.s,o.d)},Math.floor(0))})}put(e,t,i,s){this.putInternal("p",e,t,i,s)}merge(e,t,i,s){this.putInternal("m",e,t,i,s)}putInternal(e,t,i,s,r){this.initConnection_();const o={p:t,d:i};r!==void 0&&(o.h=r),this.outstandingPuts_.push({action:e,request:o,onComplete:s}),this.outstandingPutCount_++;const a=this.outstandingPuts_.length-1;this.connected_?this.sendPut_(a):this.log_("Buffering put: "+t)}sendPut_(e){const t=this.outstandingPuts_[e].action,i=this.outstandingPuts_[e].request,s=this.outstandingPuts_[e].onComplete;this.outstandingPuts_[e].queued=this.connected_,this.sendRequest(t,i,r=>{this.log_(t+" response",r),delete this.outstandingPuts_[e],this.outstandingPutCount_--,this.outstandingPutCount_===0&&(this.outstandingPuts_=[]),s&&s(r.s,r.d)})}reportStats(e){if(this.connected_){const t={c:e};this.log_("reportStats",t),this.sendRequest("s",t,i=>{if(i.s!=="ok"){const r=i.d;this.log_("reportStats","Error sending stats: "+r)}})}}onDataMessage_(e){if("r"in e){this.log_("from server: "+A(e));const t=e.r,i=this.requestCBHash_[t];i&&(delete this.requestCBHash_[t],i(e.b))}else{if("error"in e)throw"A server-side error has occurred: "+e.error;"a"in e&&this.onDataPush_(e.a,e.b)}}onDataPush_(e,t){this.log_("handleServerMessage",e,t),e==="d"?this.onDataUpdate_(t.p,t.d,!1,t.t):e==="m"?this.onDataUpdate_(t.p,t.d,!0,t.t):e==="c"?this.onListenRevoked_(t.p,t.q):e==="ac"?this.onAuthRevoked_(t.s,t.d):e==="apc"?this.onAppCheckRevoked_(t.s,t.d):e==="sd"?this.onSecurityDebugPacket_(t):oi("Unrecognized action received from server: "+A(e)+`
|
|
1981
|
+
Are you using the latest client?`)}onReady_(e,t){this.log_("connection ready"),this.connected_=!0,this.lastConnectionEstablishedTime_=new Date().getTime(),this.handleTimestamp_(e),this.lastSessionId=t,this.firstConnection_&&this.sendConnectStats_(),this.restoreState_(),this.firstConnection_=!1,this.onConnectStatus_(!0)}scheduleConnect_(e){f(!this.realtime_,"Scheduling a connect when we're already connected/ing?"),this.establishConnectionTimer_&&clearTimeout(this.establishConnectionTimer_),this.establishConnectionTimer_=setTimeout(()=>{this.establishConnectionTimer_=null,this.establishConnection_()},Math.floor(e))}initConnection_(){!this.realtime_&&this.firstConnection_&&this.scheduleConnect_(0)}onVisible_(e){e&&!this.visible_&&this.reconnectDelay_===this.maxReconnectDelay_&&(this.log_("Window became visible. Reducing delay."),this.reconnectDelay_=lt,this.realtime_||this.scheduleConnect_(0)),this.visible_=e}onOnline_(e){e?(this.log_("Browser went online."),this.reconnectDelay_=lt,this.realtime_||this.scheduleConnect_(0)):(this.log_("Browser went offline. Killing connection."),this.realtime_&&this.realtime_.close())}onRealtimeDisconnect_(){if(this.log_("data client disconnected"),this.connected_=!1,this.realtime_=null,this.cancelSentTransactions_(),this.requestCBHash_={},this.shouldReconnect_()){this.visible_?this.lastConnectionEstablishedTime_&&(new Date().getTime()-this.lastConnectionEstablishedTime_>Md&&(this.reconnectDelay_=lt),this.lastConnectionEstablishedTime_=null):(this.log_("Window isn't visible. Delaying reconnect."),this.reconnectDelay_=this.maxReconnectDelay_,this.lastConnectionAttemptTime_=new Date().getTime());const e=Math.max(0,new Date().getTime()-this.lastConnectionAttemptTime_);let t=Math.max(0,this.reconnectDelay_-e);t=Math.random()*t,this.log_("Trying to reconnect in "+t+"ms"),this.scheduleConnect_(t),this.reconnectDelay_=Math.min(this.maxReconnectDelay_,this.reconnectDelay_*Dd)}this.onConnectStatus_(!1)}async establishConnection_(){if(this.shouldReconnect_()){this.log_("Making a connection attempt"),this.lastConnectionAttemptTime_=new Date().getTime(),this.lastConnectionEstablishedTime_=null;const e=this.onDataMessage_.bind(this),t=this.onReady_.bind(this),i=this.onRealtimeDisconnect_.bind(this),s=this.id+":"+ne.nextConnectionId_++,r=this.lastSessionId;let o=!1,a=null;const l=function(){a?a.close():(o=!0,i())},c=function(u){f(a,"sendRequest call when we're not connected not allowed."),a.sendRequest(u)};this.realtime_={close:l,sendRequest:c};const h=this.forceTokenRefresh_;this.forceTokenRefresh_=!1;try{const[u,d]=await Promise.all([this.authTokenProvider_.getToken(h),this.appCheckTokenProvider_.getToken(h)]);o?M("getToken() completed but was canceled"):(M("getToken() completed. Creating connection."),this.authToken_=u&&u.accessToken,this.appCheckToken_=d&&d.token,a=new Rd(s,this.repoInfo_,this.applicationId_,this.appCheckToken_,this.authToken_,e,t,i,p=>{B(p+" ("+this.repoInfo_.toString()+")"),this.interrupt(Ld)},r))}catch(u){this.log_("Failed to get token: "+u),o||(this.repoInfo_.nodeAdmin&&B(u),l())}}}interrupt(e){M("Interrupting connection for reason: "+e),this.interruptReasons_[e]=!0,this.realtime_?this.realtime_.close():(this.establishConnectionTimer_&&(clearTimeout(this.establishConnectionTimer_),this.establishConnectionTimer_=null),this.connected_&&this.onRealtimeDisconnect_())}resume(e){M("Resuming connection for reason: "+e),delete this.interruptReasons_[e],Jn(this.interruptReasons_)&&(this.reconnectDelay_=lt,this.realtime_||this.scheduleConnect_(0))}handleTimestamp_(e){const t=e-new Date().getTime();this.onServerInfoUpdate_({serverTimeOffset:t})}cancelSentTransactions_(){for(let e=0;e<this.outstandingPuts_.length;e++){const t=this.outstandingPuts_[e];t&&"h"in t.request&&t.queued&&(t.onComplete&&t.onComplete("disconnect"),delete this.outstandingPuts_[e],this.outstandingPutCount_--)}this.outstandingPutCount_===0&&(this.outstandingPuts_=[])}onListenRevoked_(e,t){let i;t?i=t.map(r=>Mi(r)).join("$"):i="default";const s=this.removeListen_(e,i);s&&s.onComplete&&s.onComplete("permission_denied")}removeListen_(e,t){const i=new T(e).toString();let s;if(this.listens.has(i)){const r=this.listens.get(i);s=r.get(t),r.delete(t),r.size===0&&this.listens.delete(i)}else s=void 0;return s}onAuthRevoked_(e,t){M("Auth token revoked: "+e+"/"+t),this.authToken_=null,this.forceTokenRefresh_=!0,this.realtime_.close(),(e==="invalid_token"||e==="permission_denied")&&(this.invalidAuthTokenCount_++,this.invalidAuthTokenCount_>=ir&&(this.reconnectDelay_=nr,this.authTokenProvider_.notifyForInvalidToken()))}onAppCheckRevoked_(e,t){M("App check token revoked: "+e+"/"+t),this.appCheckToken_=null,this.forceTokenRefresh_=!0,(e==="invalid_token"||e==="permission_denied")&&(this.invalidAppCheckTokenCount_++,this.invalidAppCheckTokenCount_>=ir&&this.appCheckTokenProvider_.notifyForInvalidToken())}onSecurityDebugPacket_(e){this.securityDebugCallback_?this.securityDebugCallback_(e):"msg"in e&&console.log("FIREBASE: "+e.msg.replace(`
|
|
1982
1982
|
`,`
|
|
1983
|
-
FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of this.listens.values())for(const t of e.values())this.sendListen_(t);for(let e=0;e<this.outstandingPuts_.length;e++)this.outstandingPuts_[e]&&this.sendPut_(e);for(;this.onDisconnectRequestQueue_.length;){const e=this.onDisconnectRequestQueue_.shift();this.sendOnDisconnect_(e.action,e.pathString,e.data,e.onComplete)}for(let e=0;e<this.outstandingGets_.length;e++)this.outstandingGets_[e]&&this.sendGet_(e)}sendConnectStats_(){const e={};let t="js";e["sdk."+t+"."+
|
|
1983
|
+
FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of this.listens.values())for(const t of e.values())this.sendListen_(t);for(let e=0;e<this.outstandingPuts_.length;e++)this.outstandingPuts_[e]&&this.sendPut_(e);for(;this.onDisconnectRequestQueue_.length;){const e=this.onDisconnectRequestQueue_.shift();this.sendOnDisconnect_(e.action,e.pathString,e.data,e.onComplete)}for(let e=0;e<this.outstandingGets_.length;e++)this.outstandingGets_[e]&&this.sendGet_(e)}sendConnectStats_(){const e={};let t="js";e["sdk."+t+"."+Co.replace(/\./g,"-")]=1,Ii()?e["framework.cordova"]=1:Or()&&(e["framework.reactnative"]=1),this.reportStats(e)}shouldReconnect_(){const e=hn.getInstance().currentlyOnline();return Jn(this.interruptReasons_)&&e}}ne.nextPersistentConnectionId_=0;ne.nextConnectionId_=0;/**
|
|
1984
1984
|
* @license
|
|
1985
1985
|
* Copyright 2017 Google LLC
|
|
1986
1986
|
*
|
|
@@ -2010,7 +2010,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2010
2010
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2011
2011
|
* See the License for the specific language governing permissions and
|
|
2012
2012
|
* limitations under the License.
|
|
2013
|
-
*/class
|
|
2013
|
+
*/class bn{getCompare(){return this.compare.bind(this)}indexedValueChanged(e,t){const i=new v(Qe,e),s=new v(Qe,t);return this.compare(i,s)!==0}minPost(){return v.MIN}}/**
|
|
2014
2014
|
* @license
|
|
2015
2015
|
* Copyright 2017 Google LLC
|
|
2016
2016
|
*
|
|
@@ -2025,7 +2025,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2025
2025
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2026
2026
|
* See the License for the specific language governing permissions and
|
|
2027
2027
|
* limitations under the License.
|
|
2028
|
-
*/let
|
|
2028
|
+
*/let Gt;class Jo extends bn{static get __EMPTY_NODE(){return Gt}static set __EMPTY_NODE(e){Gt=e}compare(e,t){return rt(e.name,t.name)}isDefinedOn(e){throw Ze("KeyIndex.isDefinedOn not expected to be called.")}indexedValueChanged(e,t){return!1}minPost(){return v.MIN}maxPost(){return new v(Pe,Gt)}makePost(e,t){return f(typeof e=="string","KeyIndex indexValue must always be a string."),new v(e,Gt)}toString(){return".key"}}const ze=new Jo;/**
|
|
2029
2029
|
* @license
|
|
2030
2030
|
* Copyright 2017 Google LLC
|
|
2031
2031
|
*
|
|
@@ -2040,7 +2040,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2040
2040
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2041
2041
|
* See the License for the specific language governing permissions and
|
|
2042
2042
|
* limitations under the License.
|
|
2043
|
-
*/class
|
|
2043
|
+
*/class jt{constructor(e,t,i,s,r=null){this.isReverse_=s,this.resultGenerator_=r,this.nodeStack_=[];let o=1;for(;!e.isEmpty();)if(e=e,o=t?i(e.key,t):1,s&&(o*=-1),o<0)this.isReverse_?e=e.left:e=e.right;else if(o===0){this.nodeStack_.push(e);break}else this.nodeStack_.push(e),this.isReverse_?e=e.right:e=e.left}getNext(){if(this.nodeStack_.length===0)return null;let e=this.nodeStack_.pop(),t;if(this.resultGenerator_?t=this.resultGenerator_(e.key,e.value):t={key:e.key,value:e.value},this.isReverse_)for(e=e.left;!e.isEmpty();)this.nodeStack_.push(e),e=e.right;else for(e=e.right;!e.isEmpty();)this.nodeStack_.push(e),e=e.left;return t}hasNext(){return this.nodeStack_.length>0}peek(){if(this.nodeStack_.length===0)return null;const e=this.nodeStack_[this.nodeStack_.length-1];return this.resultGenerator_?this.resultGenerator_(e.key,e.value):{key:e.key,value:e.value}}}class O{constructor(e,t,i,s,r){this.key=e,this.value=t,this.color=i??O.RED,this.left=s??U.EMPTY_NODE,this.right=r??U.EMPTY_NODE}copy(e,t,i,s,r){return new O(e??this.key,t??this.value,i??this.color,s??this.left,r??this.right)}count(){return this.left.count()+1+this.right.count()}isEmpty(){return!1}inorderTraversal(e){return this.left.inorderTraversal(e)||!!e(this.key,this.value)||this.right.inorderTraversal(e)}reverseTraversal(e){return this.right.reverseTraversal(e)||e(this.key,this.value)||this.left.reverseTraversal(e)}min_(){return this.left.isEmpty()?this:this.left.min_()}minKey(){return this.min_().key}maxKey(){return this.right.isEmpty()?this.key:this.right.maxKey()}insert(e,t,i){let s=this;const r=i(e,s.key);return r<0?s=s.copy(null,null,null,s.left.insert(e,t,i),null):r===0?s=s.copy(null,t,null,null,null):s=s.copy(null,null,null,null,s.right.insert(e,t,i)),s.fixUp_()}removeMin_(){if(this.left.isEmpty())return U.EMPTY_NODE;let e=this;return!e.left.isRed_()&&!e.left.left.isRed_()&&(e=e.moveRedLeft_()),e=e.copy(null,null,null,e.left.removeMin_(),null),e.fixUp_()}remove(e,t){let i,s;if(i=this,t(e,i.key)<0)!i.left.isEmpty()&&!i.left.isRed_()&&!i.left.left.isRed_()&&(i=i.moveRedLeft_()),i=i.copy(null,null,null,i.left.remove(e,t),null);else{if(i.left.isRed_()&&(i=i.rotateRight_()),!i.right.isEmpty()&&!i.right.isRed_()&&!i.right.left.isRed_()&&(i=i.moveRedRight_()),t(e,i.key)===0){if(i.right.isEmpty())return U.EMPTY_NODE;s=i.right.min_(),i=i.copy(s.key,s.value,null,null,i.right.removeMin_())}i=i.copy(null,null,null,null,i.right.remove(e,t))}return i.fixUp_()}isRed_(){return this.color}fixUp_(){let e=this;return e.right.isRed_()&&!e.left.isRed_()&&(e=e.rotateLeft_()),e.left.isRed_()&&e.left.left.isRed_()&&(e=e.rotateRight_()),e.left.isRed_()&&e.right.isRed_()&&(e=e.colorFlip_()),e}moveRedLeft_(){let e=this.colorFlip_();return e.right.left.isRed_()&&(e=e.copy(null,null,null,null,e.right.rotateRight_()),e=e.rotateLeft_(),e=e.colorFlip_()),e}moveRedRight_(){let e=this.colorFlip_();return e.left.left.isRed_()&&(e=e.rotateRight_(),e=e.colorFlip_()),e}rotateLeft_(){const e=this.copy(null,null,O.RED,null,this.right.left);return this.right.copy(null,null,this.color,e,null)}rotateRight_(){const e=this.copy(null,null,O.RED,this.left.right,null);return this.left.copy(null,null,this.color,null,e)}colorFlip_(){const e=this.left.copy(null,null,!this.left.color,null,null),t=this.right.copy(null,null,!this.right.color,null,null);return this.copy(null,null,!this.color,e,t)}checkMaxDepth_(){const e=this.check_();return Math.pow(2,e)<=this.count()+1}check_(){if(this.isRed_()&&this.left.isRed_())throw new Error("Red node has red child("+this.key+","+this.value+")");if(this.right.isRed_())throw new Error("Right child of ("+this.key+","+this.value+") is red");const e=this.left.check_();if(e!==this.right.check_())throw new Error("Black depths differ");return e+(this.isRed_()?0:1)}}O.RED=!0;O.BLACK=!1;class xd{copy(e,t,i,s,r){return this}insert(e,t,i){return new O(e,t,null)}remove(e,t){return this}count(){return 0}isEmpty(){return!0}inorderTraversal(e){return!1}reverseTraversal(e){return!1}minKey(){return null}maxKey(){return null}check_(){return 0}isRed_(){return!1}}class U{constructor(e,t=U.EMPTY_NODE){this.comparator_=e,this.root_=t}insert(e,t){return new U(this.comparator_,this.root_.insert(e,t,this.comparator_).copy(null,null,O.BLACK,null,null))}remove(e){return new U(this.comparator_,this.root_.remove(e,this.comparator_).copy(null,null,O.BLACK,null,null))}get(e){let t,i=this.root_;for(;!i.isEmpty();){if(t=this.comparator_(e,i.key),t===0)return i.value;t<0?i=i.left:t>0&&(i=i.right)}return null}getPredecessorKey(e){let t,i=this.root_,s=null;for(;!i.isEmpty();)if(t=this.comparator_(e,i.key),t===0){if(i.left.isEmpty())return s?s.key:null;for(i=i.left;!i.right.isEmpty();)i=i.right;return i.key}else t<0?i=i.left:t>0&&(s=i,i=i.right);throw new Error("Attempted to find predecessor key for a nonexistent key. What gives?")}isEmpty(){return this.root_.isEmpty()}count(){return this.root_.count()}minKey(){return this.root_.minKey()}maxKey(){return this.root_.maxKey()}inorderTraversal(e){return this.root_.inorderTraversal(e)}reverseTraversal(e){return this.root_.reverseTraversal(e)}getIterator(e){return new jt(this.root_,null,this.comparator_,!1,e)}getIteratorFrom(e,t){return new jt(this.root_,e,this.comparator_,!1,t)}getReverseIteratorFrom(e,t){return new jt(this.root_,e,this.comparator_,!0,t)}getReverseIterator(e){return new jt(this.root_,null,this.comparator_,!0,e)}}U.EMPTY_NODE=new xd;/**
|
|
2044
2044
|
* @license
|
|
2045
2045
|
* Copyright 2017 Google LLC
|
|
2046
2046
|
*
|
|
@@ -2055,7 +2055,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2055
2055
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2056
2056
|
* See the License for the specific language governing permissions and
|
|
2057
2057
|
* limitations under the License.
|
|
2058
|
-
*/function
|
|
2058
|
+
*/function Fd(n,e){return rt(n.name,e.name)}function Wi(n,e){return rt(n,e)}/**
|
|
2059
2059
|
* @license
|
|
2060
2060
|
* Copyright 2017 Google LLC
|
|
2061
2061
|
*
|
|
@@ -2070,7 +2070,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2070
2070
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2071
2071
|
* See the License for the specific language governing permissions and
|
|
2072
2072
|
* limitations under the License.
|
|
2073
|
-
*/let li;function
|
|
2073
|
+
*/let li;function Ud(n){li=n}const Xo=function(n){return typeof n=="number"?"number:"+Ro(n):"string:"+n},Zo=function(n){if(n.isLeafNode()){const e=n.val();f(typeof e=="string"||typeof e=="number"||typeof e=="object"&&oe(e,".sv"),"Priority must be a string or number.")}else f(n===li||n.isEmpty(),"priority of unexpected type.");f(n===li||n.getPriority().isEmpty(),"Priority nodes can't have a priority of their own.")};/**
|
|
2074
2074
|
* @license
|
|
2075
2075
|
* Copyright 2017 Google LLC
|
|
2076
2076
|
*
|
|
@@ -2085,7 +2085,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2085
2085
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2086
2086
|
* See the License for the specific language governing permissions and
|
|
2087
2087
|
* limitations under the License.
|
|
2088
|
-
*/let sr;class P{static set __childrenNodeConstructor(e){sr=e}static get __childrenNodeConstructor(){return sr}constructor(e,t=P.__childrenNodeConstructor.EMPTY_NODE){this.value_=e,this.priorityNode_=t,this.lazyHash_=null,f(this.value_!==void 0&&this.value_!==null,"LeafNode shouldn't be created with null/undefined value."),
|
|
2088
|
+
*/let sr;class P{static set __childrenNodeConstructor(e){sr=e}static get __childrenNodeConstructor(){return sr}constructor(e,t=P.__childrenNodeConstructor.EMPTY_NODE){this.value_=e,this.priorityNode_=t,this.lazyHash_=null,f(this.value_!==void 0&&this.value_!==null,"LeafNode shouldn't be created with null/undefined value."),Zo(this.priorityNode_)}isLeafNode(){return!0}getPriority(){return this.priorityNode_}updatePriority(e){return new P(this.value_,e)}getImmediateChild(e){return e===".priority"?this.priorityNode_:P.__childrenNodeConstructor.EMPTY_NODE}getChild(e){return y(e)?this:E(e)===".priority"?this.priorityNode_:P.__childrenNodeConstructor.EMPTY_NODE}hasChild(){return!1}getPredecessorChildName(e,t){return null}updateImmediateChild(e,t){return e===".priority"?this.updatePriority(t):t.isEmpty()&&e!==".priority"?this:P.__childrenNodeConstructor.EMPTY_NODE.updateImmediateChild(e,t).updatePriority(this.priorityNode_)}updateChild(e,t){const i=E(e);return i===null?t:t.isEmpty()&&i!==".priority"?this:(f(i!==".priority"||ye(e)===1,".priority must be the last token in a path"),this.updateImmediateChild(i,P.__childrenNodeConstructor.EMPTY_NODE.updateChild(S(e),t)))}isEmpty(){return!1}numChildren(){return 0}forEachChild(e,t){return!1}val(e){return e&&!this.getPriority().isEmpty()?{".value":this.getValue(),".priority":this.getPriority().val()}:this.getValue()}hash(){if(this.lazyHash_===null){let e="";this.priorityNode_.isEmpty()||(e+="priority:"+Xo(this.priorityNode_.val())+":");const t=typeof this.value_;e+=t+":",t==="number"?e+=Ro(this.value_):e+=this.value_,this.lazyHash_=To(e)}return this.lazyHash_}getValue(){return this.value_}compareTo(e){return e===P.__childrenNodeConstructor.EMPTY_NODE?1:e instanceof P.__childrenNodeConstructor?-1:(f(e.isLeafNode(),"Unknown node type"),this.compareToLeafNode_(e))}compareToLeafNode_(e){const t=typeof e.value_,i=typeof this.value_,s=P.VALUE_TYPE_ORDER.indexOf(t),r=P.VALUE_TYPE_ORDER.indexOf(i);return f(s>=0,"Unknown leaf type: "+t),f(r>=0,"Unknown leaf type: "+i),s===r?i==="object"?0:this.value_<e.value_?-1:this.value_===e.value_?0:1:r-s}withIndex(){return this}isIndexed(){return!0}equals(e){if(e===this)return!0;if(e.isLeafNode()){const t=e;return this.value_===t.value_&&this.priorityNode_.equals(t.priorityNode_)}else return!1}}P.VALUE_TYPE_ORDER=["object","boolean","number","string"];/**
|
|
2089
2089
|
* @license
|
|
2090
2090
|
* Copyright 2017 Google LLC
|
|
2091
2091
|
*
|
|
@@ -2100,7 +2100,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2100
2100
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2101
2101
|
* See the License for the specific language governing permissions and
|
|
2102
2102
|
* limitations under the License.
|
|
2103
|
-
*/let
|
|
2103
|
+
*/let ea,ta;function Wd(n){ea=n}function Bd(n){ta=n}class Hd extends bn{compare(e,t){const i=e.node.getPriority(),s=t.node.getPriority(),r=i.compareTo(s);return r===0?rt(e.name,t.name):r}isDefinedOn(e){return!e.getPriority().isEmpty()}indexedValueChanged(e,t){return!e.getPriority().equals(t.getPriority())}minPost(){return v.MIN}maxPost(){return new v(Pe,new P("[PRIORITY-POST]",ta))}makePost(e,t){const i=ea(e);return new v(t,new P("[PRIORITY-POST]",i))}toString(){return".priority"}}const k=new Hd;/**
|
|
2104
2104
|
* @license
|
|
2105
2105
|
* Copyright 2017 Google LLC
|
|
2106
2106
|
*
|
|
@@ -2115,7 +2115,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2115
2115
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2116
2116
|
* See the License for the specific language governing permissions and
|
|
2117
2117
|
* limitations under the License.
|
|
2118
|
-
*/const
|
|
2118
|
+
*/const Vd=Math.log(2);class $d{constructor(e){const t=r=>parseInt(Math.log(r)/Vd,10),i=r=>parseInt(Array(r+1).join("1"),2);this.count=t(e+1),this.current_=this.count-1;const s=i(this.count);this.bits_=e+1&s}nextBitIsOne(){const e=!(this.bits_&1<<this.current_);return this.current_--,e}}const un=function(n,e,t,i){n.sort(e);const s=function(l,c){const h=c-l;let u,d;if(h===0)return null;if(h===1)return u=n[l],d=t?t(u):u,new O(d,u.node,O.BLACK,null,null);{const p=parseInt(h/2,10)+l,_=s(l,p),C=s(p+1,c);return u=n[p],d=t?t(u):u,new O(d,u.node,O.BLACK,_,C)}},r=function(l){let c=null,h=null,u=n.length;const d=function(_,C){const R=u-_,H=u;u-=_;const V=s(R+1,H),$=n[R],xe=t?t($):$;p(new O(xe,$.node,C,null,V))},p=function(_){c?(c.left=_,c=_):(h=_,c=_)};for(let _=0;_<l.count;++_){const C=l.nextBitIsOne(),R=Math.pow(2,l.count-(_+1));C?d(R,O.BLACK):(d(R,O.BLACK),d(R,O.RED))}return h},o=new $d(n.length),a=r(o);return new U(i||e,a)};/**
|
|
2119
2119
|
* @license
|
|
2120
2120
|
* Copyright 2017 Google LLC
|
|
2121
2121
|
*
|
|
@@ -2130,7 +2130,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2130
2130
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2131
2131
|
* See the License for the specific language governing permissions and
|
|
2132
2132
|
* limitations under the License.
|
|
2133
|
-
*/let jn;const Fe={};class te{static get Default(){return f(Fe&&k,"ChildrenNode.ts has not been loaded"),jn=jn||new te({".priority":Fe},{".priority":k}),jn}constructor(e,t){this.indexes_=e,this.indexSet_=t}get(e){const t=qe(this.indexes_,e);if(!t)throw new Error("No index defined for "+e);return t instanceof U?t:null}hasIndex(e){return oe(this.indexSet_,e.toString())}addIndex(e,t){f(e!==ze,"KeyIndex always exists and isn't meant to be added to the IndexMap.");const i=[];let s=!1;const r=t.getIterator(v.Wrap);let o=r.getNext();for(;o;)s=s||e.isDefinedOn(o.node),i.push(o),o=r.getNext();let a;s?a=
|
|
2133
|
+
*/let jn;const Fe={};class te{static get Default(){return f(Fe&&k,"ChildrenNode.ts has not been loaded"),jn=jn||new te({".priority":Fe},{".priority":k}),jn}constructor(e,t){this.indexes_=e,this.indexSet_=t}get(e){const t=qe(this.indexes_,e);if(!t)throw new Error("No index defined for "+e);return t instanceof U?t:null}hasIndex(e){return oe(this.indexSet_,e.toString())}addIndex(e,t){f(e!==ze,"KeyIndex always exists and isn't meant to be added to the IndexMap.");const i=[];let s=!1;const r=t.getIterator(v.Wrap);let o=r.getNext();for(;o;)s=s||e.isDefinedOn(o.node),i.push(o),o=r.getNext();let a;s?a=un(i,e.getCompare()):a=Fe;const l=e.toString(),c=Object.assign({},this.indexSet_);c[l]=e;const h=Object.assign({},this.indexes_);return h[l]=a,new te(h,c)}addToIndexes(e,t){const i=en(this.indexes_,(s,r)=>{const o=qe(this.indexSet_,r);if(f(o,"Missing index implementation for "+r),s===Fe)if(o.isDefinedOn(e.node)){const a=[],l=t.getIterator(v.Wrap);let c=l.getNext();for(;c;)c.name!==e.name&&a.push(c),c=l.getNext();return a.push(e),un(a,o.getCompare())}else return Fe;else{const a=t.get(e.name);let l=s;return a&&(l=l.remove(new v(e.name,a))),l.insert(e,e.node)}});return new te(i,this.indexSet_)}removeFromIndexes(e,t){const i=en(this.indexes_,s=>{if(s===Fe)return s;{const r=t.get(e.name);return r?s.remove(new v(e.name,r)):s}});return new te(i,this.indexSet_)}}/**
|
|
2134
2134
|
* @license
|
|
2135
2135
|
* Copyright 2017 Google LLC
|
|
2136
2136
|
*
|
|
@@ -2145,7 +2145,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2145
2145
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2146
2146
|
* See the License for the specific language governing permissions and
|
|
2147
2147
|
* limitations under the License.
|
|
2148
|
-
*/let ct;class m{static get EMPTY_NODE(){return ct||(ct=new m(new U(Wi),null,te.Default))}constructor(e,t,i){this.children_=e,this.priorityNode_=t,this.indexMap_=i,this.lazyHash_=null,this.priorityNode_&&
|
|
2148
|
+
*/let ct;class m{static get EMPTY_NODE(){return ct||(ct=new m(new U(Wi),null,te.Default))}constructor(e,t,i){this.children_=e,this.priorityNode_=t,this.indexMap_=i,this.lazyHash_=null,this.priorityNode_&&Zo(this.priorityNode_),this.children_.isEmpty()&&f(!this.priorityNode_||this.priorityNode_.isEmpty(),"An empty node cannot have a priority")}isLeafNode(){return!1}getPriority(){return this.priorityNode_||ct}updatePriority(e){return this.children_.isEmpty()?this:new m(this.children_,e,this.indexMap_)}getImmediateChild(e){if(e===".priority")return this.getPriority();{const t=this.children_.get(e);return t===null?ct:t}}getChild(e){const t=E(e);return t===null?this:this.getImmediateChild(t).getChild(S(e))}hasChild(e){return this.children_.get(e)!==null}updateImmediateChild(e,t){if(f(t,"We should always be passing snapshot nodes"),e===".priority")return this.updatePriority(t);{const i=new v(e,t);let s,r;t.isEmpty()?(s=this.children_.remove(e),r=this.indexMap_.removeFromIndexes(i,this.children_)):(s=this.children_.insert(e,t),r=this.indexMap_.addToIndexes(i,this.children_));const o=s.isEmpty()?ct:this.priorityNode_;return new m(s,o,r)}}updateChild(e,t){const i=E(e);if(i===null)return t;{f(E(e)!==".priority"||ye(e)===1,".priority must be the last token in a path");const s=this.getImmediateChild(i).updateChild(S(e),t);return this.updateImmediateChild(i,s)}}isEmpty(){return this.children_.isEmpty()}numChildren(){return this.children_.count()}val(e){if(this.isEmpty())return null;const t={};let i=0,s=0,r=!0;if(this.forEachChild(k,(o,a)=>{t[o]=a.val(e),i++,r&&m.INTEGER_REGEXP_.test(o)?s=Math.max(s,Number(o)):r=!1}),!e&&r&&s<2*i){const o=[];for(const a in t)o[a]=t[a];return o}else return e&&!this.getPriority().isEmpty()&&(t[".priority"]=this.getPriority().val()),t}hash(){if(this.lazyHash_===null){let e="";this.getPriority().isEmpty()||(e+="priority:"+Xo(this.getPriority().val())+":"),this.forEachChild(k,(t,i)=>{const s=i.hash();s!==""&&(e+=":"+t+":"+s)}),this.lazyHash_=e===""?"":To(e)}return this.lazyHash_}getPredecessorChildName(e,t,i){const s=this.resolveIndex_(i);if(s){const r=s.getPredecessorKey(new v(e,t));return r?r.name:null}else return this.children_.getPredecessorKey(e)}getFirstChildName(e){const t=this.resolveIndex_(e);if(t){const i=t.minKey();return i&&i.name}else return this.children_.minKey()}getFirstChild(e){const t=this.getFirstChildName(e);return t?new v(t,this.children_.get(t)):null}getLastChildName(e){const t=this.resolveIndex_(e);if(t){const i=t.maxKey();return i&&i.name}else return this.children_.maxKey()}getLastChild(e){const t=this.getLastChildName(e);return t?new v(t,this.children_.get(t)):null}forEachChild(e,t){const i=this.resolveIndex_(e);return i?i.inorderTraversal(s=>t(s.name,s.node)):this.children_.inorderTraversal(t)}getIterator(e){return this.getIteratorFrom(e.minPost(),e)}getIteratorFrom(e,t){const i=this.resolveIndex_(t);if(i)return i.getIteratorFrom(e,s=>s);{const s=this.children_.getIteratorFrom(e.name,v.Wrap);let r=s.peek();for(;r!=null&&t.compare(r,e)<0;)s.getNext(),r=s.peek();return s}}getReverseIterator(e){return this.getReverseIteratorFrom(e.maxPost(),e)}getReverseIteratorFrom(e,t){const i=this.resolveIndex_(t);if(i)return i.getReverseIteratorFrom(e,s=>s);{const s=this.children_.getReverseIteratorFrom(e.name,v.Wrap);let r=s.peek();for(;r!=null&&t.compare(r,e)>0;)s.getNext(),r=s.peek();return s}}compareTo(e){return this.isEmpty()?e.isEmpty()?0:-1:e.isLeafNode()||e.isEmpty()?1:e===Wt?-1:0}withIndex(e){if(e===ze||this.indexMap_.hasIndex(e))return this;{const t=this.indexMap_.addIndex(e,this.children_);return new m(this.children_,this.priorityNode_,t)}}isIndexed(e){return e===ze||this.indexMap_.hasIndex(e)}equals(e){if(e===this)return!0;if(e.isLeafNode())return!1;{const t=e;if(this.getPriority().equals(t.getPriority()))if(this.children_.count()===t.children_.count()){const i=this.getIterator(k),s=t.getIterator(k);let r=i.getNext(),o=s.getNext();for(;r&&o;){if(r.name!==o.name||!r.node.equals(o.node))return!1;r=i.getNext(),o=s.getNext()}return r===null&&o===null}else return!1;else return!1}}resolveIndex_(e){return e===ze?null:this.indexMap_.get(e.toString())}}m.INTEGER_REGEXP_=/^(0|[1-9]\d*)$/;class Gd extends m{constructor(){super(new U(Wi),m.EMPTY_NODE,te.Default)}compareTo(e){return e===this?0:1}equals(e){return e===this}getPriority(){return this}getImmediateChild(e){return m.EMPTY_NODE}isEmpty(){return!1}}const Wt=new Gd;Object.defineProperties(v,{MIN:{value:new v(Qe,m.EMPTY_NODE)},MAX:{value:new v(Pe,Wt)}});Jo.__EMPTY_NODE=m.EMPTY_NODE;P.__childrenNodeConstructor=m;Ud(Wt);Bd(Wt);/**
|
|
2149
2149
|
* @license
|
|
2150
2150
|
* Copyright 2017 Google LLC
|
|
2151
2151
|
*
|
|
@@ -2160,7 +2160,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2160
2160
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2161
2161
|
* See the License for the specific language governing permissions and
|
|
2162
2162
|
* limitations under the License.
|
|
2163
|
-
*/const
|
|
2163
|
+
*/const jd=!0;function D(n,e=null){if(n===null)return m.EMPTY_NODE;if(typeof n=="object"&&".priority"in n&&(e=n[".priority"]),f(e===null||typeof e=="string"||typeof e=="number"||typeof e=="object"&&".sv"in e,"Invalid priority type found: "+typeof e),typeof n=="object"&&".value"in n&&n[".value"]!==null&&(n=n[".value"]),typeof n!="object"||".sv"in n){const t=n;return new P(t,D(e))}if(!(n instanceof Array)&&jd){const t=[];let i=!1;if(W(n,(o,a)=>{if(o.substring(0,1)!=="."){const l=D(a);l.isEmpty()||(i=i||!l.getPriority().isEmpty(),t.push(new v(o,l)))}}),t.length===0)return m.EMPTY_NODE;const r=un(t,Fd,o=>o.name,Wi);if(i){const o=un(t,k.getCompare());return new m(r,D(e),new te({".priority":o},{".priority":k}))}else return new m(r,D(e),te.Default)}else{let t=m.EMPTY_NODE;return W(n,(i,s)=>{if(oe(n,i)&&i.substring(0,1)!=="."){const r=D(s);(r.isLeafNode()||!r.isEmpty())&&(t=t.updateImmediateChild(i,r))}}),t.updatePriority(D(e))}}Wd(D);/**
|
|
2164
2164
|
* @license
|
|
2165
2165
|
* Copyright 2017 Google LLC
|
|
2166
2166
|
*
|
|
@@ -2175,7 +2175,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2175
2175
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2176
2176
|
* See the License for the specific language governing permissions and
|
|
2177
2177
|
* limitations under the License.
|
|
2178
|
-
*/class
|
|
2178
|
+
*/class zd extends bn{constructor(e){super(),this.indexPath_=e,f(!y(e)&&E(e)!==".priority","Can't create PathIndex with empty path or .priority key")}extractChild(e){return e.getChild(this.indexPath_)}isDefinedOn(e){return!e.getChild(this.indexPath_).isEmpty()}compare(e,t){const i=this.extractChild(e.node),s=this.extractChild(t.node),r=i.compareTo(s);return r===0?rt(e.name,t.name):r}makePost(e,t){const i=D(e),s=m.EMPTY_NODE.updateChild(this.indexPath_,i);return new v(t,s)}maxPost(){const e=m.EMPTY_NODE.updateChild(this.indexPath_,Wt);return new v(Pe,e)}toString(){return qo(this.indexPath_,0).join("/")}}/**
|
|
2179
2179
|
* @license
|
|
2180
2180
|
* Copyright 2017 Google LLC
|
|
2181
2181
|
*
|
|
@@ -2190,7 +2190,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2190
2190
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2191
2191
|
* See the License for the specific language governing permissions and
|
|
2192
2192
|
* limitations under the License.
|
|
2193
|
-
*/class
|
|
2193
|
+
*/class qd extends bn{compare(e,t){const i=e.node.compareTo(t.node);return i===0?rt(e.name,t.name):i}isDefinedOn(e){return!0}indexedValueChanged(e,t){return!e.equals(t)}minPost(){return v.MIN}maxPost(){return v.MAX}makePost(e,t){const i=D(e);return new v(t,i)}toString(){return".value"}}const Kd=new qd;/**
|
|
2194
2194
|
* @license
|
|
2195
2195
|
* Copyright 2017 Google LLC
|
|
2196
2196
|
*
|
|
@@ -2205,7 +2205,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2205
2205
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2206
2206
|
* See the License for the specific language governing permissions and
|
|
2207
2207
|
* limitations under the License.
|
|
2208
|
-
*/function
|
|
2208
|
+
*/function na(n){return{type:"value",snapshotNode:n}}function Je(n,e){return{type:"child_added",snapshotNode:e,childName:n}}function St(n,e){return{type:"child_removed",snapshotNode:e,childName:n}}function bt(n,e,t){return{type:"child_changed",snapshotNode:e,childName:n,oldSnap:t}}function Yd(n,e){return{type:"child_moved",snapshotNode:e,childName:n}}/**
|
|
2209
2209
|
* @license
|
|
2210
2210
|
* Copyright 2017 Google LLC
|
|
2211
2211
|
*
|
|
@@ -2250,7 +2250,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2250
2250
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2251
2251
|
* See the License for the specific language governing permissions and
|
|
2252
2252
|
* limitations under the License.
|
|
2253
|
-
*/class
|
|
2253
|
+
*/class Qd{constructor(e){this.withinDirectionalStart=t=>this.reverse_?this.withinEndPost(t):this.withinStartPost(t),this.withinDirectionalEnd=t=>this.reverse_?this.withinStartPost(t):this.withinEndPost(t),this.withinStartPost=t=>{const i=this.index_.compare(this.rangedFilter_.getStartPost(),t);return this.startIsInclusive_?i<=0:i<0},this.withinEndPost=t=>{const i=this.index_.compare(t,this.rangedFilter_.getEndPost());return this.endIsInclusive_?i<=0:i<0},this.rangedFilter_=new Rt(e),this.index_=e.getIndex(),this.limit_=e.getLimit(),this.reverse_=!e.isViewFromLeft(),this.startIsInclusive_=!e.startAfterSet_,this.endIsInclusive_=!e.endBeforeSet_}updateChild(e,t,i,s,r,o){return this.rangedFilter_.matches(new v(t,i))||(i=m.EMPTY_NODE),e.getImmediateChild(t).equals(i)?e:e.numChildren()<this.limit_?this.rangedFilter_.getIndexedFilter().updateChild(e,t,i,s,r,o):this.fullLimitUpdateChild_(e,t,i,r,o)}updateFullNode(e,t,i){let s;if(t.isLeafNode()||t.isEmpty())s=m.EMPTY_NODE.withIndex(this.index_);else if(this.limit_*2<t.numChildren()&&t.isIndexed(this.index_)){s=m.EMPTY_NODE.withIndex(this.index_);let r;this.reverse_?r=t.getReverseIteratorFrom(this.rangedFilter_.getEndPost(),this.index_):r=t.getIteratorFrom(this.rangedFilter_.getStartPost(),this.index_);let o=0;for(;r.hasNext()&&o<this.limit_;){const a=r.getNext();if(this.withinDirectionalStart(a))if(this.withinDirectionalEnd(a))s=s.updateImmediateChild(a.name,a.node),o++;else break;else continue}}else{s=t.withIndex(this.index_),s=s.updatePriority(m.EMPTY_NODE);let r;this.reverse_?r=s.getReverseIterator(this.index_):r=s.getIterator(this.index_);let o=0;for(;r.hasNext();){const a=r.getNext();o<this.limit_&&this.withinDirectionalStart(a)&&this.withinDirectionalEnd(a)?o++:s=s.updateImmediateChild(a.name,m.EMPTY_NODE)}}return this.rangedFilter_.getIndexedFilter().updateFullNode(e,s,i)}updatePriority(e,t){return e}filtersNodes(){return!0}getIndexedFilter(){return this.rangedFilter_.getIndexedFilter()}getIndex(){return this.index_}fullLimitUpdateChild_(e,t,i,s,r){let o;if(this.reverse_){const u=this.index_.getCompare();o=(d,p)=>u(p,d)}else o=this.index_.getCompare();const a=e;f(a.numChildren()===this.limit_,"");const l=new v(t,i),c=this.reverse_?a.getFirstChild(this.index_):a.getLastChild(this.index_),h=this.rangedFilter_.matches(l);if(a.hasChild(t)){const u=a.getImmediateChild(t);let d=s.getChildAfterChild(this.index_,c,this.reverse_);for(;d!=null&&(d.name===t||a.hasChild(d.name));)d=s.getChildAfterChild(this.index_,d,this.reverse_);const p=d==null?1:o(d,l);if(h&&!i.isEmpty()&&p>=0)return r?.trackChildChange(bt(t,i,u)),a.updateImmediateChild(t,i);{r?.trackChildChange(St(t,u));const C=a.updateImmediateChild(t,m.EMPTY_NODE);return d!=null&&this.rangedFilter_.matches(d)?(r?.trackChildChange(Je(d.name,d.node)),C.updateImmediateChild(d.name,d.node)):C}}else return i.isEmpty()?e:h&&o(c,l)>=0?(r!=null&&(r.trackChildChange(St(c.name,c.node)),r.trackChildChange(Je(t,i))),a.updateImmediateChild(t,i).updateImmediateChild(c.name,m.EMPTY_NODE)):e}}/**
|
|
2254
2254
|
* @license
|
|
2255
2255
|
* Copyright 2017 Google LLC
|
|
2256
2256
|
*
|
|
@@ -2265,7 +2265,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2265
2265
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2266
2266
|
* See the License for the specific language governing permissions and
|
|
2267
2267
|
* limitations under the License.
|
|
2268
|
-
*/class Hi{constructor(){this.limitSet_=!1,this.startSet_=!1,this.startNameSet_=!1,this.startAfterSet_=!1,this.endSet_=!1,this.endNameSet_=!1,this.endBeforeSet_=!1,this.limit_=0,this.viewFrom_="",this.indexStartValue_=null,this.indexStartName_="",this.indexEndValue_=null,this.indexEndName_="",this.index_=k}hasStart(){return this.startSet_}isViewFromLeft(){return this.viewFrom_===""?this.startSet_:this.viewFrom_==="l"}getIndexStartValue(){return f(this.startSet_,"Only valid if start has been set"),this.indexStartValue_}getIndexStartName(){return f(this.startSet_,"Only valid if start has been set"),this.startNameSet_?this.indexStartName_:Qe}hasEnd(){return this.endSet_}getIndexEndValue(){return f(this.endSet_,"Only valid if end has been set"),this.indexEndValue_}getIndexEndName(){return f(this.endSet_,"Only valid if end has been set"),this.endNameSet_?this.indexEndName_:Pe}hasLimit(){return this.limitSet_}hasAnchoredLimit(){return this.limitSet_&&this.viewFrom_!==""}getLimit(){return f(this.limitSet_,"Only valid if limit has been set"),this.limit_}getIndex(){return this.index_}loadsAllData(){return!(this.startSet_||this.endSet_||this.limitSet_)}isDefault(){return this.loadsAllData()&&this.index_===k}copy(){const e=new Hi;return e.limitSet_=this.limitSet_,e.limit_=this.limit_,e.startSet_=this.startSet_,e.startAfterSet_=this.startAfterSet_,e.indexStartValue_=this.indexStartValue_,e.startNameSet_=this.startNameSet_,e.indexStartName_=this.indexStartName_,e.endSet_=this.endSet_,e.endBeforeSet_=this.endBeforeSet_,e.indexEndValue_=this.indexEndValue_,e.endNameSet_=this.endNameSet_,e.indexEndName_=this.indexEndName_,e.index_=this.index_,e.viewFrom_=this.viewFrom_,e}}function
|
|
2268
|
+
*/class Hi{constructor(){this.limitSet_=!1,this.startSet_=!1,this.startNameSet_=!1,this.startAfterSet_=!1,this.endSet_=!1,this.endNameSet_=!1,this.endBeforeSet_=!1,this.limit_=0,this.viewFrom_="",this.indexStartValue_=null,this.indexStartName_="",this.indexEndValue_=null,this.indexEndName_="",this.index_=k}hasStart(){return this.startSet_}isViewFromLeft(){return this.viewFrom_===""?this.startSet_:this.viewFrom_==="l"}getIndexStartValue(){return f(this.startSet_,"Only valid if start has been set"),this.indexStartValue_}getIndexStartName(){return f(this.startSet_,"Only valid if start has been set"),this.startNameSet_?this.indexStartName_:Qe}hasEnd(){return this.endSet_}getIndexEndValue(){return f(this.endSet_,"Only valid if end has been set"),this.indexEndValue_}getIndexEndName(){return f(this.endSet_,"Only valid if end has been set"),this.endNameSet_?this.indexEndName_:Pe}hasLimit(){return this.limitSet_}hasAnchoredLimit(){return this.limitSet_&&this.viewFrom_!==""}getLimit(){return f(this.limitSet_,"Only valid if limit has been set"),this.limit_}getIndex(){return this.index_}loadsAllData(){return!(this.startSet_||this.endSet_||this.limitSet_)}isDefault(){return this.loadsAllData()&&this.index_===k}copy(){const e=new Hi;return e.limitSet_=this.limitSet_,e.limit_=this.limit_,e.startSet_=this.startSet_,e.startAfterSet_=this.startAfterSet_,e.indexStartValue_=this.indexStartValue_,e.startNameSet_=this.startNameSet_,e.indexStartName_=this.indexStartName_,e.endSet_=this.endSet_,e.endBeforeSet_=this.endBeforeSet_,e.indexEndValue_=this.indexEndValue_,e.endNameSet_=this.endNameSet_,e.indexEndName_=this.indexEndName_,e.index_=this.index_,e.viewFrom_=this.viewFrom_,e}}function Jd(n){return n.loadsAllData()?new Bi(n.getIndex()):n.hasLimit()?new Qd(n):new Rt(n)}function rr(n){const e={};if(n.isDefault())return e;let t;if(n.index_===k?t="$priority":n.index_===Kd?t="$value":n.index_===ze?t="$key":(f(n.index_ instanceof zd,"Unrecognized index type!"),t=n.index_.toString()),e.orderBy=A(t),n.startSet_){const i=n.startAfterSet_?"startAfter":"startAt";e[i]=A(n.indexStartValue_),n.startNameSet_&&(e[i]+=","+A(n.indexStartName_))}if(n.endSet_){const i=n.endBeforeSet_?"endBefore":"endAt";e[i]=A(n.indexEndValue_),n.endNameSet_&&(e[i]+=","+A(n.indexEndName_))}return n.limitSet_&&(n.isViewFromLeft()?e.limitToFirst=n.limit_:e.limitToLast=n.limit_),e}function or(n){const e={};if(n.startSet_&&(e.sp=n.indexStartValue_,n.startNameSet_&&(e.sn=n.indexStartName_),e.sin=!n.startAfterSet_),n.endSet_&&(e.ep=n.indexEndValue_,n.endNameSet_&&(e.en=n.indexEndName_),e.ein=!n.endBeforeSet_),n.limitSet_){e.l=n.limit_;let t=n.viewFrom_;t===""&&(n.isViewFromLeft()?t="l":t="r"),e.vf=t}return n.index_!==k&&(e.i=n.index_.toString()),e}/**
|
|
2269
2269
|
* @license
|
|
2270
2270
|
* Copyright 2017 Google LLC
|
|
2271
2271
|
*
|
|
@@ -2280,7 +2280,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2280
2280
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2281
2281
|
* See the License for the specific language governing permissions and
|
|
2282
2282
|
* limitations under the License.
|
|
2283
|
-
*/class
|
|
2283
|
+
*/class dn extends Go{reportStats(e){throw new Error("Method not implemented.")}static getListenId_(e,t){return t!==void 0?"tag$"+t:(f(e._queryParams.isDefault(),"should have a tag if it's not a default query."),e._path.toString())}constructor(e,t,i,s){super(),this.repoInfo_=e,this.onDataUpdate_=t,this.authTokenProvider_=i,this.appCheckTokenProvider_=s,this.log_=Ft("p:rest:"),this.listens_={}}listen(e,t,i,s){const r=e._path.toString();this.log_("Listen called for "+r+" "+e._queryIdentifier);const o=dn.getListenId_(e,i),a={};this.listens_[o]=a;const l=rr(e._queryParams);this.restRequest_(r+".json",l,(c,h)=>{let u=h;if(c===404&&(u=null,c=null),c===null&&this.onDataUpdate_(r,u,!1,i),qe(this.listens_,o)===a){let d;c?c===401?d="permission_denied":d="rest_error:"+c:d="ok",s(d,null)}})}unlisten(e,t){const i=dn.getListenId_(e,t);delete this.listens_[i]}get(e){const t=rr(e._queryParams),i=e._path.toString(),s=new Ei;return this.restRequest_(i+".json",t,(r,o)=>{let a=o;r===404&&(a=null,r=null),r===null?(this.onDataUpdate_(i,a,!1,null),s.resolve(a)):s.reject(new Error(a))}),s.promise}refreshAuthToken(e){}restRequest_(e,t={},i){return t.format="export",Promise.all([this.authTokenProvider_.getToken(!1),this.appCheckTokenProvider_.getToken(!1)]).then(([s,r])=>{s&&s.accessToken&&(t.auth=s.accessToken),r&&r.token&&(t.ac=r.token);const o=(this.repoInfo_.secure?"https://":"http://")+this.repoInfo_.host+e+"?ns="+this.repoInfo_.namespace+tt(t);this.log_("Sending REST request for "+o);const a=new XMLHttpRequest;a.onreadystatechange=()=>{if(i&&a.readyState===4){this.log_("REST Response for "+o+" received. status:",a.status,"response:",a.responseText);let l=null;if(a.status>=200&&a.status<300){try{l=Et(a.responseText)}catch{B("Failed to parse JSON response for "+o+": "+a.responseText)}i(null,l)}else a.status!==401&&a.status!==404&&B("Got unsuccessful REST response for "+o+" Status: "+a.status),i(a.status);i=null}},a.open("GET",o,!0),a.send()})}}/**
|
|
2284
2284
|
* @license
|
|
2285
2285
|
* Copyright 2017 Google LLC
|
|
2286
2286
|
*
|
|
@@ -2295,7 +2295,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2295
2295
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2296
2296
|
* See the License for the specific language governing permissions and
|
|
2297
2297
|
* limitations under the License.
|
|
2298
|
-
*/class
|
|
2298
|
+
*/class Xd{constructor(){this.rootNode_=m.EMPTY_NODE}getNode(e){return this.rootNode_.getChild(e)}updateSnapshot(e,t){this.rootNode_=this.rootNode_.updateChild(e,t)}}/**
|
|
2299
2299
|
* @license
|
|
2300
2300
|
* Copyright 2017 Google LLC
|
|
2301
2301
|
*
|
|
@@ -2310,7 +2310,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2310
2310
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2311
2311
|
* See the License for the specific language governing permissions and
|
|
2312
2312
|
* limitations under the License.
|
|
2313
|
-
*/function
|
|
2313
|
+
*/function fn(){return{value:null,children:new Map}}function ia(n,e,t){if(y(e))n.value=t,n.children.clear();else if(n.value!==null)n.value=n.value.updateChild(e,t);else{const i=E(e);n.children.has(i)||n.children.set(i,fn());const s=n.children.get(i);e=S(e),ia(s,e,t)}}function ci(n,e,t){n.value!==null?t(e,n.value):Zd(n,(i,s)=>{const r=new T(e.toString()+"/"+i);ci(s,r,t)})}function Zd(n,e){n.children.forEach((t,i)=>{e(i,t)})}/**
|
|
2314
2314
|
* @license
|
|
2315
2315
|
* Copyright 2017 Google LLC
|
|
2316
2316
|
*
|
|
@@ -2325,7 +2325,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2325
2325
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2326
2326
|
* See the License for the specific language governing permissions and
|
|
2327
2327
|
* limitations under the License.
|
|
2328
|
-
*/class
|
|
2328
|
+
*/class ef{constructor(e){this.collection_=e,this.last_=null}get(){const e=this.collection_.get(),t=Object.assign({},e);return this.last_&&W(this.last_,(i,s)=>{t[i]=t[i]-s}),this.last_=e,t}}/**
|
|
2329
2329
|
* @license
|
|
2330
2330
|
* Copyright 2017 Google LLC
|
|
2331
2331
|
*
|
|
@@ -2340,7 +2340,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2340
2340
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2341
2341
|
* See the License for the specific language governing permissions and
|
|
2342
2342
|
* limitations under the License.
|
|
2343
|
-
*/const ar=10*1e3,
|
|
2343
|
+
*/const ar=10*1e3,tf=30*1e3,nf=300*1e3;class sf{constructor(e,t){this.server_=t,this.statsToReport_={},this.statsListener_=new ef(e);const i=ar+(tf-ar)*Math.random();gt(this.reportStats_.bind(this),Math.floor(i))}reportStats_(){const e=this.statsListener_.get(),t={};let i=!1;W(e,(s,r)=>{r>0&&oe(this.statsToReport_,s)&&(t[s]=r,i=!0)}),i&&this.server_.reportStats(t),gt(this.reportStats_.bind(this),Math.floor(Math.random()*2*nf))}}/**
|
|
2344
2344
|
* @license
|
|
2345
2345
|
* Copyright 2017 Google LLC
|
|
2346
2346
|
*
|
|
@@ -2355,7 +2355,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2355
2355
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2356
2356
|
* See the License for the specific language governing permissions and
|
|
2357
2357
|
* limitations under the License.
|
|
2358
|
-
*/var K;(function(n){n[n.OVERWRITE=0]="OVERWRITE",n[n.MERGE=1]="MERGE",n[n.ACK_USER_WRITE=2]="ACK_USER_WRITE",n[n.LISTEN_COMPLETE=3]="LISTEN_COMPLETE"})(K||(K={}));function
|
|
2358
|
+
*/var K;(function(n){n[n.OVERWRITE=0]="OVERWRITE",n[n.MERGE=1]="MERGE",n[n.ACK_USER_WRITE=2]="ACK_USER_WRITE",n[n.LISTEN_COMPLETE=3]="LISTEN_COMPLETE"})(K||(K={}));function sa(){return{fromUser:!0,fromServer:!1,queryId:null,tagged:!1}}function Vi(){return{fromUser:!1,fromServer:!0,queryId:null,tagged:!1}}function $i(n){return{fromUser:!1,fromServer:!0,queryId:n,tagged:!0}}/**
|
|
2359
2359
|
* @license
|
|
2360
2360
|
* Copyright 2017 Google LLC
|
|
2361
2361
|
*
|
|
@@ -2370,7 +2370,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2370
2370
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2371
2371
|
* See the License for the specific language governing permissions and
|
|
2372
2372
|
* limitations under the License.
|
|
2373
|
-
*/class
|
|
2373
|
+
*/class pn{constructor(e,t,i){this.path=e,this.affectedTree=t,this.revert=i,this.type=K.ACK_USER_WRITE,this.source=sa()}operationForChild(e){if(y(this.path)){if(this.affectedTree.value!=null)return f(this.affectedTree.children.isEmpty(),"affectedTree should not have overlapping affected paths."),this;{const t=this.affectedTree.subtree(new T(e));return new pn(I(),t,this.revert)}}else return f(E(this.path)===e,"operationForChild called for unrelated child."),new pn(S(this.path),this.affectedTree,this.revert)}}/**
|
|
2374
2374
|
* @license
|
|
2375
2375
|
* Copyright 2017 Google LLC
|
|
2376
2376
|
*
|
|
@@ -2445,7 +2445,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2445
2445
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2446
2446
|
* See the License for the specific language governing permissions and
|
|
2447
2447
|
* limitations under the License.
|
|
2448
|
-
*/class
|
|
2448
|
+
*/class rf{constructor(e){this.query_=e,this.index_=this.query_._queryParams.getIndex()}}function of(n,e,t,i){const s=[],r=[];return e.forEach(o=>{o.type==="child_changed"&&n.index_.indexedValueChanged(o.oldSnap,o.snapshotNode)&&r.push(Yd(o.childName,o.snapshotNode))}),ht(n,s,"child_removed",e,i,t),ht(n,s,"child_added",e,i,t),ht(n,s,"child_moved",r,i,t),ht(n,s,"child_changed",e,i,t),ht(n,s,"value",e,i,t),s}function ht(n,e,t,i,s,r){const o=i.filter(a=>a.type===t);o.sort((a,l)=>lf(n,a,l)),o.forEach(a=>{const l=af(n,a,r);s.forEach(c=>{c.respondsTo(a.type)&&e.push(c.createEvent(l,n.query_))})})}function af(n,e,t){return e.type==="value"||e.type==="child_removed"||(e.prevName=t.getPredecessorChildName(e.childName,e.snapshotNode,n.index_)),e}function lf(n,e,t){if(e.childName==null||t.childName==null)throw Ze("Should only compare child_ events.");const i=new v(e.childName,e.snapshotNode),s=new v(t.childName,t.snapshotNode);return n.index_.compare(i,s)}/**
|
|
2449
2449
|
* @license
|
|
2450
2450
|
* Copyright 2017 Google LLC
|
|
2451
2451
|
*
|
|
@@ -2460,7 +2460,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2460
2460
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2461
2461
|
* See the License for the specific language governing permissions and
|
|
2462
2462
|
* limitations under the License.
|
|
2463
|
-
*/function
|
|
2463
|
+
*/function Rn(n,e){return{eventCache:n,serverCache:e}}function mt(n,e,t,i){return Rn(new Ee(e,t,i),n.serverCache)}function ra(n,e,t,i){return Rn(n.eventCache,new Ee(e,t,i))}function _n(n){return n.eventCache.isFullyInitialized()?n.eventCache.getNode():null}function De(n){return n.serverCache.isFullyInitialized()?n.serverCache.getNode():null}/**
|
|
2464
2464
|
* @license
|
|
2465
2465
|
* Copyright 2017 Google LLC
|
|
2466
2466
|
*
|
|
@@ -2475,7 +2475,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2475
2475
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2476
2476
|
* See the License for the specific language governing permissions and
|
|
2477
2477
|
* limitations under the License.
|
|
2478
|
-
*/let
|
|
2478
|
+
*/let zn;const cf=()=>(zn||(zn=new U(qu)),zn);class b{static fromObject(e){let t=new b(null);return W(e,(i,s)=>{t=t.set(new T(i),s)}),t}constructor(e,t=cf()){this.value=e,this.children=t}isEmpty(){return this.value===null&&this.children.isEmpty()}findRootMostMatchingPathAndValue(e,t){if(this.value!=null&&t(this.value))return{path:I(),value:this.value};if(y(e))return null;{const i=E(e),s=this.children.get(i);if(s!==null){const r=s.findRootMostMatchingPathAndValue(S(e),t);return r!=null?{path:N(new T(i),r.path),value:r.value}:null}else return null}}findRootMostValueAndPath(e){return this.findRootMostMatchingPathAndValue(e,()=>!0)}subtree(e){if(y(e))return this;{const t=E(e),i=this.children.get(t);return i!==null?i.subtree(S(e)):new b(null)}}set(e,t){if(y(e))return new b(t,this.children);{const i=E(e),r=(this.children.get(i)||new b(null)).set(S(e),t),o=this.children.insert(i,r);return new b(this.value,o)}}remove(e){if(y(e))return this.children.isEmpty()?new b(null):new b(null,this.children);{const t=E(e),i=this.children.get(t);if(i){const s=i.remove(S(e));let r;return s.isEmpty()?r=this.children.remove(t):r=this.children.insert(t,s),this.value===null&&r.isEmpty()?new b(null):new b(this.value,r)}else return this}}get(e){if(y(e))return this.value;{const t=E(e),i=this.children.get(t);return i?i.get(S(e)):null}}setTree(e,t){if(y(e))return t;{const i=E(e),r=(this.children.get(i)||new b(null)).setTree(S(e),t);let o;return r.isEmpty()?o=this.children.remove(i):o=this.children.insert(i,r),new b(this.value,o)}}fold(e){return this.fold_(I(),e)}fold_(e,t){const i={};return this.children.inorderTraversal((s,r)=>{i[s]=r.fold_(N(e,s),t)}),t(e,this.value,i)}findOnPath(e,t){return this.findOnPath_(e,I(),t)}findOnPath_(e,t,i){const s=this.value?i(t,this.value):!1;if(s)return s;if(y(e))return null;{const r=E(e),o=this.children.get(r);return o?o.findOnPath_(S(e),N(t,r),i):null}}foreachOnPath(e,t){return this.foreachOnPath_(e,I(),t)}foreachOnPath_(e,t,i){if(y(e))return this;{this.value&&i(t,this.value);const s=E(e),r=this.children.get(s);return r?r.foreachOnPath_(S(e),N(t,s),i):new b(null)}}foreach(e){this.foreach_(I(),e)}foreach_(e,t){this.children.inorderTraversal((i,s)=>{s.foreach_(N(e,i),t)}),this.value&&t(e,this.value)}foreachChild(e){this.children.inorderTraversal((t,i)=>{i.value&&e(t,i.value)})}}/**
|
|
2479
2479
|
* @license
|
|
2480
2480
|
* Copyright 2017 Google LLC
|
|
2481
2481
|
*
|
|
@@ -2490,7 +2490,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2490
2490
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2491
2491
|
* See the License for the specific language governing permissions and
|
|
2492
2492
|
* limitations under the License.
|
|
2493
|
-
*/class Y{constructor(e){this.writeTree_=e}static empty(){return new Y(new b(null))}}function vt(n,e,t){if(y(e))return new Y(new b(t));{const i=n.writeTree_.findRootMostValueAndPath(e);if(i!=null){const s=i.path;let r=i.value;const o=L(s,e);return r=r.updateChild(o,t),new Y(n.writeTree_.set(s,r))}else{const s=new b(t),r=n.writeTree_.setTree(e,s);return new Y(r)}}}function lr(n,e,t){let i=n;return W(t,(s,r)=>{i=vt(i,N(e,s),r)}),i}function cr(n,e){if(y(e))return Y.empty();{const t=n.writeTree_.setTree(e,new b(null));return new Y(t)}}function hi(n,e){return Le(n,e)!=null}function Le(n,e){const t=n.writeTree_.findRootMostValueAndPath(e);return t!=null?n.writeTree_.get(t.path).getChild(L(t.path,e)):null}function hr(n){const e=[],t=n.writeTree_.value;return t!=null?t.isLeafNode()||t.forEachChild(k,(i,s)=>{e.push(new v(i,s))}):n.writeTree_.children.inorderTraversal((i,s)=>{s.value!=null&&e.push(new v(i,s.value))}),e}function me(n,e){if(y(e))return n;{const t=Le(n,e);return t!=null?new Y(new b(t)):new Y(n.writeTree_.subtree(e))}}function ui(n){return n.writeTree_.isEmpty()}function Xe(n,e){return
|
|
2493
|
+
*/class Y{constructor(e){this.writeTree_=e}static empty(){return new Y(new b(null))}}function vt(n,e,t){if(y(e))return new Y(new b(t));{const i=n.writeTree_.findRootMostValueAndPath(e);if(i!=null){const s=i.path;let r=i.value;const o=L(s,e);return r=r.updateChild(o,t),new Y(n.writeTree_.set(s,r))}else{const s=new b(t),r=n.writeTree_.setTree(e,s);return new Y(r)}}}function lr(n,e,t){let i=n;return W(t,(s,r)=>{i=vt(i,N(e,s),r)}),i}function cr(n,e){if(y(e))return Y.empty();{const t=n.writeTree_.setTree(e,new b(null));return new Y(t)}}function hi(n,e){return Le(n,e)!=null}function Le(n,e){const t=n.writeTree_.findRootMostValueAndPath(e);return t!=null?n.writeTree_.get(t.path).getChild(L(t.path,e)):null}function hr(n){const e=[],t=n.writeTree_.value;return t!=null?t.isLeafNode()||t.forEachChild(k,(i,s)=>{e.push(new v(i,s))}):n.writeTree_.children.inorderTraversal((i,s)=>{s.value!=null&&e.push(new v(i,s.value))}),e}function me(n,e){if(y(e))return n;{const t=Le(n,e);return t!=null?new Y(new b(t)):new Y(n.writeTree_.subtree(e))}}function ui(n){return n.writeTree_.isEmpty()}function Xe(n,e){return oa(I(),n.writeTree_,e)}function oa(n,e,t){if(e.value!=null)return t.updateChild(n,e.value);{let i=null;return e.children.inorderTraversal((s,r)=>{s===".priority"?(f(r.value!==null,"Priority writes must always be leaf nodes"),i=r.value):t=oa(N(n,s),r,t)}),!t.getChild(n).isEmpty()&&i!==null&&(t=t.updateChild(N(n,".priority"),i)),t}}/**
|
|
2494
2494
|
* @license
|
|
2495
2495
|
* Copyright 2017 Google LLC
|
|
2496
2496
|
*
|
|
@@ -2505,7 +2505,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2505
2505
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2506
2506
|
* See the License for the specific language governing permissions and
|
|
2507
2507
|
* limitations under the License.
|
|
2508
|
-
*/function
|
|
2508
|
+
*/function kn(n,e){return ha(e,n)}function hf(n,e,t,i,s){f(i>n.lastWriteId,"Stacking an older write on top of newer ones"),s===void 0&&(s=!0),n.allWrites.push({path:e,snap:t,writeId:i,visible:s}),s&&(n.visibleWrites=vt(n.visibleWrites,e,t)),n.lastWriteId=i}function uf(n,e){for(let t=0;t<n.allWrites.length;t++){const i=n.allWrites[t];if(i.writeId===e)return i}return null}function df(n,e){const t=n.allWrites.findIndex(a=>a.writeId===e);f(t>=0,"removeWrite called with nonexistent writeId.");const i=n.allWrites[t];n.allWrites.splice(t,1);let s=i.visible,r=!1,o=n.allWrites.length-1;for(;s&&o>=0;){const a=n.allWrites[o];a.visible&&(o>=t&&ff(a,i.path)?s=!1:q(i.path,a.path)&&(r=!0)),o--}if(s){if(r)return pf(n),!0;if(i.snap)n.visibleWrites=cr(n.visibleWrites,i.path);else{const a=i.children;W(a,l=>{n.visibleWrites=cr(n.visibleWrites,N(i.path,l))})}return!0}else return!1}function ff(n,e){if(n.snap)return q(n.path,e);for(const t in n.children)if(n.children.hasOwnProperty(t)&&q(N(n.path,t),e))return!0;return!1}function pf(n){n.visibleWrites=aa(n.allWrites,_f,I()),n.allWrites.length>0?n.lastWriteId=n.allWrites[n.allWrites.length-1].writeId:n.lastWriteId=-1}function _f(n){return n.visible}function aa(n,e,t){let i=Y.empty();for(let s=0;s<n.length;++s){const r=n[s];if(e(r)){const o=r.path;let a;if(r.snap)q(t,o)?(a=L(t,o),i=vt(i,a,r.snap)):q(o,t)&&(a=L(o,t),i=vt(i,I(),r.snap.getChild(a)));else if(r.children){if(q(t,o))a=L(t,o),i=lr(i,a,r.children);else if(q(o,t))if(a=L(o,t),y(a))i=lr(i,I(),r.children);else{const l=qe(r.children,E(a));if(l){const c=l.getChild(S(a));i=vt(i,I(),c)}}}else throw Ze("WriteRecord should have .snap or .children")}}return i}function la(n,e,t,i,s){if(!i&&!s){const r=Le(n.visibleWrites,e);if(r!=null)return r;{const o=me(n.visibleWrites,e);if(ui(o))return t;if(t==null&&!hi(o,I()))return null;{const a=t||m.EMPTY_NODE;return Xe(o,a)}}}else{const r=me(n.visibleWrites,e);if(!s&&ui(r))return t;if(!s&&t==null&&!hi(r,I()))return null;{const o=function(c){return(c.visible||s)&&(!i||!~i.indexOf(c.writeId))&&(q(c.path,e)||q(e,c.path))},a=aa(n.allWrites,o,e),l=t||m.EMPTY_NODE;return Xe(a,l)}}}function gf(n,e,t){let i=m.EMPTY_NODE;const s=Le(n.visibleWrites,e);if(s)return s.isLeafNode()||s.forEachChild(k,(r,o)=>{i=i.updateImmediateChild(r,o)}),i;if(t){const r=me(n.visibleWrites,e);return t.forEachChild(k,(o,a)=>{const l=Xe(me(r,new T(o)),a);i=i.updateImmediateChild(o,l)}),hr(r).forEach(o=>{i=i.updateImmediateChild(o.name,o.node)}),i}else{const r=me(n.visibleWrites,e);return hr(r).forEach(o=>{i=i.updateImmediateChild(o.name,o.node)}),i}}function mf(n,e,t,i,s){f(i||s,"Either existingEventSnap or existingServerSnap must exist");const r=N(e,t);if(hi(n.visibleWrites,r))return null;{const o=me(n.visibleWrites,r);return ui(o)?s.getChild(t):Xe(o,s.getChild(t))}}function vf(n,e,t,i){const s=N(e,t),r=Le(n.visibleWrites,s);if(r!=null)return r;if(i.isCompleteForChild(t)){const o=me(n.visibleWrites,s);return Xe(o,i.getNode().getImmediateChild(t))}else return null}function yf(n,e){return Le(n.visibleWrites,e)}function Ef(n,e,t,i,s,r,o){let a;const l=me(n.visibleWrites,e),c=Le(l,I());if(c!=null)a=c;else if(t!=null)a=Xe(l,t);else return[];if(a=a.withIndex(o),!a.isEmpty()&&!a.isLeafNode()){const h=[],u=o.getCompare(),d=r?a.getReverseIteratorFrom(i,o):a.getIteratorFrom(i,o);let p=d.getNext();for(;p&&h.length<s;)u(p,i)!==0&&h.push(p),p=d.getNext();return h}else return[]}function If(){return{visibleWrites:Y.empty(),allWrites:[],lastWriteId:-1}}function gn(n,e,t,i){return la(n.writeTree,n.treePath,e,t,i)}function Gi(n,e){return gf(n.writeTree,n.treePath,e)}function ur(n,e,t,i){return mf(n.writeTree,n.treePath,e,t,i)}function mn(n,e){return yf(n.writeTree,N(n.treePath,e))}function Cf(n,e,t,i,s,r){return Ef(n.writeTree,n.treePath,e,t,i,s,r)}function ji(n,e,t){return vf(n.writeTree,n.treePath,e,t)}function ca(n,e){return ha(N(n.treePath,e),n.writeTree)}function ha(n,e){return{treePath:n,writeTree:e}}/**
|
|
2509
2509
|
* @license
|
|
2510
2510
|
* Copyright 2017 Google LLC
|
|
2511
2511
|
*
|
|
@@ -2520,7 +2520,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2520
2520
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2521
2521
|
* See the License for the specific language governing permissions and
|
|
2522
2522
|
* limitations under the License.
|
|
2523
|
-
*/class
|
|
2523
|
+
*/class wf{constructor(){this.changeMap=new Map}trackChildChange(e){const t=e.type,i=e.childName;f(t==="child_added"||t==="child_changed"||t==="child_removed","Only child changes supported for tracking"),f(i!==".priority","Only non-priority child changes can be tracked.");const s=this.changeMap.get(i);if(s){const r=s.type;if(t==="child_added"&&r==="child_removed")this.changeMap.set(i,bt(i,e.snapshotNode,s.snapshotNode));else if(t==="child_removed"&&r==="child_added")this.changeMap.delete(i);else if(t==="child_removed"&&r==="child_changed")this.changeMap.set(i,St(i,s.oldSnap));else if(t==="child_changed"&&r==="child_added")this.changeMap.set(i,Je(i,e.snapshotNode));else if(t==="child_changed"&&r==="child_changed")this.changeMap.set(i,bt(i,e.snapshotNode,s.oldSnap));else throw Ze("Illegal combination of changes: "+e+" occurred after "+s)}else this.changeMap.set(i,e)}getChanges(){return Array.from(this.changeMap.values())}}/**
|
|
2524
2524
|
* @license
|
|
2525
2525
|
* Copyright 2017 Google LLC
|
|
2526
2526
|
*
|
|
@@ -2535,7 +2535,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2535
2535
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2536
2536
|
* See the License for the specific language governing permissions and
|
|
2537
2537
|
* limitations under the License.
|
|
2538
|
-
*/class
|
|
2538
|
+
*/class Tf{getCompleteChild(e){return null}getChildAfterChild(e,t,i){return null}}const ua=new Tf;class zi{constructor(e,t,i=null){this.writes_=e,this.viewCache_=t,this.optCompleteServerCache_=i}getCompleteChild(e){const t=this.viewCache_.eventCache;if(t.isCompleteForChild(e))return t.getNode().getImmediateChild(e);{const i=this.optCompleteServerCache_!=null?new Ee(this.optCompleteServerCache_,!0,!1):this.viewCache_.serverCache;return ji(this.writes_,e,i)}}getChildAfterChild(e,t,i){const s=this.optCompleteServerCache_!=null?this.optCompleteServerCache_:De(this.viewCache_),r=Cf(this.writes_,s,t,1,i,e);return r.length===0?null:r[0]}}/**
|
|
2539
2539
|
* @license
|
|
2540
2540
|
* Copyright 2017 Google LLC
|
|
2541
2541
|
*
|
|
@@ -2550,7 +2550,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2550
2550
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2551
2551
|
* See the License for the specific language governing permissions and
|
|
2552
2552
|
* limitations under the License.
|
|
2553
|
-
*/function
|
|
2553
|
+
*/function Sf(n){return{filter:n}}function bf(n,e){f(e.eventCache.getNode().isIndexed(n.filter.getIndex()),"Event snap not indexed"),f(e.serverCache.getNode().isIndexed(n.filter.getIndex()),"Server snap not indexed")}function Rf(n,e,t,i,s){const r=new wf;let o,a;if(t.type===K.OVERWRITE){const c=t;c.source.fromUser?o=di(n,e,c.path,c.snap,i,s,r):(f(c.source.fromServer,"Unknown source."),a=c.source.tagged||e.serverCache.isFiltered()&&!y(c.path),o=vn(n,e,c.path,c.snap,i,s,a,r))}else if(t.type===K.MERGE){const c=t;c.source.fromUser?o=Af(n,e,c.path,c.children,i,s,r):(f(c.source.fromServer,"Unknown source."),a=c.source.tagged||e.serverCache.isFiltered(),o=fi(n,e,c.path,c.children,i,s,a,r))}else if(t.type===K.ACK_USER_WRITE){const c=t;c.revert?o=Of(n,e,c.path,i,s,r):o=Nf(n,e,c.path,c.affectedTree,i,s,r)}else if(t.type===K.LISTEN_COMPLETE)o=Pf(n,e,t.path,i,r);else throw Ze("Unknown operation type: "+t.type);const l=r.getChanges();return kf(e,o,l),{viewCache:o,changes:l}}function kf(n,e,t){const i=e.eventCache;if(i.isFullyInitialized()){const s=i.getNode().isLeafNode()||i.getNode().isEmpty(),r=_n(n);(t.length>0||!n.eventCache.isFullyInitialized()||s&&!i.getNode().equals(r)||!i.getNode().getPriority().equals(r.getPriority()))&&t.push(na(_n(e)))}}function da(n,e,t,i,s,r){const o=e.eventCache;if(mn(i,t)!=null)return e;{let a,l;if(y(t))if(f(e.serverCache.isFullyInitialized(),"If change path is empty, we must have complete server data"),e.serverCache.isFiltered()){const c=De(e),h=c instanceof m?c:m.EMPTY_NODE,u=Gi(i,h);a=n.filter.updateFullNode(e.eventCache.getNode(),u,r)}else{const c=gn(i,De(e));a=n.filter.updateFullNode(e.eventCache.getNode(),c,r)}else{const c=E(t);if(c===".priority"){f(ye(t)===1,"Can't have a priority with additional path components");const h=o.getNode();l=e.serverCache.getNode();const u=ur(i,t,h,l);u!=null?a=n.filter.updatePriority(h,u):a=o.getNode()}else{const h=S(t);let u;if(o.isCompleteForChild(c)){l=e.serverCache.getNode();const d=ur(i,t,o.getNode(),l);d!=null?u=o.getNode().getImmediateChild(c).updateChild(h,d):u=o.getNode().getImmediateChild(c)}else u=ji(i,c,e.serverCache);u!=null?a=n.filter.updateChild(o.getNode(),c,u,h,s,r):a=o.getNode()}}return mt(e,a,o.isFullyInitialized()||y(t),n.filter.filtersNodes())}}function vn(n,e,t,i,s,r,o,a){const l=e.serverCache;let c;const h=o?n.filter:n.filter.getIndexedFilter();if(y(t))c=h.updateFullNode(l.getNode(),i,null);else if(h.filtersNodes()&&!l.isFiltered()){const p=l.getNode().updateChild(t,i);c=h.updateFullNode(l.getNode(),p,null)}else{const p=E(t);if(!l.isCompleteForPath(t)&&ye(t)>1)return e;const _=S(t),R=l.getNode().getImmediateChild(p).updateChild(_,i);p===".priority"?c=h.updatePriority(l.getNode(),R):c=h.updateChild(l.getNode(),p,R,_,ua,null)}const u=ra(e,c,l.isFullyInitialized()||y(t),h.filtersNodes()),d=new zi(s,u,r);return da(n,u,t,s,d,a)}function di(n,e,t,i,s,r,o){const a=e.eventCache;let l,c;const h=new zi(s,e,r);if(y(t))c=n.filter.updateFullNode(e.eventCache.getNode(),i,o),l=mt(e,c,!0,n.filter.filtersNodes());else{const u=E(t);if(u===".priority")c=n.filter.updatePriority(e.eventCache.getNode(),i),l=mt(e,c,a.isFullyInitialized(),a.isFiltered());else{const d=S(t),p=a.getNode().getImmediateChild(u);let _;if(y(d))_=i;else{const C=h.getCompleteChild(u);C!=null?zo(d)===".priority"&&C.getChild(Ko(d)).isEmpty()?_=C:_=C.updateChild(d,i):_=m.EMPTY_NODE}if(p.equals(_))l=e;else{const C=n.filter.updateChild(a.getNode(),u,_,d,h,o);l=mt(e,C,a.isFullyInitialized(),n.filter.filtersNodes())}}}return l}function dr(n,e){return n.eventCache.isCompleteForChild(e)}function Af(n,e,t,i,s,r,o){let a=e;return i.foreach((l,c)=>{const h=N(t,l);dr(e,E(h))&&(a=di(n,a,h,c,s,r,o))}),i.foreach((l,c)=>{const h=N(t,l);dr(e,E(h))||(a=di(n,a,h,c,s,r,o))}),a}function fr(n,e,t){return t.foreach((i,s)=>{e=e.updateChild(i,s)}),e}function fi(n,e,t,i,s,r,o,a){if(e.serverCache.getNode().isEmpty()&&!e.serverCache.isFullyInitialized())return e;let l=e,c;y(t)?c=i:c=new b(null).setTree(t,i);const h=e.serverCache.getNode();return c.children.inorderTraversal((u,d)=>{if(h.hasChild(u)){const p=e.serverCache.getNode().getImmediateChild(u),_=fr(n,p,d);l=vn(n,l,new T(u),_,s,r,o,a)}}),c.children.inorderTraversal((u,d)=>{const p=!e.serverCache.isCompleteForChild(u)&&d.value===null;if(!h.hasChild(u)&&!p){const _=e.serverCache.getNode().getImmediateChild(u),C=fr(n,_,d);l=vn(n,l,new T(u),C,s,r,o,a)}}),l}function Nf(n,e,t,i,s,r,o){if(mn(s,t)!=null)return e;const a=e.serverCache.isFiltered(),l=e.serverCache;if(i.value!=null){if(y(t)&&l.isFullyInitialized()||l.isCompleteForPath(t))return vn(n,e,t,l.getNode().getChild(t),s,r,a,o);if(y(t)){let c=new b(null);return l.getNode().forEachChild(ze,(h,u)=>{c=c.set(new T(h),u)}),fi(n,e,t,c,s,r,a,o)}else return e}else{let c=new b(null);return i.foreach((h,u)=>{const d=N(t,h);l.isCompleteForPath(d)&&(c=c.set(h,l.getNode().getChild(d)))}),fi(n,e,t,c,s,r,a,o)}}function Pf(n,e,t,i,s){const r=e.serverCache,o=ra(e,r.getNode(),r.isFullyInitialized()||y(t),r.isFiltered());return da(n,o,t,i,ua,s)}function Of(n,e,t,i,s,r){let o;if(mn(i,t)!=null)return e;{const a=new zi(i,e,s),l=e.eventCache.getNode();let c;if(y(t)||E(t)===".priority"){let h;if(e.serverCache.isFullyInitialized())h=gn(i,De(e));else{const u=e.serverCache.getNode();f(u instanceof m,"serverChildren would be complete if leaf node"),h=Gi(i,u)}h=h,c=n.filter.updateFullNode(l,h,r)}else{const h=E(t);let u=ji(i,h,e.serverCache);u==null&&e.serverCache.isCompleteForChild(h)&&(u=l.getImmediateChild(h)),u!=null?c=n.filter.updateChild(l,h,u,S(t),a,r):e.eventCache.getNode().hasChild(h)?c=n.filter.updateChild(l,h,m.EMPTY_NODE,S(t),a,r):c=l,c.isEmpty()&&e.serverCache.isFullyInitialized()&&(o=gn(i,De(e)),o.isLeafNode()&&(c=n.filter.updateFullNode(c,o,r)))}return o=e.serverCache.isFullyInitialized()||mn(i,I())!=null,mt(e,c,o,n.filter.filtersNodes())}}/**
|
|
2554
2554
|
* @license
|
|
2555
2555
|
* Copyright 2017 Google LLC
|
|
2556
2556
|
*
|
|
@@ -2565,7 +2565,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2565
2565
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2566
2566
|
* See the License for the specific language governing permissions and
|
|
2567
2567
|
* limitations under the License.
|
|
2568
|
-
*/class
|
|
2568
|
+
*/class Df{constructor(e,t){this.query_=e,this.eventRegistrations_=[];const i=this.query_._queryParams,s=new Bi(i.getIndex()),r=Jd(i);this.processor_=Sf(r);const o=t.serverCache,a=t.eventCache,l=s.updateFullNode(m.EMPTY_NODE,o.getNode(),null),c=r.updateFullNode(m.EMPTY_NODE,a.getNode(),null),h=new Ee(l,o.isFullyInitialized(),s.filtersNodes()),u=new Ee(c,a.isFullyInitialized(),r.filtersNodes());this.viewCache_=Rn(u,h),this.eventGenerator_=new rf(this.query_)}get query(){return this.query_}}function Mf(n){return n.viewCache_.serverCache.getNode()}function Lf(n){return _n(n.viewCache_)}function xf(n,e){const t=De(n.viewCache_);return t&&(n.query._queryParams.loadsAllData()||!y(e)&&!t.getImmediateChild(E(e)).isEmpty())?t.getChild(e):null}function pr(n){return n.eventRegistrations_.length===0}function Ff(n,e){n.eventRegistrations_.push(e)}function _r(n,e,t){const i=[];if(t){f(e==null,"A cancel should cancel all event registrations.");const s=n.query._path;n.eventRegistrations_.forEach(r=>{const o=r.createCancelEvent(t,s);o&&i.push(o)})}if(e){let s=[];for(let r=0;r<n.eventRegistrations_.length;++r){const o=n.eventRegistrations_[r];if(!o.matches(e))s.push(o);else if(e.hasAnyCallback()){s=s.concat(n.eventRegistrations_.slice(r+1));break}}n.eventRegistrations_=s}else n.eventRegistrations_=[];return i}function gr(n,e,t,i){e.type===K.MERGE&&e.source.queryId!==null&&(f(De(n.viewCache_),"We should always have a full cache before handling merges"),f(_n(n.viewCache_),"Missing event cache, even though we have a server cache"));const s=n.viewCache_,r=Rf(n.processor_,s,e,t,i);return bf(n.processor_,r.viewCache),f(r.viewCache.serverCache.isFullyInitialized()||!s.serverCache.isFullyInitialized(),"Once a server snap is complete, it should never go back"),n.viewCache_=r.viewCache,fa(n,r.changes,r.viewCache.eventCache.getNode(),null)}function Uf(n,e){const t=n.viewCache_.eventCache,i=[];return t.getNode().isLeafNode()||t.getNode().forEachChild(k,(r,o)=>{i.push(Je(r,o))}),t.isFullyInitialized()&&i.push(na(t.getNode())),fa(n,i,t.getNode(),e)}function fa(n,e,t,i){const s=i?[i]:n.eventRegistrations_;return of(n.eventGenerator_,e,t,s)}/**
|
|
2569
2569
|
* @license
|
|
2570
2570
|
* Copyright 2017 Google LLC
|
|
2571
2571
|
*
|
|
@@ -2580,7 +2580,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2580
2580
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2581
2581
|
* See the License for the specific language governing permissions and
|
|
2582
2582
|
* limitations under the License.
|
|
2583
|
-
*/let
|
|
2583
|
+
*/let yn;class pa{constructor(){this.views=new Map}}function Wf(n){f(!yn,"__referenceConstructor has already been defined"),yn=n}function Bf(){return f(yn,"Reference.ts has not been loaded"),yn}function Hf(n){return n.views.size===0}function qi(n,e,t,i){const s=e.source.queryId;if(s!==null){const r=n.views.get(s);return f(r!=null,"SyncTree gave us an op for an invalid query."),gr(r,e,t,i)}else{let r=[];for(const o of n.views.values())r=r.concat(gr(o,e,t,i));return r}}function _a(n,e,t,i,s){const r=e._queryIdentifier,o=n.views.get(r);if(!o){let a=gn(t,s?i:null),l=!1;a?l=!0:i instanceof m?(a=Gi(t,i),l=!1):(a=m.EMPTY_NODE,l=!1);const c=Rn(new Ee(a,l,!1),new Ee(i,s,!1));return new Df(e,c)}return o}function Vf(n,e,t,i,s,r){const o=_a(n,e,i,s,r);return n.views.has(e._queryIdentifier)||n.views.set(e._queryIdentifier,o),Ff(o,t),Uf(o,t)}function $f(n,e,t,i){const s=e._queryIdentifier,r=[];let o=[];const a=Ie(n);if(s==="default")for(const[l,c]of n.views.entries())o=o.concat(_r(c,t,i)),pr(c)&&(n.views.delete(l),c.query._queryParams.loadsAllData()||r.push(c.query));else{const l=n.views.get(s);l&&(o=o.concat(_r(l,t,i)),pr(l)&&(n.views.delete(s),l.query._queryParams.loadsAllData()||r.push(l.query)))}return a&&!Ie(n)&&r.push(new(Bf())(e._repo,e._path)),{removed:r,events:o}}function ga(n){const e=[];for(const t of n.views.values())t.query._queryParams.loadsAllData()||e.push(t);return e}function ve(n,e){let t=null;for(const i of n.views.values())t=t||xf(i,e);return t}function ma(n,e){if(e._queryParams.loadsAllData())return An(n);{const i=e._queryIdentifier;return n.views.get(i)}}function va(n,e){return ma(n,e)!=null}function Ie(n){return An(n)!=null}function An(n){for(const e of n.views.values())if(e.query._queryParams.loadsAllData())return e;return null}/**
|
|
2584
2584
|
* @license
|
|
2585
2585
|
* Copyright 2017 Google LLC
|
|
2586
2586
|
*
|
|
@@ -2595,7 +2595,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2595
2595
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2596
2596
|
* See the License for the specific language governing permissions and
|
|
2597
2597
|
* limitations under the License.
|
|
2598
|
-
*/let
|
|
2598
|
+
*/let En;function Gf(n){f(!En,"__referenceConstructor has already been defined"),En=n}function jf(){return f(En,"Reference.ts has not been loaded"),En}let zf=1;class mr{constructor(e){this.listenProvider_=e,this.syncPointTree_=new b(null),this.pendingWriteTree_=If(),this.tagToQueryMap=new Map,this.queryToTagMap=new Map}}function qf(n,e,t,i,s){return hf(n.pendingWriteTree_,e,t,i,s),s?Ht(n,new Oe(sa(),e,t)):[]}function Be(n,e,t=!1){const i=uf(n.pendingWriteTree_,e);if(df(n.pendingWriteTree_,e)){let r=new b(null);return i.snap!=null?r=r.set(I(),!0):W(i.children,o=>{r=r.set(new T(o),!0)}),Ht(n,new pn(i.path,r,t))}else return[]}function Bt(n,e,t){return Ht(n,new Oe(Vi(),e,t))}function Kf(n,e,t){const i=b.fromObject(t);return Ht(n,new At(Vi(),e,i))}function Yf(n,e){return Ht(n,new kt(Vi(),e))}function Qf(n,e,t){const i=Ki(n,t);if(i){const s=Yi(i),r=s.path,o=s.queryId,a=L(r,e),l=new kt($i(o),a);return Qi(n,r,l)}else return[]}function ya(n,e,t,i,s=!1){const r=e._path,o=n.syncPointTree_.get(r);let a=[];if(o&&(e._queryIdentifier==="default"||va(o,e))){const l=$f(o,e,t,i);Hf(o)&&(n.syncPointTree_=n.syncPointTree_.remove(r));const c=l.removed;if(a=l.events,!s){const h=c.findIndex(d=>d._queryParams.loadsAllData())!==-1,u=n.syncPointTree_.findOnPath(r,(d,p)=>Ie(p));if(h&&!u){const d=n.syncPointTree_.subtree(r);if(!d.isEmpty()){const p=ep(d);for(let _=0;_<p.length;++_){const C=p[_],R=C.query,H=Ta(n,C);n.listenProvider_.startListening(yt(R),Nt(n,R),H.hashFn,H.onComplete)}}}!u&&c.length>0&&!i&&(h?n.listenProvider_.stopListening(yt(e),null):c.forEach(d=>{const p=n.queryToTagMap.get(Nn(d));n.listenProvider_.stopListening(yt(d),p)}))}tp(n,c)}return a}function Ea(n,e,t,i){const s=Ki(n,i);if(s!=null){const r=Yi(s),o=r.path,a=r.queryId,l=L(o,e),c=new Oe($i(a),l,t);return Qi(n,o,c)}else return[]}function Jf(n,e,t,i){const s=Ki(n,i);if(s){const r=Yi(s),o=r.path,a=r.queryId,l=L(o,e),c=b.fromObject(t),h=new At($i(a),l,c);return Qi(n,o,h)}else return[]}function Xf(n,e,t,i=!1){const s=e._path;let r=null,o=!1;n.syncPointTree_.foreachOnPath(s,(d,p)=>{const _=L(d,s);r=r||ve(p,_),o=o||Ie(p)});let a=n.syncPointTree_.get(s);a?(o=o||Ie(a),r=r||ve(a,I())):(a=new pa,n.syncPointTree_=n.syncPointTree_.set(s,a));let l;r!=null?l=!0:(l=!1,r=m.EMPTY_NODE,n.syncPointTree_.subtree(s).foreachChild((p,_)=>{const C=ve(_,I());C&&(r=r.updateImmediateChild(p,C))}));const c=va(a,e);if(!c&&!e._queryParams.loadsAllData()){const d=Nn(e);f(!n.queryToTagMap.has(d),"View does not exist, but we have a tag");const p=np();n.queryToTagMap.set(d,p),n.tagToQueryMap.set(p,d)}const h=kn(n.pendingWriteTree_,s);let u=Vf(a,e,t,h,r,l);if(!c&&!o&&!i){const d=ma(a,e);u=u.concat(ip(n,e,d))}return u}function Ia(n,e,t){const s=n.pendingWriteTree_,r=n.syncPointTree_.findOnPath(e,(o,a)=>{const l=L(o,e),c=ve(a,l);if(c)return c});return la(s,e,r,t,!0)}function Zf(n,e){const t=e._path;let i=null;n.syncPointTree_.foreachOnPath(t,(c,h)=>{const u=L(c,t);i=i||ve(h,u)});let s=n.syncPointTree_.get(t);s?i=i||ve(s,I()):(s=new pa,n.syncPointTree_=n.syncPointTree_.set(t,s));const r=i!=null,o=r?new Ee(i,!0,!1):null,a=kn(n.pendingWriteTree_,e._path),l=_a(s,e,a,r?o.getNode():m.EMPTY_NODE,r);return Lf(l)}function Ht(n,e){return Ca(e,n.syncPointTree_,null,kn(n.pendingWriteTree_,I()))}function Ca(n,e,t,i){if(y(n.path))return wa(n,e,t,i);{const s=e.get(I());t==null&&s!=null&&(t=ve(s,I()));let r=[];const o=E(n.path),a=n.operationForChild(o),l=e.children.get(o);if(l&&a){const c=t?t.getImmediateChild(o):null,h=ca(i,o);r=r.concat(Ca(a,l,c,h))}return s&&(r=r.concat(qi(s,n,i,t))),r}}function wa(n,e,t,i){const s=e.get(I());t==null&&s!=null&&(t=ve(s,I()));let r=[];return e.children.inorderTraversal((o,a)=>{const l=t?t.getImmediateChild(o):null,c=ca(i,o),h=n.operationForChild(o);h&&(r=r.concat(wa(h,a,l,c)))}),s&&(r=r.concat(qi(s,n,i,t))),r}function Ta(n,e){const t=e.query,i=Nt(n,t);return{hashFn:()=>(Mf(e)||m.EMPTY_NODE).hash(),onComplete:s=>{if(s==="ok")return i?Qf(n,t._path,i):Yf(n,t._path);{const r=Qu(s,t);return ya(n,t,null,r)}}}}function Nt(n,e){const t=Nn(e);return n.queryToTagMap.get(t)}function Nn(n){return n._path.toString()+"$"+n._queryIdentifier}function Ki(n,e){return n.tagToQueryMap.get(e)}function Yi(n){const e=n.indexOf("$");return f(e!==-1&&e<n.length-1,"Bad queryKey."),{queryId:n.substr(e+1),path:new T(n.substr(0,e))}}function Qi(n,e,t){const i=n.syncPointTree_.get(e);f(i,"Missing sync point for query tag that we're tracking");const s=kn(n.pendingWriteTree_,e);return qi(i,t,s,null)}function ep(n){return n.fold((e,t,i)=>{if(t&&Ie(t))return[An(t)];{let s=[];return t&&(s=ga(t)),W(i,(r,o)=>{s=s.concat(o)}),s}})}function yt(n){return n._queryParams.loadsAllData()&&!n._queryParams.isDefault()?new(jf())(n._repo,n._path):n}function tp(n,e){for(let t=0;t<e.length;++t){const i=e[t];if(!i._queryParams.loadsAllData()){const s=Nn(i),r=n.queryToTagMap.get(s);n.queryToTagMap.delete(s),n.tagToQueryMap.delete(r)}}}function np(){return zf++}function ip(n,e,t){const i=e._path,s=Nt(n,e),r=Ta(n,t),o=n.listenProvider_.startListening(yt(e),s,r.hashFn,r.onComplete),a=n.syncPointTree_.subtree(i);if(s)f(!Ie(a.value),"If we're adding a query, it shouldn't be shadowed");else{const l=a.fold((c,h,u)=>{if(!y(c)&&h&&Ie(h))return[An(h).query];{let d=[];return h&&(d=d.concat(ga(h).map(p=>p.query))),W(u,(p,_)=>{d=d.concat(_)}),d}});for(let c=0;c<l.length;++c){const h=l[c];n.listenProvider_.stopListening(yt(h),Nt(n,h))}}return o}/**
|
|
2599
2599
|
* @license
|
|
2600
2600
|
* Copyright 2017 Google LLC
|
|
2601
2601
|
*
|
|
@@ -2610,7 +2610,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2610
2610
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2611
2611
|
* See the License for the specific language governing permissions and
|
|
2612
2612
|
* limitations under the License.
|
|
2613
|
-
*/class Ji{constructor(e){this.node_=e}getImmediateChild(e){const t=this.node_.getImmediateChild(e);return new Ji(t)}node(){return this.node_}}class Xi{constructor(e,t){this.syncTree_=e,this.path_=t}getImmediateChild(e){const t=N(this.path_,e);return new Xi(this.syncTree_,t)}node(){return
|
|
2613
|
+
*/class Ji{constructor(e){this.node_=e}getImmediateChild(e){const t=this.node_.getImmediateChild(e);return new Ji(t)}node(){return this.node_}}class Xi{constructor(e,t){this.syncTree_=e,this.path_=t}getImmediateChild(e){const t=N(this.path_,e);return new Xi(this.syncTree_,t)}node(){return Ia(this.syncTree_,this.path_)}}const sp=function(n){return n=n||{},n.timestamp=n.timestamp||new Date().getTime(),n},vr=function(n,e,t){if(!n||typeof n!="object")return n;if(f(".sv"in n,"Unexpected leaf node or priority contents"),typeof n[".sv"]=="string")return rp(n[".sv"],e,t);if(typeof n[".sv"]=="object")return op(n[".sv"],e);f(!1,"Unexpected server value: "+JSON.stringify(n,null,2))},rp=function(n,e,t){switch(n){case"timestamp":return t.timestamp;default:f(!1,"Unexpected server value: "+n)}},op=function(n,e,t){n.hasOwnProperty("increment")||f(!1,"Unexpected server value: "+JSON.stringify(n,null,2));const i=n.increment;typeof i!="number"&&f(!1,"Unexpected increment value: "+i);const s=e.node();if(f(s!==null&&typeof s<"u","Expected ChildrenNode.EMPTY_NODE for nulls"),!s.isLeafNode())return i;const o=s.getValue();return typeof o!="number"?i:o+i},ap=function(n,e,t,i){return Zi(e,new Xi(t,n),i)},lp=function(n,e,t){return Zi(n,new Ji(e),t)};function Zi(n,e,t){const i=n.getPriority().val(),s=vr(i,e.getImmediateChild(".priority"),t);let r;if(n.isLeafNode()){const o=n,a=vr(o.getValue(),e,t);return a!==o.getValue()||s!==o.getPriority().val()?new P(a,D(s)):n}else{const o=n;return r=o,s!==o.getPriority().val()&&(r=r.updatePriority(new P(s))),o.forEachChild(k,(a,l)=>{const c=Zi(l,e.getImmediateChild(a),t);c!==l&&(r=r.updateImmediateChild(a,c))}),r}}/**
|
|
2614
2614
|
* @license
|
|
2615
2615
|
* Copyright 2017 Google LLC
|
|
2616
2616
|
*
|
|
@@ -2625,7 +2625,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2625
2625
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2626
2626
|
* See the License for the specific language governing permissions and
|
|
2627
2627
|
* limitations under the License.
|
|
2628
|
-
*/class es{constructor(e="",t=null,i={children:{},childCount:0}){this.name=e,this.parent=t,this.node=i}}function ts(n,e){let t=e instanceof T?e:new T(e),i=n,s=E(t);for(;s!==null;){const r=qe(i.node.children,s)||{children:{},childCount:0};i=new es(s,i,r),t=S(t),s=E(t)}return i}function ot(n){return n.node.value}function
|
|
2628
|
+
*/class es{constructor(e="",t=null,i={children:{},childCount:0}){this.name=e,this.parent=t,this.node=i}}function ts(n,e){let t=e instanceof T?e:new T(e),i=n,s=E(t);for(;s!==null;){const r=qe(i.node.children,s)||{children:{},childCount:0};i=new es(s,i,r),t=S(t),s=E(t)}return i}function ot(n){return n.node.value}function Sa(n,e){n.node.value=e,pi(n)}function ba(n){return n.node.childCount>0}function cp(n){return ot(n)===void 0&&!ba(n)}function Pn(n,e){W(n.node.children,(t,i)=>{e(new es(t,n,i))})}function Ra(n,e,t,i){t&&e(n),Pn(n,s=>{Ra(s,e,!0)})}function hp(n,e,t){let i=n.parent;for(;i!==null;){if(e(i))return!0;i=i.parent}return!1}function Vt(n){return new T(n.parent===null?n.name:Vt(n.parent)+"/"+n.name)}function pi(n){n.parent!==null&&up(n.parent,n.name,n)}function up(n,e,t){const i=cp(t),s=oe(n.node.children,e);i&&s?(delete n.node.children[e],n.node.childCount--,pi(n)):!i&&!s&&(n.node.children[e]=t.node,n.node.childCount++,pi(n))}/**
|
|
2629
2629
|
* @license
|
|
2630
2630
|
* Copyright 2017 Google LLC
|
|
2631
2631
|
*
|
|
@@ -2640,7 +2640,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2640
2640
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2641
2641
|
* See the License for the specific language governing permissions and
|
|
2642
2642
|
* limitations under the License.
|
|
2643
|
-
*/const
|
|
2643
|
+
*/const dp=/[\[\].#$\/\u0000-\u001F\u007F]/,fp=/[\[\].#$\u0000-\u001F\u007F]/,qn=10*1024*1024,ka=function(n){return typeof n=="string"&&n.length!==0&&!dp.test(n)},Aa=function(n){return typeof n=="string"&&n.length!==0&&!fp.test(n)},pp=function(n){return n&&(n=n.replace(/^\/*\.info(\/|$)/,"/")),Aa(n)},Na=function(n,e,t){const i=t instanceof T?new Ad(t,n):t;if(e===void 0)throw new Error(n+"contains undefined "+be(i));if(typeof e=="function")throw new Error(n+"contains a function "+be(i)+" with contents = "+e.toString());if(So(e))throw new Error(n+"contains "+e.toString()+" "+be(i));if(typeof e=="string"&&e.length>qn/3&&In(e)>qn)throw new Error(n+"contains a string greater than "+qn+" utf8 bytes "+be(i)+" ('"+e.substring(0,50)+"...')");if(e&&typeof e=="object"){let s=!1,r=!1;if(W(e,(o,a)=>{if(o===".value")s=!0;else if(o!==".priority"&&o!==".sv"&&(r=!0,!ka(o)))throw new Error(n+" contains an invalid key ("+o+") "+be(i)+`. Keys must be non-empty strings and can't contain ".", "#", "$", "/", "[", or "]"`);Nd(i,o),Na(n,a,i),Pd(i)}),s&&r)throw new Error(n+' contains ".value" child '+be(i)+" in addition to actual children.")}},Pa=function(n,e,t,i){if(!Aa(t))throw new Error(Mr(n,e)+'was an invalid path = "'+t+`". Paths must be non-empty strings and can't contain ".", "#", "$", "[", or "]"`)},_p=function(n,e,t,i){t&&(t=t.replace(/^\/*\.info(\/|$)/,"/")),Pa(n,e,t)},gp=function(n,e){const t=e.path.toString();if(typeof e.repoInfo.host!="string"||e.repoInfo.host.length===0||!ka(e.repoInfo.namespace)&&e.repoInfo.host.split(":")[0]!=="localhost"||t.length!==0&&!pp(t))throw new Error(Mr(n,"url")+`must be a valid firebase URL and the path can't contain ".", "#", "$", "[", or "]".`)};/**
|
|
2644
2644
|
* @license
|
|
2645
2645
|
* Copyright 2017 Google LLC
|
|
2646
2646
|
*
|
|
@@ -2655,7 +2655,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2655
2655
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2656
2656
|
* See the License for the specific language governing permissions and
|
|
2657
2657
|
* limitations under the License.
|
|
2658
|
-
*/class
|
|
2658
|
+
*/class mp{constructor(){this.eventLists_=[],this.recursionDepth_=0}}function vp(n,e){let t=null;for(let i=0;i<e.length;i++){const s=e[i],r=s.getPath();t!==null&&!Yo(r,t.path)&&(n.eventLists_.push(t),t=null),t===null&&(t={events:[],path:r}),t.events.push(s)}t&&n.eventLists_.push(t)}function Te(n,e,t){vp(n,t),yp(n,i=>q(i,e)||q(e,i))}function yp(n,e){n.recursionDepth_++;let t=!0;for(let i=0;i<n.eventLists_.length;i++){const s=n.eventLists_[i];if(s){const r=s.path;e(r)?(Ep(n.eventLists_[i]),n.eventLists_[i]=null):t=!1}}t&&(n.eventLists_=[]),n.recursionDepth_--}function Ep(n){for(let e=0;e<n.events.length;e++){const t=n.events[e];if(t!==null){n.events[e]=null;const i=t.getEventRunner();_t&&M("event: "+t.toString()),Ut(i)}}}/**
|
|
2659
2659
|
* @license
|
|
2660
2660
|
* Copyright 2017 Google LLC
|
|
2661
2661
|
*
|
|
@@ -2670,7 +2670,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2670
2670
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2671
2671
|
* See the License for the specific language governing permissions and
|
|
2672
2672
|
* limitations under the License.
|
|
2673
|
-
*/const
|
|
2673
|
+
*/const Ip="repo_interrupt",Cp=25;class wp{constructor(e,t,i,s){this.repoInfo_=e,this.forceRestClient_=t,this.authTokenProvider_=i,this.appCheckProvider_=s,this.dataUpdateCount=0,this.statsListener_=null,this.eventQueue_=new mp,this.nextWriteId_=1,this.interceptServerDataCallback_=null,this.onDisconnect_=fn(),this.transactionQueueTree_=new es,this.persistentConnection_=null,this.key=this.repoInfo_.toURLString()}toString(){return(this.repoInfo_.secure?"https://":"http://")+this.repoInfo_.host}}function Tp(n,e,t){if(n.stats_=xi(n.repoInfo_),n.forceRestClient_||ed())n.server_=new dn(n.repoInfo_,(i,s,r,o)=>{yr(n,i,s,r,o)},n.authTokenProvider_,n.appCheckProvider_),setTimeout(()=>Er(n,!0),0);else{if(typeof t<"u"&&t!==null){if(typeof t!="object")throw new Error("Only objects are supported for option databaseAuthVariableOverride");try{A(t)}catch(i){throw new Error("Invalid authOverride provided: "+i)}}n.persistentConnection_=new ne(n.repoInfo_,e,(i,s,r,o)=>{yr(n,i,s,r,o)},i=>{Er(n,i)},i=>{bp(n,i)},n.authTokenProvider_,n.appCheckProvider_,t),n.server_=n.persistentConnection_}n.authTokenProvider_.addTokenChangeListener(i=>{n.server_.refreshAuthToken(i)}),n.appCheckProvider_.addTokenChangeListener(i=>{n.server_.refreshAppCheckToken(i.token)}),n.statsReporter_=rd(n.repoInfo_,()=>new sf(n.stats_,n.server_)),n.infoData_=new Xd,n.infoSyncTree_=new mr({startListening:(i,s,r,o)=>{let a=[];const l=n.infoData_.getNode(i._path);return l.isEmpty()||(a=Bt(n.infoSyncTree_,i._path,l),setTimeout(()=>{o("ok")},0)),a},stopListening:()=>{}}),ns(n,"connected",!1),n.serverSyncTree_=new mr({startListening:(i,s,r,o)=>(n.server_.listen(i,r,s,(a,l)=>{const c=o(a,l);Te(n.eventQueue_,i._path,c)}),[]),stopListening:(i,s)=>{n.server_.unlisten(i,s)}})}function Sp(n){const t=n.infoData_.getNode(new T(".info/serverTimeOffset")).val()||0;return new Date().getTime()+t}function Oa(n){return sp({timestamp:Sp(n)})}function yr(n,e,t,i,s){n.dataUpdateCount++;const r=new T(e);t=n.interceptServerDataCallback_?n.interceptServerDataCallback_(e,t):t;let o=[];if(s)if(i){const l=en(t,c=>D(c));o=Jf(n.serverSyncTree_,r,l,s)}else{const l=D(t);o=Ea(n.serverSyncTree_,r,l,s)}else if(i){const l=en(t,c=>D(c));o=Kf(n.serverSyncTree_,r,l)}else{const l=D(t);o=Bt(n.serverSyncTree_,r,l)}let a=r;o.length>0&&(a=rs(n,r)),Te(n.eventQueue_,a,o)}function Er(n,e){ns(n,"connected",e),e===!1&&Ap(n)}function bp(n,e){W(e,(t,i)=>{ns(n,t,i)})}function ns(n,e,t){const i=new T("/.info/"+e),s=D(t);n.infoData_.updateSnapshot(i,s);const r=Bt(n.infoSyncTree_,i,s);Te(n.eventQueue_,i,r)}function Rp(n){return n.nextWriteId_++}function kp(n,e,t){const i=Zf(n.serverSyncTree_,e);return i!=null?Promise.resolve(i):n.server_.get(e).then(s=>{const r=D(s).withIndex(e._queryParams.getIndex());Xf(n.serverSyncTree_,e,t,!0);let o;if(e._queryParams.loadsAllData())o=Bt(n.serverSyncTree_,e._path,r);else{const a=Nt(n.serverSyncTree_,e);o=Ea(n.serverSyncTree_,e._path,r,a)}return Te(n.eventQueue_,e._path,o),ya(n.serverSyncTree_,e,t,null,!0),r},s=>(is(n,"get for query "+A(e)+" failed: "+s),Promise.reject(new Error(s))))}function Ap(n){is(n,"onDisconnectEvents");const e=Oa(n),t=fn();ci(n.onDisconnect_,I(),(s,r)=>{const o=ap(s,r,n.serverSyncTree_,e);ia(t,s,o)});let i=[];ci(t,I(),(s,r)=>{i=i.concat(Bt(n.serverSyncTree_,s,r));const o=Dp(n,s);rs(n,o)}),n.onDisconnect_=fn(),Te(n.eventQueue_,I(),i)}function Np(n){n.persistentConnection_&&n.persistentConnection_.interrupt(Ip)}function is(n,...e){let t="";n.persistentConnection_&&(t=n.persistentConnection_.id+":"),M(t,...e)}function Da(n,e,t){return Ia(n.serverSyncTree_,e,t)||m.EMPTY_NODE}function ss(n,e=n.transactionQueueTree_){if(e||On(n,e),ot(e)){const t=La(n,e);f(t.length>0,"Sending zero length transaction queue"),t.every(s=>s.status===0)&&Pp(n,Vt(e),t)}else ba(e)&&Pn(e,t=>{ss(n,t)})}function Pp(n,e,t){const i=t.map(c=>c.currentWriteId),s=Da(n,e,i);let r=s;const o=s.hash();for(let c=0;c<t.length;c++){const h=t[c];f(h.status===0,"tryToSendTransactionQueue_: items in queue should all be run."),h.status=1,h.retryCount++;const u=L(e,h.path);r=r.updateChild(u,h.currentOutputSnapshotRaw)}const a=r.val(!0),l=e;n.server_.put(l.toString(),a,c=>{is(n,"transaction put response",{path:l.toString(),status:c});let h=[];if(c==="ok"){const u=[];for(let d=0;d<t.length;d++)t[d].status=2,h=h.concat(Be(n.serverSyncTree_,t[d].currentWriteId)),t[d].onComplete&&u.push(()=>t[d].onComplete(null,!0,t[d].currentOutputSnapshotResolved)),t[d].unwatcher();On(n,ts(n.transactionQueueTree_,e)),ss(n,n.transactionQueueTree_),Te(n.eventQueue_,e,h);for(let d=0;d<u.length;d++)Ut(u[d])}else{if(c==="datastale")for(let u=0;u<t.length;u++)t[u].status===3?t[u].status=4:t[u].status=0;else{B("transaction at "+l.toString()+" failed: "+c);for(let u=0;u<t.length;u++)t[u].status=4,t[u].abortReason=c}rs(n,e)}},o)}function rs(n,e){const t=Ma(n,e),i=Vt(t),s=La(n,t);return Op(n,s,i),i}function Op(n,e,t){if(e.length===0)return;const i=[];let s=[];const o=e.filter(a=>a.status===0).map(a=>a.currentWriteId);for(let a=0;a<e.length;a++){const l=e[a],c=L(t,l.path);let h=!1,u;if(f(c!==null,"rerunTransactionsUnderNode_: relativePath should not be null."),l.status===4)h=!0,u=l.abortReason,s=s.concat(Be(n.serverSyncTree_,l.currentWriteId,!0));else if(l.status===0)if(l.retryCount>=Cp)h=!0,u="maxretry",s=s.concat(Be(n.serverSyncTree_,l.currentWriteId,!0));else{const d=Da(n,l.path,o);l.currentInputSnapshot=d;const p=e[a].update(d.val());if(p!==void 0){Na("transaction failed: Data returned ",p,l.path);let _=D(p);typeof p=="object"&&p!=null&&oe(p,".priority")||(_=_.updatePriority(d.getPriority()));const R=l.currentWriteId,H=Oa(n),V=lp(_,d,H);l.currentOutputSnapshotRaw=_,l.currentOutputSnapshotResolved=V,l.currentWriteId=Rp(n),o.splice(o.indexOf(R),1),s=s.concat(qf(n.serverSyncTree_,l.path,V,l.currentWriteId,l.applyLocally)),s=s.concat(Be(n.serverSyncTree_,R,!0))}else h=!0,u="nodata",s=s.concat(Be(n.serverSyncTree_,l.currentWriteId,!0))}Te(n.eventQueue_,t,s),s=[],h&&(e[a].status=2,function(d){setTimeout(d,Math.floor(0))}(e[a].unwatcher),e[a].onComplete&&(u==="nodata"?i.push(()=>e[a].onComplete(null,!1,e[a].currentInputSnapshot)):i.push(()=>e[a].onComplete(new Error(u),!1,null))))}On(n,n.transactionQueueTree_);for(let a=0;a<i.length;a++)Ut(i[a]);ss(n,n.transactionQueueTree_)}function Ma(n,e){let t,i=n.transactionQueueTree_;for(t=E(e);t!==null&&ot(i)===void 0;)i=ts(i,t),e=S(e),t=E(e);return i}function La(n,e){const t=[];return xa(n,e,t),t.sort((i,s)=>i.order-s.order),t}function xa(n,e,t){const i=ot(e);if(i)for(let s=0;s<i.length;s++)t.push(i[s]);Pn(e,s=>{xa(n,s,t)})}function On(n,e){const t=ot(e);if(t){let i=0;for(let s=0;s<t.length;s++)t[s].status!==2&&(t[i]=t[s],i++);t.length=i,Sa(e,t.length>0?t:void 0)}Pn(e,i=>{On(n,i)})}function Dp(n,e){const t=Vt(Ma(n,e)),i=ts(n.transactionQueueTree_,e);return hp(i,s=>{Kn(n,s)}),Kn(n,i),Ra(i,s=>{Kn(n,s)}),t}function Kn(n,e){const t=ot(e);if(t){const i=[];let s=[],r=-1;for(let o=0;o<t.length;o++)t[o].status===3||(t[o].status===1?(f(r===o-1,"All SENT items should be at beginning of queue."),r=o,t[o].status=3,t[o].abortReason="set"):(f(t[o].status===0,"Unexpected transaction status in abort"),t[o].unwatcher(),s=s.concat(Be(n.serverSyncTree_,t[o].currentWriteId,!0)),t[o].onComplete&&i.push(t[o].onComplete.bind(null,new Error("set"),!1,null))));r===-1?Sa(e,void 0):t.length=r+1,Te(n.eventQueue_,Vt(e),s);for(let o=0;o<i.length;o++)Ut(i[o])}}/**
|
|
2674
2674
|
* @license
|
|
2675
2675
|
* Copyright 2017 Google LLC
|
|
2676
2676
|
*
|
|
@@ -2685,7 +2685,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2685
2685
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2686
2686
|
* See the License for the specific language governing permissions and
|
|
2687
2687
|
* limitations under the License.
|
|
2688
|
-
*/function
|
|
2688
|
+
*/function Mp(n){let e="";const t=n.split("/");for(let i=0;i<t.length;i++)if(t[i].length>0){let s=t[i];try{s=decodeURIComponent(s.replace(/\+/g," "))}catch{}e+="/"+s}return e}function Lp(n){const e={};n.charAt(0)==="?"&&(n=n.substring(1));for(const t of n.split("&")){if(t.length===0)continue;const i=t.split("=");i.length===2?e[decodeURIComponent(i[0])]=decodeURIComponent(i[1]):B(`Invalid query segment '${t}' in query '${n}'`)}return e}const Ir=function(n,e){const t=xp(n),i=t.namespace;t.domain==="firebase.com"&&re(t.host+" is no longer supported. Please use <YOUR FIREBASE>.firebaseio.com instead"),(!i||i==="undefined")&&t.domain!=="localhost"&&re("Cannot parse Firebase url. Please use https://<YOUR FIREBASE>.firebaseio.com"),t.secure||ju();const s=t.scheme==="ws"||t.scheme==="wss";return{repoInfo:new Fo(t.host,t.secure,i,s,e,"",i!==t.subdomain),path:new T(t.pathString)}},xp=function(n){let e="",t="",i="",s="",r="",o=!0,a="https",l=443;if(typeof n=="string"){let c=n.indexOf("//");c>=0&&(a=n.substring(0,c-1),n=n.substring(c+2));let h=n.indexOf("/");h===-1&&(h=n.length);let u=n.indexOf("?");u===-1&&(u=n.length),e=n.substring(0,Math.min(h,u)),h<u&&(s=Mp(n.substring(h,u)));const d=Lp(n.substring(Math.min(n.length,u)));c=e.indexOf(":"),c>=0?(o=a==="https"||a==="wss",l=parseInt(e.substring(c+1),10)):c=e.length;const p=e.slice(0,c);if(p.toLowerCase()==="localhost")t="localhost";else if(p.split(".").length<=2)t=p;else{const _=e.indexOf(".");i=e.substring(0,_).toLowerCase(),t=e.substring(_+1),r=i}"ns"in d&&(r=d.ns)}return{host:e,port:l,domain:t,subdomain:i,secure:o,scheme:a,pathString:s,namespace:r}};/**
|
|
2689
2689
|
* @license
|
|
2690
2690
|
* Copyright 2017 Google LLC
|
|
2691
2691
|
*
|
|
@@ -2700,7 +2700,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2700
2700
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2701
2701
|
* See the License for the specific language governing permissions and
|
|
2702
2702
|
* limitations under the License.
|
|
2703
|
-
*/class
|
|
2703
|
+
*/class Fp{constructor(e,t,i,s){this.eventType=e,this.eventRegistration=t,this.snapshot=i,this.prevName=s}getPath(){const e=this.snapshot.ref;return this.eventType==="value"?e._path:e.parent._path}getEventType(){return this.eventType}getEventRunner(){return this.eventRegistration.getEventRunner(this)}toString(){return this.getPath().toString()+":"+this.eventType+":"+A(this.snapshot.exportVal())}}class Up{constructor(e,t,i){this.eventRegistration=e,this.error=t,this.path=i}getPath(){return this.path}getEventType(){return"cancel"}getEventRunner(){return this.eventRegistration.getEventRunner(this)}toString(){return this.path.toString()+":cancel"}}/**
|
|
2704
2704
|
* @license
|
|
2705
2705
|
* Copyright 2017 Google LLC
|
|
2706
2706
|
*
|
|
@@ -2715,7 +2715,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2715
2715
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2716
2716
|
* See the License for the specific language governing permissions and
|
|
2717
2717
|
* limitations under the License.
|
|
2718
|
-
*/class
|
|
2718
|
+
*/class Wp{constructor(e,t){this.snapshotCallback=e,this.cancelCallback=t}onValue(e,t){this.snapshotCallback.call(null,e,t)}onCancel(e){return f(this.hasCancelCallback,"Raising a cancel event on a listener with no cancel callback"),this.cancelCallback.call(null,e)}get hasCancelCallback(){return!!this.cancelCallback}matches(e){return this.snapshotCallback===e.snapshotCallback||this.snapshotCallback.userCallback!==void 0&&this.snapshotCallback.userCallback===e.snapshotCallback.userCallback&&this.snapshotCallback.context===e.snapshotCallback.context}}/**
|
|
2719
2719
|
* @license
|
|
2720
2720
|
* Copyright 2020 Google LLC
|
|
2721
2721
|
*
|
|
@@ -2730,7 +2730,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2730
2730
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2731
2731
|
* See the License for the specific language governing permissions and
|
|
2732
2732
|
* limitations under the License.
|
|
2733
|
-
*/class os{constructor(e,t,i,s){this._repo=e,this._path=t,this._queryParams=i,this._orderByCalled=s}get key(){return y(this._path)?null:
|
|
2733
|
+
*/class os{constructor(e,t,i,s){this._repo=e,this._path=t,this._queryParams=i,this._orderByCalled=s}get key(){return y(this._path)?null:zo(this._path)}get ref(){return new ae(this._repo,this._path)}get _queryIdentifier(){const e=or(this._queryParams),t=Mi(e);return t==="{}"?"default":t}get _queryObject(){return or(this._queryParams)}isEqual(e){if(e=F(e),!(e instanceof os))return!1;const t=this._repo===e._repo,i=Yo(this._path,e._path),s=this._queryIdentifier===e._queryIdentifier;return t&&i&&s}toJSON(){return this.toString()}toString(){return this._repo.toString()+kd(this._path)}}class ae extends os{constructor(e,t){super(e,t,new Hi,!1)}get parent(){const e=Ko(this._path);return e===null?null:new ae(this._repo,e)}get root(){let e=this;for(;e.parent!==null;)e=e.parent;return e}}class Pt{constructor(e,t,i){this._node=e,this.ref=t,this._index=i}get priority(){return this._node.getPriority().val()}get key(){return this.ref.key}get size(){return this._node.numChildren()}child(e){const t=new T(e),i=_i(this.ref,e);return new Pt(this._node.getChild(t),i,k)}exists(){return!this._node.isEmpty()}exportVal(){return this._node.val(!0)}forEach(e){return this._node.isLeafNode()?!1:!!this._node.forEachChild(this._index,(i,s)=>e(new Pt(s,_i(this.ref,i),k)))}hasChild(e){const t=new T(e);return!this._node.getChild(t).isEmpty()}hasChildren(){return this._node.isLeafNode()?!1:!this._node.isEmpty()}toJSON(){return this.exportVal()}val(){return this._node.val()}}function Bp(n,e){return n=F(n),n._checkNotDeleted("ref"),e!==void 0?_i(n._root,e):n._root}function _i(n,e){return n=F(n),E(n._path)===null?_p("child","path",e):Pa("child","path",e),new ae(n._repo,N(n._path,e))}function Hp(n){n=F(n);const e=new Wp(()=>{}),t=new as(e);return kp(n._repo,n,t).then(i=>new Pt(i,new ae(n._repo,n._path),n._queryParams.getIndex()))}class as{constructor(e){this.callbackContext=e}respondsTo(e){return e==="value"}createEvent(e,t){const i=t._queryParams.getIndex();return new Fp("value",this,new Pt(e.snapshotNode,new ae(t._repo,t._path),i))}getEventRunner(e){return e.getEventType()==="cancel"?()=>this.callbackContext.onCancel(e.error):()=>this.callbackContext.onValue(e.snapshot,null)}createCancelEvent(e,t){return this.callbackContext.hasCancelCallback?new Up(this,e,t):null}matches(e){return e instanceof as?!e.callbackContext||!this.callbackContext?!0:e.callbackContext.matches(this.callbackContext):!1}hasAnyCallback(){return this.callbackContext!==null}}Wf(ae);Gf(ae);/**
|
|
2734
2734
|
* @license
|
|
2735
2735
|
* Copyright 2020 Google LLC
|
|
2736
2736
|
*
|
|
@@ -2745,7 +2745,7 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2745
2745
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2746
2746
|
* See the License for the specific language governing permissions and
|
|
2747
2747
|
* limitations under the License.
|
|
2748
|
-
*/const
|
|
2748
|
+
*/const Vp="FIREBASE_DATABASE_EMULATOR_HOST",gi={};let $p=!1;function Gp(n,e,t,i){const s=e.lastIndexOf(":"),r=e.substring(0,s),o=et(r);n.repoInfo_=new Fo(e,o,n.repoInfo_.namespace,n.repoInfo_.webSocketOnly,n.repoInfo_.nodeAdmin,n.repoInfo_.persistenceKey,n.repoInfo_.includeNamespaceInQueryParams,!0,t),i&&(n.authTokenProvider_=i)}function jp(n,e,t,i,s){let r=i||n.options.databaseURL;r===void 0&&(n.options.projectId||re("Can't determine Firebase Database URL. Be sure to include a Project ID when calling firebase.initializeApp()."),M("Using default host for project ",n.options.projectId),r=`${n.options.projectId}-default-rtdb.firebaseio.com`);let o=Ir(r,s),a=o.repoInfo,l;typeof process<"u"&&Vs&&(l=Vs[Vp]),l?(r=`http://${l}?ns=${a.namespace}`,o=Ir(r,s),a=o.repoInfo):o.repoInfo.secure;const c=new nd(n.name,n.options,e);gp("Invalid Firebase Database URL",o),y(o.path)||re("Database URL must point to the root of a Firebase Database (not including a child path).");const h=qp(a,n,c,new td(n,t));return new Kp(h,n)}function zp(n,e){const t=gi[e];(!t||t[n.key]!==n)&&re(`Database ${e}(${n.repoInfo_}) has already been deleted.`),Np(n),delete t[n.key]}function qp(n,e,t,i){let s=gi[e.name];s||(s={},gi[e.name]=s);let r=s[n.toURLString()];return r&&re("Database initialized multiple times. Please make sure the format of the database URL matches with each database() call."),r=new wp(n,$p,t,i),s[n.toURLString()]=r,r}class Kp{constructor(e,t){this._repoInternal=e,this.app=t,this.type="database",this._instanceStarted=!1}get _repo(){return this._instanceStarted||(Tp(this._repoInternal,this.app.options.appId,this.app.options.databaseAuthVariableOverride),this._instanceStarted=!0),this._repoInternal}get _root(){return this._rootInternal||(this._rootInternal=new ae(this._repo,I())),this._rootInternal}_delete(){return this._rootInternal!==null&&(zp(this._repo,this.app.name),this._repoInternal=null,this._rootInternal=null),Promise.resolve()}_checkNotDeleted(e){this._rootInternal===null&&re("Cannot call "+e+" on a deleted database.")}}function Yp(n=Ur(),e){const t=Ti(n,"database").getImmediate({identifier:e});if(!t._instanceStarted){const i=Ja("database");i&&Qp(t,...i)}return t}function Qp(n,e,t,i={}){n=F(n),n._checkNotDeleted("useEmulator");const s=`${e}:${t}`,r=n._repoInternal;if(n._instanceStarted){if(s===n._repoInternal.repoInfo_.host&&ke(i,r.repoInfo_.emulatorOptions))return;re("connectDatabaseEmulator() cannot initialize or alter the emulator configuration after the database instance has started.")}let o;if(r.repoInfo_.nodeAdmin)i.mockUserToken&&re('mockUserToken is not supported by the Admin SDK. For client access with mock users, please use the "firebase" package instead of "firebase-admin".'),o=new Qt(Qt.OWNER);else if(i.mockUserToken){const a=typeof i.mockUserToken=="string"?i.mockUserToken:Xa(i.mockUserToken,n.app.options.projectId);o=new Qt(a)}et(e)&&(Nr(e),Pr("Database",!0)),Gp(r,s,i,o)}/**
|
|
2749
2749
|
* @license
|
|
2750
2750
|
* Copyright 2021 Google LLC
|
|
2751
2751
|
*
|
|
@@ -2760,4 +2760,4 @@ FIREBASE: `))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const e of t
|
|
|
2760
2760
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2761
2761
|
* See the License for the specific language governing permissions and
|
|
2762
2762
|
* limitations under the License.
|
|
2763
|
-
*/function
|
|
2763
|
+
*/function Jp(n){Wu(nt),Ke(new Ae("database",(e,{instanceIdentifier:t})=>{const i=e.getProvider("app").getImmediate(),s=e.getProvider("auth-internal"),r=e.getProvider("app-check-internal");return jp(i,s,r,t)},"PUBLIC").setMultipleInstances(!0)),_e($s,Gs,n),_e($s,Gs,"esm2017")}ne.prototype.simpleListen=function(n,e){this.sendRequest("q",{p:n},e)};ne.prototype.echo=function(n,e){this.sendRequest("echo",{d:n},e)};Jp();function Xp(n){const e=Fr(n),t=Fu(e),i=Yp(e);return{app:e,auth:t,firebaseDb:i}}let He=null;function r_(n){if(He)return He;const e={apiKey:n.apiKey,authDomain:n.authDomain,databaseURL:n.databaseURL,projectId:n.projectId,storageBucket:n.storageBucket,messagingSenderId:n.messagingSenderId};return He=Xp(e),He}function Fa(){if(!He)throw new Error("Firebase not initialized. Call initializeFirebase() first.");return He}const Jt=new Proxy({},{get(n,e){return Fa().auth[e]}}),Zp=new Proxy({},{get(n,e){return Fa().firebaseDb[e]}}),e_={isLoading:!0},Yn=Cr("auth/login",async({email:n,password:e,remember:t},{rejectWithValue:i,dispatch:s})=>{try{const r=await Sh(Jt,t?po:Pi).then(()=>Th(Jt,n,e)),o=await s(Ba.endpoints.getConfig.initiate(void 0)).unwrap(),a=r.user.email?.replace(/[.@]/g,"_"),l=Bp(Zp,`${o.firebase?.dbUsersPath}/${a}`),h=(await Hp(l)).val();if(!h)throw new Error("Not authenticated");return{user:{uid:r.user.uid,email:r.user.email??n},role:h}}catch(r){return await ho(Jt),r instanceof Error?i(r.message):i("Unknown error occured")}}),Qn=Cr("auth/signOut",async(n,{rejectWithValue:e})=>{try{return await ho(Jt),null}catch(t){return t instanceof Error?e(t.message):e("Unknown error occured")}}),ls=Ha({name:"auth",initialState:e_,reducers:{setUser:(n,e)=>{n.isLoading=!1,n.user=e.payload},setRole:(n,e)=>{n.role=e.payload},setLoading:(n,e)=>{n.isLoading=e.payload},clearError:n=>{n.error=void 0}},extraReducers:n=>{n.addCase(Yn.pending,e=>{e.isLoading=!0,e.error=void 0}).addCase(Yn.fulfilled,(e,t)=>{e.isLoading=!1,e.user=t.payload.user,e.role=t.payload.role}).addCase(Yn.rejected,(e,t)=>{e.isLoading=!1,e.error=t.payload}).addCase(Qn.pending,e=>{e.isLoading=!0}).addCase(Qn.fulfilled,e=>{e.isLoading=!1,e.user=void 0,e.role=void 0}).addCase(Qn.rejected,(e,t)=>{e.isLoading=!1,e.error=t.payload})},selectors:{selectUser:n=>n.user,selectRole:n=>n.role}}),{setUser:o_,setRole:a_,setLoading:l_,clearError:c_}=ls.actions,{selectUser:h_,selectRole:u_}=ls.selectors,d_=ls.reducer;export{a_ as a,l_ as b,Jt as c,d_ as d,Qn as e,Zp as f,Hp as g,u_ as h,r_ as i,Yn as l,s_ as o,Bp as r,o_ as s};
|