@fncts/observable 0.0.32 → 0.0.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. package/LICENSE +26 -0
  2. package/_cjs/Action.cjs +15 -16
  3. package/_cjs/Action.cjs.map +1 -1
  4. package/_cjs/AnimationFrameAction.cjs +30 -35
  5. package/_cjs/AnimationFrameAction.cjs.map +1 -1
  6. package/_cjs/AnimationFrameScheduler.cjs +30 -35
  7. package/_cjs/AnimationFrameScheduler.cjs.map +1 -1
  8. package/_cjs/AsyncAction.cjs +73 -93
  9. package/_cjs/AsyncAction.cjs.map +1 -1
  10. package/_cjs/AsyncScheduler.cjs +35 -41
  11. package/_cjs/AsyncScheduler.cjs.map +1 -1
  12. package/_cjs/BehaviorSubject.cjs +31 -38
  13. package/_cjs/BehaviorSubject.cjs.map +1 -1
  14. package/_cjs/Notification.cjs +65 -66
  15. package/_cjs/Notification.cjs.map +1 -1
  16. package/_cjs/Observable/api/connect.cjs +23 -25
  17. package/_cjs/Observable/api/connect.cjs.map +1 -1
  18. package/_cjs/Observable/api/connectable.cjs +46 -50
  19. package/_cjs/Observable/api/connectable.cjs.map +1 -1
  20. package/_cjs/Observable/api/fromCallback.cjs +44 -48
  21. package/_cjs/Observable/api/fromCallback.cjs.map +1 -1
  22. package/_cjs/Observable/api/fromEvent.cjs +15 -15
  23. package/_cjs/Observable/api/fromEvent.cjs.map +1 -1
  24. package/_cjs/Observable/api/index.cjs +32 -160
  25. package/_cjs/Observable/api/race.cjs +26 -30
  26. package/_cjs/Observable/api/race.cjs.map +1 -1
  27. package/_cjs/Observable/api/raceWith.cjs +14 -15
  28. package/_cjs/Observable/api/raceWith.cjs.map +1 -1
  29. package/_cjs/Observable/api/repeatWhen.cjs +54 -57
  30. package/_cjs/Observable/api/repeatWhen.cjs.map +1 -1
  31. package/_cjs/Observable/api/retryWhen.cjs +37 -41
  32. package/_cjs/Observable/api/retryWhen.cjs.map +1 -1
  33. package/_cjs/Observable/api/share.cjs +73 -83
  34. package/_cjs/Observable/api/share.cjs.map +1 -1
  35. package/_cjs/Observable/api/window.cjs +46 -43
  36. package/_cjs/Observable/api/window.cjs.map +1 -1
  37. package/_cjs/Observable/api/windowCount.cjs +45 -51
  38. package/_cjs/Observable/api/windowCount.cjs.map +1 -1
  39. package/_cjs/Observable/api/windowTime.cjs +73 -74
  40. package/_cjs/Observable/api/windowTime.cjs.map +1 -1
  41. package/_cjs/Observable/api/windowToggle.cjs +71 -74
  42. package/_cjs/Observable/api/windowToggle.cjs.map +1 -1
  43. package/_cjs/Observable/api/windowWhen.cjs +59 -55
  44. package/_cjs/Observable/api/windowWhen.cjs.map +1 -1
  45. package/_cjs/Observable/api.cjs +1858 -2034
  46. package/_cjs/Observable/api.cjs.map +1 -1
  47. package/_cjs/Observable/definition.cjs +107 -120
  48. package/_cjs/Observable/definition.cjs.map +1 -1
  49. package/_cjs/Observable/dom/animationFrames.cjs +30 -33
  50. package/_cjs/Observable/dom/animationFrames.cjs.map +1 -1
  51. package/_cjs/Observable/instances.cjs +0 -2
  52. package/_cjs/Observable.cjs +180 -215
  53. package/_cjs/ObservableRef/api.cjs +188 -189
  54. package/_cjs/ObservableRef/api.cjs.map +1 -1
  55. package/_cjs/ObservableRef/atomic.cjs +25 -25
  56. package/_cjs/ObservableRef/atomic.cjs.map +1 -1
  57. package/_cjs/ObservableRef/definition.cjs +32 -33
  58. package/_cjs/ObservableRef/definition.cjs.map +1 -1
  59. package/_cjs/ObservableRef.cjs +17 -39
  60. package/_cjs/Observer.cjs +0 -2
  61. package/_cjs/Operator.cjs +58 -62
  62. package/_cjs/Operator.cjs.map +1 -1
  63. package/_cjs/Scheduler.cjs +38 -37
  64. package/_cjs/Scheduler.cjs.map +1 -1
  65. package/_cjs/Subject.cjs +163 -201
  66. package/_cjs/Subject.cjs.map +1 -1
  67. package/_cjs/Subscriber.cjs +151 -170
  68. package/_cjs/Subscriber.cjs.map +1 -1
  69. package/_cjs/Subscription.cjs +98 -122
  70. package/_cjs/Subscription.cjs.map +1 -1
  71. package/_cjs/chunk.cjs +28 -0
  72. package/_cjs/config.cjs +11 -12
  73. package/_cjs/config.cjs.map +1 -1
  74. package/_cjs/global.cjs +0 -2
  75. package/_cjs/index.cjs +112 -36
  76. package/_cjs/internal/animationFrameProvider.cjs +32 -38
  77. package/_cjs/internal/animationFrameProvider.cjs.map +1 -1
  78. package/_cjs/internal/args.cjs +12 -12
  79. package/_cjs/internal/args.cjs.map +1 -1
  80. package/_cjs/internal/intervalProvider.cjs +15 -22
  81. package/_cjs/internal/intervalProvider.cjs.map +1 -1
  82. package/_cjs/internal/performanceTimestampProvider.cjs +10 -11
  83. package/_cjs/internal/performanceTimestampProvider.cjs.map +1 -1
  84. package/_cjs/internal/timeoutProvider.cjs +15 -22
  85. package/_cjs/internal/timeoutProvider.cjs.map +1 -1
  86. package/_cjs/internal/timestampProvider.cjs +10 -11
  87. package/_cjs/internal/timestampProvider.cjs.map +1 -1
  88. package/_cjs/internal/util.cjs +60 -68
  89. package/_cjs/internal/util.cjs.map +1 -1
  90. package/_mjs/Action.mjs +12 -8
  91. package/_mjs/Action.mjs.map +1 -1
  92. package/_mjs/AnimationFrameAction.mjs +25 -26
  93. package/_mjs/AnimationFrameAction.mjs.map +1 -1
  94. package/_mjs/AnimationFrameScheduler.mjs +25 -27
  95. package/_mjs/AnimationFrameScheduler.mjs.map +1 -1
  96. package/_mjs/AsyncAction.mjs +69 -84
  97. package/_mjs/AsyncAction.mjs.map +1 -1
  98. package/_mjs/AsyncScheduler.mjs +31 -33
  99. package/_mjs/AsyncScheduler.mjs.map +1 -1
  100. package/_mjs/BehaviorSubject.mjs +28 -30
  101. package/_mjs/BehaviorSubject.mjs.map +1 -1
  102. package/_mjs/Notification.mjs +57 -56
  103. package/_mjs/Notification.mjs.map +1 -1
  104. package/_mjs/Observable/api/connect.mjs +17 -17
  105. package/_mjs/Observable/api/connect.mjs.map +1 -1
  106. package/_mjs/Observable/api/connectable.mjs +39 -40
  107. package/_mjs/Observable/api/connectable.mjs.map +1 -1
  108. package/_mjs/Observable/api/fromCallback.mjs +40 -41
  109. package/_mjs/Observable/api/fromCallback.mjs.map +1 -1
  110. package/_mjs/Observable/api/fromEvent.mjs +12 -8
  111. package/_mjs/Observable/api/fromEvent.mjs.map +1 -1
  112. package/_mjs/Observable/api/index.mjs +15 -15
  113. package/_mjs/Observable/api/race.mjs +20 -22
  114. package/_mjs/Observable/api/race.mjs.map +1 -1
  115. package/_mjs/Observable/api/raceWith.mjs +11 -8
  116. package/_mjs/Observable/api/raceWith.mjs.map +1 -1
  117. package/_mjs/Observable/api/repeatWhen.mjs +48 -49
  118. package/_mjs/Observable/api/repeatWhen.mjs.map +1 -1
  119. package/_mjs/Observable/api/retryWhen.mjs +31 -33
  120. package/_mjs/Observable/api/retryWhen.mjs.map +1 -1
  121. package/_mjs/Observable/api/share.mjs +65 -74
  122. package/_mjs/Observable/api/share.mjs.map +1 -1
  123. package/_mjs/Observable/api/window.mjs +38 -34
  124. package/_mjs/Observable/api/window.mjs.map +1 -1
  125. package/_mjs/Observable/api/windowCount.mjs +39 -43
  126. package/_mjs/Observable/api/windowCount.mjs.map +1 -1
  127. package/_mjs/Observable/api/windowTime.mjs +63 -64
  128. package/_mjs/Observable/api/windowTime.mjs.map +1 -1
  129. package/_mjs/Observable/api/windowToggle.mjs +58 -62
  130. package/_mjs/Observable/api/windowToggle.mjs.map +1 -1
  131. package/_mjs/Observable/api/windowWhen.mjs +50 -46
  132. package/_mjs/Observable/api/windowWhen.mjs.map +1 -1
  133. package/_mjs/Observable/api.mjs +1822 -2031
  134. package/_mjs/Observable/api.mjs.map +1 -1
  135. package/_mjs/Observable/definition.mjs +94 -108
  136. package/_mjs/Observable/definition.mjs.map +1 -1
  137. package/_mjs/Observable/dom/animationFrames.mjs +23 -23
  138. package/_mjs/Observable/dom/animationFrames.mjs.map +1 -1
  139. package/_mjs/Observable/instances.mjs +0 -2
  140. package/_mjs/Observable.mjs +20 -25
  141. package/_mjs/ObservableRef/api.mjs +180 -177
  142. package/_mjs/ObservableRef/api.mjs.map +1 -1
  143. package/_mjs/ObservableRef/atomic.mjs +21 -17
  144. package/_mjs/ObservableRef/atomic.mjs.map +1 -1
  145. package/_mjs/ObservableRef/definition.mjs +29 -25
  146. package/_mjs/ObservableRef/definition.mjs.map +1 -1
  147. package/_mjs/ObservableRef.mjs +4 -5
  148. package/_mjs/Observer.mjs +0 -2
  149. package/_mjs/Operator.mjs +50 -51
  150. package/_mjs/Operator.mjs.map +1 -1
  151. package/_mjs/Scheduler.mjs +30 -26
  152. package/_mjs/Scheduler.mjs.map +1 -1
  153. package/_mjs/Subject.mjs +154 -190
  154. package/_mjs/Subject.mjs.map +1 -1
  155. package/_mjs/Subscriber.mjs +136 -156
  156. package/_mjs/Subscriber.mjs.map +1 -1
  157. package/_mjs/Subscription.mjs +90 -112
  158. package/_mjs/Subscription.mjs.map +1 -1
  159. package/_mjs/config.mjs +10 -6
  160. package/_mjs/config.mjs.map +1 -1
  161. package/_mjs/global.mjs +0 -2
  162. package/_mjs/index.mjs +14 -15
  163. package/_mjs/internal/animationFrameProvider.mjs +28 -30
  164. package/_mjs/internal/animationFrameProvider.mjs.map +1 -1
  165. package/_mjs/internal/args.mjs +9 -5
  166. package/_mjs/internal/args.mjs.map +1 -1
  167. package/_mjs/internal/intervalProvider.mjs +14 -16
  168. package/_mjs/internal/intervalProvider.mjs.map +1 -1
  169. package/_mjs/internal/performanceTimestampProvider.mjs +9 -5
  170. package/_mjs/internal/performanceTimestampProvider.mjs.map +1 -1
  171. package/_mjs/internal/timeoutProvider.mjs +14 -16
  172. package/_mjs/internal/timeoutProvider.mjs.map +1 -1
  173. package/_mjs/internal/timestampProvider.mjs +9 -5
  174. package/_mjs/internal/timestampProvider.mjs.map +1 -1
  175. package/_mjs/internal/util.mjs +54 -59
  176. package/_mjs/internal/util.mjs.map +1 -1
  177. package/_src/Observable/api.ts +1 -1
  178. package/package.json +6 -2
  179. package/_cjs/Observable/api/index.cjs.map +0 -1
  180. package/_cjs/Observable/instances.cjs.map +0 -1
  181. package/_cjs/Observable.cjs.map +0 -1
  182. package/_cjs/ObservableRef.cjs.map +0 -1
  183. package/_cjs/Observer.cjs.map +0 -1
  184. package/_cjs/global.cjs.map +0 -1
  185. package/_cjs/index.cjs.map +0 -1
  186. package/_mjs/Observable/api/index.mjs.map +0 -1
  187. package/_mjs/Observable/instances.mjs.map +0 -1
  188. package/_mjs/Observable.mjs.map +0 -1
  189. package/_mjs/ObservableRef.mjs.map +0 -1
  190. package/_mjs/Observer.mjs.map +0 -1
  191. package/_mjs/global.mjs.map +0 -1
  192. package/_mjs/index.mjs.map +0 -1
@@ -1,89 +1,79 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.share = share;
7
- var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/observable/Subject"));
8
- var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/observable/Observable"));
9
- var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/observable/Subscriber"));
10
- var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/observable/Observable/api"));
11
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_chunk = require("../../chunk.cjs");
3
+ let _fncts_observable_Observable = require("@fncts/observable/Observable");
4
+ _fncts_observable_Observable = require_chunk.__toESM(_fncts_observable_Observable, 1);
5
+ let _fncts_observable_Subject = require("@fncts/observable/Subject");
6
+ _fncts_observable_Subject = require_chunk.__toESM(_fncts_observable_Subject, 1);
7
+ let _fncts_observable_Subscriber = require("@fncts/observable/Subscriber");
8
+ _fncts_observable_Subscriber = require_chunk.__toESM(_fncts_observable_Subscriber, 1);
9
+ let _fncts_observable_Observable_api = require("@fncts/observable/Observable/api");
10
+ _fncts_observable_Observable_api = require_chunk.__toESM(_fncts_observable_Observable_api, 1);
11
+ //#region build/esm/Observable/api/share.js
12
12
  /**
13
- * @tsplus pipeable fncts.observable.Observable share
14
- */
13
+ * @tsplus pipeable fncts.observable.Observable share
14
+ */
15
15
  function share(options = {}) {
16
- return fa => {
17
- const {
18
- connector = () => new tsplus_module_1.Subject(),
19
- resetOnDefect = true,
20
- resetOnComplete = true,
21
- resetOnRefCountZero = true
22
- } = options;
23
- let connection = null;
24
- let resetConnection = null;
25
- let subject = null;
26
- let refCount = 0;
27
- let hasCompleted = false;
28
- let hasErrored = false;
29
- const cancelReset = () => {
30
- resetConnection?.unsubscribe();
31
- resetConnection = null;
32
- };
33
- const reset = () => {
34
- cancelReset();
35
- connection = subject = null;
36
- hasCompleted = hasErrored = false;
37
- };
38
- const resetAndUnsubscribe = () => {
39
- const conn = connection;
40
- reset();
41
- conn?.unsubscribe();
42
- };
43
- return new tsplus_module_2.Observable((subscriber, environment) => {
44
- refCount++;
45
- if (!hasErrored && !hasCompleted) {
46
- cancelReset();
47
- }
48
- const dest = subject ||= connector();
49
- subscriber.add(() => {
50
- refCount--;
51
- if (refCount === 0 && !hasErrored && !hasCompleted) {
52
- resetConnection = handleReset(resetAndUnsubscribe, resetOnRefCountZero, environment);
53
- }
54
- });
55
- dest.provideEnvironment(environment).subscribe(subscriber);
56
- if (!connection) {
57
- connection = new tsplus_module_3.Subscriber({
58
- next: value => dest.next(value),
59
- error: defect => {
60
- hasErrored = true;
61
- cancelReset();
62
- resetConnection = handleReset(reset, resetOnDefect, environment, defect);
63
- dest.error(defect);
64
- },
65
- complete: () => {
66
- hasCompleted = true;
67
- cancelReset();
68
- resetConnection = handleReset(reset, resetOnComplete, environment);
69
- dest.complete();
70
- }
71
- });
72
- tsplus_module_4.from(fa).provideEnvironment(environment).subscribe(connection);
73
- }
74
- });
75
- };
16
+ return (fa) => {
17
+ const { connector = () => new _fncts_observable_Subject.Subject(), resetOnDefect = true, resetOnComplete = true, resetOnRefCountZero = true } = options;
18
+ let connection = null;
19
+ let resetConnection = null;
20
+ let subject = null;
21
+ let refCount = 0;
22
+ let hasCompleted = false;
23
+ let hasErrored = false;
24
+ const cancelReset = () => {
25
+ resetConnection?.unsubscribe();
26
+ resetConnection = null;
27
+ };
28
+ const reset = () => {
29
+ cancelReset();
30
+ connection = subject = null;
31
+ hasCompleted = hasErrored = false;
32
+ };
33
+ const resetAndUnsubscribe = () => {
34
+ const conn = connection;
35
+ reset();
36
+ conn?.unsubscribe();
37
+ };
38
+ return new _fncts_observable_Observable.Observable((subscriber, environment) => {
39
+ refCount++;
40
+ if (!hasErrored && !hasCompleted) cancelReset();
41
+ const dest = subject ||= connector();
42
+ subscriber.add(() => {
43
+ refCount--;
44
+ if (refCount === 0 && !hasErrored && !hasCompleted) resetConnection = handleReset(resetAndUnsubscribe, resetOnRefCountZero, environment);
45
+ });
46
+ dest.provideEnvironment(environment).subscribe(subscriber);
47
+ if (!connection) {
48
+ connection = new _fncts_observable_Subscriber.Subscriber({
49
+ next: (value) => dest.next(value),
50
+ error: (defect) => {
51
+ hasErrored = true;
52
+ cancelReset();
53
+ resetConnection = handleReset(reset, resetOnDefect, environment, defect);
54
+ dest.error(defect);
55
+ },
56
+ complete: () => {
57
+ hasCompleted = true;
58
+ cancelReset();
59
+ resetConnection = handleReset(reset, resetOnComplete, environment);
60
+ dest.complete();
61
+ }
62
+ });
63
+ _fncts_observable_Observable_api.from(fa).provideEnvironment(environment).subscribe(connection);
64
+ }
65
+ });
66
+ };
76
67
  }
77
68
  function handleReset(reset, on, environment, ...args) {
78
- if (on === true) {
79
- reset();
80
- return null;
81
- }
82
- if (on === false) {
83
- return null;
84
- }
85
- return tsplus_module_4.take(1)(on(...args)).provideEnvironment(environment).subscribe({
86
- next: () => reset()
87
- });
69
+ if (on === true) {
70
+ reset();
71
+ return null;
72
+ }
73
+ if (on === false) return null;
74
+ return _fncts_observable_Observable_api.take(1)(on(...args)).provideEnvironment(environment).subscribe({ next: () => reset() });
88
75
  }
76
+ //#endregion
77
+ exports.share = share;
78
+
89
79
  //# sourceMappingURL=share.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"share.cjs","names":["share","options","fa","connector","tsplus_module_1","Subject","resetOnDefect","resetOnComplete","resetOnRefCountZero","connection","resetConnection","subject","refCount","hasCompleted","hasErrored","cancelReset","unsubscribe","reset","resetAndUnsubscribe","conn","tsplus_module_2","Observable","subscriber","environment","dest","add","handleReset","provideEnvironment","subscribe","tsplus_module_3","Subscriber","next","value","error","defect","complete","tsplus_module_4","from","on","args","take"],"sources":["../../../_src/Observable/api/share.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"share.cjs","names":["tsplus_module_1","tsplus_module_2","tsplus_module_3","tsplus_module_4"],"sources":["../../../esm/Observable/api/share.js"],"sourcesContent":["import * as tsplus_module_1 from \"@fncts/observable/Subject\";\nimport * as tsplus_module_2 from \"@fncts/observable/Observable\";\nimport * as tsplus_module_3 from \"@fncts/observable/Subscriber\";\nimport * as tsplus_module_4 from \"@fncts/observable/Observable/api\";\n/**\n * @tsplus pipeable fncts.observable.Observable share\n */\nexport function share(options = {}) {\n return (fa) => {\n const { connector = () => new tsplus_module_1.Subject(), resetOnDefect = true, resetOnComplete = true, resetOnRefCountZero = true, } = options;\n let connection = null;\n let resetConnection = null;\n let subject = null;\n let refCount = 0;\n let hasCompleted = false;\n let hasErrored = false;\n const cancelReset = () => {\n resetConnection?.unsubscribe();\n resetConnection = null;\n };\n const reset = () => {\n cancelReset();\n connection = subject = null;\n hasCompleted = hasErrored = false;\n };\n const resetAndUnsubscribe = () => {\n const conn = connection;\n reset();\n conn?.unsubscribe();\n };\n return new tsplus_module_2.Observable((subscriber, environment) => {\n refCount++;\n if (!hasErrored && !hasCompleted) {\n cancelReset();\n }\n const dest = (subject ||= connector());\n subscriber.add(() => {\n refCount--;\n if (refCount === 0 && !hasErrored && !hasCompleted) {\n resetConnection = handleReset(resetAndUnsubscribe, resetOnRefCountZero, environment);\n }\n });\n dest.provideEnvironment(environment).subscribe(subscriber);\n if (!connection) {\n connection = new tsplus_module_3.Subscriber({\n next: (value) => dest.next(value),\n error: (defect) => {\n hasErrored = true;\n cancelReset();\n resetConnection = handleReset(reset, resetOnDefect, environment, defect);\n dest.error(defect);\n },\n complete: () => {\n hasCompleted = true;\n cancelReset();\n resetConnection = handleReset(reset, resetOnComplete, environment);\n dest.complete();\n },\n });\n tsplus_module_4.from(fa).provideEnvironment(environment).subscribe(connection);\n }\n });\n };\n}\nfunction handleReset(reset, on, environment, ...args) {\n if (on === true) {\n reset();\n return null;\n }\n if (on === false) {\n return null;\n }\n return tsplus_module_4.take(1)(on(...args))\n .provideEnvironment(environment)\n .subscribe({ next: () => reset() });\n}\n//# sourceMappingURL=share.js.map"],"mappings":";;;;;;;;;;;;;;AAOA,SAAgB,MAAM,UAAU,EAAE,EAAE;AAChC,SAAQ,OAAO;EACX,MAAM,EAAE,kBAAkB,IAAIA,0BAAgB,SAAS,EAAE,gBAAgB,MAAM,kBAAkB,MAAM,sBAAsB,SAAU;EACvI,IAAI,aAAa;EACjB,IAAI,kBAAkB;EACtB,IAAI,UAAU;EACd,IAAI,WAAW;EACf,IAAI,eAAe;EACnB,IAAI,aAAa;EACjB,MAAM,oBAAoB;AACtB,oBAAiB,aAAa;AAC9B,qBAAkB;;EAEtB,MAAM,cAAc;AAChB,gBAAa;AACb,gBAAa,UAAU;AACvB,kBAAe,aAAa;;EAEhC,MAAM,4BAA4B;GAC9B,MAAM,OAAO;AACb,UAAO;AACP,SAAM,aAAa;;AAEvB,SAAO,IAAIC,6BAAgB,YAAY,YAAY,gBAAgB;AAC/D;AACA,OAAI,CAAC,cAAc,CAAC,aAChB,cAAa;GAEjB,MAAM,OAAQ,YAAY,WAAW;AACrC,cAAW,UAAU;AACjB;AACA,QAAI,aAAa,KAAK,CAAC,cAAc,CAAC,aAClC,mBAAkB,YAAY,qBAAqB,qBAAqB,YAAY;KAE1F;AACF,QAAK,mBAAmB,YAAY,CAAC,UAAU,WAAW;AAC1D,OAAI,CAAC,YAAY;AACb,iBAAa,IAAIC,6BAAgB,WAAW;KACxC,OAAO,UAAU,KAAK,KAAK,MAAM;KACjC,QAAQ,WAAW;AACf,mBAAa;AACb,mBAAa;AACb,wBAAkB,YAAY,OAAO,eAAe,aAAa,OAAO;AACxE,WAAK,MAAM,OAAO;;KAEtB,gBAAgB;AACZ,qBAAe;AACf,mBAAa;AACb,wBAAkB,YAAY,OAAO,iBAAiB,YAAY;AAClE,WAAK,UAAU;;KAEtB,CAAC;AACF,qCAAgB,KAAK,GAAG,CAAC,mBAAmB,YAAY,CAAC,UAAU,WAAW;;IAEpF;;;AAGV,SAAS,YAAY,OAAO,IAAI,aAAa,GAAG,MAAM;AAClD,KAAI,OAAO,MAAM;AACb,SAAO;AACP,SAAO;;AAEX,KAAI,OAAO,MACP,QAAO;AAEX,QAAOC,iCAAgB,KAAK,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,CACtC,mBAAmB,YAAY,CAC/B,UAAU,EAAE,YAAY,OAAO,EAAE,CAAC"}
@@ -1,47 +1,50 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.window = window;
7
- var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/observable/Observable"));
8
- var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/observable/Subject"));
9
- var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/observable/Operator"));
10
- var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/observable/internal/util"));
11
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_chunk = require("../../chunk.cjs");
3
+ let _fncts_observable_Observable = require("@fncts/observable/Observable");
4
+ _fncts_observable_Observable = require_chunk.__toESM(_fncts_observable_Observable, 1);
5
+ let _fncts_observable_Operator = require("@fncts/observable/Operator");
6
+ _fncts_observable_Operator = require_chunk.__toESM(_fncts_observable_Operator, 1);
7
+ let _fncts_observable_Subject = require("@fncts/observable/Subject");
8
+ _fncts_observable_Subject = require_chunk.__toESM(_fncts_observable_Subject, 1);
9
+ let _fncts_observable_internal_util = require("@fncts/observable/internal/util");
10
+ _fncts_observable_internal_util = require_chunk.__toESM(_fncts_observable_internal_util, 1);
11
+ //#region build/esm/Observable/api/window.js
12
12
  /**
13
- * @tsplus pipeable fncts.observable.Observable window
14
- */
13
+ * @tsplus pipeable fncts.observable.Observable window
14
+ */
15
15
  function window(windowBoundaries) {
16
- return fa => {
17
- return new tsplus_module_1.Observable((subscriber, environment) => {
18
- let windowSubject = new tsplus_module_2.Subject();
19
- subscriber.next(windowSubject.asObservable());
20
- const errorHandler = err => {
21
- windowSubject.error(err);
22
- subscriber.error(err);
23
- };
24
- fa.provideEnvironment(environment).subscribe(tsplus_module_3.operate_({
25
- next: value => windowSubject.next(value),
26
- error: errorHandler,
27
- complete: () => {
28
- windowSubject.complete();
29
- subscriber.complete();
30
- }
31
- })(subscriber));
32
- windowBoundaries.subscribe(tsplus_module_3.operatorSubscriber(subscriber, {
33
- next: () => {
34
- windowSubject.complete();
35
- subscriber.next(windowSubject = new tsplus_module_2.Subject());
36
- },
37
- complete: tsplus_module_4.noop,
38
- error: errorHandler
39
- }));
40
- return () => {
41
- windowSubject.unsubscribe();
42
- windowSubject = null;
43
- };
44
- });
45
- };
16
+ return (fa) => {
17
+ return new _fncts_observable_Observable.Observable((subscriber, environment) => {
18
+ let windowSubject = new _fncts_observable_Subject.Subject();
19
+ subscriber.next(windowSubject.asObservable());
20
+ const errorHandler = (err) => {
21
+ windowSubject.error(err);
22
+ subscriber.error(err);
23
+ };
24
+ fa.provideEnvironment(environment).subscribe(_fncts_observable_Operator.operate_({
25
+ next: (value) => windowSubject.next(value),
26
+ error: errorHandler,
27
+ complete: () => {
28
+ windowSubject.complete();
29
+ subscriber.complete();
30
+ }
31
+ })(subscriber));
32
+ windowBoundaries.subscribe(_fncts_observable_Operator.operatorSubscriber(subscriber, {
33
+ next: () => {
34
+ windowSubject.complete();
35
+ subscriber.next(windowSubject = new _fncts_observable_Subject.Subject());
36
+ },
37
+ complete: _fncts_observable_internal_util.noop,
38
+ error: errorHandler
39
+ }));
40
+ return () => {
41
+ windowSubject.unsubscribe();
42
+ windowSubject = null;
43
+ };
44
+ });
45
+ };
46
46
  }
47
+ //#endregion
48
+ exports.window = window;
49
+
47
50
  //# sourceMappingURL=window.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"window.cjs","names":["window","windowBoundaries","fa","tsplus_module_1","Observable","subscriber","environment","windowSubject","tsplus_module_2","Subject","next","asObservable","errorHandler","err","error","provideEnvironment","subscribe","tsplus_module_3","operate_","value","complete","operatorSubscriber","tsplus_module_4","noop","unsubscribe"],"sources":["../../../_src/Observable/api/window.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;AAAA;;;AAGM,SAAUA,MAAMA,CAACC,gBAA+C;EACpE,OAAiBC,EAAuB,IAA+C;IACrF,OAAO,IAAAC,eAAA,CAAIC,UAAU,CAAC,CAACC,UAAU,EAAEC,WAAW,KAAI;MAChD,IAAIC,aAAa,GAAyB,IAAAC,eAAA,CAAIC,OAAO,EAAE;MACvDJ,UAAU,CAACK,IAAI,CAACH,aAAa,CAACI,YAAY,EAAE,CAAC;MAC7C,MAAMC,YAAY,GAAIC,GAAa,IAAI;QACrCN,aAAa,CAACO,KAAK,CAACD,GAAG,CAAC;QACxBR,UAAU,CAACS,KAAK,CAACD,GAAG,CAAC;MACvB,CAAC;MACDX,EAAE,CAACa,kBAAkB,CAACT,WAAW,CAAC,CAACU,SAAS,CAC1CC,eAAA,CAAAC,QAAA,CAAmB;QACjBR,IAAI,EAAGS,KAAK,IAAKZ,aAAa,CAACG,IAAI,CAACS,KAAK,CAAC;QAC1CL,KAAK,EAAEF,YAAY;QACnBQ,QAAQ,EAAEA,CAAA,KAAK;UACbb,aAAa,CAACa,QAAQ,EAAE;UACxBf,UAAU,CAACe,QAAQ,EAAE;QACvB;OACD,EAPDf,UAAU,CAOR,CACH;MACDJ,gBAAgB,CAACe,SAAS,CACxBC,eAAA,CAAAI,kBAAkB,CAAChB,UAAU,EAAE;QAC7BK,IAAI,EAAEA,CAAA,KAAK;UACTH,aAAa,CAACa,QAAQ,EAAE;UACxBf,UAAU,CAACK,IAAI,CAAEH,aAAa,GAAG,IAAAC,eAAA,CAAIC,OAAO,EAAG,CAAC;QAClD,CAAC;QACDW,QAAQ,EAAAE,eAAA,CAAEC,IAAI;QACdT,KAAK,EAAEF;OACR,CAAC,CACH;MACD,OAAO,MAAK;QACVL,aAAa,CAACiB,WAAW,EAAE;QAC3BjB,aAAa,GAAG,IAAK;MACvB,CAAC;IACH,CAAC,CAAC;EACJ,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"file":"window.cjs","names":["tsplus_module_1","tsplus_module_2","tsplus_module_3","tsplus_module_4"],"sources":["../../../esm/Observable/api/window.js"],"sourcesContent":["import * as tsplus_module_1 from \"@fncts/observable/Observable\";\nimport * as tsplus_module_2 from \"@fncts/observable/Subject\";\nimport * as tsplus_module_3 from \"@fncts/observable/Operator\";\nimport * as tsplus_module_4 from \"@fncts/observable/internal/util\";\n/**\n * @tsplus pipeable fncts.observable.Observable window\n */\nexport function window(windowBoundaries) {\n return (fa) => {\n return new tsplus_module_1.Observable((subscriber, environment) => {\n let windowSubject = new tsplus_module_2.Subject();\n subscriber.next(windowSubject.asObservable());\n const errorHandler = (err) => {\n windowSubject.error(err);\n subscriber.error(err);\n };\n fa.provideEnvironment(environment).subscribe(tsplus_module_3.operate_({\n next: (value) => windowSubject.next(value),\n error: errorHandler,\n complete: () => {\n windowSubject.complete();\n subscriber.complete();\n },\n })(subscriber));\n windowBoundaries.subscribe(tsplus_module_3.operatorSubscriber(subscriber, {\n next: () => {\n windowSubject.complete();\n subscriber.next((windowSubject = new tsplus_module_2.Subject()));\n },\n complete: tsplus_module_4.noop,\n error: errorHandler,\n }));\n return () => {\n windowSubject.unsubscribe();\n windowSubject = null;\n };\n });\n };\n}\n//# sourceMappingURL=window.js.map"],"mappings":";;;;;;;;;;;;;;AAOA,SAAgB,OAAO,kBAAkB;AACrC,SAAQ,OAAO;AACX,SAAO,IAAIA,6BAAgB,YAAY,YAAY,gBAAgB;GAC/D,IAAI,gBAAgB,IAAIC,0BAAgB,SAAS;AACjD,cAAW,KAAK,cAAc,cAAc,CAAC;GAC7C,MAAM,gBAAgB,QAAQ;AAC1B,kBAAc,MAAM,IAAI;AACxB,eAAW,MAAM,IAAI;;AAEzB,MAAG,mBAAmB,YAAY,CAAC,UAAUC,2BAAgB,SAAS;IAClE,OAAO,UAAU,cAAc,KAAK,MAAM;IAC1C,OAAO;IACP,gBAAgB;AACZ,mBAAc,UAAU;AACxB,gBAAW,UAAU;;IAE5B,CAAC,CAAC,WAAW,CAAC;AACf,oBAAiB,UAAUA,2BAAgB,mBAAmB,YAAY;IACtE,YAAY;AACR,mBAAc,UAAU;AACxB,gBAAW,KAAM,gBAAgB,IAAID,0BAAgB,SAAS,CAAE;;IAEpE,UAAUE,gCAAgB;IAC1B,OAAO;IACV,CAAC,CAAC;AACH,gBAAa;AACT,kBAAc,aAAa;AAC3B,oBAAgB;;IAEtB"}
@@ -1,55 +1,49 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.windowCount = windowCount;
7
- var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/observable/Observable"));
8
- var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/observable/Subject"));
9
- var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/observable/Operator"));
10
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_chunk = require("../../chunk.cjs");
3
+ let _fncts_observable_Observable = require("@fncts/observable/Observable");
4
+ _fncts_observable_Observable = require_chunk.__toESM(_fncts_observable_Observable, 1);
5
+ let _fncts_observable_Operator = require("@fncts/observable/Operator");
6
+ _fncts_observable_Operator = require_chunk.__toESM(_fncts_observable_Operator, 1);
7
+ let _fncts_observable_Subject = require("@fncts/observable/Subject");
8
+ _fncts_observable_Subject = require_chunk.__toESM(_fncts_observable_Subject, 1);
9
+ //#region build/esm/Observable/api/windowCount.js
11
10
  /**
12
- * @tsplus pipeable fncts.observable.Observable windowCount
13
- */
11
+ * @tsplus pipeable fncts.observable.Observable windowCount
12
+ */
14
13
  function windowCount(windowSize, startWindowEvery = 0) {
15
- return fa => {
16
- const startEvery = startWindowEvery > 0 ? startWindowEvery : windowSize;
17
- return new tsplus_module_1.Observable((subscriber, environment) => {
18
- let windows = [new tsplus_module_2.Subject()];
19
- let count = 0;
20
- subscriber.next(windows[0].asObservable());
21
- fa.provideEnvironment(environment).subscribe(tsplus_module_3.operate_({
22
- next: value => {
23
- for (const window of windows) {
24
- window.next(value);
25
- }
26
- const c = count - windowSize + 1;
27
- if (c >= 0 && c % startEvery === 0) {
28
- windows.shift().complete();
29
- }
30
- if (++count && startEvery === 0) {
31
- const window = new tsplus_module_2.Subject();
32
- windows.push(window);
33
- subscriber.next(window.asObservable());
34
- }
35
- },
36
- complete: () => {
37
- while (windows.length > 0) {
38
- windows.shift().complete();
39
- }
40
- subscriber.complete();
41
- },
42
- error: err => {
43
- while (windows.length > 0) {
44
- windows.shift().error(err);
45
- }
46
- subscriber.error(err);
47
- },
48
- finalize: () => {
49
- windows = null;
50
- }
51
- })(subscriber));
52
- });
53
- };
14
+ return (fa) => {
15
+ const startEvery = startWindowEvery > 0 ? startWindowEvery : windowSize;
16
+ return new _fncts_observable_Observable.Observable((subscriber, environment) => {
17
+ let windows = [new _fncts_observable_Subject.Subject()];
18
+ let count = 0;
19
+ subscriber.next(windows[0].asObservable());
20
+ fa.provideEnvironment(environment).subscribe(_fncts_observable_Operator.operate_({
21
+ next: (value) => {
22
+ for (const window of windows) window.next(value);
23
+ const c = count - windowSize + 1;
24
+ if (c >= 0 && c % startEvery === 0) windows.shift().complete();
25
+ if (++count && startEvery === 0) {
26
+ const window = new _fncts_observable_Subject.Subject();
27
+ windows.push(window);
28
+ subscriber.next(window.asObservable());
29
+ }
30
+ },
31
+ complete: () => {
32
+ while (windows.length > 0) windows.shift().complete();
33
+ subscriber.complete();
34
+ },
35
+ error: (err) => {
36
+ while (windows.length > 0) windows.shift().error(err);
37
+ subscriber.error(err);
38
+ },
39
+ finalize: () => {
40
+ windows = null;
41
+ }
42
+ })(subscriber));
43
+ });
44
+ };
54
45
  }
46
+ //#endregion
47
+ exports.windowCount = windowCount;
48
+
55
49
  //# sourceMappingURL=windowCount.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"windowCount.cjs","names":["windowCount","windowSize","startWindowEvery","fa","startEvery","tsplus_module_1","Observable","subscriber","environment","windows","tsplus_module_2","Subject","count","next","asObservable","provideEnvironment","subscribe","tsplus_module_3","operate_","value","window","c","shift","complete","push","length","error","err","finalize"],"sources":["../../../_src/Observable/api/windowCount.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;AAAA;;;AAGM,SAAUA,WAAWA,CAACC,UAAkB,EAAEC,gBAAgB,GAAG,CAAC;EAClE,OAAiBC,EAAuB,IAA+C;IACrF,MAAMC,UAAU,GAAGF,gBAAgB,GAAG,CAAC,GAAGA,gBAAgB,GAAGD,UAAU;IACvE,OAAO,IAAAI,eAAA,CAAIC,UAAU,CAAC,CAACC,UAAU,EAAEC,WAAW,KAAI;MAChD,IAAIC,OAAO,GAAG,CAAC,IAAAC,eAAA,CAAIC,OAAO,EAAe,CAAC;MAC1C,IAAIC,KAAK,GAAK,CAAC;MACfL,UAAU,CAACM,IAAI,CAACJ,OAAO,CAAC,CAAC,CAAE,CAACK,YAAY,EAAE,CAAC;MAC3CX,EAAE,CAACY,kBAAkB,CAACP,WAAW,CAAC,CAACQ,SAAS,CAC1CC,eAAA,CAAAC,QAAA,CAAmB;QACjBL,IAAI,EAAGM,KAAK,IAAI;UACd,KAAK,MAAMC,MAAM,IAAIX,OAAO,EAAE;YAC5BW,MAAM,CAACP,IAAI,CAACM,KAAK,CAAC;UACpB;UACA,MAAME,CAAC,GAAGT,KAAK,GAAGX,UAAU,GAAG,CAAC;UAChC,IAAIoB,CAAC,IAAI,CAAC,IAAIA,CAAC,GAAGjB,UAAU,KAAK,CAAC,EAAE;YAClCK,OAAO,CAACa,KAAK,EAAG,CAACC,QAAQ,EAAE;UAC7B;UACA,IAAI,EAAEX,KAAK,IAAIR,UAAU,KAAK,CAAC,EAAE;YAC/B,MAAMgB,MAAM,GAAG,IAAAV,eAAA,CAAIC,OAAO,EAAe;YACzCF,OAAO,CAACe,IAAI,CAACJ,MAAM,CAAC;YACpBb,UAAU,CAACM,IAAI,CAACO,MAAM,CAACN,YAAY,EAAE,CAAC;UACxC;QACF,CAAC;QACDS,QAAQ,EAAEA,CAAA,KAAK;UACb,OAAOd,OAAO,CAACgB,MAAM,GAAG,CAAC,EAAE;YACzBhB,OAAO,CAACa,KAAK,EAAG,CAACC,QAAQ,EAAE;UAC7B;UACAhB,UAAU,CAACgB,QAAQ,EAAE;QACvB,CAAC;QACDG,KAAK,EAAGC,GAAG,IAAI;UACb,OAAOlB,OAAO,CAACgB,MAAM,GAAG,CAAC,EAAE;YACzBhB,OAAO,CAACa,KAAK,EAAG,CAACI,KAAK,CAACC,GAAG,CAAC;UAC7B;UACApB,UAAU,CAACmB,KAAK,CAACC,GAAG,CAAC;QACvB,CAAC;QACDC,QAAQ,EAAEA,CAAA,KAAK;UACbnB,OAAO,GAAG,IAAK;QACjB;OACD,EA9BDF,UAAU,CA8BR,CACH;IACH,CAAC,CAAC;EACJ,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"file":"windowCount.cjs","names":["tsplus_module_1","tsplus_module_2","tsplus_module_3"],"sources":["../../../esm/Observable/api/windowCount.js"],"sourcesContent":["import * as tsplus_module_1 from \"@fncts/observable/Observable\";\nimport * as tsplus_module_2 from \"@fncts/observable/Subject\";\nimport * as tsplus_module_3 from \"@fncts/observable/Operator\";\n/**\n * @tsplus pipeable fncts.observable.Observable windowCount\n */\nexport function windowCount(windowSize, startWindowEvery = 0) {\n return (fa) => {\n const startEvery = startWindowEvery > 0 ? startWindowEvery : windowSize;\n return new tsplus_module_1.Observable((subscriber, environment) => {\n let windows = [new tsplus_module_2.Subject()];\n let count = 0;\n subscriber.next(windows[0].asObservable());\n fa.provideEnvironment(environment).subscribe(tsplus_module_3.operate_({\n next: (value) => {\n for (const window of windows) {\n window.next(value);\n }\n const c = count - windowSize + 1;\n if (c >= 0 && c % startEvery === 0) {\n windows.shift().complete();\n }\n if (++count && startEvery === 0) {\n const window = new tsplus_module_2.Subject();\n windows.push(window);\n subscriber.next(window.asObservable());\n }\n },\n complete: () => {\n while (windows.length > 0) {\n windows.shift().complete();\n }\n subscriber.complete();\n },\n error: (err) => {\n while (windows.length > 0) {\n windows.shift().error(err);\n }\n subscriber.error(err);\n },\n finalize: () => {\n windows = null;\n },\n })(subscriber));\n });\n };\n}\n//# sourceMappingURL=windowCount.js.map"],"mappings":";;;;;;;;;;;;AAMA,SAAgB,YAAY,YAAY,mBAAmB,GAAG;AAC1D,SAAQ,OAAO;EACX,MAAM,aAAa,mBAAmB,IAAI,mBAAmB;AAC7D,SAAO,IAAIA,6BAAgB,YAAY,YAAY,gBAAgB;GAC/D,IAAI,UAAU,CAAC,IAAIC,0BAAgB,SAAS,CAAC;GAC7C,IAAI,QAAQ;AACZ,cAAW,KAAK,QAAQ,GAAG,cAAc,CAAC;AAC1C,MAAG,mBAAmB,YAAY,CAAC,UAAUC,2BAAgB,SAAS;IAClE,OAAO,UAAU;AACb,UAAK,MAAM,UAAU,QACjB,QAAO,KAAK,MAAM;KAEtB,MAAM,IAAI,QAAQ,aAAa;AAC/B,SAAI,KAAK,KAAK,IAAI,eAAe,EAC7B,SAAQ,OAAO,CAAC,UAAU;AAE9B,SAAI,EAAE,SAAS,eAAe,GAAG;MAC7B,MAAM,SAAS,IAAID,0BAAgB,SAAS;AAC5C,cAAQ,KAAK,OAAO;AACpB,iBAAW,KAAK,OAAO,cAAc,CAAC;;;IAG9C,gBAAgB;AACZ,YAAO,QAAQ,SAAS,EACpB,SAAQ,OAAO,CAAC,UAAU;AAE9B,gBAAW,UAAU;;IAEzB,QAAQ,QAAQ;AACZ,YAAO,QAAQ,SAAS,EACpB,SAAQ,OAAO,CAAC,MAAM,IAAI;AAE9B,gBAAW,MAAM,IAAI;;IAEzB,gBAAgB;AACZ,eAAU;;IAEjB,CAAC,CAAC,WAAW,CAAC;IACjB"}
@@ -1,77 +1,76 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.windowTime = windowTime;
7
- var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/observable/AsyncScheduler"));
8
- var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/observable/Observable"));
9
- var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/observable/Subscription"));
10
- var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/observable/Subject"));
11
- var tsplus_module_5 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/observable/Operator"));
12
- var _args = /*#__PURE__*/require("@fncts/observable/internal/args");
13
- var _util = /*#__PURE__*/require("@fncts/observable/internal/util");
14
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_chunk = require("../../chunk.cjs");
3
+ let _fncts_observable_AsyncScheduler = require("@fncts/observable/AsyncScheduler");
4
+ _fncts_observable_AsyncScheduler = require_chunk.__toESM(_fncts_observable_AsyncScheduler, 1);
5
+ let _fncts_observable_Observable = require("@fncts/observable/Observable");
6
+ _fncts_observable_Observable = require_chunk.__toESM(_fncts_observable_Observable, 1);
7
+ let _fncts_observable_Operator = require("@fncts/observable/Operator");
8
+ _fncts_observable_Operator = require_chunk.__toESM(_fncts_observable_Operator, 1);
9
+ let _fncts_observable_Subject = require("@fncts/observable/Subject");
10
+ _fncts_observable_Subject = require_chunk.__toESM(_fncts_observable_Subject, 1);
11
+ let _fncts_observable_Subscription = require("@fncts/observable/Subscription");
12
+ _fncts_observable_Subscription = require_chunk.__toESM(_fncts_observable_Subscription, 1);
13
+ let _fncts_observable_internal_util = require("@fncts/observable/internal/util");
14
+ let _fncts_observable_internal_args = require("@fncts/observable/internal/args");
15
+ //#region build/esm/Observable/api/windowTime.js
15
16
  function windowTime(windowTimeSpan, ...args) {
16
- return fa => {
17
- const scheduler = (0, _args.popScheduler)(args) ?? tsplus_module_1.asyncScheduler;
18
- const windowCreationInterval = args[0] ?? null;
19
- const maxWindowSize = args[1] || Infinity;
20
- return new tsplus_module_2.Observable((subscriber, environment) => {
21
- let windowRecords = [];
22
- let restartOnClose = false;
23
- const closeWindow = record => {
24
- const {
25
- window,
26
- subs
27
- } = record;
28
- window.complete();
29
- subs.unsubscribe();
30
- (0, _util.arrayRemove)(windowRecords, record);
31
- restartOnClose && startWindow();
32
- };
33
- const startWindow = () => {
34
- if (windowRecords) {
35
- const subs = new tsplus_module_3.Subscription();
36
- subscriber.add(subs);
37
- const window = new tsplus_module_4.Subject();
38
- const record = {
39
- window,
40
- subs,
41
- seen: 0
42
- };
43
- windowRecords.push(record);
44
- subscriber.next(window.asObservable());
45
- subs.add(scheduler.schedule(() => closeWindow(record), windowTimeSpan));
46
- }
47
- };
48
- windowCreationInterval !== null && windowCreationInterval >= 0 ? subscriber.add(scheduler.schedule(function () {
49
- startWindow();
50
- !this._closed && subscriber.add(this.schedule(null, windowCreationInterval));
51
- }, windowCreationInterval)) : restartOnClose = true;
52
- startWindow();
53
- const loop = cb => windowRecords.slice().forEach(cb);
54
- const terminate = cb => {
55
- loop(({
56
- window
57
- }) => cb(window));
58
- cb(subscriber);
59
- subscriber.unsubscribe();
60
- };
61
- fa.provideEnvironment(environment).subscribe(tsplus_module_5.operate_({
62
- next: value => {
63
- loop(record => {
64
- record.window.next(value);
65
- maxWindowSize <= ++record.seen && closeWindow(record);
66
- });
67
- },
68
- error: err => terminate(consumer => consumer.error(err)),
69
- complete: () => terminate(consumer => consumer.complete())
70
- })(subscriber));
71
- return () => {
72
- windowRecords = null;
73
- };
74
- });
75
- };
17
+ return (fa) => {
18
+ const scheduler = (0, _fncts_observable_internal_args.popScheduler)(args) ?? _fncts_observable_AsyncScheduler.asyncScheduler;
19
+ const windowCreationInterval = args[0] ?? null;
20
+ const maxWindowSize = args[1] || Infinity;
21
+ return new _fncts_observable_Observable.Observable((subscriber, environment) => {
22
+ let windowRecords = [];
23
+ let restartOnClose = false;
24
+ const closeWindow = (record) => {
25
+ const { window, subs } = record;
26
+ window.complete();
27
+ subs.unsubscribe();
28
+ (0, _fncts_observable_internal_util.arrayRemove)(windowRecords, record);
29
+ restartOnClose && startWindow();
30
+ };
31
+ const startWindow = () => {
32
+ if (windowRecords) {
33
+ const subs = new _fncts_observable_Subscription.Subscription();
34
+ subscriber.add(subs);
35
+ const window = new _fncts_observable_Subject.Subject();
36
+ const record = {
37
+ window,
38
+ subs,
39
+ seen: 0
40
+ };
41
+ windowRecords.push(record);
42
+ subscriber.next(window.asObservable());
43
+ subs.add(scheduler.schedule(() => closeWindow(record), windowTimeSpan));
44
+ }
45
+ };
46
+ windowCreationInterval !== null && windowCreationInterval >= 0 ? subscriber.add(scheduler.schedule(function() {
47
+ startWindow();
48
+ !this._closed && subscriber.add(this.schedule(null, windowCreationInterval));
49
+ }, windowCreationInterval)) : restartOnClose = true;
50
+ startWindow();
51
+ const loop = (cb) => windowRecords.slice().forEach(cb);
52
+ const terminate = (cb) => {
53
+ loop(({ window }) => cb(window));
54
+ cb(subscriber);
55
+ subscriber.unsubscribe();
56
+ };
57
+ fa.provideEnvironment(environment).subscribe(_fncts_observable_Operator.operate_({
58
+ next: (value) => {
59
+ loop((record) => {
60
+ record.window.next(value);
61
+ maxWindowSize <= ++record.seen && closeWindow(record);
62
+ });
63
+ },
64
+ error: (err) => terminate((consumer) => consumer.error(err)),
65
+ complete: () => terminate((consumer) => consumer.complete())
66
+ })(subscriber));
67
+ return () => {
68
+ windowRecords = null;
69
+ };
70
+ });
71
+ };
76
72
  }
73
+ //#endregion
74
+ exports.windowTime = windowTime;
75
+
77
76
  //# sourceMappingURL=windowTime.cjs.map