/* Ċ Ġ* ĠCopyright Ġ 2 0 1 8 - 2 0 2 1 Ġthe Ġoriginal Ġauthor Ġor Ġauthors . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttps :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġorg . springframework . data . mongodb . core Ċ Ċ import Ġkotlinx . coroutines . flow . Flow Ċ import Ġkotlinx . coroutines . reactive . as Flow Ċ import Ġkotlin . reflect . K Class Ċ Ċ /** Ċ Ġ* ĠExtension Ġfor Ġ[ Reactive Map Reduce Operation . map Reduce ] Ġproviding Ġa Ġ[ K Class ] Ġbased Ġvariant . Ċ Ġ* Ċ Ġ* Ġ@ author ĠCh ristop h ĠSt ro bl Ċ Ġ* Ġ@ since Ġ 2 . 1 Ċ Ġ*/ Ċ @ Deprecated (" Since Ġ 2 . 2 , Ġuse Ġthe Ġre ified Ġvariant ", Ġreplace With Ġ= ĠReplace With (" map Reduce < T >() ")) Ċ fun Ġ< T Ġ: ĠAny > ĠReactive Map Reduce Operation . map Reduce ( entity Class : ĠK Class < T >): ĠReactive Map Reduce Operation . Map Reduce With Map Function < T > Ġ= Ċĉ ĉ map Reduce ( entity Class . java ) Ċ Ċ /** Ċ Ġ* ĠExtension Ġfor Ġ[ Reactive Map Reduce Operation . map Reduce ] Ġlever aging Ġre ified Ġtype Ġparameters . Ċ Ġ* Ċ Ġ* Ġ@ author ĠCh ristop h ĠSt ro bl Ċ Ġ* Ġ@ since Ġ 2 . 1 Ċ Ġ*/ Ċ inline Ġfun Ġ< re ified ĠT Ġ: ĠAny > ĠReactive Map Reduce Operation . map Reduce (): ĠReactive Map Reduce Operation . Map Reduce With Map Function < T > Ġ= Ċĉ ĉ map Reduce ( T :: class . java ) Ċ Ċ /** Ċ Ġ* ĠExtension Ġfor Ġ[ Reactive Map Reduce Operation . Map Reduce With Projection . as ] Ġproviding Ġa Ġ[ K Class ] Ġbased Ġvariant . Ċ Ġ* Ċ Ġ* Ġ@ author ĠCh ristop h ĠSt ro bl Ċ Ġ* Ġ@ since Ġ 2 . 1 Ċ Ġ*/ Ċ @ Deprecated (" Since Ġ 2 . 2 , Ġuse Ġthe Ġre ified Ġvariant ", Ġreplace With Ġ= ĠReplace With (" as Type < T >() ")) Ċ fun Ġ< T Ġ: ĠAny > ĠReactive Map Reduce Operation . Map Reduce With Projection <* >. as Type ( result Type : ĠK Class < T >): ĠReactive Map Reduce Operation . Map Reduce With Query < T > Ġ= Ċĉ ĉ ` as `( result Type . java ) Ċ Ċ /** Ċ Ġ* ĠExtension Ġfor Ġ[ Reactive Map Reduce Operation . Map Reduce With Projection . as ] Ġlever aging Ġre ified Ġtype Ġparameters . Ċ Ġ* Ċ Ġ* Ġ@ author ĠCh ristop h ĠSt ro bl Ċ Ġ* Ġ@ since Ġ 2 . 1 Ċ Ġ*/ Ċ inline Ġfun Ġ< re ified ĠT Ġ: ĠAny > ĠReactive Map Reduce Operation . Map Reduce With Projection <* >. as Type (): ĠReactive Map Reduce Operation . Map Reduce With Query < T > Ġ= Ċĉ ĉ ` as `( T :: class . java ) ĊĊ Ċ /** Ċ Ġ* ĠCor outines Ġ[ Flow ] Ġvariant Ġof Ġ[ Reactive Map Reduce Operation . Termin ating Map Reduce . all ]. Ċ Ġ* Ċ Ġ* Ġ@ author ĠSeb ast ien ĠDe le u ze Ċ Ġ* Ġ@ since Ġ 2 . 2 Ċ Ġ*/ Ċ fun Ġ< T Ġ: ĠAny > ĠReactive Map Reduce Operation . Termin ating Map Reduce < T >. flow (): ĠFlow < T > Ġ= Ċĉ ĉ all (). as Flow () Ċ