{"version":3,"file":"obliczeniowo-elementary-rx-js-ext.mjs","sources":["../../../../projects/components/rx-js-ext/behavior-subject-ext.class.ts","../../../../projects/components/rx-js-ext/event-emitter-ext.class.ts","../../../../projects/components/rx-js-ext/obliczeniowo-elementary-rx-js-ext.ts"],"sourcesContent":["import { BehaviorSubject, Observer, Subscriber, Subscription } from 'rxjs';\nimport { isSubscription } from 'rxjs/internal/Subscription';\n\nfunction isFunction(value: any): value is (...args: any[]) => any {\n  return typeof value === 'function';\n}\n\nfunction isObserver<T>(value: any): value is Observer<T> {\n  return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\n\nfunction isSubscriber<T>(value: any): value is Subscriber<T> {\n  return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n\n\nexport class BehaviorSubjectExt<T> extends BehaviorSubject<T> {\n  subscriptions: Subscription[] = [];\n\n  clearSubscriptions() {\n    this.subscriptions.forEach(sub => !sub.closed && sub.unsubscribe());\n\n    this.subscriptions = [];\n  }\n\n  clearClosed() {\n    this.subscriptions = this.subscriptions.filter(subscription => !subscription.closed);\n  }\n\n  subscribe(\n    observerOrNext?: Partial<Observer<T>> | ((value: T) => void) | null,\n    error?: ((error: any) => void) | null,\n    complete?: (() => void) | null\n  ): Subscription {\n    let subscriber: Subscription;\n\n    if (isSubscriber(observerOrNext)) {\n      subscriber = super.subscribe(observerOrNext);\n    } else {\n      subscriber = super.subscribe(observerOrNext as ((value: T) => void) | null, error, complete);\n    }\n\n    this.clearClosed();\n\n    this.subscriptions.push(subscriber);\n\n    return subscriber;\n  }\n\n  unsubscribe() {\n    this.clearSubscriptions();\n    super.unsubscribe();\n  }\n}","import { EventEmitter } from '@angular/core';\nimport { Observer, Subscriber } from 'rxjs';\nimport { Subscription, isSubscription } from 'rxjs/internal/Subscription';\n\nfunction isFunction(value: any): value is (...args: any[]) => any {\n  return typeof value === 'function';\n}\n\nfunction isObserver<T>(value: any): value is Observer<T> {\n  return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\n\nfunction isSubscriber<T>(value: any): value is Subscriber<T> {\n  return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n\nexport class EventEmitterExt<T> extends EventEmitter<T> {\n  subscriptions: Subscription[] = [];\n  temp?: T;\n\n  clearSubscriptions() {\n    this.subscriptions.forEach(sub => !sub.closed && sub.unsubscribe());\n\n    this.subscriptions = [];\n  }\n\n  clearClosed() {\n    this.subscriptions = this.subscriptions.filter(subscription => !subscription.closed);\n  }\n\n  subscribe(\n    observerOrNext?: Partial<Observer<T>> | ((value: T) => void) | null,\n    error?: ((error: any) => void) | null,\n    complete?: (() => void) | null\n  ): Subscription {\n    let subscriber: Subscription;\n\n    if (isSubscriber(observerOrNext)) {\n      subscriber = super.subscribe(observerOrNext);\n    } else {\n      subscriber = super.subscribe(observerOrNext as ((value: T) => void) | null, error, complete)\n    }\n\n    this.clearClosed();\n\n    this.subscriptions.push(subscriber);\n\n    return subscriber;\n  }\n\n  unsubscribe() {\n    this.clearSubscriptions();\n    super.unsubscribe();\n  }\n\n  next(value: T) {\n    this.temp = value;\n    setTimeout(() => {\n      if (this.temp) {\n        super.next(value);\n      }\n      this.temp = undefined;\n    }, 100)\n  }\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["isFunction","isObserver","isSubscriber"],"mappings":"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"}