@kithinji/orca 1.0.22 → 1.0.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1759,6 +1759,13 @@ var Subject = class extends Observable {
1759
1759
  this.subscribers = /* @__PURE__ */ new Set();
1760
1760
  this._isCompleted = false;
1761
1761
  this._hasError = false;
1762
+ this._thrownError = null;
1763
+ }
1764
+ asObservable() {
1765
+ return new Observable((observer) => {
1766
+ const subscription = this.subscribe(observer);
1767
+ return () => subscription.unsubscribe();
1768
+ });
1762
1769
  }
1763
1770
  subscribe(observerOrNext, error, complete) {
1764
1771
  if (this._isCompleted) {
@@ -1795,16 +1802,10 @@ var Subject = class extends Observable {
1795
1802
  error(err) {
1796
1803
  if (this._isCompleted || this._hasError) return;
1797
1804
  this._hasError = true;
1798
- const currentSubscribers = Array.from(this.subscribers);
1799
- currentSubscribers.forEach((observer) => {
1800
- if (observer.error) {
1801
- try {
1802
- observer.error(err);
1803
- } catch (e) {
1804
- console.error("Error in error handler:", e);
1805
- }
1806
- }
1807
- });
1805
+ this._thrownError = err;
1806
+ for (const observer of this.subscribers) {
1807
+ observer.error?.(err);
1808
+ }
1808
1809
  this.subscribers.clear();
1809
1810
  }
1810
1811
  complete() {
@@ -1833,22 +1834,23 @@ var BehaviorSubject = class extends Subject {
1833
1834
  get $value() {
1834
1835
  return this._value;
1835
1836
  }
1836
- setValue(value) {
1837
- this._value = value;
1838
- }
1839
1837
  next(value) {
1840
1838
  this._value = value;
1841
1839
  super.next(value);
1842
1840
  }
1843
1841
  subscribe(observerOrNext, error, complete) {
1844
1842
  const observer = typeof observerOrNext === "function" ? { next: observerOrNext, error, complete } : observerOrNext;
1845
- try {
1846
- observer.next(this._value);
1847
- } catch (err) {
1848
- if (observer.error) {
1849
- observer.error(err);
1850
- }
1843
+ if (this._hasError) {
1844
+ observer.error?.(this._thrownError);
1845
+ return { unsubscribe: () => {
1846
+ } };
1847
+ }
1848
+ if (this._isCompleted) {
1849
+ observer.complete?.();
1850
+ return { unsubscribe: () => {
1851
+ } };
1851
1852
  }
1853
+ observer.next(this._value);
1852
1854
  return super.subscribe(observer);
1853
1855
  }
1854
1856
  };