cloudcommerce 0.0.103 → 0.0.105
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/CHANGELOG.md +19 -0
- package/action.yml +1 -4
- package/package.json +1 -1
- package/packages/api/package.json +1 -1
- package/packages/apps/correios/package.json +1 -1
- package/packages/apps/custom-shipping/package.json +1 -1
- package/packages/apps/discounts/package.json +1 -1
- package/packages/apps/frenet/package.json +1 -1
- package/packages/apps/tiny-erp/package.json +1 -1
- package/packages/cli/config/firebase.json +13 -3
- package/packages/cli/package.json +1 -1
- package/packages/config/package.json +1 -1
- package/packages/events/package.json +1 -1
- package/packages/firebase/lib/config.d.ts +6 -3
- package/packages/firebase/lib/config.js +7 -6
- package/packages/firebase/lib/config.js.map +1 -1
- package/packages/firebase/package.json +1 -1
- package/packages/firebase/src/config.ts +10 -8
- package/packages/modules/package.json +1 -1
- package/packages/passport/lib/firebase.js +1 -1
- package/packages/passport/lib/firebase.js.map +1 -1
- package/packages/passport/package.json +1 -1
- package/packages/passport/src/firebase.ts +1 -1
- package/packages/ssr/lib/firebase/serve-feeds.js +8 -0
- package/packages/ssr/lib/firebase/serve-feeds.js.map +1 -0
- package/packages/ssr/lib/firebase/serve-storefront.js +24 -18
- package/packages/ssr/lib/firebase/serve-storefront.js.map +1 -1
- package/packages/ssr/lib/firebase.js +14 -17
- package/packages/ssr/lib/firebase.js.map +1 -1
- package/packages/ssr/package.json +2 -2
- package/packages/ssr/src/firebase/serve-feeds.ts +9 -0
- package/packages/ssr/src/firebase/serve-storefront.ts +25 -19
- package/packages/ssr/src/firebase.ts +14 -20
- package/packages/storefront/dist/client/{LoginOffcanvas.6707cd95.js → LoginOffcanvas.3d5263f0.js} +1 -1
- package/packages/storefront/dist/client/chunks/LoginForm.407264cf.js +1396 -0
- package/packages/storefront/dist/client/chunks/{LoginOffcanvas.21bef0b8.js → LoginOffcanvas.111b9071.js} +1 -1
- package/packages/storefront/dist/client/hoisted.71b2f749.js +1 -0
- package/packages/storefront/dist/client/sw.js +1 -1
- package/packages/storefront/dist/server/entry.mjs +5 -12
- package/packages/storefront/package.json +1 -1
- package/packages/storefront/scripts/prepare-monorepo.sh +2 -2
- package/packages/storefront/scripts/prerelease.sh +2 -2
- package/packages/storefront/src/lib/layouts/BaseBody.astro +0 -11
- package/packages/storefront/src/lib/ssr-context.ts +4 -0
- package/packages/types/package.json +1 -1
- package/packages/storefront/dist/client/chunks/LoginForm.aee2ceda.js +0 -1066
- package/packages/storefront/dist/client/chunks/index.esm.84a649c7.js +0 -331
- package/packages/storefront/dist/client/hoisted.054c36ac.js +0 -1
|
@@ -0,0 +1,1396 @@
|
|
|
1
|
+
import{d as mn,r as nt,e as gn,x as rt,y as it,f as Se,z as _n,u as vn,g as In,o as yn}from"./runtime-dom.esm-bundler.738639ee.js";import{i as bn}from"./LoginOffcanvas.111b9071.js";import"./preload-helper.f15ab524.js";/* empty css *//**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2017 Google LLC
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*//**
|
|
17
|
+
* @license
|
|
18
|
+
* Copyright 2017 Google LLC
|
|
19
|
+
*
|
|
20
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
21
|
+
* you may not use this file except in compliance with the License.
|
|
22
|
+
* You may obtain a copy of the License at
|
|
23
|
+
*
|
|
24
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
25
|
+
*
|
|
26
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
27
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
28
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
29
|
+
* See the License for the specific language governing permissions and
|
|
30
|
+
* limitations under the License.
|
|
31
|
+
*/const At=function(n){const e=[];let t=0;for(let r=0;r<n.length;r++){let i=n.charCodeAt(r);i<128?e[t++]=i:i<2048?(e[t++]=i>>6|192,e[t++]=i&63|128):(i&64512)===55296&&r+1<n.length&&(n.charCodeAt(r+1)&64512)===56320?(i=65536+((i&1023)<<10)+(n.charCodeAt(++r)&1023),e[t++]=i>>18|240,e[t++]=i>>12&63|128,e[t++]=i>>6&63|128,e[t++]=i&63|128):(e[t++]=i>>12|224,e[t++]=i>>6&63|128,e[t++]=i&63|128)}return e},wn=function(n){const e=[];let t=0,r=0;for(;t<n.length;){const i=n[t++];if(i<128)e[r++]=String.fromCharCode(i);else if(i>191&&i<224){const s=n[t++];e[r++]=String.fromCharCode((i&31)<<6|s&63)}else if(i>239&&i<365){const s=n[t++],o=n[t++],a=n[t++],c=((i&7)<<18|(s&63)<<12|(o&63)<<6|a&63)-65536;e[r++]=String.fromCharCode(55296+(c>>10)),e[r++]=String.fromCharCode(56320+(c&1023))}else{const s=n[t++],o=n[t++];e[r++]=String.fromCharCode((i&15)<<12|(s&63)<<6|o&63)}}return e.join("")},Ot={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_,r=[];for(let i=0;i<n.length;i+=3){const s=n[i],o=i+1<n.length,a=o?n[i+1]:0,c=i+2<n.length,l=c?n[i+2]:0,d=s>>2,f=(s&3)<<4|a>>4;let m=(a&15)<<2|l>>6,I=l&63;c||(I=64,o||(m=64)),r.push(t[d],t[f],t[m],t[I])}return r.join("")},encodeString(n,e){return this.HAS_NATIVE_SUPPORT&&!e?btoa(n):this.encodeByteArray(At(n),e)},decodeString(n,e){return this.HAS_NATIVE_SUPPORT&&!e?atob(n):wn(this.decodeStringToByteArray(n,e))},decodeStringToByteArray(n,e){this.init_();const t=e?this.charToByteMapWebSafe_:this.charToByteMap_,r=[];for(let i=0;i<n.length;){const s=t[n.charAt(i++)],a=i<n.length?t[n.charAt(i)]:0;++i;const l=i<n.length?t[n.charAt(i)]:64;++i;const f=i<n.length?t[n.charAt(i)]:64;if(++i,s==null||a==null||l==null||f==null)throw Error();const m=s<<2|a>>4;if(r.push(m),l!==64){const I=a<<4&240|l>>2;if(r.push(I),f!==64){const L=l<<6&192|f;r.push(L)}}}return r},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)}}},En=function(n){const e=At(n);return Ot.encodeByteArray(e,!0)},Ct=function(n){return En(n).replace(/\./g,"")},Tn=function(n){try{return Ot.decodeString(n,!0)}catch(e){console.error("base64Decode failed: ",e)}return null};/**
|
|
32
|
+
* @license
|
|
33
|
+
* Copyright 2017 Google LLC
|
|
34
|
+
*
|
|
35
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
36
|
+
* you may not use this file except in compliance with the License.
|
|
37
|
+
* You may obtain a copy of the License at
|
|
38
|
+
*
|
|
39
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
40
|
+
*
|
|
41
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
42
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
43
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
44
|
+
* See the License for the specific language governing permissions and
|
|
45
|
+
* limitations under the License.
|
|
46
|
+
*/class Sn{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}wrapCallback(e){return(t,r)=>{t?this.reject(t):this.resolve(r),typeof e=="function"&&(this.promise.catch(()=>{}),e.length===1?e(t):e(t,r))}}}/**
|
|
47
|
+
* @license
|
|
48
|
+
* Copyright 2017 Google LLC
|
|
49
|
+
*
|
|
50
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
51
|
+
* you may not use this file except in compliance with the License.
|
|
52
|
+
* You may obtain a copy of the License at
|
|
53
|
+
*
|
|
54
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
55
|
+
*
|
|
56
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
57
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
58
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
59
|
+
* See the License for the specific language governing permissions and
|
|
60
|
+
* limitations under the License.
|
|
61
|
+
*/function p(){return typeof navigator<"u"&&typeof navigator.userAgent=="string"?navigator.userAgent:""}function kn(){return typeof window<"u"&&!!(window.cordova||window.phonegap||window.PhoneGap)&&/ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(p())}function Rn(){const n=typeof chrome=="object"?chrome.runtime:typeof browser=="object"?browser.runtime:void 0;return typeof n=="object"&&n.id!==void 0}function An(){return typeof navigator=="object"&&navigator.product==="ReactNative"}function On(){const n=p();return n.indexOf("MSIE ")>=0||n.indexOf("Trident/")>=0}function Cn(){return typeof indexedDB=="object"}function Dn(){return new Promise((n,e)=>{try{let t=!0;const r="validate-browser-context-for-indexeddb-analytics-module",i=self.indexedDB.open(r);i.onsuccess=()=>{i.result.close(),t||self.indexedDB.deleteDatabase(r),n(!0)},i.onupgradeneeded=()=>{t=!1},i.onerror=()=>{var s;e(((s=i.error)===null||s===void 0?void 0:s.message)||"")}}catch(t){e(t)}})}/**
|
|
62
|
+
* @license
|
|
63
|
+
* Copyright 2017 Google LLC
|
|
64
|
+
*
|
|
65
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
66
|
+
* you may not use this file except in compliance with the License.
|
|
67
|
+
* You may obtain a copy of the License at
|
|
68
|
+
*
|
|
69
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
70
|
+
*
|
|
71
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
72
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
73
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
74
|
+
* See the License for the specific language governing permissions and
|
|
75
|
+
* limitations under the License.
|
|
76
|
+
*/const Pn="FirebaseError";class O extends Error{constructor(e,t,r){super(t),this.code=e,this.customData=r,this.name=Pn,Object.setPrototypeOf(this,O.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,X.prototype.create)}}class X{constructor(e,t,r){this.service=e,this.serviceName=t,this.errors=r}create(e,...t){const r=t[0]||{},i=`${this.service}/${e}`,s=this.errors[e],o=s?Nn(s,r):"Error",a=`${this.serviceName}: ${o} (${i}).`;return new O(i,a,r)}}function Nn(n,e){return n.replace(Mn,(t,r)=>{const i=e[r];return i!=null?String(i):`<${r}?>`})}const Mn=/\{\$([^}]+)}/g;function Ln(n){for(const e in n)if(Object.prototype.hasOwnProperty.call(n,e))return!1;return!0}function le(n,e){if(n===e)return!0;const t=Object.keys(n),r=Object.keys(e);for(const i of t){if(!r.includes(i))return!1;const s=n[i],o=e[i];if(st(s)&&st(o)){if(!le(s,o))return!1}else if(s!==o)return!1}for(const i of r)if(!t.includes(i))return!1;return!0}function st(n){return n!==null&&typeof n=="object"}/**
|
|
77
|
+
* @license
|
|
78
|
+
* Copyright 2017 Google LLC
|
|
79
|
+
*
|
|
80
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
81
|
+
* you may not use this file except in compliance with the License.
|
|
82
|
+
* You may obtain a copy of the License at
|
|
83
|
+
*
|
|
84
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
85
|
+
*
|
|
86
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
87
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
88
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
89
|
+
* See the License for the specific language governing permissions and
|
|
90
|
+
* limitations under the License.
|
|
91
|
+
*/function Q(n){const e=[];for(const[t,r]of Object.entries(n))Array.isArray(r)?r.forEach(i=>{e.push(encodeURIComponent(t)+"="+encodeURIComponent(i))}):e.push(encodeURIComponent(t)+"="+encodeURIComponent(r));return e.length?"&"+e.join("&"):""}function W(n){const e={};return n.replace(/^\?/,"").split("&").forEach(r=>{if(r){const[i,s]=r.split("=");e[decodeURIComponent(i)]=decodeURIComponent(s)}}),e}function j(n){const e=n.indexOf("?");if(!e)return"";const t=n.indexOf("#",e);return n.substring(e,t>0?t:void 0)}function Un(n,e){const t=new Bn(n,e);return t.subscribe.bind(t)}class Bn{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(r=>{this.error(r)})}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,r){let i;if(e===void 0&&t===void 0&&r===void 0)throw new Error("Missing Observer.");xn(e,["next","error","complete"])?i=e:i={next:e,error:t,complete:r},i.next===void 0&&(i.next=ke),i.error===void 0&&(i.error=ke),i.complete===void 0&&(i.complete=ke);const s=this.unsubscribeOne.bind(this,this.observers.length);return this.finalized&&this.task.then(()=>{try{this.finalError?i.error(this.finalError):i.complete()}catch{}}),this.observers.push(i),s}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(r){typeof console<"u"&&console.error&&console.error(r)}})}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 xn(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 ke(){}/**
|
|
92
|
+
* @license
|
|
93
|
+
* Copyright 2021 Google LLC
|
|
94
|
+
*
|
|
95
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
96
|
+
* you may not use this file except in compliance with the License.
|
|
97
|
+
* You may obtain a copy of the License at
|
|
98
|
+
*
|
|
99
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
100
|
+
*
|
|
101
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
102
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
103
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
104
|
+
* See the License for the specific language governing permissions and
|
|
105
|
+
* limitations under the License.
|
|
106
|
+
*/function Z(n){return n&&n._delegate?n._delegate:n}class ${constructor(e,t,r){this.name=e,this.instanceFactory=t,this.type=r,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode="LAZY",this.onInstanceCreated=null}setInstantiationMode(e){return this.instantiationMode=e,this}setMultipleInstances(e){return this.multipleInstances=e,this}setServiceProps(e){return this.serviceProps=e,this}setInstanceCreatedCallback(e){return this.onInstanceCreated=e,this}}/**
|
|
107
|
+
* @license
|
|
108
|
+
* Copyright 2019 Google LLC
|
|
109
|
+
*
|
|
110
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
111
|
+
* you may not use this file except in compliance with the License.
|
|
112
|
+
* You may obtain a copy of the License at
|
|
113
|
+
*
|
|
114
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
115
|
+
*
|
|
116
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
117
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
118
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
119
|
+
* See the License for the specific language governing permissions and
|
|
120
|
+
* limitations under the License.
|
|
121
|
+
*/const C="[DEFAULT]";/**
|
|
122
|
+
* @license
|
|
123
|
+
* Copyright 2019 Google LLC
|
|
124
|
+
*
|
|
125
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
126
|
+
* you may not use this file except in compliance with the License.
|
|
127
|
+
* You may obtain a copy of the License at
|
|
128
|
+
*
|
|
129
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
130
|
+
*
|
|
131
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
132
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
133
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
134
|
+
* See the License for the specific language governing permissions and
|
|
135
|
+
* limitations under the License.
|
|
136
|
+
*/class Fn{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 r=new Sn;if(this.instancesDeferred.set(t,r),this.isInitialized(t)||this.shouldAutoInitialize())try{const i=this.getOrInitializeService({instanceIdentifier:t});i&&r.resolve(i)}catch{}}return this.instancesDeferred.get(t).promise}getImmediate(e){var t;const r=this.normalizeInstanceIdentifier(e?.identifier),i=(t=e?.optional)!==null&&t!==void 0?t:!1;if(this.isInitialized(r)||this.shouldAutoInitialize())try{return this.getOrInitializeService({instanceIdentifier:r})}catch(s){if(i)return null;throw s}else{if(i)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(Hn(e))try{this.getOrInitializeService({instanceIdentifier:C})}catch{}for(const[t,r]of this.instancesDeferred.entries()){const i=this.normalizeInstanceIdentifier(t);try{const s=this.getOrInitializeService({instanceIdentifier:i});r.resolve(s)}catch{}}}}clearInstance(e=C){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=C){return this.instances.has(e)}getOptions(e=C){return this.instancesOptions.get(e)||{}}initialize(e={}){const{options:t={}}=e,r=this.normalizeInstanceIdentifier(e.instanceIdentifier);if(this.isInitialized(r))throw Error(`${this.name}(${r}) has already been initialized`);if(!this.isComponentSet())throw Error(`Component ${this.name} has not been registered yet`);const i=this.getOrInitializeService({instanceIdentifier:r,options:t});for(const[s,o]of this.instancesDeferred.entries()){const a=this.normalizeInstanceIdentifier(s);r===a&&o.resolve(i)}return i}onInit(e,t){var r;const i=this.normalizeInstanceIdentifier(t),s=(r=this.onInitCallbacks.get(i))!==null&&r!==void 0?r:new Set;s.add(e),this.onInitCallbacks.set(i,s);const o=this.instances.get(i);return o&&e(o,i),()=>{s.delete(e)}}invokeOnInitCallbacks(e,t){const r=this.onInitCallbacks.get(t);if(!!r)for(const i of r)try{i(e,t)}catch{}}getOrInitializeService({instanceIdentifier:e,options:t={}}){let r=this.instances.get(e);if(!r&&this.component&&(r=this.component.instanceFactory(this.container,{instanceIdentifier:$n(e),options:t}),this.instances.set(e,r),this.instancesOptions.set(e,t),this.invokeOnInitCallbacks(r,e),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,e,r)}catch{}return r||null}normalizeInstanceIdentifier(e=C){return this.component?this.component.multipleInstances?e:C:e}shouldAutoInitialize(){return!!this.component&&this.component.instantiationMode!=="EXPLICIT"}}function $n(n){return n===C?void 0:n}function Hn(n){return n.instantiationMode==="EAGER"}/**
|
|
137
|
+
* @license
|
|
138
|
+
* Copyright 2019 Google LLC
|
|
139
|
+
*
|
|
140
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
141
|
+
* you may not use this file except in compliance with the License.
|
|
142
|
+
* You may obtain a copy of the License at
|
|
143
|
+
*
|
|
144
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
145
|
+
*
|
|
146
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
147
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
148
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
149
|
+
* See the License for the specific language governing permissions and
|
|
150
|
+
* limitations under the License.
|
|
151
|
+
*/class Vn{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 Fn(e,this);return this.providers.set(e,t),t}getProviders(){return Array.from(this.providers.values())}}/**
|
|
152
|
+
* @license
|
|
153
|
+
* Copyright 2017 Google LLC
|
|
154
|
+
*
|
|
155
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
156
|
+
* you may not use this file except in compliance with the License.
|
|
157
|
+
* You may obtain a copy of the License at
|
|
158
|
+
*
|
|
159
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
160
|
+
*
|
|
161
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
162
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
163
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
164
|
+
* See the License for the specific language governing permissions and
|
|
165
|
+
* limitations under the License.
|
|
166
|
+
*/var h;(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"})(h||(h={}));const Wn={debug:h.DEBUG,verbose:h.VERBOSE,info:h.INFO,warn:h.WARN,error:h.ERROR,silent:h.SILENT},jn=h.INFO,zn={[h.DEBUG]:"log",[h.VERBOSE]:"log",[h.INFO]:"info",[h.WARN]:"warn",[h.ERROR]:"error"},Gn=(n,e,...t)=>{if(e<n.logLevel)return;const r=new Date().toISOString(),i=zn[e];if(i)console[i](`[${r}] ${n.name}:`,...t);else throw new Error(`Attempted to log a message with an invalid logType (value: ${e})`)};class Dt{constructor(e){this.name=e,this._logLevel=jn,this._logHandler=Gn,this._userLogHandler=null}get logLevel(){return this._logLevel}set logLevel(e){if(!(e in h))throw new TypeError(`Invalid value "${e}" assigned to \`logLevel\``);this._logLevel=e}setLogLevel(e){this._logLevel=typeof e=="string"?Wn[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,h.DEBUG,...e),this._logHandler(this,h.DEBUG,...e)}log(...e){this._userLogHandler&&this._userLogHandler(this,h.VERBOSE,...e),this._logHandler(this,h.VERBOSE,...e)}info(...e){this._userLogHandler&&this._userLogHandler(this,h.INFO,...e),this._logHandler(this,h.INFO,...e)}warn(...e){this._userLogHandler&&this._userLogHandler(this,h.WARN,...e),this._logHandler(this,h.WARN,...e)}error(...e){this._userLogHandler&&this._userLogHandler(this,h.ERROR,...e),this._logHandler(this,h.ERROR,...e)}}const qn=(n,e)=>e.some(t=>n instanceof t);let ot,at;function Kn(){return ot||(ot=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Jn(){return at||(at=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const Pt=new WeakMap,Ne=new WeakMap,Nt=new WeakMap,Re=new WeakMap,Fe=new WeakMap;function Yn(n){const e=new Promise((t,r)=>{const i=()=>{n.removeEventListener("success",s),n.removeEventListener("error",o)},s=()=>{t(A(n.result)),i()},o=()=>{r(n.error),i()};n.addEventListener("success",s),n.addEventListener("error",o)});return e.then(t=>{t instanceof IDBCursor&&Pt.set(t,n)}).catch(()=>{}),Fe.set(e,n),e}function Xn(n){if(Ne.has(n))return;const e=new Promise((t,r)=>{const i=()=>{n.removeEventListener("complete",s),n.removeEventListener("error",o),n.removeEventListener("abort",o)},s=()=>{t(),i()},o=()=>{r(n.error||new DOMException("AbortError","AbortError")),i()};n.addEventListener("complete",s),n.addEventListener("error",o),n.addEventListener("abort",o)});Ne.set(n,e)}let Me={get(n,e,t){if(n instanceof IDBTransaction){if(e==="done")return Ne.get(n);if(e==="objectStoreNames")return n.objectStoreNames||Nt.get(n);if(e==="store")return t.objectStoreNames[1]?void 0:t.objectStore(t.objectStoreNames[0])}return A(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 Qn(n){Me=n(Me)}function Zn(n){return n===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(e,...t){const r=n.call(Ae(this),e,...t);return Nt.set(r,e.sort?e.sort():[e]),A(r)}:Jn().includes(n)?function(...e){return n.apply(Ae(this),e),A(Pt.get(this))}:function(...e){return A(n.apply(Ae(this),e))}}function er(n){return typeof n=="function"?Zn(n):(n instanceof IDBTransaction&&Xn(n),qn(n,Kn())?new Proxy(n,Me):n)}function A(n){if(n instanceof IDBRequest)return Yn(n);if(Re.has(n))return Re.get(n);const e=er(n);return e!==n&&(Re.set(n,e),Fe.set(e,n)),e}const Ae=n=>Fe.get(n);function tr(n,e,{blocked:t,upgrade:r,blocking:i,terminated:s}={}){const o=indexedDB.open(n,e),a=A(o);return r&&o.addEventListener("upgradeneeded",c=>{r(A(o.result),c.oldVersion,c.newVersion,A(o.transaction))}),t&&o.addEventListener("blocked",()=>t()),a.then(c=>{s&&c.addEventListener("close",()=>s()),i&&c.addEventListener("versionchange",()=>i())}).catch(()=>{}),a}const nr=["get","getKey","getAll","getAllKeys","count"],rr=["put","add","delete","clear"],Oe=new Map;function ct(n,e){if(!(n instanceof IDBDatabase&&!(e in n)&&typeof e=="string"))return;if(Oe.get(e))return Oe.get(e);const t=e.replace(/FromIndex$/,""),r=e!==t,i=rr.includes(t);if(!(t in(r?IDBIndex:IDBObjectStore).prototype)||!(i||nr.includes(t)))return;const s=async function(o,...a){const c=this.transaction(o,i?"readwrite":"readonly");let l=c.store;return r&&(l=l.index(a.shift())),(await Promise.all([l[t](...a),i&&c.done]))[0]};return Oe.set(e,s),s}Qn(n=>({...n,get:(e,t,r)=>ct(e,t)||n.get(e,t,r),has:(e,t)=>!!ct(e,t)||n.has(e,t)}));/**
|
|
167
|
+
* @license
|
|
168
|
+
* Copyright 2019 Google LLC
|
|
169
|
+
*
|
|
170
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
171
|
+
* you may not use this file except in compliance with the License.
|
|
172
|
+
* You may obtain a copy of the License at
|
|
173
|
+
*
|
|
174
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
175
|
+
*
|
|
176
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
177
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
178
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
179
|
+
* See the License for the specific language governing permissions and
|
|
180
|
+
* limitations under the License.
|
|
181
|
+
*/class ir{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map(t=>{if(sr(t)){const r=t.getImmediate();return`${r.library}/${r.version}`}else return null}).filter(t=>t).join(" ")}}function sr(n){const e=n.getComponent();return e?.type==="VERSION"}const Le="@firebase/app",lt="0.7.33";/**
|
|
182
|
+
* @license
|
|
183
|
+
* Copyright 2019 Google LLC
|
|
184
|
+
*
|
|
185
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
186
|
+
* you may not use this file except in compliance with the License.
|
|
187
|
+
* You may obtain a copy of the License at
|
|
188
|
+
*
|
|
189
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
190
|
+
*
|
|
191
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
192
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
193
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
194
|
+
* See the License for the specific language governing permissions and
|
|
195
|
+
* limitations under the License.
|
|
196
|
+
*/const P=new Dt("@firebase/app"),or="@firebase/app-compat",ar="@firebase/analytics-compat",cr="@firebase/analytics",lr="@firebase/app-check-compat",ur="@firebase/app-check",dr="@firebase/auth",hr="@firebase/auth-compat",fr="@firebase/database",pr="@firebase/database-compat",mr="@firebase/functions",gr="@firebase/functions-compat",_r="@firebase/installations",vr="@firebase/installations-compat",Ir="@firebase/messaging",yr="@firebase/messaging-compat",br="@firebase/performance",wr="@firebase/performance-compat",Er="@firebase/remote-config",Tr="@firebase/remote-config-compat",Sr="@firebase/storage",kr="@firebase/storage-compat",Rr="@firebase/firestore",Ar="@firebase/firestore-compat",Or="firebase",Cr="9.10.0";/**
|
|
197
|
+
* @license
|
|
198
|
+
* Copyright 2019 Google LLC
|
|
199
|
+
*
|
|
200
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
201
|
+
* you may not use this file except in compliance with the License.
|
|
202
|
+
* You may obtain a copy of the License at
|
|
203
|
+
*
|
|
204
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
205
|
+
*
|
|
206
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
207
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
208
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
209
|
+
* See the License for the specific language governing permissions and
|
|
210
|
+
* limitations under the License.
|
|
211
|
+
*/const Mt="[DEFAULT]",Dr={[Le]:"fire-core",[or]:"fire-core-compat",[cr]:"fire-analytics",[ar]:"fire-analytics-compat",[ur]:"fire-app-check",[lr]:"fire-app-check-compat",[dr]:"fire-auth",[hr]:"fire-auth-compat",[fr]:"fire-rtdb",[pr]:"fire-rtdb-compat",[mr]:"fire-fn",[gr]:"fire-fn-compat",[_r]:"fire-iid",[vr]:"fire-iid-compat",[Ir]:"fire-fcm",[yr]:"fire-fcm-compat",[br]:"fire-perf",[wr]:"fire-perf-compat",[Er]:"fire-rc",[Tr]:"fire-rc-compat",[Sr]:"fire-gcs",[kr]:"fire-gcs-compat",[Rr]:"fire-fst",[Ar]:"fire-fst-compat","fire-js":"fire-js",[Or]:"fire-js-all"};/**
|
|
212
|
+
* @license
|
|
213
|
+
* Copyright 2019 Google LLC
|
|
214
|
+
*
|
|
215
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
216
|
+
* you may not use this file except in compliance with the License.
|
|
217
|
+
* You may obtain a copy of the License at
|
|
218
|
+
*
|
|
219
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
220
|
+
*
|
|
221
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
222
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
223
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
224
|
+
* See the License for the specific language governing permissions and
|
|
225
|
+
* limitations under the License.
|
|
226
|
+
*/const ue=new Map,Ue=new Map;function Pr(n,e){try{n.container.addComponent(e)}catch(t){P.debug(`Component ${e.name} failed to register with FirebaseApp ${n.name}`,t)}}function G(n){const e=n.name;if(Ue.has(e))return P.debug(`There were multiple attempts to register component ${e}.`),!1;Ue.set(e,n);for(const t of ue.values())Pr(t,n);return!0}function Lt(n,e){const t=n.container.getProvider("heartbeat").getImmediate({optional:!0});return t&&t.triggerHeartbeat(),n.container.getProvider(e)}/**
|
|
227
|
+
* @license
|
|
228
|
+
* Copyright 2019 Google LLC
|
|
229
|
+
*
|
|
230
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
231
|
+
* you may not use this file except in compliance with the License.
|
|
232
|
+
* You may obtain a copy of the License at
|
|
233
|
+
*
|
|
234
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
235
|
+
*
|
|
236
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
237
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
238
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
239
|
+
* See the License for the specific language governing permissions and
|
|
240
|
+
* limitations under the License.
|
|
241
|
+
*/const Nr={["no-app"]:"No Firebase App '{$appName}' has been created - call Firebase App.initializeApp()",["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",["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}."},N=new X("app","Firebase",Nr);/**
|
|
242
|
+
* @license
|
|
243
|
+
* Copyright 2019 Google LLC
|
|
244
|
+
*
|
|
245
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
246
|
+
* you may not use this file except in compliance with the License.
|
|
247
|
+
* You may obtain a copy of the License at
|
|
248
|
+
*
|
|
249
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
250
|
+
*
|
|
251
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
252
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
253
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
254
|
+
* See the License for the specific language governing permissions and
|
|
255
|
+
* limitations under the License.
|
|
256
|
+
*/class Mr{constructor(e,t,r){this._isDeleted=!1,this._options=Object.assign({},e),this._config=Object.assign({},t),this._name=t.name,this._automaticDataCollectionEnabled=t.automaticDataCollectionEnabled,this._container=r,this.container.addComponent(new $("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 N.create("app-deleted",{appName:this._name})}}/**
|
|
257
|
+
* @license
|
|
258
|
+
* Copyright 2019 Google LLC
|
|
259
|
+
*
|
|
260
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
261
|
+
* you may not use this file except in compliance with the License.
|
|
262
|
+
* You may obtain a copy of the License at
|
|
263
|
+
*
|
|
264
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
265
|
+
*
|
|
266
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
267
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
268
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
269
|
+
* See the License for the specific language governing permissions and
|
|
270
|
+
* limitations under the License.
|
|
271
|
+
*/const me=Cr;function Lr(n,e={}){typeof e!="object"&&(e={name:e});const t=Object.assign({name:Mt,automaticDataCollectionEnabled:!1},e),r=t.name;if(typeof r!="string"||!r)throw N.create("bad-app-name",{appName:String(r)});const i=ue.get(r);if(i){if(le(n,i.options)&&le(t,i.config))return i;throw N.create("duplicate-app",{appName:r})}const s=new Vn(r);for(const a of Ue.values())s.addComponent(a);const o=new Mr(n,t,s);return ue.set(r,o),o}function Ur(n=Mt){const e=ue.get(n);if(!e)throw N.create("no-app",{appName:n});return e}function B(n,e,t){var r;let i=(r=Dr[n])!==null&&r!==void 0?r:n;t&&(i+=`-${t}`);const s=i.match(/\s|\//),o=e.match(/\s|\//);if(s||o){const a=[`Unable to register library "${i}" with version "${e}":`];s&&a.push(`library name "${i}" contains illegal characters (whitespace or "/")`),s&&o&&a.push("and"),o&&a.push(`version name "${e}" contains illegal characters (whitespace or "/")`),P.warn(a.join(" "));return}G(new $(`${i}-version`,()=>({library:i,version:e}),"VERSION"))}/**
|
|
272
|
+
* @license
|
|
273
|
+
* Copyright 2021 Google LLC
|
|
274
|
+
*
|
|
275
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
276
|
+
* you may not use this file except in compliance with the License.
|
|
277
|
+
* You may obtain a copy of the License at
|
|
278
|
+
*
|
|
279
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
280
|
+
*
|
|
281
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
282
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
283
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
284
|
+
* See the License for the specific language governing permissions and
|
|
285
|
+
* limitations under the License.
|
|
286
|
+
*/const Br="firebase-heartbeat-database",xr=1,q="firebase-heartbeat-store";let Ce=null;function Ut(){return Ce||(Ce=tr(Br,xr,{upgrade:(n,e)=>{switch(e){case 0:n.createObjectStore(q)}}}).catch(n=>{throw N.create("idb-open",{originalErrorMessage:n.message})})),Ce}async function Fr(n){var e;try{return(await Ut()).transaction(q).objectStore(q).get(Bt(n))}catch(t){if(t instanceof O)P.warn(t.message);else{const r=N.create("idb-get",{originalErrorMessage:(e=t)===null||e===void 0?void 0:e.message});P.warn(r.message)}}}async function ut(n,e){var t;try{const i=(await Ut()).transaction(q,"readwrite");return await i.objectStore(q).put(e,Bt(n)),i.done}catch(r){if(r instanceof O)P.warn(r.message);else{const i=N.create("idb-set",{originalErrorMessage:(t=r)===null||t===void 0?void 0:t.message});P.warn(i.message)}}}function Bt(n){return`${n.name}!${n.options.appId}`}/**
|
|
287
|
+
* @license
|
|
288
|
+
* Copyright 2021 Google LLC
|
|
289
|
+
*
|
|
290
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
291
|
+
* you may not use this file except in compliance with the License.
|
|
292
|
+
* You may obtain a copy of the License at
|
|
293
|
+
*
|
|
294
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
295
|
+
*
|
|
296
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
297
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
298
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
299
|
+
* See the License for the specific language governing permissions and
|
|
300
|
+
* limitations under the License.
|
|
301
|
+
*/const $r=1024,Hr=30*24*60*60*1e3;class Vr{constructor(e){this.container=e,this._heartbeatsCache=null;const t=this.container.getProvider("app").getImmediate();this._storage=new jr(t),this._heartbeatsCachePromise=this._storage.read().then(r=>(this._heartbeatsCache=r,r))}async triggerHeartbeat(){const t=this.container.getProvider("platform-logger").getImmediate().getPlatformInfoString(),r=dt();if(this._heartbeatsCache===null&&(this._heartbeatsCache=await this._heartbeatsCachePromise),!(this._heartbeatsCache.lastSentHeartbeatDate===r||this._heartbeatsCache.heartbeats.some(i=>i.date===r)))return this._heartbeatsCache.heartbeats.push({date:r,agent:t}),this._heartbeatsCache.heartbeats=this._heartbeatsCache.heartbeats.filter(i=>{const s=new Date(i.date).valueOf();return Date.now()-s<=Hr}),this._storage.overwrite(this._heartbeatsCache)}async getHeartbeatsHeader(){if(this._heartbeatsCache===null&&await this._heartbeatsCachePromise,this._heartbeatsCache===null||this._heartbeatsCache.heartbeats.length===0)return"";const e=dt(),{heartbeatsToSend:t,unsentEntries:r}=Wr(this._heartbeatsCache.heartbeats),i=Ct(JSON.stringify({version:2,heartbeats:t}));return this._heartbeatsCache.lastSentHeartbeatDate=e,r.length>0?(this._heartbeatsCache.heartbeats=r,await this._storage.overwrite(this._heartbeatsCache)):(this._heartbeatsCache.heartbeats=[],this._storage.overwrite(this._heartbeatsCache)),i}}function dt(){return new Date().toISOString().substring(0,10)}function Wr(n,e=$r){const t=[];let r=n.slice();for(const i of n){const s=t.find(o=>o.agent===i.agent);if(s){if(s.dates.push(i.date),ht(t)>e){s.dates.pop();break}}else if(t.push({agent:i.agent,dates:[i.date]}),ht(t)>e){t.pop();break}r=r.slice(1)}return{heartbeatsToSend:t,unsentEntries:r}}class jr{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return Cn()?Dn().then(()=>!0).catch(()=>!1):!1}async read(){return await this._canUseIndexedDBPromise?await Fr(this.app)||{heartbeats:[]}:{heartbeats:[]}}async overwrite(e){var t;if(await this._canUseIndexedDBPromise){const i=await this.read();return ut(this.app,{lastSentHeartbeatDate:(t=e.lastSentHeartbeatDate)!==null&&t!==void 0?t:i.lastSentHeartbeatDate,heartbeats:e.heartbeats})}else return}async add(e){var t;if(await this._canUseIndexedDBPromise){const i=await this.read();return ut(this.app,{lastSentHeartbeatDate:(t=e.lastSentHeartbeatDate)!==null&&t!==void 0?t:i.lastSentHeartbeatDate,heartbeats:[...i.heartbeats,...e.heartbeats]})}else return}}function ht(n){return Ct(JSON.stringify({version:2,heartbeats:n})).length}/**
|
|
302
|
+
* @license
|
|
303
|
+
* Copyright 2019 Google LLC
|
|
304
|
+
*
|
|
305
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
306
|
+
* you may not use this file except in compliance with the License.
|
|
307
|
+
* You may obtain a copy of the License at
|
|
308
|
+
*
|
|
309
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
310
|
+
*
|
|
311
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
312
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
313
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
314
|
+
* See the License for the specific language governing permissions and
|
|
315
|
+
* limitations under the License.
|
|
316
|
+
*/function zr(n){G(new $("platform-logger",e=>new ir(e),"PRIVATE")),G(new $("heartbeat",e=>new Vr(e),"PRIVATE")),B(Le,lt,n),B(Le,lt,"esm2017"),B("fire-js","")}zr("");var Gr="firebase",qr="9.10.0";/**
|
|
317
|
+
* @license
|
|
318
|
+
* Copyright 2020 Google LLC
|
|
319
|
+
*
|
|
320
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
321
|
+
* you may not use this file except in compliance with the License.
|
|
322
|
+
* You may obtain a copy of the License at
|
|
323
|
+
*
|
|
324
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
325
|
+
*
|
|
326
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
327
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
328
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
329
|
+
* See the License for the specific language governing permissions and
|
|
330
|
+
* limitations under the License.
|
|
331
|
+
*/B(Gr,qr,"app");const Kr=window.firebaseConfig||{apiKey:"AIzaSyCrVzemDgpyp9i6ni7Yc5ZuEVfXYwl-4J0",authDomain:"ecom2-002.firebaseapp.com",projectId:"ecom2-002",storageBucket:"ecom2-002.appspot.com",messagingSenderId:"402807248219",appId:"1:402807248219:web:cf7d57759751e74776367e",measurementId:"G-SC592CE0GB"};Lr(Kr);function $e(n,e){var t={};for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&e.indexOf(r)<0&&(t[r]=n[r]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(n);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(n,r[i])&&(t[r[i]]=n[r[i]]);return t}function xt(){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 Jr=xt,Ft=new X("auth","Firebase",xt());/**
|
|
332
|
+
* @license
|
|
333
|
+
* Copyright 2020 Google LLC
|
|
334
|
+
*
|
|
335
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
336
|
+
* you may not use this file except in compliance with the License.
|
|
337
|
+
* You may obtain a copy of the License at
|
|
338
|
+
*
|
|
339
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
340
|
+
*
|
|
341
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
342
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
343
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
344
|
+
* See the License for the specific language governing permissions and
|
|
345
|
+
* limitations under the License.
|
|
346
|
+
*/const ft=new Dt("@firebase/auth");function se(n,...e){ft.logLevel<=h.ERROR&&ft.error(`Auth (${me}): ${n}`,...e)}/**
|
|
347
|
+
* @license
|
|
348
|
+
* Copyright 2020 Google LLC
|
|
349
|
+
*
|
|
350
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
351
|
+
* you may not use this file except in compliance with the License.
|
|
352
|
+
* You may obtain a copy of the License at
|
|
353
|
+
*
|
|
354
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
355
|
+
*
|
|
356
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
357
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
358
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
359
|
+
* See the License for the specific language governing permissions and
|
|
360
|
+
* limitations under the License.
|
|
361
|
+
*/function g(n,...e){throw He(n,...e)}function _(n,...e){return He(n,...e)}function Yr(n,e,t){const r=Object.assign(Object.assign({},Jr()),{[e]:t});return new X("auth","Firebase",r).create(e,{appName:n.name})}function He(n,...e){if(typeof n!="string"){const t=e[0],r=[...e.slice(1)];return r[0]&&(r[0].appName=n.name),n._errorFactory.create(t,...r)}return Ft.create(n,...e)}function u(n,e,...t){if(!n)throw He(e,...t)}function y(n){const e="INTERNAL ASSERTION FAILED: "+n;throw se(e),new Error(e)}function w(n,e){n||y(e)}/**
|
|
362
|
+
* @license
|
|
363
|
+
* Copyright 2020 Google LLC
|
|
364
|
+
*
|
|
365
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
366
|
+
* you may not use this file except in compliance with the License.
|
|
367
|
+
* You may obtain a copy of the License at
|
|
368
|
+
*
|
|
369
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
370
|
+
*
|
|
371
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
372
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
373
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
374
|
+
* See the License for the specific language governing permissions and
|
|
375
|
+
* limitations under the License.
|
|
376
|
+
*/const pt=new Map;function b(n){w(n instanceof Function,"Expected a class definition");let e=pt.get(n);return e?(w(e instanceof n,"Instance stored in cache mismatched with class"),e):(e=new n,pt.set(n,e),e)}/**
|
|
377
|
+
* @license
|
|
378
|
+
* Copyright 2020 Google LLC
|
|
379
|
+
*
|
|
380
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
381
|
+
* you may not use this file except in compliance with the License.
|
|
382
|
+
* You may obtain a copy of the License at
|
|
383
|
+
*
|
|
384
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
385
|
+
*
|
|
386
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
387
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
388
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
389
|
+
* See the License for the specific language governing permissions and
|
|
390
|
+
* limitations under the License.
|
|
391
|
+
*/function Xr(n,e){const t=Lt(n,"auth");if(t.isInitialized()){const i=t.getImmediate(),s=t.getOptions();if(le(s,e??{}))return i;g(i,"already-initialized")}return t.initialize({options:e})}function Qr(n,e){const t=e?.persistence||[],r=(Array.isArray(t)?t:[t]).map(b);e?.errorMap&&n._updateErrorMap(e.errorMap),n._initializeWithPersistence(r,e?.popupRedirectResolver)}/**
|
|
392
|
+
* @license
|
|
393
|
+
* Copyright 2020 Google LLC
|
|
394
|
+
*
|
|
395
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
396
|
+
* you may not use this file except in compliance with the License.
|
|
397
|
+
* You may obtain a copy of the License at
|
|
398
|
+
*
|
|
399
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
400
|
+
*
|
|
401
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
402
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
403
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
404
|
+
* See the License for the specific language governing permissions and
|
|
405
|
+
* limitations under the License.
|
|
406
|
+
*/function Be(){var n;return typeof self<"u"&&((n=self.location)===null||n===void 0?void 0:n.href)||""}function Zr(){return mt()==="http:"||mt()==="https:"}function mt(){var n;return typeof self<"u"&&((n=self.location)===null||n===void 0?void 0:n.protocol)||null}/**
|
|
407
|
+
* @license
|
|
408
|
+
* Copyright 2020 Google LLC
|
|
409
|
+
*
|
|
410
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
411
|
+
* you may not use this file except in compliance with the License.
|
|
412
|
+
* You may obtain a copy of the License at
|
|
413
|
+
*
|
|
414
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
415
|
+
*
|
|
416
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
417
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
418
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
419
|
+
* See the License for the specific language governing permissions and
|
|
420
|
+
* limitations under the License.
|
|
421
|
+
*/function ei(){return typeof navigator<"u"&&navigator&&"onLine"in navigator&&typeof navigator.onLine=="boolean"&&(Zr()||Rn()||"connection"in navigator)?navigator.onLine:!0}function ti(){if(typeof navigator>"u")return null;const n=navigator;return n.languages&&n.languages[0]||n.language||null}/**
|
|
422
|
+
* @license
|
|
423
|
+
* Copyright 2020 Google LLC
|
|
424
|
+
*
|
|
425
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
426
|
+
* you may not use this file except in compliance with the License.
|
|
427
|
+
* You may obtain a copy of the License at
|
|
428
|
+
*
|
|
429
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
430
|
+
*
|
|
431
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
432
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
433
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
434
|
+
* See the License for the specific language governing permissions and
|
|
435
|
+
* limitations under the License.
|
|
436
|
+
*/class ee{constructor(e,t){this.shortDelay=e,this.longDelay=t,w(t>e,"Short delay should be less than long delay!"),this.isMobile=kn()||An()}get(){return ei()?this.isMobile?this.longDelay:this.shortDelay:Math.min(5e3,this.shortDelay)}}/**
|
|
437
|
+
* @license
|
|
438
|
+
* Copyright 2020 Google LLC
|
|
439
|
+
*
|
|
440
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
441
|
+
* you may not use this file except in compliance with the License.
|
|
442
|
+
* You may obtain a copy of the License at
|
|
443
|
+
*
|
|
444
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
445
|
+
*
|
|
446
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
447
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
448
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
449
|
+
* See the License for the specific language governing permissions and
|
|
450
|
+
* limitations under the License.
|
|
451
|
+
*/function Ve(n,e){w(n.emulator,"Emulator should always be set here");const{url:t}=n.emulator;return e?`${t}${e.startsWith("/")?e.slice(1):e}`:t}/**
|
|
452
|
+
* @license
|
|
453
|
+
* Copyright 2020 Google LLC
|
|
454
|
+
*
|
|
455
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
456
|
+
* you may not use this file except in compliance with the License.
|
|
457
|
+
* You may obtain a copy of the License at
|
|
458
|
+
*
|
|
459
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
460
|
+
*
|
|
461
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
462
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
463
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
464
|
+
* See the License for the specific language governing permissions and
|
|
465
|
+
* limitations under the License.
|
|
466
|
+
*/class $t{static initialize(e,t,r){this.fetchImpl=e,t&&(this.headersImpl=t),r&&(this.responseImpl=r)}static fetch(){if(this.fetchImpl)return this.fetchImpl;if(typeof self<"u"&&"fetch"in self)return self.fetch;y("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;y("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;y("Could not find Response implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill")}}/**
|
|
467
|
+
* @license
|
|
468
|
+
* Copyright 2020 Google LLC
|
|
469
|
+
*
|
|
470
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
471
|
+
* you may not use this file except in compliance with the License.
|
|
472
|
+
* You may obtain a copy of the License at
|
|
473
|
+
*
|
|
474
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
475
|
+
*
|
|
476
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
477
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
478
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
479
|
+
* See the License for the specific language governing permissions and
|
|
480
|
+
* limitations under the License.
|
|
481
|
+
*/const ni={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:"internal-error",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",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"};/**
|
|
482
|
+
* @license
|
|
483
|
+
* Copyright 2020 Google LLC
|
|
484
|
+
*
|
|
485
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
486
|
+
* you may not use this file except in compliance with the License.
|
|
487
|
+
* You may obtain a copy of the License at
|
|
488
|
+
*
|
|
489
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
490
|
+
*
|
|
491
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
492
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
493
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
494
|
+
* See the License for the specific language governing permissions and
|
|
495
|
+
* limitations under the License.
|
|
496
|
+
*/const ri=new ee(3e4,6e4);function ge(n,e){return n.tenantId&&!e.tenantId?Object.assign(Object.assign({},e),{tenantId:n.tenantId}):e}async function te(n,e,t,r,i={}){return Ht(n,i,async()=>{let s={},o={};r&&(e==="GET"?o=r:s={body:JSON.stringify(r)});const a=Q(Object.assign({key:n.config.apiKey},o)).slice(1),c=await n._getAdditionalHeaders();return c["Content-Type"]="application/json",n.languageCode&&(c["X-Firebase-Locale"]=n.languageCode),$t.fetch()(Vt(n,n.config.apiHost,t,a),Object.assign({method:e,headers:c,referrerPolicy:"no-referrer"},s))})}async function Ht(n,e,t){n._canInitEmulator=!1;const r=Object.assign(Object.assign({},ni),e);try{const i=new ii(n),s=await Promise.race([t(),i.promise]);i.clearNetworkTimeout();const o=await s.json();if("needConfirmation"in o)throw ie(n,"account-exists-with-different-credential",o);if(s.ok&&!("errorMessage"in o))return o;{const a=s.ok?o.errorMessage:o.error.message,[c,l]=a.split(" : ");if(c==="FEDERATED_USER_ID_ALREADY_LINKED")throw ie(n,"credential-already-in-use",o);if(c==="EMAIL_EXISTS")throw ie(n,"email-already-in-use",o);if(c==="USER_DISABLED")throw ie(n,"user-disabled",o);const d=r[c]||c.toLowerCase().replace(/[_\s]+/g,"-");if(l)throw Yr(n,d,l);g(n,d)}}catch(i){if(i instanceof O)throw i;g(n,"network-request-failed")}}async function _e(n,e,t,r,i={}){const s=await te(n,e,t,r,i);return"mfaPendingCredential"in s&&g(n,"multi-factor-auth-required",{_serverResponse:s}),s}function Vt(n,e,t,r){const i=`${e}${t}?${r}`;return n.config.emulator?Ve(n.config,i):`${n.config.apiScheme}://${i}`}class ii{constructor(e){this.auth=e,this.timer=null,this.promise=new Promise((t,r)=>{this.timer=setTimeout(()=>r(_(this.auth,"network-request-failed")),ri.get())})}clearNetworkTimeout(){clearTimeout(this.timer)}}function ie(n,e,t){const r={appName:n.name};t.email&&(r.email=t.email),t.phoneNumber&&(r.phoneNumber=t.phoneNumber);const i=_(n,e,r);return i.customData._tokenResponse=t,i}/**
|
|
497
|
+
* @license
|
|
498
|
+
* Copyright 2020 Google LLC
|
|
499
|
+
*
|
|
500
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
501
|
+
* you may not use this file except in compliance with the License.
|
|
502
|
+
* You may obtain a copy of the License at
|
|
503
|
+
*
|
|
504
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
505
|
+
*
|
|
506
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
507
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
508
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
509
|
+
* See the License for the specific language governing permissions and
|
|
510
|
+
* limitations under the License.
|
|
511
|
+
*/async function si(n,e){return te(n,"POST","/v1/accounts:delete",e)}async function oi(n,e){return te(n,"POST","/v1/accounts:lookup",e)}/**
|
|
512
|
+
* @license
|
|
513
|
+
* Copyright 2020 Google LLC
|
|
514
|
+
*
|
|
515
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
516
|
+
* you may not use this file except in compliance with the License.
|
|
517
|
+
* You may obtain a copy of the License at
|
|
518
|
+
*
|
|
519
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
520
|
+
*
|
|
521
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
522
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
523
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
524
|
+
* See the License for the specific language governing permissions and
|
|
525
|
+
* limitations under the License.
|
|
526
|
+
*/function z(n){if(!!n)try{const e=new Date(Number(n));if(!isNaN(e.getTime()))return e.toUTCString()}catch{}}async function ai(n,e=!1){const t=Z(n),r=await t.getIdToken(e),i=We(r);u(i&&i.exp&&i.auth_time&&i.iat,t.auth,"internal-error");const s=typeof i.firebase=="object"?i.firebase:void 0,o=s?.sign_in_provider;return{claims:i,token:r,authTime:z(De(i.auth_time)),issuedAtTime:z(De(i.iat)),expirationTime:z(De(i.exp)),signInProvider:o||null,signInSecondFactor:s?.sign_in_second_factor||null}}function De(n){return Number(n)*1e3}function We(n){var e;const[t,r,i]=n.split(".");if(t===void 0||r===void 0||i===void 0)return se("JWT malformed, contained fewer than 3 sections"),null;try{const s=Tn(r);return s?JSON.parse(s):(se("Failed to decode base64 JWT payload"),null)}catch(s){return se("Caught error parsing JWT payload as JSON",(e=s)===null||e===void 0?void 0:e.toString()),null}}function ci(n){const e=We(n);return u(e,"internal-error"),u(typeof e.exp<"u","internal-error"),u(typeof e.iat<"u","internal-error"),Number(e.exp)-Number(e.iat)}/**
|
|
527
|
+
* @license
|
|
528
|
+
* Copyright 2020 Google LLC
|
|
529
|
+
*
|
|
530
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
531
|
+
* you may not use this file except in compliance with the License.
|
|
532
|
+
* You may obtain a copy of the License at
|
|
533
|
+
*
|
|
534
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
535
|
+
*
|
|
536
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
537
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
538
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
539
|
+
* See the License for the specific language governing permissions and
|
|
540
|
+
* limitations under the License.
|
|
541
|
+
*/async function K(n,e,t=!1){if(t)return e;try{return await e}catch(r){throw r instanceof O&&li(r)&&n.auth.currentUser===n&&await n.auth.signOut(),r}}function li({code:n}){return n==="auth/user-disabled"||n==="auth/user-token-expired"}/**
|
|
542
|
+
* @license
|
|
543
|
+
* Copyright 2020 Google LLC
|
|
544
|
+
*
|
|
545
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
546
|
+
* you may not use this file except in compliance with the License.
|
|
547
|
+
* You may obtain a copy of the License at
|
|
548
|
+
*
|
|
549
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
550
|
+
*
|
|
551
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
552
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
553
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
554
|
+
* See the License for the specific language governing permissions and
|
|
555
|
+
* limitations under the License.
|
|
556
|
+
*/class ui{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 r=this.errorBackoff;return this.errorBackoff=Math.min(this.errorBackoff*2,96e4),r}else{this.errorBackoff=3e4;const i=((t=this.user.stsTokenManager.expirationTime)!==null&&t!==void 0?t:0)-Date.now()-3e5;return Math.max(0,i)}}schedule(e=!1){if(!this.isRunning)return;const t=this.getInterval(e);this.timerId=setTimeout(async()=>{await this.iteration()},t)}async iteration(){var e;try{await this.user.getIdToken(!0)}catch(t){((e=t)===null||e===void 0?void 0:e.code)==="auth/network-request-failed"&&this.schedule(!0);return}this.schedule()}}/**
|
|
557
|
+
* @license
|
|
558
|
+
* Copyright 2020 Google LLC
|
|
559
|
+
*
|
|
560
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
561
|
+
* you may not use this file except in compliance with the License.
|
|
562
|
+
* You may obtain a copy of the License at
|
|
563
|
+
*
|
|
564
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
565
|
+
*
|
|
566
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
567
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
568
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
569
|
+
* See the License for the specific language governing permissions and
|
|
570
|
+
* limitations under the License.
|
|
571
|
+
*/class Wt{constructor(e,t){this.createdAt=e,this.lastLoginAt=t,this._initializeTime()}_initializeTime(){this.lastSignInTime=z(this.lastLoginAt),this.creationTime=z(this.createdAt)}_copy(e){this.createdAt=e.createdAt,this.lastLoginAt=e.lastLoginAt,this._initializeTime()}toJSON(){return{createdAt:this.createdAt,lastLoginAt:this.lastLoginAt}}}/**
|
|
572
|
+
* @license
|
|
573
|
+
* Copyright 2019 Google LLC
|
|
574
|
+
*
|
|
575
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
576
|
+
* you may not use this file except in compliance with the License.
|
|
577
|
+
* You may obtain a copy of the License at
|
|
578
|
+
*
|
|
579
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
580
|
+
*
|
|
581
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
582
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
583
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
584
|
+
* See the License for the specific language governing permissions and
|
|
585
|
+
* limitations under the License.
|
|
586
|
+
*/async function de(n){var e;const t=n.auth,r=await n.getIdToken(),i=await K(n,oi(t,{idToken:r}));u(i?.users.length,t,"internal-error");const s=i.users[0];n._notifyReloadListener(s);const o=!((e=s.providerUserInfo)===null||e===void 0)&&e.length?fi(s.providerUserInfo):[],a=hi(n.providerData,o),c=n.isAnonymous,l=!(n.email&&s.passwordHash)&&!a?.length,d=c?l:!1,f={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:a,metadata:new Wt(s.createdAt,s.lastLoginAt),isAnonymous:d};Object.assign(n,f)}async function di(n){const e=Z(n);await de(e),await e.auth._persistUserIfCurrent(e),e.auth._notifyListenersIfCurrent(e)}function hi(n,e){return[...n.filter(r=>!e.some(i=>i.providerId===r.providerId)),...e]}function fi(n){return n.map(e=>{var{providerId:t}=e,r=$e(e,["providerId"]);return{providerId:t,uid:r.rawId||"",displayName:r.displayName||null,email:r.email||null,phoneNumber:r.phoneNumber||null,photoURL:r.photoUrl||null}})}/**
|
|
587
|
+
* @license
|
|
588
|
+
* Copyright 2020 Google LLC
|
|
589
|
+
*
|
|
590
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
591
|
+
* you may not use this file except in compliance with the License.
|
|
592
|
+
* You may obtain a copy of the License at
|
|
593
|
+
*
|
|
594
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
595
|
+
*
|
|
596
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
597
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
598
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
599
|
+
* See the License for the specific language governing permissions and
|
|
600
|
+
* limitations under the License.
|
|
601
|
+
*/async function pi(n,e){const t=await Ht(n,{},async()=>{const r=Q({grant_type:"refresh_token",refresh_token:e}).slice(1),{tokenApiHost:i,apiKey:s}=n.config,o=Vt(n,i,"/v1/token",`key=${s}`),a=await n._getAdditionalHeaders();return a["Content-Type"]="application/x-www-form-urlencoded",$t.fetch()(o,{method:"POST",headers:a,body:r})});return{accessToken:t.access_token,expiresIn:t.expires_in,refreshToken:t.refresh_token}}/**
|
|
602
|
+
* @license
|
|
603
|
+
* Copyright 2020 Google LLC
|
|
604
|
+
*
|
|
605
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
606
|
+
* you may not use this file except in compliance with the License.
|
|
607
|
+
* You may obtain a copy of the License at
|
|
608
|
+
*
|
|
609
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
610
|
+
*
|
|
611
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
612
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
613
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
614
|
+
* See the License for the specific language governing permissions and
|
|
615
|
+
* limitations under the License.
|
|
616
|
+
*/class J{constructor(){this.refreshToken=null,this.accessToken=null,this.expirationTime=null}get isExpired(){return!this.expirationTime||Date.now()>this.expirationTime-3e4}updateFromServerResponse(e){u(e.idToken,"internal-error"),u(typeof e.idToken<"u","internal-error"),u(typeof e.refreshToken<"u","internal-error");const t="expiresIn"in e&&typeof e.expiresIn<"u"?Number(e.expiresIn):ci(e.idToken);this.updateTokensAndExpiration(e.idToken,e.refreshToken,t)}async getToken(e,t=!1){return u(!this.accessToken||this.refreshToken,e,"user-token-expired"),!t&&this.accessToken&&!this.isExpired?this.accessToken:this.refreshToken?(await this.refresh(e,this.refreshToken),this.accessToken):null}clearRefreshToken(){this.refreshToken=null}async refresh(e,t){const{accessToken:r,refreshToken:i,expiresIn:s}=await pi(e,t);this.updateTokensAndExpiration(r,i,Number(s))}updateTokensAndExpiration(e,t,r){this.refreshToken=t||null,this.accessToken=e||null,this.expirationTime=Date.now()+r*1e3}static fromJSON(e,t){const{refreshToken:r,accessToken:i,expirationTime:s}=t,o=new J;return r&&(u(typeof r=="string","internal-error",{appName:e}),o.refreshToken=r),i&&(u(typeof i=="string","internal-error",{appName:e}),o.accessToken=i),s&&(u(typeof s=="number","internal-error",{appName:e}),o.expirationTime=s),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 J,this.toJSON())}_performRefresh(){return y("not implemented")}}/**
|
|
617
|
+
* @license
|
|
618
|
+
* Copyright 2020 Google LLC
|
|
619
|
+
*
|
|
620
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
621
|
+
* you may not use this file except in compliance with the License.
|
|
622
|
+
* You may obtain a copy of the License at
|
|
623
|
+
*
|
|
624
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
625
|
+
*
|
|
626
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
627
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
628
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
629
|
+
* See the License for the specific language governing permissions and
|
|
630
|
+
* limitations under the License.
|
|
631
|
+
*/function E(n,e){u(typeof n=="string"||typeof n>"u","internal-error",{appName:e})}class D{constructor(e){var{uid:t,auth:r,stsTokenManager:i}=e,s=$e(e,["uid","auth","stsTokenManager"]);this.providerId="firebase",this.proactiveRefresh=new ui(this),this.reloadUserInfo=null,this.reloadListener=null,this.uid=t,this.auth=r,this.stsTokenManager=i,this.accessToken=i.accessToken,this.displayName=s.displayName||null,this.email=s.email||null,this.emailVerified=s.emailVerified||!1,this.phoneNumber=s.phoneNumber||null,this.photoURL=s.photoURL||null,this.isAnonymous=s.isAnonymous||!1,this.tenantId=s.tenantId||null,this.providerData=s.providerData?[...s.providerData]:[],this.metadata=new Wt(s.createdAt||void 0,s.lastLoginAt||void 0)}async getIdToken(e){const t=await K(this,this.stsTokenManager.getToken(this.auth,e));return u(t,this.auth,"internal-error"),this.accessToken!==t&&(this.accessToken=t,await this.auth._persistUserIfCurrent(this),this.auth._notifyListenersIfCurrent(this)),t}getIdTokenResult(e){return ai(this,e)}reload(){return di(this)}_assign(e){this!==e&&(u(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){return new D(Object.assign(Object.assign({},this),{auth:e,stsTokenManager:this.stsTokenManager._clone()}))}_onReload(e){u(!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 r=!1;e.idToken&&e.idToken!==this.stsTokenManager.accessToken&&(this.stsTokenManager.updateFromServerResponse(e),r=!0),t&&await de(this),await this.auth._persistUserIfCurrent(this),r&&this.auth._notifyListenersIfCurrent(this)}async delete(){const e=await this.getIdToken();return await K(this,si(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 r,i,s,o,a,c,l,d;const f=(r=t.displayName)!==null&&r!==void 0?r:void 0,m=(i=t.email)!==null&&i!==void 0?i:void 0,I=(s=t.phoneNumber)!==null&&s!==void 0?s:void 0,L=(o=t.photoURL)!==null&&o!==void 0?o:void 0,Ye=(a=t.tenantId)!==null&&a!==void 0?a:void 0,be=(c=t._redirectEventId)!==null&&c!==void 0?c:void 0,Xe=(l=t.createdAt)!==null&&l!==void 0?l:void 0,Qe=(d=t.lastLoginAt)!==null&&d!==void 0?d:void 0,{uid:we,emailVerified:Ze,isAnonymous:et,providerData:Ee,stsTokenManager:tt}=t;u(we&&tt,e,"internal-error");const fn=J.fromJSON(this.name,tt);u(typeof we=="string",e,"internal-error"),E(f,e.name),E(m,e.name),u(typeof Ze=="boolean",e,"internal-error"),u(typeof et=="boolean",e,"internal-error"),E(I,e.name),E(L,e.name),E(Ye,e.name),E(be,e.name),E(Xe,e.name),E(Qe,e.name);const Te=new D({uid:we,auth:e,email:m,emailVerified:Ze,displayName:f,isAnonymous:et,photoURL:L,phoneNumber:I,tenantId:Ye,stsTokenManager:fn,createdAt:Xe,lastLoginAt:Qe});return Ee&&Array.isArray(Ee)&&(Te.providerData=Ee.map(pn=>Object.assign({},pn))),be&&(Te._redirectEventId=be),Te}static async _fromIdTokenResponse(e,t,r=!1){const i=new J;i.updateFromServerResponse(t);const s=new D({uid:t.localId,auth:e,stsTokenManager:i,isAnonymous:r});return await de(s),s}}/**
|
|
632
|
+
* @license
|
|
633
|
+
* Copyright 2019 Google LLC
|
|
634
|
+
*
|
|
635
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
636
|
+
* you may not use this file except in compliance with the License.
|
|
637
|
+
* You may obtain a copy of the License at
|
|
638
|
+
*
|
|
639
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
640
|
+
*
|
|
641
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
642
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
643
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
644
|
+
* See the License for the specific language governing permissions and
|
|
645
|
+
* limitations under the License.
|
|
646
|
+
*/class jt{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){}}jt.type="NONE";const gt=jt;/**
|
|
647
|
+
* @license
|
|
648
|
+
* Copyright 2019 Google LLC
|
|
649
|
+
*
|
|
650
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
651
|
+
* you may not use this file except in compliance with the License.
|
|
652
|
+
* You may obtain a copy of the License at
|
|
653
|
+
*
|
|
654
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
655
|
+
*
|
|
656
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
657
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
658
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
659
|
+
* See the License for the specific language governing permissions and
|
|
660
|
+
* limitations under the License.
|
|
661
|
+
*/function oe(n,e,t){return`firebase:${n}:${e}:${t}`}class x{constructor(e,t,r){this.persistence=e,this.auth=t,this.userKey=r;const{config:i,name:s}=this.auth;this.fullUserKey=oe(this.userKey,i.apiKey,s),this.fullPersistenceKey=oe("persistence",i.apiKey,s),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);return e?D._fromJSON(this.auth,e):null}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,r="authUser"){if(!t.length)return new x(b(gt),e,r);const i=(await Promise.all(t.map(async l=>{if(await l._isAvailable())return l}))).filter(l=>l);let s=i[0]||b(gt);const o=oe(r,e.config.apiKey,e.name);let a=null;for(const l of t)try{const d=await l._get(o);if(d){const f=D._fromJSON(e,d);l!==s&&(a=f),s=l;break}}catch{}const c=i.filter(l=>l._shouldAllowMigration);return!s._shouldAllowMigration||!c.length?new x(s,e,r):(s=c[0],a&&await s._set(o,a.toJSON()),await Promise.all(t.map(async l=>{if(l!==s)try{await l._remove(o)}catch{}})),new x(s,e,r))}}/**
|
|
662
|
+
* @license
|
|
663
|
+
* Copyright 2020 Google LLC
|
|
664
|
+
*
|
|
665
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
666
|
+
* you may not use this file except in compliance with the License.
|
|
667
|
+
* You may obtain a copy of the License at
|
|
668
|
+
*
|
|
669
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
670
|
+
*
|
|
671
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
672
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
673
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
674
|
+
* See the License for the specific language governing permissions and
|
|
675
|
+
* limitations under the License.
|
|
676
|
+
*/function _t(n){const e=n.toLowerCase();if(e.includes("opera/")||e.includes("opr/")||e.includes("opios/"))return"Opera";if(qt(e))return"IEMobile";if(e.includes("msie")||e.includes("trident/"))return"IE";if(e.includes("edge/"))return"Edge";if(zt(e))return"Firefox";if(e.includes("silk/"))return"Silk";if(Jt(e))return"Blackberry";if(Yt(e))return"Webos";if(je(e))return"Safari";if((e.includes("chrome/")||Gt(e))&&!e.includes("edge/"))return"Chrome";if(Kt(e))return"Android";{const t=/([a-zA-Z\d\.]+)\/[a-zA-Z\d\.]*$/,r=n.match(t);if(r?.length===2)return r[1]}return"Other"}function zt(n=p()){return/firefox\//i.test(n)}function je(n=p()){const e=n.toLowerCase();return e.includes("safari/")&&!e.includes("chrome/")&&!e.includes("crios/")&&!e.includes("android")}function Gt(n=p()){return/crios\//i.test(n)}function qt(n=p()){return/iemobile/i.test(n)}function Kt(n=p()){return/android/i.test(n)}function Jt(n=p()){return/blackberry/i.test(n)}function Yt(n=p()){return/webos/i.test(n)}function ve(n=p()){return/iphone|ipad|ipod/i.test(n)||/macintosh/i.test(n)&&/mobile/i.test(n)}function mi(n=p()){var e;return ve(n)&&!!(!((e=window.navigator)===null||e===void 0)&&e.standalone)}function gi(){return On()&&document.documentMode===10}function Xt(n=p()){return ve(n)||Kt(n)||Yt(n)||Jt(n)||/windows phone/i.test(n)||qt(n)}function _i(){try{return!!(window&&window!==window.top)}catch{return!1}}/**
|
|
677
|
+
* @license
|
|
678
|
+
* Copyright 2020 Google LLC
|
|
679
|
+
*
|
|
680
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
681
|
+
* you may not use this file except in compliance with the License.
|
|
682
|
+
* You may obtain a copy of the License at
|
|
683
|
+
*
|
|
684
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
685
|
+
*
|
|
686
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
687
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
688
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
689
|
+
* See the License for the specific language governing permissions and
|
|
690
|
+
* limitations under the License.
|
|
691
|
+
*/function Qt(n,e=[]){let t;switch(n){case"Browser":t=_t(p());break;case"Worker":t=`${_t(p())}-${n}`;break;default:t=n}const r=e.length?e.join(","):"FirebaseCore-web";return`${t}/JsCore/${me}/${r}`}/**
|
|
692
|
+
* @license
|
|
693
|
+
* Copyright 2022 Google LLC
|
|
694
|
+
*
|
|
695
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
696
|
+
* you may not use this file except in compliance with the License.
|
|
697
|
+
* You may obtain a copy of the License at
|
|
698
|
+
*
|
|
699
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
700
|
+
*
|
|
701
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
702
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
703
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
704
|
+
* See the License for the specific language governing permissions and
|
|
705
|
+
* limitations under the License.
|
|
706
|
+
*/class vi{constructor(e){this.auth=e,this.queue=[]}pushCallback(e,t){const r=s=>new Promise((o,a)=>{try{const c=e(s);o(c)}catch(c){a(c)}});r.onAbort=t,this.queue.push(r);const i=this.queue.length-1;return()=>{this.queue[i]=()=>Promise.resolve()}}async runMiddleware(e){var t;if(this.auth.currentUser===e)return;const r=[];try{for(const i of this.queue)await i(e),i.onAbort&&r.push(i.onAbort)}catch(i){r.reverse();for(const s of r)try{s()}catch{}throw this.auth._errorFactory.create("login-blocked",{originalMessage:(t=i)===null||t===void 0?void 0:t.message})}}}/**
|
|
707
|
+
* @license
|
|
708
|
+
* Copyright 2020 Google LLC
|
|
709
|
+
*
|
|
710
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
711
|
+
* you may not use this file except in compliance with the License.
|
|
712
|
+
* You may obtain a copy of the License at
|
|
713
|
+
*
|
|
714
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
715
|
+
*
|
|
716
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
717
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
718
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
719
|
+
* See the License for the specific language governing permissions and
|
|
720
|
+
* limitations under the License.
|
|
721
|
+
*/class Ii{constructor(e,t,r){this.app=e,this.heartbeatServiceProvider=t,this.config=r,this.currentUser=null,this.emulatorConfig=null,this.operations=Promise.resolve(),this.authStateSubscription=new vt(this),this.idTokenSubscription=new vt(this),this.beforeStateQueue=new vi(this),this.redirectUser=null,this.isProactiveRefreshEnabled=!1,this._canInitEmulator=!0,this._isInitialized=!1,this._deleted=!1,this._initializationPromise=null,this._popupRedirectResolver=null,this._errorFactory=Ft,this.lastNotifiedUid=void 0,this.languageCode=null,this.tenantId=null,this.settings={appVerificationDisabledForTesting:!1},this.frameworks=[],this.name=e.name,this.clientVersion=r.sdkClientVersion}_initializeWithPersistence(e,t){return t&&(this._popupRedirectResolver=b(t)),this._initializationPromise=this.queue(async()=>{var r,i;if(!this._deleted&&(this.persistenceManager=await x.create(this,e),!this._deleted)){if(!((r=this._popupRedirectResolver)===null||r===void 0)&&r._shouldInitProactively)try{await this._popupRedirectResolver._initialize(this)}catch{}await this.initializeCurrentUser(t),this.lastNotifiedUid=((i=this.currentUser)===null||i===void 0?void 0:i.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 initializeCurrentUser(e){var t;const r=await this.assertedPersistence.getCurrentUser();let i=r,s=!1;if(e&&this.config.authDomain){await this.getOrInitRedirectPersistenceManager();const o=(t=this.redirectUser)===null||t===void 0?void 0:t._redirectEventId,a=i?._redirectEventId,c=await this.tryRedirectSignIn(e);(!o||o===a)&&c?.user&&(i=c.user,s=!0)}if(!i)return this.directlySetCurrentUser(null);if(!i._redirectEventId){if(s)try{await this.beforeStateQueue.runMiddleware(i)}catch(o){i=r,this._popupRedirectResolver._overrideRedirectResult(this,()=>Promise.reject(o))}return i?this.reloadAndSetCurrentUserOrClear(i):this.directlySetCurrentUser(null)}return u(this._popupRedirectResolver,this,"argument-error"),await this.getOrInitRedirectPersistenceManager(),this.redirectUser&&this.redirectUser._redirectEventId===i._redirectEventId?this.directlySetCurrentUser(i):this.reloadAndSetCurrentUserOrClear(i)}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){var t;try{await de(e)}catch(r){if(((t=r)===null||t===void 0?void 0:t.code)!=="auth/network-request-failed")return this.directlySetCurrentUser(null)}return this.directlySetCurrentUser(e)}useDeviceLanguage(){this.languageCode=ti()}async _delete(){this._deleted=!0}async updateCurrentUser(e){const t=e?Z(e):null;return t&&u(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&&u(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 await this.beforeStateQueue.runMiddleware(null),(this.redirectPersistenceManager||this._popupRedirectResolver)&&await this._setRedirectUser(null),this._updateCurrentUser(null,!0)}setPersistence(e){return this.queue(async()=>{await this.assertedPersistence.setPersistence(b(e))})}_getPersistence(){return this.assertedPersistence.persistence.type}_updateErrorMap(e){this._errorFactory=new X("auth","Firebase",e())}onAuthStateChanged(e,t,r){return this.registerStateListener(this.authStateSubscription,e,t,r)}beforeAuthStateChanged(e,t){return this.beforeStateQueue.pushCallback(e,t)}onIdTokenChanged(e,t,r){return this.registerStateListener(this.idTokenSubscription,e,t,r)}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 r=await this.getOrInitRedirectPersistenceManager(t);return e===null?r.removeCurrentUser():r.setCurrentUser(e)}async getOrInitRedirectPersistenceManager(e){if(!this.redirectPersistenceManager){const t=e&&b(e)||this._popupRedirectResolver;u(t,this,"argument-error"),this.redirectPersistenceManager=await x.create(this,[b(t._redirectPersistence)],"redirectUser"),this.redirectUser=await this.redirectPersistenceManager.getCurrentUser()}return this.redirectPersistenceManager}async _redirectUserForId(e){var t,r;return this._isInitialized&&await this.queue(async()=>{}),((t=this._currentUser)===null||t===void 0?void 0:t._redirectEventId)===e?this._currentUser:((r=this.redirectUser)===null||r===void 0?void 0:r._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 r=(t=(e=this.currentUser)===null||e===void 0?void 0:e.uid)!==null&&t!==void 0?t:null;this.lastNotifiedUid!==r&&(this.lastNotifiedUid=r,this.authStateSubscription.next(this.currentUser))}registerStateListener(e,t,r,i){if(this._deleted)return()=>{};const s=typeof t=="function"?t:t.next.bind(t),o=this._isInitialized?Promise.resolve():this._initializationPromise;return u(o,this,"internal-error"),o.then(()=>s(this.currentUser)),typeof t=="function"?e.addObserver(t,r,i):e.addObserver(t)}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 u(this.persistenceManager,this,"internal-error"),this.persistenceManager}_logFramework(e){!e||this.frameworks.includes(e)||(this.frameworks.push(e),this.frameworks.sort(),this.clientVersion=Qt(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 r=await((e=this.heartbeatServiceProvider.getImmediate({optional:!0}))===null||e===void 0?void 0:e.getHeartbeatsHeader());return r&&(t["X-Firebase-Client"]=r),t}}function ze(n){return Z(n)}class vt{constructor(e){this.auth=e,this.observer=null,this.addObserver=Un(t=>this.observer=t)}get next(){return u(this.observer,this.auth,"internal-error"),this.observer.next.bind(this.observer)}}/**
|
|
722
|
+
* @license
|
|
723
|
+
* Copyright 2020 Google LLC
|
|
724
|
+
*
|
|
725
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
726
|
+
* you may not use this file except in compliance with the License.
|
|
727
|
+
* You may obtain a copy of the License at
|
|
728
|
+
*
|
|
729
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
730
|
+
*
|
|
731
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
732
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
733
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
734
|
+
* See the License for the specific language governing permissions and
|
|
735
|
+
* limitations under the License.
|
|
736
|
+
*/class Ge{constructor(e,t){this.providerId=e,this.signInMethod=t}toJSON(){return y("not implemented")}_getIdTokenResponse(e){return y("not implemented")}_linkToIdToken(e,t){return y("not implemented")}_getReauthenticationResolver(e){return y("not implemented")}}async function yi(n,e){return te(n,"POST","/v1/accounts:update",e)}/**
|
|
737
|
+
* @license
|
|
738
|
+
* Copyright 2020 Google LLC
|
|
739
|
+
*
|
|
740
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
741
|
+
* you may not use this file except in compliance with the License.
|
|
742
|
+
* You may obtain a copy of the License at
|
|
743
|
+
*
|
|
744
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
745
|
+
*
|
|
746
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
747
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
748
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
749
|
+
* See the License for the specific language governing permissions and
|
|
750
|
+
* limitations under the License.
|
|
751
|
+
*/async function bi(n,e){return _e(n,"POST","/v1/accounts:signInWithPassword",ge(n,e))}/**
|
|
752
|
+
* @license
|
|
753
|
+
* Copyright 2020 Google LLC
|
|
754
|
+
*
|
|
755
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
756
|
+
* you may not use this file except in compliance with the License.
|
|
757
|
+
* You may obtain a copy of the License at
|
|
758
|
+
*
|
|
759
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
760
|
+
*
|
|
761
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
762
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
763
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
764
|
+
* See the License for the specific language governing permissions and
|
|
765
|
+
* limitations under the License.
|
|
766
|
+
*/async function wi(n,e){return _e(n,"POST","/v1/accounts:signInWithEmailLink",ge(n,e))}async function Ei(n,e){return _e(n,"POST","/v1/accounts:signInWithEmailLink",ge(n,e))}/**
|
|
767
|
+
* @license
|
|
768
|
+
* Copyright 2020 Google LLC
|
|
769
|
+
*
|
|
770
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
771
|
+
* you may not use this file except in compliance with the License.
|
|
772
|
+
* You may obtain a copy of the License at
|
|
773
|
+
*
|
|
774
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
775
|
+
*
|
|
776
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
777
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
778
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
779
|
+
* See the License for the specific language governing permissions and
|
|
780
|
+
* limitations under the License.
|
|
781
|
+
*/class Y extends Ge{constructor(e,t,r,i=null){super("password",r),this._email=e,this._password=t,this._tenantId=i}static _fromEmailAndPassword(e,t){return new Y(e,t,"password")}static _fromEmailAndCode(e,t,r=null){return new Y(e,t,"emailLink",r)}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":return bi(e,{returnSecureToken:!0,email:this._email,password:this._password});case"emailLink":return wi(e,{email:this._email,oobCode:this._password});default:g(e,"internal-error")}}async _linkToIdToken(e,t){switch(this.signInMethod){case"password":return yi(e,{idToken:t,returnSecureToken:!0,email:this._email,password:this._password});case"emailLink":return Ei(e,{idToken:t,email:this._email,oobCode:this._password});default:g(e,"internal-error")}}_getReauthenticationResolver(e){return this._getIdTokenResponse(e)}}/**
|
|
782
|
+
* @license
|
|
783
|
+
* Copyright 2020 Google LLC
|
|
784
|
+
*
|
|
785
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
786
|
+
* you may not use this file except in compliance with the License.
|
|
787
|
+
* You may obtain a copy of the License at
|
|
788
|
+
*
|
|
789
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
790
|
+
*
|
|
791
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
792
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
793
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
794
|
+
* See the License for the specific language governing permissions and
|
|
795
|
+
* limitations under the License.
|
|
796
|
+
*/async function F(n,e){return _e(n,"POST","/v1/accounts:signInWithIdp",ge(n,e))}/**
|
|
797
|
+
* @license
|
|
798
|
+
* Copyright 2020 Google LLC
|
|
799
|
+
*
|
|
800
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
801
|
+
* you may not use this file except in compliance with the License.
|
|
802
|
+
* You may obtain a copy of the License at
|
|
803
|
+
*
|
|
804
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
805
|
+
*
|
|
806
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
807
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
808
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
809
|
+
* See the License for the specific language governing permissions and
|
|
810
|
+
* limitations under the License.
|
|
811
|
+
*/const Ti="http://localhost";class M extends Ge{constructor(){super(...arguments),this.pendingToken=null}static _fromParams(e){const t=new M(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):g("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:r,signInMethod:i}=t,s=$e(t,["providerId","signInMethod"]);if(!r||!i)return null;const o=new M(r,i);return o.idToken=s.idToken||void 0,o.accessToken=s.accessToken||void 0,o.secret=s.secret,o.nonce=s.nonce,o.pendingToken=s.pendingToken||null,o}_getIdTokenResponse(e){const t=this.buildRequest();return F(e,t)}_linkToIdToken(e,t){const r=this.buildRequest();return r.idToken=t,F(e,r)}_getReauthenticationResolver(e){const t=this.buildRequest();return t.autoCreate=!1,F(e,t)}buildRequest(){const e={requestUri:Ti,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=Q(t)}return e}}/**
|
|
812
|
+
* @license
|
|
813
|
+
* Copyright 2020 Google LLC
|
|
814
|
+
*
|
|
815
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
816
|
+
* you may not use this file except in compliance with the License.
|
|
817
|
+
* You may obtain a copy of the License at
|
|
818
|
+
*
|
|
819
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
820
|
+
*
|
|
821
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
822
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
823
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
824
|
+
* See the License for the specific language governing permissions and
|
|
825
|
+
* limitations under the License.
|
|
826
|
+
*/function Si(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 ki(n){const e=W(j(n)).link,t=e?W(j(e)).deep_link_id:null,r=W(j(n)).deep_link_id;return(r?W(j(r)).link:null)||r||t||e||n}class qe{constructor(e){var t,r,i,s,o,a;const c=W(j(e)),l=(t=c.apiKey)!==null&&t!==void 0?t:null,d=(r=c.oobCode)!==null&&r!==void 0?r:null,f=Si((i=c.mode)!==null&&i!==void 0?i:null);u(l&&d&&f,"argument-error"),this.apiKey=l,this.operation=f,this.code=d,this.continueUrl=(s=c.continueUrl)!==null&&s!==void 0?s:null,this.languageCode=(o=c.languageCode)!==null&&o!==void 0?o:null,this.tenantId=(a=c.tenantId)!==null&&a!==void 0?a:null}static parseLink(e){const t=ki(e);try{return new qe(t)}catch{return null}}}/**
|
|
827
|
+
* @license
|
|
828
|
+
* Copyright 2020 Google LLC
|
|
829
|
+
*
|
|
830
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
831
|
+
* you may not use this file except in compliance with the License.
|
|
832
|
+
* You may obtain a copy of the License at
|
|
833
|
+
*
|
|
834
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
835
|
+
*
|
|
836
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
837
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
838
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
839
|
+
* See the License for the specific language governing permissions and
|
|
840
|
+
* limitations under the License.
|
|
841
|
+
*/class V{constructor(){this.providerId=V.PROVIDER_ID}static credential(e,t){return Y._fromEmailAndPassword(e,t)}static credentialWithLink(e,t){const r=qe.parseLink(t);return u(r,"argument-error"),Y._fromEmailAndCode(e,r.code,r.tenantId)}}V.PROVIDER_ID="password";V.EMAIL_PASSWORD_SIGN_IN_METHOD="password";V.EMAIL_LINK_SIGN_IN_METHOD="emailLink";/**
|
|
842
|
+
* @license
|
|
843
|
+
* Copyright 2020 Google LLC
|
|
844
|
+
*
|
|
845
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
846
|
+
* you may not use this file except in compliance with the License.
|
|
847
|
+
* You may obtain a copy of the License at
|
|
848
|
+
*
|
|
849
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
850
|
+
*
|
|
851
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
852
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
853
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
854
|
+
* See the License for the specific language governing permissions and
|
|
855
|
+
* limitations under the License.
|
|
856
|
+
*/class Zt{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}}/**
|
|
857
|
+
* @license
|
|
858
|
+
* Copyright 2019 Google LLC
|
|
859
|
+
*
|
|
860
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
861
|
+
* you may not use this file except in compliance with the License.
|
|
862
|
+
* You may obtain a copy of the License at
|
|
863
|
+
*
|
|
864
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
865
|
+
*
|
|
866
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
867
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
868
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
869
|
+
* See the License for the specific language governing permissions and
|
|
870
|
+
* limitations under the License.
|
|
871
|
+
*/class ne extends Zt{constructor(){super(...arguments),this.scopes=[]}addScope(e){return this.scopes.includes(e)||this.scopes.push(e),this}getScopes(){return[...this.scopes]}}/**
|
|
872
|
+
* @license
|
|
873
|
+
* Copyright 2020 Google LLC
|
|
874
|
+
*
|
|
875
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
876
|
+
* you may not use this file except in compliance with the License.
|
|
877
|
+
* You may obtain a copy of the License at
|
|
878
|
+
*
|
|
879
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
880
|
+
*
|
|
881
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
882
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
883
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
884
|
+
* See the License for the specific language governing permissions and
|
|
885
|
+
* limitations under the License.
|
|
886
|
+
*/class T extends ne{constructor(){super("facebook.com")}static credential(e){return M._fromParams({providerId:T.PROVIDER_ID,signInMethod:T.FACEBOOK_SIGN_IN_METHOD,accessToken:e})}static credentialFromResult(e){return T.credentialFromTaggedObject(e)}static credentialFromError(e){return T.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e||!("oauthAccessToken"in e)||!e.oauthAccessToken)return null;try{return T.credential(e.oauthAccessToken)}catch{return null}}}T.FACEBOOK_SIGN_IN_METHOD="facebook.com";T.PROVIDER_ID="facebook.com";/**
|
|
887
|
+
* @license
|
|
888
|
+
* Copyright 2020 Google LLC
|
|
889
|
+
*
|
|
890
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
891
|
+
* you may not use this file except in compliance with the License.
|
|
892
|
+
* You may obtain a copy of the License at
|
|
893
|
+
*
|
|
894
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
895
|
+
*
|
|
896
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
897
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
898
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
899
|
+
* See the License for the specific language governing permissions and
|
|
900
|
+
* limitations under the License.
|
|
901
|
+
*/class S extends ne{constructor(){super("google.com"),this.addScope("profile")}static credential(e,t){return M._fromParams({providerId:S.PROVIDER_ID,signInMethod:S.GOOGLE_SIGN_IN_METHOD,idToken:e,accessToken:t})}static credentialFromResult(e){return S.credentialFromTaggedObject(e)}static credentialFromError(e){return S.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e)return null;const{oauthIdToken:t,oauthAccessToken:r}=e;if(!t&&!r)return null;try{return S.credential(t,r)}catch{return null}}}S.GOOGLE_SIGN_IN_METHOD="google.com";S.PROVIDER_ID="google.com";/**
|
|
902
|
+
* @license
|
|
903
|
+
* Copyright 2020 Google LLC
|
|
904
|
+
*
|
|
905
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
906
|
+
* you may not use this file except in compliance with the License.
|
|
907
|
+
* You may obtain a copy of the License at
|
|
908
|
+
*
|
|
909
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
910
|
+
*
|
|
911
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
912
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
913
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
914
|
+
* See the License for the specific language governing permissions and
|
|
915
|
+
* limitations under the License.
|
|
916
|
+
*/class k extends ne{constructor(){super("github.com")}static credential(e){return M._fromParams({providerId:k.PROVIDER_ID,signInMethod:k.GITHUB_SIGN_IN_METHOD,accessToken:e})}static credentialFromResult(e){return k.credentialFromTaggedObject(e)}static credentialFromError(e){return k.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e||!("oauthAccessToken"in e)||!e.oauthAccessToken)return null;try{return k.credential(e.oauthAccessToken)}catch{return null}}}k.GITHUB_SIGN_IN_METHOD="github.com";k.PROVIDER_ID="github.com";/**
|
|
917
|
+
* @license
|
|
918
|
+
* Copyright 2020 Google LLC
|
|
919
|
+
*
|
|
920
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
921
|
+
* you may not use this file except in compliance with the License.
|
|
922
|
+
* You may obtain a copy of the License at
|
|
923
|
+
*
|
|
924
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
925
|
+
*
|
|
926
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
927
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
928
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
929
|
+
* See the License for the specific language governing permissions and
|
|
930
|
+
* limitations under the License.
|
|
931
|
+
*/class R extends ne{constructor(){super("twitter.com")}static credential(e,t){return M._fromParams({providerId:R.PROVIDER_ID,signInMethod:R.TWITTER_SIGN_IN_METHOD,oauthToken:e,oauthTokenSecret:t})}static credentialFromResult(e){return R.credentialFromTaggedObject(e)}static credentialFromError(e){return R.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e)return null;const{oauthAccessToken:t,oauthTokenSecret:r}=e;if(!t||!r)return null;try{return R.credential(t,r)}catch{return null}}}R.TWITTER_SIGN_IN_METHOD="twitter.com";R.PROVIDER_ID="twitter.com";/**
|
|
932
|
+
* @license
|
|
933
|
+
* Copyright 2020 Google LLC
|
|
934
|
+
*
|
|
935
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
936
|
+
* you may not use this file except in compliance with the License.
|
|
937
|
+
* You may obtain a copy of the License at
|
|
938
|
+
*
|
|
939
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
940
|
+
*
|
|
941
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
942
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
943
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
944
|
+
* See the License for the specific language governing permissions and
|
|
945
|
+
* limitations under the License.
|
|
946
|
+
*/class H{constructor(e){this.user=e.user,this.providerId=e.providerId,this._tokenResponse=e._tokenResponse,this.operationType=e.operationType}static async _fromIdTokenResponse(e,t,r,i=!1){const s=await D._fromIdTokenResponse(e,r,i),o=It(r);return new H({user:s,providerId:o,_tokenResponse:r,operationType:t})}static async _forOperation(e,t,r){await e._updateTokensIfNecessary(r,!0);const i=It(r);return new H({user:e,providerId:i,_tokenResponse:r,operationType:t})}}function It(n){return n.providerId?n.providerId:"phoneNumber"in n?"phone":null}/**
|
|
947
|
+
* @license
|
|
948
|
+
* Copyright 2020 Google LLC
|
|
949
|
+
*
|
|
950
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
951
|
+
* you may not use this file except in compliance with the License.
|
|
952
|
+
* You may obtain a copy of the License at
|
|
953
|
+
*
|
|
954
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
955
|
+
*
|
|
956
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
957
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
958
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
959
|
+
* See the License for the specific language governing permissions and
|
|
960
|
+
* limitations under the License.
|
|
961
|
+
*/class he extends O{constructor(e,t,r,i){var s;super(t.code,t.message),this.operationType=r,this.user=i,Object.setPrototypeOf(this,he.prototype),this.customData={appName:e.name,tenantId:(s=e.tenantId)!==null&&s!==void 0?s:void 0,_serverResponse:t.customData._serverResponse,operationType:r}}static _fromErrorAndOperation(e,t,r,i){return new he(e,t,r,i)}}function en(n,e,t,r){return(e==="reauthenticate"?t._getReauthenticationResolver(n):t._getIdTokenResponse(n)).catch(s=>{throw s.code==="auth/multi-factor-auth-required"?he._fromErrorAndOperation(n,s,e,r):s})}async function Ri(n,e,t=!1){const r=await K(n,e._linkToIdToken(n.auth,await n.getIdToken()),t);return H._forOperation(n,"link",r)}/**
|
|
962
|
+
* @license
|
|
963
|
+
* Copyright 2019 Google LLC
|
|
964
|
+
*
|
|
965
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
966
|
+
* you may not use this file except in compliance with the License.
|
|
967
|
+
* You may obtain a copy of the License at
|
|
968
|
+
*
|
|
969
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
970
|
+
*
|
|
971
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
972
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
973
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
974
|
+
* See the License for the specific language governing permissions and
|
|
975
|
+
* limitations under the License.
|
|
976
|
+
*/async function Ai(n,e,t=!1){var r;const{auth:i}=n,s="reauthenticate";try{const o=await K(n,en(i,s,e,n),t);u(o.idToken,i,"internal-error");const a=We(o.idToken);u(a,i,"internal-error");const{sub:c}=a;return u(n.uid===c,i,"user-mismatch"),H._forOperation(n,s,o)}catch(o){throw((r=o)===null||r===void 0?void 0:r.code)==="auth/user-not-found"&&g(i,"user-mismatch"),o}}/**
|
|
977
|
+
* @license
|
|
978
|
+
* Copyright 2020 Google LLC
|
|
979
|
+
*
|
|
980
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
981
|
+
* you may not use this file except in compliance with the License.
|
|
982
|
+
* You may obtain a copy of the License at
|
|
983
|
+
*
|
|
984
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
985
|
+
*
|
|
986
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
987
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
988
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
989
|
+
* See the License for the specific language governing permissions and
|
|
990
|
+
* limitations under the License.
|
|
991
|
+
*/async function tn(n,e,t=!1){const r="signIn",i=await en(n,r,e),s=await H._fromIdTokenResponse(n,r,i);return t||await n._updateCurrentUser(s.user),s}async function Oi(n,e){return tn(ze(n),e)}function Ci(n,e,t){return Oi(Z(n),V.credential(e,t))}const fe="__sak";/**
|
|
992
|
+
* @license
|
|
993
|
+
* Copyright 2019 Google LLC
|
|
994
|
+
*
|
|
995
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
996
|
+
* you may not use this file except in compliance with the License.
|
|
997
|
+
* You may obtain a copy of the License at
|
|
998
|
+
*
|
|
999
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1000
|
+
*
|
|
1001
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1002
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1003
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1004
|
+
* See the License for the specific language governing permissions and
|
|
1005
|
+
* limitations under the License.
|
|
1006
|
+
*/class nn{constructor(e,t){this.storageRetriever=e,this.type=t}_isAvailable(){try{return this.storage?(this.storage.setItem(fe,"1"),this.storage.removeItem(fe),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()}}/**
|
|
1007
|
+
* @license
|
|
1008
|
+
* Copyright 2020 Google LLC
|
|
1009
|
+
*
|
|
1010
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1011
|
+
* you may not use this file except in compliance with the License.
|
|
1012
|
+
* You may obtain a copy of the License at
|
|
1013
|
+
*
|
|
1014
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1015
|
+
*
|
|
1016
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1017
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1018
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1019
|
+
* See the License for the specific language governing permissions and
|
|
1020
|
+
* limitations under the License.
|
|
1021
|
+
*/function Di(){const n=p();return je(n)||ve(n)}const Pi=1e3,Ni=10;class rn extends nn{constructor(){super(()=>window.localStorage,"LOCAL"),this.boundEventHandler=(e,t)=>this.onStorageEvent(e,t),this.listeners={},this.localCache={},this.pollTimer=null,this.safariLocalStorageNotSynced=Di()&&_i(),this.fallbackToPolling=Xt(),this._shouldAllowMigration=!0}forAllChangedKeys(e){for(const t of Object.keys(this.listeners)){const r=this.storage.getItem(t),i=this.localCache[t];r!==i&&e(t,i,r)}}onStorageEvent(e,t=!1){if(!e.key){this.forAllChangedKeys((o,a,c)=>{this.notifyListeners(o,c)});return}const r=e.key;if(t?this.detachListener():this.stopPolling(),this.safariLocalStorageNotSynced){const o=this.storage.getItem(r);if(e.newValue!==o)e.newValue!==null?this.storage.setItem(r,e.newValue):this.storage.removeItem(r);else if(this.localCache[r]===e.newValue&&!t)return}const i=()=>{const o=this.storage.getItem(r);!t&&this.localCache[r]===o||this.notifyListeners(r,o)},s=this.storage.getItem(r);gi()&&s!==e.newValue&&e.newValue!==e.oldValue?setTimeout(i,Ni):i()}notifyListeners(e,t){this.localCache[e]=t;const r=this.listeners[e];if(r)for(const i of Array.from(r))i(t&&JSON.parse(t))}startPolling(){this.stopPolling(),this.pollTimer=setInterval(()=>{this.forAllChangedKeys((e,t,r)=>{this.onStorageEvent(new StorageEvent("storage",{key:e,oldValue:t,newValue:r}),!0)})},Pi)}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]}}rn.type="LOCAL";const Mi=rn;/**
|
|
1022
|
+
* @license
|
|
1023
|
+
* Copyright 2020 Google LLC
|
|
1024
|
+
*
|
|
1025
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1026
|
+
* you may not use this file except in compliance with the License.
|
|
1027
|
+
* You may obtain a copy of the License at
|
|
1028
|
+
*
|
|
1029
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1030
|
+
*
|
|
1031
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1032
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1033
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1034
|
+
* See the License for the specific language governing permissions and
|
|
1035
|
+
* limitations under the License.
|
|
1036
|
+
*/class sn extends nn{constructor(){super(()=>window.sessionStorage,"SESSION")}_addListener(e,t){}_removeListener(e,t){}}sn.type="SESSION";const on=sn;/**
|
|
1037
|
+
* @license
|
|
1038
|
+
* Copyright 2019 Google LLC
|
|
1039
|
+
*
|
|
1040
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1041
|
+
* you may not use this file except in compliance with the License.
|
|
1042
|
+
* You may obtain a copy of the License at
|
|
1043
|
+
*
|
|
1044
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1045
|
+
*
|
|
1046
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1047
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1048
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1049
|
+
* See the License for the specific language governing permissions and
|
|
1050
|
+
* limitations under the License.
|
|
1051
|
+
*/function Li(n){return Promise.all(n.map(async e=>{try{const t=await e;return{fulfilled:!0,value:t}}catch(t){return{fulfilled:!1,reason:t}}}))}/**
|
|
1052
|
+
* @license
|
|
1053
|
+
* Copyright 2019 Google LLC
|
|
1054
|
+
*
|
|
1055
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1056
|
+
* you may not use this file except in compliance with the License.
|
|
1057
|
+
* You may obtain a copy of the License at
|
|
1058
|
+
*
|
|
1059
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1060
|
+
*
|
|
1061
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1062
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1063
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1064
|
+
* See the License for the specific language governing permissions and
|
|
1065
|
+
* limitations under the License.
|
|
1066
|
+
*/class Ie{constructor(e){this.eventTarget=e,this.handlersMap={},this.boundEventHandler=this.handleEvent.bind(this)}static _getInstance(e){const t=this.receivers.find(i=>i.isListeningto(e));if(t)return t;const r=new Ie(e);return this.receivers.push(r),r}isListeningto(e){return this.eventTarget===e}async handleEvent(e){const t=e,{eventId:r,eventType:i,data:s}=t.data,o=this.handlersMap[i];if(!o?.size)return;t.ports[0].postMessage({status:"ack",eventId:r,eventType:i});const a=Array.from(o).map(async l=>l(t.origin,s)),c=await Li(a);t.ports[0].postMessage({status:"done",eventId:r,eventType:i,response:c})}_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)}}Ie.receivers=[];/**
|
|
1067
|
+
* @license
|
|
1068
|
+
* Copyright 2020 Google LLC
|
|
1069
|
+
*
|
|
1070
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1071
|
+
* you may not use this file except in compliance with the License.
|
|
1072
|
+
* You may obtain a copy of the License at
|
|
1073
|
+
*
|
|
1074
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1075
|
+
*
|
|
1076
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1077
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1078
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1079
|
+
* See the License for the specific language governing permissions and
|
|
1080
|
+
* limitations under the License.
|
|
1081
|
+
*/function Ke(n="",e=10){let t="";for(let r=0;r<e;r++)t+=Math.floor(Math.random()*10);return n+t}/**
|
|
1082
|
+
* @license
|
|
1083
|
+
* Copyright 2019 Google LLC
|
|
1084
|
+
*
|
|
1085
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1086
|
+
* you may not use this file except in compliance with the License.
|
|
1087
|
+
* You may obtain a copy of the License at
|
|
1088
|
+
*
|
|
1089
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1090
|
+
*
|
|
1091
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1092
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1093
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1094
|
+
* See the License for the specific language governing permissions and
|
|
1095
|
+
* limitations under the License.
|
|
1096
|
+
*/class Ui{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,r=50){const i=typeof MessageChannel<"u"?new MessageChannel:null;if(!i)throw new Error("connection_unavailable");let s,o;return new Promise((a,c)=>{const l=Ke("",20);i.port1.start();const d=setTimeout(()=>{c(new Error("unsupported_event"))},r);o={messageChannel:i,onMessage(f){const m=f;if(m.data.eventId===l)switch(m.data.status){case"ack":clearTimeout(d),s=setTimeout(()=>{c(new Error("timeout"))},3e3);break;case"done":clearTimeout(s),a(m.data.response);break;default:clearTimeout(d),clearTimeout(s),c(new Error("invalid_response"));break}}},this.handlers.add(o),i.port1.addEventListener("message",o.onMessage),this.target.postMessage({eventType:e,eventId:l,data:t},[i.port2])}).finally(()=>{o&&this.removeMessageHandler(o)})}}/**
|
|
1097
|
+
* @license
|
|
1098
|
+
* Copyright 2020 Google LLC
|
|
1099
|
+
*
|
|
1100
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1101
|
+
* you may not use this file except in compliance with the License.
|
|
1102
|
+
* You may obtain a copy of the License at
|
|
1103
|
+
*
|
|
1104
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1105
|
+
*
|
|
1106
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1107
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1108
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1109
|
+
* See the License for the specific language governing permissions and
|
|
1110
|
+
* limitations under the License.
|
|
1111
|
+
*/function v(){return window}function Bi(n){v().location.href=n}/**
|
|
1112
|
+
* @license
|
|
1113
|
+
* Copyright 2020 Google LLC.
|
|
1114
|
+
*
|
|
1115
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1116
|
+
* you may not use this file except in compliance with the License.
|
|
1117
|
+
* You may obtain a copy of the License at
|
|
1118
|
+
*
|
|
1119
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1120
|
+
*
|
|
1121
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1122
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1123
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1124
|
+
* See the License for the specific language governing permissions and
|
|
1125
|
+
* limitations under the License.
|
|
1126
|
+
*/function an(){return typeof v().WorkerGlobalScope<"u"&&typeof v().importScripts=="function"}async function xi(){if(!navigator?.serviceWorker)return null;try{return(await navigator.serviceWorker.ready).active}catch{return null}}function Fi(){var n;return((n=navigator?.serviceWorker)===null||n===void 0?void 0:n.controller)||null}function $i(){return an()?self:null}/**
|
|
1127
|
+
* @license
|
|
1128
|
+
* Copyright 2019 Google LLC
|
|
1129
|
+
*
|
|
1130
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1131
|
+
* you may not use this file except in compliance with the License.
|
|
1132
|
+
* You may obtain a copy of the License at
|
|
1133
|
+
*
|
|
1134
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1135
|
+
*
|
|
1136
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1137
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1138
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1139
|
+
* See the License for the specific language governing permissions and
|
|
1140
|
+
* limitations under the License.
|
|
1141
|
+
*/const cn="firebaseLocalStorageDb",Hi=1,pe="firebaseLocalStorage",ln="fbase_key";class re{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 ye(n,e){return n.transaction([pe],e?"readwrite":"readonly").objectStore(pe)}function Vi(){const n=indexedDB.deleteDatabase(cn);return new re(n).toPromise()}function xe(){const n=indexedDB.open(cn,Hi);return new Promise((e,t)=>{n.addEventListener("error",()=>{t(n.error)}),n.addEventListener("upgradeneeded",()=>{const r=n.result;try{r.createObjectStore(pe,{keyPath:ln})}catch(i){t(i)}}),n.addEventListener("success",async()=>{const r=n.result;r.objectStoreNames.contains(pe)?e(r):(r.close(),await Vi(),e(await xe()))})})}async function yt(n,e,t){const r=ye(n,!0).put({[ln]:e,value:t});return new re(r).toPromise()}async function Wi(n,e){const t=ye(n,!1).get(e),r=await new re(t).toPromise();return r===void 0?null:r.value}function bt(n,e){const t=ye(n,!0).delete(e);return new re(t).toPromise()}const ji=800,zi=3;class un{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 xe(),this.db)}async _withRetries(e){let t=0;for(;;)try{const r=await this._openDb();return await e(r)}catch(r){if(t++>zi)throw r;this.db&&(this.db.close(),this.db=void 0)}}async initializeServiceWorkerMessaging(){return an()?this.initializeReceiver():this.initializeSender()}async initializeReceiver(){this.receiver=Ie._getInstance($i()),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 xi(),!this.activeServiceWorker)return;this.sender=new Ui(this.activeServiceWorker);const r=await this.sender._send("ping",{},800);!r||((e=r[0])===null||e===void 0?void 0:e.fulfilled)&&((t=r[0])===null||t===void 0?void 0:t.value.includes("keyChanged"))&&(this.serviceWorkerReceiverAvailable=!0)}async notifyServiceWorker(e){if(!(!this.sender||!this.activeServiceWorker||Fi()!==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 xe();return await yt(e,fe,"1"),await bt(e,fe),!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(r=>yt(r,e,t)),this.localCache[e]=t,this.notifyServiceWorker(e)))}async _get(e){const t=await this._withRetries(r=>Wi(r,e));return this.localCache[e]=t,t}async _remove(e){return this._withPendingWrite(async()=>(await this._withRetries(t=>bt(t,e)),delete this.localCache[e],this.notifyServiceWorker(e)))}async _poll(){const e=await this._withRetries(i=>{const s=ye(i,!1).getAll();return new re(s).toPromise()});if(!e)return[];if(this.pendingWrites!==0)return[];const t=[],r=new Set;for(const{fbase_key:i,value:s}of e)r.add(i),JSON.stringify(this.localCache[i])!==JSON.stringify(s)&&(this.notifyListeners(i,s),t.push(i));for(const i of Object.keys(this.localCache))this.localCache[i]&&!r.has(i)&&(this.notifyListeners(i,null),t.push(i));return t}notifyListeners(e,t){this.localCache[e]=t;const r=this.listeners[e];if(r)for(const i of Array.from(r))i(t)}startPolling(){this.stopPolling(),this.pollTimer=setInterval(async()=>this._poll(),ji)}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()}}un.type="LOCAL";const Gi=un;/**
|
|
1142
|
+
* @license
|
|
1143
|
+
* Copyright 2020 Google LLC
|
|
1144
|
+
*
|
|
1145
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1146
|
+
* you may not use this file except in compliance with the License.
|
|
1147
|
+
* You may obtain a copy of the License at
|
|
1148
|
+
*
|
|
1149
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1150
|
+
*
|
|
1151
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1152
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1153
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1154
|
+
* See the License for the specific language governing permissions and
|
|
1155
|
+
* limitations under the License.
|
|
1156
|
+
*/function qi(){var n,e;return(e=(n=document.getElementsByTagName("head"))===null||n===void 0?void 0:n[0])!==null&&e!==void 0?e:document}function Ki(n){return new Promise((e,t)=>{const r=document.createElement("script");r.setAttribute("src",n),r.onload=e,r.onerror=i=>{const s=_("internal-error");s.customData=i,t(s)},r.type="text/javascript",r.charset="UTF-8",qi().appendChild(r)})}function Ji(n){return`__${n}${Math.floor(Math.random()*1e6)}`}new ee(3e4,6e4);/**
|
|
1157
|
+
* @license
|
|
1158
|
+
* Copyright 2021 Google LLC
|
|
1159
|
+
*
|
|
1160
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1161
|
+
* you may not use this file except in compliance with the License.
|
|
1162
|
+
* You may obtain a copy of the License at
|
|
1163
|
+
*
|
|
1164
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1165
|
+
*
|
|
1166
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1167
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1168
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1169
|
+
* See the License for the specific language governing permissions and
|
|
1170
|
+
* limitations under the License.
|
|
1171
|
+
*/function Yi(n,e){return e?b(e):(u(n._popupRedirectResolver,n,"argument-error"),n._popupRedirectResolver)}/**
|
|
1172
|
+
* @license
|
|
1173
|
+
* Copyright 2019 Google LLC
|
|
1174
|
+
*
|
|
1175
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1176
|
+
* you may not use this file except in compliance with the License.
|
|
1177
|
+
* You may obtain a copy of the License at
|
|
1178
|
+
*
|
|
1179
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1180
|
+
*
|
|
1181
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1182
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1183
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1184
|
+
* See the License for the specific language governing permissions and
|
|
1185
|
+
* limitations under the License.
|
|
1186
|
+
*/class Je extends Ge{constructor(e){super("custom","custom"),this.params=e}_getIdTokenResponse(e){return F(e,this._buildIdpRequest())}_linkToIdToken(e,t){return F(e,this._buildIdpRequest(t))}_getReauthenticationResolver(e){return F(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 Xi(n){return tn(n.auth,new Je(n),n.bypassAuthState)}function Qi(n){const{auth:e,user:t}=n;return u(t,e,"internal-error"),Ai(t,new Je(n),n.bypassAuthState)}async function Zi(n){const{auth:e,user:t}=n;return u(t,e,"internal-error"),Ri(t,new Je(n),n.bypassAuthState)}/**
|
|
1187
|
+
* @license
|
|
1188
|
+
* Copyright 2020 Google LLC
|
|
1189
|
+
*
|
|
1190
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1191
|
+
* you may not use this file except in compliance with the License.
|
|
1192
|
+
* You may obtain a copy of the License at
|
|
1193
|
+
*
|
|
1194
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1195
|
+
*
|
|
1196
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1197
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1198
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1199
|
+
* See the License for the specific language governing permissions and
|
|
1200
|
+
* limitations under the License.
|
|
1201
|
+
*/class dn{constructor(e,t,r,i,s=!1){this.auth=e,this.resolver=r,this.user=i,this.bypassAuthState=s,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(r){this.reject(r)}})}async onAuthEvent(e){const{urlResponse:t,sessionId:r,postBody:i,tenantId:s,error:o,type:a}=e;if(o){this.reject(o);return}const c={auth:this.auth,requestUri:t,sessionId:r,tenantId:s||void 0,postBody:i||void 0,user:this.user,bypassAuthState:this.bypassAuthState};try{this.resolve(await this.getIdpTask(a)(c))}catch(l){this.reject(l)}}onError(e){this.reject(e)}getIdpTask(e){switch(e){case"signInViaPopup":case"signInViaRedirect":return Xi;case"linkViaPopup":case"linkViaRedirect":return Zi;case"reauthViaPopup":case"reauthViaRedirect":return Qi;default:g(this.auth,"internal-error")}}resolve(e){w(this.pendingPromise,"Pending promise was never set"),this.pendingPromise.resolve(e),this.unregisterAndCleanUp()}reject(e){w(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()}}/**
|
|
1202
|
+
* @license
|
|
1203
|
+
* Copyright 2020 Google LLC
|
|
1204
|
+
*
|
|
1205
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1206
|
+
* you may not use this file except in compliance with the License.
|
|
1207
|
+
* You may obtain a copy of the License at
|
|
1208
|
+
*
|
|
1209
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1210
|
+
*
|
|
1211
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1212
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1213
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1214
|
+
* See the License for the specific language governing permissions and
|
|
1215
|
+
* limitations under the License.
|
|
1216
|
+
*/const es=new ee(2e3,1e4);class U extends dn{constructor(e,t,r,i,s){super(e,t,i,s),this.provider=r,this.authWindow=null,this.pollId=null,U.currentPopupAction&&U.currentPopupAction.cancel(),U.currentPopupAction=this}async executeNotNull(){const e=await this.execute();return u(e,this.auth,"internal-error"),e}async onExecution(){w(this.filter.length===1,"Popup operations only handle one event");const e=Ke();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(_(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(_(this.auth,"cancelled-popup-request"))}cleanUp(){this.authWindow&&this.authWindow.close(),this.pollId&&window.clearTimeout(this.pollId),this.authWindow=null,this.pollId=null,U.currentPopupAction=null}pollUserCancellation(){const e=()=>{var t,r;if(!((r=(t=this.authWindow)===null||t===void 0?void 0:t.window)===null||r===void 0)&&r.closed){this.pollId=window.setTimeout(()=>{this.pollId=null,this.reject(_(this.auth,"popup-closed-by-user"))},2e3);return}this.pollId=window.setTimeout(e,es.get())};e()}}U.currentPopupAction=null;/**
|
|
1217
|
+
* @license
|
|
1218
|
+
* Copyright 2020 Google LLC
|
|
1219
|
+
*
|
|
1220
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1221
|
+
* you may not use this file except in compliance with the License.
|
|
1222
|
+
* You may obtain a copy of the License at
|
|
1223
|
+
*
|
|
1224
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1225
|
+
*
|
|
1226
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1227
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1228
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1229
|
+
* See the License for the specific language governing permissions and
|
|
1230
|
+
* limitations under the License.
|
|
1231
|
+
*/const ts="pendingRedirect",ae=new Map;class ns extends dn{constructor(e,t,r=!1){super(e,["signInViaRedirect","linkViaRedirect","reauthViaRedirect","unknown"],t,void 0,r),this.eventId=null}async execute(){let e=ae.get(this.auth._key());if(!e){try{const r=await rs(this.resolver,this.auth)?await super.execute():null;e=()=>Promise.resolve(r)}catch(t){e=()=>Promise.reject(t)}ae.set(this.auth._key(),e)}return this.bypassAuthState||ae.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 rs(n,e){const t=os(e),r=ss(n);if(!await r._isAvailable())return!1;const i=await r._get(t)==="true";return await r._remove(t),i}function is(n,e){ae.set(n._key(),e)}function ss(n){return b(n._redirectPersistence)}function os(n){return oe(ts,n.config.apiKey,n.name)}async function as(n,e,t=!1){const r=ze(n),i=Yi(r,e),o=await new ns(r,i,t).execute();return o&&!t&&(delete o.user._redirectEventId,await r._persistUserIfCurrent(o.user),await r._setRedirectUser(null,e)),o}/**
|
|
1232
|
+
* @license
|
|
1233
|
+
* Copyright 2020 Google LLC
|
|
1234
|
+
*
|
|
1235
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1236
|
+
* you may not use this file except in compliance with the License.
|
|
1237
|
+
* You may obtain a copy of the License at
|
|
1238
|
+
*
|
|
1239
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1240
|
+
*
|
|
1241
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1242
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1243
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1244
|
+
* See the License for the specific language governing permissions and
|
|
1245
|
+
* limitations under the License.
|
|
1246
|
+
*/const cs=10*60*1e3;class ls{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(r=>{this.isEventForConsumer(e,r)&&(t=!0,this.sendToConsumer(e,r),this.saveEventToCache(e))}),this.hasHandledPotentialRedirect||!us(e)||(this.hasHandledPotentialRedirect=!0,t||(this.queuedRedirectEvent=e,t=!0)),t}sendToConsumer(e,t){var r;if(e.error&&!hn(e)){const i=((r=e.error.code)===null||r===void 0?void 0:r.split("auth/")[1])||"internal-error";t.onError(_(this.auth,i))}else t.onAuthEvent(e)}isEventForConsumer(e,t){const r=t.eventId===null||!!e.eventId&&e.eventId===t.eventId;return t.filter.includes(e.type)&&r}hasEventBeenHandled(e){return Date.now()-this.lastProcessedEventTime>=cs&&this.cachedEventUids.clear(),this.cachedEventUids.has(wt(e))}saveEventToCache(e){this.cachedEventUids.add(wt(e)),this.lastProcessedEventTime=Date.now()}}function wt(n){return[n.type,n.eventId,n.sessionId,n.tenantId].filter(e=>e).join("-")}function hn({type:n,error:e}){return n==="unknown"&&e?.code==="auth/no-auth-event"}function us(n){switch(n.type){case"signInViaRedirect":case"linkViaRedirect":case"reauthViaRedirect":return!0;case"unknown":return hn(n);default:return!1}}/**
|
|
1247
|
+
* @license
|
|
1248
|
+
* Copyright 2020 Google LLC
|
|
1249
|
+
*
|
|
1250
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1251
|
+
* you may not use this file except in compliance with the License.
|
|
1252
|
+
* You may obtain a copy of the License at
|
|
1253
|
+
*
|
|
1254
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1255
|
+
*
|
|
1256
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1257
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1258
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1259
|
+
* See the License for the specific language governing permissions and
|
|
1260
|
+
* limitations under the License.
|
|
1261
|
+
*/async function ds(n,e={}){return te(n,"GET","/v1/projects",e)}/**
|
|
1262
|
+
* @license
|
|
1263
|
+
* Copyright 2020 Google LLC
|
|
1264
|
+
*
|
|
1265
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1266
|
+
* you may not use this file except in compliance with the License.
|
|
1267
|
+
* You may obtain a copy of the License at
|
|
1268
|
+
*
|
|
1269
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1270
|
+
*
|
|
1271
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1272
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1273
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1274
|
+
* See the License for the specific language governing permissions and
|
|
1275
|
+
* limitations under the License.
|
|
1276
|
+
*/const hs=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,fs=/^https?/;async function ps(n){if(n.config.emulator)return;const{authorizedDomains:e}=await ds(n);for(const t of e)try{if(ms(t))return}catch{}g(n,"unauthorized-domain")}function ms(n){const e=Be(),{protocol:t,hostname:r}=new URL(e);if(n.startsWith("chrome-extension://")){const o=new URL(n);return o.hostname===""&&r===""?t==="chrome-extension:"&&n.replace("chrome-extension://","")===e.replace("chrome-extension://",""):t==="chrome-extension:"&&o.hostname===r}if(!fs.test(t))return!1;if(hs.test(n))return r===n;const i=n.replace(/\./g,"\\.");return new RegExp("^(.+\\."+i+"|"+i+")$","i").test(r)}/**
|
|
1277
|
+
* @license
|
|
1278
|
+
* Copyright 2020 Google LLC.
|
|
1279
|
+
*
|
|
1280
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1281
|
+
* you may not use this file except in compliance with the License.
|
|
1282
|
+
* You may obtain a copy of the License at
|
|
1283
|
+
*
|
|
1284
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1285
|
+
*
|
|
1286
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1287
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1288
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1289
|
+
* See the License for the specific language governing permissions and
|
|
1290
|
+
* limitations under the License.
|
|
1291
|
+
*/const gs=new ee(3e4,6e4);function Et(){const n=v().___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 _s(n){return new Promise((e,t)=>{var r,i,s;function o(){Et(),gapi.load("gapi.iframes",{callback:()=>{e(gapi.iframes.getContext())},ontimeout:()=>{Et(),t(_(n,"network-request-failed"))},timeout:gs.get()})}if(!((i=(r=v().gapi)===null||r===void 0?void 0:r.iframes)===null||i===void 0)&&i.Iframe)e(gapi.iframes.getContext());else if(!((s=v().gapi)===null||s===void 0)&&s.load)o();else{const a=Ji("iframefcb");return v()[a]=()=>{gapi.load?o():t(_(n,"network-request-failed"))},Ki(`https://apis.google.com/js/api.js?onload=${a}`).catch(c=>t(c))}}).catch(e=>{throw ce=null,e})}let ce=null;function vs(n){return ce=ce||_s(n),ce}/**
|
|
1292
|
+
* @license
|
|
1293
|
+
* Copyright 2020 Google LLC.
|
|
1294
|
+
*
|
|
1295
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1296
|
+
* you may not use this file except in compliance with the License.
|
|
1297
|
+
* You may obtain a copy of the License at
|
|
1298
|
+
*
|
|
1299
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1300
|
+
*
|
|
1301
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1302
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1303
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1304
|
+
* See the License for the specific language governing permissions and
|
|
1305
|
+
* limitations under the License.
|
|
1306
|
+
*/const Is=new ee(5e3,15e3),ys="__/auth/iframe",bs="emulator/auth/iframe",ws={style:{position:"absolute",top:"-100px",width:"1px",height:"1px"},"aria-hidden":"true",tabindex:"-1"},Es=new Map([["identitytoolkit.googleapis.com","p"],["staging-identitytoolkit.sandbox.googleapis.com","s"],["test-identitytoolkit.sandbox.googleapis.com","t"]]);function Ts(n){const e=n.config;u(e.authDomain,n,"auth-domain-config-required");const t=e.emulator?Ve(e,bs):`https://${n.config.authDomain}/${ys}`,r={apiKey:e.apiKey,appName:n.name,v:me},i=Es.get(n.config.apiHost);i&&(r.eid=i);const s=n._getFrameworks();return s.length&&(r.fw=s.join(",")),`${t}?${Q(r).slice(1)}`}async function Ss(n){const e=await vs(n),t=v().gapi;return u(t,n,"internal-error"),e.open({where:document.body,url:Ts(n),messageHandlersFilter:t.iframes.CROSS_ORIGIN_IFRAMES_FILTER,attributes:ws,dontclear:!0},r=>new Promise(async(i,s)=>{await r.restyle({setHideOnLeave:!1});const o=_(n,"network-request-failed"),a=v().setTimeout(()=>{s(o)},Is.get());function c(){v().clearTimeout(a),i(r)}r.ping(c).then(c,()=>{s(o)})}))}/**
|
|
1307
|
+
* @license
|
|
1308
|
+
* Copyright 2020 Google LLC.
|
|
1309
|
+
*
|
|
1310
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1311
|
+
* you may not use this file except in compliance with the License.
|
|
1312
|
+
* You may obtain a copy of the License at
|
|
1313
|
+
*
|
|
1314
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1315
|
+
*
|
|
1316
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1317
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1318
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1319
|
+
* See the License for the specific language governing permissions and
|
|
1320
|
+
* limitations under the License.
|
|
1321
|
+
*/const ks={location:"yes",resizable:"yes",statusbar:"yes",toolbar:"no"},Rs=500,As=600,Os="_blank",Cs="http://localhost";class Tt{constructor(e){this.window=e,this.associatedEvent=null}close(){if(this.window)try{this.window.close()}catch{}}}function Ds(n,e,t,r=Rs,i=As){const s=Math.max((window.screen.availHeight-i)/2,0).toString(),o=Math.max((window.screen.availWidth-r)/2,0).toString();let a="";const c=Object.assign(Object.assign({},ks),{width:r.toString(),height:i.toString(),top:s,left:o}),l=p().toLowerCase();t&&(a=Gt(l)?Os:t),zt(l)&&(e=e||Cs,c.scrollbars="yes");const d=Object.entries(c).reduce((m,[I,L])=>`${m}${I}=${L},`,"");if(mi(l)&&a!=="_self")return Ps(e||"",a),new Tt(null);const f=window.open(e||"",a,d);u(f,n,"popup-blocked");try{f.focus()}catch{}return new Tt(f)}function Ps(n,e){const t=document.createElement("a");t.href=n,t.target=e;const r=document.createEvent("MouseEvent");r.initMouseEvent("click",!0,!0,window,1,0,0,0,0,!1,!1,!1,!1,1,null),t.dispatchEvent(r)}/**
|
|
1322
|
+
* @license
|
|
1323
|
+
* Copyright 2021 Google LLC
|
|
1324
|
+
*
|
|
1325
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1326
|
+
* you may not use this file except in compliance with the License.
|
|
1327
|
+
* You may obtain a copy of the License at
|
|
1328
|
+
*
|
|
1329
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1330
|
+
*
|
|
1331
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1332
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1333
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1334
|
+
* See the License for the specific language governing permissions and
|
|
1335
|
+
* limitations under the License.
|
|
1336
|
+
*/const Ns="__/auth/handler",Ms="emulator/auth/handler";function St(n,e,t,r,i,s){u(n.config.authDomain,n,"auth-domain-config-required"),u(n.config.apiKey,n,"invalid-api-key");const o={apiKey:n.config.apiKey,appName:n.name,authType:t,redirectUrl:r,v:me,eventId:i};if(e instanceof Zt){e.setDefaultLanguage(n.languageCode),o.providerId=e.providerId||"",Ln(e.getCustomParameters())||(o.customParameters=JSON.stringify(e.getCustomParameters()));for(const[c,l]of Object.entries(s||{}))o[c]=l}if(e instanceof ne){const c=e.getScopes().filter(l=>l!=="");c.length>0&&(o.scopes=c.join(","))}n.tenantId&&(o.tid=n.tenantId);const a=o;for(const c of Object.keys(a))a[c]===void 0&&delete a[c];return`${Ls(n)}?${Q(a).slice(1)}`}function Ls({config:n}){return n.emulator?Ve(n,Ms):`https://${n.authDomain}/${Ns}`}/**
|
|
1337
|
+
* @license
|
|
1338
|
+
* Copyright 2020 Google LLC
|
|
1339
|
+
*
|
|
1340
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1341
|
+
* you may not use this file except in compliance with the License.
|
|
1342
|
+
* You may obtain a copy of the License at
|
|
1343
|
+
*
|
|
1344
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1345
|
+
*
|
|
1346
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1347
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1348
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1349
|
+
* See the License for the specific language governing permissions and
|
|
1350
|
+
* limitations under the License.
|
|
1351
|
+
*/const Pe="webStorageSupport";class Us{constructor(){this.eventManagers={},this.iframes={},this.originValidationPromises={},this._redirectPersistence=on,this._completeRedirectFn=as,this._overrideRedirectResult=is}async _openPopup(e,t,r,i){var s;w((s=this.eventManagers[e._key()])===null||s===void 0?void 0:s.manager,"_initialize() not called before _openPopup()");const o=St(e,t,r,Be(),i);return Ds(e,o,Ke())}async _openRedirect(e,t,r,i){return await this._originValidation(e),Bi(St(e,t,r,Be(),i)),new Promise(()=>{})}_initialize(e){const t=e._key();if(this.eventManagers[t]){const{manager:i,promise:s}=this.eventManagers[t];return i?Promise.resolve(i):(w(s,"If manager is not set, promise should be"),s)}const r=this.initAndGetManager(e);return this.eventManagers[t]={promise:r},r.catch(()=>{delete this.eventManagers[t]}),r}async initAndGetManager(e){const t=await Ss(e),r=new ls(e);return t.register("authEvent",i=>(u(i?.authEvent,e,"invalid-auth-event"),{status:r.onEvent(i.authEvent)?"ACK":"ERROR"}),gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER),this.eventManagers[e._key()]={manager:r},this.iframes[e._key()]=t,r}_isIframeWebStorageSupported(e,t){this.iframes[e._key()].send(Pe,{type:Pe},i=>{var s;const o=(s=i?.[0])===null||s===void 0?void 0:s[Pe];o!==void 0&&t(!!o),g(e,"internal-error")},gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER)}_originValidation(e){const t=e._key();return this.originValidationPromises[t]||(this.originValidationPromises[t]=ps(e)),this.originValidationPromises[t]}get _shouldInitProactively(){return Xt()||je()||ve()}}const Bs=Us;var kt="@firebase/auth",Rt="0.20.7";/**
|
|
1352
|
+
* @license
|
|
1353
|
+
* Copyright 2020 Google LLC
|
|
1354
|
+
*
|
|
1355
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1356
|
+
* you may not use this file except in compliance with the License.
|
|
1357
|
+
* You may obtain a copy of the License at
|
|
1358
|
+
*
|
|
1359
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1360
|
+
*
|
|
1361
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1362
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1363
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1364
|
+
* See the License for the specific language governing permissions and
|
|
1365
|
+
* limitations under the License.
|
|
1366
|
+
*/class xs{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(r=>{var i;e(((i=r)===null||i===void 0?void 0: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(){u(this.auth._initializationPromise,"dependent-sdk-initialized-before-auth")}updateProactiveRefresh(){this.internalListeners.size>0?this.auth._startProactiveRefresh():this.auth._stopProactiveRefresh()}}/**
|
|
1367
|
+
* @license
|
|
1368
|
+
* Copyright 2020 Google LLC
|
|
1369
|
+
*
|
|
1370
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1371
|
+
* you may not use this file except in compliance with the License.
|
|
1372
|
+
* You may obtain a copy of the License at
|
|
1373
|
+
*
|
|
1374
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1375
|
+
*
|
|
1376
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1377
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1378
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1379
|
+
* See the License for the specific language governing permissions and
|
|
1380
|
+
* limitations under the License.
|
|
1381
|
+
*/function Fs(n){switch(n){case"Node":return"node";case"ReactNative":return"rn";case"Worker":return"webworker";case"Cordova":return"cordova";default:return}}function $s(n){G(new $("auth",(e,{options:t})=>{const r=e.getProvider("app").getImmediate(),i=e.getProvider("heartbeat"),{apiKey:s,authDomain:o}=r.options;return((a,c)=>{u(s&&!s.includes(":"),"invalid-api-key",{appName:a.name}),u(!o?.includes(":"),"argument-error",{appName:a.name});const l={apiKey:s,authDomain:o,clientPlatform:n,apiHost:"identitytoolkit.googleapis.com",tokenApiHost:"securetoken.googleapis.com",apiScheme:"https",sdkClientVersion:Qt(n)},d=new Ii(a,c,l);return Qr(d,t),d})(r,i)},"PUBLIC").setInstantiationMode("EXPLICIT").setInstanceCreatedCallback((e,t,r)=>{e.getProvider("auth-internal").initialize()})),G(new $("auth-internal",e=>{const t=ze(e.getProvider("auth").getImmediate());return(r=>new xs(r))(t)},"PRIVATE").setInstantiationMode("EXPLICIT")),B(kt,Rt,Fs(n)),B(kt,Rt,"esm2017")}/**
|
|
1382
|
+
* @license
|
|
1383
|
+
* Copyright 2021 Google LLC
|
|
1384
|
+
*
|
|
1385
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1386
|
+
* you may not use this file except in compliance with the License.
|
|
1387
|
+
* You may obtain a copy of the License at
|
|
1388
|
+
*
|
|
1389
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1390
|
+
*
|
|
1391
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1392
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1393
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1394
|
+
* See the License for the specific language governing permissions and
|
|
1395
|
+
* limitations under the License.
|
|
1396
|
+
*/function Hs(n=Ur()){const e=Lt(n,"auth");return e.isInitialized()?e.getImmediate():Xr(n,{popupRedirectResolver:Bs,persistence:[Gi,Mi,on]})}$s("Browser");const Vs=["onSubmit"],Ws={type:"submit",class:"btn btn-block btn-primary"},Ks=mn({__name:"LoginForm",setup(n){const e=Hs(),t=nt(""),r=nt(""),i=()=>{Ci(e,t.value,r.value).then(s=>{const{user:o}=s;console.log(o)}).catch(s=>{console.warn(s.code),console.error(s)})};return(s,o)=>(yn(),gn("form",{onSubmit:In(i,["prevent"])},[rt(Se("input",{ref:"input",type:"email",placeholder:"email@mail.com","onUpdate:modelValue":o[0]||(o[0]=a=>t.value=a),required:""},null,512),[[it,t.value]]),rt(Se("input",{ref:"input",type:"password",placeholder:"***","onUpdate:modelValue":o[1]||(o[1]=a=>r.value=a),required:""},null,512),[[it,r.value]]),Se("button",Ws,_n(vn(bn)),1)],40,Vs))}});export{Ks as default};
|