{"version":3,"file":"rx-service.mjs","sources":["../../../projects/rx-service/src/lib/utils.ts","../../../projects/rx-service/src/lib/rx-service.ts","../../../projects/rx-service/src/lib/rx-cleanup.ts","../../../projects/rx-service/src/public-api.ts","../../../projects/rx-service/src/rx-service.ts"],"sourcesContent":["export function isFunction<T>(value: T): value is T {\n  return typeof value === 'function';\n}\n\nexport function isObject<T>(value: T): boolean {\n  return (\n    value && value instanceof Object && !isArray(value) && !isFunction(value)\n  );\n}\n\nexport function isArray<T>(value: T): value is T {\n  return Array.isArray(value);\n}\n","import { BehaviorSubject, Observable } from 'rxjs';\nimport { isFunction } from './utils';\n\nexport abstract class Rx<T> {\n  private localState$: BehaviorSubject<T>;\n  private default: T;\n\n  protected constructor(defaults: T) {\n    this.localState$ = new BehaviorSubject(defaults);\n    this.default = JSON.parse(JSON.stringify(defaults));\n  }\n\n  public get state$(): Observable<T> {\n    return this.localState$.asObservable();\n  }\n\n  public setState(state: ((prevState: T) => Partial<T>) | Partial<T>): void {\n    if (isFunction(state)) {\n      state = (state as (prevState: T) => Partial<T>)(this.getState());\n      this.localState$.next(state as T);\n    } else {\n      this.localState$.next(state);\n    }\n  }\n\n  public getState(): T {\n    return this.localState$.getValue();\n  }\n\n  public resetState(): void {\n    this.localState$.next(this.default);\n  }\n}\n","import { Injectable, OnDestroy } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class RxCleanup extends Subject<void> implements OnDestroy {\n  ngOnDestroy(): void {\n    this.next();\n    this.complete();\n  }\n}\n","/*\n * Public API Surface of rx-store\n */\n\nexport * from './lib/rx-service';\nexport * from './lib/rx-cleanup';\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;AAAM,SAAU,UAAU,CAAI,KAAQ,EAAA;AACpC,IAAA,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC;AACrC,CAAC;AAEK,SAAU,QAAQ,CAAI,KAAQ,EAAA;AAClC,IAAA,QACE,KAAK,IAAI,KAAK,YAAY,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EACzE;AACJ,CAAC;AAEK,SAAU,OAAO,CAAI,KAAQ,EAAA;AACjC,IAAA,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9B;;MCTsB,EAAE,CAAA;AAItB,IAAA,WAAA,CAAsB,QAAW,EAAA;QAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,eAAe,CAAC,QAAQ,CAAC,CAAC;AACjD,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;KACrD;AAED,IAAA,IAAW,MAAM,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;KACxC;AAEM,IAAA,QAAQ,CAAC,KAAkD,EAAA;AAChE,QAAA,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;YACrB,KAAK,GAAI,KAAsC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;AACjE,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAU,CAAC,CAAC;AACnC,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9B,SAAA;KACF;IAEM,QAAQ,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;KACpC;IAEM,UAAU,GAAA;QACf,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACrC;AACF;;AC1BK,MAAO,SAAU,SAAQ,OAAa,CAAA;IAC1C,WAAW,GAAA;QACT,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,QAAQ,EAAE,CAAC;KACjB;;sGAJU,SAAS,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAT,SAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,SAAS,cAFR,MAAM,EAAA,CAAA,CAAA;2FAEP,SAAS,EAAA,UAAA,EAAA,CAAA;kBAHrB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;ACLD;;AAEG;;ACFH;;AAEG;;;;"}