@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,87 +1,79 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.arrayOrObject = arrayOrObject;
7
- exports.arrayRemove = arrayRemove;
8
- exports.isArrayLike = isArrayLike;
9
- exports.isAsyncIterable = isAsyncIterable;
10
- exports.isPromiseLike = isPromiseLike;
11
- exports.isReadableStream = isReadableStream;
12
- exports.isValidDate = isValidDate;
13
- exports.noop = noop;
14
- exports.readableStreamToAsyncGenerator = readableStreamToAsyncGenerator;
15
- exports.reportUnhandledError = reportUnhandledError;
16
- var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/util/predicates"));
17
- var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/observable/internal/timeoutProvider"));
18
- 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_base_util_predicates = require("@fncts/base/util/predicates");
4
+ _fncts_base_util_predicates = require_chunk.__toESM(_fncts_base_util_predicates, 1);
5
+ let _fncts_observable_internal_timeoutProvider = require("@fncts/observable/internal/timeoutProvider");
6
+ _fncts_observable_internal_timeoutProvider = require_chunk.__toESM(_fncts_observable_internal_timeoutProvider, 1);
7
+ //#region build/esm/internal/util.js
19
8
  function arrayRemove(arr, item) {
20
- if (arr) {
21
- const index = arr.indexOf(item);
22
- 0 <= index && arr.splice(index, 1);
23
- }
24
- }
25
- function noop() {
26
- // noop
9
+ if (arr) {
10
+ const index = arr.indexOf(item);
11
+ 0 <= index && arr.splice(index, 1);
12
+ }
27
13
  }
14
+ function noop() {}
28
15
  function isAsyncIterable(u) {
29
- return Symbol.asyncIterator && tsplus_module_1.isFunction(u?.[Symbol.asyncIterator]);
16
+ return Symbol.asyncIterator && _fncts_base_util_predicates.isFunction(u?.[Symbol.asyncIterator]);
30
17
  }
31
18
  function isArrayLike(u) {
32
- return u != null && typeof u.length === "number" && typeof u !== "function";
19
+ return u != null && typeof u.length === "number" && typeof u !== "function";
33
20
  }
34
21
  function isPromiseLike(u) {
35
- return tsplus_module_1.isFunction(u?.then);
22
+ return _fncts_base_util_predicates.isFunction(u?.then);
36
23
  }
37
24
  function isValidDate(u) {
38
- return tsplus_module_1.isDate(u) && !isNaN(u);
25
+ return _fncts_base_util_predicates.isDate(u) && !isNaN(u);
39
26
  }
40
27
  function reportUnhandledError(err) {
41
- return tsplus_module_2.timeoutProvider.setTimeout(() => {
42
- throw err;
43
- });
28
+ return _fncts_observable_internal_timeoutProvider.timeoutProvider.setTimeout(() => {
29
+ throw err;
30
+ });
44
31
  }
45
32
  function arrayOrObject(args) {
46
- if (args.length === 1) {
47
- const first = args[0];
48
- if (Array.isArray(first)) {
49
- return {
50
- args: first,
51
- keys: null
52
- };
53
- }
54
- if (tsplus_module_1.isPlain(first)) {
55
- const keys = Object.keys(first);
56
- return {
57
- args: Object.values(first),
58
- keys
59
- };
60
- }
61
- }
62
- return {
63
- args: args,
64
- keys: null
65
- };
33
+ if (args.length === 1) {
34
+ const first = args[0];
35
+ if (Array.isArray(first)) return {
36
+ args: first,
37
+ keys: null
38
+ };
39
+ if (_fncts_base_util_predicates.isPlain(first)) {
40
+ const keys = Object.keys(first);
41
+ return {
42
+ args: Object.values(first),
43
+ keys
44
+ };
45
+ }
46
+ }
47
+ return {
48
+ args,
49
+ keys: null
50
+ };
66
51
  }
67
52
  async function* readableStreamToAsyncGenerator(readableStream) {
68
- const reader = readableStream.getReader();
69
- try {
70
- while (true) {
71
- const {
72
- value,
73
- done
74
- } = await reader.read();
75
- if (done) {
76
- return;
77
- }
78
- yield value;
79
- }
80
- } finally {
81
- reader.releaseLock();
82
- }
53
+ const reader = readableStream.getReader();
54
+ try {
55
+ while (true) {
56
+ const { value, done } = await reader.read();
57
+ if (done) return;
58
+ yield value;
59
+ }
60
+ } finally {
61
+ reader.releaseLock();
62
+ }
83
63
  }
84
64
  function isReadableStream(u) {
85
- return tsplus_module_1.isFunction(u?.getReader);
65
+ return _fncts_base_util_predicates.isFunction(u?.getReader);
86
66
  }
67
+ //#endregion
68
+ exports.arrayOrObject = arrayOrObject;
69
+ exports.arrayRemove = arrayRemove;
70
+ exports.isArrayLike = isArrayLike;
71
+ exports.isAsyncIterable = isAsyncIterable;
72
+ exports.isPromiseLike = isPromiseLike;
73
+ exports.isReadableStream = isReadableStream;
74
+ exports.isValidDate = isValidDate;
75
+ exports.noop = noop;
76
+ exports.readableStreamToAsyncGenerator = readableStreamToAsyncGenerator;
77
+ exports.reportUnhandledError = reportUnhandledError;
78
+
87
79
  //# sourceMappingURL=util.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.cjs","names":["arrayRemove","arr","item","index","indexOf","splice","noop","isAsyncIterable","u","Symbol","asyncIterator","tsplus_module_1","isFunction","isArrayLike","length","isPromiseLike","then","isValidDate","isDate","isNaN","reportUnhandledError","err","tsplus_module_2","timeoutProvider","setTimeout","arrayOrObject","args","first","Array","isArray","keys","isPlain","Object","values","readableStreamToAsyncGenerator","readableStream","reader","getReader","value","done","read","releaseLock","isReadableStream"],"sources":["../../_src/internal/util.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;AAAM,SAAUA,WAAWA,CAAIC,GAA2B,EAAEC,IAAO;EACjE,IAAID,GAAG,EAAE;IACP,MAAME,KAAK,GAAGF,GAAG,CAACG,OAAO,CAACF,IAAI,CAAC;IAC/B,CAAC,IAAIC,KAAK,IAAIF,GAAG,CAACI,MAAM,CAACF,KAAK,EAAE,CAAC,CAAC;EACpC;AACF;AAEM,SAAUG,IAAIA,CAAA;EAClB;AAAA;AAGI,SAAUC,eAAeA,CAACC,CAAM;EACpC,OAAOC,MAAM,CAACC,aAAa,IAAIC,eAAA,CAAAC,UAAU,CAACJ,CAAC,GAAGC,MAAM,CAACC,aAAa,CAAC,CAAC;AACtE;AAEM,SAAUG,WAAWA,CAACL,CAAM;EAChC,OAAOA,CAAC,IAAI,IAAI,IAAI,OAAOA,CAAC,CAACM,MAAM,KAAK,QAAQ,IAAI,OAAON,CAAC,KAAK,UAAU;AAC7E;AAEM,SAAUO,aAAaA,CAACP,CAAM;EAClC,OAAOG,eAAA,CAAAC,UAAU,CAACJ,CAAC,EAAEQ,IAAI,CAAC;AAC5B;AAEM,SAAUC,WAAWA,CAACT,CAAU;EACpC,OAAOG,eAAA,CAAAO,MAAM,CAACV,CAAC,CAAC,IAAI,CAACW,KAAK,CAACX,CAAQ,CAAC;AACtC;AAEM,SAAUY,oBAAoBA,CAACC,GAAY;EAC/C,OAAOC,eAAA,CAAAC,eAAe,CAACC,UAAU,CAAC,MAAK;IACrC,MAAMH,GAAG;EACX,CAAC,CAAC;AACJ;AAEM,SAAUI,aAAaA,CAC3BC,IAAiD;EAKjD,IAAIA,IAAI,CAACZ,MAAM,KAAK,CAAC,EAAE;IACrB,MAAMa,KAAK,GAAGD,IAAI,CAAC,CAAC,CAAC;IACrB,IAAIE,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,EAAE;MACxB,OAAO;QAAED,IAAI,EAAEC,KAAK;QAAEG,IAAI,EAAE;MAAI,CAAE;IACpC;IACA,IAAInB,eAAA,CAAAoB,OAAO,CAACJ,KAAK,CAAC,EAAE;MAClB,MAAMG,IAAI,GAAGE,MAAM,CAACF,IAAI,CAACH,KAAK,CAAC;MAC/B,OAAO;QACLD,IAAI,EAAEM,MAAM,CAACC,MAAM,CAACN,KAAK,CAAC;QAC1BG;OACD;IACH;EACF;EACA,OAAO;IAAEJ,IAAI,EAAEA,IAAwB;IAAEI,IAAI,EAAE;EAAI,CAAE;AACvD;AAyBO,gBAAgBI,8BAA8BA,CAAIC,cAAqC;EAC5F,MAAMC,MAAM,GAAGD,cAAc,CAACE,SAAS,EAAE;EACzC,IAAI;IACF,OAAO,IAAI,EAAE;MACX,MAAM;QAAEC,KAAK;QAAEC;MAAI,CAAE,GAAG,MAAMH,MAAM,CAACI,IAAI,EAAE;MAC3C,IAAID,IAAI,EAAE;QACR;MACF;MACA,MAAMD,KAAM;IACd;EACF,CAAC,SAAS;IACRF,MAAM,CAACK,WAAW,EAAE;EACtB;AACF;AAEM,SAAUC,gBAAgBA,CAAIlC,CAAM;EACxC,OAAOG,eAAA,CAAAC,UAAU,CAACJ,CAAC,EAAE6B,SAAS,CAAC;AACjC","ignoreList":[]}
1
+ {"version":3,"file":"util.cjs","names":["tsplus_module_1","tsplus_module_2"],"sources":["../../esm/internal/util.js"],"sourcesContent":["import * as tsplus_module_1 from \"@fncts/base/util/predicates\";\nimport * as tsplus_module_2 from \"@fncts/observable/internal/timeoutProvider\";\nexport function arrayRemove(arr, item) {\n if (arr) {\n const index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\nexport function noop() {\n // noop\n}\nexport function isAsyncIterable(u) {\n return Symbol.asyncIterator && tsplus_module_1.isFunction(u?.[Symbol.asyncIterator]);\n}\nexport function isArrayLike(u) {\n return u != null && typeof u.length === \"number\" && typeof u !== \"function\";\n}\nexport function isPromiseLike(u) {\n return tsplus_module_1.isFunction(u?.then);\n}\nexport function isValidDate(u) {\n return tsplus_module_1.isDate(u) && !isNaN(u);\n}\nexport function reportUnhandledError(err) {\n return tsplus_module_2.timeoutProvider.setTimeout(() => {\n throw err;\n });\n}\nexport function arrayOrObject(args) {\n if (args.length === 1) {\n const first = args[0];\n if (Array.isArray(first)) {\n return { args: first, keys: null };\n }\n if (tsplus_module_1.isPlain(first)) {\n const keys = Object.keys(first);\n return {\n args: Object.values(first),\n keys,\n };\n }\n }\n return { args: args, keys: null };\n}\nexport async function* readableStreamToAsyncGenerator(readableStream) {\n const reader = readableStream.getReader();\n try {\n while (true) {\n const { value, done } = await reader.read();\n if (done) {\n return;\n }\n yield value;\n }\n }\n finally {\n reader.releaseLock();\n }\n}\nexport function isReadableStream(u) {\n return tsplus_module_1.isFunction(u?.getReader);\n}\n//# sourceMappingURL=util.js.map"],"mappings":";;;;;;;AAEA,SAAgB,YAAY,KAAK,MAAM;AACnC,KAAI,KAAK;EACL,MAAM,QAAQ,IAAI,QAAQ,KAAK;AAC/B,OAAK,SAAS,IAAI,OAAO,OAAO,EAAE;;;AAG1C,SAAgB,OAAO;AAGvB,SAAgB,gBAAgB,GAAG;AAC/B,QAAO,OAAO,iBAAiBA,4BAAgB,WAAW,IAAI,OAAO,eAAe;;AAExF,SAAgB,YAAY,GAAG;AAC3B,QAAO,KAAK,QAAQ,OAAO,EAAE,WAAW,YAAY,OAAO,MAAM;;AAErE,SAAgB,cAAc,GAAG;AAC7B,QAAOA,4BAAgB,WAAW,GAAG,KAAK;;AAE9C,SAAgB,YAAY,GAAG;AAC3B,QAAOA,4BAAgB,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;;AAEjD,SAAgB,qBAAqB,KAAK;AACtC,QAAOC,2CAAgB,gBAAgB,iBAAiB;AACpD,QAAM;GACR;;AAEN,SAAgB,cAAc,MAAM;AAChC,KAAI,KAAK,WAAW,GAAG;EACnB,MAAM,QAAQ,KAAK;AACnB,MAAI,MAAM,QAAQ,MAAM,CACpB,QAAO;GAAE,MAAM;GAAO,MAAM;GAAM;AAEtC,MAAID,4BAAgB,QAAQ,MAAM,EAAE;GAChC,MAAM,OAAO,OAAO,KAAK,MAAM;AAC/B,UAAO;IACH,MAAM,OAAO,OAAO,MAAM;IAC1B;IACH;;;AAGT,QAAO;EAAQ;EAAM,MAAM;EAAM;;AAErC,gBAAuB,+BAA+B,gBAAgB;CAClE,MAAM,SAAS,eAAe,WAAW;AACzC,KAAI;AACA,SAAO,MAAM;GACT,MAAM,EAAE,OAAO,SAAS,MAAM,OAAO,MAAM;AAC3C,OAAI,KACA;AAEJ,SAAM;;WAGN;AACJ,SAAO,aAAa;;;AAG5B,SAAgB,iBAAiB,GAAG;AAChC,QAAOA,4BAAgB,WAAW,GAAG,UAAU"}
package/_mjs/Action.mjs CHANGED
@@ -1,10 +1,14 @@
1
1
  import * as tsplus_module_1 from "@fncts/observable/Subscription";
2
- export class Action extends tsplus_module_1.Subscription {
3
- constructor(scheduler, work) {
4
- super();
5
- }
6
- schedule(state, delay = 0) {
7
- return this;
8
- }
9
- }
2
+ //#region build/esm/Action.js
3
+ var Action = class extends tsplus_module_1.Subscription {
4
+ constructor(scheduler, work) {
5
+ super();
6
+ }
7
+ schedule(state, delay = 0) {
8
+ return this;
9
+ }
10
+ };
11
+ //#endregion
12
+ export { Action };
13
+
10
14
  //# sourceMappingURL=Action.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Action.mjs","names":["Action","tsplus_module_1","Subscription","constructor","scheduler","work","schedule","state","delay"],"sources":["../_src/Action.ts"],"sourcesContent":[null],"mappings":";AAEA,OAAM,MAAOA,MAAU,SAAQC,eAAA,CAAAC,YAAY;EACzCC,YAAYC,SAAoB,EAAEC,IAAmD;IACnF,KAAK,EAAE;EACT;EACOC,QAAQA,CAACC,KAAS,EAAEC,KAAK,GAAG,CAAC;IAClC,OAAO,IAAI;EACb","ignoreList":[]}
1
+ {"version":3,"file":"Action.mjs","names":[],"sources":["../esm/Action.js"],"sourcesContent":["import * as tsplus_module_1 from \"@fncts/observable/Subscription\";\nexport class Action extends tsplus_module_1.Subscription {\n constructor(scheduler, work) {\n super();\n }\n schedule(state, delay = 0) {\n return this;\n }\n}\n//# sourceMappingURL=Action.js.map"],"mappings":";;AACA,IAAa,SAAb,cAA4B,gBAAgB,aAAa;CACrD,YAAY,WAAW,MAAM;AACzB,SAAO;;CAEX,SAAS,OAAO,QAAQ,GAAG;AACvB,SAAO"}
@@ -1,29 +1,28 @@
1
1
  import * as tsplus_module_1 from "@fncts/observable/AsyncAction";
2
2
  import * as tsplus_module_2 from "@fncts/observable/internal/animationFrameProvider";
3
- export class AnimationFrameAction extends tsplus_module_1.AsyncAction {
4
- scheduler;
5
- work;
6
- constructor(scheduler, work) {
7
- super(scheduler, work);
8
- this.scheduler = scheduler;
9
- this.work = work;
10
- }
11
- requestAsyncId(scheduler, delay = 0) {
12
- if (delay != null && delay > 0) {
13
- return super.requestAsyncId(scheduler, delay);
14
- }
15
- scheduler.actions.push(this);
16
- return scheduler.scheduled ||= tsplus_module_2.animationFrameProvider.requestAnimationFrame(() => scheduler.flush(undefined));
17
- }
18
- recycleAsyncId(scheduler, id, delay = 0) {
19
- if (delay != null && delay > 0 || delay == null && this.delay > 0) {
20
- super.recycleAsyncId(scheduler, delay);
21
- }
22
- if (scheduler.actions.length === 0) {
23
- tsplus_module_2.animationFrameProvider.cancelAnimationFrame(id);
24
- scheduler.scheduled = undefined;
25
- }
26
- return undefined;
27
- }
28
- }
3
+ //#region build/esm/AnimationFrameAction.js
4
+ var AnimationFrameAction = class extends tsplus_module_1.AsyncAction {
5
+ scheduler;
6
+ work;
7
+ constructor(scheduler, work) {
8
+ super(scheduler, work);
9
+ this.scheduler = scheduler;
10
+ this.work = work;
11
+ }
12
+ requestAsyncId(scheduler, delay = 0) {
13
+ if (delay != null && delay > 0) return super.requestAsyncId(scheduler, delay);
14
+ scheduler.actions.push(this);
15
+ return scheduler.scheduled ||= tsplus_module_2.animationFrameProvider.requestAnimationFrame(() => scheduler.flush(void 0));
16
+ }
17
+ recycleAsyncId(scheduler, id, delay = 0) {
18
+ if (delay != null && delay > 0 || delay == null && this.delay > 0) super.recycleAsyncId(scheduler, delay);
19
+ if (scheduler.actions.length === 0) {
20
+ tsplus_module_2.animationFrameProvider.cancelAnimationFrame(id);
21
+ scheduler.scheduled = void 0;
22
+ }
23
+ }
24
+ };
25
+ //#endregion
26
+ export { AnimationFrameAction };
27
+
29
28
  //# sourceMappingURL=AnimationFrameAction.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"AnimationFrameAction.mjs","names":["AnimationFrameAction","tsplus_module_1","AsyncAction","scheduler","work","constructor","requestAsyncId","delay","actions","push","scheduled","tsplus_module_2","animationFrameProvider","requestAnimationFrame","flush","undefined","recycleAsyncId","id","length","cancelAnimationFrame"],"sources":["../_src/AnimationFrameAction.ts"],"sourcesContent":[null],"mappings":";;AAAA,OAAM,MAAOA,oBAAwB,SAAQC,eAAA,CAAAC,WAAc;EAE7CC,SAAA;EACAC,IAAA;EAFZC,YACYF,SAAkC,EAClCC,IAAmD;IAE7D,KAAK,CAACD,SAAS,EAAEC,IAAI,CAAC;IAHZ,KAAAD,SAAS,GAATA,SAAS;IACT,KAAAC,IAAI,GAAJA,IAAI;EAGhB;EACUE,cAAcA,CAACH,SAAkC,EAAEI,KAAK,GAAG,CAAC;IACpE,IAAIA,KAAK,IAAI,IAAI,IAAIA,KAAK,GAAG,CAAC,EAAE;MAC9B,OAAO,KAAK,CAACD,cAAc,CAACH,SAAS,EAAEI,KAAK,CAAC;IAC/C;IACAJ,SAAS,CAACK,OAAO,CAACC,IAAI,CAAC,IAAI,CAAC;IAC5B,OAAQN,SAAS,CAACO,SAAS,KAAKC,eAAA,CAAAC,sBAAsB,CAACC,qBAAqB,CAAC,MAAMV,SAAS,CAACW,KAAK,CAACC,SAAS,CAAC,CAAC;EAChH;EACUC,cAAcA,CAACb,SAAkC,EAAEc,EAAQ,EAAEV,KAAK,GAAG,CAAC;IAC9E,IAAKA,KAAK,IAAI,IAAI,IAAIA,KAAK,GAAG,CAAC,IAAMA,KAAK,IAAI,IAAI,IAAI,IAAI,CAACA,KAAM,GAAG,CAAE,EAAE;MACtE,KAAK,CAACS,cAAc,CAACb,SAAS,EAAEI,KAAK,CAAC;IACxC;IACA,IAAIJ,SAAS,CAACK,OAAO,CAACU,MAAM,KAAK,CAAC,EAAE;MAClCP,eAAA,CAAAC,sBAAsB,CAACO,oBAAoB,CAACF,EAAE,CAAC;MAC/Cd,SAAS,CAACO,SAAS,GAAGK,SAAS;IACjC;IACA,OAAOA,SAAS;EAClB","ignoreList":[]}
1
+ {"version":3,"file":"AnimationFrameAction.mjs","names":[],"sources":["../esm/AnimationFrameAction.js"],"sourcesContent":["import * as tsplus_module_1 from \"@fncts/observable/AsyncAction\";\nimport * as tsplus_module_2 from \"@fncts/observable/internal/animationFrameProvider\";\nexport class AnimationFrameAction extends tsplus_module_1.AsyncAction {\n scheduler;\n work;\n constructor(scheduler, work) {\n super(scheduler, work);\n this.scheduler = scheduler;\n this.work = work;\n }\n requestAsyncId(scheduler, delay = 0) {\n if (delay != null && delay > 0) {\n return super.requestAsyncId(scheduler, delay);\n }\n scheduler.actions.push(this);\n return (scheduler.scheduled ||= tsplus_module_2.animationFrameProvider.requestAnimationFrame(() => scheduler.flush(undefined)));\n }\n recycleAsyncId(scheduler, id, delay = 0) {\n if ((delay != null && delay > 0) || (delay == null && this.delay > 0)) {\n super.recycleAsyncId(scheduler, delay);\n }\n if (scheduler.actions.length === 0) {\n tsplus_module_2.animationFrameProvider.cancelAnimationFrame(id);\n scheduler.scheduled = undefined;\n }\n return undefined;\n }\n}\n//# sourceMappingURL=AnimationFrameAction.js.map"],"mappings":";;;AAEA,IAAa,uBAAb,cAA0C,gBAAgB,YAAY;CAClE;CACA;CACA,YAAY,WAAW,MAAM;AACzB,QAAM,WAAW,KAAK;AACtB,OAAK,YAAY;AACjB,OAAK,OAAO;;CAEhB,eAAe,WAAW,QAAQ,GAAG;AACjC,MAAI,SAAS,QAAQ,QAAQ,EACzB,QAAO,MAAM,eAAe,WAAW,MAAM;AAEjD,YAAU,QAAQ,KAAK,KAAK;AAC5B,SAAQ,UAAU,cAAc,gBAAgB,uBAAuB,4BAA4B,UAAU,MAAM,KAAA,EAAU,CAAC;;CAElI,eAAe,WAAW,IAAI,QAAQ,GAAG;AACrC,MAAK,SAAS,QAAQ,QAAQ,KAAO,SAAS,QAAQ,KAAK,QAAQ,EAC/D,OAAM,eAAe,WAAW,MAAM;AAE1C,MAAI,UAAU,QAAQ,WAAW,GAAG;AAChC,mBAAgB,uBAAuB,qBAAqB,GAAG;AAC/D,aAAU,YAAY,KAAA"}
@@ -1,29 +1,27 @@
1
- import * as tsplus_module_1 from "@fncts/observable/AsyncScheduler";
2
1
  import * as tsplus_module_2 from "@fncts/observable/AnimationFrameAction";
3
- export class AnimationFrameScheduler extends tsplus_module_1.AsyncScheduler {
4
- flush(action) {
5
- this.active = true;
6
- this.scheduled = undefined;
7
- const {
8
- actions
9
- } = this;
10
- let error;
11
- let index = -1;
12
- action = action || actions.shift();
13
- const count = actions.length;
14
- do {
15
- if (error = action.execute(action.state, action.delay)) {
16
- break;
17
- }
18
- } while (++index < count && (action = actions.shift()));
19
- this.active = false;
20
- if (error) {
21
- while (++index < count && (action = actions.shift())) {
22
- action.unsubscribe();
23
- }
24
- throw error;
25
- }
26
- }
27
- }
28
- export const animationFrameScheduler = /*#__PURE__*/new AnimationFrameScheduler(tsplus_module_2.AnimationFrameAction);
2
+ import * as tsplus_module_1 from "@fncts/observable/AsyncScheduler";
3
+ //#region build/esm/AnimationFrameScheduler.js
4
+ var AnimationFrameScheduler = class extends tsplus_module_1.AsyncScheduler {
5
+ flush(action) {
6
+ this.active = true;
7
+ this.scheduled = void 0;
8
+ const { actions } = this;
9
+ let error;
10
+ let index = -1;
11
+ action = action || actions.shift();
12
+ const count = actions.length;
13
+ do
14
+ if (error = action.execute(action.state, action.delay)) break;
15
+ while (++index < count && (action = actions.shift()));
16
+ this.active = false;
17
+ if (error) {
18
+ while (++index < count && (action = actions.shift())) action.unsubscribe();
19
+ throw error;
20
+ }
21
+ }
22
+ };
23
+ const animationFrameScheduler = new AnimationFrameScheduler(tsplus_module_2.AnimationFrameAction);
24
+ //#endregion
25
+ export { AnimationFrameScheduler, animationFrameScheduler };
26
+
29
27
  //# sourceMappingURL=AnimationFrameScheduler.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"AnimationFrameScheduler.mjs","names":["AnimationFrameScheduler","tsplus_module_1","AsyncScheduler","flush","action","active","scheduled","undefined","actions","error","index","shift","count","length","execute","state","delay","unsubscribe","animationFrameScheduler","tsplus_module_2","AnimationFrameAction"],"sources":["../_src/AnimationFrameScheduler.ts"],"sourcesContent":[null],"mappings":";;AAAA,OAAM,MAAOA,uBAAwB,SAAQC,eAAA,CAAAC,cAAc;EAClDC,KAAKA,CAACC,MAAyB;IACpC,IAAI,CAACC,MAAM,GAAS,IAAI;IACxB,IAAI,CAACC,SAAS,GAAMC,SAAS;IAC7B,MAAM;MAAEC;IAAO,CAAE,GAAG,IAAI;IACxB,IAAIC,KAAU;IACd,IAAIC,KAAK,GAAW,CAAC,CAAC;IACtBN,MAAM,GAAcA,MAAM,IAAII,OAAO,CAACG,KAAK,EAAG;IAC9C,MAAMC,KAAK,GAASJ,OAAO,CAACK,MAAM;IAClC,GAAG;MACD,IAAKJ,KAAK,GAAGL,MAAM,CAACU,OAAO,CAACV,MAAM,CAACW,KAAK,EAAEX,MAAM,CAACY,KAAM,CAAC,EAAG;QACzD;MACF;IACF,CAAC,QAAQ,EAAEN,KAAK,GAAGE,KAAK,KAAKR,MAAM,GAAGI,OAAO,CAACG,KAAK,EAAE,CAAC;IACtD,IAAI,CAACN,MAAM,GAAG,KAAK;IACnB,IAAII,KAAK,EAAE;MACT,OAAO,EAAEC,KAAK,GAAGE,KAAK,KAAKR,MAAM,GAAGI,OAAO,CAACG,KAAK,EAAE,CAAC,EAAE;QACpDP,MAAM,CAACa,WAAW,EAAE;MACtB;MACA,MAAMR,KAAK;IACb;EACF;;AAGF,OAAO,MAAMS,uBAAuB,gBAAG,IAAIlB,uBAAuB,CAAAmB,eAAA,CAACC,oBAAoB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"AnimationFrameScheduler.mjs","names":[],"sources":["../esm/AnimationFrameScheduler.js"],"sourcesContent":["import * as tsplus_module_1 from \"@fncts/observable/AsyncScheduler\";\nimport * as tsplus_module_2 from \"@fncts/observable/AnimationFrameAction\";\nexport class AnimationFrameScheduler extends tsplus_module_1.AsyncScheduler {\n flush(action) {\n this.active = true;\n this.scheduled = undefined;\n const { actions } = this;\n let error;\n let index = -1;\n action = action || actions.shift();\n const count = actions.length;\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while (++index < count && (action = actions.shift()));\n this.active = false;\n if (error) {\n while (++index < count && (action = actions.shift())) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\nexport const animationFrameScheduler = new AnimationFrameScheduler(tsplus_module_2.AnimationFrameAction);\n//# sourceMappingURL=AnimationFrameScheduler.js.map"],"mappings":";;;AAEA,IAAa,0BAAb,cAA6C,gBAAgB,eAAe;CACxE,MAAM,QAAQ;AACV,OAAK,SAAS;AACd,OAAK,YAAY,KAAA;EACjB,MAAM,EAAE,YAAY;EACpB,IAAI;EACJ,IAAI,QAAQ;AACZ,WAAS,UAAU,QAAQ,OAAO;EAClC,MAAM,QAAQ,QAAQ;AACtB;AACI,OAAK,QAAQ,OAAO,QAAQ,OAAO,OAAO,OAAO,MAAM,CACnD;SAEC,EAAE,QAAQ,UAAU,SAAS,QAAQ,OAAO;AACrD,OAAK,SAAS;AACd,MAAI,OAAO;AACP,UAAO,EAAE,QAAQ,UAAU,SAAS,QAAQ,OAAO,EAC/C,QAAO,aAAa;AAExB,SAAM;;;;AAIlB,MAAa,0BAA0B,IAAI,wBAAwB,gBAAgB,qBAAqB"}
@@ -1,87 +1,72 @@
1
1
  import * as tsplus_module_1 from "@fncts/observable/Action";
2
- import { intervalProvider } from "@fncts/observable/internal/intervalProvider";
3
2
  import { arrayRemove } from "@fncts/observable/internal/util";
4
- export class AsyncAction extends tsplus_module_1.Action {
5
- scheduler;
6
- work;
7
- id;
8
- state;
9
- delay;
10
- pending = false;
11
- constructor(scheduler, work) {
12
- super(scheduler, work);
13
- this.scheduler = scheduler;
14
- this.work = work;
15
- }
16
- schedule(state, delay = 0) {
17
- if (this._closed) {
18
- return this;
19
- }
20
- this.state = state;
21
- const id = this.id;
22
- const scheduler = this.scheduler;
23
- if (id != null) {
24
- this.id = this.recycleAsyncId(scheduler, id, delay);
25
- }
26
- this.pending = true;
27
- this.delay = delay;
28
- this.id = this.id || this.requestAsyncId(scheduler, this.id, delay);
29
- return this;
30
- }
31
- requestAsyncId(scheduler, _id, delay = 0) {
32
- return intervalProvider.setInterval(scheduler.flush.bind(scheduler, this), delay);
33
- }
34
- recycleAsyncId(_scheduler, id, delay = 0) {
35
- if (delay != null && this.delay === delay && this.pending === false) {
36
- return id;
37
- }
38
- intervalProvider.clearInterval(id);
39
- return undefined;
40
- }
41
- execute(state, delay) {
42
- if (this._closed) {
43
- throw new Error("executing a cancelled action");
44
- }
45
- this.pending = false;
46
- const error = this.executeInternal(state, delay);
47
- if (error) {
48
- return error;
49
- } else if (this.pending === false && this.id != null) {
50
- this.id = this.recycleAsyncId(this.scheduler, this.id, null);
51
- }
52
- }
53
- executeInternal(state, _delay) {
54
- let errored = false;
55
- let errorValue;
56
- try {
57
- this.work(state);
58
- } catch (e) {
59
- errored = true;
60
- errorValue = e ? e : new Error("Scheduled action threw falsy error");
61
- }
62
- if (errored) {
63
- this.unsubscribe();
64
- return errorValue;
65
- }
66
- }
67
- unsubscribe() {
68
- if (!this._closed) {
69
- const {
70
- id,
71
- scheduler
72
- } = this;
73
- const {
74
- actions
75
- } = scheduler;
76
- this.work = this.state = this.scheduler = null;
77
- this.pending = false;
78
- arrayRemove(actions, this);
79
- if (id != null) {
80
- this.id = this.recycleAsyncId(scheduler, id, null);
81
- }
82
- this.delay = null;
83
- super.unsubscribe();
84
- }
85
- }
86
- }
3
+ import { intervalProvider } from "@fncts/observable/internal/intervalProvider";
4
+ //#region build/esm/AsyncAction.js
5
+ var AsyncAction = class extends tsplus_module_1.Action {
6
+ scheduler;
7
+ work;
8
+ id;
9
+ state;
10
+ delay;
11
+ pending = false;
12
+ constructor(scheduler, work) {
13
+ super(scheduler, work);
14
+ this.scheduler = scheduler;
15
+ this.work = work;
16
+ }
17
+ schedule(state, delay = 0) {
18
+ if (this._closed) return this;
19
+ this.state = state;
20
+ const id = this.id;
21
+ const scheduler = this.scheduler;
22
+ if (id != null) this.id = this.recycleAsyncId(scheduler, id, delay);
23
+ this.pending = true;
24
+ this.delay = delay;
25
+ this.id = this.id || this.requestAsyncId(scheduler, this.id, delay);
26
+ return this;
27
+ }
28
+ requestAsyncId(scheduler, _id, delay = 0) {
29
+ return intervalProvider.setInterval(scheduler.flush.bind(scheduler, this), delay);
30
+ }
31
+ recycleAsyncId(_scheduler, id, delay = 0) {
32
+ if (delay != null && this.delay === delay && this.pending === false) return id;
33
+ intervalProvider.clearInterval(id);
34
+ }
35
+ execute(state, delay) {
36
+ if (this._closed) throw new Error("executing a cancelled action");
37
+ this.pending = false;
38
+ const error = this.executeInternal(state, delay);
39
+ if (error) return error;
40
+ else if (this.pending === false && this.id != null) this.id = this.recycleAsyncId(this.scheduler, this.id, null);
41
+ }
42
+ executeInternal(state, _delay) {
43
+ let errored = false;
44
+ let errorValue;
45
+ try {
46
+ this.work(state);
47
+ } catch (e) {
48
+ errored = true;
49
+ errorValue = e ? e : /* @__PURE__ */ new Error("Scheduled action threw falsy error");
50
+ }
51
+ if (errored) {
52
+ this.unsubscribe();
53
+ return errorValue;
54
+ }
55
+ }
56
+ unsubscribe() {
57
+ if (!this._closed) {
58
+ const { id, scheduler } = this;
59
+ const { actions } = scheduler;
60
+ this.work = this.state = this.scheduler = null;
61
+ this.pending = false;
62
+ arrayRemove(actions, this);
63
+ if (id != null) this.id = this.recycleAsyncId(scheduler, id, null);
64
+ this.delay = null;
65
+ super.unsubscribe();
66
+ }
67
+ }
68
+ };
69
+ //#endregion
70
+ export { AsyncAction };
71
+
87
72
  //# sourceMappingURL=AsyncAction.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"AsyncAction.mjs","names":["intervalProvider","arrayRemove","AsyncAction","tsplus_module_1","Action","scheduler","work","id","state","delay","pending","constructor","schedule","_closed","recycleAsyncId","requestAsyncId","_id","setInterval","flush","bind","_scheduler","clearInterval","undefined","execute","Error","error","executeInternal","_delay","errored","errorValue","e","unsubscribe","actions"],"sources":["../_src/AsyncAction.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"AsyncAction.mjs","names":[],"sources":["../esm/AsyncAction.js"],"sourcesContent":["import * as tsplus_module_1 from \"@fncts/observable/Action\";\nimport { intervalProvider } from \"@fncts/observable/internal/intervalProvider\";\nimport { arrayRemove } from \"@fncts/observable/internal/util\";\nexport class AsyncAction extends tsplus_module_1.Action {\n scheduler;\n work;\n id;\n state;\n delay;\n pending = false;\n constructor(scheduler, work) {\n super(scheduler, work);\n this.scheduler = scheduler;\n this.work = work;\n }\n schedule(state, delay = 0) {\n if (this._closed) {\n return this;\n }\n this.state = state;\n const id = this.id;\n const scheduler = this.scheduler;\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n this.pending = true;\n this.delay = delay;\n this.id = this.id || this.requestAsyncId(scheduler, this.id, delay);\n return this;\n }\n requestAsyncId(scheduler, _id, delay = 0) {\n return intervalProvider.setInterval(scheduler.flush.bind(scheduler, this), delay);\n }\n recycleAsyncId(_scheduler, id, delay = 0) {\n if (delay != null && this.delay === delay && this.pending === false) {\n return id;\n }\n intervalProvider.clearInterval(id);\n return undefined;\n }\n execute(state, delay) {\n if (this._closed) {\n throw new Error(\"executing a cancelled action\");\n }\n this.pending = false;\n const error = this.executeInternal(state, delay);\n if (error) {\n return error;\n }\n else if (this.pending === false && this.id != null) {\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n }\n executeInternal(state, _delay) {\n let errored = false;\n let errorValue;\n try {\n this.work(state);\n }\n catch (e) {\n errored = true;\n errorValue = e ? e : new Error(\"Scheduled action threw falsy error\");\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n }\n unsubscribe() {\n if (!this._closed) {\n const { id, scheduler } = this;\n const { actions } = scheduler;\n this.work = this.state = this.scheduler = null;\n this.pending = false;\n arrayRemove(actions, this);\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n this.delay = null;\n super.unsubscribe();\n }\n }\n}\n//# sourceMappingURL=AsyncAction.js.map"],"mappings":";;;;AAGA,IAAa,cAAb,cAAiC,gBAAgB,OAAO;CACpD;CACA;CACA;CACA;CACA;CACA,UAAU;CACV,YAAY,WAAW,MAAM;AACzB,QAAM,WAAW,KAAK;AACtB,OAAK,YAAY;AACjB,OAAK,OAAO;;CAEhB,SAAS,OAAO,QAAQ,GAAG;AACvB,MAAI,KAAK,QACL,QAAO;AAEX,OAAK,QAAQ;EACb,MAAM,KAAK,KAAK;EAChB,MAAM,YAAY,KAAK;AACvB,MAAI,MAAM,KACN,MAAK,KAAK,KAAK,eAAe,WAAW,IAAI,MAAM;AAEvD,OAAK,UAAU;AACf,OAAK,QAAQ;AACb,OAAK,KAAK,KAAK,MAAM,KAAK,eAAe,WAAW,KAAK,IAAI,MAAM;AACnE,SAAO;;CAEX,eAAe,WAAW,KAAK,QAAQ,GAAG;AACtC,SAAO,iBAAiB,YAAY,UAAU,MAAM,KAAK,WAAW,KAAK,EAAE,MAAM;;CAErF,eAAe,YAAY,IAAI,QAAQ,GAAG;AACtC,MAAI,SAAS,QAAQ,KAAK,UAAU,SAAS,KAAK,YAAY,MAC1D,QAAO;AAEX,mBAAiB,cAAc,GAAG;;CAGtC,QAAQ,OAAO,OAAO;AAClB,MAAI,KAAK,QACL,OAAM,IAAI,MAAM,+BAA+B;AAEnD,OAAK,UAAU;EACf,MAAM,QAAQ,KAAK,gBAAgB,OAAO,MAAM;AAChD,MAAI,MACA,QAAO;WAEF,KAAK,YAAY,SAAS,KAAK,MAAM,KAC1C,MAAK,KAAK,KAAK,eAAe,KAAK,WAAW,KAAK,IAAI,KAAK;;CAGpE,gBAAgB,OAAO,QAAQ;EAC3B,IAAI,UAAU;EACd,IAAI;AACJ,MAAI;AACA,QAAK,KAAK,MAAM;WAEb,GAAG;AACN,aAAU;AACV,gBAAa,IAAI,oBAAI,IAAI,MAAM,qCAAqC;;AAExE,MAAI,SAAS;AACT,QAAK,aAAa;AAClB,UAAO;;;CAGf,cAAc;AACV,MAAI,CAAC,KAAK,SAAS;GACf,MAAM,EAAE,IAAI,cAAc;GAC1B,MAAM,EAAE,YAAY;AACpB,QAAK,OAAO,KAAK,QAAQ,KAAK,YAAY;AAC1C,QAAK,UAAU;AACf,eAAY,SAAS,KAAK;AAC1B,OAAI,MAAM,KACN,MAAK,KAAK,KAAK,eAAe,WAAW,IAAI,KAAK;AAEtD,QAAK,QAAQ;AACb,SAAM,aAAa"}
@@ -1,35 +1,33 @@
1
- import * as tsplus_module_1 from "@fncts/observable/AsyncAction";
2
1
  import { Scheduler } from "./Scheduler.mjs";
3
- export class AsyncScheduler extends Scheduler {
4
- actions = [];
5
- active = false;
6
- scheduled = undefined;
7
- constructor(actionConstructor, now = Scheduler.now) {
8
- super(actionConstructor, now);
9
- }
10
- flush(action) {
11
- const {
12
- actions
13
- } = this;
14
- if (this.active) {
15
- actions.push(action);
16
- return;
17
- }
18
- let error;
19
- this.active = true;
20
- do {
21
- if (error = action.execute(action.state, action.delay)) {
22
- break;
23
- }
24
- } while (action = actions.shift());
25
- this.active = false;
26
- if (error) {
27
- while (action = actions.shift()) {
28
- action.unsubscribe();
29
- }
30
- throw error;
31
- }
32
- }
33
- }
34
- export const asyncScheduler = /*#__PURE__*/new AsyncScheduler(tsplus_module_1.AsyncAction);
2
+ import * as tsplus_module_1 from "@fncts/observable/AsyncAction";
3
+ //#region build/esm/AsyncScheduler.js
4
+ var AsyncScheduler = class extends Scheduler {
5
+ actions = [];
6
+ active = false;
7
+ scheduled = void 0;
8
+ constructor(actionConstructor, now = Scheduler.now) {
9
+ super(actionConstructor, now);
10
+ }
11
+ flush(action) {
12
+ const { actions } = this;
13
+ if (this.active) {
14
+ actions.push(action);
15
+ return;
16
+ }
17
+ let error;
18
+ this.active = true;
19
+ do
20
+ if (error = action.execute(action.state, action.delay)) break;
21
+ while (action = actions.shift());
22
+ this.active = false;
23
+ if (error) {
24
+ while (action = actions.shift()) action.unsubscribe();
25
+ throw error;
26
+ }
27
+ }
28
+ };
29
+ const asyncScheduler = new AsyncScheduler(tsplus_module_1.AsyncAction);
30
+ //#endregion
31
+ export { AsyncScheduler, asyncScheduler };
32
+
35
33
  //# sourceMappingURL=AsyncScheduler.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"AsyncScheduler.mjs","names":["Scheduler","AsyncScheduler","actions","active","scheduled","undefined","constructor","actionConstructor","now","flush","action","push","error","execute","state","delay","shift","unsubscribe","asyncScheduler","tsplus_module_1","AsyncAction"],"sources":["../_src/AsyncScheduler.ts"],"sourcesContent":[null],"mappings":";AAAA,SAASA,SAAS,QAAQ,iBAAgB;AAE1C,OAAM,MAAOC,cAAe,SAAQD,SAAS;EACpCE,OAAO,GAA4B,EAAE;EAE5CC,MAAM,GAAW,KAAK;EACtBC,SAAS,GAAQC,SAAS;EAE1BC,YAAYC,iBAAgC,EAAEC,GAAA,GAAoBR,SAAS,CAACQ,GAAG;IAC7E,KAAK,CAACD,iBAAiB,EAAEC,GAAG,CAAC;EAC/B;EAEAC,KAAKA,CAACC,MAAwB;IAC5B,MAAM;MAAER;IAAO,CAAE,GAAG,IAAI;IAExB,IAAI,IAAI,CAACC,MAAM,EAAE;MACfD,OAAO,CAACS,IAAI,CAACD,MAAM,CAAC;MACpB;IACF;IAEA,IAAIE,KAAc;IAClB,IAAI,CAACT,MAAM,GAAG,IAAI;IAElB,GAAG;MACD,IAAKS,KAAK,GAAGF,MAAM,CAACG,OAAO,CAACH,MAAM,CAACI,KAAK,EAAEJ,MAAM,CAACK,KAAM,CAAC,EAAG;QACzD;MACF;IACF,CAAC,QAASL,MAAM,GAAGR,OAAO,CAACc,KAAK,EAAG;IAEnC,IAAI,CAACb,MAAM,GAAG,KAAK;IAEnB,IAAIS,KAAK,EAAE;MACT,OAAQF,MAAM,GAAGR,OAAO,CAACc,KAAK,EAAG,EAAG;QAClCN,MAAM,CAACO,WAAW,EAAE;MACtB;MACA,MAAML,KAAK;IACb;EACF;;AAGF,OAAO,MAAMM,cAAc,gBAAG,IAAIjB,cAAc,CAAAkB,eAAA,CAACC,WAAW,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"AsyncScheduler.mjs","names":[],"sources":["../esm/AsyncScheduler.js"],"sourcesContent":["import * as tsplus_module_1 from \"@fncts/observable/AsyncAction\";\nimport { Scheduler } from \"./Scheduler.js\";\nexport class AsyncScheduler extends Scheduler {\n actions = [];\n active = false;\n scheduled = undefined;\n constructor(actionConstructor, now = Scheduler.now) {\n super(actionConstructor, now);\n }\n flush(action) {\n const { actions } = this;\n if (this.active) {\n actions.push(action);\n return;\n }\n let error;\n this.active = true;\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions.shift()));\n this.active = false;\n if (error) {\n while ((action = actions.shift())) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\nexport const asyncScheduler = new AsyncScheduler(tsplus_module_1.AsyncAction);\n//# sourceMappingURL=AsyncScheduler.js.map"],"mappings":";;;AAEA,IAAa,iBAAb,cAAoC,UAAU;CAC1C,UAAU,EAAE;CACZ,SAAS;CACT,YAAY,KAAA;CACZ,YAAY,mBAAmB,MAAM,UAAU,KAAK;AAChD,QAAM,mBAAmB,IAAI;;CAEjC,MAAM,QAAQ;EACV,MAAM,EAAE,YAAY;AACpB,MAAI,KAAK,QAAQ;AACb,WAAQ,KAAK,OAAO;AACpB;;EAEJ,IAAI;AACJ,OAAK,SAAS;AACd;AACI,OAAK,QAAQ,OAAO,QAAQ,OAAO,OAAO,OAAO,MAAM,CACnD;SAEE,SAAS,QAAQ,OAAO;AAClC,OAAK,SAAS;AACd,MAAI,OAAO;AACP,UAAQ,SAAS,QAAQ,OAAO,CAC5B,QAAO,aAAa;AAExB,SAAM;;;;AAIlB,MAAa,iBAAiB,IAAI,eAAe,gBAAgB,YAAY"}