@fncts/observable 0.0.25 → 0.0.27

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 (199) hide show
  1. package/Observable/api/raceWith.d.ts +0 -1
  2. package/Observable/api/repeatWhen.d.ts +1 -1
  3. package/Observable/api/share.d.ts +1 -1
  4. package/Observable/api.d.ts +4 -4
  5. package/Observable/definition.d.ts +1 -4
  6. package/Observable.d.ts +16 -16
  7. package/ObservableRef.d.ts +2 -2
  8. package/Operator.d.ts +3 -3
  9. package/Subject.d.ts +16 -7
  10. package/Subscriber.d.ts +23 -8
  11. package/Subscription.d.ts +2 -2
  12. package/_cjs/Action.cjs +2 -3
  13. package/_cjs/Action.cjs.map +1 -1
  14. package/_cjs/AnimationFrameAction.cjs +3 -3
  15. package/_cjs/AnimationFrameAction.cjs.map +1 -1
  16. package/_cjs/AnimationFrameScheduler.cjs +3 -3
  17. package/_cjs/AnimationFrameScheduler.cjs.map +1 -1
  18. package/_cjs/AsyncAction.cjs +5 -5
  19. package/_cjs/AsyncAction.cjs.map +1 -1
  20. package/_cjs/AsyncScheduler.cjs +3 -5
  21. package/_cjs/AsyncScheduler.cjs.map +1 -1
  22. package/_cjs/BehaviorSubject.cjs +3 -3
  23. package/_cjs/BehaviorSubject.cjs.map +1 -1
  24. package/_cjs/Notification.cjs.map +1 -1
  25. package/_cjs/Observable/api/connect.cjs +8 -8
  26. package/_cjs/Observable/api/connect.cjs.map +1 -1
  27. package/_cjs/Observable/api/connectable.cjs +5 -5
  28. package/_cjs/Observable/api/connectable.cjs.map +1 -1
  29. package/_cjs/Observable/api/fromCallback.cjs +3 -3
  30. package/_cjs/Observable/api/fromCallback.cjs.map +1 -1
  31. package/_cjs/Observable/api/fromEvent.cjs +2 -2
  32. package/_cjs/Observable/api/fromEvent.cjs.map +1 -1
  33. package/_cjs/Observable/api/index.cjs.map +1 -1
  34. package/_cjs/Observable/api/race.cjs +5 -5
  35. package/_cjs/Observable/api/race.cjs.map +1 -1
  36. package/_cjs/Observable/api/raceWith.cjs +4 -5
  37. package/_cjs/Observable/api/raceWith.cjs.map +1 -1
  38. package/_cjs/Observable/api/repeatWhen.cjs +10 -9
  39. package/_cjs/Observable/api/repeatWhen.cjs.map +1 -1
  40. package/_cjs/Observable/api/retryWhen.cjs +10 -9
  41. package/_cjs/Observable/api/retryWhen.cjs.map +1 -1
  42. package/_cjs/Observable/api/share.cjs +10 -10
  43. package/_cjs/Observable/api/share.cjs.map +1 -1
  44. package/_cjs/Observable/api/window.cjs +13 -12
  45. package/_cjs/Observable/api/window.cjs.map +1 -1
  46. package/_cjs/Observable/api/windowCount.cjs +13 -11
  47. package/_cjs/Observable/api/windowCount.cjs.map +1 -1
  48. package/_cjs/Observable/api/windowTime.cjs +13 -12
  49. package/_cjs/Observable/api/windowTime.cjs.map +1 -1
  50. package/_cjs/Observable/api/windowToggle.cjs +27 -25
  51. package/_cjs/Observable/api/windowToggle.cjs.map +1 -1
  52. package/_cjs/Observable/api/windowWhen.cjs +18 -16
  53. package/_cjs/Observable/api/windowWhen.cjs.map +1 -1
  54. package/_cjs/Observable/api.cjs +328 -317
  55. package/_cjs/Observable/api.cjs.map +1 -1
  56. package/_cjs/Observable/definition.cjs +8 -15
  57. package/_cjs/Observable/definition.cjs.map +1 -1
  58. package/_cjs/Observable/dom/animationFrames.cjs +4 -4
  59. package/_cjs/Observable/dom/animationFrames.cjs.map +1 -1
  60. package/_cjs/Observable/instances.cjs.map +1 -1
  61. package/_cjs/Observable.cjs +64 -64
  62. package/_cjs/Observable.cjs.map +1 -1
  63. package/_cjs/ObservableRef/api.cjs +3 -3
  64. package/_cjs/ObservableRef/api.cjs.map +1 -1
  65. package/_cjs/ObservableRef/atomic.cjs +3 -3
  66. package/_cjs/ObservableRef/atomic.cjs.map +1 -1
  67. package/_cjs/ObservableRef/definition.cjs +2 -2
  68. package/_cjs/ObservableRef/definition.cjs.map +1 -1
  69. package/_cjs/ObservableRef.cjs +8 -8
  70. package/_cjs/ObservableRef.cjs.map +1 -1
  71. package/_cjs/Observer.cjs.map +1 -1
  72. package/_cjs/Operator.cjs +10 -15
  73. package/_cjs/Operator.cjs.map +1 -1
  74. package/_cjs/Scheduler.cjs +3 -3
  75. package/_cjs/Scheduler.cjs.map +1 -1
  76. package/_cjs/Subject.cjs +70 -44
  77. package/_cjs/Subject.cjs.map +1 -1
  78. package/_cjs/Subscriber.cjs +123 -71
  79. package/_cjs/Subscriber.cjs.map +1 -1
  80. package/_cjs/Subscription.cjs +8 -8
  81. package/_cjs/Subscription.cjs.map +1 -1
  82. package/_cjs/config.cjs +15 -0
  83. package/_cjs/config.cjs.map +1 -0
  84. package/_cjs/global.cjs.map +1 -1
  85. package/_cjs/index.cjs +14 -14
  86. package/_cjs/index.cjs.map +1 -1
  87. package/_cjs/internal/animationFrameProvider.cjs +2 -2
  88. package/_cjs/internal/animationFrameProvider.cjs.map +1 -1
  89. package/_cjs/internal/args.cjs +2 -2
  90. package/_cjs/internal/args.cjs.map +1 -1
  91. package/_cjs/internal/intervalProvider.cjs.map +1 -1
  92. package/_cjs/internal/performanceTimestampProvider.cjs.map +1 -1
  93. package/_cjs/internal/timeoutProvider.cjs.map +1 -1
  94. package/_cjs/internal/timestampProvider.cjs.map +1 -1
  95. package/_cjs/internal/util.cjs +3 -3
  96. package/_cjs/internal/util.cjs.map +1 -1
  97. package/_mjs/Action.mjs +0 -1
  98. package/_mjs/Action.mjs.map +1 -1
  99. package/_mjs/AnimationFrameAction.mjs.map +1 -1
  100. package/_mjs/AnimationFrameScheduler.mjs.map +1 -1
  101. package/_mjs/AsyncAction.mjs +3 -3
  102. package/_mjs/AsyncAction.mjs.map +1 -1
  103. package/_mjs/AsyncScheduler.mjs +0 -2
  104. package/_mjs/AsyncScheduler.mjs.map +1 -1
  105. package/_mjs/BehaviorSubject.mjs +1 -1
  106. package/_mjs/BehaviorSubject.mjs.map +1 -1
  107. package/_mjs/Notification.mjs.map +1 -1
  108. package/_mjs/Observable/api/connect.mjs +6 -6
  109. package/_mjs/Observable/api/connect.mjs.map +1 -1
  110. package/_mjs/Observable/api/connectable.mjs +1 -1
  111. package/_mjs/Observable/api/connectable.mjs.map +1 -1
  112. package/_mjs/Observable/api/fromCallback.mjs.map +1 -1
  113. package/_mjs/Observable/api/fromEvent.mjs.map +1 -1
  114. package/_mjs/Observable/api/index.mjs.map +1 -1
  115. package/_mjs/Observable/api/race.mjs +1 -1
  116. package/_mjs/Observable/api/race.mjs.map +1 -1
  117. package/_mjs/Observable/api/raceWith.mjs +3 -4
  118. package/_mjs/Observable/api/raceWith.mjs.map +1 -1
  119. package/_mjs/Observable/api/repeatWhen.mjs +9 -8
  120. package/_mjs/Observable/api/repeatWhen.mjs.map +1 -1
  121. package/_mjs/Observable/api/retryWhen.mjs +9 -8
  122. package/_mjs/Observable/api/retryWhen.mjs.map +1 -1
  123. package/_mjs/Observable/api/share.mjs +8 -8
  124. package/_mjs/Observable/api/share.mjs.map +1 -1
  125. package/_mjs/Observable/api/window.mjs +12 -11
  126. package/_mjs/Observable/api/window.mjs.map +1 -1
  127. package/_mjs/Observable/api/windowCount.mjs +12 -10
  128. package/_mjs/Observable/api/windowCount.mjs.map +1 -1
  129. package/_mjs/Observable/api/windowTime.mjs +11 -10
  130. package/_mjs/Observable/api/windowTime.mjs.map +1 -1
  131. package/_mjs/Observable/api/windowToggle.mjs +25 -23
  132. package/_mjs/Observable/api/windowToggle.mjs.map +1 -1
  133. package/_mjs/Observable/api/windowWhen.mjs +17 -15
  134. package/_mjs/Observable/api/windowWhen.mjs.map +1 -1
  135. package/_mjs/Observable/api.mjs +306 -295
  136. package/_mjs/Observable/api.mjs.map +1 -1
  137. package/_mjs/Observable/definition.mjs +2 -9
  138. package/_mjs/Observable/definition.mjs.map +1 -1
  139. package/_mjs/Observable/dom/animationFrames.mjs +1 -1
  140. package/_mjs/Observable/dom/animationFrames.mjs.map +1 -1
  141. package/_mjs/Observable/instances.mjs.map +1 -1
  142. package/_mjs/Observable.mjs +16 -19
  143. package/_mjs/Observable.mjs.map +1 -1
  144. package/_mjs/ObservableRef/api.mjs.map +1 -1
  145. package/_mjs/ObservableRef/atomic.mjs.map +1 -1
  146. package/_mjs/ObservableRef/definition.mjs.map +1 -1
  147. package/_mjs/ObservableRef.mjs +2 -3
  148. package/_mjs/ObservableRef.mjs.map +1 -1
  149. package/_mjs/Observer.mjs.map +1 -1
  150. package/_mjs/Operator.mjs +6 -11
  151. package/_mjs/Operator.mjs.map +1 -1
  152. package/_mjs/Scheduler.mjs.map +1 -1
  153. package/_mjs/Subject.mjs +65 -39
  154. package/_mjs/Subject.mjs.map +1 -1
  155. package/_mjs/Subscriber.mjs +119 -67
  156. package/_mjs/Subscriber.mjs.map +1 -1
  157. package/_mjs/Subscription.mjs +6 -6
  158. package/_mjs/Subscription.mjs.map +1 -1
  159. package/_mjs/config.mjs +9 -0
  160. package/_mjs/config.mjs.map +1 -0
  161. package/_mjs/global.mjs.map +1 -1
  162. package/_mjs/index.mjs.map +1 -1
  163. package/_mjs/internal/animationFrameProvider.mjs.map +1 -1
  164. package/_mjs/internal/args.mjs.map +1 -1
  165. package/_mjs/internal/intervalProvider.mjs.map +1 -1
  166. package/_mjs/internal/performanceTimestampProvider.mjs.map +1 -1
  167. package/_mjs/internal/timeoutProvider.mjs.map +1 -1
  168. package/_mjs/internal/timestampProvider.mjs.map +1 -1
  169. package/_mjs/internal/util.mjs.map +1 -1
  170. package/_src/Action.ts +0 -1
  171. package/_src/AsyncAction.ts +3 -3
  172. package/_src/AsyncScheduler.ts +0 -2
  173. package/_src/BehaviorSubject.ts +1 -1
  174. package/_src/Observable/api/connect.ts +2 -2
  175. package/_src/Observable/api/connectable.ts +1 -1
  176. package/_src/Observable/api/race.ts +1 -1
  177. package/_src/Observable/api/raceWith.ts +2 -5
  178. package/_src/Observable/api/repeatWhen.ts +4 -4
  179. package/_src/Observable/api/retryWhen.ts +3 -3
  180. package/_src/Observable/api/share.ts +6 -6
  181. package/_src/Observable/api/window.ts +3 -3
  182. package/_src/Observable/api/windowCount.ts +30 -33
  183. package/_src/Observable/api/windowTime.ts +4 -4
  184. package/_src/Observable/api/windowToggle.ts +19 -21
  185. package/_src/Observable/api/windowWhen.ts +10 -13
  186. package/_src/Observable/api.ts +358 -366
  187. package/_src/Observable/definition.ts +2 -17
  188. package/_src/Observable/dom/animationFrames.ts +1 -1
  189. package/_src/Observable.ts +18 -19
  190. package/_src/ObservableRef.ts +2 -3
  191. package/_src/Operator.ts +9 -21
  192. package/_src/Subject.ts +66 -39
  193. package/_src/Subscriber.ts +134 -59
  194. package/_src/Subscription.ts +8 -8
  195. package/_src/config.ts +40 -0
  196. package/_src/global.ts +1 -1
  197. package/config.d.ts +36 -0
  198. package/global.d.ts +1 -1
  199. package/package.json +2 -2
@@ -121,33 +121,33 @@ exports.unit = void 0;
121
121
  exports.zip = zip;
122
122
  exports.zipWith = exports.zipLatest = void 0;
123
123
  exports.zipWithLatest = zipWithLatest;
124
- var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Cause/api"));
125
- var _util = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/internal/util"));
124
+ var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Cause/api"));
125
+ var _util = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/observable/internal/util"));
126
126
  var tsplus_module_2 = _util;
127
- var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/util/predicates"));
128
- var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO"));
129
- var tsplus_module_5 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/AsyncScheduler"));
130
- var tsplus_module_6 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/Subscription"));
131
- var _Scheduler = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/Scheduler"));
127
+ var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/util/predicates"));
128
+ var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/IO"));
129
+ var tsplus_module_5 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/observable/AsyncScheduler"));
130
+ var tsplus_module_6 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/observable/Subscription"));
131
+ var _Scheduler = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/observable/Scheduler"));
132
132
  var tsplus_module_7 = _Scheduler;
133
- var tsplus_module_8 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/Operator"));
134
- var tsplus_module_9 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/environment"));
135
- var tsplus_module_10 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/runtime"));
136
- var tsplus_module_11 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Exit/api"));
137
- var tsplus_module_12 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Fiber/api/interrupt"));
138
- var tsplus_module_13 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/function/api"));
139
- var tsplus_module_14 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Either/destructors"));
140
- var tsplus_module_15 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Maybe/destructors"));
141
- var tsplus_module_16 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Environment/api"));
142
- var tsplus_module_17 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Maybe/constructors"));
143
- var tsplus_module_18 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Maybe/definition"));
144
- var tsplus_module_19 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Either/constructors"));
145
- var tsplus_module_20 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/Notification"));
146
- var tsplus_module_21 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/HashSet/api"));
133
+ var tsplus_module_8 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/observable/Operator"));
134
+ var tsplus_module_9 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/IO/api/environment"));
135
+ var tsplus_module_10 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/IO/runtime"));
136
+ var tsplus_module_11 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Exit/api"));
137
+ var tsplus_module_12 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/Fiber/api/interrupt"));
138
+ var tsplus_module_13 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/function/api"));
139
+ var tsplus_module_14 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Either/destructors"));
140
+ var tsplus_module_15 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Maybe/destructors"));
141
+ var tsplus_module_16 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Environment/api"));
142
+ var tsplus_module_17 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Maybe/constructors"));
143
+ var tsplus_module_18 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Maybe/definition"));
144
+ var tsplus_module_19 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Either/constructors"));
145
+ var tsplus_module_20 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/observable/Notification"));
146
+ var tsplus_module_21 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/collection/immutable/HashSet/api"));
147
147
  var _args = /*#__PURE__*/require("@fncts/observable/internal/args");
148
148
  var _definition2 = /*#__PURE__*/require("@fncts/observable/Observable/definition");
149
149
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
150
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
150
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
151
151
  const fileName_1 = "(@fncts/observable) src/Observable/api.ts";
152
152
  const defer = exports.defer = defer_1;
153
153
  const empty = exports.empty = empty_1;
@@ -270,7 +270,7 @@ function from_1(input) {
270
270
  }
271
271
  function fromArrayLike(input) {
272
272
  return new _definition2.Observable(s => {
273
- for (let i = 0; i < input.length && !s.closed; i++) {
273
+ for (let i = 0; i < input.length && !s._closed; i++) {
274
274
  s.next(input[i]);
275
275
  }
276
276
  s.complete();
@@ -285,7 +285,7 @@ function fromIterable(iterable) {
285
285
  return new _definition2.Observable(s => {
286
286
  for (const value of iterable) {
287
287
  s.next(value);
288
- if (s.closed) {
288
+ if (s._closed) {
289
289
  return;
290
290
  }
291
291
  }
@@ -295,7 +295,7 @@ function fromIterable(iterable) {
295
295
  function fromPromise(promise) {
296
296
  return new _definition2.Observable(s => {
297
297
  promise.then(value => {
298
- if (!s.closed) {
298
+ if (!s._closed) {
299
299
  s.next(value);
300
300
  s.complete();
301
301
  }
@@ -338,7 +338,7 @@ function iterate(options) {
338
338
  async function process(asyncIterable, subscriber) {
339
339
  for await (const value of asyncIterable) {
340
340
  subscriber.next(value);
341
- if (subscriber.closed) {
341
+ if (subscriber._closed) {
342
342
  return;
343
343
  }
344
344
  }
@@ -349,7 +349,6 @@ async function process(asyncIterable, subscriber) {
349
349
  */
350
350
  function interval_1(period = 0, scheduler = tsplus_module_5.asyncScheduler) {
351
351
  if (period < 0) {
352
- // eslint-disable-next-line no-param-reassign
353
352
  period = 0;
354
353
  }
355
354
  return timer_1(period, period, scheduler);
@@ -405,7 +404,7 @@ function scheduleArray(input, scheduler) {
405
404
  s.complete();
406
405
  } else {
407
406
  s.next(input[i++]);
408
- if (!s.closed) {
407
+ if (!s._closed) {
409
408
  this.schedule();
410
409
  }
411
410
  }
@@ -491,7 +490,6 @@ function timer_1(time = 0, intervalOrScheduler, scheduler = tsplus_module_5.asyn
491
490
  let intervalDuration = -1;
492
491
  if (intervalOrScheduler != null) {
493
492
  if (tsplus_module_7.isScheduler(intervalOrScheduler)) {
494
- // eslint-disable-next-line no-param-reassign
495
493
  scheduler = intervalOrScheduler;
496
494
  } else {
497
495
  intervalDuration = intervalOrScheduler;
@@ -504,7 +502,7 @@ function timer_1(time = 0, intervalOrScheduler, scheduler = tsplus_module_5.asyn
504
502
  }
505
503
  let n = 0;
506
504
  return scheduler.schedule(function () {
507
- if (!s.closed) {
505
+ if (!s._closed) {
508
506
  s.next(n++);
509
507
  if (0 <= intervalDuration) {
510
508
  this.schedule(undefined, intervalDuration);
@@ -525,7 +523,7 @@ function makeZip(...sources) {
525
523
  subscriber.add(() => {
526
524
  buffers = completed = null;
527
525
  });
528
- for (let sourceIndex = 0; !subscriber.closed && sourceIndex < sources.length; sourceIndex++) {
526
+ for (let sourceIndex = 0; !subscriber._closed && sourceIndex < sources.length; sourceIndex++) {
529
527
  from_1(sources[sourceIndex]).provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
530
528
  next: value => {
531
529
  buffers[sourceIndex].push(value);
@@ -555,9 +553,9 @@ function fromIO_1(io, scheduler = tsplus_module_5.asyncScheduler) {
555
553
  return new _definition2.Observable((s, env) => {
556
554
  let fiber;
557
555
  const scheduled = scheduler.schedule(() => {
558
- fiber = tsplus_module_10.unsafeRunFiber(tsplus_module_9.provideEnvironment(env, fileName_1 + ":489:36")(io), fileName_1 + ":489:56");
556
+ fiber = tsplus_module_10.unsafeRunFiber(tsplus_module_9.provideEnvironment(env, fileName_1 + ":487:36")(io), fileName_1 + ":487:56");
559
557
  fiber.addObserver(exit => {
560
- if (!s.closed) {
558
+ if (!s._closed) {
561
559
  tsplus_module_11.match(cause => s.error(cause), a => s.next(a))(exit);
562
560
  s.complete();
563
561
  }
@@ -565,7 +563,7 @@ function fromIO_1(io, scheduler = tsplus_module_5.asyncScheduler) {
565
563
  });
566
564
  return () => {
567
565
  scheduled.unsubscribe();
568
- fiber && tsplus_module_10.unsafeRunFiber(tsplus_module_12.interrupt(fiber), fileName_1 + ":502:46");
566
+ fiber && tsplus_module_10.unsafeRunFiber(tsplus_module_12.interrupt(fiber), fileName_1 + ":500:46");
569
567
  };
570
568
  });
571
569
  }
@@ -602,14 +600,14 @@ function ap(fa) {
602
600
  */
603
601
  function mapWithIndex_1(f) {
604
602
  return fa => {
605
- return tsplus_module_8.operate_((source, subscriber, environment) => {
603
+ return new _definition2.Observable((destination, environment) => {
606
604
  let i = 0;
607
- source.provideEnvironment(environment).subscribe(new tsplus_module_8.OperatorSubscriber(subscriber, {
605
+ return fa.provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
608
606
  next: value => {
609
- subscriber.next(f(i++, value));
607
+ destination.next(f(i++, value));
610
608
  }
611
- }));
612
- })(fa);
609
+ })(destination));
610
+ });
613
611
  };
614
612
  }
615
613
  /**
@@ -633,21 +631,21 @@ function as_1(b) {
633
631
  */
634
632
  function mapError(f) {
635
633
  return fa => {
636
- return tsplus_module_8.operate_((source, subscriber, environment) => {
637
- source.provideEnvironment(environment).subscribe(new tsplus_module_8.OperatorSubscriber(subscriber, {
634
+ return new _definition2.Observable((subscriber, environment) => {
635
+ return fa.provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
638
636
  error: err => {
639
637
  subscriber.error(tsplus_module_1.map(f)(err));
640
638
  }
641
- }));
642
- })(fa);
639
+ })(subscriber));
640
+ });
643
641
  };
644
642
  }
645
643
  /**
646
644
  * @tsplus getter fncts.observable.Observable swap
647
645
  */
648
646
  function swap(fa) {
649
- return tsplus_module_8.operate_((source, subscriber, environment) => {
650
- source.provideEnvironment(environment).subscribe(new tsplus_module_8.OperatorSubscriber(subscriber, {
647
+ return new _definition2.Observable((subscriber, environment) => {
648
+ return fa.provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
651
649
  next: value => {
652
650
  subscriber.error(tsplus_module_1.fail(value));
653
651
  },
@@ -658,17 +656,17 @@ function swap(fa) {
658
656
  subscriber.error(cause);
659
657
  })(tsplus_module_1.failureOrCause(err));
660
658
  }
661
- }));
662
- })(fa);
659
+ })(subscriber));
660
+ });
663
661
  }
664
662
  function filterWithIndex_1(predicate) {
665
663
  return fa => {
666
- return tsplus_module_8.operate_((source, subscriber, environment) => {
664
+ return new _definition2.Observable((subscriber, environment) => {
667
665
  let index = 0;
668
- source.provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
666
+ return fa.provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
669
667
  next: value => predicate(index++, value) && subscriber.next(value)
670
- }));
671
- })(fa);
668
+ })(subscriber));
669
+ });
672
670
  };
673
671
  }
674
672
  function filter(predicate) {
@@ -681,12 +679,12 @@ function filter(predicate) {
681
679
  */
682
680
  function filterMapWithIndex_1(f) {
683
681
  return fa => {
684
- return tsplus_module_8.operate_((source, subscriber, environment) => {
682
+ return new _definition2.Observable((subscriber, environment) => {
685
683
  let index = 0;
686
- source.provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
684
+ return fa.provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
687
685
  next: value => tsplus_module_15.match(() => tsplus_module_2.noop, b => subscriber.next(b))(f(index++, value))
688
- }));
689
- })(fa);
686
+ })(subscriber));
687
+ });
690
688
  };
691
689
  }
692
690
  /**
@@ -712,21 +710,21 @@ function partition(predicate) {
712
710
  */
713
711
  function partitionMapWithIndex_1(f) {
714
712
  return fa => {
715
- return [tsplus_module_8.operate_((source, subscriber, environment) => {
713
+ return [new _definition2.Observable((subscriber, environment) => {
716
714
  let index = 0;
717
- source.provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
715
+ return fa.provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
718
716
  next: value => {
719
717
  tsplus_module_14.match(b => subscriber.next(b), tsplus_module_2.noop)(f(index++, value));
720
718
  }
721
- }));
722
- })(fa), tsplus_module_8.operate_((source, subscriber, environment) => {
719
+ })(subscriber));
720
+ }), new _definition2.Observable((subscriber, environment) => {
723
721
  let index = 0;
724
- source.provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
722
+ return fa.provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
725
723
  next: value => {
726
724
  tsplus_module_14.match(tsplus_module_2.noop, c => subscriber.next(c))(f(index++, value));
727
725
  }
728
- }));
729
- })(fa)];
726
+ })(subscriber));
727
+ })];
730
728
  };
731
729
  }
732
730
  /**
@@ -750,7 +748,9 @@ function provideService(service, /** @tsplus auto */tag) {
750
748
  */
751
749
  function mergeMapWithIndex_1(f, concurrent = Infinity) {
752
750
  return ma => {
753
- return tsplus_module_8.operate_((source, sub, environment) => mergeInternal(source, sub, environment, f, concurrent))(ma);
751
+ return new _definition2.Observable((subscriber, environment) => {
752
+ return mergeInternal(ma, subscriber, environment, f, concurrent);
753
+ });
754
754
  };
755
755
  }
756
756
  /**
@@ -796,7 +796,9 @@ function flatten(mma) {
796
796
  */
797
797
  function foldLeftWithIndex_1(initial, f) {
798
798
  return fa => {
799
- return tsplus_module_8.operate_(scanInternal(f, initial, true, false, true))(fa);
799
+ return new _definition2.Observable((subscriber, environment) => {
800
+ return scanInternal(fa, subscriber, environment, f, initial, true, false, true);
801
+ });
800
802
  };
801
803
  }
802
804
  /**
@@ -812,7 +814,7 @@ function foldLeft_1(initial, f) {
812
814
  */
813
815
  function at(index) {
814
816
  return fa => {
815
- return onEmpty_1(() => tsplus_module_17.nothing(fileName_1 + ":841:29"))(map_1(tsplus_module_17.just)(take_1(1)(filterWithIndex_1(i => i === index)(fa))));
817
+ return onEmpty_1(() => tsplus_module_17.nothing(fileName_1 + ":843:29"))(map_1(tsplus_module_17.just)(take_1(1)(filterWithIndex_1(i => i === index)(fa))));
816
818
  };
817
819
  }
818
820
  /**
@@ -820,8 +822,8 @@ function at(index) {
820
822
  */
821
823
  function audit_1(durationSelector) {
822
824
  return fa => {
823
- return tsplus_module_8.operate_((source, subscriber, environment) => {
824
- let lastValue = tsplus_module_17.nothing(fileName_1 + ":851:40");
825
+ return new _definition2.Observable((subscriber, environment) => {
826
+ let lastValue = tsplus_module_17.nothing(fileName_1 + ":853:40");
825
827
  let durationSubscriber = null;
826
828
  let isComplete = false;
827
829
  const endDuration = () => {
@@ -831,7 +833,7 @@ function audit_1(durationSelector) {
831
833
  const {
832
834
  value
833
835
  } = lastValue;
834
- lastValue = tsplus_module_17.nothing(fileName_1 + ":859:36");
836
+ lastValue = tsplus_module_17.nothing(fileName_1 + ":861:36");
835
837
  subscriber.next(value);
836
838
  }
837
839
  isComplete && subscriber.complete();
@@ -840,9 +842,9 @@ function audit_1(durationSelector) {
840
842
  durationSubscriber = null;
841
843
  isComplete && subscriber.complete();
842
844
  };
843
- source.provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
845
+ return fa.provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
844
846
  next: value => {
845
- lastValue = tsplus_module_17.just(value, fileName_1 + ":871:29");
847
+ lastValue = tsplus_module_17.just(value, fileName_1 + ":873:29");
846
848
  if (!durationSubscriber) {
847
849
  from_1(durationSelector(value)).provideEnvironment(environment).subscribe(durationSubscriber = tsplus_module_8.operatorSubscriber(subscriber, {
848
850
  next: endDuration,
@@ -852,10 +854,10 @@ function audit_1(durationSelector) {
852
854
  },
853
855
  complete: () => {
854
856
  isComplete = true;
855
- (tsplus_module_18.isNothing(lastValue) || !durationSubscriber || durationSubscriber.closed) && subscriber.complete();
857
+ (tsplus_module_18.isNothing(lastValue) || !durationSubscriber || durationSubscriber._closed) && subscriber.complete();
856
858
  }
857
859
  }));
858
- })(fa);
860
+ });
859
861
  };
860
862
  }
861
863
  /**
@@ -871,27 +873,27 @@ function auditTime(duration, scheduler = tsplus_module_5.asyncScheduler) {
871
873
  */
872
874
  function buffer(closingNotifier) {
873
875
  return fa => {
874
- return tsplus_module_8.operate_((source, subscriber, environment) => {
876
+ return new _definition2.Observable((subscriber, environment) => {
875
877
  let buffer = [];
876
- source.provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
878
+ fa.provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
877
879
  next: value => buffer.push(value),
878
880
  complete: () => {
879
881
  subscriber.next(buffer);
880
882
  subscriber.complete();
881
883
  }
882
- }));
883
- closingNotifier.provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
884
+ })(subscriber));
885
+ closingNotifier.provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
884
886
  next: () => {
885
887
  const b = buffer;
886
888
  buffer = [];
887
889
  subscriber.next(b);
888
890
  },
889
891
  complete: tsplus_module_2.noop
890
- }));
892
+ })(subscriber));
891
893
  return () => {
892
894
  buffer = null;
893
895
  };
894
- })(fa);
896
+ });
895
897
  };
896
898
  }
897
899
  /**
@@ -899,12 +901,11 @@ function buffer(closingNotifier) {
899
901
  */
900
902
  function bufferCount(bufferSize, startBufferEvery) {
901
903
  return fa => {
902
- // eslint-disable-next-line no-param-reassign
903
904
  startBufferEvery = startBufferEvery ?? bufferSize;
904
- return tsplus_module_8.operate_((source, subscriber, environment) => {
905
+ return new _definition2.Observable((subscriber, environment) => {
905
906
  let buffers = [];
906
907
  let count = 0;
907
- source.provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
908
+ return fa.provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
908
909
  next: value => {
909
910
  let toEmit = null;
910
911
  if (count++ % startBufferEvery === 0) {
@@ -929,11 +930,12 @@ function bufferCount(bufferSize, startBufferEvery) {
929
930
  subscriber.next(buffer);
930
931
  }
931
932
  subscriber.complete();
933
+ },
934
+ finalize: () => {
935
+ buffers = null;
932
936
  }
933
- }, () => {
934
- buffers = null;
935
- }));
936
- })(fa);
937
+ })(subscriber));
938
+ });
937
939
  };
938
940
  }
939
941
  /**
@@ -947,7 +949,7 @@ function bufferTime(config) {
947
949
  maxBufferSize = Infinity,
948
950
  scheduler = tsplus_module_5.asyncScheduler
949
951
  } = config;
950
- return tsplus_module_8.operate_((source, subscriber, environment) => {
952
+ return new _definition2.Observable((subscriber, environment) => {
951
953
  let bufferRecords = [];
952
954
  let restartOnEmit = true;
953
955
  const emit = record => {
@@ -975,10 +977,10 @@ function bufferTime(config) {
975
977
  };
976
978
  bufferCreationInterval !== null && bufferCreationInterval >= 0 ? subscriber.add(scheduler.schedule(function () {
977
979
  startBuffer();
978
- !this.closed && subscriber.add(this.schedule(null, bufferCreationInterval));
980
+ !this._closed && subscriber.add(this.schedule(null, bufferCreationInterval));
979
981
  }, bufferCreationInterval)) : restartOnEmit = true;
980
982
  startBuffer();
981
- const bufferTimeSubscriber = tsplus_module_8.operatorSubscriber(subscriber, {
983
+ const bufferTimeSubscriber = tsplus_module_8.operate_({
982
984
  next: value => {
983
985
  const recordsCopy = bufferRecords.slice();
984
986
  for (const record of recordsCopy) {
@@ -996,10 +998,13 @@ function bufferTime(config) {
996
998
  bufferTimeSubscriber?.unsubscribe();
997
999
  subscriber.complete();
998
1000
  subscriber.unsubscribe();
1001
+ },
1002
+ finalize: () => {
1003
+ bufferRecords = null;
999
1004
  }
1000
- }, () => bufferRecords = null);
1001
- source.provideEnvironment(environment).subscribe(bufferTimeSubscriber);
1002
- })(fa);
1005
+ })(subscriber);
1006
+ return fa.provideEnvironment(environment).subscribe(bufferTimeSubscriber);
1007
+ });
1003
1008
  };
1004
1009
  }
1005
1010
  /**
@@ -1007,7 +1012,7 @@ function bufferTime(config) {
1007
1012
  */
1008
1013
  function bufferToggle(openings, closingSelector) {
1009
1014
  return fa => {
1010
- return tsplus_module_8.operate_((source, subscriber, environment) => {
1015
+ return new _definition2.Observable((subscriber, environment) => {
1011
1016
  const buffers = [];
1012
1017
  from_1(openings).provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
1013
1018
  next: openValue => {
@@ -1026,7 +1031,7 @@ function bufferToggle(openings, closingSelector) {
1026
1031
  },
1027
1032
  complete: tsplus_module_2.noop
1028
1033
  }));
1029
- source.provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
1034
+ return fa.provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
1030
1035
  next: value => {
1031
1036
  for (const buffer of buffers) {
1032
1037
  buffer.push(value);
@@ -1038,8 +1043,8 @@ function bufferToggle(openings, closingSelector) {
1038
1043
  }
1039
1044
  subscriber.complete();
1040
1045
  }
1041
- }));
1042
- })(fa);
1046
+ })(subscriber));
1047
+ });
1043
1048
  };
1044
1049
  }
1045
1050
  /**
@@ -1047,7 +1052,7 @@ function bufferToggle(openings, closingSelector) {
1047
1052
  */
1048
1053
  function bufferWhen(closingSelector) {
1049
1054
  return fa => {
1050
- return tsplus_module_8.operate_((source, subscriber, environment) => {
1055
+ return new _definition2.Observable((subscriber, environment) => {
1051
1056
  let buffer = null;
1052
1057
  let closingSubscriber = null;
1053
1058
  const openBuffer = () => {
@@ -1061,14 +1066,15 @@ function bufferWhen(closingSelector) {
1061
1066
  }));
1062
1067
  };
1063
1068
  openBuffer();
1064
- source.provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
1069
+ return fa.provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
1065
1070
  next: value => buffer?.push(value),
1066
1071
  complete: () => {
1067
1072
  buffer && subscriber.next(buffer);
1068
1073
  subscriber.complete();
1069
- }
1070
- }, () => buffer = closingSubscriber = null));
1071
- })(fa);
1074
+ },
1075
+ finalize: () => buffer = closingSubscriber = null
1076
+ })(subscriber));
1077
+ });
1072
1078
  };
1073
1079
  }
1074
1080
  /**
@@ -1076,13 +1082,13 @@ function bufferWhen(closingSelector) {
1076
1082
  */
1077
1083
  function catchAllCause_1(f) {
1078
1084
  return self => {
1079
- return tsplus_module_8.operate_((source, subscriber, environment) => {
1085
+ return new _definition2.Observable((subscriber, environment) => {
1080
1086
  let innerSub = null;
1081
1087
  let syncUnsub = false;
1082
1088
  let handledResult;
1083
- innerSub = source.provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
1089
+ innerSub = self.provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
1084
1090
  error: cause => {
1085
- handledResult = from_1(f(cause, catchAllCause_1(f)(source)));
1091
+ handledResult = from_1(f(cause, catchAllCause_1(f)(self)));
1086
1092
  if (innerSub) {
1087
1093
  innerSub.unsubscribe();
1088
1094
  innerSub = null;
@@ -1091,13 +1097,13 @@ function catchAllCause_1(f) {
1091
1097
  syncUnsub = true;
1092
1098
  }
1093
1099
  }
1094
- }));
1100
+ })(subscriber));
1095
1101
  if (syncUnsub) {
1096
1102
  innerSub.unsubscribe();
1097
1103
  innerSub = null;
1098
1104
  handledResult.provideEnvironment(environment).subscribe(subscriber);
1099
1105
  }
1100
- })(self);
1106
+ });
1101
1107
  };
1102
1108
  }
1103
1109
  /**
@@ -1111,9 +1117,9 @@ function concatAll_1(ffa) {
1111
1117
  */
1112
1118
  function concat_1(...sources) {
1113
1119
  return fa => {
1114
- return tsplus_module_8.operate_((source, subscriber, environment) => {
1115
- concatAll_1(fromArrayLike([source, ...sources])).provideEnvironment(environment).subscribe(subscriber);
1116
- })(fa);
1120
+ return new _definition2.Observable((subscriber, environment) => {
1121
+ return concatAll_1(fromArrayLike([fa, ...sources])).provideEnvironment(environment).subscribe(subscriber);
1122
+ });
1117
1123
  };
1118
1124
  }
1119
1125
  /**
@@ -1150,11 +1156,11 @@ function combineLatestAll(fa) {
1150
1156
  function zipLatest_1(...sources) {
1151
1157
  return self => {
1152
1158
  if (!sources.length) {
1153
- return from_1(self).unsafeCoerce();
1159
+ return from_1(self);
1154
1160
  }
1155
- return tsplus_module_8.operate_((source, subscriber, environment) => {
1156
- combineLatestInternal(subscriber, environment, [source, ...sources]);
1157
- })(from_1(self));
1161
+ return new _definition2.Observable((subscriber, environment) => {
1162
+ return combineLatestInternal(subscriber, environment, [self, ...sources]);
1163
+ });
1158
1164
  };
1159
1165
  }
1160
1166
  /**
@@ -1170,8 +1176,8 @@ function zipWithLatest(that, f) {
1170
1176
  */
1171
1177
  function debounceWith(durationSelector) {
1172
1178
  return fa => {
1173
- return tsplus_module_8.operate_((source, subscriber, environment) => {
1174
- let lastValue = tsplus_module_17.nothing(fileName_1 + ":1290:40");
1179
+ return new _definition2.Observable((subscriber, environment) => {
1180
+ let lastValue = tsplus_module_17.nothing(fileName_1 + ":1288:40");
1175
1181
  let durationSubscriber = null;
1176
1182
  const emit = () => {
1177
1183
  durationSubscriber?.unsubscribe();
@@ -1180,28 +1186,29 @@ function debounceWith(durationSelector) {
1180
1186
  const {
1181
1187
  value
1182
1188
  } = lastValue;
1183
- lastValue = tsplus_module_17.nothing(fileName_1 + ":1297:36");
1189
+ lastValue = tsplus_module_17.nothing(fileName_1 + ":1295:36");
1184
1190
  subscriber.next(value);
1185
1191
  }
1186
1192
  };
1187
- source.provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
1193
+ return fa.provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
1188
1194
  next: value => {
1189
1195
  durationSubscriber?.unsubscribe();
1190
- lastValue = tsplus_module_17.just(value, fileName_1 + ":1307:40");
1191
- durationSubscriber = tsplus_module_8.operatorSubscriber(subscriber, {
1196
+ lastValue = tsplus_module_17.just(value, fileName_1 + ":1303:38");
1197
+ durationSubscriber = tsplus_module_8.operate_({
1192
1198
  next: emit,
1193
1199
  complete: tsplus_module_2.noop
1194
- });
1200
+ })(subscriber);
1195
1201
  from_1(durationSelector(value)).provideEnvironment(environment).subscribe(durationSubscriber);
1196
1202
  },
1197
1203
  complete: () => {
1198
1204
  emit();
1199
1205
  subscriber.complete();
1206
+ },
1207
+ finalize: () => {
1208
+ lastValue = durationSubscriber = null;
1200
1209
  }
1201
- }, () => {
1202
- lastValue = durationSubscriber = null;
1203
- }));
1204
- })(fa);
1210
+ })(subscriber));
1211
+ });
1205
1212
  };
1206
1213
  }
1207
1214
  /**
@@ -1209,7 +1216,7 @@ function debounceWith(durationSelector) {
1209
1216
  */
1210
1217
  function debounce(dueTime, scheduler = tsplus_module_5.asyncScheduler) {
1211
1218
  return fa => {
1212
- return tsplus_module_8.operate_((source, subscriber, environment) => {
1219
+ return new _definition2.Observable((subscriber, environment) => {
1213
1220
  let activeTask = null;
1214
1221
  let lastValue = null;
1215
1222
  let lastTime = null;
@@ -1232,7 +1239,7 @@ function debounce(dueTime, scheduler = tsplus_module_5.asyncScheduler) {
1232
1239
  }
1233
1240
  emit();
1234
1241
  }
1235
- source.provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
1242
+ return fa.provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
1236
1243
  next: value => {
1237
1244
  lastValue = value;
1238
1245
  lastTime = scheduler.now();
@@ -1244,27 +1251,28 @@ function debounce(dueTime, scheduler = tsplus_module_5.asyncScheduler) {
1244
1251
  complete: () => {
1245
1252
  emit();
1246
1253
  subscriber.complete();
1254
+ },
1255
+ finalize: () => {
1256
+ lastValue = activeTask = null;
1247
1257
  }
1248
- }, () => {
1249
- lastValue = activeTask = null;
1250
- }));
1251
- })(fa);
1258
+ })(subscriber));
1259
+ });
1252
1260
  };
1253
1261
  }
1254
1262
  /**
1255
1263
  * @tsplus getter fncts.observable.Observable either
1256
1264
  */
1257
1265
  function either(fa) {
1258
- return tsplus_module_8.operate_((source, subscriber, environment) => {
1259
- source.provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
1266
+ return new _definition2.Observable((subscriber, environment) => {
1267
+ return fa.provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
1260
1268
  next: value => {
1261
- subscriber.next(tsplus_module_19.right(value, fileName_1 + ":1387:39"));
1269
+ subscriber.next(tsplus_module_19.right(value, fileName_1 + ":1379:39"));
1262
1270
  },
1263
1271
  error: error => {
1264
- tsplus_module_14.match(e => subscriber.next(tsplus_module_19.left(e, fileName_1 + ":1391:47")), cause => subscriber.error(cause))(tsplus_module_1.failureOrCause(error));
1272
+ tsplus_module_14.match(e => subscriber.next(tsplus_module_19.left(e, fileName_1 + ":1383:47")), cause => subscriber.error(cause))(tsplus_module_1.failureOrCause(error));
1265
1273
  }
1266
- }));
1267
- })(fa);
1274
+ })(subscriber));
1275
+ });
1268
1276
  }
1269
1277
  /**
1270
1278
  * @tsplus pipeable fncts.observable.Observable delayWithIndex
@@ -1295,39 +1303,39 @@ function delay(due, scheduler = tsplus_module_5.asyncScheduler) {
1295
1303
  * @tsplus getter fncts.observable.Observable dematerialize
1296
1304
  */
1297
1305
  function dematerialize(fa) {
1298
- return tsplus_module_8.operate_((source, subscriber, environment) => {
1299
- source.provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
1306
+ return new _definition2.Observable((subscriber, environment) => {
1307
+ return fa.provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
1300
1308
  next: notification => tsplus_module_20.observe(subscriber)(notification)
1301
- }));
1302
- })(fa);
1309
+ })(subscriber));
1310
+ });
1303
1311
  }
1304
1312
  /**
1305
1313
  * @tsplus pipeable fncts.observable.Observable ensuring
1306
1314
  */
1307
1315
  function ensuring(finalizer) {
1308
1316
  return fa => {
1309
- return tsplus_module_8.operate_((source, subscriber, environment) => {
1310
- source.provideEnvironment(environment).subscribe(subscriber);
1317
+ return new _definition2.Observable((subscriber, environment) => {
1311
1318
  subscriber.add(finalizer);
1312
- })(fa);
1319
+ return fa.provideEnvironment(environment).subscribe(subscriber);
1320
+ });
1313
1321
  };
1314
1322
  }
1315
1323
  /**
1316
1324
  * @tsplus getter fncts.observable.Observable exhaustAll
1317
1325
  */
1318
1326
  function exhaustAll(ffa) {
1319
- return tsplus_module_8.operate_((source, subscriber, environment) => {
1327
+ return new _definition2.Observable((subscriber, environment) => {
1320
1328
  let isComplete = false;
1321
1329
  let innerSub = null;
1322
- source.provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
1330
+ return ffa.provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
1323
1331
  next: inner => {
1324
1332
  if (!innerSub) {
1325
- innerSub = from_1(inner).provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
1333
+ innerSub = from_1(inner).provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
1326
1334
  complete: () => {
1327
1335
  innerSub = null;
1328
1336
  isComplete && subscriber.complete();
1329
1337
  }
1330
- }));
1338
+ })(subscriber));
1331
1339
  }
1332
1340
  },
1333
1341
  complete: () => {
@@ -1335,26 +1343,26 @@ function exhaustAll(ffa) {
1335
1343
  !innerSub && subscriber.complete();
1336
1344
  }
1337
1345
  }));
1338
- })(ffa);
1346
+ });
1339
1347
  }
1340
1348
  /**
1341
1349
  * @tsplus pipeable fncts.observable.Observable exhaustMapWithIndex
1342
1350
  */
1343
1351
  function exhaustMapWithIndex_1(f) {
1344
1352
  return self => {
1345
- return tsplus_module_8.operate_((source, subscriber, environment) => {
1353
+ return new _definition2.Observable((subscriber, environment) => {
1346
1354
  let index = 0;
1347
1355
  let innerSub = null;
1348
1356
  let isComplete = false;
1349
- source.provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
1357
+ self.provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
1350
1358
  next: outerValue => {
1351
1359
  if (!innerSub) {
1352
- innerSub = tsplus_module_8.operatorSubscriber(subscriber, {
1360
+ innerSub = tsplus_module_8.operate_({
1353
1361
  complete: () => {
1354
1362
  innerSub = null;
1355
1363
  isComplete && subscriber.complete();
1356
1364
  }
1357
- });
1365
+ })(subscriber);
1358
1366
  from_1(f(index++, outerValue)).provideEnvironment(environment).subscribe(innerSub);
1359
1367
  }
1360
1368
  },
@@ -1362,8 +1370,8 @@ function exhaustMapWithIndex_1(f) {
1362
1370
  isComplete = true;
1363
1371
  !innerSub && subscriber.complete();
1364
1372
  }
1365
- }));
1366
- })(self);
1373
+ })(subscriber));
1374
+ });
1367
1375
  };
1368
1376
  }
1369
1377
  /**
@@ -1380,7 +1388,9 @@ function exhaustMap(f) {
1380
1388
  function expandWithIndex_1(f, concurrent = Infinity) {
1381
1389
  return fa => {
1382
1390
  concurrent = (concurrent || 0) < 1 ? Infinity : concurrent;
1383
- return tsplus_module_8.operate_((source, subscriber, environment) => mergeInternal(source, subscriber, environment, f, concurrent, undefined, true))(fa);
1391
+ return new _definition2.Observable((subscriber, environment) => {
1392
+ return mergeInternal(fa, subscriber, environment, f, concurrent, undefined, true);
1393
+ });
1384
1394
  };
1385
1395
  }
1386
1396
  /**
@@ -1393,7 +1403,7 @@ function expand(f, concurrent = Infinity) {
1393
1403
  }
1394
1404
  function findWithIndex_1(predicate) {
1395
1405
  return fa => {
1396
- return tsplus_module_8.operate_(findInternal(predicate, "value"))(fa);
1406
+ return new _definition2.Observable(findInternal(fa, predicate, "value"));
1397
1407
  };
1398
1408
  }
1399
1409
  function find(predicate) {
@@ -1403,7 +1413,7 @@ function find(predicate) {
1403
1413
  }
1404
1414
  function findIndexWithIndex_1(predicate) {
1405
1415
  return fa => {
1406
- return tsplus_module_8.operate_(findInternal(predicate, "index"))(fa);
1416
+ return new _definition2.Observable(findInternal(fa, predicate, "index"));
1407
1417
  };
1408
1418
  }
1409
1419
  function findIndex(predicate) {
@@ -1416,7 +1426,7 @@ function forkJoin(...args) {
1416
1426
  args: sources,
1417
1427
  keys
1418
1428
  } = (0, _util.arrayOrObject)(args);
1419
- return new _definition2.Observable(s => {
1429
+ return new _definition2.Observable((s, environment) => {
1420
1430
  const length = sources.length;
1421
1431
  if (!length) {
1422
1432
  s.complete();
@@ -1427,7 +1437,7 @@ function forkJoin(...args) {
1427
1437
  let remainingEmissions = length;
1428
1438
  for (let sourceIndex = 0; sourceIndex < length; sourceIndex++) {
1429
1439
  let hasValue = false;
1430
- from_1(sources[sourceIndex]).subscribe(tsplus_module_8.operatorSubscriber(s, {
1440
+ from_1(sources[sourceIndex]).provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
1431
1441
  next: value => {
1432
1442
  if (!hasValue) {
1433
1443
  hasValue = true;
@@ -1447,7 +1457,7 @@ function forkJoin(...args) {
1447
1457
  s.complete();
1448
1458
  }
1449
1459
  }
1450
- }));
1460
+ })(s));
1451
1461
  }
1452
1462
  });
1453
1463
  }
@@ -1455,18 +1465,18 @@ function forkJoin(...args) {
1455
1465
  * @tsplus getter fncts.observable.Observable ignore
1456
1466
  */
1457
1467
  function ignore(fa) {
1458
- return tsplus_module_8.operate_((source, subscriber, environment) => {
1459
- source.provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
1468
+ return new _definition2.Observable((subscriber, environment) => {
1469
+ return fa.provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
1460
1470
  next: tsplus_module_2.noop
1461
- }));
1462
- })(fa);
1471
+ })(subscriber));
1472
+ });
1463
1473
  }
1464
1474
  /**
1465
1475
  * @tsplus getter fncts.observable.Observable isEmpty
1466
1476
  */
1467
1477
  function isEmpty(fa) {
1468
- return tsplus_module_8.operate_((source, subscriber, environment) => {
1469
- source.provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
1478
+ return new _definition2.Observable((subscriber, environment) => {
1479
+ return fa.provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
1470
1480
  next: () => {
1471
1481
  subscriber.next(false);
1472
1482
  subscriber.complete();
@@ -1475,15 +1485,15 @@ function isEmpty(fa) {
1475
1485
  subscriber.next(true);
1476
1486
  subscriber.complete();
1477
1487
  }
1478
- }));
1479
- })(fa);
1488
+ })(subscriber));
1489
+ });
1480
1490
  }
1481
1491
  /**
1482
1492
  * @tsplus getter fncts.observable.Observable materialize
1483
1493
  */
1484
1494
  function materialize(fa) {
1485
- return tsplus_module_8.operate_((source, subscriber, environment) => {
1486
- source.provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
1495
+ return new _definition2.Observable((subscriber, environment) => {
1496
+ return fa.provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
1487
1497
  next: value => {
1488
1498
  subscriber.next(tsplus_module_20.next(value));
1489
1499
  },
@@ -1493,8 +1503,8 @@ function materialize(fa) {
1493
1503
  complete: () => {
1494
1504
  subscriber.next(tsplus_module_20.complete());
1495
1505
  }
1496
- }));
1497
- })(fa);
1506
+ })(subscriber));
1507
+ });
1498
1508
  }
1499
1509
  /**
1500
1510
  * @tsplus pipeable fncts.observable.Observable mergeAll
@@ -1509,12 +1519,12 @@ function mergeAll_1(concurrent = Infinity) {
1509
1519
  */
1510
1520
  function mergeScanWithIndex_1(initial, f, concurrent = Infinity) {
1511
1521
  return fa => {
1512
- return tsplus_module_8.operate_((source, subscriber, environment) => {
1522
+ return new _definition2.Observable((subscriber, environment) => {
1513
1523
  let state = initial;
1514
- return mergeInternal(source, subscriber, environment, (index, value) => f(index, state, value), concurrent, value => {
1524
+ return mergeInternal(fa, subscriber, environment, (index, value) => f(index, state, value), concurrent, value => {
1515
1525
  state = value;
1516
1526
  }, false, undefined, () => state = null);
1517
- })(fa);
1527
+ });
1518
1528
  };
1519
1529
  }
1520
1530
  /**
@@ -1526,10 +1536,10 @@ function mergeScan(initial, f, concurrent = Infinity) {
1526
1536
  };
1527
1537
  }
1528
1538
  function onErrorResumeNext(fa, ...sources) {
1529
- return tsplus_module_8.operate_((source, subscriber, environment) => {
1530
- const remaining = [source, ...sources];
1539
+ return new _definition2.Observable((subscriber, environment) => {
1540
+ const remaining = [fa, ...sources];
1531
1541
  const subscribeNext = () => {
1532
- if (!subscriber.closed) {
1542
+ if (!subscriber._closed) {
1533
1543
  if (remaining.length > 0) {
1534
1544
  let nextSource;
1535
1545
  try {
@@ -1538,10 +1548,10 @@ function onErrorResumeNext(fa, ...sources) {
1538
1548
  subscribeNext();
1539
1549
  return;
1540
1550
  }
1541
- const innerSub = tsplus_module_8.operatorSubscriber(subscriber, {
1551
+ const innerSub = tsplus_module_8.operate_({
1542
1552
  error: tsplus_module_2.noop,
1543
1553
  complete: tsplus_module_2.noop
1544
- });
1554
+ })(subscriber);
1545
1555
  subscriber.add(nextSource.provideEnvironment(environment).subscribe(innerSub));
1546
1556
  innerSub.add(subscribeNext);
1547
1557
  } else {
@@ -1550,16 +1560,16 @@ function onErrorResumeNext(fa, ...sources) {
1550
1560
  }
1551
1561
  };
1552
1562
  subscribeNext();
1553
- })(fa);
1563
+ });
1554
1564
  }
1555
1565
  /**
1556
1566
  * @tsplus pipeable fncts.observable.Observable onEmpty
1557
1567
  */
1558
1568
  function onEmpty_1(f) {
1559
1569
  return fa => {
1560
- return tsplus_module_8.operate_((source, subscriber, environment) => {
1570
+ return new _definition2.Observable((subscriber, environment) => {
1561
1571
  let hasValue = false;
1562
- source.provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
1572
+ return fa.provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
1563
1573
  next: value => {
1564
1574
  hasValue = true;
1565
1575
  subscriber.next(value);
@@ -1570,8 +1580,8 @@ function onEmpty_1(f) {
1570
1580
  }
1571
1581
  subscriber.complete();
1572
1582
  }
1573
- }));
1574
- })(fa);
1583
+ })(subscriber));
1584
+ });
1575
1585
  };
1576
1586
  }
1577
1587
  /**
@@ -1579,12 +1589,12 @@ function onEmpty_1(f) {
1579
1589
  */
1580
1590
  function repeat(count = Infinity) {
1581
1591
  return fa => {
1582
- return count <= 0 ? empty_1() : tsplus_module_8.operate_((source, subscriber, environment) => {
1592
+ return count <= 0 ? empty_1() : new _definition2.Observable((subscriber, environment) => {
1583
1593
  let repeats = 0;
1584
1594
  let innerSub;
1585
1595
  const loop = () => {
1586
1596
  let syncUnsub = false;
1587
- innerSub = source.provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
1597
+ innerSub = fa.provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
1588
1598
  complete: () => {
1589
1599
  if (++repeats < count) {
1590
1600
  if (innerSub) {
@@ -1598,7 +1608,7 @@ function repeat(count = Infinity) {
1598
1608
  subscriber.complete;
1599
1609
  }
1600
1610
  }
1601
- }));
1611
+ })(subscriber));
1602
1612
  if (syncUnsub) {
1603
1613
  innerSub.unsubscribe();
1604
1614
  innerSub = null;
@@ -1606,7 +1616,7 @@ function repeat(count = Infinity) {
1606
1616
  }
1607
1617
  };
1608
1618
  loop();
1609
- })(fa);
1619
+ });
1610
1620
  };
1611
1621
  }
1612
1622
  function retry(configOrCount = Infinity) {
@@ -1623,12 +1633,12 @@ function retry(configOrCount = Infinity) {
1623
1633
  count,
1624
1634
  resetOnSuccess = false
1625
1635
  } = config;
1626
- return count <= 0 ? fa : tsplus_module_8.operate_((source, subscriber, environment) => {
1636
+ return count <= 0 ? fa : new _definition2.Observable((subscriber, environment) => {
1627
1637
  let retries = 0;
1628
1638
  let innerSub;
1629
1639
  const loop = () => {
1630
1640
  let syncUnsub = false;
1631
- innerSub = source.provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
1641
+ innerSub = fa.provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
1632
1642
  next: value => {
1633
1643
  if (resetOnSuccess) {
1634
1644
  retries = 0;
@@ -1648,7 +1658,7 @@ function retry(configOrCount = Infinity) {
1648
1658
  subscriber.error(err);
1649
1659
  }
1650
1660
  }
1651
- }));
1661
+ })(subscriber));
1652
1662
  if (syncUnsub) {
1653
1663
  innerSub.unsubscribe();
1654
1664
  innerSub = null;
@@ -1656,7 +1666,7 @@ function retry(configOrCount = Infinity) {
1656
1666
  }
1657
1667
  };
1658
1668
  loop();
1659
- })(fa);
1669
+ });
1660
1670
  };
1661
1671
  }
1662
1672
  /**
@@ -1664,15 +1674,15 @@ function retry(configOrCount = Infinity) {
1664
1674
  */
1665
1675
  function sample_1(notifier) {
1666
1676
  return fa => {
1667
- return tsplus_module_8.operate_((source, subscriber, environment) => {
1677
+ return new _definition2.Observable((subscriber, environment) => {
1668
1678
  let hasValue = false;
1669
1679
  let lastValue = null;
1670
- source.provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
1680
+ fa.provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
1671
1681
  next: value => {
1672
1682
  hasValue = true;
1673
1683
  lastValue = value;
1674
1684
  }
1675
- }));
1685
+ })(subscriber));
1676
1686
  const emit = () => {
1677
1687
  if (hasValue) {
1678
1688
  hasValue = false;
@@ -1681,11 +1691,11 @@ function sample_1(notifier) {
1681
1691
  subscriber.next(value);
1682
1692
  }
1683
1693
  };
1684
- notifier.provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
1694
+ notifier.provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
1685
1695
  next: emit,
1686
1696
  complete: tsplus_module_2.noop
1687
- }));
1688
- })(fa);
1697
+ })(subscriber));
1698
+ });
1689
1699
  };
1690
1700
  }
1691
1701
  /**
@@ -1701,7 +1711,7 @@ function sampleTime(period, scheduler = tsplus_module_5.asyncScheduler) {
1701
1711
  */
1702
1712
  function scanLeftWithIndex_1(initial, f) {
1703
1713
  return fa => {
1704
- return tsplus_module_8.operate_(scanInternal(f, initial, true, true))(fa);
1714
+ return new _definition2.Observable((subscriber, environment) => scanInternal(fa, subscriber, environment, f, initial, true, true));
1705
1715
  };
1706
1716
  }
1707
1717
  /**
@@ -1715,7 +1725,7 @@ function scanLeft(initial, f) {
1715
1725
  /**
1716
1726
  * @tsplus static fncts.observable.ObservableOps service
1717
1727
  */
1718
- function service( /** @tsplus auto */tag) {
1728
+ function service(/** @tsplus auto */tag) {
1719
1729
  return serviceWithObservable_1(service => of_1(service), tag);
1720
1730
  }
1721
1731
  /**
@@ -1743,10 +1753,10 @@ function skip(count) {
1743
1753
  */
1744
1754
  function skipLast(skipCount) {
1745
1755
  return fa => {
1746
- return skipCount <= 0 ? fa : tsplus_module_8.operate_((source, subscriber, environment) => {
1756
+ return skipCount <= 0 ? fa : new _definition2.Observable((subscriber, environment) => {
1747
1757
  let ring = new Array(skipCount);
1748
1758
  let seen = 0;
1749
- source.provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
1759
+ fa.provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
1750
1760
  next: value => {
1751
1761
  const valueIndex = seen++;
1752
1762
  if (valueIndex < skipCount) {
@@ -1758,11 +1768,11 @@ function skipLast(skipCount) {
1758
1768
  subscriber.next(oldValue);
1759
1769
  }
1760
1770
  }
1761
- }));
1771
+ })(subscriber));
1762
1772
  return () => {
1763
1773
  ring = null;
1764
1774
  };
1765
- })(fa);
1775
+ });
1766
1776
  };
1767
1777
  }
1768
1778
  /**
@@ -1770,20 +1780,20 @@ function skipLast(skipCount) {
1770
1780
  */
1771
1781
  function skipUntil(notifier) {
1772
1782
  return fa => {
1773
- return tsplus_module_8.operate_((source, subscriber, environment) => {
1783
+ return new _definition2.Observable((subscriber, environment) => {
1774
1784
  let taking = false;
1775
- const skipSubscriber = tsplus_module_8.operatorSubscriber(subscriber, {
1785
+ const skipSubscriber = tsplus_module_8.operate_({
1776
1786
  next: () => {
1777
1787
  skipSubscriber?.unsubscribe();
1778
1788
  taking = true;
1779
1789
  },
1780
1790
  complete: tsplus_module_2.noop
1781
- });
1791
+ })(subscriber);
1782
1792
  from_1(notifier).provideEnvironment(environment).subscribe(skipSubscriber);
1783
- source.provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
1793
+ fa.provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
1784
1794
  next: value => taking && subscriber.next(value)
1785
- }));
1786
- })(fa);
1795
+ })(subscriber));
1796
+ });
1787
1797
  };
1788
1798
  }
1789
1799
  /**
@@ -1791,13 +1801,13 @@ function skipUntil(notifier) {
1791
1801
  */
1792
1802
  function skipWhile(predicate) {
1793
1803
  return fa => {
1794
- return tsplus_module_8.operate_((source, subscriber, environment) => {
1804
+ return new _definition2.Observable((subscriber, environment) => {
1795
1805
  let taking = false;
1796
1806
  let index = 0;
1797
- source.provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
1807
+ return fa.provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
1798
1808
  next: value => (taking || (taking = !predicate(index++, value))) && subscriber.next(value)
1799
- }));
1800
- })(fa);
1809
+ })(subscriber));
1810
+ });
1801
1811
  };
1802
1812
  }
1803
1813
  /**
@@ -1805,10 +1815,10 @@ function skipWhile(predicate) {
1805
1815
  */
1806
1816
  function startWith(...values) {
1807
1817
  return fa => {
1808
- return tsplus_module_8.operate_((source, subscriber) => {
1818
+ return new _definition2.Observable((subscriber, environment) => {
1809
1819
  // @ts-expect-error
1810
- concat_1(values)(source).subscribe(subscriber);
1811
- })(fa);
1820
+ return concat_1(values)(fa).provideEnvironment(environment).subscribe(subscriber);
1821
+ });
1812
1822
  };
1813
1823
  }
1814
1824
  /**
@@ -1816,9 +1826,9 @@ function startWith(...values) {
1816
1826
  */
1817
1827
  function subscribeOn(scheduler, delay = 0) {
1818
1828
  return fa => {
1819
- return tsplus_module_8.operate_((source, subscriber, environment) => {
1820
- subscriber.add(scheduler.schedule(() => source.provideEnvironment(environment).subscribe(subscriber), delay));
1821
- })(fa);
1829
+ return new _definition2.Observable((subscriber, environment) => {
1830
+ subscriber.add(scheduler.schedule(() => fa.provideEnvironment(environment).subscribe(subscriber), delay));
1831
+ });
1822
1832
  };
1823
1833
  }
1824
1834
  /**
@@ -1832,28 +1842,29 @@ function switchAll(ffa) {
1832
1842
  */
1833
1843
  function switchMapWithIndex_1(f) {
1834
1844
  return fa => {
1835
- return tsplus_module_8.operate_((source, subscriber, environment) => {
1845
+ return new _definition2.Observable((destination, environment) => {
1836
1846
  let innerSubscriber = null;
1837
1847
  let index = 0;
1838
1848
  let isComplete = false;
1839
- const checkComplete = () => isComplete && !innerSubscriber && subscriber.complete();
1840
- source.provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
1849
+ const checkComplete = () => isComplete && !innerSubscriber && destination.complete();
1850
+ fa.provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
1841
1851
  next: value => {
1842
1852
  innerSubscriber?.unsubscribe();
1843
1853
  const outerIndex = index++;
1844
- from_1(f(outerIndex, value)).provideEnvironment(environment).subscribe(innerSubscriber = tsplus_module_8.operatorSubscriber(subscriber, {
1845
- next: innerValue => subscriber.next(innerValue),
1854
+ from_1(f(outerIndex, value)).provideEnvironment(environment).subscribe(innerSubscriber = tsplus_module_8.operate_({
1855
+ next: innerValue => destination.next(innerValue),
1846
1856
  complete: () => {
1847
1857
  innerSubscriber = null;
1848
1858
  checkComplete();
1849
1859
  }
1850
- }));
1860
+ })(destination));
1861
+ },
1862
+ complete: () => {
1863
+ isComplete = true;
1864
+ checkComplete();
1851
1865
  }
1852
- }, () => {
1853
- isComplete = true;
1854
- checkComplete();
1855
- }));
1856
- })(fa);
1866
+ })(destination));
1867
+ });
1857
1868
  };
1858
1869
  }
1859
1870
  /**
@@ -1869,13 +1880,13 @@ function switchMap_1(f) {
1869
1880
  */
1870
1881
  function switchScanWithIndex_1(initial, f) {
1871
1882
  return fa => {
1872
- return tsplus_module_8.operate_((source, subscriber, environment) => {
1883
+ return new _definition2.Observable((subscriber, environment) => {
1873
1884
  let state = initial;
1874
- switchMapWithIndex_1((index, value) => map_1(b => (state = b, b))(from_1(f(index, state, value))))(source).provideEnvironment(environment).subscribe(subscriber);
1885
+ switchMapWithIndex_1((index, value) => map_1(b => (state = b, b))(from_1(f(index, state, value))))(fa).provideEnvironment(environment).subscribe(subscriber);
1875
1886
  return () => {
1876
1887
  state = null;
1877
1888
  };
1878
- })(fa);
1889
+ });
1879
1890
  };
1880
1891
  }
1881
1892
  /**
@@ -1891,9 +1902,9 @@ function switchScan(initial, f) {
1891
1902
  */
1892
1903
  function take_1(count) {
1893
1904
  return fa => {
1894
- return count <= 0 ? empty_1() : tsplus_module_8.operate_((source, sub, environment) => {
1905
+ return count <= 0 ? empty_1() : new _definition2.Observable((sub, environment) => {
1895
1906
  let seen = 0;
1896
- source.provideEnvironment(environment).subscribe(new tsplus_module_8.OperatorSubscriber(sub, {
1907
+ fa.provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
1897
1908
  next: value => {
1898
1909
  if (++seen <= count) {
1899
1910
  sub.next(value);
@@ -1902,8 +1913,8 @@ function take_1(count) {
1902
1913
  }
1903
1914
  }
1904
1915
  }
1905
- }));
1906
- })(fa);
1916
+ })(sub));
1917
+ });
1907
1918
  };
1908
1919
  }
1909
1920
  /**
@@ -1911,9 +1922,9 @@ function take_1(count) {
1911
1922
  */
1912
1923
  function takeLast(count) {
1913
1924
  return fa => {
1914
- return count <= 0 ? empty_1() : tsplus_module_8.operate_((source, subscriber, environment) => {
1925
+ return count <= 0 ? empty_1() : new _definition2.Observable((subscriber, environment) => {
1915
1926
  let buffer = [];
1916
- source.provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
1927
+ fa.provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
1917
1928
  next: value => {
1918
1929
  buffer.push(value);
1919
1930
  count < buffer.length && buffer.shift();
@@ -1923,11 +1934,12 @@ function takeLast(count) {
1923
1934
  subscriber.next(value);
1924
1935
  }
1925
1936
  subscriber.complete();
1937
+ },
1938
+ finalize: () => {
1939
+ buffer = null;
1926
1940
  }
1927
- }, () => {
1928
- buffer = null;
1929
- }));
1930
- })(fa);
1941
+ })(subscriber));
1942
+ });
1931
1943
  };
1932
1944
  }
1933
1945
  /**
@@ -1935,27 +1947,27 @@ function takeLast(count) {
1935
1947
  */
1936
1948
  function takeUntil(notifier) {
1937
1949
  return fa => {
1938
- return tsplus_module_8.operate_((source, subscriber, environment) => {
1939
- from_1(notifier).provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
1950
+ return new _definition2.Observable((subscriber, environment) => {
1951
+ from_1(notifier).provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
1940
1952
  next: () => subscriber.complete(),
1941
1953
  complete: tsplus_module_2.noop
1942
- }));
1943
- !subscriber.closed && source.provideEnvironment(environment).subscribe(subscriber);
1944
- })(fa);
1954
+ })(subscriber));
1955
+ !subscriber._closed && fa.provideEnvironment(environment).subscribe(subscriber);
1956
+ });
1945
1957
  };
1946
1958
  }
1947
1959
  function takeWhileWithIndex_1(predicate, inclusive) {
1948
1960
  return fa => {
1949
- return tsplus_module_8.operate_((source, subscriber, environment) => {
1961
+ return new _definition2.Observable((subscriber, environment) => {
1950
1962
  let index = 0;
1951
- source.provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
1963
+ fa.provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
1952
1964
  next: value => {
1953
1965
  const result = predicate(index++, value);
1954
1966
  (result || inclusive) && subscriber.next(value);
1955
1967
  !result && subscriber.complete();
1956
1968
  }
1957
- }));
1958
- })(fa);
1969
+ })(subscriber));
1970
+ });
1959
1971
  };
1960
1972
  }
1961
1973
  function takeWhile(predicate, inclusive) {
@@ -1968,8 +1980,8 @@ function takeWhile(predicate, inclusive) {
1968
1980
  */
1969
1981
  function tap(observer) {
1970
1982
  return fa => {
1971
- return tsplus_module_8.operate_((source, subscriber, environment) => {
1972
- source.provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
1983
+ return new _definition2.Observable((subscriber, environment) => {
1984
+ fa.provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
1973
1985
  next: value => {
1974
1986
  observer.next?.(value);
1975
1987
  subscriber.next(value);
@@ -1982,8 +1994,8 @@ function tap(observer) {
1982
1994
  observer.complete?.();
1983
1995
  subscriber.complete();
1984
1996
  }
1985
- }));
1986
- })(fa);
1997
+ })(subscriber));
1998
+ });
1987
1999
  };
1988
2000
  }
1989
2001
  const defaultThrottleConfig = exports.defaultThrottleConfig = {
@@ -1998,8 +2010,8 @@ function throttle_1(durationSelector, {
1998
2010
  trailing
1999
2011
  } = defaultThrottleConfig) {
2000
2012
  return fa => {
2001
- return tsplus_module_8.operate_((source, subscriber, environment) => {
2002
- let sendValue = tsplus_module_17.nothing(fileName_1 + ":2375:51");
2013
+ return new _definition2.Observable((subscriber, environment) => {
2014
+ let sendValue = tsplus_module_17.nothing(fileName_1 + ":2363:51");
2003
2015
  let throttled = null;
2004
2016
  let isComplete = false;
2005
2017
  const endThrottling = () => {
@@ -2014,31 +2026,31 @@ function throttle_1(durationSelector, {
2014
2026
  throttled = null;
2015
2027
  isComplete && subscriber.complete();
2016
2028
  };
2017
- const startThrottling = value => throttled = from_1(durationSelector(value)).provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
2029
+ const startThrottling = value => throttled = from_1(durationSelector(value)).provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
2018
2030
  next: endThrottling,
2019
2031
  complete: cleanupThrottling
2020
- }));
2032
+ })(subscriber));
2021
2033
  const send = () => {
2022
2034
  if (tsplus_module_18.isJust(sendValue)) {
2023
2035
  const {
2024
2036
  value
2025
2037
  } = sendValue;
2026
- sendValue = tsplus_module_17.nothing(fileName_1 + ":2397:36");
2038
+ sendValue = tsplus_module_17.nothing(fileName_1 + ":2385:36");
2027
2039
  subscriber.next(value);
2028
2040
  !isComplete && startThrottling(value);
2029
2041
  }
2030
2042
  };
2031
- source.provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
2043
+ fa.provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
2032
2044
  next: value => {
2033
- sendValue = tsplus_module_17.just(value, fileName_1 + ":2405:29");
2034
- !(throttled && !throttled.closed) && (leading ? send() : startThrottling(value));
2045
+ sendValue = tsplus_module_17.just(value, fileName_1 + ":2393:29");
2046
+ !(throttled && !throttled._closed) && (leading ? send() : startThrottling(value));
2035
2047
  },
2036
2048
  complete: () => {
2037
2049
  isComplete = true;
2038
- !(trailing && tsplus_module_18.isJust(sendValue) && throttled && !throttled.closed) && subscriber.complete();
2050
+ !(trailing && tsplus_module_18.isJust(sendValue) && throttled && !throttled._closed) && subscriber.complete();
2039
2051
  }
2040
- }));
2041
- })(fa);
2052
+ })(subscriber));
2053
+ });
2042
2054
  };
2043
2055
  }
2044
2056
  /**
@@ -2067,11 +2079,11 @@ function timeout(config) {
2067
2079
  scheduler = tsplus_module_5.asyncScheduler,
2068
2080
  meta = null
2069
2081
  } = config;
2070
- return tsplus_module_8.operate_((source, subscriber, environment) => {
2082
+ return new _definition2.Observable((subscriber, environment) => {
2071
2083
  // eslint-disable-next-line prefer-const
2072
2084
  let originalSourceSubscription;
2073
2085
  let timerSubscription;
2074
- let lastValue = tsplus_module_17.nothing(fileName_1 + ":2486:40");
2086
+ let lastValue = tsplus_module_17.nothing(fileName_1 + ":2474:40");
2075
2087
  let seen = 0;
2076
2088
  const startTimer = delay => {
2077
2089
  timerSubscription = (0, _Scheduler.caughtSchedule)(subscriber, scheduler, () => {
@@ -2083,22 +2095,23 @@ function timeout(config) {
2083
2095
  })).provideEnvironment(environment).subscribe(subscriber);
2084
2096
  }, delay);
2085
2097
  };
2086
- originalSourceSubscription = source.provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
2098
+ originalSourceSubscription = fa.provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
2087
2099
  next: value => {
2088
2100
  timerSubscription?.unsubscribe();
2089
2101
  seen++;
2090
- lastValue = tsplus_module_17.just(value, fileName_1 + ":2514:31");
2102
+ lastValue = tsplus_module_17.just(value, fileName_1 + ":2500:29");
2091
2103
  subscriber.next(value);
2092
2104
  each > 0 && startTimer(each);
2105
+ },
2106
+ finalize: () => {
2107
+ if (!timerSubscription?._closed) {
2108
+ timerSubscription?.unsubscribe();
2109
+ }
2110
+ lastValue = tsplus_module_17.nothing(fileName_1 + ":2508:32");
2093
2111
  }
2094
- }, () => {
2095
- if (!timerSubscription?.closed) {
2096
- timerSubscription?.unsubscribe();
2097
- }
2098
- lastValue = tsplus_module_17.nothing(fileName_1 + ":2523:32");
2099
- }));
2112
+ })(subscriber));
2100
2113
  startTimer(first != null ? typeof first === "number" ? first : +first - scheduler.now() : each);
2101
- })(fa);
2114
+ });
2102
2115
  };
2103
2116
  }
2104
2117
  function timeoutError(info) {
@@ -2111,18 +2124,18 @@ function toArrayAccumulator(arr, value) {
2111
2124
  * @tsplus getter fncts.observable.Observable toArray
2112
2125
  */
2113
2126
  function toArray_1(fa) {
2114
- return tsplus_module_8.operate_((source, subscriber, environment) => {
2115
- foldLeft_1([], toArrayAccumulator)(source).provideEnvironment(environment).subscribe(subscriber);
2116
- })(fa);
2127
+ return new _definition2.Observable((subscriber, environment) => {
2128
+ foldLeft_1([], toArrayAccumulator)(fa).provideEnvironment(environment).subscribe(subscriber);
2129
+ });
2117
2130
  }
2118
2131
  /**
2119
2132
  * @tsplus pipeable fncts.observable.Observable unique
2120
2133
  */
2121
2134
  function unique(toKey, flushes) {
2122
2135
  return fa => {
2123
- return tsplus_module_8.operate_((source, subscriber, environment) => {
2136
+ return new _definition2.Observable((subscriber, environment) => {
2124
2137
  let distinctKeys = tsplus_module_21.empty();
2125
- source.provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
2138
+ fa.provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
2126
2139
  next: value => {
2127
2140
  const key = toKey ? toKey(value) : value;
2128
2141
  if (!tsplus_module_21.has(key)(distinctKeys)) {
@@ -2130,21 +2143,21 @@ function unique(toKey, flushes) {
2130
2143
  subscriber.next(value);
2131
2144
  }
2132
2145
  }
2133
- }));
2134
- flushes?.provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
2146
+ })(subscriber));
2147
+ flushes?.provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
2135
2148
  next: () => distinctKeys = tsplus_module_21.empty(),
2136
2149
  complete: tsplus_module_2.noop
2137
- }));
2138
- })(fa);
2150
+ })(subscriber));
2151
+ });
2139
2152
  };
2140
2153
  }
2141
2154
  function uniqueUntilChanged_1(E, keySelector = tsplus_module_13.identity) {
2142
2155
  return fa => {
2143
2156
  const compare = "equals" in E ? E.equals : E;
2144
- return tsplus_module_8.operate_((source, subscriber, environment) => {
2157
+ return new _definition2.Observable((subscriber, environment) => {
2145
2158
  let previousKey;
2146
2159
  let first = true;
2147
- source.provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
2160
+ fa.provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
2148
2161
  next: value => {
2149
2162
  const currentKey = keySelector(value);
2150
2163
  if (first || !compare(previousKey, currentKey)) {
@@ -2153,8 +2166,8 @@ function uniqueUntilChanged_1(E, keySelector = tsplus_module_13.identity) {
2153
2166
  subscriber.next(value);
2154
2167
  }
2155
2168
  }
2156
- }));
2157
- })(fa);
2169
+ })(subscriber));
2170
+ });
2158
2171
  };
2159
2172
  }
2160
2173
  function uniqueUntilKeyChanged(key, equals) {
@@ -2176,7 +2189,7 @@ function combineLatestInternal(subscriber, environment, observables, scheduler,
2176
2189
  maybeSchedule(subscriber, scheduler, () => {
2177
2190
  const source = scheduler ? scheduled_1(scheduler)(observables[i]) : from_1(observables[i]);
2178
2191
  let hasFirstValue = false;
2179
- source.provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
2192
+ source.provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
2180
2193
  next: value => {
2181
2194
  values[i] = value;
2182
2195
  if (!hasFirstValue) {
@@ -2192,28 +2205,28 @@ function combineLatestInternal(subscriber, environment, observables, scheduler,
2192
2205
  subscriber.complete();
2193
2206
  }
2194
2207
  }
2195
- }));
2208
+ })(subscriber));
2196
2209
  });
2197
2210
  }
2198
2211
  });
2199
2212
  }
2200
- function findInternal(predicate, emit) {
2213
+ function findInternal(source, predicate, emit) {
2201
2214
  const findIndex = emit === "index";
2202
- return (source, subscriber, environment) => {
2215
+ return (subscriber, environment) => {
2203
2216
  let index = 0;
2204
- source.provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
2217
+ source.provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
2205
2218
  next: value => {
2206
2219
  const i = index++;
2207
2220
  if (predicate(index++, value)) {
2208
- subscriber.next(findIndex ? i : tsplus_module_17.just(value, fileName_1 + ":2693:49"));
2221
+ subscriber.next(findIndex ? i : tsplus_module_17.just(value, fileName_1 + ":2678:49"));
2209
2222
  subscriber.complete();
2210
2223
  }
2211
2224
  },
2212
2225
  complete: () => {
2213
- subscriber.next(findIndex ? -1 : tsplus_module_17.nothing(fileName_1 + ":2698:51"));
2226
+ subscriber.next(findIndex ? -1 : tsplus_module_17.nothing(fileName_1 + ":2683:51"));
2214
2227
  subscriber.complete();
2215
2228
  }
2216
- }));
2229
+ })(subscriber));
2217
2230
  };
2218
2231
  }
2219
2232
  function joinAllInternal(fa, joiner) {
@@ -2279,22 +2292,20 @@ function mergeInternal(source, subscriber, environment, f, concurrent, onBeforeN
2279
2292
  additionalTeardown?.();
2280
2293
  };
2281
2294
  }
2282
- function scanInternal(f, initial, hasInitial, emitOnNext, emitBeforeComplete) {
2283
- return (source, subscriber, environment) => {
2284
- let hasState = hasInitial;
2285
- let state = initial;
2286
- let index = 0;
2287
- source.provideEnvironment(environment).subscribe(tsplus_module_8.operatorSubscriber(subscriber, {
2288
- next: value => {
2289
- const i = index++;
2290
- state = hasState ? f(i, state, value) : (hasState = true, value);
2291
- emitOnNext && subscriber.next(state);
2292
- },
2293
- complete: emitBeforeComplete && (() => {
2294
- hasState && subscriber.next(state);
2295
- subscriber.complete();
2296
- })
2297
- }));
2298
- };
2295
+ function scanInternal(source, subscriber, environment, f, initial, hasInitial, emitOnNext, emitBeforeComplete) {
2296
+ let hasState = hasInitial;
2297
+ let state = initial;
2298
+ let index = 0;
2299
+ return source.provideEnvironment(environment).subscribe(tsplus_module_8.operate_({
2300
+ next: value => {
2301
+ const i = index++;
2302
+ state = hasState ? f(i, state, value) : (hasState = true, value);
2303
+ emitOnNext && subscriber.next(state);
2304
+ },
2305
+ complete: emitBeforeComplete && (() => {
2306
+ hasState && subscriber.next(state);
2307
+ subscriber.complete();
2308
+ })
2309
+ })(subscriber));
2299
2310
  }
2300
2311
  //# sourceMappingURL=api.cjs.map