@fncts/observable 0.0.31 → 0.0.33

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.
Files changed (200) hide show
  1. package/Action.d.ts +2 -1
  2. package/AsyncScheduler.d.ts +1 -1
  3. package/LICENSE +26 -0
  4. package/ObservableRef/api.d.ts +3 -3
  5. package/ObservableRef/definition.d.ts +3 -3
  6. package/_cjs/Action.cjs +15 -16
  7. package/_cjs/Action.cjs.map +1 -1
  8. package/_cjs/AnimationFrameAction.cjs +30 -33
  9. package/_cjs/AnimationFrameAction.cjs.map +1 -1
  10. package/_cjs/AnimationFrameScheduler.cjs +30 -35
  11. package/_cjs/AnimationFrameScheduler.cjs.map +1 -1
  12. package/_cjs/AsyncAction.cjs +73 -88
  13. package/_cjs/AsyncAction.cjs.map +1 -1
  14. package/_cjs/AsyncScheduler.cjs +35 -41
  15. package/_cjs/AsyncScheduler.cjs.map +1 -1
  16. package/_cjs/BehaviorSubject.cjs +31 -37
  17. package/_cjs/BehaviorSubject.cjs.map +1 -1
  18. package/_cjs/Notification.cjs +65 -70
  19. package/_cjs/Notification.cjs.map +1 -1
  20. package/_cjs/Observable/api/connect.cjs +23 -25
  21. package/_cjs/Observable/api/connect.cjs.map +1 -1
  22. package/_cjs/Observable/api/connectable.cjs +46 -45
  23. package/_cjs/Observable/api/connectable.cjs.map +1 -1
  24. package/_cjs/Observable/api/fromCallback.cjs +44 -48
  25. package/_cjs/Observable/api/fromCallback.cjs.map +1 -1
  26. package/_cjs/Observable/api/fromEvent.cjs +15 -15
  27. package/_cjs/Observable/api/fromEvent.cjs.map +1 -1
  28. package/_cjs/Observable/api/index.cjs +32 -160
  29. package/_cjs/Observable/api/race.cjs +26 -30
  30. package/_cjs/Observable/api/race.cjs.map +1 -1
  31. package/_cjs/Observable/api/raceWith.cjs +14 -15
  32. package/_cjs/Observable/api/raceWith.cjs.map +1 -1
  33. package/_cjs/Observable/api/repeatWhen.cjs +54 -57
  34. package/_cjs/Observable/api/repeatWhen.cjs.map +1 -1
  35. package/_cjs/Observable/api/retryWhen.cjs +37 -41
  36. package/_cjs/Observable/api/retryWhen.cjs.map +1 -1
  37. package/_cjs/Observable/api/share.cjs +73 -83
  38. package/_cjs/Observable/api/share.cjs.map +1 -1
  39. package/_cjs/Observable/api/window.cjs +46 -43
  40. package/_cjs/Observable/api/window.cjs.map +1 -1
  41. package/_cjs/Observable/api/windowCount.cjs +45 -51
  42. package/_cjs/Observable/api/windowCount.cjs.map +1 -1
  43. package/_cjs/Observable/api/windowTime.cjs +73 -74
  44. package/_cjs/Observable/api/windowTime.cjs.map +1 -1
  45. package/_cjs/Observable/api/windowToggle.cjs +71 -74
  46. package/_cjs/Observable/api/windowToggle.cjs.map +1 -1
  47. package/_cjs/Observable/api/windowWhen.cjs +59 -55
  48. package/_cjs/Observable/api/windowWhen.cjs.map +1 -1
  49. package/_cjs/Observable/api.cjs +1858 -2033
  50. package/_cjs/Observable/api.cjs.map +1 -1
  51. package/_cjs/Observable/definition.cjs +107 -120
  52. package/_cjs/Observable/definition.cjs.map +1 -1
  53. package/_cjs/Observable/dom/animationFrames.cjs +30 -33
  54. package/_cjs/Observable/dom/animationFrames.cjs.map +1 -1
  55. package/_cjs/Observable/instances.cjs +0 -2
  56. package/_cjs/Observable.cjs +180 -215
  57. package/_cjs/ObservableRef/api.cjs +188 -156
  58. package/_cjs/ObservableRef/api.cjs.map +1 -1
  59. package/_cjs/ObservableRef/atomic.cjs +25 -28
  60. package/_cjs/ObservableRef/atomic.cjs.map +1 -1
  61. package/_cjs/ObservableRef/definition.cjs +32 -27
  62. package/_cjs/ObservableRef/definition.cjs.map +1 -1
  63. package/_cjs/ObservableRef.cjs +17 -39
  64. package/_cjs/Observer.cjs +0 -2
  65. package/_cjs/Operator.cjs +58 -61
  66. package/_cjs/Operator.cjs.map +1 -1
  67. package/_cjs/Scheduler.cjs +38 -37
  68. package/_cjs/Scheduler.cjs.map +1 -1
  69. package/_cjs/Subject.cjs +163 -202
  70. package/_cjs/Subject.cjs.map +1 -1
  71. package/_cjs/Subscriber.cjs +151 -170
  72. package/_cjs/Subscriber.cjs.map +1 -1
  73. package/_cjs/Subscription.cjs +98 -123
  74. package/_cjs/Subscription.cjs.map +1 -1
  75. package/_cjs/chunk.cjs +28 -0
  76. package/_cjs/config.cjs +11 -12
  77. package/_cjs/config.cjs.map +1 -1
  78. package/_cjs/global.cjs +0 -2
  79. package/_cjs/index.cjs +112 -36
  80. package/_cjs/internal/animationFrameProvider.cjs +32 -38
  81. package/_cjs/internal/animationFrameProvider.cjs.map +1 -1
  82. package/_cjs/internal/args.cjs +12 -12
  83. package/_cjs/internal/args.cjs.map +1 -1
  84. package/_cjs/internal/intervalProvider.cjs +15 -22
  85. package/_cjs/internal/intervalProvider.cjs.map +1 -1
  86. package/_cjs/internal/performanceTimestampProvider.cjs +10 -11
  87. package/_cjs/internal/performanceTimestampProvider.cjs.map +1 -1
  88. package/_cjs/internal/timeoutProvider.cjs +15 -22
  89. package/_cjs/internal/timeoutProvider.cjs.map +1 -1
  90. package/_cjs/internal/timestampProvider.cjs +10 -11
  91. package/_cjs/internal/timestampProvider.cjs.map +1 -1
  92. package/_cjs/internal/util.cjs +60 -68
  93. package/_cjs/internal/util.cjs.map +1 -1
  94. package/_mjs/Action.mjs +12 -8
  95. package/_mjs/Action.mjs.map +1 -1
  96. package/_mjs/AnimationFrameAction.mjs +25 -24
  97. package/_mjs/AnimationFrameAction.mjs.map +1 -1
  98. package/_mjs/AnimationFrameScheduler.mjs +25 -27
  99. package/_mjs/AnimationFrameScheduler.mjs.map +1 -1
  100. package/_mjs/AsyncAction.mjs +69 -79
  101. package/_mjs/AsyncAction.mjs.map +1 -1
  102. package/_mjs/AsyncScheduler.mjs +32 -34
  103. package/_mjs/AsyncScheduler.mjs.map +1 -1
  104. package/_mjs/BehaviorSubject.mjs +28 -29
  105. package/_mjs/BehaviorSubject.mjs.map +1 -1
  106. package/_mjs/Notification.mjs +57 -60
  107. package/_mjs/Notification.mjs.map +1 -1
  108. package/_mjs/Observable/api/connect.mjs +17 -17
  109. package/_mjs/Observable/api/connect.mjs.map +1 -1
  110. package/_mjs/Observable/api/connectable.mjs +39 -35
  111. package/_mjs/Observable/api/connectable.mjs.map +1 -1
  112. package/_mjs/Observable/api/fromCallback.mjs +40 -41
  113. package/_mjs/Observable/api/fromCallback.mjs.map +1 -1
  114. package/_mjs/Observable/api/fromEvent.mjs +12 -8
  115. package/_mjs/Observable/api/fromEvent.mjs.map +1 -1
  116. package/_mjs/Observable/api/index.mjs +15 -15
  117. package/_mjs/Observable/api/race.mjs +20 -22
  118. package/_mjs/Observable/api/race.mjs.map +1 -1
  119. package/_mjs/Observable/api/raceWith.mjs +11 -8
  120. package/_mjs/Observable/api/raceWith.mjs.map +1 -1
  121. package/_mjs/Observable/api/repeatWhen.mjs +48 -49
  122. package/_mjs/Observable/api/repeatWhen.mjs.map +1 -1
  123. package/_mjs/Observable/api/retryWhen.mjs +31 -33
  124. package/_mjs/Observable/api/retryWhen.mjs.map +1 -1
  125. package/_mjs/Observable/api/share.mjs +65 -74
  126. package/_mjs/Observable/api/share.mjs.map +1 -1
  127. package/_mjs/Observable/api/window.mjs +38 -34
  128. package/_mjs/Observable/api/window.mjs.map +1 -1
  129. package/_mjs/Observable/api/windowCount.mjs +39 -43
  130. package/_mjs/Observable/api/windowCount.mjs.map +1 -1
  131. package/_mjs/Observable/api/windowTime.mjs +63 -64
  132. package/_mjs/Observable/api/windowTime.mjs.map +1 -1
  133. package/_mjs/Observable/api/windowToggle.mjs +58 -62
  134. package/_mjs/Observable/api/windowToggle.mjs.map +1 -1
  135. package/_mjs/Observable/api/windowWhen.mjs +50 -46
  136. package/_mjs/Observable/api/windowWhen.mjs.map +1 -1
  137. package/_mjs/Observable/api.mjs +1822 -2030
  138. package/_mjs/Observable/api.mjs.map +1 -1
  139. package/_mjs/Observable/definition.mjs +94 -108
  140. package/_mjs/Observable/definition.mjs.map +1 -1
  141. package/_mjs/Observable/dom/animationFrames.mjs +23 -23
  142. package/_mjs/Observable/dom/animationFrames.mjs.map +1 -1
  143. package/_mjs/Observable/instances.mjs +0 -2
  144. package/_mjs/Observable.mjs +20 -25
  145. package/_mjs/ObservableRef/api.mjs +180 -144
  146. package/_mjs/ObservableRef/api.mjs.map +1 -1
  147. package/_mjs/ObservableRef/atomic.mjs +21 -20
  148. package/_mjs/ObservableRef/atomic.mjs.map +1 -1
  149. package/_mjs/ObservableRef/definition.mjs +29 -19
  150. package/_mjs/ObservableRef/definition.mjs.map +1 -1
  151. package/_mjs/ObservableRef.mjs +4 -5
  152. package/_mjs/Observer.mjs +0 -2
  153. package/_mjs/Operator.mjs +50 -50
  154. package/_mjs/Operator.mjs.map +1 -1
  155. package/_mjs/Scheduler.mjs +30 -26
  156. package/_mjs/Scheduler.mjs.map +1 -1
  157. package/_mjs/Subject.mjs +154 -191
  158. package/_mjs/Subject.mjs.map +1 -1
  159. package/_mjs/Subscriber.mjs +136 -156
  160. package/_mjs/Subscriber.mjs.map +1 -1
  161. package/_mjs/Subscription.mjs +90 -113
  162. package/_mjs/Subscription.mjs.map +1 -1
  163. package/_mjs/config.mjs +10 -6
  164. package/_mjs/config.mjs.map +1 -1
  165. package/_mjs/global.mjs +0 -2
  166. package/_mjs/index.mjs +14 -15
  167. package/_mjs/internal/animationFrameProvider.mjs +28 -30
  168. package/_mjs/internal/animationFrameProvider.mjs.map +1 -1
  169. package/_mjs/internal/args.mjs +9 -5
  170. package/_mjs/internal/args.mjs.map +1 -1
  171. package/_mjs/internal/intervalProvider.mjs +14 -16
  172. package/_mjs/internal/intervalProvider.mjs.map +1 -1
  173. package/_mjs/internal/performanceTimestampProvider.mjs +9 -5
  174. package/_mjs/internal/performanceTimestampProvider.mjs.map +1 -1
  175. package/_mjs/internal/timeoutProvider.mjs +14 -16
  176. package/_mjs/internal/timeoutProvider.mjs.map +1 -1
  177. package/_mjs/internal/timestampProvider.mjs +9 -5
  178. package/_mjs/internal/timestampProvider.mjs.map +1 -1
  179. package/_mjs/internal/util.mjs +54 -59
  180. package/_mjs/internal/util.mjs.map +1 -1
  181. package/_src/Action.ts +2 -0
  182. package/_src/AsyncScheduler.ts +2 -0
  183. package/_src/Observable/api.ts +4 -4
  184. package/_src/ObservableRef/api.ts +36 -12
  185. package/_src/ObservableRef/definition.ts +12 -4
  186. package/package.json +6 -2
  187. package/_cjs/Observable/api/index.cjs.map +0 -1
  188. package/_cjs/Observable/instances.cjs.map +0 -1
  189. package/_cjs/Observable.cjs.map +0 -1
  190. package/_cjs/ObservableRef.cjs.map +0 -1
  191. package/_cjs/Observer.cjs.map +0 -1
  192. package/_cjs/global.cjs.map +0 -1
  193. package/_cjs/index.cjs.map +0 -1
  194. package/_mjs/Observable/api/index.mjs.map +0 -1
  195. package/_mjs/Observable/instances.mjs.map +0 -1
  196. package/_mjs/Observable.mjs.map +0 -1
  197. package/_mjs/ObservableRef.mjs.map +0 -1
  198. package/_mjs/Observer.mjs.map +0 -1
  199. package/_mjs/global.mjs.map +0 -1
  200. package/_mjs/index.mjs.map +0 -1
@@ -1,179 +1,159 @@
1
- var _a;
1
+ import { config } from "./config.mjs";
2
+ import { reportUnhandledError } from "./internal/util.mjs";
2
3
  import * as tsplus_module_1 from "@fncts/observable/Subscription";
4
+ import * as tsplus_module_5 from "@fncts/base/util/predicates";
5
+ import { isFunction } from "@fncts/base/util/predicates";
3
6
  import * as tsplus_module_2 from "@fncts/observable/Notification";
4
7
  import * as tsplus_module_3 from "@fncts/base/data/Cause/api";
5
8
  import * as tsplus_module_4 from "@fncts/observable/internal/util";
6
- import * as tsplus_module_5 from "@fncts/base/util/predicates";
7
9
  import * as tsplus_module_6 from "@fncts/observable/internal/timeoutProvider";
8
- import { isFunction } from "@fncts/base/util/predicates";
9
- import { config } from "./config.mjs";
10
- import { reportUnhandledError } from "./internal/util.mjs";
11
- export const SubscriberTypeId = /*#__PURE__*/Symbol.for("fncts.observable.Subscriber");
10
+ //#region build/esm/Subscriber.js
11
+ const SubscriberTypeId = Symbol.for("fncts.observable.Subscriber");
12
12
  /**
13
- * @tsplus type fncts.observable.Subscriber
14
- */
15
- export class Subscriber extends tsplus_module_1.Subscription {
16
- constructor(destination, overrides) {
17
- super(overrides?.finalize);
18
- this[_a] = SubscriberTypeId;
19
- this.isStopped = false;
20
- this.nextOverride = null;
21
- this.errorOverride = null;
22
- this.completeOverride = null;
23
- this.destination = destination instanceof Subscriber ? destination : createSafeObserver(destination);
24
- this.nextOverride = overrides?.next ?? null;
25
- this.errorOverride = overrides?.error ?? null;
26
- this.completeOverride = overrides?.complete ?? null;
27
- this.next = this.nextOverride ? overrideNext : this.next;
28
- this.error = this.errorOverride ? overrideError : this.error;
29
- this.complete = this.completeOverride ? overrideComplete : this.complete;
30
- if (hasAddAndUnsubscribe(destination)) {
31
- destination.add(this);
32
- }
33
- }
34
- next(value) {
35
- if (this.isStopped) {
36
- handleStoppedNotification(tsplus_module_2.next(value), this);
37
- } else {
38
- this._next(value);
39
- }
40
- }
41
- error(err) {
42
- if (this.isStopped) {
43
- handleStoppedNotification(tsplus_module_2.error(err), this);
44
- } else {
45
- this.isStopped = true;
46
- this._error(err);
47
- }
48
- }
49
- complete() {
50
- if (this.isStopped) {
51
- handleStoppedNotification(tsplus_module_2.complete(), this);
52
- } else {
53
- this.isStopped = true;
54
- this._complete();
55
- }
56
- }
57
- unsubscribe() {
58
- if (!this._closed) {
59
- this.isStopped = true;
60
- super.unsubscribe();
61
- this.destination = null;
62
- }
63
- }
64
- _next(value) {
65
- this.destination.next(value);
66
- }
67
- _error(err) {
68
- try {
69
- this.destination.error(err);
70
- } finally {
71
- this.unsubscribe();
72
- }
73
- }
74
- _complete() {
75
- try {
76
- this.destination.complete();
77
- } finally {
78
- this.unsubscribe();
79
- }
80
- }
81
- }
82
- _a = SubscriberTypeId;
13
+ * @tsplus type fncts.observable.Subscriber
14
+ */
15
+ var Subscriber = class Subscriber extends tsplus_module_1.Subscription {
16
+ [SubscriberTypeId] = SubscriberTypeId;
17
+ isStopped = false;
18
+ destination;
19
+ nextOverride = null;
20
+ errorOverride = null;
21
+ completeOverride = null;
22
+ constructor(destination, overrides) {
23
+ super(overrides?.finalize);
24
+ this.destination = destination instanceof Subscriber ? destination : createSafeObserver(destination);
25
+ this.nextOverride = overrides?.next ?? null;
26
+ this.errorOverride = overrides?.error ?? null;
27
+ this.completeOverride = overrides?.complete ?? null;
28
+ this.next = this.nextOverride ? overrideNext : this.next;
29
+ this.error = this.errorOverride ? overrideError : this.error;
30
+ this.complete = this.completeOverride ? overrideComplete : this.complete;
31
+ if (hasAddAndUnsubscribe(destination)) destination.add(this);
32
+ }
33
+ next(value) {
34
+ if (this.isStopped) handleStoppedNotification(tsplus_module_2.next(value), this);
35
+ else this._next(value);
36
+ }
37
+ error(err) {
38
+ if (this.isStopped) handleStoppedNotification(tsplus_module_2.error(err), this);
39
+ else {
40
+ this.isStopped = true;
41
+ this._error(err);
42
+ }
43
+ }
44
+ complete() {
45
+ if (this.isStopped) handleStoppedNotification(tsplus_module_2.complete(), this);
46
+ else {
47
+ this.isStopped = true;
48
+ this._complete();
49
+ }
50
+ }
51
+ unsubscribe() {
52
+ if (!this._closed) {
53
+ this.isStopped = true;
54
+ super.unsubscribe();
55
+ this.destination = null;
56
+ }
57
+ }
58
+ _next(value) {
59
+ this.destination.next(value);
60
+ }
61
+ _error(err) {
62
+ try {
63
+ this.destination.error(err);
64
+ } finally {
65
+ this.unsubscribe();
66
+ }
67
+ }
68
+ _complete() {
69
+ try {
70
+ this.destination.complete();
71
+ } finally {
72
+ this.unsubscribe();
73
+ }
74
+ }
75
+ };
83
76
  function createSafeObserver(observerOrNext) {
84
- return new ConsumerObserver(!observerOrNext || isFunction(observerOrNext) ? {
85
- next: observerOrNext ?? undefined
86
- } : observerOrNext);
87
- }
88
- export class ConsumerObserver {
89
- constructor(partialObserver) {
90
- this.partialObserver = partialObserver;
91
- this.onError = reportUnhandledError;
92
- this.onError = partialObserver.error ?? reportUnhandledError;
93
- }
94
- next(value) {
95
- const {
96
- partialObserver
97
- } = this;
98
- if (partialObserver.next) {
99
- try {
100
- partialObserver.next(value);
101
- } catch (error) {
102
- this.onError(tsplus_module_3.halt(error));
103
- }
104
- }
105
- }
106
- error(err) {
107
- const {
108
- partialObserver
109
- } = this;
110
- if (partialObserver.error) {
111
- try {
112
- partialObserver.error(err);
113
- } catch (error) {
114
- this.onError(tsplus_module_3.halt(error));
115
- }
116
- } else {
117
- this.onError(err);
118
- }
119
- }
120
- complete() {
121
- const {
122
- partialObserver
123
- } = this;
124
- if (partialObserver.complete) {
125
- try {
126
- partialObserver.complete();
127
- } catch (error) {
128
- this.onError(tsplus_module_3.halt(error));
129
- }
130
- }
131
- }
77
+ return new ConsumerObserver(!observerOrNext || isFunction(observerOrNext) ? { next: observerOrNext ?? void 0 } : observerOrNext);
132
78
  }
79
+ var ConsumerObserver = class {
80
+ partialObserver;
81
+ onError = reportUnhandledError;
82
+ constructor(partialObserver) {
83
+ this.partialObserver = partialObserver;
84
+ this.onError = partialObserver.error ?? reportUnhandledError;
85
+ }
86
+ next(value) {
87
+ const { partialObserver } = this;
88
+ if (partialObserver.next) try {
89
+ partialObserver.next(value);
90
+ } catch (error) {
91
+ this.onError(tsplus_module_3.halt(error));
92
+ }
93
+ }
94
+ error(err) {
95
+ const { partialObserver } = this;
96
+ if (partialObserver.error) try {
97
+ partialObserver.error(err);
98
+ } catch (error) {
99
+ this.onError(tsplus_module_3.halt(error));
100
+ }
101
+ else this.onError(err);
102
+ }
103
+ complete() {
104
+ const { partialObserver } = this;
105
+ if (partialObserver.complete) try {
106
+ partialObserver.complete();
107
+ } catch (error) {
108
+ this.onError(tsplus_module_3.halt(error));
109
+ }
110
+ }
111
+ };
133
112
  function overrideNext(value) {
134
- try {
135
- this.nextOverride(value);
136
- } catch (error) {
137
- this.destination.error(tsplus_module_3.halt(error));
138
- }
113
+ try {
114
+ this.nextOverride(value);
115
+ } catch (error) {
116
+ this.destination.error(tsplus_module_3.halt(error));
117
+ }
139
118
  }
140
119
  function overrideError(err) {
141
- try {
142
- this.errorOverride(err);
143
- } catch (error) {
144
- this.destination.error(tsplus_module_3.halt(error));
145
- } finally {
146
- this.unsubscribe();
147
- }
120
+ try {
121
+ this.errorOverride(err);
122
+ } catch (error) {
123
+ this.destination.error(tsplus_module_3.halt(error));
124
+ } finally {
125
+ this.unsubscribe();
126
+ }
148
127
  }
149
128
  function overrideComplete() {
150
- try {
151
- this.completeOverride();
152
- } catch (error) {
153
- this.destination.error(tsplus_module_3.halt(error));
154
- } finally {
155
- this.unsubscribe();
156
- }
129
+ try {
130
+ this.completeOverride();
131
+ } catch (error) {
132
+ this.destination.error(tsplus_module_3.halt(error));
133
+ } finally {
134
+ this.unsubscribe();
135
+ }
157
136
  }
158
137
  function defaultErrorHandler(error) {
159
- throw error;
138
+ throw error;
160
139
  }
161
- export const EMPTY_OBSERVER = {
162
- closed: true,
163
- next: tsplus_module_4.noop,
164
- error: defaultErrorHandler,
165
- complete: tsplus_module_4.noop
140
+ const EMPTY_OBSERVER = {
141
+ closed: true,
142
+ next: tsplus_module_4.noop,
143
+ error: defaultErrorHandler,
144
+ complete: tsplus_module_4.noop
166
145
  };
167
146
  function hasAddAndUnsubscribe(value) {
168
- return value && isFunction(value.unsubscribe) && isFunction(value.add);
147
+ return value && isFunction(value.unsubscribe) && isFunction(value.add);
169
148
  }
170
- export function isSubscriber(u) {
171
- return tsplus_module_5.isObject(u) && SubscriberTypeId in u;
149
+ function isSubscriber(u) {
150
+ return tsplus_module_5.isObject(u) && SubscriberTypeId in u;
172
151
  }
173
152
  function handleStoppedNotification(notification, subscriber) {
174
- const {
175
- onStoppedNotification
176
- } = config;
177
- onStoppedNotification && tsplus_module_6.timeoutProvider.setTimeout(() => onStoppedNotification(notification, subscriber));
153
+ const { onStoppedNotification } = config;
154
+ onStoppedNotification && tsplus_module_6.timeoutProvider.setTimeout(() => onStoppedNotification(notification, subscriber));
178
155
  }
156
+ //#endregion
157
+ export { ConsumerObserver, EMPTY_OBSERVER, Subscriber, SubscriberTypeId, isSubscriber };
158
+
179
159
  //# sourceMappingURL=Subscriber.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Subscriber.mjs","names":["isFunction","config","reportUnhandledError","SubscriberTypeId","Symbol","for","Subscriber","tsplus_module_1","Subscription","constructor","destination","overrides","finalize","_a","isStopped","nextOverride","errorOverride","completeOverride","createSafeObserver","next","error","complete","overrideNext","overrideError","overrideComplete","hasAddAndUnsubscribe","add","value","handleStoppedNotification","tsplus_module_2","_next","err","_error","_complete","unsubscribe","_closed","observerOrNext","ConsumerObserver","undefined","partialObserver","onError","tsplus_module_3","halt","defaultErrorHandler","EMPTY_OBSERVER","closed","tsplus_module_4","noop","isSubscriber","u","tsplus_module_5","isObject","notification","subscriber","onStoppedNotification","tsplus_module_6","timeoutProvider","setTimeout"],"sources":["../_src/Subscriber.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Subscriber.mjs","names":[],"sources":["../esm/Subscriber.js"],"sourcesContent":["import * as tsplus_module_1 from \"@fncts/observable/Subscription\";\nimport * as tsplus_module_2 from \"@fncts/observable/Notification\";\nimport * as tsplus_module_3 from \"@fncts/base/data/Cause/api\";\nimport * as tsplus_module_4 from \"@fncts/observable/internal/util\";\nimport * as tsplus_module_5 from \"@fncts/base/util/predicates\";\nimport * as tsplus_module_6 from \"@fncts/observable/internal/timeoutProvider\";\nimport { isFunction } from \"@fncts/base/util/predicates\";\nimport { config } from \"./config.js\";\nimport { reportUnhandledError } from \"./internal/util.js\";\nexport const SubscriberTypeId = Symbol.for(\"fncts.observable.Subscriber\");\n/**\n * @tsplus type fncts.observable.Subscriber\n */\nexport class Subscriber extends tsplus_module_1.Subscription {\n [SubscriberTypeId] = SubscriberTypeId;\n isStopped = false;\n destination;\n nextOverride = null;\n errorOverride = null;\n completeOverride = null;\n constructor(destination, overrides) {\n super(overrides?.finalize);\n this.destination = destination instanceof Subscriber ? destination : createSafeObserver(destination);\n this.nextOverride = overrides?.next ?? null;\n this.errorOverride = overrides?.error ?? null;\n this.completeOverride = overrides?.complete ?? null;\n this.next = this.nextOverride ? overrideNext : this.next;\n this.error = this.errorOverride ? overrideError : this.error;\n this.complete = this.completeOverride ? overrideComplete : this.complete;\n if (hasAddAndUnsubscribe(destination)) {\n destination.add(this);\n }\n }\n next(value) {\n if (this.isStopped) {\n handleStoppedNotification(tsplus_module_2.next(value), this);\n }\n else {\n this._next(value);\n }\n }\n error(err) {\n if (this.isStopped) {\n handleStoppedNotification(tsplus_module_2.error(err), this);\n }\n else {\n this.isStopped = true;\n this._error(err);\n }\n }\n complete() {\n if (this.isStopped) {\n handleStoppedNotification(tsplus_module_2.complete(), this);\n }\n else {\n this.isStopped = true;\n this._complete();\n }\n }\n unsubscribe() {\n if (!this._closed) {\n this.isStopped = true;\n super.unsubscribe();\n this.destination = null;\n }\n }\n _next(value) {\n this.destination.next(value);\n }\n _error(err) {\n try {\n this.destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n _complete() {\n try {\n this.destination.complete();\n }\n finally {\n this.unsubscribe();\n }\n }\n}\nfunction createSafeObserver(observerOrNext) {\n return new ConsumerObserver(!observerOrNext || isFunction(observerOrNext) ? { next: observerOrNext ?? undefined } : observerOrNext);\n}\nexport class ConsumerObserver {\n partialObserver;\n onError = reportUnhandledError;\n constructor(partialObserver) {\n this.partialObserver = partialObserver;\n this.onError = partialObserver.error ?? reportUnhandledError;\n }\n next(value) {\n const { partialObserver } = this;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n }\n catch (error) {\n this.onError(tsplus_module_3.halt(error));\n }\n }\n }\n error(err) {\n const { partialObserver } = this;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n }\n catch (error) {\n this.onError(tsplus_module_3.halt(error));\n }\n }\n else {\n this.onError(err);\n }\n }\n complete() {\n const { partialObserver } = this;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n }\n catch (error) {\n this.onError(tsplus_module_3.halt(error));\n }\n }\n }\n}\nfunction overrideNext(value) {\n try {\n this.nextOverride(value);\n }\n catch (error) {\n this.destination.error(tsplus_module_3.halt(error));\n }\n}\nfunction overrideError(err) {\n try {\n this.errorOverride(err);\n }\n catch (error) {\n this.destination.error(tsplus_module_3.halt(error));\n }\n finally {\n this.unsubscribe();\n }\n}\nfunction overrideComplete() {\n try {\n this.completeOverride();\n }\n catch (error) {\n this.destination.error(tsplus_module_3.halt(error));\n }\n finally {\n this.unsubscribe();\n }\n}\nfunction defaultErrorHandler(error) {\n throw error;\n}\nexport const EMPTY_OBSERVER = {\n closed: true,\n next: tsplus_module_4.noop,\n error: defaultErrorHandler,\n complete: tsplus_module_4.noop,\n};\nfunction hasAddAndUnsubscribe(value) {\n return value && isFunction(value.unsubscribe) && isFunction(value.add);\n}\nexport function isSubscriber(u) {\n return tsplus_module_5.isObject(u) && SubscriberTypeId in u;\n}\nfunction handleStoppedNotification(notification, subscriber) {\n const { onStoppedNotification } = config;\n onStoppedNotification && tsplus_module_6.timeoutProvider.setTimeout(() => onStoppedNotification(notification, subscriber));\n}\n//# sourceMappingURL=Subscriber.js.map"],"mappings":"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"}
@@ -1,122 +1,99 @@
1
- var _a, _b;
2
1
  import * as tsplus_module_1 from "@fncts/base/util/predicates";
3
- export const SubscriptionTypeId = /*#__PURE__*/Symbol.for("@fncts/observable/Subscription");
2
+ //#region build/esm/Subscription.js
3
+ const SubscriptionTypeId = Symbol.for("@fncts/observable/Subscription");
4
4
  /**
5
- * @tsplus type fncts.observable.Subscription
6
- * @tsplus companion fncts.observable.SubscriptionOps
7
- */
8
- export class Subscription {
9
- constructor(initialFinalizer) {
10
- this.initialFinalizer = initialFinalizer;
11
- this[_a] = SubscriptionTypeId;
12
- this._closed = false;
13
- this.finalizers = null;
14
- this.parents = null;
15
- }
16
- unsubscribe() {
17
- let errors;
18
- if (!this._closed) {
19
- this._closed = true;
20
- const {
21
- parents,
22
- initialFinalizer,
23
- finalizers
24
- } = this;
25
- if (parents) {
26
- this.parents = null;
27
- for (const parent of parents) {
28
- parent.remove(this);
29
- }
30
- }
31
- if (initialFinalizer) {
32
- try {
33
- initialFinalizer();
34
- } catch (e) {
35
- errors = isUnsubscribeError(e) ? e.errors : [e];
36
- }
37
- }
38
- if (finalizers) {
39
- this.finalizers = null;
40
- for (const finalizer of finalizers) {
41
- try {
42
- executeFinalizer(finalizer);
43
- } catch (e) {
44
- errors || (errors = []);
45
- if (isUnsubscribeError(e)) {
46
- errors.push(...e.errors);
47
- } else {
48
- errors.push(e);
49
- }
50
- }
51
- }
52
- }
53
- }
54
- if (errors) {
55
- throw new UnsubscribeError(errors);
56
- }
57
- }
58
- add(finalizer) {
59
- if (finalizer && finalizer !== this) {
60
- if (this._closed) {
61
- executeFinalizer(finalizer);
62
- } else {
63
- if (isSubscription(finalizer)) {
64
- if (finalizer._closed || finalizer.hasParent(this)) {
65
- return;
66
- }
67
- finalizer.addParent(this);
68
- }
69
- if (!this.finalizers) {
70
- this.finalizers = new Set();
71
- }
72
- this.finalizers.add(finalizer);
73
- }
74
- }
75
- }
76
- hasParent(parent) {
77
- const parentage = this.parents;
78
- return parentage ? parentage.has(parent) : false;
79
- }
80
- addParent(parent) {
81
- if (!this.parents) {
82
- this.parents = new Set();
83
- }
84
- this.parents.add(parent);
85
- }
86
- removeParent(parent) {
87
- this.parents?.delete(parent);
88
- }
89
- remove(finalizer) {
90
- this.finalizers?.delete(finalizer);
91
- if (isSubscription(finalizer)) {
92
- finalizer.removeParent(this);
93
- }
94
- }
95
- }
96
- _a = SubscriptionTypeId;
97
- export function isSubscription(u) {
98
- return tsplus_module_1.isObject(u) && SubscriptionTypeId in u;
5
+ * @tsplus type fncts.observable.Subscription
6
+ * @tsplus companion fncts.observable.SubscriptionOps
7
+ */
8
+ var Subscription = class {
9
+ initialFinalizer;
10
+ [SubscriptionTypeId] = SubscriptionTypeId;
11
+ _closed = false;
12
+ finalizers = null;
13
+ parents = null;
14
+ constructor(initialFinalizer) {
15
+ this.initialFinalizer = initialFinalizer;
16
+ }
17
+ unsubscribe() {
18
+ let errors;
19
+ if (!this._closed) {
20
+ this._closed = true;
21
+ const { parents, initialFinalizer, finalizers } = this;
22
+ if (parents) {
23
+ this.parents = null;
24
+ for (const parent of parents) parent.remove(this);
25
+ }
26
+ if (initialFinalizer) try {
27
+ initialFinalizer();
28
+ } catch (e) {
29
+ errors = isUnsubscribeError(e) ? e.errors : [e];
30
+ }
31
+ if (finalizers) {
32
+ this.finalizers = null;
33
+ for (const finalizer of finalizers) try {
34
+ executeFinalizer(finalizer);
35
+ } catch (e) {
36
+ errors ||= [];
37
+ if (isUnsubscribeError(e)) errors.push(...e.errors);
38
+ else errors.push(e);
39
+ }
40
+ }
41
+ }
42
+ if (errors) throw new UnsubscribeError(errors);
43
+ }
44
+ add(finalizer) {
45
+ if (finalizer && finalizer !== this) if (this._closed) executeFinalizer(finalizer);
46
+ else {
47
+ if (isSubscription(finalizer)) {
48
+ if (finalizer._closed || finalizer.hasParent(this)) return;
49
+ finalizer.addParent(this);
50
+ }
51
+ if (!this.finalizers) this.finalizers = /* @__PURE__ */ new Set();
52
+ this.finalizers.add(finalizer);
53
+ }
54
+ }
55
+ hasParent(parent) {
56
+ const parentage = this.parents;
57
+ return parentage ? parentage.has(parent) : false;
58
+ }
59
+ addParent(parent) {
60
+ if (!this.parents) this.parents = /* @__PURE__ */ new Set();
61
+ this.parents.add(parent);
62
+ }
63
+ removeParent(parent) {
64
+ this.parents?.delete(parent);
65
+ }
66
+ remove(finalizer) {
67
+ this.finalizers?.delete(finalizer);
68
+ if (isSubscription(finalizer)) finalizer.removeParent(this);
69
+ }
70
+ };
71
+ function isSubscription(u) {
72
+ return tsplus_module_1.isObject(u) && SubscriptionTypeId in u;
99
73
  }
100
74
  function executeFinalizer(finalizer) {
101
- return finalizer && ("unsubscribe" in finalizer ? finalizer.unsubscribe() : finalizer());
75
+ return finalizer && ("unsubscribe" in finalizer ? finalizer.unsubscribe() : finalizer());
102
76
  }
103
77
  /**
104
- * @tsplus static fncts.observable.SubscriptionOps empty
105
- */
106
- export const EMPTY_SUBSCRIPTION = /*#__PURE__*/(() => {
107
- const empty = /*#__PURE__*/new Subscription();
108
- empty._closed = true;
109
- return empty;
78
+ * @tsplus static fncts.observable.SubscriptionOps empty
79
+ */
80
+ const EMPTY_SUBSCRIPTION = (() => {
81
+ const empty = new Subscription();
82
+ empty._closed = true;
83
+ return empty;
110
84
  })();
111
- export const UnsubscribeErrorTypeId = /*#__PURE__*/Symbol.for("@principia/observable/UnsubscribeError");
112
- export class UnsubscribeError {
113
- constructor(errors) {
114
- this.errors = errors;
115
- this[_b] = UnsubscribeErrorTypeId;
116
- }
117
- }
118
- _b = UnsubscribeErrorTypeId;
119
- export function isUnsubscribeError(u) {
120
- return tsplus_module_1.isObject(u) && UnsubscribeErrorTypeId in u;
85
+ const UnsubscribeErrorTypeId = Symbol.for("@principia/observable/UnsubscribeError");
86
+ var UnsubscribeError = class {
87
+ errors;
88
+ [UnsubscribeErrorTypeId] = UnsubscribeErrorTypeId;
89
+ constructor(errors) {
90
+ this.errors = errors;
91
+ }
92
+ };
93
+ function isUnsubscribeError(u) {
94
+ return tsplus_module_1.isObject(u) && UnsubscribeErrorTypeId in u;
121
95
  }
96
+ //#endregion
97
+ export { EMPTY_SUBSCRIPTION, Subscription, SubscriptionTypeId, UnsubscribeError, UnsubscribeErrorTypeId, isSubscription, isUnsubscribeError };
98
+
122
99
  //# sourceMappingURL=Subscription.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Subscription.mjs","names":["SubscriptionTypeId","Symbol","for","Subscription","constructor","initialFinalizer","_a","_closed","finalizers","parents","unsubscribe","errors","parent","remove","e","isUnsubscribeError","finalizer","executeFinalizer","push","UnsubscribeError","add","isSubscription","hasParent","addParent","Set","parentage","has","removeParent","delete","u","tsplus_module_1","isObject","EMPTY_SUBSCRIPTION","empty","UnsubscribeErrorTypeId","_b"],"sources":["../_src/Subscription.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Subscription.mjs","names":[],"sources":["../esm/Subscription.js"],"sourcesContent":["import * as tsplus_module_1 from \"@fncts/base/util/predicates\";\nexport const SubscriptionTypeId = Symbol.for(\"@fncts/observable/Subscription\");\n/**\n * @tsplus type fncts.observable.Subscription\n * @tsplus companion fncts.observable.SubscriptionOps\n */\nexport class Subscription {\n initialFinalizer;\n [SubscriptionTypeId] = SubscriptionTypeId;\n _closed = false;\n finalizers = null;\n parents = null;\n constructor(initialFinalizer) {\n this.initialFinalizer = initialFinalizer;\n }\n unsubscribe() {\n let errors;\n if (!this._closed) {\n this._closed = true;\n const { parents, initialFinalizer, finalizers } = this;\n if (parents) {\n this.parents = null;\n for (const parent of parents) {\n parent.remove(this);\n }\n }\n if (initialFinalizer) {\n try {\n initialFinalizer();\n }\n catch (e) {\n errors = isUnsubscribeError(e) ? e.errors : [e];\n }\n }\n if (finalizers) {\n this.finalizers = null;\n for (const finalizer of finalizers) {\n try {\n executeFinalizer(finalizer);\n }\n catch (e) {\n errors ||= [];\n if (isUnsubscribeError(e)) {\n errors.push(...e.errors);\n }\n else {\n errors.push(e);\n }\n }\n }\n }\n }\n if (errors) {\n throw new UnsubscribeError(errors);\n }\n }\n add(finalizer) {\n if (finalizer && finalizer !== this) {\n if (this._closed) {\n executeFinalizer(finalizer);\n }\n else {\n if (isSubscription(finalizer)) {\n if (finalizer._closed || finalizer.hasParent(this)) {\n return;\n }\n finalizer.addParent(this);\n }\n if (!this.finalizers) {\n this.finalizers = new Set();\n }\n this.finalizers.add(finalizer);\n }\n }\n }\n hasParent(parent) {\n const parentage = this.parents;\n return parentage ? parentage.has(parent) : false;\n }\n addParent(parent) {\n if (!this.parents) {\n this.parents = new Set();\n }\n this.parents.add(parent);\n }\n removeParent(parent) {\n this.parents?.delete(parent);\n }\n remove(finalizer) {\n this.finalizers?.delete(finalizer);\n if (isSubscription(finalizer)) {\n finalizer.removeParent(this);\n }\n }\n}\nexport function isSubscription(u) {\n return tsplus_module_1.isObject(u) && SubscriptionTypeId in u;\n}\nfunction executeFinalizer(finalizer) {\n return finalizer && (\"unsubscribe\" in finalizer ? finalizer.unsubscribe() : finalizer());\n}\n/**\n * @tsplus static fncts.observable.SubscriptionOps empty\n */\nexport const EMPTY_SUBSCRIPTION = (() => {\n const empty = new Subscription();\n empty._closed = true;\n return empty;\n})();\nexport const UnsubscribeErrorTypeId = Symbol.for(\"@principia/observable/UnsubscribeError\");\nexport class UnsubscribeError {\n errors;\n [UnsubscribeErrorTypeId] = UnsubscribeErrorTypeId;\n constructor(errors) {\n this.errors = errors;\n }\n}\nexport function isUnsubscribeError(u) {\n return tsplus_module_1.isObject(u) && UnsubscribeErrorTypeId in u;\n}\n//# sourceMappingURL=Subscription.js.map"],"mappings":";;AACA,MAAa,qBAAqB,OAAO,IAAI,iCAAiC;;;;;AAK9E,IAAa,eAAb,MAA0B;CACtB;CACA,CAAC,sBAAsB;CACvB,UAAU;CACV,aAAa;CACb,UAAU;CACV,YAAY,kBAAkB;AAC1B,OAAK,mBAAmB;;CAE5B,cAAc;EACV,IAAI;AACJ,MAAI,CAAC,KAAK,SAAS;AACf,QAAK,UAAU;GACf,MAAM,EAAE,SAAS,kBAAkB,eAAe;AAClD,OAAI,SAAS;AACT,SAAK,UAAU;AACf,SAAK,MAAM,UAAU,QACjB,QAAO,OAAO,KAAK;;AAG3B,OAAI,iBACA,KAAI;AACA,sBAAkB;YAEf,GAAG;AACN,aAAS,mBAAmB,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE;;AAGvD,OAAI,YAAY;AACZ,SAAK,aAAa;AAClB,SAAK,MAAM,aAAa,WACpB,KAAI;AACA,sBAAiB,UAAU;aAExB,GAAG;AACN,gBAAW,EAAE;AACb,SAAI,mBAAmB,EAAE,CACrB,QAAO,KAAK,GAAG,EAAE,OAAO;SAGxB,QAAO,KAAK,EAAE;;;;AAMlC,MAAI,OACA,OAAM,IAAI,iBAAiB,OAAO;;CAG1C,IAAI,WAAW;AACX,MAAI,aAAa,cAAc,KAC3B,KAAI,KAAK,QACL,kBAAiB,UAAU;OAE1B;AACD,OAAI,eAAe,UAAU,EAAE;AAC3B,QAAI,UAAU,WAAW,UAAU,UAAU,KAAK,CAC9C;AAEJ,cAAU,UAAU,KAAK;;AAE7B,OAAI,CAAC,KAAK,WACN,MAAK,6BAAa,IAAI,KAAK;AAE/B,QAAK,WAAW,IAAI,UAAU;;;CAI1C,UAAU,QAAQ;EACd,MAAM,YAAY,KAAK;AACvB,SAAO,YAAY,UAAU,IAAI,OAAO,GAAG;;CAE/C,UAAU,QAAQ;AACd,MAAI,CAAC,KAAK,QACN,MAAK,0BAAU,IAAI,KAAK;AAE5B,OAAK,QAAQ,IAAI,OAAO;;CAE5B,aAAa,QAAQ;AACjB,OAAK,SAAS,OAAO,OAAO;;CAEhC,OAAO,WAAW;AACd,OAAK,YAAY,OAAO,UAAU;AAClC,MAAI,eAAe,UAAU,CACzB,WAAU,aAAa,KAAK;;;AAIxC,SAAgB,eAAe,GAAG;AAC9B,QAAO,gBAAgB,SAAS,EAAE,IAAI,sBAAsB;;AAEhE,SAAS,iBAAiB,WAAW;AACjC,QAAO,cAAc,iBAAiB,YAAY,UAAU,aAAa,GAAG,WAAW;;;;;AAK3F,MAAa,4BAA4B;CACrC,MAAM,QAAQ,IAAI,cAAc;AAChC,OAAM,UAAU;AAChB,QAAO;IACP;AACJ,MAAa,yBAAyB,OAAO,IAAI,yCAAyC;AAC1F,IAAa,mBAAb,MAA8B;CAC1B;CACA,CAAC,0BAA0B;CAC3B,YAAY,QAAQ;AAChB,OAAK,SAAS;;;AAGtB,SAAgB,mBAAmB,GAAG;AAClC,QAAO,gBAAgB,SAAS,EAAE,IAAI,0BAA0B"}
package/_mjs/config.mjs CHANGED
@@ -1,9 +1,13 @@
1
+ //#region build/esm/config.js
1
2
  /**
2
- * The {@link GlobalConfig} object for RxJS. It is used to configure things
3
- * like how to react on unhandled errors.
4
- */
5
- export const config = {
6
- onUnhandledError: null,
7
- onStoppedNotification: null
3
+ * The {@link GlobalConfig} object for RxJS. It is used to configure things
4
+ * like how to react on unhandled errors.
5
+ */
6
+ const config = {
7
+ onUnhandledError: null,
8
+ onStoppedNotification: null
8
9
  };
10
+ //#endregion
11
+ export { config };
12
+
9
13
  //# sourceMappingURL=config.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.mjs","names":["config","onUnhandledError","onStoppedNotification"],"sources":["../_src/config.ts"],"sourcesContent":[null],"mappings":"AAEA;;;;AAIA,OAAO,MAAMA,MAAM,GAAiB;EAClCC,gBAAgB,EAAE,IAAI;EACtBC,qBAAqB,EAAE;CACxB","ignoreList":[]}
1
+ {"version":3,"file":"config.mjs","names":[],"sources":["../esm/config.js"],"sourcesContent":["/**\n * The {@link GlobalConfig} object for RxJS. It is used to configure things\n * like how to react on unhandled errors.\n */\nexport const config = {\n onUnhandledError: null,\n onStoppedNotification: null,\n};\n//# sourceMappingURL=config.js.map"],"mappings":";;;;;AAIA,MAAa,SAAS;CAClB,kBAAkB;CAClB,uBAAuB;CAC1B"}