@fncts/observable 0.0.9 → 0.0.10

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 (146) hide show
  1. package/BehaviorSubject.d.ts +2 -2
  2. package/Notification.d.ts +4 -4
  3. package/Observable/api/connect.d.ts +2 -2
  4. package/Observable/api/connectable.d.ts +2 -2
  5. package/Observable/api/fromEvent.d.ts +4 -0
  6. package/Observable/api/race.d.ts +2 -1
  7. package/Observable/api/raceWith.d.ts +2 -2
  8. package/Observable/api/repeatWhen.d.ts +5 -2
  9. package/Observable/api/retryWhen.d.ts +2 -3
  10. package/Observable/api/share.d.ts +5 -4
  11. package/Observable/api/window.d.ts +2 -2
  12. package/Observable/api/windowCount.d.ts +2 -2
  13. package/Observable/api/windowTime.d.ts +5 -5
  14. package/Observable/api/windowToggle.d.ts +3 -3
  15. package/Observable/api/windowWhen.d.ts +3 -3
  16. package/Observable/api.d.ts +188 -194
  17. package/Observable/definition.d.ts +8 -6
  18. package/Operator.d.ts +2 -2
  19. package/_cjs/Action.cjs.map +1 -1
  20. package/_cjs/AnimationFrameAction.cjs.map +1 -1
  21. package/_cjs/AnimationFrameScheduler.cjs +0 -1
  22. package/_cjs/AnimationFrameScheduler.cjs.map +1 -1
  23. package/_cjs/BehaviorSubject.cjs +1 -1
  24. package/_cjs/BehaviorSubject.cjs.map +1 -1
  25. package/_cjs/Notification.cjs +21 -17
  26. package/_cjs/Notification.cjs.map +1 -1
  27. package/_cjs/Observable/api/connect.cjs +12 -10
  28. package/_cjs/Observable/api/connect.cjs.map +1 -1
  29. package/_cjs/Observable/api/connectable.cjs +6 -4
  30. package/_cjs/Observable/api/connectable.cjs.map +1 -1
  31. package/_cjs/Observable/api/fromCallback.cjs.map +1 -1
  32. package/_cjs/Observable/api/fromEvent.cjs +3 -0
  33. package/_cjs/Observable/api/fromEvent.cjs.map +1 -1
  34. package/_cjs/Observable/api/race.cjs +2 -2
  35. package/_cjs/Observable/api/race.cjs.map +1 -1
  36. package/_cjs/Observable/api/raceWith.cjs +8 -6
  37. package/_cjs/Observable/api/raceWith.cjs.map +1 -1
  38. package/_cjs/Observable/api/repeatWhen.cjs +46 -46
  39. package/_cjs/Observable/api/repeatWhen.cjs.map +1 -1
  40. package/_cjs/Observable/api/retryWhen.cjs +31 -38
  41. package/_cjs/Observable/api/retryWhen.cjs.map +1 -1
  42. package/_cjs/Observable/api/share.cjs +66 -64
  43. package/_cjs/Observable/api/share.cjs.map +1 -1
  44. package/_cjs/Observable/api/window.cjs +35 -33
  45. package/_cjs/Observable/api/window.cjs.map +1 -1
  46. package/_cjs/Observable/api/windowCount.cjs +41 -39
  47. package/_cjs/Observable/api/windowCount.cjs.map +1 -1
  48. package/_cjs/Observable/api/windowTime.cjs +66 -64
  49. package/_cjs/Observable/api/windowTime.cjs.map +1 -1
  50. package/_cjs/Observable/api/windowToggle.cjs +63 -61
  51. package/_cjs/Observable/api/windowToggle.cjs.map +1 -1
  52. package/_cjs/Observable/api/windowWhen.cjs +43 -41
  53. package/_cjs/Observable/api/windowWhen.cjs.map +1 -1
  54. package/_cjs/Observable/api.cjs +1270 -1105
  55. package/_cjs/Observable/api.cjs.map +1 -1
  56. package/_cjs/Observable/definition.cjs +9 -8
  57. package/_cjs/Observable/definition.cjs.map +1 -1
  58. package/_cjs/Observable/dom/animationFrames.cjs.map +1 -1
  59. package/_cjs/Observable.cjs.map +1 -1
  60. package/_cjs/Operator.cjs +11 -9
  61. package/_cjs/Operator.cjs.map +1 -1
  62. package/_cjs/Scheduler.cjs +0 -5
  63. package/_cjs/Scheduler.cjs.map +1 -1
  64. package/_cjs/Subject.cjs +3 -3
  65. package/_cjs/Subject.cjs.map +1 -1
  66. package/_cjs/Subscriber.cjs.map +1 -1
  67. package/_cjs/internal/util.cjs.map +1 -1
  68. package/_mjs/Action.mjs.map +1 -1
  69. package/_mjs/AnimationFrameAction.mjs.map +1 -1
  70. package/_mjs/AnimationFrameScheduler.mjs +0 -2
  71. package/_mjs/AnimationFrameScheduler.mjs.map +1 -1
  72. package/_mjs/BehaviorSubject.mjs +1 -1
  73. package/_mjs/BehaviorSubject.mjs.map +1 -1
  74. package/_mjs/Notification.mjs +18 -14
  75. package/_mjs/Notification.mjs.map +1 -1
  76. package/_mjs/Observable/api/connect.mjs +12 -10
  77. package/_mjs/Observable/api/connect.mjs.map +1 -1
  78. package/_mjs/Observable/api/connectable.mjs +6 -4
  79. package/_mjs/Observable/api/connectable.mjs.map +1 -1
  80. package/_mjs/Observable/api/fromCallback.mjs.map +1 -1
  81. package/_mjs/Observable/api/fromEvent.mjs +4 -0
  82. package/_mjs/Observable/api/fromEvent.mjs.map +1 -1
  83. package/_mjs/Observable/api/race.mjs +2 -2
  84. package/_mjs/Observable/api/race.mjs.map +1 -1
  85. package/_mjs/Observable/api/raceWith.mjs +7 -5
  86. package/_mjs/Observable/api/raceWith.mjs.map +1 -1
  87. package/_mjs/Observable/api/repeatWhen.mjs +47 -44
  88. package/_mjs/Observable/api/repeatWhen.mjs.map +1 -1
  89. package/_mjs/Observable/api/retryWhen.mjs +30 -33
  90. package/_mjs/Observable/api/retryWhen.mjs.map +1 -1
  91. package/_mjs/Observable/api/share.mjs +63 -61
  92. package/_mjs/Observable/api/share.mjs.map +1 -1
  93. package/_mjs/Observable/api/window.mjs +32 -30
  94. package/_mjs/Observable/api/window.mjs.map +1 -1
  95. package/_mjs/Observable/api/windowCount.mjs +40 -38
  96. package/_mjs/Observable/api/windowCount.mjs.map +1 -1
  97. package/_mjs/Observable/api/windowTime.mjs +60 -58
  98. package/_mjs/Observable/api/windowTime.mjs.map +1 -1
  99. package/_mjs/Observable/api/windowToggle.mjs +56 -54
  100. package/_mjs/Observable/api/windowToggle.mjs.map +1 -1
  101. package/_mjs/Observable/api/windowWhen.mjs +42 -40
  102. package/_mjs/Observable/api/windowWhen.mjs.map +1 -1
  103. package/_mjs/Observable/api.mjs +1198 -1031
  104. package/_mjs/Observable/api.mjs.map +1 -1
  105. package/_mjs/Observable/definition.mjs +9 -8
  106. package/_mjs/Observable/definition.mjs.map +1 -1
  107. package/_mjs/Observable/dom/animationFrames.mjs.map +1 -1
  108. package/_mjs/Observable.mjs.map +1 -1
  109. package/_mjs/Operator.mjs +11 -9
  110. package/_mjs/Operator.mjs.map +1 -1
  111. package/_mjs/Scheduler.mjs +0 -6
  112. package/_mjs/Scheduler.mjs.map +1 -1
  113. package/_mjs/Subject.mjs +3 -3
  114. package/_mjs/Subject.mjs.map +1 -1
  115. package/_mjs/Subscriber.mjs.map +1 -1
  116. package/_mjs/internal/util.mjs.map +1 -1
  117. package/_src/Action.ts +0 -1
  118. package/_src/AnimationFrameAction.ts +0 -2
  119. package/_src/AnimationFrameScheduler.ts +2 -7
  120. package/_src/BehaviorSubject.ts +3 -3
  121. package/_src/Notification.ts +21 -23
  122. package/_src/Observable/api/connect.ts +12 -9
  123. package/_src/Observable/api/connectable.ts +6 -7
  124. package/_src/Observable/api/fromCallback.ts +0 -1
  125. package/_src/Observable/api/fromEvent.ts +3 -0
  126. package/_src/Observable/api/race.ts +15 -13
  127. package/_src/Observable/api/raceWith.ts +15 -14
  128. package/_src/Observable/api/repeatWhen.ts +51 -56
  129. package/_src/Observable/api/retryWhen.ts +38 -43
  130. package/_src/Observable/api/share.ts +63 -71
  131. package/_src/Observable/api/window.ts +36 -41
  132. package/_src/Observable/api/windowCount.ts +44 -51
  133. package/_src/Observable/api/windowTime.ts +69 -81
  134. package/_src/Observable/api/windowToggle.ts +69 -73
  135. package/_src/Observable/api/windowWhen.ts +49 -55
  136. package/_src/Observable/api.ts +1489 -1495
  137. package/_src/Observable/definition.ts +24 -18
  138. package/_src/Observable/dom/animationFrames.ts +16 -6
  139. package/_src/Observable/instances.ts +0 -23
  140. package/_src/Observable.ts +0 -2
  141. package/_src/Operator.ts +20 -15
  142. package/_src/Scheduler.ts +0 -6
  143. package/_src/Subject.ts +1 -1
  144. package/_src/Subscriber.ts +3 -2
  145. package/_src/internal/util.ts +8 -4
  146. package/package.json +2 -2
@@ -2,39 +2,41 @@ import * as tsplus_module_1 from "@fncts/observable/Subject";
2
2
  import * as tsplus_module_2 from "@fncts/observable/Operator";
3
3
  import * as tsplus_module_3 from "@fncts/observable/internal/util";
4
4
  /**
5
- * @tsplus fluent fncts.observable.Observable window
5
+ * @tsplus pipeable fncts.observable.Observable window
6
6
  */
7
7
 
8
- export function window_(fa, windowBoundaries) {
9
- return tsplus_module_2.operate_(fa, (source, subscriber) => {
10
- let windowSubject = new tsplus_module_1.Subject();
11
- subscriber.next(windowSubject.asObservable());
8
+ export function window(windowBoundaries) {
9
+ return fa => {
10
+ return tsplus_module_2.operate_((source, subscriber, environment) => {
11
+ let windowSubject = new tsplus_module_1.Subject();
12
+ subscriber.next(windowSubject.asObservable());
12
13
 
13
- const errorHandler = err => {
14
- windowSubject.error(err);
15
- subscriber.error(err);
16
- };
14
+ const errorHandler = err => {
15
+ windowSubject.error(err);
16
+ subscriber.error(err);
17
+ };
17
18
 
18
- source.subscribe(tsplus_module_2.operatorSubscriber(subscriber, {
19
- next: value => windowSubject.next(value),
20
- error: errorHandler,
21
- complete: () => {
22
- windowSubject.complete();
23
- subscriber.complete();
24
- }
25
- }));
26
- windowBoundaries.subscribe(tsplus_module_2.operatorSubscriber(subscriber, {
27
- next: () => {
28
- windowSubject.complete();
29
- subscriber.next(windowSubject = new tsplus_module_1.Subject());
30
- },
31
- complete: tsplus_module_3.noop,
32
- error: errorHandler
33
- }));
34
- return () => {
35
- windowSubject.unsubscribe();
36
- windowSubject = null;
37
- };
38
- });
19
+ source.provideEnvironment(environment).subscribe(tsplus_module_2.operatorSubscriber(subscriber, {
20
+ next: value => windowSubject.next(value),
21
+ error: errorHandler,
22
+ complete: () => {
23
+ windowSubject.complete();
24
+ subscriber.complete();
25
+ }
26
+ }));
27
+ windowBoundaries.subscribe(tsplus_module_2.operatorSubscriber(subscriber, {
28
+ next: () => {
29
+ windowSubject.complete();
30
+ subscriber.next(windowSubject = new tsplus_module_1.Subject());
31
+ },
32
+ complete: tsplus_module_3.noop,
33
+ error: errorHandler
34
+ }));
35
+ return () => {
36
+ windowSubject.unsubscribe();
37
+ windowSubject = null;
38
+ };
39
+ })(fa);
40
+ };
39
41
  }
40
42
  //# sourceMappingURL=window.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"window.mjs","mappings":";;;AAAA;;;;AAGA,OAAM,SAAUA,OAAV,CACJC,EADI,EAEJC,gBAFI,EAE2C;EAE/C,OAAOC,yBAASF,EAAT,EAAa,CAACG,MAAD,EAASC,UAAT,KAAuB;IACzC,IAAIC,aAAa,GAAyB,oBAAIC,OAAJ,EAA1C;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]}
1
+ {"version":3,"file":"window.mjs","mappings":";;;AAAA;;;;AAGA,OAAM,SAAUA,MAAV,CAAiBC,gBAAjB,EAAgE;EACpE,OAAiBC,EAAV,IAAgF;IACrF,OAAOC,yBAAW,CAACC,MAAD,EAASC,UAAT,EAAqBC,WAArB,KAAoC;MACpD,IAAIC,aAAa,GAAyB,oBAAIC,OAAJ,EAA1C;MACAH,UAAU,CAACI,IAAX,CAAgBF,aAAa,CAACG,YAAd,EAAhB;;MACA,MAAMC,YAAY,GAAIC,GAAD,IAAkB;QACrCL,aAAa,CAACM,KAAd,CAAoBD,GAApB;QACAP,UAAU,CAACQ,KAAX,CAAiBD,GAAjB;MACD,CAHD;;MAIAR,MAAM,CAACU,kBAAP,CAA0BR,WAA1B,EAAuCS,SAAvC,CACEZ,mCAAmBE,UAAnB,EAA+B;QAC7BI,IAAI,EAAGO,KAAD,IAAWT,aAAa,CAACE,IAAd,CAAmBO,KAAnB,CADY;QAE7BH,KAAK,EAAEF,YAFsB;QAG7BM,QAAQ,EAAE,MAAK;UACbV,aAAa,CAACU,QAAd;UACAZ,UAAU,CAACY,QAAX;QACD;MAN4B,CAA/B,CADF;MAUAhB,gBAAgB,CAACc,SAAjB,CACEZ,mCAAmBE,UAAnB,EAA+B;QAC7BI,IAAI,EAAE,MAAK;UACTF,aAAa,CAACU,QAAd;UACAZ,UAAU,CAACI,IAAX,CAAiBF,aAAa,GAAG,oBAAIC,OAAJ,EAAjC;QACD,CAJ4B;QAK7BS,QAAQ,kBAAEC,IALmB;QAM7BL,KAAK,EAAEF;MANsB,CAA/B,CADF;MAUA,OAAO,MAAK;QACVJ,aAAa,CAACY,WAAd;QACAZ,aAAa,GAAG,IAAhB;MACD,CAHD;IAID,CA/BM,KAAP;EAgCD,CAjCD;AAkCD","names":["window","windowBoundaries","fa","tsplus_module_2","source","subscriber","environment","windowSubject","Subject","next","asObservable","errorHandler","err","error","provideEnvironment","subscribe","value","complete","noop","unsubscribe"],"sourceRoot":"","sources":["../../../_src/Observable/api/window.ts"],"sourcesContent":[null]}
@@ -1,50 +1,52 @@
1
1
  import * as tsplus_module_1 from "@fncts/observable/Subject";
2
2
  import * as tsplus_module_2 from "@fncts/observable/Operator";
3
3
  /**
4
- * @tsplus fluent fncts.observable.Observable windowCount
4
+ * @tsplus pipeable fncts.observable.Observable windowCount
5
5
  */
6
6
 
7
- export function windowCount_(fa, windowSize, startWindowEvery = 0) {
8
- const startEvery = startWindowEvery > 0 ? startWindowEvery : windowSize;
9
- return tsplus_module_2.operate_(fa, (source, subscriber) => {
10
- let windows = [new tsplus_module_1.Subject()];
11
- let count = 0;
12
- subscriber.next(windows[0].asObservable());
13
- source.subscribe(tsplus_module_2.operatorSubscriber(subscriber, {
14
- next: value => {
15
- for (const window of windows) {
16
- window.next(value);
17
- }
7
+ export function windowCount(windowSize, startWindowEvery = 0) {
8
+ return fa => {
9
+ const startEvery = startWindowEvery > 0 ? startWindowEvery : windowSize;
10
+ return tsplus_module_2.operate_((source, subscriber, environment) => {
11
+ let windows = [new tsplus_module_1.Subject()];
12
+ let count = 0;
13
+ subscriber.next(windows[0].asObservable());
14
+ source.provideEnvironment(environment).subscribe(tsplus_module_2.operatorSubscriber(subscriber, {
15
+ next: value => {
16
+ for (const window of windows) {
17
+ window.next(value);
18
+ }
18
19
 
19
- const c = count - windowSize + 1;
20
+ const c = count - windowSize + 1;
20
21
 
21
- if (c >= 0 && c % startEvery === 0) {
22
- windows.shift().complete();
23
- }
22
+ if (c >= 0 && c % startEvery === 0) {
23
+ windows.shift().complete();
24
+ }
24
25
 
25
- if (++count && startEvery === 0) {
26
- const window = new tsplus_module_1.Subject();
27
- windows.push(window);
28
- subscriber.next(window.asObservable());
29
- }
30
- },
31
- complete: () => {
32
- while (windows.length > 0) {
33
- windows.shift().complete();
34
- }
26
+ if (++count && startEvery === 0) {
27
+ const window = new tsplus_module_1.Subject();
28
+ windows.push(window);
29
+ subscriber.next(window.asObservable());
30
+ }
31
+ },
32
+ complete: () => {
33
+ while (windows.length > 0) {
34
+ windows.shift().complete();
35
+ }
35
36
 
36
- subscriber.complete();
37
- },
38
- error: err => {
39
- while (windows.length > 0) {
40
- windows.shift().error(err);
41
- }
37
+ subscriber.complete();
38
+ },
39
+ error: err => {
40
+ while (windows.length > 0) {
41
+ windows.shift().error(err);
42
+ }
42
43
 
43
- subscriber.error(err);
44
- }
45
- }, () => {
46
- windows = null;
47
- }));
48
- });
44
+ subscriber.error(err);
45
+ }
46
+ }, () => {
47
+ windows = null;
48
+ }));
49
+ })(fa);
50
+ };
49
51
  }
50
52
  //# sourceMappingURL=windowCount.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"windowCount.mjs","mappings":";;AAAA;;;;AAGA,OAAM,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]}
1
+ {"version":3,"file":"windowCount.mjs","mappings":";;AAAA;;;;AAGA,OAAM,SAAUA,WAAV,CAAsBC,UAAtB,EAA0CC,gBAAgB,GAAG,CAA7D,EAA8D;EAClE,OAAiBC,EAAV,IAAgF;IACrF,MAAMC,UAAU,GAAGF,gBAAgB,GAAG,CAAnB,GAAuBA,gBAAvB,GAA0CD,UAA7D;IACA,OAAOI,yBAAW,CAACC,MAAD,EAASC,UAAT,EAAqBC,WAArB,KAAoC;MACpD,IAAIC,OAAO,GAAG,CAAC,oBAAIC,OAAJ,EAAD,CAAd;MACA,IAAIC,KAAK,GAAK,CAAd;MACAJ,UAAU,CAACK,IAAX,CAAgBH,OAAO,CAAC,CAAD,CAAP,CAAYI,YAAZ,EAAhB;MACAP,MAAM,CAACQ,kBAAP,CAA0BN,WAA1B,EAAuCO,SAAvC,CACEV,mCACEE,UADF,EAEE;QACEK,IAAI,EAAGI,KAAD,IAAU;UACd,KAAK,MAAMC,MAAX,IAAqBR,OAArB,EAA8B;YAC5BQ,MAAM,CAACL,IAAP,CAAYI,KAAZ;UACD;;UACD,MAAME,CAAC,GAAGP,KAAK,GAAGV,UAAR,GAAqB,CAA/B;;UACA,IAAIiB,CAAC,IAAI,CAAL,IAAUA,CAAC,GAAGd,UAAJ,KAAmB,CAAjC,EAAoC;YAClCK,OAAO,CAACU,KAAR,GAAiBC,QAAjB;UACD;;UACD,IAAI,EAAET,KAAF,IAAWP,UAAU,KAAK,CAA9B,EAAiC;YAC/B,MAAMa,MAAM,GAAG,oBAAIP,OAAJ,EAAf;YACAD,OAAO,CAACY,IAAR,CAAaJ,MAAb;YACAV,UAAU,CAACK,IAAX,CAAgBK,MAAM,CAACJ,YAAP,EAAhB;UACD;QACF,CAdH;QAeEO,QAAQ,EAAE,MAAK;UACb,OAAOX,OAAO,CAACa,MAAR,GAAiB,CAAxB,EAA2B;YACzBb,OAAO,CAACU,KAAR,GAAiBC,QAAjB;UACD;;UACDb,UAAU,CAACa,QAAX;QACD,CApBH;QAqBEG,KAAK,EAAGC,GAAD,IAAQ;UACb,OAAOf,OAAO,CAACa,MAAR,GAAiB,CAAxB,EAA2B;YACzBb,OAAO,CAACU,KAAR,GAAiBI,KAAjB,CAAuBC,GAAvB;UACD;;UACDjB,UAAU,CAACgB,KAAX,CAAiBC,GAAjB;QACD;MA1BH,CAFF,EA8BE,MAAK;QACHf,OAAO,GAAG,IAAV;MACD,CAhCH,CADF;IAoCD,CAxCM,KAAP;EAyCD,CA3CD;AA4CD","names":["windowCount","windowSize","startWindowEvery","fa","startEvery","tsplus_module_2","source","subscriber","environment","windows","Subject","count","next","asObservable","provideEnvironment","subscribe","value","window","c","shift","complete","push","length","error","err"],"sourceRoot":"","sources":["../../../_src/Observable/api/windowCount.ts"],"sourcesContent":[null]}
@@ -4,70 +4,72 @@ import * as tsplus_module_3 from "@fncts/observable/Subject";
4
4
  import * as tsplus_module_4 from "@fncts/observable/Operator";
5
5
  import { popScheduler } from "@fncts/observable/internal/args";
6
6
  import { arrayRemove } from "@fncts/observable/internal/util";
7
- export function windowTime_(fa, windowTimeSpan, ...args) {
8
- const scheduler = popScheduler(args) ?? tsplus_module_1.asyncScheduler;
9
- const windowCreationInterval = args[0] ?? null;
10
- const maxWindowSize = args[1] || Infinity;
11
- return tsplus_module_4.operate_(fa, (source, subscriber) => {
12
- let windowRecords = [];
13
- let restartOnClose = false;
7
+ export function windowTime(windowTimeSpan, ...args) {
8
+ return fa => {
9
+ const scheduler = popScheduler(args) ?? tsplus_module_1.asyncScheduler;
10
+ const windowCreationInterval = args[0] ?? null;
11
+ const maxWindowSize = args[1] || Infinity;
12
+ return tsplus_module_4.operate_((source, subscriber, environment) => {
13
+ let windowRecords = [];
14
+ let restartOnClose = false;
14
15
 
15
- const closeWindow = record => {
16
- const {
17
- window,
18
- subs
19
- } = record;
20
- window.complete();
21
- subs.unsubscribe();
22
- arrayRemove(windowRecords, record);
23
- restartOnClose && startWindow();
24
- };
25
-
26
- const startWindow = () => {
27
- if (windowRecords) {
28
- const subs = new tsplus_module_2.Subscription();
29
- subscriber.add(subs);
30
- const window = new tsplus_module_3.Subject();
31
- const record = {
16
+ const closeWindow = record => {
17
+ const {
32
18
  window,
33
- subs,
34
- seen: 0
35
- };
36
- windowRecords.push(record);
37
- subscriber.next(window.asObservable());
38
- subs.add(scheduler.schedule(() => closeWindow(record), windowTimeSpan));
39
- }
40
- };
19
+ subs
20
+ } = record;
21
+ window.complete();
22
+ subs.unsubscribe();
23
+ arrayRemove(windowRecords, record);
24
+ restartOnClose && startWindow();
25
+ };
26
+
27
+ const startWindow = () => {
28
+ if (windowRecords) {
29
+ const subs = new tsplus_module_2.Subscription();
30
+ subscriber.add(subs);
31
+ const window = new tsplus_module_3.Subject();
32
+ const record = {
33
+ window,
34
+ subs,
35
+ seen: 0
36
+ };
37
+ windowRecords.push(record);
38
+ subscriber.next(window.asObservable());
39
+ subs.add(scheduler.schedule(() => closeWindow(record), windowTimeSpan));
40
+ }
41
+ };
41
42
 
42
- windowCreationInterval !== null && windowCreationInterval >= 0 ? subscriber.add(scheduler.schedule(function () {
43
+ windowCreationInterval !== null && windowCreationInterval >= 0 ? subscriber.add(scheduler.schedule(function () {
44
+ startWindow();
45
+ !this.closed && subscriber.add(this.schedule(null, windowCreationInterval));
46
+ }, windowCreationInterval)) : restartOnClose = true;
43
47
  startWindow();
44
- !this.closed && subscriber.add(this.schedule(null, windowCreationInterval));
45
- }, windowCreationInterval)) : restartOnClose = true;
46
- startWindow();
47
48
 
48
- const loop = cb => windowRecords.slice().forEach(cb);
49
+ const loop = cb => windowRecords.slice().forEach(cb);
49
50
 
50
- const terminate = cb => {
51
- loop(({
52
- window
53
- }) => cb(window));
54
- cb(subscriber);
55
- subscriber.unsubscribe();
56
- };
51
+ const terminate = cb => {
52
+ loop(({
53
+ window
54
+ }) => cb(window));
55
+ cb(subscriber);
56
+ subscriber.unsubscribe();
57
+ };
57
58
 
58
- source.subscribe(tsplus_module_4.operatorSubscriber(subscriber, {
59
- next: value => {
60
- loop(record => {
61
- record.window.next(value);
62
- maxWindowSize <= ++record.seen && closeWindow(record);
63
- });
64
- },
65
- error: err => terminate(consumer => consumer.error(err)),
66
- complete: () => terminate(consumer => consumer.complete())
67
- }));
68
- return () => {
69
- windowRecords = null;
70
- };
71
- });
59
+ source.provideEnvironment(environment).subscribe(tsplus_module_4.operatorSubscriber(subscriber, {
60
+ next: value => {
61
+ loop(record => {
62
+ record.window.next(value);
63
+ maxWindowSize <= ++record.seen && closeWindow(record);
64
+ });
65
+ },
66
+ error: err => terminate(consumer => consumer.error(err)),
67
+ complete: () => terminate(consumer => consumer.complete())
68
+ }));
69
+ return () => {
70
+ windowRecords = null;
71
+ };
72
+ })(fa);
73
+ };
72
74
  }
73
75
  //# sourceMappingURL=windowTime.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"windowTime.mjs","mappings":"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","names":["popScheduler","arrayRemove","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]}
1
+ {"version":3,"file":"windowTime.mjs","mappings":"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","names":["popScheduler","arrayRemove","windowTime","windowTimeSpan","args","fa","scheduler","tsplus_module_1","asyncScheduler","windowCreationInterval","maxWindowSize","Infinity","tsplus_module_4","source","subscriber","environment","windowRecords","restartOnClose","closeWindow","record","window","subs","complete","unsubscribe","startWindow","Subscription","add","Subject","seen","push","next","asObservable","schedule","closed","loop","cb","slice","forEach","terminate","provideEnvironment","subscribe","value","error","err","consumer"],"sourceRoot":"","sources":["../../../_src/Observable/api/windowTime.ts"],"sourcesContent":[null]}
@@ -6,72 +6,74 @@ import * as tsplus_module_5 from "@fncts/observable/internal/util";
6
6
  import * as tsplus_module_6 from "@fncts/observable/Operator";
7
7
  import { arrayRemove } from "@fncts/observable/internal/util";
8
8
  /**
9
- * @tsplus fluent fncts.observable.Observable windowToggle
9
+ * @tsplus pipeable fncts.observable.Observable windowToggle
10
10
  */
11
11
 
12
- export function windowToggle_(fa, openings, closingSelector) {
13
- return tsplus_module_6.operate_(fa, (source, subscriber) => {
14
- const windows = [];
12
+ export function windowToggle(openings, closingSelector) {
13
+ return fa => {
14
+ return tsplus_module_6.operate_((source, subscriber, environment) => {
15
+ const windows = [];
15
16
 
16
- const handleError = err => {
17
- while (0 < windows.length) {
18
- windows.shift().error(err);
19
- }
17
+ const handleError = err => {
18
+ while (0 < windows.length) {
19
+ windows.shift().error(err);
20
+ }
20
21
 
21
- subscriber.error(err);
22
- };
22
+ subscriber.error(err);
23
+ };
23
24
 
24
- tsplus_module_3.from(openings).subscribe(tsplus_module_6.operatorSubscriber(subscriber, {
25
- next: openValue => {
26
- const window = new tsplus_module_1.Subject();
27
- windows.push(window);
28
- const closingSubscription = new tsplus_module_2.Subscription();
25
+ tsplus_module_3.from(openings).provideEnvironment(environment).subscribe(tsplus_module_6.operatorSubscriber(subscriber, {
26
+ next: openValue => {
27
+ const window = new tsplus_module_1.Subject();
28
+ windows.push(window);
29
+ const closingSubscription = new tsplus_module_2.Subscription();
29
30
 
30
- const closeWindow = () => {
31
- arrayRemove(windows, window);
32
- window.complete();
33
- closingSubscription.unsubscribe();
34
- };
31
+ const closeWindow = () => {
32
+ arrayRemove(windows, window);
33
+ window.complete();
34
+ closingSubscription.unsubscribe();
35
+ };
35
36
 
36
- let closingNotifier;
37
+ let closingNotifier;
37
38
 
38
- try {
39
- closingNotifier = tsplus_module_3.from(closingSelector(openValue));
40
- } catch (err) {
41
- handleError(tsplus_module_4.halt(err));
42
- return;
43
- }
39
+ try {
40
+ closingNotifier = tsplus_module_3.from(closingSelector(openValue));
41
+ } catch (err) {
42
+ handleError(tsplus_module_4.halt(err));
43
+ return;
44
+ }
44
45
 
45
- subscriber.next(window.asObservable());
46
- closingSubscription.add(closingNotifier.subscribe(tsplus_module_6.operatorSubscriber(subscriber, {
47
- next: closeWindow,
48
- complete: tsplus_module_5.noop,
49
- error: closeWindow
50
- })));
51
- },
52
- complete: tsplus_module_5.noop
53
- }));
54
- source.subscribe(tsplus_module_6.operatorSubscriber(subscriber, {
55
- next: value => {
56
- const windowsCopy = windows.slice();
46
+ subscriber.next(window.asObservable());
47
+ closingSubscription.add(closingNotifier.provideEnvironment(environment).subscribe(tsplus_module_6.operatorSubscriber(subscriber, {
48
+ next: closeWindow,
49
+ complete: tsplus_module_5.noop,
50
+ error: closeWindow
51
+ })));
52
+ },
53
+ complete: tsplus_module_5.noop
54
+ }));
55
+ source.provideEnvironment(environment).subscribe(tsplus_module_6.operatorSubscriber(subscriber, {
56
+ next: value => {
57
+ const windowsCopy = windows.slice();
57
58
 
58
- for (const window of windowsCopy) {
59
- window.next(value);
59
+ for (const window of windowsCopy) {
60
+ window.next(value);
61
+ }
62
+ },
63
+ error: handleError,
64
+ complete: () => {
65
+ while (0 < windows.length) {
66
+ windows.shift().complete();
67
+ }
68
+
69
+ subscriber.complete();
60
70
  }
61
- },
62
- error: handleError,
63
- complete: () => {
71
+ }, () => {
64
72
  while (0 < windows.length) {
65
- windows.shift().complete();
73
+ windows.shift().unsubscribe();
66
74
  }
67
-
68
- subscriber.complete();
69
- }
70
- }, () => {
71
- while (0 < windows.length) {
72
- windows.shift().unsubscribe();
73
- }
74
- }));
75
- });
75
+ }));
76
+ })(fa);
77
+ };
76
78
  }
77
79
  //# sourceMappingURL=windowToggle.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"windowToggle.mjs","mappings":";;;;;;AAAA,SAASA,WAAT,QAA4B,iCAA5B;AAEA;;;;AAGA,OAAM,SAAUC,aAAV,CACJC,EADI,EAEJC,QAFI,EAGJC,eAHI,EAG2D;EAE/D,OAAOC,yBAASH,EAAT,EAAa,CAACI,MAAD,EAASC,UAAT,KAAuB;IACzC,MAAMC,OAAO,GAA2B,EAAxC;;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/BvB,WAAW,CAACQ,OAAD,EAAUU,MAAV,CAAX;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":["arrayRemove","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]}
1
+ {"version":3,"file":"windowToggle.mjs","mappings":";;;;;;AAAA,SAASA,WAAT,QAA4B,iCAA5B;AAEA;;;;AAGA,OAAM,SAAUC,YAAV,CACJC,QADI,EAEJC,eAFI,EAE2D;EAE/D,OAAiBC,EAAV,IAAoG;IACzG,OAAOC,yBAAW,CAACC,MAAD,EAASC,UAAT,EAAqBC,WAArB,KAAoC;MACpD,MAAMC,OAAO,GAA2B,EAAxC;;MACA,MAAMC,WAAW,GAAwBC,GAAD,IAAkB;QACxD,OAAO,IAAIF,OAAO,CAACG,MAAnB,EAA2B;UACzBH,OAAO,CAACI,KAAR,GAAiBC,KAAjB,CAAuBH,GAAvB;QACD;;QACDJ,UAAU,CAACO,KAAX,CAAiBH,GAAjB;MACD,CALD;;MAMAI,qBAAgBb,QAAhB,EACGc,kBADH,CACsBR,WADtB,EAEGS,SAFH,CAGIZ,mCAAmBE,UAAnB,EAA+B;QAC7BW,IAAI,EAAGC,SAAD,IAAc;UAClB,MAAMC,MAAM,GAAG,oBAAIC,OAAJ,EAAf;UACAZ,OAAO,CAACa,IAAR,CAAaF,MAAb;UACA,MAAMG,mBAAmB,GAAG,oBAAIC,YAAJ,EAA5B;;UACA,MAAMC,WAAW,GAAW,MAAK;YAC/BzB,WAAW,CAACS,OAAD,EAAUW,MAAV,CAAX;YACAA,MAAM,CAACM,QAAP;YACAH,mBAAmB,CAACI,WAApB;UACD,CAJD;;UAKA,IAAIC,eAAJ;;UACA,IAAI;YACFA,eAAe,GAAGb,qBAAgBZ,eAAe,CAACgB,SAAD,CAA/B,CAAlB;UACD,CAFD,CAEE,OAAOR,GAAP,EAAY;YACZD,WAAW,CAACmB,qBAAWlB,GAAX,CAAD,CAAX;YACA;UACD;;UACDJ,UAAU,CAACW,IAAX,CAAgBE,MAAM,CAACU,YAAP,EAAhB;UACAP,mBAAmB,CAACQ,GAApB,CACEH,eAAe,CAACZ,kBAAhB,CAAmCR,WAAnC,EAAgDS,SAAhD,CACEZ,mCAAmBE,UAAnB,EAA+B;YAC7BW,IAAI,EAAEO,WADuB;YAE7BC,QAAQ,kBAAEM,IAFmB;YAG7BlB,KAAK,EAAEW;UAHsB,CAA/B,CADF,CADF;QASD,CA3B4B;QA4B7BC,QAAQ,kBAAEM;MA5BmB,CAA/B,CAHJ;MAkCA1B,MAAM,CAACU,kBAAP,CAA0BR,WAA1B,EAAuCS,SAAvC,CACEZ,mCACEE,UADF,EAEE;QACEW,IAAI,EAAGe,KAAD,IAAU;UACd,MAAMC,WAAW,GAAGzB,OAAO,CAAC0B,KAAR,EAApB;;UACA,KAAK,MAAMf,MAAX,IAAqBc,WAArB,EAAkC;YAChCd,MAAM,CAACF,IAAP,CAAYe,KAAZ;UACD;QACF,CANH;QAOEnB,KAAK,EAAEJ,WAPT;QAQEgB,QAAQ,EAAE,MAAK;UACb,OAAO,IAAIjB,OAAO,CAACG,MAAnB,EAA2B;YACzBH,OAAO,CAACI,KAAR,GAAiBa,QAAjB;UACD;;UACDnB,UAAU,CAACmB,QAAX;QACD;MAbH,CAFF,EAiBE,MAAK;QACH,OAAO,IAAIjB,OAAO,CAACG,MAAnB,EAA2B;UACzBH,OAAO,CAACI,KAAR,GAAiBc,WAAjB;QACD;MACF,CArBH,CADF;IAyBD,CAnEM,KAAP;EAoED,CArED;AAsED","names":["arrayRemove","windowToggle","openings","closingSelector","fa","tsplus_module_6","source","subscriber","environment","windows","handleError","err","length","shift","error","tsplus_module_3","provideEnvironment","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]}
@@ -3,52 +3,54 @@ import * as tsplus_module_2 from "@fncts/observable/Observable/api";
3
3
  import * as tsplus_module_3 from "@fncts/base/data/Cause/api";
4
4
  import * as tsplus_module_4 from "@fncts/observable/Operator";
5
5
  /**
6
- * @tsplus fluent fncts.observable.Observable windowWhen
6
+ * @tsplus pipeable fncts.observable.Observable windowWhen
7
7
  */
8
8
 
9
- export function windowWhen_(fa, closingSelector) {
10
- return tsplus_module_4.operate_(fa, (source, subscriber) => {
11
- let window;
12
- let closingSubscriber;
9
+ export function windowWhen(closingSelector) {
10
+ return fa => {
11
+ return tsplus_module_4.operate_((source, subscriber, environment) => {
12
+ let window;
13
+ let closingSubscriber;
13
14
 
14
- const handleError = err => {
15
- window.error(err);
16
- subscriber.error(err);
17
- };
15
+ const handleError = err => {
16
+ window.error(err);
17
+ subscriber.error(err);
18
+ };
18
19
 
19
- const openWindow = () => {
20
- closingSubscriber?.unsubscribe();
21
- window?.complete();
22
- window = new tsplus_module_1.Subject();
23
- subscriber.next(window.asObservable());
24
- let closingNotifier;
20
+ const openWindow = () => {
21
+ closingSubscriber?.unsubscribe();
22
+ window?.complete();
23
+ window = new tsplus_module_1.Subject();
24
+ subscriber.next(window.asObservable());
25
+ let closingNotifier;
25
26
 
26
- try {
27
- closingNotifier = tsplus_module_2.from(closingSelector());
28
- } catch (err) {
29
- handleError(tsplus_module_3.halt(err));
30
- return;
31
- }
27
+ try {
28
+ closingNotifier = tsplus_module_2.from(closingSelector());
29
+ } catch (err) {
30
+ handleError(tsplus_module_3.halt(err));
31
+ return;
32
+ }
32
33
 
33
- closingNotifier.subscribe(closingSubscriber = tsplus_module_4.operatorSubscriber(subscriber, {
34
- next: openWindow,
35
- complete: openWindow,
36
- error: handleError
37
- }));
38
- };
34
+ closingNotifier.subscribe(closingSubscriber = tsplus_module_4.operatorSubscriber(subscriber, {
35
+ next: openWindow,
36
+ complete: openWindow,
37
+ error: handleError
38
+ }));
39
+ };
39
40
 
40
- openWindow();
41
- source.subscribe(tsplus_module_4.operatorSubscriber(subscriber, {
42
- next: value => window.next(value),
43
- error: handleError,
44
- complete: () => {
45
- window.complete();
46
- subscriber.complete();
47
- }
48
- }, () => {
49
- closingSubscriber?.unsubscribe();
50
- window = null;
51
- }));
52
- });
41
+ openWindow();
42
+ source.provideEnvironment(environment).subscribe(tsplus_module_4.operatorSubscriber(subscriber, {
43
+ next: value => window.next(value),
44
+ error: handleError,
45
+ complete: () => {
46
+ window.complete();
47
+ subscriber.complete();
48
+ }
49
+ }, () => {
50
+ closingSubscriber?.unsubscribe();
51
+ window = null;
52
+ }));
53
+ })(fa);
54
+ };
53
55
  }
54
56
  //# sourceMappingURL=windowWhen.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"windowWhen.mjs","mappings":";;;;AAAA;;;;AAGA,OAAM,SAAUA,WAAV,CACJC,EADI,EAEJC,eAFI,EAEqD;EAEzD,OAAOC,yBAASF,EAAT,EAAa,CAACG,MAAD,EAASC,UAAT,KAAuB;IACzC,IAAIC,MAAJ;IACA,IAAIC,iBAAJ;;IAEA,MAAMC,WAAW,GAAIC,GAAD,IAAkB;MACpCH,MAAO,CAACI,KAAR,CAAcD,GAAd;MACAJ,UAAU,CAACK,KAAX,CAAiBD,GAAjB;IACD,CAHD;;IAKA,MAAME,UAAU,GAAG,MAAK;MACtBJ,iBAAiB,EAAEK,WAAnB;MACAN,MAAM,EAAEO,QAAR;MACAP,MAAM,GAAG,oBAAIQ,OAAJ,EAAT;MACAT,UAAU,CAACU,IAAX,CAAgBT,MAAM,CAACU,YAAP,EAAhB;MACA,IAAIC,eAAJ;;MACA,IAAI;QACFA,eAAe,GAAGC,qBAAgBhB,eAAe,EAA/B,CAAlB;MACD,CAFD,CAEE,OAAOO,GAAP,EAAY;QACZD,WAAW,CAACW,qBAAWV,GAAX,CAAD,CAAX;QACA;MACD;;MAEDQ,eAAe,CAACG,SAAhB,CACGb,iBAAiB,GAAGJ,mCAAmBE,UAAnB,EAA+B;QAClDU,IAAI,EAAEJ,UAD4C;QAElDE,QAAQ,EAAEF,UAFwC;QAGlDD,KAAK,EAAEF;MAH2C,CAA/B,CADvB;IAOD,CApBD;;IAsBAG,UAAU;IAEVP,MAAM,CAACgB,SAAP,CACEjB,mCACEE,UADF,EAEE;MACEU,IAAI,EAAGM,KAAD,IAAWf,MAAO,CAACS,IAAR,CAAaM,KAAb,CADnB;MAEEX,KAAK,EAAEF,WAFT;MAGEK,QAAQ,EAAE,MAAK;QACbP,MAAO,CAACO,QAAR;QACAR,UAAU,CAACQ,QAAX;MACD;IANH,CAFF,EAUE,MAAK;MACHN,iBAAiB,EAAEK,WAAnB;MACAN,MAAM,GAAG,IAAT;IACD,CAbH,CADF;EAiBD,CAlDM,CAAP;AAmDD","names":["windowWhen_","fa","closingSelector","tsplus_module_4","source","subscriber","window","closingSubscriber","handleError","err","error","openWindow","unsubscribe","complete","Subject","next","asObservable","closingNotifier","tsplus_module_2","tsplus_module_3","subscribe","value"],"sourceRoot":"","sources":["../../../_src/Observable/api/windowWhen.ts"],"sourcesContent":[null]}
1
+ {"version":3,"file":"windowWhen.mjs","mappings":";;;;AAAA;;;;AAGA,OAAM,SAAUA,UAAV,CAAqBC,eAArB,EAA8E;EAClF,OAAiBC,EAAV,IAAgF;IACrF,OAAOC,yBAAW,CAACC,MAAD,EAASC,UAAT,EAAqBC,WAArB,KAAoC;MACpD,IAAIC,MAAJ;MACA,IAAIC,iBAAJ;;MACA,MAAMC,WAAW,GAAIC,GAAD,IAAkB;QACpCH,MAAO,CAACI,KAAR,CAAcD,GAAd;QACAL,UAAU,CAACM,KAAX,CAAiBD,GAAjB;MACD,CAHD;;MAIA,MAAME,UAAU,GAAG,MAAK;QACtBJ,iBAAiB,EAAEK,WAAnB;QACAN,MAAM,EAAEO,QAAR;QACAP,MAAM,GAAG,oBAAIQ,OAAJ,EAAT;QACAV,UAAU,CAACW,IAAX,CAAgBT,MAAM,CAACU,YAAP,EAAhB;QACA,IAAIC,eAAJ;;QACA,IAAI;UACFA,eAAe,GAAGC,qBAAgBlB,eAAe,EAA/B,CAAlB;QACD,CAFD,CAEE,OAAOS,GAAP,EAAY;UACZD,WAAW,CAACW,qBAAWV,GAAX,CAAD,CAAX;UACA;QACD;;QACDQ,eAAe,CAACG,SAAhB,CACGb,iBAAiB,GAAGL,mCAAmBE,UAAnB,EAA+B;UAClDW,IAAI,EAAEJ,UAD4C;UAElDE,QAAQ,EAAEF,UAFwC;UAGlDD,KAAK,EAAEF;QAH2C,CAA/B,CADvB;MAOD,CAnBD;;MAoBAG,UAAU;MACVR,MAAM,CAACkB,kBAAP,CAA0BhB,WAA1B,EAAuCe,SAAvC,CACElB,mCACEE,UADF,EAEE;QACEW,IAAI,EAAGO,KAAD,IAAWhB,MAAO,CAACS,IAAR,CAAaO,KAAb,CADnB;QAEEZ,KAAK,EAAEF,WAFT;QAGEK,QAAQ,EAAE,MAAK;UACbP,MAAO,CAACO,QAAR;UACAT,UAAU,CAACS,QAAX;QACD;MANH,CAFF,EAUE,MAAK;QACHN,iBAAiB,EAAEK,WAAnB;QACAN,MAAM,GAAG,IAAT;MACD,CAbH,CADF;IAiBD,CA7CM,KAAP;EA8CD,CA/CD;AAgDD","names":["windowWhen","closingSelector","fa","tsplus_module_4","source","subscriber","environment","window","closingSubscriber","handleError","err","error","openWindow","unsubscribe","complete","Subject","next","asObservable","closingNotifier","tsplus_module_2","tsplus_module_3","subscribe","provideEnvironment","value"],"sourceRoot":"","sources":["../../../_src/Observable/api/windowWhen.ts"],"sourcesContent":[null]}