@fncts/observable 0.0.1

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 (259) hide show
  1. package/Action.d.ts +6 -0
  2. package/AnimationFrameAction.d.ts +11 -0
  3. package/AnimationFrameScheduler.d.ts +6 -0
  4. package/AsyncAction.d.ts +19 -0
  5. package/AsyncScheduler.d.ts +11 -0
  6. package/BehaviorSubject.d.ts +10 -0
  7. package/Notification.d.ts +59 -0
  8. package/Observable/api/connect.d.ts +10 -0
  9. package/Observable/api/connectable.d.ts +24 -0
  10. package/Observable/api/fromCallback.d.ts +11 -0
  11. package/Observable/api/fromEvent.d.ts +4 -0
  12. package/Observable/api/index.d.ts +14 -0
  13. package/Observable/api/race.d.ts +9 -0
  14. package/Observable/api/raceWith.d.ts +6 -0
  15. package/Observable/api/repeatWhen.d.ts +5 -0
  16. package/Observable/api/retryWhen.d.ts +10 -0
  17. package/Observable/api/share.d.ts +16 -0
  18. package/Observable/api/window.d.ts +8 -0
  19. package/Observable/api/windowCount.d.ts +6 -0
  20. package/Observable/api/windowTime.d.ts +12 -0
  21. package/Observable/api/windowToggle.d.ts +8 -0
  22. package/Observable/api/windowWhen.d.ts +9 -0
  23. package/Observable/api.d.ts +668 -0
  24. package/Observable/definition.d.ts +32 -0
  25. package/Observable/dom/animationFrames.d.ts +6 -0
  26. package/Observable/instances.d.ts +1 -0
  27. package/Observable.d.ts +19 -0
  28. package/Observer.d.ts +6 -0
  29. package/Operator.d.ts +19 -0
  30. package/Scheduler.d.ts +22 -0
  31. package/Subject.d.ts +48 -0
  32. package/Subscriber.d.ts +27 -0
  33. package/Subscription.d.ts +41 -0
  34. package/_cjs/Action.cjs +27 -0
  35. package/_cjs/Action.cjs.map +1 -0
  36. package/_cjs/AnimationFrameAction.cjs +48 -0
  37. package/_cjs/AnimationFrameAction.cjs.map +1 -0
  38. package/_cjs/AnimationFrameScheduler.cjs +51 -0
  39. package/_cjs/AnimationFrameScheduler.cjs.map +1 -0
  40. package/_cjs/AsyncAction.cjs +116 -0
  41. package/_cjs/AsyncAction.cjs.map +1 -0
  42. package/_cjs/AsyncScheduler.cjs +61 -0
  43. package/_cjs/AsyncScheduler.cjs.map +1 -0
  44. package/_cjs/BehaviorSubject.cjs +52 -0
  45. package/_cjs/BehaviorSubject.cjs.map +1 -0
  46. package/_cjs/Notification.cjs +110 -0
  47. package/_cjs/Notification.cjs.map +1 -0
  48. package/_cjs/Observable/api/connect.cjs +35 -0
  49. package/_cjs/Observable/api/connect.cjs.map +1 -0
  50. package/_cjs/Observable/api/connectable.cjs +64 -0
  51. package/_cjs/Observable/api/connectable.cjs.map +1 -0
  52. package/_cjs/Observable/api/fromCallback.cjs +74 -0
  53. package/_cjs/Observable/api/fromCallback.cjs.map +1 -0
  54. package/_cjs/Observable/api/fromEvent.cjs +22 -0
  55. package/_cjs/Observable/api/fromEvent.cjs.map +1 -0
  56. package/_cjs/Observable/api/index.cjs +188 -0
  57. package/_cjs/Observable/api/index.cjs.map +1 -0
  58. package/_cjs/Observable/api/race.cjs +47 -0
  59. package/_cjs/Observable/api/race.cjs.map +1 -0
  60. package/_cjs/Observable/api/raceWith.cjs +24 -0
  61. package/_cjs/Observable/api/raceWith.cjs.map +1 -0
  62. package/_cjs/Observable/api/repeatWhen.cjs +72 -0
  63. package/_cjs/Observable/api/repeatWhen.cjs.map +1 -0
  64. package/_cjs/Observable/api/retryWhen.cjs +61 -0
  65. package/_cjs/Observable/api/retryWhen.cjs.map +1 -0
  66. package/_cjs/Observable/api/share.cjs +115 -0
  67. package/_cjs/Observable/api/share.cjs.map +1 -0
  68. package/_cjs/Observable/api/window.cjs +53 -0
  69. package/_cjs/Observable/api/window.cjs.map +1 -0
  70. package/_cjs/Observable/api/windowCount.cjs +62 -0
  71. package/_cjs/Observable/api/windowCount.cjs.map +1 -0
  72. package/_cjs/Observable/api/windowTime.cjs +90 -0
  73. package/_cjs/Observable/api/windowTime.cjs.map +1 -0
  74. package/_cjs/Observable/api/windowToggle.cjs +92 -0
  75. package/_cjs/Observable/api/windowToggle.cjs.map +1 -0
  76. package/_cjs/Observable/api/windowWhen.cjs +68 -0
  77. package/_cjs/Observable/api/windowWhen.cjs.map +1 -0
  78. package/_cjs/Observable/api.cjs +2558 -0
  79. package/_cjs/Observable/api.cjs.map +1 -0
  80. package/_cjs/Observable/definition.cjs +76 -0
  81. package/_cjs/Observable/definition.cjs.map +1 -0
  82. package/_cjs/Observable/dom/animationFrames.cjs +51 -0
  83. package/_cjs/Observable/dom/animationFrames.cjs.map +1 -0
  84. package/_cjs/Observable/instances.cjs +6 -0
  85. package/_cjs/Observable/instances.cjs.map +1 -0
  86. package/_cjs/Observable.cjs +253 -0
  87. package/_cjs/Observable.cjs.map +1 -0
  88. package/_cjs/Observer.cjs +6 -0
  89. package/_cjs/Observer.cjs.map +1 -0
  90. package/_cjs/Operator.cjs +83 -0
  91. package/_cjs/Operator.cjs.map +1 -0
  92. package/_cjs/Scheduler.cjs +62 -0
  93. package/_cjs/Scheduler.cjs.map +1 -0
  94. package/_cjs/Subject.cjs +228 -0
  95. package/_cjs/Subject.cjs.map +1 -0
  96. package/_cjs/Subscriber.cjs +172 -0
  97. package/_cjs/Subscriber.cjs.map +1 -0
  98. package/_cjs/Subscription.cjs +174 -0
  99. package/_cjs/Subscription.cjs.map +1 -0
  100. package/_cjs/demo.cjs +40 -0
  101. package/_cjs/demo.cjs.map +1 -0
  102. package/_cjs/global.cjs +4 -0
  103. package/_cjs/global.cjs.map +1 -0
  104. package/_cjs/index.cjs +65 -0
  105. package/_cjs/index.cjs.map +1 -0
  106. package/_cjs/internal/animationFrameProvider.cjs +51 -0
  107. package/_cjs/internal/animationFrameProvider.cjs.map +1 -0
  108. package/_cjs/internal/args.cjs +26 -0
  109. package/_cjs/internal/args.cjs.map +1 -0
  110. package/_cjs/internal/intervalProvider.cjs +27 -0
  111. package/_cjs/internal/intervalProvider.cjs.map +1 -0
  112. package/_cjs/internal/performanceTimestampProvider.cjs +15 -0
  113. package/_cjs/internal/performanceTimestampProvider.cjs.map +1 -0
  114. package/_cjs/internal/timeoutProvider.cjs +27 -0
  115. package/_cjs/internal/timeoutProvider.cjs.map +1 -0
  116. package/_cjs/internal/timestampProvider.cjs +15 -0
  117. package/_cjs/internal/timestampProvider.cjs.map +1 -0
  118. package/_cjs/internal/util.cjs +107 -0
  119. package/_cjs/internal/util.cjs.map +1 -0
  120. package/_mjs/Action.mjs +14 -0
  121. package/_mjs/Action.mjs.map +1 -0
  122. package/_mjs/AnimationFrameAction.mjs +33 -0
  123. package/_mjs/AnimationFrameAction.mjs.map +1 -0
  124. package/_mjs/AnimationFrameScheduler.mjs +36 -0
  125. package/_mjs/AnimationFrameScheduler.mjs.map +1 -0
  126. package/_mjs/AsyncAction.mjs +99 -0
  127. package/_mjs/AsyncAction.mjs.map +1 -0
  128. package/_mjs/AsyncScheduler.mjs +45 -0
  129. package/_mjs/AsyncScheduler.mjs.map +1 -0
  130. package/_mjs/BehaviorSubject.mjs +38 -0
  131. package/_mjs/BehaviorSubject.mjs.map +1 -0
  132. package/_mjs/Notification.mjs +80 -0
  133. package/_mjs/Notification.mjs.map +1 -0
  134. package/_mjs/Observable/api/connect.mjs +21 -0
  135. package/_mjs/Observable/api/connect.mjs.map +1 -0
  136. package/_mjs/Observable/api/connectable.mjs +45 -0
  137. package/_mjs/Observable/api/connectable.mjs.map +1 -0
  138. package/_mjs/Observable/api/fromCallback.mjs +60 -0
  139. package/_mjs/Observable/api/fromCallback.mjs.map +1 -0
  140. package/_mjs/Observable/api/fromEvent.mjs +10 -0
  141. package/_mjs/Observable/api/fromEvent.mjs.map +1 -0
  142. package/_mjs/Observable/api/index.mjs +15 -0
  143. package/_mjs/Observable/api/index.mjs.map +1 -0
  144. package/_mjs/Observable/api/race.mjs +32 -0
  145. package/_mjs/Observable/api/race.mjs.map +1 -0
  146. package/_mjs/Observable/api/raceWith.mjs +12 -0
  147. package/_mjs/Observable/api/raceWith.mjs.map +1 -0
  148. package/_mjs/Observable/api/repeatWhen.mjs +57 -0
  149. package/_mjs/Observable/api/repeatWhen.mjs.map +1 -0
  150. package/_mjs/Observable/api/retryWhen.mjs +45 -0
  151. package/_mjs/Observable/api/retryWhen.mjs.map +1 -0
  152. package/_mjs/Observable/api/share.mjs +97 -0
  153. package/_mjs/Observable/api/share.mjs.map +1 -0
  154. package/_mjs/Observable/api/window.mjs +40 -0
  155. package/_mjs/Observable/api/window.mjs.map +1 -0
  156. package/_mjs/Observable/api/windowCount.mjs +50 -0
  157. package/_mjs/Observable/api/windowCount.mjs.map +1 -0
  158. package/_mjs/Observable/api/windowTime.mjs +73 -0
  159. package/_mjs/Observable/api/windowTime.mjs.map +1 -0
  160. package/_mjs/Observable/api/windowToggle.mjs +77 -0
  161. package/_mjs/Observable/api/windowToggle.mjs.map +1 -0
  162. package/_mjs/Observable/api/windowWhen.mjs +54 -0
  163. package/_mjs/Observable/api/windowWhen.mjs.map +1 -0
  164. package/_mjs/Observable/api.mjs +2291 -0
  165. package/_mjs/Observable/api.mjs.map +1 -0
  166. package/_mjs/Observable/definition.mjs +54 -0
  167. package/_mjs/Observable/definition.mjs.map +1 -0
  168. package/_mjs/Observable/dom/animationFrames.mjs +36 -0
  169. package/_mjs/Observable/dom/animationFrames.mjs.map +1 -0
  170. package/_mjs/Observable/instances.mjs +2 -0
  171. package/_mjs/Observable/instances.mjs.map +1 -0
  172. package/_mjs/Observable.mjs +25 -0
  173. package/_mjs/Observable.mjs.map +1 -0
  174. package/_mjs/Observer.mjs +2 -0
  175. package/_mjs/Observer.mjs.map +1 -0
  176. package/_mjs/Operator.mjs +63 -0
  177. package/_mjs/Operator.mjs.map +1 -0
  178. package/_mjs/Scheduler.mjs +41 -0
  179. package/_mjs/Scheduler.mjs.map +1 -0
  180. package/_mjs/Subject.mjs +204 -0
  181. package/_mjs/Subject.mjs.map +1 -0
  182. package/_mjs/Subscriber.mjs +147 -0
  183. package/_mjs/Subscriber.mjs.map +1 -0
  184. package/_mjs/Subscription.mjs +148 -0
  185. package/_mjs/Subscription.mjs.map +1 -0
  186. package/_mjs/demo.mjs +30 -0
  187. package/_mjs/demo.mjs.map +1 -0
  188. package/_mjs/global.mjs +2 -0
  189. package/_mjs/global.mjs.map +1 -0
  190. package/_mjs/index.mjs +15 -0
  191. package/_mjs/index.mjs.map +1 -0
  192. package/_mjs/internal/animationFrameProvider.mjs +38 -0
  193. package/_mjs/internal/animationFrameProvider.mjs.map +1 -0
  194. package/_mjs/internal/args.mjs +13 -0
  195. package/_mjs/internal/args.mjs.map +1 -0
  196. package/_mjs/internal/intervalProvider.mjs +20 -0
  197. package/_mjs/internal/intervalProvider.mjs.map +1 -0
  198. package/_mjs/internal/performanceTimestampProvider.mjs +8 -0
  199. package/_mjs/internal/performanceTimestampProvider.mjs.map +1 -0
  200. package/_mjs/internal/timeoutProvider.mjs +20 -0
  201. package/_mjs/internal/timeoutProvider.mjs.map +1 -0
  202. package/_mjs/internal/timestampProvider.mjs +8 -0
  203. package/_mjs/internal/timestampProvider.mjs.map +1 -0
  204. package/_mjs/internal/util.mjs +76 -0
  205. package/_mjs/internal/util.mjs.map +1 -0
  206. package/_src/Action.ts +10 -0
  207. package/_src/AnimationFrameAction.ts +27 -0
  208. package/_src/AnimationFrameScheduler.ts +30 -0
  209. package/_src/AsyncAction.ts +93 -0
  210. package/_src/AsyncScheduler.ts +41 -0
  211. package/_src/BehaviorSubject.ts +28 -0
  212. package/_src/Notification.ts +91 -0
  213. package/_src/Observable/api/connect.ts +23 -0
  214. package/_src/Observable/api/connectable.ts +52 -0
  215. package/_src/Observable/api/fromCallback.ts +57 -0
  216. package/_src/Observable/api/fromEvent.ts +12 -0
  217. package/_src/Observable/api/index.ts +14 -0
  218. package/_src/Observable/api/race.ts +31 -0
  219. package/_src/Observable/api/raceWith.ts +15 -0
  220. package/_src/Observable/api/repeatWhen.ts +63 -0
  221. package/_src/Observable/api/retryWhen.ts +47 -0
  222. package/_src/Observable/api/share.ts +107 -0
  223. package/_src/Observable/api/window.ts +44 -0
  224. package/_src/Observable/api/windowCount.ts +56 -0
  225. package/_src/Observable/api/windowTime.ts +102 -0
  226. package/_src/Observable/api/windowToggle.ts +84 -0
  227. package/_src/Observable/api/windowWhen.ts +59 -0
  228. package/_src/Observable/api.ts +2749 -0
  229. package/_src/Observable/definition.ts +69 -0
  230. package/_src/Observable/dom/animationFrames.ts +33 -0
  231. package/_src/Observable/instances.ts +106 -0
  232. package/_src/Observable.ts +27 -0
  233. package/_src/Observer.ts +5 -0
  234. package/_src/Operator.ts +73 -0
  235. package/_src/Scheduler.ts +52 -0
  236. package/_src/Subject.ts +171 -0
  237. package/_src/Subscriber.ts +130 -0
  238. package/_src/Subscription.ts +143 -0
  239. package/_src/demo.ts +29 -0
  240. package/_src/global.ts +141 -0
  241. package/_src/index.ts +14 -0
  242. package/_src/internal/animationFrameProvider.ts +37 -0
  243. package/_src/internal/args.ts +11 -0
  244. package/_src/internal/intervalProvider.ts +27 -0
  245. package/_src/internal/performanceTimestampProvider.ts +12 -0
  246. package/_src/internal/timeoutProvider.ts +27 -0
  247. package/_src/internal/timestampProvider.ts +14 -0
  248. package/_src/internal/util.ts +94 -0
  249. package/demo.d.ts +1 -0
  250. package/global.d.ts +125 -0
  251. package/index.d.ts +14 -0
  252. package/internal/animationFrameProvider.d.ts +12 -0
  253. package/internal/args.d.ts +3 -0
  254. package/internal/intervalProvider.d.ts +12 -0
  255. package/internal/performanceTimestampProvider.d.ts +6 -0
  256. package/internal/timeoutProvider.d.ts +12 -0
  257. package/internal/timestampProvider.d.ts +7 -0
  258. package/internal/util.d.ts +28 -0
  259. package/package.json +16 -0
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.repeatWhen = repeatWhen;
7
+ exports.repeatWhen_ = repeatWhen_;
8
+
9
+ var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/Subject"));
10
+
11
+ var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/Operator"));
12
+
13
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
+
15
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
16
+
17
+ function repeatWhen_(fa, notifier) {
18
+ return tsplus_module_2.operate_(fa, (source, subscriber) => {
19
+ let innerSub;
20
+ let syncResub = false;
21
+ let completions$;
22
+ let isNotifierComplete = false;
23
+ let isMainComplete = false;
24
+
25
+ const checkComplete = () => isMainComplete && isNotifierComplete && (subscriber.complete(), true);
26
+
27
+ const getCompletionSubject = () => {
28
+ if (!completions$) {
29
+ completions$ = new tsplus_module_1.Subject();
30
+ notifier(completions$).subscribe(tsplus_module_2.operatorSubscriber(subscriber, {
31
+ next: () => {
32
+ if (innerSub) {
33
+ loop();
34
+ } else {
35
+ syncResub = true;
36
+ }
37
+ },
38
+ complete: () => {
39
+ isNotifierComplete = true;
40
+ checkComplete();
41
+ }
42
+ }));
43
+ }
44
+
45
+ return completions$;
46
+ };
47
+
48
+ const loop = () => {
49
+ isMainComplete = false;
50
+ innerSub = source.subscribe(tsplus_module_2.operatorSubscriber(subscriber, {
51
+ complete: () => {
52
+ isMainComplete = true;
53
+ !checkComplete() && getCompletionSubject().next();
54
+ }
55
+ }));
56
+
57
+ if (syncResub) {
58
+ innerSub.unsubscribe();
59
+ innerSub = null;
60
+ syncResub = false;
61
+ loop();
62
+ }
63
+ };
64
+
65
+ loop();
66
+ });
67
+ }
68
+
69
+ function repeatWhen(notifier) {
70
+ return fa => repeatWhen_(fa, notifier);
71
+ }
72
+ //# sourceMappingURL=repeatWhen.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repeatWhen.cjs","mappings":";;;;;;;;;;;;;;;;AAAM,SAAUA,WAAV,CACJC,EADI,EAEJC,QAFI,EAEqE;EAEzE,OAAOC,6BAAW,CAACC,MAAD,EAASC,UAAT,KAAuB;IACvC,IAAIC,QAAJ;IACA,IAAIC,SAAS,GAAG,KAAhB;IACA,IAAIC,YAAJ;IACA,IAAIC,kBAAkB,GAAG,KAAzB;IACA,IAAIC,cAAc,GAAO,KAAzB;;IAEA,MAAMC,aAAa,GAAG,MAAMD,cAAc,IAAID,kBAAlB,KAAyCJ,UAAU,CAACO,QAAX,IAAuB,IAAhE,CAA5B;;IAEA,MAAMC,oBAAoB,GAAG,MAAK;MAChC,IAAI,CAACL,YAAL,EAAmB;QACjBA,YAAY,GAAG,oBAAIM,OAAJ,EAAf;QACAZ,QAAQ,CAACM,YAAD,CAAR,CAAuBO,SAAvB,CACEZ,mCAAmBE,UAAnB,EAA+B;UAC7BW,IAAI,EAAE,MAAK;YACT,IAAIV,QAAJ,EAAc;cACZW,IAAI;YACL,CAFD,MAEO;cACLV,SAAS,GAAG,IAAZ;YACD;UACF,CAP4B;UAQ7BK,QAAQ,EAAE,MAAK;YACbH,kBAAkB,GAAG,IAArB;YACAE,aAAa;UACd;QAX4B,CAA/B,CADF;MAeD;;MACD,OAAOH,YAAP;IACD,CApBD;;IAsBA,MAAMS,IAAI,GAAG,MAAK;MAChBP,cAAc,GAAG,KAAjB;MACAJ,QAAQ,GAASF,MAAM,CAACW,SAAP,CACfZ,mCAAmBE,UAAnB,EAA+B;QAC7BO,QAAQ,EAAE,MAAK;UACbF,cAAc,GAAG,IAAjB;UACA,CAACC,aAAa,EAAd,IAAoBE,oBAAoB,GAAGG,IAAvB,EAApB;QACD;MAJ4B,CAA/B,CADe,CAAjB;;MASA,IAAIT,SAAJ,EAAe;QACbD,QAAQ,CAACY,WAAT;QACAZ,QAAQ,GAAI,IAAZ;QACAC,SAAS,GAAG,KAAZ;QACAU,IAAI;MACL;IACF,CAjBD;;IAmBAA,IAAI;EACL,CAnDM,CAAP;AAoDD;;AAEK,SAAUE,UAAV,CACJjB,QADI,EACqE;EAEzE,OAAQD,EAAD,IAAQD,WAAW,CAACC,EAAD,EAAKC,QAAL,CAA1B;AACD","names":["repeatWhen_","fa","notifier","tsplus_module_2","source","subscriber","innerSub","syncResub","completions$","isNotifierComplete","isMainComplete","checkComplete","complete","getCompletionSubject","Subject","subscribe","next","loop","unsubscribe","repeatWhen"],"sourceRoot":"","sources":["../../../_src/Observable/api/repeatWhen.ts"],"sourcesContent":[null]}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.retryWhen = retryWhen;
7
+ exports.retryWhen_ = void 0;
8
+
9
+ var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/Subject"));
10
+
11
+ var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/Operator"));
12
+
13
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
+
15
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
16
+
17
+ const retryWhen_ = retryWhen_1;
18
+ /**
19
+ * @tsplus fluent fncts.observable.Observable retryWhen
20
+ */
21
+
22
+ exports.retryWhen_ = retryWhen_;
23
+
24
+ function retryWhen_1(fa, notifier) {
25
+ return tsplus_module_2.operate_(fa, (source, subscriber) => {
26
+ let innerSub;
27
+ let syncResub = false;
28
+ let defects$;
29
+
30
+ const loop = () => {
31
+ innerSub = source.subscribe(tsplus_module_2.operatorSubscriber(subscriber, {
32
+ error: err => {
33
+ if (!defects$) {
34
+ defects$ = new tsplus_module_1.Subject();
35
+ notifier(defects$).subscribe(tsplus_module_2.operatorSubscriber(subscriber, {
36
+ next: () => innerSub ? loop() : syncResub = true
37
+ }));
38
+ }
39
+
40
+ if (defects$) {
41
+ defects$.next(err);
42
+ }
43
+ }
44
+ }));
45
+
46
+ if (syncResub) {
47
+ innerSub.unsubscribe();
48
+ innerSub = null;
49
+ syncResub = false;
50
+ loop();
51
+ }
52
+ };
53
+
54
+ loop();
55
+ });
56
+ }
57
+
58
+ function retryWhen(notifier) {
59
+ return fa => retryWhen_1(fa, notifier);
60
+ }
61
+ //# sourceMappingURL=retryWhen.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retryWhen.cjs","mappings":";;;;;;;;;;;;;;;;MAGgBA,UAAU;AAH1B;;;;;;AAGA,qBACEC,EADF,EAEEC,QAFF,EAEwE;EAEtE,OAAOC,yBAASF,EAAT,EAAa,CAACG,MAAD,EAASC,UAAT,KAAuB;IACzC,IAAIC,QAAJ;IACA,IAAIC,SAAS,GAAG,KAAhB;IACA,IAAIC,QAAJ;;IAEA,MAAMC,IAAI,GAAG,MAAK;MAChBH,QAAQ,GAAGF,MAAM,CAACM,SAAP,CACTP,mCAAmBE,UAAnB,EAA+B;QAC7BM,KAAK,EAAGC,GAAD,IAAQ;UACb,IAAI,CAACJ,QAAL,EAAe;YACbA,QAAQ,GAAG,oBAAIK,OAAJ,EAAX;YACAX,QAAQ,CAACM,QAAD,CAAR,CAAmBE,SAAnB,CACEP,mCAAmBE,UAAnB,EAA+B;cAC7BS,IAAI,EAAE,MAAOR,QAAQ,GAAGG,IAAI,EAAP,GAAaF,SAAS,GAAG;YADjB,CAA/B,CADF;UAKD;;UACD,IAAIC,QAAJ,EAAc;YACZA,QAAQ,CAACM,IAAT,CAAcF,GAAd;UACD;QACF;MAb4B,CAA/B,CADS,CAAX;;MAiBA,IAAIL,SAAJ,EAAe;QACbD,QAAQ,CAACS,WAAT;QACAT,QAAQ,GAAI,IAAZ;QACAC,SAAS,GAAG,KAAZ;QACAE,IAAI;MACL;IACF,CAxBD;;IA0BAA,IAAI;EACL,CAhCM,CAAP;AAiCD;;AAEK,SAAUO,SAAV,CACJd,QADI,EAC6D;EAEjE,OAAQD,EAAD,IAAQgB,YAAWhB,EAAX,EAAeC,QAAf,CAAf;AACD","names":["retryWhen_","fa","notifier","tsplus_module_2","source","subscriber","innerSub","syncResub","defects$","loop","subscribe","error","err","Subject","next","unsubscribe","retryWhen","retryWhen_1"],"sourceRoot":"","sources":["../../../_src/Observable/api/retryWhen.ts"],"sourcesContent":[null]}
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.share = share;
7
+ exports.share_ = void 0;
8
+
9
+ var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/Subject"));
10
+
11
+ var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/Subscriber"));
12
+
13
+ var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/Observable/api"));
14
+
15
+ var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/Operator"));
16
+
17
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
18
+
19
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
20
+
21
+ const share_ = share_1;
22
+ /**
23
+ * @tsplus fluent fncts.observable.Observable share
24
+ */
25
+
26
+ exports.share_ = share_;
27
+
28
+ function share_1(fa, options = {}) {
29
+ const {
30
+ connector = () => new tsplus_module_1.Subject(),
31
+ resetOnDefect = true,
32
+ resetOnComplete = true,
33
+ resetOnRefCountZero = true
34
+ } = options;
35
+ let connection = null;
36
+ let resetConnection = null;
37
+ let subject = null;
38
+ let refCount = 0;
39
+ let hasCompleted = false;
40
+ let hasErrored = false;
41
+
42
+ const cancelReset = () => {
43
+ resetConnection?.unsubscribe();
44
+ resetConnection = null;
45
+ };
46
+
47
+ const reset = () => {
48
+ cancelReset();
49
+ connection = subject = null;
50
+ hasCompleted = hasErrored = false;
51
+ };
52
+
53
+ const resetAndUnsubscribe = () => {
54
+ const conn = connection;
55
+ reset();
56
+ conn?.unsubscribe();
57
+ };
58
+
59
+ return tsplus_module_4.operate_(fa, (source, subscriber) => {
60
+ refCount++;
61
+
62
+ if (!hasErrored && !hasCompleted) {
63
+ cancelReset();
64
+ }
65
+
66
+ const dest = subject || (subject = connector());
67
+ subscriber.add(() => {
68
+ refCount--;
69
+
70
+ if (refCount === 0 && !hasErrored && !hasCompleted) {
71
+ resetConnection = handleReset(resetAndUnsubscribe, resetOnRefCountZero);
72
+ }
73
+ });
74
+ dest.subscribe(subscriber);
75
+
76
+ if (!connection) {
77
+ connection = new tsplus_module_2.SafeSubscriber({
78
+ next: value => dest.next(value),
79
+ error: defect => {
80
+ hasErrored = true;
81
+ cancelReset();
82
+ resetConnection = handleReset(reset, resetOnDefect, defect);
83
+ dest.error(defect);
84
+ },
85
+ complete: () => {
86
+ hasCompleted = true;
87
+ cancelReset();
88
+ resetConnection = handleReset(reset, resetOnComplete);
89
+ dest.complete();
90
+ }
91
+ });
92
+ tsplus_module_3.from(source).subscribe(connection);
93
+ }
94
+ });
95
+ }
96
+
97
+ function share(options = {}) {
98
+ return fa => share_1(fa, options);
99
+ }
100
+
101
+ function handleReset(reset, on, ...args) {
102
+ if (on === true) {
103
+ reset();
104
+ return null;
105
+ }
106
+
107
+ if (on === false) {
108
+ return null;
109
+ }
110
+
111
+ return tsplus_module_3.take_(on(...args), 1).subscribe({
112
+ next: () => reset()
113
+ });
114
+ }
115
+ //# sourceMappingURL=share.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"share.cjs","mappings":";;;;;;;;;;;;;;;;;;;;MAUgBA,MAAM;AAHtB;;;;;;AAGA,iBACEC,EADF,EAEEC,UAAyC,EAF3C,EAE6C;EAE3C,MAAM;IACJC,SAAS,GAAG,MAAM,oBAAIC,OAAJ,EADd;IAEJC,aAAa,GAAG,IAFZ;IAGJC,eAAe,GAAG,IAHd;IAIJC,mBAAmB,GAAG;EAJlB,IAKFL,OALJ;EAOA,IAAIM,UAAU,GAAgC,IAA9C;EACA,IAAIC,eAAe,GAA2B,IAA9C;EACA,IAAIC,OAAO,GAAmC,IAA9C;EACA,IAAIC,QAAQ,GAAO,CAAnB;EACA,IAAIC,YAAY,GAAG,KAAnB;EACA,IAAIC,UAAU,GAAK,KAAnB;;EAEA,MAAMC,WAAW,GAAG,MAAK;IACvBL,eAAe,EAAEM,WAAjB;IACAN,eAAe,GAAG,IAAlB;EACD,CAHD;;EAKA,MAAMO,KAAK,GAAG,MAAK;IACjBF,WAAW;IACXN,UAAU,GAAKE,OAAO,GAAG,IAAzB;IACAE,YAAY,GAAGC,UAAU,GAAG,KAA5B;EACD,CAJD;;EAMA,MAAMI,mBAAmB,GAAG,MAAK;IAC/B,MAAMC,IAAI,GAAGV,UAAb;IACAQ,KAAK;IACLE,IAAI,EAAEH,WAAN;EACD,CAJD;;EAMA,OAAOI,yBAASlB,EAAT,EAAa,CAACmB,MAAD,EAASC,UAAT,KAAuB;IACzCV,QAAQ;;IACR,IAAI,CAACE,UAAD,IAAe,CAACD,YAApB,EAAkC;MAChCE,WAAW;IACZ;;IAED,MAAMQ,IAAI,GAAIZ,OAAO,KAAPA,OAAO,GAAKP,SAAS,EAAd,CAArB;IAEAkB,UAAU,CAACE,GAAX,CAAe,MAAK;MAClBZ,QAAQ;;MACR,IAAIA,QAAQ,KAAK,CAAb,IAAkB,CAACE,UAAnB,IAAiC,CAACD,YAAtC,EAAoD;QAClDH,eAAe,GAAGe,WAAW,CAACP,mBAAD,EAAsBV,mBAAtB,CAA7B;MACD;IACF,CALD;IAOAe,IAAI,CAACG,SAAL,CAAeJ,UAAf;;IAEA,IAAI,CAACb,UAAL,EAAiB;MACfA,UAAU,GAAG,oBAAIkB,cAAJ,CAAmB;QAC9BC,IAAI,EAAGC,KAAD,IAAWN,IAAI,CAACK,IAAL,CAAUC,KAAV,CADa;QAE9BC,KAAK,EAAGC,MAAD,IAAW;UAChBjB,UAAU,GAAG,IAAb;UACAC,WAAW;UACXL,eAAe,GAAGe,WAAW,CAACR,KAAD,EAAQX,aAAR,EAAuByB,MAAvB,CAA7B;UACAR,IAAI,CAACO,KAAL,CAAWC,MAAX;QACD,CAP6B;QAQ9BC,QAAQ,EAAE,MAAK;UACbnB,YAAY,GAAG,IAAf;UACAE,WAAW;UACXL,eAAe,GAAGe,WAAW,CAACR,KAAD,EAAQV,eAAR,CAA7B;UACAgB,IAAI,CAACS,QAAL;QACD;MAb6B,CAAnB,CAAb;MAeAC,qBAAgBZ,MAAhB,EAAwBK,SAAxB,CAAkCjB,UAAlC;IACD;EACF,CAnCM,CAAP;AAoCD;;AAEK,SAAUyB,KAAV,CACJ/B,UAAyC,EADrC,EACuC;EAE3C,OAAQD,EAAD,IAAQiC,QAAOjC,EAAP,EAAWC,OAAX,CAAf;AACD;;AAED,SAASsB,WAAT,CACER,KADF,EAEEmB,EAFF,EAGE,GAAGC,IAHL,EAGY;EAEV,IAAID,EAAE,KAAK,IAAX,EAAiB;IACfnB,KAAK;IACL,OAAO,IAAP;EACD;;EAED,IAAImB,EAAE,KAAK,KAAX,EAAkB;IAChB,OAAO,IAAP;EACD;;EAED,OAAOH,wBAAE,CAAC,GAAGI,IAAJ,CAAF,EACC,CADD,EAEJX,SAFI,CAEM;IAAEE,IAAI,EAAE,MAAMX,KAAK;EAAnB,CAFN,CAAP;AAGD","names":["share_","fa","options","connector","Subject","resetOnDefect","resetOnComplete","resetOnRefCountZero","connection","resetConnection","subject","refCount","hasCompleted","hasErrored","cancelReset","unsubscribe","reset","resetAndUnsubscribe","conn","tsplus_module_4","source","subscriber","dest","add","handleReset","subscribe","SafeSubscriber","next","value","error","defect","complete","tsplus_module_3","share","share_1","on","args"],"sourceRoot":"","sources":["../../../_src/Observable/api/share.ts"],"sourcesContent":[null]}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.window_ = window_;
7
+
8
+ var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/Subject"));
9
+
10
+ var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/Operator"));
11
+
12
+ var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/internal/util"));
13
+
14
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
+
16
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
+
18
+ /**
19
+ * @tsplus fluent fncts.observable.Observable window
20
+ */
21
+ function window_(fa, windowBoundaries) {
22
+ return tsplus_module_2.operate_(fa, (source, subscriber) => {
23
+ let windowSubject = new tsplus_module_1.Subject();
24
+ subscriber.next(windowSubject.asObservable());
25
+
26
+ const errorHandler = err => {
27
+ windowSubject.error(err);
28
+ subscriber.error(err);
29
+ };
30
+
31
+ source.subscribe(tsplus_module_2.operatorSubscriber(subscriber, {
32
+ next: value => windowSubject.next(value),
33
+ error: errorHandler,
34
+ complete: () => {
35
+ windowSubject.complete();
36
+ subscriber.complete();
37
+ }
38
+ }));
39
+ windowBoundaries.subscribe(tsplus_module_2.operatorSubscriber(subscriber, {
40
+ next: () => {
41
+ windowSubject.complete();
42
+ subscriber.next(windowSubject = new tsplus_module_1.Subject());
43
+ },
44
+ complete: tsplus_module_3.noop,
45
+ error: errorHandler
46
+ }));
47
+ return () => {
48
+ windowSubject.unsubscribe();
49
+ windowSubject = null;
50
+ };
51
+ });
52
+ }
53
+ //# sourceMappingURL=window.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"window.cjs","mappings":";;;;;;;;;;;;;;;;;AAAA;;;AAGM,SAAUA,OAAV,CACJC,EADI,EAEJC,gBAFI,EAEoC;EAExC,OAAOC,yBAASF,EAAT,EAAa,CAACG,MAAD,EAASC,UAAT,KAAuB;IACzC,IAAIC,aAAa,GAAkB,oBAAIC,OAAJ,EAAnC;IACAF,UAAU,CAACG,IAAX,CAAgBF,aAAa,CAACG,YAAd,EAAhB;;IAEA,MAAMC,YAAY,GAAIC,GAAD,IAAkB;MACrCL,aAAa,CAACM,KAAd,CAAoBD,GAApB;MACAN,UAAU,CAACO,KAAX,CAAiBD,GAAjB;IACD,CAHD;;IAKAP,MAAM,CAACS,SAAP,CACEV,mCAAmBE,UAAnB,EAA+B;MAC7BG,IAAI,EAAGM,KAAD,IAAWR,aAAa,CAACE,IAAd,CAAmBM,KAAnB,CADY;MAE7BF,KAAK,EAAEF,YAFsB;MAG7BK,QAAQ,EAAE,MAAK;QACbT,aAAa,CAACS,QAAd;QACAV,UAAU,CAACU,QAAX;MACD;IAN4B,CAA/B,CADF;IAWAb,gBAAgB,CAACW,SAAjB,CACEV,mCAAmBE,UAAnB,EAA+B;MAC7BG,IAAI,EAAE,MAAK;QACTF,aAAa,CAACS,QAAd;QACAV,UAAU,CAACG,IAAX,CAAiBF,aAAa,GAAG,oBAAIC,OAAJ,EAAjC;MACD,CAJ4B;MAK7BQ,QAAQ,kBAAEC,IALmB;MAM7BJ,KAAK,EAAEF;IANsB,CAA/B,CADF;IAWA,OAAO,MAAK;MACVJ,aAAa,CAACW,WAAd;MACAX,aAAa,GAAG,IAAhB;IACD,CAHD;EAID,CAnCM,CAAP;AAoCD","names":["window_","fa","windowBoundaries","tsplus_module_2","source","subscriber","windowSubject","Subject","next","asObservable","errorHandler","err","error","subscribe","value","complete","noop","unsubscribe"],"sourceRoot":"","sources":["../../../_src/Observable/api/window.ts"],"sourcesContent":[null]}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.windowCount_ = windowCount_;
7
+
8
+ var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/Subject"));
9
+
10
+ var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/Operator"));
11
+
12
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
+
14
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
+
16
+ /**
17
+ * @tsplus fluent fncts.observable.Observable windowCount
18
+ */
19
+ function windowCount_(fa, windowSize, startWindowEvery = 0) {
20
+ const startEvery = startWindowEvery > 0 ? startWindowEvery : windowSize;
21
+ return tsplus_module_2.operate_(fa, (source, subscriber) => {
22
+ let windows = [new tsplus_module_1.Subject()];
23
+ let count = 0;
24
+ subscriber.next(windows[0].asObservable());
25
+ source.subscribe(tsplus_module_2.operatorSubscriber(subscriber, {
26
+ next: value => {
27
+ for (const window of windows) {
28
+ window.next(value);
29
+ }
30
+
31
+ const c = count - windowSize + 1;
32
+
33
+ if (c >= 0 && c % startEvery === 0) {
34
+ windows.shift().complete();
35
+ }
36
+
37
+ if (++count && startEvery === 0) {
38
+ const window = new tsplus_module_1.Subject();
39
+ windows.push(window);
40
+ subscriber.next(window.asObservable());
41
+ }
42
+ },
43
+ complete: () => {
44
+ while (windows.length > 0) {
45
+ windows.shift().complete();
46
+ }
47
+
48
+ subscriber.complete();
49
+ },
50
+ error: err => {
51
+ while (windows.length > 0) {
52
+ windows.shift().error(err);
53
+ }
54
+
55
+ subscriber.error(err);
56
+ }
57
+ }, () => {
58
+ windows = null;
59
+ }));
60
+ });
61
+ }
62
+ //# sourceMappingURL=windowCount.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"windowCount.cjs","mappings":";;;;;;;;;;;;;;;AAAA;;;AAGM,SAAUA,YAAV,CACJC,EADI,EAEJC,UAFI,EAGJC,gBAAgB,GAAG,CAHf,EAGgB;EAEpB,MAAMC,UAAU,GAAGD,gBAAgB,GAAG,CAAnB,GAAuBA,gBAAvB,GAA0CD,UAA7D;EAEA,OAAOG,yBAASJ,EAAT,EAAa,CAACK,MAAD,EAASC,UAAT,KAAuB;IACzC,IAAIC,OAAO,GAAG,CAAC,oBAAIC,OAAJ,EAAD,CAAd;IACA,IAAIC,KAAK,GAAK,CAAd;IAEAH,UAAU,CAACI,IAAX,CAAgBH,OAAO,CAAC,CAAD,CAAP,CAAYI,YAAZ,EAAhB;IAEAN,MAAM,CAACO,SAAP,CACER,mCACEE,UADF,EAEE;MACEI,IAAI,EAAGG,KAAD,IAAU;QACd,KAAK,MAAMC,MAAX,IAAqBP,OAArB,EAA8B;UAC5BO,MAAM,CAACJ,IAAP,CAAYG,KAAZ;QACD;;QAED,MAAME,CAAC,GAAGN,KAAK,GAAGR,UAAR,GAAqB,CAA/B;;QACA,IAAIc,CAAC,IAAI,CAAL,IAAUA,CAAC,GAAGZ,UAAJ,KAAmB,CAAjC,EAAoC;UAClCI,OAAO,CAACS,KAAR,GAAiBC,QAAjB;QACD;;QAED,IAAI,EAAER,KAAF,IAAWN,UAAU,KAAK,CAA9B,EAAiC;UAC/B,MAAMW,MAAM,GAAG,oBAAIN,OAAJ,EAAf;UACAD,OAAO,CAACW,IAAR,CAAaJ,MAAb;UACAR,UAAU,CAACI,IAAX,CAAgBI,MAAM,CAACH,YAAP,EAAhB;QACD;MACF,CAhBH;MAiBEM,QAAQ,EAAE,MAAK;QACb,OAAOV,OAAO,CAACY,MAAR,GAAiB,CAAxB,EAA2B;UACzBZ,OAAO,CAACS,KAAR,GAAiBC,QAAjB;QACD;;QACDX,UAAU,CAACW,QAAX;MACD,CAtBH;MAuBEG,KAAK,EAAGC,GAAD,IAAQ;QACb,OAAOd,OAAO,CAACY,MAAR,GAAiB,CAAxB,EAA2B;UACzBZ,OAAO,CAACS,KAAR,GAAiBI,KAAjB,CAAuBC,GAAvB;QACD;;QACDf,UAAU,CAACc,KAAX,CAAiBC,GAAjB;MACD;IA5BH,CAFF,EAgCE,MAAK;MACHd,OAAO,GAAG,IAAV;IACD,CAlCH,CADF;EAsCD,CA5CM,CAAP;AA6CD","names":["windowCount_","fa","windowSize","startWindowEvery","startEvery","tsplus_module_2","source","subscriber","windows","Subject","count","next","asObservable","subscribe","value","window","c","shift","complete","push","length","error","err"],"sourceRoot":"","sources":["../../../_src/Observable/api/windowCount.ts"],"sourcesContent":[null]}
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.windowTime_ = windowTime_;
7
+
8
+ var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/AsyncScheduler"));
9
+
10
+ var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/Subscription"));
11
+
12
+ var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/Subject"));
13
+
14
+ var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/Operator"));
15
+
16
+ var _args = /*#__PURE__*/require("@fncts/observable/internal/args");
17
+
18
+ var _util = /*#__PURE__*/require("@fncts/observable/internal/util");
19
+
20
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
+
22
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
+
24
+ function windowTime_(fa, windowTimeSpan, ...args) {
25
+ const scheduler = (0, _args.popScheduler)(args) ?? tsplus_module_1.asyncScheduler;
26
+ const windowCreationInterval = args[0] ?? null;
27
+ const maxWindowSize = args[1] || Infinity;
28
+ return tsplus_module_4.operate_(fa, (source, subscriber) => {
29
+ let windowRecords = [];
30
+ let restartOnClose = false;
31
+
32
+ const closeWindow = record => {
33
+ const {
34
+ window,
35
+ subs
36
+ } = record;
37
+ window.complete();
38
+ subs.unsubscribe();
39
+ (0, _util.arrayRemove)(windowRecords, record);
40
+ restartOnClose && startWindow();
41
+ };
42
+
43
+ const startWindow = () => {
44
+ if (windowRecords) {
45
+ const subs = new tsplus_module_2.Subscription();
46
+ subscriber.add(subs);
47
+ const window = new tsplus_module_3.Subject();
48
+ const record = {
49
+ window,
50
+ subs,
51
+ seen: 0
52
+ };
53
+ windowRecords.push(record);
54
+ subscriber.next(window.asObservable());
55
+ subs.add(scheduler.schedule(() => closeWindow(record), windowTimeSpan));
56
+ }
57
+ };
58
+
59
+ windowCreationInterval !== null && windowCreationInterval >= 0 ? subscriber.add(scheduler.schedule(function () {
60
+ startWindow();
61
+ !this.closed && subscriber.add(this.schedule(null, windowCreationInterval));
62
+ }, windowCreationInterval)) : restartOnClose = true;
63
+ startWindow();
64
+
65
+ const loop = cb => windowRecords.slice().forEach(cb);
66
+
67
+ const terminate = cb => {
68
+ loop(({
69
+ window
70
+ }) => cb(window));
71
+ cb(subscriber);
72
+ subscriber.unsubscribe();
73
+ };
74
+
75
+ source.subscribe(tsplus_module_4.operatorSubscriber(subscriber, {
76
+ next: value => {
77
+ loop(record => {
78
+ record.window.next(value);
79
+ maxWindowSize <= ++record.seen && closeWindow(record);
80
+ });
81
+ },
82
+ error: err => terminate(consumer => consumer.error(err)),
83
+ complete: () => terminate(consumer => consumer.complete())
84
+ }));
85
+ return () => {
86
+ windowRecords = null;
87
+ };
88
+ });
89
+ }
90
+ //# sourceMappingURL=windowTime.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"windowTime.cjs","mappings":"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","names":["windowTime_","fa","windowTimeSpan","args","scheduler","tsplus_module_1","asyncScheduler","windowCreationInterval","maxWindowSize","Infinity","tsplus_module_4","source","subscriber","windowRecords","restartOnClose","closeWindow","record","window","subs","complete","unsubscribe","startWindow","Subscription","add","Subject","seen","push","next","asObservable","schedule","closed","loop","cb","slice","forEach","terminate","subscribe","value","error","err","consumer"],"sourceRoot":"","sources":["../../../_src/Observable/api/windowTime.ts"],"sourcesContent":[null]}
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.windowToggle_ = windowToggle_;
7
+
8
+ var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/Subject"));
9
+
10
+ var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/Subscription"));
11
+
12
+ var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/Observable/api"));
13
+
14
+ var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Cause/api"));
15
+
16
+ var tsplus_module_5 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/internal/util"));
17
+
18
+ var tsplus_module_6 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/Operator"));
19
+
20
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
+
22
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
+
24
+ /**
25
+ * @tsplus fluent fncts.observable.Observable windowToggle
26
+ */
27
+ function windowToggle_(fa, openings, closingSelector) {
28
+ return tsplus_module_6.operate_(fa, (source, subscriber) => {
29
+ const windows = [];
30
+
31
+ const handleError = err => {
32
+ while (0 < windows.length) {
33
+ windows.shift().error(err);
34
+ }
35
+
36
+ subscriber.error(err);
37
+ };
38
+
39
+ tsplus_module_3.from(openings).subscribe(tsplus_module_6.operatorSubscriber(subscriber, {
40
+ next: openValue => {
41
+ const window = new tsplus_module_1.Subject();
42
+ windows.push(window);
43
+ const closingSubscription = new tsplus_module_2.Subscription();
44
+
45
+ const closeWindow = () => {
46
+ (0, tsplus_module_5.arrayRemove)(windows, window);
47
+ window.complete();
48
+ closingSubscription.unsubscribe();
49
+ };
50
+
51
+ let closingNotifier;
52
+
53
+ try {
54
+ closingNotifier = tsplus_module_3.from(closingSelector(openValue));
55
+ } catch (err) {
56
+ handleError(tsplus_module_4.halt(err));
57
+ return;
58
+ }
59
+
60
+ subscriber.next(window.asObservable());
61
+ closingSubscription.add(closingNotifier.subscribe(tsplus_module_6.operatorSubscriber(subscriber, {
62
+ next: closeWindow,
63
+ complete: tsplus_module_5.noop,
64
+ error: closeWindow
65
+ })));
66
+ },
67
+ complete: tsplus_module_5.noop
68
+ }));
69
+ source.subscribe(tsplus_module_6.operatorSubscriber(subscriber, {
70
+ next: value => {
71
+ const windowsCopy = windows.slice();
72
+
73
+ for (const window of windowsCopy) {
74
+ window.next(value);
75
+ }
76
+ },
77
+ error: handleError,
78
+ complete: () => {
79
+ while (0 < windows.length) {
80
+ windows.shift().complete();
81
+ }
82
+
83
+ subscriber.complete();
84
+ }
85
+ }, () => {
86
+ while (0 < windows.length) {
87
+ windows.shift().unsubscribe();
88
+ }
89
+ }));
90
+ });
91
+ }
92
+ //# sourceMappingURL=windowToggle.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"windowToggle.cjs","mappings":";;;;;;;;;;;;;;;;;;;;;;;AAEA;;;AAGM,SAAUA,aAAV,CACJC,EADI,EAEJC,QAFI,EAGJC,eAHI,EAGuD;EAE3D,OAAOC,yBAASH,EAAT,EAAa,CAACI,MAAD,EAASC,UAAT,KAAuB;IACzC,MAAMC,OAAO,GAAoB,EAAjC;;IAEA,MAAMC,WAAW,GAAIC,GAAD,IAAkB;MACpC,OAAO,IAAIF,OAAO,CAACG,MAAnB,EAA2B;QACzBH,OAAO,CAACI,KAAR,GAAiBC,KAAjB,CAAuBH,GAAvB;MACD;;MACDH,UAAU,CAACM,KAAX,CAAiBH,GAAjB;IACD,CALD;;IAOAI,qBAAgBX,QAAhB,EAA0BY,SAA1B,CACEV,mCAAmBE,UAAnB,EAA+B;MAC7BS,IAAI,EAAGC,SAAD,IAAc;QAClB,MAAMC,MAAM,GAAG,oBAAIC,OAAJ,EAAf;QACAX,OAAO,CAACY,IAAR,CAAaF,MAAb;QACA,MAAMG,mBAAmB,GAAG,oBAAIC,YAAJ,EAA5B;;QACA,MAAMC,WAAW,GAAW,MAAK;UAC/B,iCAAYf,OAAZ,EAAqBU,MAArB;UACAA,MAAM,CAACM,QAAP;UACAH,mBAAmB,CAACI,WAApB;QACD,CAJD;;QAMA,IAAIC,eAAJ;;QAEA,IAAI;UACFA,eAAe,GAAGZ,qBAAgBV,eAAe,CAACa,SAAD,CAA/B,CAAlB;QACD,CAFD,CAEE,OAAOP,GAAP,EAAY;UACZD,WAAW,CAACkB,qBAAWjB,GAAX,CAAD,CAAX;UACA;QACD;;QAEDH,UAAU,CAACS,IAAX,CAAgBE,MAAM,CAACU,YAAP,EAAhB;QAEAP,mBAAmB,CAACQ,GAApB,CACEH,eAAe,CAACX,SAAhB,CACEV,mCAAmBE,UAAnB,EAA+B;UAC7BS,IAAI,EAAEO,WADuB;UAE7BC,QAAQ,kBAAEM,IAFmB;UAG7BjB,KAAK,EAAEU;QAHsB,CAA/B,CADF,CADF;MASD,CA/B4B;MAgC7BC,QAAQ,kBAAEM;IAhCmB,CAA/B,CADF;IAqCAxB,MAAM,CAACS,SAAP,CACEV,mCACEE,UADF,EAEE;MACES,IAAI,EAAGe,KAAD,IAAU;QACd,MAAMC,WAAW,GAAGxB,OAAO,CAACyB,KAAR,EAApB;;QACA,KAAK,MAAMf,MAAX,IAAqBc,WAArB,EAAkC;UAChCd,MAAM,CAACF,IAAP,CAAYe,KAAZ;QACD;MACF,CANH;MAOElB,KAAK,EAAEJ,WAPT;MAQEe,QAAQ,EAAE,MAAK;QACb,OAAO,IAAIhB,OAAO,CAACG,MAAnB,EAA2B;UACzBH,OAAO,CAACI,KAAR,GAAiBY,QAAjB;QACD;;QACDjB,UAAU,CAACiB,QAAX;MACD;IAbH,CAFF,EAiBE,MAAK;MACH,OAAO,IAAIhB,OAAO,CAACG,MAAnB,EAA2B;QACzBH,OAAO,CAACI,KAAR,GAAiBa,WAAjB;MACD;IACF,CArBH,CADF;EAyBD,CAxEM,CAAP;AAyED","names":["windowToggle_","fa","openings","closingSelector","tsplus_module_6","source","subscriber","windows","handleError","err","length","shift","error","tsplus_module_3","subscribe","next","openValue","window","Subject","push","closingSubscription","Subscription","closeWindow","complete","unsubscribe","closingNotifier","tsplus_module_4","asObservable","add","noop","value","windowsCopy","slice"],"sourceRoot":"","sources":["../../../_src/Observable/api/windowToggle.ts"],"sourcesContent":[null]}