@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
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.share_ = share_;
6
+ exports.share = share;
7
7
 
8
8
  var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/Subject"));
9
9
 
@@ -18,78 +18,80 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
18
18
  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; }
19
19
 
20
20
  /**
21
- * @tsplus fluent fncts.observable.Observable share
21
+ * @tsplus pipeable fncts.observable.Observable share
22
22
  */
23
- function share_(fa, options = {}) {
24
- const {
25
- connector = () => new tsplus_module_1.Subject(),
26
- resetOnDefect = true,
27
- resetOnComplete = true,
28
- resetOnRefCountZero = true
29
- } = options;
30
- let connection = null;
31
- let resetConnection = null;
32
- let subject = null;
33
- let refCount = 0;
34
- let hasCompleted = false;
35
- let hasErrored = false;
36
-
37
- const cancelReset = () => {
38
- resetConnection?.unsubscribe();
39
- resetConnection = null;
40
- };
41
-
42
- const reset = () => {
43
- cancelReset();
44
- connection = subject = null;
45
- hasCompleted = hasErrored = false;
46
- };
23
+ function share(options = {}) {
24
+ return fa => {
25
+ const {
26
+ connector = () => new tsplus_module_1.Subject(),
27
+ resetOnDefect = true,
28
+ resetOnComplete = true,
29
+ resetOnRefCountZero = true
30
+ } = options;
31
+ let connection = null;
32
+ let resetConnection = null;
33
+ let subject = null;
34
+ let refCount = 0;
35
+ let hasCompleted = false;
36
+ let hasErrored = false;
37
+
38
+ const cancelReset = () => {
39
+ resetConnection?.unsubscribe();
40
+ resetConnection = null;
41
+ };
42
+
43
+ const reset = () => {
44
+ cancelReset();
45
+ connection = subject = null;
46
+ hasCompleted = hasErrored = false;
47
+ };
47
48
 
48
- const resetAndUnsubscribe = () => {
49
- const conn = connection;
50
- reset();
51
- conn?.unsubscribe();
52
- };
49
+ const resetAndUnsubscribe = () => {
50
+ const conn = connection;
51
+ reset();
52
+ conn?.unsubscribe();
53
+ };
53
54
 
54
- return tsplus_module_4.operate_(fa, (source, subscriber) => {
55
- refCount++;
55
+ return tsplus_module_4.operate_((source, subscriber, environment) => {
56
+ refCount++;
56
57
 
57
- if (!hasErrored && !hasCompleted) {
58
- cancelReset();
59
- }
58
+ if (!hasErrored && !hasCompleted) {
59
+ cancelReset();
60
+ }
60
61
 
61
- const dest = subject || (subject = connector());
62
- subscriber.add(() => {
63
- refCount--;
62
+ const dest = subject || (subject = connector());
63
+ subscriber.add(() => {
64
+ refCount--;
64
65
 
65
- if (refCount === 0 && !hasErrored && !hasCompleted) {
66
- resetConnection = handleReset(resetAndUnsubscribe, resetOnRefCountZero);
67
- }
68
- });
69
- dest.subscribe(subscriber);
70
-
71
- if (!connection) {
72
- connection = new tsplus_module_2.SafeSubscriber({
73
- next: value => dest.next(value),
74
- error: defect => {
75
- hasErrored = true;
76
- cancelReset();
77
- resetConnection = handleReset(reset, resetOnDefect, defect);
78
- dest.error(defect);
79
- },
80
- complete: () => {
81
- hasCompleted = true;
82
- cancelReset();
83
- resetConnection = handleReset(reset, resetOnComplete);
84
- dest.complete();
66
+ if (refCount === 0 && !hasErrored && !hasCompleted) {
67
+ resetConnection = handleReset(resetAndUnsubscribe, resetOnRefCountZero, environment);
85
68
  }
86
69
  });
87
- tsplus_module_3.from(source).subscribe(connection);
88
- }
89
- });
70
+ dest.provideEnvironment(environment).subscribe(subscriber);
71
+
72
+ if (!connection) {
73
+ connection = new tsplus_module_2.SafeSubscriber({
74
+ next: value => dest.next(value),
75
+ error: defect => {
76
+ hasErrored = true;
77
+ cancelReset();
78
+ resetConnection = handleReset(reset, resetOnDefect, environment, defect);
79
+ dest.error(defect);
80
+ },
81
+ complete: () => {
82
+ hasCompleted = true;
83
+ cancelReset();
84
+ resetConnection = handleReset(reset, resetOnComplete, environment);
85
+ dest.complete();
86
+ }
87
+ });
88
+ tsplus_module_3.from(source).provideEnvironment(environment).subscribe(connection);
89
+ }
90
+ })(fa);
91
+ };
90
92
  }
91
93
 
92
- function handleReset(reset, on, ...args) {
94
+ function handleReset(reset, on, environment, ...args) {
93
95
  if (on === true) {
94
96
  reset();
95
97
  return null;
@@ -99,7 +101,7 @@ function handleReset(reset, on, ...args) {
99
101
  return null;
100
102
  }
101
103
 
102
- return tsplus_module_3.take_(on(...args), 1).subscribe({
104
+ return tsplus_module_3.take(1)(on(...args)).provideEnvironment(environment).subscribe({
103
105
  next: () => reset()
104
106
  });
105
107
  }
@@ -1 +1 @@
1
- {"version":3,"file":"share.cjs","mappings":";;;;;;;;;;;;;;;;;;;AAOA;;;AAGM,SAAUA,MAAV,CACJC,EADI,EAEJC,UAAwD,EAFpD,EAEsD;EAE1D,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;;AAED,SAASgB,WAAT,CACER,KADF,EAEEiB,EAFF,EAGE,GAAGC,IAHL,EAGY;EAEV,IAAID,EAAE,KAAK,IAAX,EAAiB;IACfjB,KAAK;IACL,OAAO,IAAP;EACD;;EAED,IAAIiB,EAAE,KAAK,KAAX,EAAkB;IAChB,OAAO,IAAP;EACD;;EAED,OAAOD,wBAAE,CAAC,GAAGE,IAAJ,CAAF,EACC,CADD,EAEJT,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","on","args"],"sourceRoot":"","sources":["../../../_src/Observable/api/share.ts"],"sourcesContent":[null]}
1
+ {"version":3,"file":"share.cjs","mappings":"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","names":["share","options","fa","connector","Subject","resetOnDefect","resetOnComplete","resetOnRefCountZero","connection","resetConnection","subject","refCount","hasCompleted","hasErrored","cancelReset","unsubscribe","reset","resetAndUnsubscribe","conn","tsplus_module_4","source","subscriber","environment","dest","add","handleReset","provideEnvironment","subscribe","SafeSubscriber","next","value","error","defect","complete","tsplus_module_3","on","args"],"sourceRoot":"","sources":["../../../_src/Observable/api/share.ts"],"sourcesContent":[null]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.window_ = window_;
6
+ exports.window = window;
7
7
 
8
8
  var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/Subject"));
9
9
 
@@ -16,38 +16,40 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
16
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
17
 
18
18
  /**
19
- * @tsplus fluent fncts.observable.Observable window
19
+ * @tsplus pipeable fncts.observable.Observable window
20
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
- });
21
+ function window(windowBoundaries) {
22
+ return fa => {
23
+ return tsplus_module_2.operate_((source, subscriber, environment) => {
24
+ let windowSubject = new tsplus_module_1.Subject();
25
+ subscriber.next(windowSubject.asObservable());
26
+
27
+ const errorHandler = err => {
28
+ windowSubject.error(err);
29
+ subscriber.error(err);
30
+ };
31
+
32
+ source.provideEnvironment(environment).subscribe(tsplus_module_2.operatorSubscriber(subscriber, {
33
+ next: value => windowSubject.next(value),
34
+ error: errorHandler,
35
+ complete: () => {
36
+ windowSubject.complete();
37
+ subscriber.complete();
38
+ }
39
+ }));
40
+ windowBoundaries.subscribe(tsplus_module_2.operatorSubscriber(subscriber, {
41
+ next: () => {
42
+ windowSubject.complete();
43
+ subscriber.next(windowSubject = new tsplus_module_1.Subject());
44
+ },
45
+ complete: tsplus_module_3.noop,
46
+ error: errorHandler
47
+ }));
48
+ return () => {
49
+ windowSubject.unsubscribe();
50
+ windowSubject = null;
51
+ };
52
+ })(fa);
53
+ };
52
54
  }
53
55
  //# sourceMappingURL=window.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"window.cjs","mappings":";;;;;;;;;;;;;;;;;AAAA;;;AAGM,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.cjs","mappings":";;;;;;;;;;;;;;;;;AAAA;;;AAGM,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]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.windowCount_ = windowCount_;
6
+ exports.windowCount = windowCount;
7
7
 
8
8
  var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/Subject"));
9
9
 
@@ -14,49 +14,51 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
14
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
15
 
16
16
  /**
17
- * @tsplus fluent fncts.observable.Observable windowCount
17
+ * @tsplus pipeable fncts.observable.Observable windowCount
18
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
- }
19
+ function windowCount(windowSize, startWindowEvery = 0) {
20
+ return fa => {
21
+ const startEvery = startWindowEvery > 0 ? startWindowEvery : windowSize;
22
+ return tsplus_module_2.operate_((source, subscriber, environment) => {
23
+ let windows = [new tsplus_module_1.Subject()];
24
+ let count = 0;
25
+ subscriber.next(windows[0].asObservable());
26
+ source.provideEnvironment(environment).subscribe(tsplus_module_2.operatorSubscriber(subscriber, {
27
+ next: value => {
28
+ for (const window of windows) {
29
+ window.next(value);
30
+ }
30
31
 
31
- const c = count - windowSize + 1;
32
+ const c = count - windowSize + 1;
32
33
 
33
- if (c >= 0 && c % startEvery === 0) {
34
- windows.shift().complete();
35
- }
34
+ if (c >= 0 && c % startEvery === 0) {
35
+ windows.shift().complete();
36
+ }
36
37
 
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
- }
38
+ if (++count && startEvery === 0) {
39
+ const window = new tsplus_module_1.Subject();
40
+ windows.push(window);
41
+ subscriber.next(window.asObservable());
42
+ }
43
+ },
44
+ complete: () => {
45
+ while (windows.length > 0) {
46
+ windows.shift().complete();
47
+ }
47
48
 
48
- subscriber.complete();
49
- },
50
- error: err => {
51
- while (windows.length > 0) {
52
- windows.shift().error(err);
53
- }
49
+ subscriber.complete();
50
+ },
51
+ error: err => {
52
+ while (windows.length > 0) {
53
+ windows.shift().error(err);
54
+ }
54
55
 
55
- subscriber.error(err);
56
- }
57
- }, () => {
58
- windows = null;
59
- }));
60
- });
56
+ subscriber.error(err);
57
+ }
58
+ }, () => {
59
+ windows = null;
60
+ }));
61
+ })(fa);
62
+ };
61
63
  }
62
64
  //# sourceMappingURL=windowCount.cjs.map
@@ -1 +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]}
1
+ {"version":3,"file":"windowCount.cjs","mappings":";;;;;;;;;;;;;;;AAAA;;;AAGM,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]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.windowTime_ = windowTime_;
6
+ exports.windowTime = windowTime;
7
7
 
8
8
  var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/AsyncScheduler"));
9
9
 
@@ -21,70 +21,72 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
21
21
 
22
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
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 = {
24
+ function windowTime(windowTimeSpan, ...args) {
25
+ return fa => {
26
+ const scheduler = (0, _args.popScheduler)(args) ?? tsplus_module_1.asyncScheduler;
27
+ const windowCreationInterval = args[0] ?? null;
28
+ const maxWindowSize = args[1] || Infinity;
29
+ return tsplus_module_4.operate_((source, subscriber, environment) => {
30
+ let windowRecords = [];
31
+ let restartOnClose = false;
32
+
33
+ const closeWindow = record => {
34
+ const {
49
35
  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 () {
36
+ subs
37
+ } = record;
38
+ window.complete();
39
+ subs.unsubscribe();
40
+ (0, _util.arrayRemove)(windowRecords, record);
41
+ restartOnClose && startWindow();
42
+ };
43
+
44
+ const startWindow = () => {
45
+ if (windowRecords) {
46
+ const subs = new tsplus_module_2.Subscription();
47
+ subscriber.add(subs);
48
+ const window = new tsplus_module_3.Subject();
49
+ const record = {
50
+ window,
51
+ subs,
52
+ seen: 0
53
+ };
54
+ windowRecords.push(record);
55
+ subscriber.next(window.asObservable());
56
+ subs.add(scheduler.schedule(() => closeWindow(record), windowTimeSpan));
57
+ }
58
+ };
59
+
60
+ windowCreationInterval !== null && windowCreationInterval >= 0 ? subscriber.add(scheduler.schedule(function () {
61
+ startWindow();
62
+ !this.closed && subscriber.add(this.schedule(null, windowCreationInterval));
63
+ }, windowCreationInterval)) : restartOnClose = true;
60
64
  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
- });
65
+
66
+ const loop = cb => windowRecords.slice().forEach(cb);
67
+
68
+ const terminate = cb => {
69
+ loop(({
70
+ window
71
+ }) => cb(window));
72
+ cb(subscriber);
73
+ subscriber.unsubscribe();
74
+ };
75
+
76
+ source.provideEnvironment(environment).subscribe(tsplus_module_4.operatorSubscriber(subscriber, {
77
+ next: value => {
78
+ loop(record => {
79
+ record.window.next(value);
80
+ maxWindowSize <= ++record.seen && closeWindow(record);
81
+ });
82
+ },
83
+ error: err => terminate(consumer => consumer.error(err)),
84
+ complete: () => terminate(consumer => consumer.complete())
85
+ }));
86
+ return () => {
87
+ windowRecords = null;
88
+ };
89
+ })(fa);
90
+ };
89
91
  }
90
92
  //# sourceMappingURL=windowTime.cjs.map
@@ -1 +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]}
1
+ {"version":3,"file":"windowTime.cjs","mappings":"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","names":["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]}