@ file : Suppress (" unused ") Ċ Ċ package Ġcom . github . lam ba 9 2 . firebase multi platform . auth Ċ Ċ import Ġcom . github . lam ba 9 2 . firebase multi platform . core . resume With Exception Ċ import Ġcom . google . firebase . FI R User Ċ import Ġcom . google . firebase . FI R UserInfo Protocol Ċ import Ġkotlinx . coroutines . Experimental Cor outines Api Ċ import Ġkotlinx . coroutines . suspend C ancellable Coroutine Ċ import Ġplatform . Foundation . NS URL Ċ import Ġkotlin . coroutines . resume Ċ Ċ actual Ġclass ĠFirebase User ( val Ġdelegate : ĠFIR User ) Ġ{ ĊĊĠĠĠ Ġactual Ġval ĠdisplayName : ĠString ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġdelegate . displayName ĊĠĠĠ Ġactual Ġval Ġemail : ĠString ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġdelegate . email ĊĠĠĠ Ġactual Ġval Ġmetadata : ĠFirebase User Metadata ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġdelegate . metadata . to M pp () ĊĠĠĠ Ġactual Ġval ĠphoneNumber : ĠString ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġdelegate . phoneNumber ĊĠĠĠ Ġactual Ġval Ġphoto Url : ĠString ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġdelegate . phoneNumber ĊĠĠĠ Ġactual Ġval Ġprovider Data : ĠList < Firebase UserInfo > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġdelegate . provider Data . map NotNull Ġ{ Ġ( it Ġas ? ĠFIR UserInfo Protocol )?. to M pp () Ġ} ĊĠĠĠ Ġactual Ġval Ġprovider Id : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġdelegate . provider ID ĊĠĠĠ Ġactual Ġval Ġuid : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġdelegate . uid ĊĠĠĠ Ġactual Ġval Ġis Anonymous : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġdelegate . anonymous ĊĠĠĠ Ġactual Ġval Ġis Email Verified : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġdelegate . is Email Verified () ĊĊĠĠĠ Ġ@ Experimental Cor outines Api ĊĠĠĠ Ġactual Ġsuspend Ġfun Ġdelete () Ġ= Ġsuspend C ancellable Coroutine < Unit > Ġ{ Ġcont Ġ-> ĊĠĠĠĠĠĠĠ Ġdelegate . delete With Completion Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit ?. let Ġ{ Ġcont . resume With Exception ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġcont . resume ( Unit ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġactual Ġsuspend Ġfun ĠgetId Token ( force Refresh : ĠBoolean ) Ġ= Ġsuspend C ancellable Coroutine < GetToken Results > Ġ{ Ġcont Ġ-> ĊĠĠĠĠĠĠĠ Ġdelegate . getID Token Result For cing Refresh ( force Refresh ) Ġ{ Ġtoken , Ġns Error Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġns Error ?. let Ġ{ Ġcont . resume With Exception ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġtoken ?. let Ġ{ Ġcont . resume ( it . to M pp ()) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġactual Ġsuspend Ġfun Ġlink With Credentials ( credential : ĠAuth Credential ) Ġ= ĊĠĠĠĠĠĠĠ Ġsuspend C ancellable Coroutine < Auth Result > Ġ{ Ġcont Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdelegate . link With Credential ( credential . delegate ) Ġ{ Ġfir Auth Data Result , Ġns Error Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġns Error ?. let Ġ{ Ġcont . resume With Exception ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġfir Auth Data Result ?. let Ġ{ Ġcont . resume ( it . to M pp ()) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġactual Ġsuspend Ġfun Ġre authenticate ( credential : ĠAuth Credential ) Ġ= Ġsuspend C ancellable Coroutine < Unit > Ġ{ Ġcont Ġ-> ĊĠĠĠĠĠĠĠ Ġdelegate . re authenticate With Credential ( credential . delegate ) Ġ{ Ġfir Auth Data Result , Ġns Error Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġns Error ?. let Ġ{ Ġcont . resume With Exception ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġfir Auth Data Result ?. let Ġ{ Ġcont . resume ( Unit ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġactual Ġsuspend Ġfun Ġre authenticate And Retrieve Data ( credential : ĠAuth Credential ) Ġ= ĊĠĠĠĠĠĠĠ Ġsuspend C ancellable Coroutine < Auth Result > Ġ{ Ġcont Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdelegate . re authenticate With Credential ( credential . delegate ) Ġ{ Ġfir Auth Data Result , Ġns Error Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġns Error ?. let Ġ{ Ġcont . resume With Exception ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġfir Auth Data Result ?. let Ġ{ Ġcont . resume ( it . to M pp ()) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġactual Ġsuspend Ġfun Ġreload () Ġ= Ġsuspend C ancellable Coroutine < Unit > Ġ{ Ġcont Ġ-> ĊĠĠĠĠĠĠĠ Ġdelegate . reload With Completion Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit ?. let Ġ{ Ġcont . resume With Exception ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġcont . resume ( Unit ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġactual Ġsuspend Ġfun Ġsend Email Verification () Ġ= Ġsuspend C ancellable Coroutine < Unit > Ġ{ Ġcont Ġ-> ĊĠĠĠĠĠĠĠ Ġdelegate . send Email Verification With Completion Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit ?. let Ġ{ Ġcont . resume With Exception ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġcont . resume ( Unit ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġactual Ġsuspend Ġfun Ġunlink ( provider Id : ĠString ) Ġ= Ġsuspend C ancellable Coroutine < Unit > Ġ{ Ġcont Ġ-> ĊĠĠĠĠĠĠĠ Ġdelegate . unlink From Provider ( provider Id ) Ġ{ Ġ_, Ġns Error Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġns Error ?. let Ġ{ Ġcont . resume With Exception ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġcont . resume ( Unit ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġactual Ġsuspend Ġfun Ġupdate Email ( email : ĠString ) Ġ= Ġsuspend C ancellable Coroutine < Unit > Ġ{ Ġcont Ġ-> ĊĠĠĠĠĠĠĠ Ġdelegate . update Email ( email ) Ġ{ Ġns Error Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġns Error ?. let Ġ{ Ġcont . resume With Exception ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġcont . resume ( Unit ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġactual Ġsuspend Ġfun Ġupdate Password ( password : ĠString ) Ġ= Ġsuspend C ancellable Coroutine < Unit > Ġ{ Ġcont Ġ-> ĊĠĠĠĠĠĠĠ Ġdelegate . update Password ( password ) Ġ{ Ġns Error Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġns Error ?. let Ġ{ Ġcont . resume With Exception ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġcont . resume ( Unit ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġactual Ġsuspend Ġfun Ġupdate PhoneNumber ( phone Auth Credential : ĠPhone Auth Credential ) Ġ= ĊĠĠĠĠĠĠĠ Ġsuspend C ancellable Coroutine < Unit > Ġ{ Ġcont Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdelegate . update PhoneNumber Credential ( phone Auth Credential . delegate ) Ġ{ Ġns Error Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġns Error ?. let Ġ{ Ġcont . resume With Exception ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġcont . resume ( Unit ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġactual Ġsuspend Ġfun Ġupdate Profile ( user Profile Change Request : ĠUser Profile Change Request ) Ġ= ĊĠĠĠĠĠĠĠ Ġsuspend C ancellable Coroutine < Unit > Ġ{ Ġcont Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdelegate . profile Change Request () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġphoto URL Ġ= Ġuser Profile Change Request . photo Uri ?. let Ġ{ ĠNSURL . file URL With Path ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠdisplayName Ġ= Ġuser Profile Change Request . displayName ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. commit Change sWith Completion Ġ{ Ġns Error Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġns Error ?. let Ġ{ Ġcont . resume With Exception ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġcont . resume ( Unit ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ċ Ċ }