@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,32 @@
1
+ import { ObservableInput, Subscribable } from "@fncts/observable/Observable";
2
+ import { Operator } from "@fncts/observable/Operator";
3
+ import { Subscriber, isSubscriber, SafeSubscriber } from "@fncts/observable/Subscriber";
4
+ import { Finalizer, Subscription } from "@fncts/observable/Subscription";
5
+ import { Observer } from "@fncts/observable/Observer";
6
+ import { Cause } from "@fncts/base/data/Cause";
7
+ import { noop } from "@fncts/observable/internal/util";
8
+ export declare namespace Observable {
9
+ type TypeOf<X> = X extends ObservableInput<any, infer A> ? A : never;
10
+ type ErrorOf<X> = X extends ObservableInput<infer E, any> ? E : never;
11
+ }
12
+ export declare const ObservableTypeId: unique symbol;
13
+ export declare type ObservableTypeId = typeof ObservableTypeId;
14
+ /**
15
+ * @tsplus type fncts.observable.Observable
16
+ * @tsplus companion fncts.observable.ObservableOps
17
+ */
18
+ export declare class Observable<E, A> implements Subscribable<E, A> {
19
+ readonly _E: () => E;
20
+ readonly _A: () => A;
21
+ readonly [ObservableTypeId]: ObservableTypeId;
22
+ protected source: Observable<any, any> | undefined;
23
+ protected operator: Operator<E, A> | undefined;
24
+ constructor(subscribe?: (this: Observable<E, A>, subscriber: Subscriber<E, A>) => Finalizer);
25
+ lift<E1, A1>(operator: Operator<E1, A1>): Observable<E1, A1>;
26
+ subscribe(observer?: Partial<Observer<E, A>>): Subscription;
27
+ subscribe(observer?: (value: A) => void): Subscription;
28
+ protected trySubscribe(subscriber: Subscriber<E, A>): Finalizer;
29
+ protected subscribeInternal(subscriber: Subscriber<E, A>): Finalizer;
30
+ }
31
+ export declare const EMPTY: Observable<never, never>;
32
+ export declare function isObservable(u: unknown): u is Observable<unknown, unknown>;
@@ -0,0 +1,6 @@
1
+ import { TimestampProvider } from "@fncts/observable/internal/timestampProvider";
2
+ import { Observable } from "@fncts/observable/Observable";
3
+ export declare function animationFrames(timestampProvider?: TimestampProvider): Observable<never, {
4
+ timestamp: number;
5
+ elapsed: number;
6
+ }>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,19 @@
1
+ export * from "./Observable/api.js";
2
+ export * from "./Observable/definition.js";
3
+ export * from "./Observable/instances.js";
4
+ export * from "./Observable/api/connect.js";
5
+ export * from "./Observable/api/connectable.js";
6
+ export * from "./Observable/api/fromCallback.js";
7
+ export * from "./Observable/api/fromEvent.js";
8
+ export * from "./Observable/api/index.js";
9
+ export * from "./Observable/api/race.js";
10
+ export * from "./Observable/api/raceWith.js";
11
+ export * from "./Observable/api/repeatWhen.js";
12
+ export * from "./Observable/api/retryWhen.js";
13
+ export * from "./Observable/api/share.js";
14
+ export * from "./Observable/api/window.js";
15
+ export * from "./Observable/api/windowCount.js";
16
+ export * from "./Observable/api/windowTime.js";
17
+ export * from "./Observable/api/windowToggle.js";
18
+ export * from "./Observable/api/windowWhen.js";
19
+ export * from "./Observable/dom/animationFrames.js";
package/Observer.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ import { Cause } from "@fncts/base/data/Cause";
2
+ export interface Observer<E, A> {
3
+ next: (value: A) => void;
4
+ error: (err: Cause<E>) => void;
5
+ complete: () => void;
6
+ }
package/Operator.d.ts ADDED
@@ -0,0 +1,19 @@
1
+ import { Subscriber } from "@fncts/observable/Subscriber";
2
+ import { Finalizer } from "@fncts/observable/Subscription";
3
+ import { Observer } from "@fncts/observable/Observer";
4
+ import { Cause } from "@fncts/base/data/Cause";
5
+ import { Observable } from "@fncts/observable/Observable";
6
+ export interface Operator<E, A> {
7
+ call(subscriber: Subscriber<E, A>, source: any): Finalizer;
8
+ }
9
+ export declare class OperatorSubscriber<E, A> extends Subscriber<E, A> {
10
+ private onFinalize?;
11
+ constructor(destination: Subscriber<any, any>, observer: Partial<Observer<E, A>>, onFinalize?: (() => void) | undefined);
12
+ unsubscribe(): void;
13
+ }
14
+ export declare function operatorSubscriber<E, A, E1, A1>(destination: Subscriber<E1, A1>, observer: Partial<Observer<E, A>>, onFinalize?: () => void): OperatorSubscriber<E, A>;
15
+ /**
16
+ * @tsplus fluent fncts.observable.Observable operate
17
+ * @tsplus location "@fncts/observable/Operator"
18
+ */
19
+ export declare function operate_<E, A, E1, A1>(source: Observable<E, A>, f: (source: Observable<E, A>, subscriber: Subscriber<E1, A1>) => (() => void) | void): Observable<E1, A1>;
package/Scheduler.d.ts ADDED
@@ -0,0 +1,22 @@
1
+ import { TimestampProvider } from "@fncts/observable/internal/timestampProvider";
2
+ import { Subscription } from "@fncts/observable/Subscription";
3
+ import { Action } from "@fncts/observable/Action";
4
+ import { Subscriber } from "@fncts/observable/Subscriber";
5
+ export interface SchedulerLike extends TimestampProvider {
6
+ schedule<T>(work: (this: SchedulerAction<T>, state?: T) => void, delay?: number, state?: T): Subscription;
7
+ }
8
+ export interface SchedulerAction<T> extends Subscription {
9
+ schedule(state?: T, delay?: number): Subscription;
10
+ }
11
+ export declare const SchedulerTypeId: unique symbol;
12
+ export declare type SchedulerTypeId = typeof SchedulerTypeId;
13
+ export declare class Scheduler implements SchedulerLike {
14
+ private actionConstructor;
15
+ readonly [SchedulerTypeId]: SchedulerTypeId;
16
+ now: () => number;
17
+ constructor(actionConstructor: typeof Action, now?: () => number);
18
+ schedule<T>(work: (this: SchedulerAction<T>, state?: T) => void, delay?: number, state?: T): Subscription;
19
+ static now: () => number;
20
+ }
21
+ export declare function isScheduler(u: unknown): u is Scheduler;
22
+ export declare function caughtSchedule<E, A>(subscriber: Subscriber<E, A>, scheduler: SchedulerLike, execute: (this: SchedulerAction<any>) => void, delay?: number): Subscription;
package/Subject.d.ts ADDED
@@ -0,0 +1,48 @@
1
+ import { Observer } from "@fncts/observable/Observer";
2
+ import { Subscribable, Observable } from "@fncts/observable/Observable";
3
+ import { SubscriptionLike, Finalizer, Subscription } from "@fncts/observable/Subscription";
4
+ import { Cause } from "@fncts/base/data/Cause";
5
+ import { Operator } from "@fncts/observable/Operator";
6
+ import { Subscriber } from "@fncts/observable/Subscriber";
7
+ import { Either } from "@fncts/base/data/Either";
8
+ export interface SubjectLike<E, A> extends Observer<E, A>, Subscribable<E, A> {
9
+ }
10
+ export declare class Subject<E, A> extends Observable<E, A> implements SubscriptionLike {
11
+ closed: boolean;
12
+ protected observers: Array<Observer<E, A>>;
13
+ protected isStopped: boolean;
14
+ protected hasError: boolean;
15
+ protected thrownError: Cause<E>;
16
+ constructor();
17
+ lift<E1, B>(operator: Operator<E1, B>): Observable<E1, B>;
18
+ next(value: A): void;
19
+ error(err: Cause<E>): void;
20
+ complete(): void;
21
+ unsubscribe(): void;
22
+ get observed(): boolean;
23
+ protected throwIfClosed(): void;
24
+ protected trySubscribe(subscriber: Subscriber<E, A>): Finalizer;
25
+ protected subscribeInternal(subscriber: Subscriber<E, A>): Subscription;
26
+ protected innerSubscribe(subscriber: Subscriber<E, A>): Subscription;
27
+ protected checkFinalizedStatuses(subscriber: Subscriber<any, any>): void;
28
+ asObservable(): Observable<E, A>;
29
+ }
30
+ export declare class AnonymousSubject<E, A> extends Subject<E, A> {
31
+ protected destination?: import("./Observer").Observer<E, A> | undefined;
32
+ constructor(destination?: import("./Observer").Observer<E, A> | undefined, source?: Observable<E, A>);
33
+ next(value: A): void;
34
+ error(err: Cause<E>): void;
35
+ complete(): void;
36
+ /** @internal */
37
+ protected subscribeInternal<E, A>(subscriber: Subscriber<E, A>): import("./Subscription").Subscription;
38
+ }
39
+ export declare class AsyncSubject<E, A> extends Subject<E, A> {
40
+ private value;
41
+ private hasValue;
42
+ private isComplete;
43
+ /** @internal */
44
+ protected checkFinalizedStatuses(subscriber: Subscriber<E, A>): void;
45
+ next(value: A): void;
46
+ error(err: Cause<E>): void;
47
+ complete(): void;
48
+ }
@@ -0,0 +1,27 @@
1
+ import { Subscription, isSubscription } from "@fncts/observable/Subscription";
2
+ import { Observer } from "@fncts/observable/Observer";
3
+ import { Cause } from "@fncts/base/data/Cause";
4
+ import { isFunction } from "@fncts/base/util/predicates";
5
+ import { noop } from "@fncts/observable/internal/util";
6
+ export declare const SubscriberTypeId: unique symbol;
7
+ export declare type SubscriberTypeId = typeof SubscriberTypeId;
8
+ export declare class Subscriber<E, A> extends Subscription implements Observer<E, A> {
9
+ readonly [SubscriberTypeId]: SubscriberTypeId;
10
+ private isStopped;
11
+ protected observer: Subscriber<E, A> | Observer<E, A> | null;
12
+ constructor(observer?: Subscriber<E, A> | Observer<E, A>);
13
+ next(value: A): void;
14
+ error(err: Cause<E>): void;
15
+ complete(): void;
16
+ unsubscribe(): void;
17
+ _next(value: A): void;
18
+ _error(err: Cause<E>): void;
19
+ _complete(): void;
20
+ }
21
+ export declare class SafeSubscriber<E, A> extends Subscriber<E, A> {
22
+ constructor(observer?: Partial<Observer<E, A>> | ((value: A) => void));
23
+ }
24
+ export declare const EMPTY_OBSERVER: Readonly<Observer<any, any>> & {
25
+ closed: true;
26
+ };
27
+ export declare function isSubscriber(u: unknown): u is Subscriber<any, any>;
@@ -0,0 +1,41 @@
1
+ export interface Unsubscribable {
2
+ readonly unsubscribe: () => void;
3
+ }
4
+ export interface SubscriptionLike extends Unsubscribable {
5
+ readonly closed: boolean;
6
+ }
7
+ export declare type Finalizer = Unsubscribable | (() => void) | void;
8
+ export declare const SubscriptionTypeId: unique symbol;
9
+ export declare type SubscriptionTypeId = typeof SubscriptionTypeId;
10
+ /**
11
+ * @tsplus type fncts.observable.Subscription
12
+ * @tsplus companion fncts.observable.SubscriptionOps
13
+ */
14
+ export declare class Subscription implements SubscriptionLike {
15
+ private initialFinalizer?;
16
+ readonly [SubscriptionTypeId]: SubscriptionTypeId;
17
+ closed: boolean;
18
+ private finalizers;
19
+ private parents;
20
+ constructor(initialFinalizer?: (() => void) | undefined);
21
+ unsubscribe(): void;
22
+ add(finalizer: Finalizer): void;
23
+ private hasParent;
24
+ private addParent;
25
+ private removeParent;
26
+ remove(finalizer: Finalizer): void;
27
+ }
28
+ export declare function isSubscription(u: unknown): u is Subscription;
29
+ /**
30
+ * @tsplus static fncts.observable.SubscriptionOps empty
31
+ * @tsplus location "@fncts/observable/Subscription"
32
+ */
33
+ export declare const EMPTY_SUBSCRIPTION: Subscription;
34
+ export declare const UnsubscribeErrorTypeId: unique symbol;
35
+ export declare type UnsubscribeErrorTypeId = typeof UnsubscribeErrorTypeId;
36
+ export declare class UnsubscribeError {
37
+ readonly errors: unknown[];
38
+ readonly [UnsubscribeErrorTypeId]: UnsubscribeErrorTypeId;
39
+ constructor(errors: unknown[]);
40
+ }
41
+ export declare function isUnsubscribeError(u: unknown): u is UnsubscribeError;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Action = void 0;
7
+
8
+ var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/Subscription"));
9
+
10
+ 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); }
11
+
12
+ 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; }
13
+
14
+ /* eslint-disable @typescript-eslint/no-unused-vars */
15
+ class Action extends tsplus_module_1.Subscription {
16
+ constructor(scheduler, work) {
17
+ super();
18
+ }
19
+
20
+ schedule(state, delay = 0) {
21
+ return this;
22
+ }
23
+
24
+ }
25
+
26
+ exports.Action = Action;
27
+ //# sourceMappingURL=Action.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Action.cjs","mappings":";;;;;;;;;;;;;AAAA;AACM,MAAOA,MAAP,SAAyBC,4BAAzB,CAAqC;EACzCC,YAAYC,SAAZ,EAAkCC,IAAlC,EAAqF;IACnF;EACD;;EAEMC,QAAQ,CAACC,KAAD,EAAYC,KAAK,GAAG,CAApB,EAAqB;IAClC,OAAO,IAAP;EACD;;AAPwC","names":["Action","tsplus_module_1","constructor","scheduler","work","schedule","state","delay"],"sourceRoot":"","sources":["../_src/Action.ts"],"sourcesContent":[null]}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AnimationFrameAction = void 0;
7
+
8
+ var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/AsyncAction"));
9
+
10
+ var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/internal/animationFrameProvider"));
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
+ class AnimationFrameAction extends tsplus_module_1.AsyncAction {
17
+ constructor(scheduler, work) {
18
+ super(scheduler, work);
19
+ this.scheduler = scheduler;
20
+ this.work = work;
21
+ }
22
+
23
+ requestAsyncId(scheduler, delay = 0) {
24
+ if (delay != null && delay > 0) {
25
+ return super.requestAsyncId(scheduler, delay);
26
+ }
27
+
28
+ scheduler.actions.push(this);
29
+ return scheduler.scheduled || (scheduler.scheduled = tsplus_module_2.animationFrameProvider.requestAnimationFrame(() => scheduler.flush(undefined)));
30
+ }
31
+
32
+ recycleAsyncId(scheduler, id, delay = 0) {
33
+ if (delay != null && delay > 0 || delay == null && this.delay > 0) {
34
+ super.recycleAsyncId(scheduler, delay);
35
+ }
36
+
37
+ if (scheduler.actions.length === 0) {
38
+ tsplus_module_2.animationFrameProvider.cancelAnimationFrame(id);
39
+ scheduler.scheduled = undefined;
40
+ }
41
+
42
+ return undefined;
43
+ }
44
+
45
+ }
46
+
47
+ exports.AnimationFrameAction = AnimationFrameAction;
48
+ //# sourceMappingURL=AnimationFrameAction.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnimationFrameAction.cjs","mappings":";;;;;;;;;;;;;;;AAAM,MAAOA,oBAAP,SAAuCC,2BAAvC,CAAqD;EACzDC,YACYC,SADZ,EAEYC,IAFZ,EAE+D;IAE7D,MAAMD,SAAN,EAAiBC,IAAjB;IAHU;IACA;EAGX;;EAESC,cAAc,CAACF,SAAD,EAAqCG,KAAK,GAAG,CAA7C,EAA8C;IACpE,IAAIA,KAAK,IAAI,IAAT,IAAiBA,KAAK,GAAG,CAA7B,EAAgC;MAC9B,OAAO,MAAMD,cAAN,CAAqBF,SAArB,EAAgCG,KAAhC,CAAP;IACD;;IACDH,SAAS,CAACI,OAAV,CAAkBC,IAAlB,CAAuB,IAAvB;IACA,OAAQL,SAAS,CAACM,SAAV,cAAS,CAACA,SAAV,GAAwBC,uCAAuBC,qBAAvB,CAA6C,MAAMR,SAAS,CAACS,KAAV,CAAgBC,SAAhB,CAAnD,CAAxB,CAAR;EACD;;EAESC,cAAc,CAACX,SAAD,EAAqCY,EAArC,EAA+CT,KAAK,GAAG,CAAvD,EAAwD;IAC9E,IAAKA,KAAK,IAAI,IAAT,IAAiBA,KAAK,GAAG,CAA1B,IAAiCA,KAAK,IAAI,IAAT,IAAiB,KAAKA,KAAL,GAAc,CAApE,EAAwE;MACtE,MAAMQ,cAAN,CAAqBX,SAArB,EAAgCG,KAAhC;IACD;;IACD,IAAIH,SAAS,CAACI,OAAV,CAAkBS,MAAlB,KAA6B,CAAjC,EAAoC;MAClCN,uCAAuBO,oBAAvB,CAA4CF,EAA5C;MACAZ,SAAS,CAACM,SAAV,GAAsBI,SAAtB;IACD;;IACD,OAAOA,SAAP;EACD;;AAzBwD","names":["AnimationFrameAction","tsplus_module_1","constructor","scheduler","work","requestAsyncId","delay","actions","push","scheduled","tsplus_module_2","requestAnimationFrame","flush","undefined","recycleAsyncId","id","length","cancelAnimationFrame"],"sourceRoot":"","sources":["../_src/AnimationFrameAction.ts"],"sourcesContent":[null]}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.animationFrameScheduler = exports.AnimationFrameScheduler = void 0;
7
+
8
+ var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/AsyncScheduler"));
9
+
10
+ var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/AnimationFrameAction"));
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
+ /* eslint-disable no-param-reassign */
17
+ class AnimationFrameScheduler extends tsplus_module_1.AsyncScheduler {
18
+ flush(action) {
19
+ this.active = true;
20
+ this.scheduled = undefined;
21
+ const {
22
+ actions
23
+ } = this;
24
+ let error;
25
+ let index = -1;
26
+ action = action || actions.shift();
27
+ const count = actions.length;
28
+
29
+ do {
30
+ if (error = action.execute(action.state, action.delay)) {
31
+ break;
32
+ }
33
+ } while (++index < count && (action = actions.shift()));
34
+
35
+ this.active = false;
36
+
37
+ if (error) {
38
+ while (++index < count && (action = actions.shift())) {
39
+ action.unsubscribe();
40
+ }
41
+
42
+ throw error;
43
+ }
44
+ }
45
+
46
+ }
47
+
48
+ exports.AnimationFrameScheduler = AnimationFrameScheduler;
49
+ const animationFrameScheduler = /*#__PURE__*/new AnimationFrameScheduler(tsplus_module_2.AnimationFrameAction);
50
+ exports.animationFrameScheduler = animationFrameScheduler;
51
+ //# sourceMappingURL=AnimationFrameScheduler.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnimationFrameScheduler.cjs","mappings":";;;;;;;;;;;;;;;AAAA;AACM,MAAOA,uBAAP,SAAuCC,8BAAvC,CAAqD;EAClDC,KAAK,CAACC,MAAD,EAA0B;IACpC,KAAKC,MAAL,GAAiB,IAAjB;IACA,KAAKC,SAAL,GAAiBC,SAAjB;IAEA,MAAM;MAAEC;IAAF,IAAc,IAApB;IACA,IAAIC,KAAJ;IACA,IAAIC,KAAK,GAAW,CAAC,CAArB;IACAN,MAAM,GAAcA,MAAM,IAAII,OAAO,CAACG,KAAR,EAA9B;IACA,MAAMC,KAAK,GAASJ,OAAO,CAACK,MAA5B;;IAEA,GAAG;MACD,IAAKJ,KAAK,GAAGL,MAAM,CAACU,OAAP,CAAeV,MAAM,CAACW,KAAtB,EAA6BX,MAAM,CAACY,KAApC,CAAb,EAA2D;QACzD;MACD;IACF,CAJD,QAIS,EAAEN,KAAF,GAAUE,KAAV,KAAoBR,MAAM,GAAGI,OAAO,CAACG,KAAR,EAA7B,CAJT;;IAMA,KAAKN,MAAL,GAAc,KAAd;;IAEA,IAAII,KAAJ,EAAW;MACT,OAAO,EAAEC,KAAF,GAAUE,KAAV,KAAoBR,MAAM,GAAGI,OAAO,CAACG,KAAR,EAA7B,CAAP,EAAsD;QACpDP,MAAM,CAACa,WAAP;MACD;;MACD,MAAMR,KAAN;IACD;EACF;;AAzBwD;;;AA4BpD,MAAMS,uBAAuB,gBAAG,IAAIjB,uBAAJ,CAA2BkB,gBAACC,oBAA5B,CAAhC","names":["AnimationFrameScheduler","tsplus_module_1","flush","action","active","scheduled","undefined","actions","error","index","shift","count","length","execute","state","delay","unsubscribe","animationFrameScheduler","tsplus_module_2","AnimationFrameAction"],"sourceRoot":"","sources":["../_src/AnimationFrameScheduler.ts"],"sourcesContent":[null]}
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AsyncAction = void 0;
7
+
8
+ var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/Action"));
9
+
10
+ var _intervalProvider = /*#__PURE__*/require("@fncts/observable/internal/intervalProvider");
11
+
12
+ var _util = /*#__PURE__*/require("@fncts/observable/internal/util");
13
+
14
+ 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); }
15
+
16
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
+
18
+ class AsyncAction extends tsplus_module_1.Action {
19
+ constructor(scheduler, work) {
20
+ super(scheduler, work);
21
+ this.scheduler = scheduler;
22
+ this.work = work;
23
+ this.pending = false;
24
+ }
25
+
26
+ schedule(state, delay = 0) {
27
+ if (this.closed) {
28
+ return this;
29
+ }
30
+
31
+ this.state = state;
32
+ const id = this.id;
33
+ const scheduler = this.scheduler;
34
+
35
+ if (id != null) {
36
+ this.id = this.recycleAsyncId(scheduler, id, delay);
37
+ }
38
+
39
+ this.pending = true;
40
+ this.delay = delay;
41
+ this.id = this.id || this.requestAsyncId(scheduler, this.id, delay);
42
+ return this;
43
+ }
44
+
45
+ requestAsyncId(scheduler, _id, delay = 0) {
46
+ return _intervalProvider.intervalProvider.setInterval(scheduler.flush.bind(scheduler, this), delay);
47
+ }
48
+
49
+ recycleAsyncId(_scheduler, id, delay = 0) {
50
+ if (delay != null && this.delay === delay && this.pending === false) {
51
+ return id;
52
+ }
53
+
54
+ _intervalProvider.intervalProvider.clearInterval(id);
55
+
56
+ return undefined;
57
+ }
58
+
59
+ execute(state, delay) {
60
+ if (this.closed) {
61
+ throw new Error("executing a cancelled action");
62
+ }
63
+
64
+ this.pending = false;
65
+ const error = this.executeInternal(state, delay);
66
+
67
+ if (error) {
68
+ return error;
69
+ } else if (this.pending === false && this.id != null) {
70
+ this.id = this.recycleAsyncId(this.scheduler, this.id, null);
71
+ }
72
+ }
73
+
74
+ executeInternal(state, _delay) {
75
+ let errored = false;
76
+ let errorValue;
77
+
78
+ try {
79
+ this.work(state);
80
+ } catch (e) {
81
+ errored = true;
82
+ errorValue = e ? e : new Error("Scheduled action threw falsy error");
83
+ }
84
+
85
+ if (errored) {
86
+ this.unsubscribe();
87
+ return errorValue;
88
+ }
89
+ }
90
+
91
+ unsubscribe() {
92
+ if (!this.closed) {
93
+ const {
94
+ id,
95
+ scheduler
96
+ } = this;
97
+ const {
98
+ actions
99
+ } = scheduler;
100
+ this.work = this.state = this.scheduler = null;
101
+ this.pending = false;
102
+ (0, _util.arrayRemove)(actions, this);
103
+
104
+ if (id != null) {
105
+ this.id = this.recycleAsyncId(scheduler, id, null);
106
+ }
107
+
108
+ this.delay = null;
109
+ super.unsubscribe();
110
+ }
111
+ }
112
+
113
+ }
114
+
115
+ exports.AsyncAction = AsyncAction;
116
+ //# sourceMappingURL=AsyncAction.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AsyncAction.cjs","mappings":"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","names":["AsyncAction","tsplus_module_1","constructor","scheduler","work","schedule","state","delay","closed","id","recycleAsyncId","pending","requestAsyncId","_id","intervalProvider","setInterval","flush","bind","_scheduler","clearInterval","undefined","execute","Error","error","executeInternal","_delay","errored","errorValue","e","unsubscribe","actions"],"sourceRoot":"","sources":["../_src/AsyncAction.ts"],"sourcesContent":[null]}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.asyncScheduler = exports.AsyncScheduler = void 0;
7
+
8
+ var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/Scheduler"));
9
+
10
+ var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/AsyncAction"));
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
+ class AsyncScheduler extends tsplus_module_1.Scheduler {
17
+ constructor(actionConstructor, now = tsplus_module_1.Scheduler.now) {
18
+ super(actionConstructor, now);
19
+ this.actions = [];
20
+ this.active = false;
21
+ this.scheduled = undefined;
22
+ }
23
+
24
+ flush(action) {
25
+ const {
26
+ actions
27
+ } = this;
28
+
29
+ if (this.active) {
30
+ actions.push(action);
31
+ return;
32
+ }
33
+
34
+ let error;
35
+ this.active = true;
36
+
37
+ do {
38
+ if (error = action.execute(action.state, action.delay)) {
39
+ break;
40
+ } // eslint-disable-next-line no-param-reassign
41
+
42
+ } while (action = actions.shift());
43
+
44
+ this.active = false;
45
+
46
+ if (error) {
47
+ // eslint-disable-next-line no-param-reassign
48
+ while (action = actions.shift()) {
49
+ action.unsubscribe();
50
+ }
51
+
52
+ throw error;
53
+ }
54
+ }
55
+
56
+ }
57
+
58
+ exports.AsyncScheduler = AsyncScheduler;
59
+ const asyncScheduler = /*#__PURE__*/new AsyncScheduler(tsplus_module_2.AsyncAction);
60
+ exports.asyncScheduler = asyncScheduler;
61
+ //# sourceMappingURL=AsyncScheduler.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AsyncScheduler.cjs","mappings":";;;;;;;;;;;;;;;AAAM,MAAOA,cAAP,SAA8BC,yBAA9B,CAAuC;EAM3CC,YAAYC,iBAAZ,EAA8CC,MAAoBH,0BAAUG,GAA5E,EAA+E;IAC7E,MAAMD,iBAAN,EAAyBC,GAAzB;IANK,eAAmC,EAAnC;IAEP,cAAiB,KAAjB;IACA,iBAAiBC,SAAjB;EAIC;;EAEDC,KAAK,CAACC,MAAD,EAAyB;IAC5B,MAAM;MAAEC;IAAF,IAAc,IAApB;;IAEA,IAAI,KAAKC,MAAT,EAAiB;MACfD,OAAO,CAACE,IAAR,CAAaH,MAAb;MACA;IACD;;IAED,IAAII,KAAJ;IACA,KAAKF,MAAL,GAAc,IAAd;;IAEA,GAAG;MACD,IAAKE,KAAK,GAAGJ,MAAM,CAACK,OAAP,CAAeL,MAAM,CAACM,KAAtB,EAA6BN,MAAM,CAACO,KAApC,CAAb,EAA2D;QACzD;MACD,CAHA,CAID;;IACD,CALD,QAKUP,MAAM,GAAGC,OAAO,CAACO,KAAR,EALnB;;IAOA,KAAKN,MAAL,GAAc,KAAd;;IAEA,IAAIE,KAAJ,EAAW;MACT;MACA,OAAQJ,MAAM,GAAGC,OAAO,CAACO,KAAR,EAAjB,EAAoC;QAClCR,MAAM,CAACS,WAAP;MACD;;MACD,MAAML,KAAN;IACD;EACF;;AArC0C;;;AAwCtC,MAAMM,cAAc,gBAAG,IAAIjB,cAAJ,CAAkBkB,gBAACC,WAAnB,CAAvB","names":["AsyncScheduler","tsplus_module_1","constructor","actionConstructor","now","undefined","flush","action","actions","active","push","error","execute","state","delay","shift","unsubscribe","asyncScheduler","tsplus_module_2","AsyncAction"],"sourceRoot":"","sources":["../_src/AsyncScheduler.ts"],"sourcesContent":[null]}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.BehaviorSubject = void 0;
7
+
8
+ var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/Subject"));
9
+
10
+ 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); }
11
+
12
+ 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; }
13
+
14
+ class BehaviorSubject extends tsplus_module_1.Subject {
15
+ constructor(_value) {
16
+ super();
17
+ this._value = _value;
18
+ }
19
+
20
+ get value() {
21
+ return this.getValue();
22
+ }
23
+
24
+ getValue() {
25
+ const {
26
+ hasError,
27
+ thrownError,
28
+ _value
29
+ } = this;
30
+
31
+ if (hasError) {
32
+ throw thrownError;
33
+ }
34
+
35
+ this.throwIfClosed();
36
+ return _value;
37
+ }
38
+
39
+ subscribeInternal(subscriber) {
40
+ const subscription = super.subscribe(subscriber);
41
+ !subscription.closed && subscriber.next(this._value);
42
+ return subscription;
43
+ }
44
+
45
+ next(value) {
46
+ super.next(this._value = value);
47
+ }
48
+
49
+ }
50
+
51
+ exports.BehaviorSubject = BehaviorSubject;
52
+ //# sourceMappingURL=BehaviorSubject.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BehaviorSubject.cjs","mappings":";;;;;;;;;;;;;AAAM,MAAOA,eAAP,SAAqCC,uBAArC,CAAkD;EACtDC,YAAoBC,MAApB,EAA6B;IAC3B;IADkB;EAEnB;;EAEQ,IAALC,KAAK;IACP,OAAO,KAAKC,QAAL,EAAP;EACD;;EAEDA,QAAQ;IACN,MAAM;MAAEC,QAAF;MAAYC,WAAZ;MAAyBJ;IAAzB,IAAoC,IAA1C;;IACA,IAAIG,QAAJ,EAAc;MACZ,MAAMC,WAAN;IACD;;IACD,KAAKC,aAAL;IACA,OAAOL,MAAP;EACD;;EAESM,iBAAiB,CAACC,UAAD,EAA6B;IACtD,MAAMC,YAAY,GAAG,MAAMC,SAAN,CAAgBF,UAAhB,CAArB;IACA,CAACC,YAAY,CAACE,MAAd,IAAwBH,UAAU,CAACI,IAAX,CAAgB,KAAKX,MAArB,CAAxB;IACA,OAAOQ,YAAP;EACD;;EAEDG,IAAI,CAACV,KAAD,EAAS;IACX,MAAMU,IAAN,CAAY,KAAKX,MAAL,GAAcC,KAA1B;EACD;;AA1BqD","names":["BehaviorSubject","tsplus_module_1","constructor","_value","value","getValue","hasError","thrownError","throwIfClosed","subscribeInternal","subscriber","subscription","subscribe","closed","next"],"sourceRoot":"","sources":["../_src/BehaviorSubject.ts"],"sourcesContent":[null]}