{"version":3,"file":"bravobit-bb-foundation-rxjs.mjs","sources":["../../../projects/bb-foundation/rxjs/src/lib/operators/combine-latest-map.operator.ts","../../../projects/bb-foundation/rxjs/src/lib/operators/filter-nil.operator.ts","../../../projects/bb-foundation/rxjs/src/lib/observables/get-control-value.observable.ts","../../../projects/bb-foundation/rxjs/src/lib/observables/get-route-param.observable.ts","../../../projects/bb-foundation/rxjs/src/bravobit-bb-foundation-rxjs.ts"],"sourcesContent":["import {combineLatest, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\ntype ExtractObservableType<A> = A extends Observable<infer B> ? B : never;\n\nexport function combineLatestMap<TIn extends { [key: string]: Observable<any> },\n    TOut extends { [K in keyof TIn]: ExtractObservableType<TIn[K]> }>(\n    observables: TIn): Observable<TOut> {\n    const keys = Object.keys(observables);\n\n    return combineLatest(\n        keys.map(k => observables[k])\n    ).pipe(\n        map(b => b.reduce((previous, value, index) => ({\n                ...previous,\n                [keys[index]]: value\n            }), {})\n        )\n    );\n}\n","import {filter} from 'rxjs/operators';\n\nexport function filterNil<T>() {\n    return filter<T>(value => value !== undefined && value !== null);\n}\n","import {distinctUntilChanged, shareReplay} from 'rxjs/operators';\nimport {defer, merge, Observable, of} from 'rxjs';\nimport {AbstractControl} from '@angular/forms';\n\nexport function getControlValue<T>(control: AbstractControl): Observable<T> {\n    return merge(control.valueChanges, defer(() => of(control.value))).pipe(\n        distinctUntilChanged((a, b) => a === b),\n        shareReplay({refCount: true, bufferSize: 1})\n    );\n}\n","import {distinctUntilChanged, map} from 'rxjs/operators';\nimport {ActivatedRoute} from '@angular/router';\nimport {Observable} from 'rxjs';\n\nexport function getRouteParam<T>(route: ActivatedRoute, param: string): Observable<T | null> {\n    return route.params.pipe(\n        map(params => params?.[param] ?? null),\n        distinctUntilChanged()\n    );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;AAKM,SAAU,gBAAgB,CAE5B,WAAgB,EAAA;IAChB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;AAErC,IAAA,OAAO,aAAa,CAChB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CAChC,CAAC,IAAI,CACF,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,MAAM;AACvC,QAAA,GAAG,QAAQ;AACX,QAAA,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG;AAClB,KAAA,CAAC,EAAE,EAAE,CAAC,CACV,CACJ;AACL;;SCjBgB,SAAS,GAAA;AACrB,IAAA,OAAO,MAAM,CAAI,KAAK,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC;AACpE;;ACAM,SAAU,eAAe,CAAI,OAAwB,EAAA;IACvD,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CACnE,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EACvC,WAAW,CAAC,EAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAC,CAAC,CAC/C;AACL;;ACLM,SAAU,aAAa,CAAI,KAAqB,EAAE,KAAa,EAAA;IACjE,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CACpB,GAAG,CAAC,MAAM,IAAI,MAAM,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,EACtC,oBAAoB,EAAE,CACzB;AACL;;ACTA;;AAEG;;;;"}