package Ġcom . ed ric chan . study buddy . extensions . firebase . firestore Ċ Ċ import Ġcom . ed ric chan . study buddy . interfaces . Has Id Ċ import Ġcom . google . firebase . firestore . Document Snapshot Ċ import Ġcom . google . firebase . firestore . Query Document Snapshot Ċ import Ġcom . google . firebase . firestore . Query Snapshot Ċ import Ġcom . google . firebase . firestore . k tx . toObject Ċ import Ġcom . google . firebase . firestore . k tx . to Objects Ċ Ċ /** Ċ Ġ* ĠConverts Ġa Ġquery Ġdocument Ġsnapshot Ġvalue Ġto Ġits Ġobject Ġequivalent Ġwith Ġthe Ġdocument 's ĠID Ġattached Ċ Ġ* Ġ@ param ĠT ĠA Ġdata Ġclass Ġto Ġconvert Ġthe Ġdocument Ġsnapshot 's Ġvalue Ġto . Ċ Ġ* ĠNote Ġthat Ġthe Ġdata Ġclass Ġspecified Ġmust Ġimplement Ġthe Ġ[ Has Id ] Ġinterface . Ċ Ġ* Ġ@ param Ġoverwrite Model Id ĠWhether Ġto Ġoverwrite Ġthe Ġmodel 's ĠID Ġwith Ġthe Ġdocument ĠID Ċ Ġ* Ġ@ see ĠHas Id Ċ Ġ*/ Ċ @ Deprecated (" Use Ġthe ĠDocument Id Ġannotation Ġincluded Ġin Ġversion Ġ 2 0 . 2 . 0 Ġof ĠFire store .") Ċ inline Ġfun Ġ< re ified ĠT Ġ: ĠHas Id > ĠQuery Document Snapshot . toObject With Id ( overwrite Model Id : ĠBoolean Ġ= Ġfalse ): ĠT Ġ{ ĊĠĠĠ Ġval Ġmodel Ġ= Ġthis . toObject < T >() ĊĠĠĠ Ġif Ġ( overwrite Model Id ) Ġmodel . id Ġ= Ġthis . id ĊĠĠĠ Ġreturn Ġmodel Ċ } ĊĊ Ċ /** Ċ Ġ* ĠConverts Ġa Ġdocument Ġsnapshot Ġvalue Ġto Ġits Ġobject Ġequivalent Ġwith Ġthe Ġdocument 's ĠID Ġattached Ċ Ġ* Ġ@ param ĠT ĠA Ġdata Ġclass Ġto Ġconvert Ġthe Ġdocument Ġsnapshot 's Ġvalue Ġto . Ċ Ġ* ĠNote Ġthat Ġthe Ġdata Ġclass Ġspecified Ġmust Ġimplement Ġthe Ġ[ Has Id ] Ġinterface . Ċ Ġ* Ġ@ param Ġoverwrite Model Id ĠWhether Ġto Ġoverwrite Ġthe Ġmodel 's ĠID Ġwith Ġthe Ġdocument ĠID Ċ Ġ* Ġ@ see ĠHas Id Ċ Ġ*/ Ċ @ Deprecated (" Use Ġthe ĠDocument Id Ġannotation Ġincluded Ġin Ġversion Ġ 2 0 . 2 . 0 Ġof ĠFire store .") Ċ inline Ġfun Ġ< re ified ĠT Ġ: ĠHas Id > ĠDocument Snapshot . toObject With Id ( overwrite Model Id : ĠBoolean Ġ= Ġfalse ): ĠT ? Ġ{ ĊĠĠĠ Ġval Ġmodel Ġ= Ġthis . toObject < T >() ĊĠĠĠ Ġif Ġ( overwrite Model Id ) Ġmodel ?. id Ġ= Ġthis . id ĊĠĠĠ Ġreturn Ġmodel Ċ } Ċ Ċ /** Ċ Ġ* ĠConverts Ġa Ġquery Ġsnapshot 's Ġdocuments Ġto Ġits Ġobject Ġequivalent Ġwith Ġthe Ġdocument 's ĠID Ġattached Ċ Ġ* Ġ@ param ĠT ĠA Ġdata Ġclass Ġto Ġconvert Ġthe Ġdocument Ġsnapshot 's Ġvalue Ġto . Ċ Ġ* ĠNote Ġthat Ġthe Ġdata Ġclass Ġspecified Ġmust Ġimplement Ġthe Ġ[ Has Id ] Ġinterface . Ċ Ġ* Ġ@ param Ġoverwrite Model Id ĠWhether Ġto Ġoverwrite Ġthe Ġmodel ĠIDs Ġwith Ġthe Ġdocument ĠID Ċ Ġ* Ġ@ see ĠHas Id Ċ Ġ*/ Ċ @ Deprecated (" Use Ġthe ĠDocument Id Ġannotation Ġincluded Ġin Ġversion Ġ 2 0 . 2 . 0 Ġof ĠFire store .") Ċ inline Ġfun Ġ< re ified ĠT Ġ: ĠHas Id > ĠQuery Snapshot . to Objects With Id ( overwrite Model Id : ĠBoolean Ġ= Ġfalse ): ĠList < T > Ġ{ ĊĠĠĠ Ġval Ġmodels Ġ= Ġthis . to Objects < T >(). to Mutable List () ĊĠĠĠ Ġif Ġ( overwrite Model Id ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . documents . forEach Indexed Ġ{ Ġindex , Ġdocument Snapshot Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodels [ index ]. id Ġ= Ġdocument Snapshot . id ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġmodels Ċ } Ċ