@fncts/observable 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (259) hide show
  1. package/Action.d.ts +6 -0
  2. package/AnimationFrameAction.d.ts +11 -0
  3. package/AnimationFrameScheduler.d.ts +6 -0
  4. package/AsyncAction.d.ts +19 -0
  5. package/AsyncScheduler.d.ts +11 -0
  6. package/BehaviorSubject.d.ts +10 -0
  7. package/Notification.d.ts +59 -0
  8. package/Observable/api/connect.d.ts +10 -0
  9. package/Observable/api/connectable.d.ts +24 -0
  10. package/Observable/api/fromCallback.d.ts +11 -0
  11. package/Observable/api/fromEvent.d.ts +4 -0
  12. package/Observable/api/index.d.ts +14 -0
  13. package/Observable/api/race.d.ts +9 -0
  14. package/Observable/api/raceWith.d.ts +6 -0
  15. package/Observable/api/repeatWhen.d.ts +5 -0
  16. package/Observable/api/retryWhen.d.ts +10 -0
  17. package/Observable/api/share.d.ts +16 -0
  18. package/Observable/api/window.d.ts +8 -0
  19. package/Observable/api/windowCount.d.ts +6 -0
  20. package/Observable/api/windowTime.d.ts +12 -0
  21. package/Observable/api/windowToggle.d.ts +8 -0
  22. package/Observable/api/windowWhen.d.ts +9 -0
  23. package/Observable/api.d.ts +668 -0
  24. package/Observable/definition.d.ts +32 -0
  25. package/Observable/dom/animationFrames.d.ts +6 -0
  26. package/Observable/instances.d.ts +1 -0
  27. package/Observable.d.ts +19 -0
  28. package/Observer.d.ts +6 -0
  29. package/Operator.d.ts +19 -0
  30. package/Scheduler.d.ts +22 -0
  31. package/Subject.d.ts +48 -0
  32. package/Subscriber.d.ts +27 -0
  33. package/Subscription.d.ts +41 -0
  34. package/_cjs/Action.cjs +27 -0
  35. package/_cjs/Action.cjs.map +1 -0
  36. package/_cjs/AnimationFrameAction.cjs +48 -0
  37. package/_cjs/AnimationFrameAction.cjs.map +1 -0
  38. package/_cjs/AnimationFrameScheduler.cjs +51 -0
  39. package/_cjs/AnimationFrameScheduler.cjs.map +1 -0
  40. package/_cjs/AsyncAction.cjs +116 -0
  41. package/_cjs/AsyncAction.cjs.map +1 -0
  42. package/_cjs/AsyncScheduler.cjs +61 -0
  43. package/_cjs/AsyncScheduler.cjs.map +1 -0
  44. package/_cjs/BehaviorSubject.cjs +52 -0
  45. package/_cjs/BehaviorSubject.cjs.map +1 -0
  46. package/_cjs/Notification.cjs +110 -0
  47. package/_cjs/Notification.cjs.map +1 -0
  48. package/_cjs/Observable/api/connect.cjs +35 -0
  49. package/_cjs/Observable/api/connect.cjs.map +1 -0
  50. package/_cjs/Observable/api/connectable.cjs +64 -0
  51. package/_cjs/Observable/api/connectable.cjs.map +1 -0
  52. package/_cjs/Observable/api/fromCallback.cjs +74 -0
  53. package/_cjs/Observable/api/fromCallback.cjs.map +1 -0
  54. package/_cjs/Observable/api/fromEvent.cjs +22 -0
  55. package/_cjs/Observable/api/fromEvent.cjs.map +1 -0
  56. package/_cjs/Observable/api/index.cjs +188 -0
  57. package/_cjs/Observable/api/index.cjs.map +1 -0
  58. package/_cjs/Observable/api/race.cjs +47 -0
  59. package/_cjs/Observable/api/race.cjs.map +1 -0
  60. package/_cjs/Observable/api/raceWith.cjs +24 -0
  61. package/_cjs/Observable/api/raceWith.cjs.map +1 -0
  62. package/_cjs/Observable/api/repeatWhen.cjs +72 -0
  63. package/_cjs/Observable/api/repeatWhen.cjs.map +1 -0
  64. package/_cjs/Observable/api/retryWhen.cjs +61 -0
  65. package/_cjs/Observable/api/retryWhen.cjs.map +1 -0
  66. package/_cjs/Observable/api/share.cjs +115 -0
  67. package/_cjs/Observable/api/share.cjs.map +1 -0
  68. package/_cjs/Observable/api/window.cjs +53 -0
  69. package/_cjs/Observable/api/window.cjs.map +1 -0
  70. package/_cjs/Observable/api/windowCount.cjs +62 -0
  71. package/_cjs/Observable/api/windowCount.cjs.map +1 -0
  72. package/_cjs/Observable/api/windowTime.cjs +90 -0
  73. package/_cjs/Observable/api/windowTime.cjs.map +1 -0
  74. package/_cjs/Observable/api/windowToggle.cjs +92 -0
  75. package/_cjs/Observable/api/windowToggle.cjs.map +1 -0
  76. package/_cjs/Observable/api/windowWhen.cjs +68 -0
  77. package/_cjs/Observable/api/windowWhen.cjs.map +1 -0
  78. package/_cjs/Observable/api.cjs +2558 -0
  79. package/_cjs/Observable/api.cjs.map +1 -0
  80. package/_cjs/Observable/definition.cjs +76 -0
  81. package/_cjs/Observable/definition.cjs.map +1 -0
  82. package/_cjs/Observable/dom/animationFrames.cjs +51 -0
  83. package/_cjs/Observable/dom/animationFrames.cjs.map +1 -0
  84. package/_cjs/Observable/instances.cjs +6 -0
  85. package/_cjs/Observable/instances.cjs.map +1 -0
  86. package/_cjs/Observable.cjs +253 -0
  87. package/_cjs/Observable.cjs.map +1 -0
  88. package/_cjs/Observer.cjs +6 -0
  89. package/_cjs/Observer.cjs.map +1 -0
  90. package/_cjs/Operator.cjs +83 -0
  91. package/_cjs/Operator.cjs.map +1 -0
  92. package/_cjs/Scheduler.cjs +62 -0
  93. package/_cjs/Scheduler.cjs.map +1 -0
  94. package/_cjs/Subject.cjs +228 -0
  95. package/_cjs/Subject.cjs.map +1 -0
  96. package/_cjs/Subscriber.cjs +172 -0
  97. package/_cjs/Subscriber.cjs.map +1 -0
  98. package/_cjs/Subscription.cjs +174 -0
  99. package/_cjs/Subscription.cjs.map +1 -0
  100. package/_cjs/demo.cjs +40 -0
  101. package/_cjs/demo.cjs.map +1 -0
  102. package/_cjs/global.cjs +4 -0
  103. package/_cjs/global.cjs.map +1 -0
  104. package/_cjs/index.cjs +65 -0
  105. package/_cjs/index.cjs.map +1 -0
  106. package/_cjs/internal/animationFrameProvider.cjs +51 -0
  107. package/_cjs/internal/animationFrameProvider.cjs.map +1 -0
  108. package/_cjs/internal/args.cjs +26 -0
  109. package/_cjs/internal/args.cjs.map +1 -0
  110. package/_cjs/internal/intervalProvider.cjs +27 -0
  111. package/_cjs/internal/intervalProvider.cjs.map +1 -0
  112. package/_cjs/internal/performanceTimestampProvider.cjs +15 -0
  113. package/_cjs/internal/performanceTimestampProvider.cjs.map +1 -0
  114. package/_cjs/internal/timeoutProvider.cjs +27 -0
  115. package/_cjs/internal/timeoutProvider.cjs.map +1 -0
  116. package/_cjs/internal/timestampProvider.cjs +15 -0
  117. package/_cjs/internal/timestampProvider.cjs.map +1 -0
  118. package/_cjs/internal/util.cjs +107 -0
  119. package/_cjs/internal/util.cjs.map +1 -0
  120. package/_mjs/Action.mjs +14 -0
  121. package/_mjs/Action.mjs.map +1 -0
  122. package/_mjs/AnimationFrameAction.mjs +33 -0
  123. package/_mjs/AnimationFrameAction.mjs.map +1 -0
  124. package/_mjs/AnimationFrameScheduler.mjs +36 -0
  125. package/_mjs/AnimationFrameScheduler.mjs.map +1 -0
  126. package/_mjs/AsyncAction.mjs +99 -0
  127. package/_mjs/AsyncAction.mjs.map +1 -0
  128. package/_mjs/AsyncScheduler.mjs +45 -0
  129. package/_mjs/AsyncScheduler.mjs.map +1 -0
  130. package/_mjs/BehaviorSubject.mjs +38 -0
  131. package/_mjs/BehaviorSubject.mjs.map +1 -0
  132. package/_mjs/Notification.mjs +80 -0
  133. package/_mjs/Notification.mjs.map +1 -0
  134. package/_mjs/Observable/api/connect.mjs +21 -0
  135. package/_mjs/Observable/api/connect.mjs.map +1 -0
  136. package/_mjs/Observable/api/connectable.mjs +45 -0
  137. package/_mjs/Observable/api/connectable.mjs.map +1 -0
  138. package/_mjs/Observable/api/fromCallback.mjs +60 -0
  139. package/_mjs/Observable/api/fromCallback.mjs.map +1 -0
  140. package/_mjs/Observable/api/fromEvent.mjs +10 -0
  141. package/_mjs/Observable/api/fromEvent.mjs.map +1 -0
  142. package/_mjs/Observable/api/index.mjs +15 -0
  143. package/_mjs/Observable/api/index.mjs.map +1 -0
  144. package/_mjs/Observable/api/race.mjs +32 -0
  145. package/_mjs/Observable/api/race.mjs.map +1 -0
  146. package/_mjs/Observable/api/raceWith.mjs +12 -0
  147. package/_mjs/Observable/api/raceWith.mjs.map +1 -0
  148. package/_mjs/Observable/api/repeatWhen.mjs +57 -0
  149. package/_mjs/Observable/api/repeatWhen.mjs.map +1 -0
  150. package/_mjs/Observable/api/retryWhen.mjs +45 -0
  151. package/_mjs/Observable/api/retryWhen.mjs.map +1 -0
  152. package/_mjs/Observable/api/share.mjs +97 -0
  153. package/_mjs/Observable/api/share.mjs.map +1 -0
  154. package/_mjs/Observable/api/window.mjs +40 -0
  155. package/_mjs/Observable/api/window.mjs.map +1 -0
  156. package/_mjs/Observable/api/windowCount.mjs +50 -0
  157. package/_mjs/Observable/api/windowCount.mjs.map +1 -0
  158. package/_mjs/Observable/api/windowTime.mjs +73 -0
  159. package/_mjs/Observable/api/windowTime.mjs.map +1 -0
  160. package/_mjs/Observable/api/windowToggle.mjs +77 -0
  161. package/_mjs/Observable/api/windowToggle.mjs.map +1 -0
  162. package/_mjs/Observable/api/windowWhen.mjs +54 -0
  163. package/_mjs/Observable/api/windowWhen.mjs.map +1 -0
  164. package/_mjs/Observable/api.mjs +2291 -0
  165. package/_mjs/Observable/api.mjs.map +1 -0
  166. package/_mjs/Observable/definition.mjs +54 -0
  167. package/_mjs/Observable/definition.mjs.map +1 -0
  168. package/_mjs/Observable/dom/animationFrames.mjs +36 -0
  169. package/_mjs/Observable/dom/animationFrames.mjs.map +1 -0
  170. package/_mjs/Observable/instances.mjs +2 -0
  171. package/_mjs/Observable/instances.mjs.map +1 -0
  172. package/_mjs/Observable.mjs +25 -0
  173. package/_mjs/Observable.mjs.map +1 -0
  174. package/_mjs/Observer.mjs +2 -0
  175. package/_mjs/Observer.mjs.map +1 -0
  176. package/_mjs/Operator.mjs +63 -0
  177. package/_mjs/Operator.mjs.map +1 -0
  178. package/_mjs/Scheduler.mjs +41 -0
  179. package/_mjs/Scheduler.mjs.map +1 -0
  180. package/_mjs/Subject.mjs +204 -0
  181. package/_mjs/Subject.mjs.map +1 -0
  182. package/_mjs/Subscriber.mjs +147 -0
  183. package/_mjs/Subscriber.mjs.map +1 -0
  184. package/_mjs/Subscription.mjs +148 -0
  185. package/_mjs/Subscription.mjs.map +1 -0
  186. package/_mjs/demo.mjs +30 -0
  187. package/_mjs/demo.mjs.map +1 -0
  188. package/_mjs/global.mjs +2 -0
  189. package/_mjs/global.mjs.map +1 -0
  190. package/_mjs/index.mjs +15 -0
  191. package/_mjs/index.mjs.map +1 -0
  192. package/_mjs/internal/animationFrameProvider.mjs +38 -0
  193. package/_mjs/internal/animationFrameProvider.mjs.map +1 -0
  194. package/_mjs/internal/args.mjs +13 -0
  195. package/_mjs/internal/args.mjs.map +1 -0
  196. package/_mjs/internal/intervalProvider.mjs +20 -0
  197. package/_mjs/internal/intervalProvider.mjs.map +1 -0
  198. package/_mjs/internal/performanceTimestampProvider.mjs +8 -0
  199. package/_mjs/internal/performanceTimestampProvider.mjs.map +1 -0
  200. package/_mjs/internal/timeoutProvider.mjs +20 -0
  201. package/_mjs/internal/timeoutProvider.mjs.map +1 -0
  202. package/_mjs/internal/timestampProvider.mjs +8 -0
  203. package/_mjs/internal/timestampProvider.mjs.map +1 -0
  204. package/_mjs/internal/util.mjs +76 -0
  205. package/_mjs/internal/util.mjs.map +1 -0
  206. package/_src/Action.ts +10 -0
  207. package/_src/AnimationFrameAction.ts +27 -0
  208. package/_src/AnimationFrameScheduler.ts +30 -0
  209. package/_src/AsyncAction.ts +93 -0
  210. package/_src/AsyncScheduler.ts +41 -0
  211. package/_src/BehaviorSubject.ts +28 -0
  212. package/_src/Notification.ts +91 -0
  213. package/_src/Observable/api/connect.ts +23 -0
  214. package/_src/Observable/api/connectable.ts +52 -0
  215. package/_src/Observable/api/fromCallback.ts +57 -0
  216. package/_src/Observable/api/fromEvent.ts +12 -0
  217. package/_src/Observable/api/index.ts +14 -0
  218. package/_src/Observable/api/race.ts +31 -0
  219. package/_src/Observable/api/raceWith.ts +15 -0
  220. package/_src/Observable/api/repeatWhen.ts +63 -0
  221. package/_src/Observable/api/retryWhen.ts +47 -0
  222. package/_src/Observable/api/share.ts +107 -0
  223. package/_src/Observable/api/window.ts +44 -0
  224. package/_src/Observable/api/windowCount.ts +56 -0
  225. package/_src/Observable/api/windowTime.ts +102 -0
  226. package/_src/Observable/api/windowToggle.ts +84 -0
  227. package/_src/Observable/api/windowWhen.ts +59 -0
  228. package/_src/Observable/api.ts +2749 -0
  229. package/_src/Observable/definition.ts +69 -0
  230. package/_src/Observable/dom/animationFrames.ts +33 -0
  231. package/_src/Observable/instances.ts +106 -0
  232. package/_src/Observable.ts +27 -0
  233. package/_src/Observer.ts +5 -0
  234. package/_src/Operator.ts +73 -0
  235. package/_src/Scheduler.ts +52 -0
  236. package/_src/Subject.ts +171 -0
  237. package/_src/Subscriber.ts +130 -0
  238. package/_src/Subscription.ts +143 -0
  239. package/_src/demo.ts +29 -0
  240. package/_src/global.ts +141 -0
  241. package/_src/index.ts +14 -0
  242. package/_src/internal/animationFrameProvider.ts +37 -0
  243. package/_src/internal/args.ts +11 -0
  244. package/_src/internal/intervalProvider.ts +27 -0
  245. package/_src/internal/performanceTimestampProvider.ts +12 -0
  246. package/_src/internal/timeoutProvider.ts +27 -0
  247. package/_src/internal/timestampProvider.ts +14 -0
  248. package/_src/internal/util.ts +94 -0
  249. package/demo.d.ts +1 -0
  250. package/global.d.ts +125 -0
  251. package/index.d.ts +14 -0
  252. package/internal/animationFrameProvider.d.ts +12 -0
  253. package/internal/args.d.ts +3 -0
  254. package/internal/intervalProvider.d.ts +12 -0
  255. package/internal/performanceTimestampProvider.d.ts +6 -0
  256. package/internal/timeoutProvider.d.ts +12 -0
  257. package/internal/timestampProvider.d.ts +7 -0
  258. package/internal/util.d.ts +28 -0
  259. package/package.json +16 -0
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SchedulerTypeId = exports.Scheduler = void 0;
7
+ exports.caughtSchedule = caughtSchedule;
8
+ exports.isScheduler = isScheduler;
9
+
10
+ var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/util/predicates"));
11
+
12
+ var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Cause/api"));
13
+
14
+ var _timestampProvider = /*#__PURE__*/require("@fncts/observable/internal/timestampProvider");
15
+
16
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
+
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
+
20
+ var _a;
21
+
22
+ /*
23
+ * -------------------------------------------------------------------------------------------------
24
+ * Scheduler
25
+ * -------------------------------------------------------------------------------------------------
26
+ */
27
+ const SchedulerTypeId = /*#__PURE__*/Symbol.for("fncts.observable.Scheduler");
28
+ exports.SchedulerTypeId = SchedulerTypeId;
29
+
30
+ class Scheduler {
31
+ constructor(actionConstructor, now = Scheduler.now) {
32
+ this.actionConstructor = actionConstructor;
33
+ this[_a] = SchedulerTypeId;
34
+ this.now = now;
35
+ }
36
+
37
+ schedule(work, delay, state) {
38
+ return new this.actionConstructor(this, work).schedule(state, delay);
39
+ }
40
+
41
+ }
42
+
43
+ exports.Scheduler = Scheduler;
44
+ _a = SchedulerTypeId;
45
+ Scheduler.now = _timestampProvider.dateTimestampProvider.now;
46
+
47
+ function isScheduler(u) {
48
+ return tsplus_module_1.isObject(u) && SchedulerTypeId in u;
49
+ }
50
+
51
+ function caughtSchedule(subscriber, scheduler, execute, delay = 0) {
52
+ const subscription = scheduler.schedule(function () {
53
+ try {
54
+ execute.call(this);
55
+ } catch (err) {
56
+ subscriber.error(tsplus_module_2.halt(err));
57
+ }
58
+ }, delay);
59
+ subscriber.add(subscription);
60
+ return subscription;
61
+ }
62
+ //# sourceMappingURL=Scheduler.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Scheduler.cjs","mappings":";;;;;;;;;;;;;AAAA;;;;;;;;AAUA;;;;;AAMO,MAAMA,eAAe,gBAAGC,MAAM,CAACC,GAAP,CAAW,4BAAX,CAAxB;;;AAGD,MAAOC,SAAP,CAAgB;EAIpBC,YAAoBC,iBAApB,EAAsDC,MAAoBH,SAAS,CAACG,GAApF,EAAuF;IAAnE;IAHX,WAAqCN,eAArC;IAIP,KAAKM,GAAL,GAAWA,GAAX;EACD;;EACDC,QAAQ,CAAIC,IAAJ,EAAyDC,KAAzD,EAAyEC,KAAzE,EAAkF;IACxF,OAAO,IAAI,KAAKL,iBAAT,CAA2B,IAA3B,EAAiCG,IAAjC,EAAuCD,QAAvC,CAAgDG,KAAhD,EAAuDD,KAAvD,CAAP;EACD;;AATmB;;;KACVT;AASIG,gBAAoBQ,yCAAsBL,GAA1C;;AAGV,SAAUM,WAAV,CAAsBC,CAAtB,EAAgC;EACpC,OAAOC,yBAASD,CAAT,KAAeb,eAAe,IAAIa,CAAzC;AACD;;AAEK,SAAUE,cAAV,CACJC,UADI,EAEJC,SAFI,EAGJC,OAHI,EAIJT,KAAK,GAAG,CAJJ,EAIK;EAET,MAAMU,YAAY,GAAGF,SAAS,CAACV,QAAV,CAAmB;IACtC,IAAI;MACFW,OAAO,CAACE,IAAR,CAAa,IAAb;IACD,CAFD,CAEE,OAAOC,GAAP,EAAY;MACZL,UAAU,CAACM,KAAX,CAAiBC,qBAAWF,GAAX,CAAjB;IACD;EACF,CANoB,EAMlBZ,KANkB,CAArB;EAOAO,UAAU,CAACQ,GAAX,CAAeL,YAAf;EACA,OAAOA,YAAP;AACD","names":["SchedulerTypeId","Symbol","for","Scheduler","constructor","actionConstructor","now","schedule","work","delay","state","dateTimestampProvider","isScheduler","u","tsplus_module_1","caughtSchedule","subscriber","scheduler","execute","subscription","call","err","error","tsplus_module_2","add"],"sourceRoot":"","sources":["../_src/Scheduler.ts"],"sourcesContent":[null]}
@@ -0,0 +1,228 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Subject = exports.AsyncSubject = exports.AnonymousSubject = void 0;
7
+
8
+ var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/Observable"));
9
+
10
+ var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/Subscription"));
11
+
12
+ var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Either/destructors"));
13
+
14
+ var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Either/constructors"));
15
+
16
+ var _util = /*#__PURE__*/require("@fncts/observable/internal/util");
17
+
18
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
+
20
+ 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; }
21
+
22
+ class Subject extends tsplus_module_1.Observable {
23
+ constructor() {
24
+ super();
25
+ this.closed = false;
26
+ this.observers = [];
27
+ this.isStopped = false;
28
+ this.hasError = false;
29
+ this.thrownError = null;
30
+ }
31
+
32
+ lift(operator) {
33
+ const subject = new AnonymousSubject(this, this);
34
+ subject.operator = operator;
35
+ return subject;
36
+ }
37
+
38
+ next(value) {
39
+ this.throwIfClosed();
40
+
41
+ if (!this.isStopped) {
42
+ const copy = this.observers.slice();
43
+
44
+ for (const observer of copy) {
45
+ observer.next(value);
46
+ }
47
+ }
48
+ }
49
+
50
+ error(err) {
51
+ this.throwIfClosed();
52
+
53
+ if (!this.isStopped) {
54
+ this.hasError = this.isStopped = true;
55
+ this.thrownError = err;
56
+ const {
57
+ observers
58
+ } = this;
59
+
60
+ while (observers.length) {
61
+ observers.shift().error(err);
62
+ }
63
+ }
64
+ }
65
+
66
+ complete() {
67
+ this.throwIfClosed();
68
+
69
+ if (!this.isStopped) {
70
+ this.isStopped = true;
71
+ const {
72
+ observers
73
+ } = this;
74
+
75
+ while (observers.length) {
76
+ observers.shift().complete();
77
+ }
78
+ }
79
+ }
80
+
81
+ unsubscribe() {
82
+ this.isStopped = this.closed = true;
83
+ this.observers = null;
84
+ }
85
+
86
+ get observed() {
87
+ return this.observers?.length > 0;
88
+ }
89
+
90
+ throwIfClosed() {
91
+ if (this.closed) {
92
+ throw new Error("Object Unsubscribed");
93
+ }
94
+ }
95
+
96
+ trySubscribe(subscriber) {
97
+ this.throwIfClosed();
98
+ return super.trySubscribe(subscriber);
99
+ }
100
+
101
+ subscribeInternal(subscriber) {
102
+ this.throwIfClosed();
103
+ this.checkFinalizedStatuses(subscriber);
104
+ return this.innerSubscribe(subscriber);
105
+ }
106
+
107
+ innerSubscribe(subscriber) {
108
+ const {
109
+ hasError,
110
+ isStopped,
111
+ observers
112
+ } = this;
113
+ return hasError || isStopped ? tsplus_module_2.EMPTY_SUBSCRIPTION : (observers.push(subscriber), new tsplus_module_2.Subscription(() => (0, _util.arrayRemove)(observers, subscriber)));
114
+ }
115
+
116
+ checkFinalizedStatuses(subscriber) {
117
+ const {
118
+ hasError,
119
+ thrownError,
120
+ isStopped
121
+ } = this;
122
+
123
+ if (hasError) {
124
+ subscriber.error(thrownError);
125
+ } else if (isStopped) {
126
+ subscriber.complete();
127
+ }
128
+ }
129
+
130
+ asObservable() {
131
+ const observable = new tsplus_module_1.Observable();
132
+ observable.source = this;
133
+ return observable;
134
+ }
135
+
136
+ }
137
+
138
+ exports.Subject = Subject;
139
+
140
+ class AnonymousSubject extends Subject {
141
+ constructor(destination, source) {
142
+ super();
143
+ this.destination = destination;
144
+ this.source = source;
145
+ }
146
+
147
+ next(value) {
148
+ this.destination?.next?.(value);
149
+ }
150
+
151
+ error(err) {
152
+ this.destination?.error?.(err);
153
+ }
154
+
155
+ complete() {
156
+ this.destination?.complete?.();
157
+ }
158
+ /** @internal */
159
+
160
+
161
+ subscribeInternal(subscriber) {
162
+ return this.source?.subscribe(subscriber) ?? tsplus_module_2.EMPTY_SUBSCRIPTION;
163
+ }
164
+
165
+ }
166
+
167
+ exports.AnonymousSubject = AnonymousSubject;
168
+
169
+ class AsyncSubject extends Subject {
170
+ constructor() {
171
+ super(...arguments);
172
+ this.value = null;
173
+ this.hasValue = false;
174
+ this.isComplete = false;
175
+ }
176
+ /** @internal */
177
+
178
+
179
+ checkFinalizedStatuses(subscriber) {
180
+ const {
181
+ hasError,
182
+ hasValue,
183
+ value,
184
+ thrownError,
185
+ isStopped,
186
+ isComplete
187
+ } = this;
188
+
189
+ if (hasError) {
190
+ subscriber.error(thrownError);
191
+ } else if (isStopped || isComplete) {
192
+ hasValue && tsplus_module_3.match_(value, e => subscriber.error(e), a => subscriber.next(a));
193
+ subscriber.complete();
194
+ }
195
+ }
196
+
197
+ next(value) {
198
+ if (!this.isStopped) {
199
+ this.value = tsplus_module_4.right(value);
200
+ this.hasValue = true;
201
+ }
202
+ }
203
+
204
+ error(err) {
205
+ if (!this.isStopped) {
206
+ this.value = tsplus_module_4.left(err);
207
+ this.hasValue = true;
208
+ }
209
+ }
210
+
211
+ complete() {
212
+ const {
213
+ hasValue,
214
+ value,
215
+ isComplete
216
+ } = this;
217
+
218
+ if (!isComplete) {
219
+ this.isComplete = true;
220
+ hasValue && tsplus_module_3.match_(value, e => super.error(e), a => super.next(a));
221
+ super.complete();
222
+ }
223
+ }
224
+
225
+ }
226
+
227
+ exports.AsyncSubject = AsyncSubject;
228
+ //# sourceMappingURL=Subject.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Subject.cjs","mappings":"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","names":["Subject","tsplus_module_1","constructor","lift","operator","subject","AnonymousSubject","next","value","throwIfClosed","isStopped","copy","observers","slice","observer","error","err","hasError","thrownError","length","shift","complete","unsubscribe","closed","observed","Error","trySubscribe","subscriber","subscribeInternal","checkFinalizedStatuses","innerSubscribe","tsplus_module_2","push","Subscription","asObservable","observable","Observable","source","destination","subscribe","AsyncSubject","hasValue","isComplete","tsplus_module_3","e","a","tsplus_module_4"],"sourceRoot":"","sources":["../_src/Subject.ts"],"sourcesContent":[null]}
@@ -0,0 +1,172 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SubscriberTypeId = exports.Subscriber = exports.SafeSubscriber = exports.EMPTY_OBSERVER = void 0;
7
+ exports.isSubscriber = isSubscriber;
8
+
9
+ var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/Subscription"));
10
+
11
+ var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/util/predicates"));
12
+
13
+ var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/internal/util"));
14
+
15
+ var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Cause/api"));
16
+
17
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
18
+
19
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
20
+
21
+ var _a;
22
+
23
+ const SubscriberTypeId = /*#__PURE__*/Symbol.for("fncts.observable.Subscriber");
24
+ exports.SubscriberTypeId = SubscriberTypeId;
25
+
26
+ class Subscriber extends tsplus_module_1.Subscription {
27
+ constructor(observer) {
28
+ super();
29
+ this[_a] = SubscriberTypeId;
30
+ this.isStopped = false;
31
+
32
+ if (observer) {
33
+ this.observer = observer;
34
+
35
+ if (tsplus_module_1.isSubscription(observer)) {
36
+ observer.add(this);
37
+ }
38
+ } else {
39
+ this.observer = EMPTY_OBSERVER;
40
+ }
41
+ }
42
+
43
+ next(value) {
44
+ if (!this.isStopped) {
45
+ this._next(value);
46
+ }
47
+ }
48
+
49
+ error(err) {
50
+ if (!this.isStopped) {
51
+ this.isStopped = true;
52
+
53
+ this._error(err);
54
+ }
55
+ }
56
+
57
+ complete() {
58
+ if (!this.isStopped) {
59
+ this.isStopped = true;
60
+
61
+ this._complete();
62
+ }
63
+ }
64
+
65
+ unsubscribe() {
66
+ if (!this.closed) {
67
+ this.isStopped = true;
68
+ super.unsubscribe();
69
+ this.observer = null;
70
+ }
71
+ }
72
+
73
+ _next(value) {
74
+ this.observer.next(value);
75
+ }
76
+
77
+ _error(err) {
78
+ try {
79
+ this.observer.error(err);
80
+ } finally {
81
+ this.unsubscribe();
82
+ }
83
+ }
84
+
85
+ _complete() {
86
+ try {
87
+ this.observer.complete();
88
+ } finally {
89
+ this.unsubscribe();
90
+ }
91
+ }
92
+
93
+ }
94
+
95
+ exports.Subscriber = Subscriber;
96
+ _a = SubscriberTypeId;
97
+
98
+ class SafeSubscriber extends Subscriber {
99
+ constructor(observer) {
100
+ super();
101
+ let next = undefined;
102
+ let error = undefined;
103
+ let complete = undefined;
104
+
105
+ if (tsplus_module_2.isFunction(observer)) {
106
+ next = observer;
107
+ } else if (observer) {
108
+ ({
109
+ next,
110
+ error,
111
+ complete
112
+ } = observer);
113
+ next = next?.bind(observer);
114
+ error = error?.bind(observer);
115
+ complete = complete?.bind(observer);
116
+ }
117
+
118
+ if (error) {
119
+ this.observer = {
120
+ next: next ? wrapDefectHandler(next, error) : tsplus_module_3.noop,
121
+ error: error ? wrapDefectHandler(error, error) : tsplus_module_3.noop,
122
+ complete: complete ? wrapDefectHandler(complete, error) : tsplus_module_3.noop
123
+ };
124
+ } else {
125
+ this.observer = {
126
+ next: next ? wrapThrowHandler(next) : tsplus_module_3.noop,
127
+ error: wrapThrowHandler(error ?? defaultErrorHandler),
128
+ complete: complete ? wrapThrowHandler(complete) : tsplus_module_3.noop
129
+ };
130
+ }
131
+ }
132
+
133
+ }
134
+
135
+ exports.SafeSubscriber = SafeSubscriber;
136
+
137
+ function wrapDefectHandler(handler, onDefect) {
138
+ return (...args) => {
139
+ try {
140
+ handler(...args);
141
+ } catch (err) {
142
+ onDefect(tsplus_module_4.halt(err));
143
+ }
144
+ };
145
+ }
146
+
147
+ function wrapThrowHandler(handler) {
148
+ return (...args) => {
149
+ try {
150
+ handler(...args);
151
+ } catch (err) {
152
+ tsplus_module_3.reportUnhandledError(err);
153
+ }
154
+ };
155
+ }
156
+
157
+ function defaultErrorHandler(error) {
158
+ throw error;
159
+ }
160
+
161
+ const EMPTY_OBSERVER = {
162
+ closed: true,
163
+ next: tsplus_module_3.noop,
164
+ error: defaultErrorHandler,
165
+ complete: tsplus_module_3.noop
166
+ };
167
+ exports.EMPTY_OBSERVER = EMPTY_OBSERVER;
168
+
169
+ function isSubscriber(u) {
170
+ return tsplus_module_2.isObject(u) && SubscriberTypeId in u;
171
+ }
172
+ //# sourceMappingURL=Subscriber.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Subscriber.cjs","mappings":"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","names":["SubscriberTypeId","Symbol","for","Subscriber","tsplus_module_1","constructor","observer","add","EMPTY_OBSERVER","next","value","isStopped","_next","error","err","_error","complete","_complete","unsubscribe","closed","SafeSubscriber","undefined","tsplus_module_2","bind","wrapDefectHandler","tsplus_module_3","noop","wrapThrowHandler","defaultErrorHandler","handler","onDefect","args","tsplus_module_4","isSubscriber","u"],"sourceRoot":"","sources":["../_src/Subscriber.ts"],"sourcesContent":[null]}
@@ -0,0 +1,174 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.UnsubscribeErrorTypeId = exports.UnsubscribeError = exports.SubscriptionTypeId = exports.Subscription = exports.EMPTY_SUBSCRIPTION = void 0;
7
+ exports.isSubscription = isSubscription;
8
+ exports.isUnsubscribeError = isUnsubscribeError;
9
+
10
+ var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/util/predicates"));
11
+
12
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
+
14
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
+
16
+ var _a, _b;
17
+
18
+ const SubscriptionTypeId = /*#__PURE__*/Symbol.for("@fncts/observable/Subscription");
19
+ /**
20
+ * @tsplus type fncts.observable.Subscription
21
+ * @tsplus companion fncts.observable.SubscriptionOps
22
+ */
23
+
24
+ exports.SubscriptionTypeId = SubscriptionTypeId;
25
+
26
+ class Subscription {
27
+ constructor(initialFinalizer) {
28
+ this.initialFinalizer = initialFinalizer;
29
+ this[_a] = SubscriptionTypeId;
30
+ this.closed = false;
31
+ this.finalizers = null;
32
+ this.parents = null;
33
+ }
34
+
35
+ unsubscribe() {
36
+ let errors;
37
+
38
+ if (!this.closed) {
39
+ this.closed = true;
40
+ const {
41
+ parents,
42
+ initialFinalizer,
43
+ finalizers
44
+ } = this;
45
+
46
+ if (parents) {
47
+ this.parents = null;
48
+
49
+ for (const parent of parents) {
50
+ parent.remove(this);
51
+ }
52
+ }
53
+
54
+ if (initialFinalizer) {
55
+ try {
56
+ initialFinalizer();
57
+ } catch (e) {
58
+ errors = isUnsubscribeError(e) ? e.errors : [e];
59
+ }
60
+ }
61
+
62
+ if (finalizers) {
63
+ this.finalizers = null;
64
+
65
+ for (const finalizer of finalizers) {
66
+ try {
67
+ executeFinalizer(finalizer);
68
+ } catch (e) {
69
+ errors || (errors = []);
70
+
71
+ if (isUnsubscribeError(e)) {
72
+ errors.push(...e.errors);
73
+ } else {
74
+ errors.push(e);
75
+ }
76
+ }
77
+ }
78
+ }
79
+ }
80
+
81
+ if (errors) {
82
+ throw new UnsubscribeError(errors);
83
+ }
84
+ }
85
+
86
+ add(finalizer) {
87
+ if (finalizer && finalizer !== this) {
88
+ if (this.closed) {
89
+ executeFinalizer(finalizer);
90
+ } else {
91
+ if (isSubscription(finalizer)) {
92
+ if (finalizer.closed || finalizer.hasParent(this)) {
93
+ return;
94
+ }
95
+
96
+ finalizer.addParent(this);
97
+ }
98
+
99
+ if (!this.finalizers) {
100
+ this.finalizers = new Set();
101
+ }
102
+
103
+ this.finalizers.add(finalizer);
104
+ }
105
+ }
106
+ }
107
+
108
+ hasParent(parent) {
109
+ const parentage = this.parents;
110
+ return parentage ? parentage.has(parent) : false;
111
+ }
112
+
113
+ addParent(parent) {
114
+ if (!this.parents) {
115
+ this.parents = new Set();
116
+ }
117
+
118
+ this.parents.add(parent);
119
+ }
120
+
121
+ removeParent(parent) {
122
+ this.parents?.delete(parent);
123
+ }
124
+
125
+ remove(finalizer) {
126
+ this.finalizers?.delete(finalizer);
127
+
128
+ if (isSubscription(finalizer)) {
129
+ finalizer.removeParent(this);
130
+ }
131
+ }
132
+
133
+ }
134
+
135
+ exports.Subscription = Subscription;
136
+ _a = SubscriptionTypeId;
137
+
138
+ function isSubscription(u) {
139
+ return tsplus_module_1.isObject(u) && SubscriptionTypeId in u;
140
+ }
141
+
142
+ function executeFinalizer(finalizer) {
143
+ return finalizer && ("unsubscribe" in finalizer ? finalizer.unsubscribe() : finalizer());
144
+ }
145
+ /**
146
+ * @tsplus static fncts.observable.SubscriptionOps empty
147
+ */
148
+
149
+
150
+ const EMPTY_SUBSCRIPTION = /*#__PURE__*/(() => {
151
+ const empty = /*#__PURE__*/new Subscription();
152
+ empty.closed = true;
153
+ return empty;
154
+ })();
155
+
156
+ exports.EMPTY_SUBSCRIPTION = EMPTY_SUBSCRIPTION;
157
+ const UnsubscribeErrorTypeId = /*#__PURE__*/Symbol.for("@principia/observable/UnsubscribeError");
158
+ exports.UnsubscribeErrorTypeId = UnsubscribeErrorTypeId;
159
+
160
+ class UnsubscribeError {
161
+ constructor(errors) {
162
+ this.errors = errors;
163
+ this[_b] = UnsubscribeErrorTypeId;
164
+ }
165
+
166
+ }
167
+
168
+ exports.UnsubscribeError = UnsubscribeError;
169
+ _b = UnsubscribeErrorTypeId;
170
+
171
+ function isUnsubscribeError(u) {
172
+ return tsplus_module_1.isObject(u) && UnsubscribeErrorTypeId in u;
173
+ }
174
+ //# sourceMappingURL=Subscription.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Subscription.cjs","mappings":"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","names":["SubscriptionTypeId","Symbol","for","Subscription","constructor","initialFinalizer","unsubscribe","errors","closed","parents","finalizers","parent","remove","e","isUnsubscribeError","finalizer","executeFinalizer","push","UnsubscribeError","add","isSubscription","hasParent","addParent","Set","parentage","has","removeParent","delete","u","tsplus_module_1","EMPTY_SUBSCRIPTION","empty","UnsubscribeErrorTypeId"],"sourceRoot":"","sources":["../_src/Subscription.ts"],"sourcesContent":[null]}