@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
package/Action.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ import { Subscription } from "@fncts/observable/Subscription";
2
+ import { Scheduler, SchedulerAction } from "@fncts/observable/Scheduler";
3
+ export declare class Action<A> extends Subscription {
4
+ constructor(scheduler: Scheduler, work: (this: SchedulerAction<A>, state?: A) => void);
5
+ schedule(state?: A, delay?: number): Subscription;
6
+ }
@@ -0,0 +1,11 @@
1
+ import { AsyncAction } from "@fncts/observable/AsyncAction";
2
+ import { AnimationFrameScheduler } from "@fncts/observable/AnimationFrameScheduler";
3
+ import { SchedulerAction } from "@fncts/observable/Scheduler";
4
+ import { animationFrameProvider } from "@fncts/observable/internal/animationFrameProvider";
5
+ export declare class AnimationFrameAction<A> extends AsyncAction<A> {
6
+ protected scheduler: AnimationFrameScheduler;
7
+ protected work: (this: SchedulerAction<A>, state?: A) => void;
8
+ constructor(scheduler: AnimationFrameScheduler, work: (this: SchedulerAction<A>, state?: A) => void);
9
+ protected requestAsyncId(scheduler: AnimationFrameScheduler, delay?: number): any;
10
+ protected recycleAsyncId(scheduler: AnimationFrameScheduler, id?: any, delay?: number): any;
11
+ }
@@ -0,0 +1,6 @@
1
+ import { AsyncScheduler } from "@fncts/observable/AsyncScheduler";
2
+ import { AsyncAction } from "@fncts/observable/AsyncAction";
3
+ export declare class AnimationFrameScheduler extends AsyncScheduler {
4
+ flush(action?: AsyncAction<any>): void;
5
+ }
6
+ export declare const animationFrameScheduler: AnimationFrameScheduler;
@@ -0,0 +1,19 @@
1
+ import { Action } from "@fncts/observable/Action";
2
+ import { AsyncScheduler } from "@fncts/observable/AsyncScheduler";
3
+ import { SchedulerAction } from "@fncts/observable/Scheduler";
4
+ import { Subscription } from "@fncts/observable/Subscription";
5
+ export declare class AsyncAction<A> extends Action<A> {
6
+ protected scheduler: AsyncScheduler;
7
+ protected work: (this: SchedulerAction<A>, state?: A) => void;
8
+ id: any;
9
+ state?: A;
10
+ delay: number | undefined;
11
+ protected pending: boolean;
12
+ constructor(scheduler: AsyncScheduler, work: (this: SchedulerAction<A>, state?: A) => void);
13
+ schedule(state?: A, delay?: number): Subscription;
14
+ protected requestAsyncId(scheduler: AsyncScheduler, _id: any, delay?: number): any;
15
+ protected recycleAsyncId(_scheduler: AsyncScheduler, id: any, delay?: number | null): any;
16
+ execute(state: A, delay: number): unknown;
17
+ protected executeInternal(state: A, _delay: number): unknown;
18
+ unsubscribe(): void;
19
+ }
@@ -0,0 +1,11 @@
1
+ import { Scheduler } from "@fncts/observable/Scheduler";
2
+ import { AsyncAction } from "@fncts/observable/AsyncAction";
3
+ import { Action } from "@fncts/observable/Action";
4
+ export declare class AsyncScheduler extends Scheduler {
5
+ actions: Array<AsyncAction<any>>;
6
+ active: boolean;
7
+ scheduled: any;
8
+ constructor(actionConstructor: typeof Action, now?: () => number);
9
+ flush(action: AsyncAction<any>): void;
10
+ }
11
+ export declare const asyncScheduler: AsyncScheduler;
@@ -0,0 +1,10 @@
1
+ import { Subject } from "@fncts/observable/Subject";
2
+ import { Subscriber } from "@fncts/observable/Subscriber";
3
+ export declare class BehaviorSubject<E, A> extends Subject<E, A> {
4
+ private _value;
5
+ constructor(_value: A);
6
+ get value(): A;
7
+ getValue(): A;
8
+ protected subscribeInternal(subscriber: Subscriber<E, A>): import("./Subscription").Subscription;
9
+ next(value: A): void;
10
+ }
@@ -0,0 +1,59 @@
1
+ import { Cause } from "@fncts/base/data/Cause";
2
+ import { Observer } from "@fncts/observable/Observer";
3
+ export declare const NextTypeId: unique symbol;
4
+ export declare type NextTypeId = typeof NextTypeId;
5
+ export declare class Next<A> {
6
+ readonly value: A;
7
+ readonly _tag = "Next";
8
+ readonly [NextTypeId]: NextTypeId;
9
+ constructor(value: A);
10
+ }
11
+ export declare const FailTypeId: unique symbol;
12
+ export declare type FailTypeId = typeof FailTypeId;
13
+ export declare class Fail<E> {
14
+ readonly error: Cause<E>;
15
+ readonly _tag = "Fail";
16
+ readonly [FailTypeId]: FailTypeId;
17
+ constructor(error: Cause<E>);
18
+ }
19
+ export declare const CompleteTypeId: unique symbol;
20
+ export declare type CompleteTypeId = typeof CompleteTypeId;
21
+ export declare class Complete {
22
+ readonly _tag = "Complete";
23
+ readonly [CompleteTypeId]: CompleteTypeId;
24
+ }
25
+ /**
26
+ * @tsplus type fncts.observable.Notification
27
+ */
28
+ export declare type Notification<E, A> = Next<A> | Fail<E> | Complete;
29
+ /**
30
+ * @tsplus type fncts.observable.NotificationOps
31
+ */
32
+ export interface NotificationOps {
33
+ }
34
+ export declare const Notification: NotificationOps;
35
+ /**
36
+ * @tsplus static fncts.observable.NotificationOps next
37
+ * @tsplus location "@fncts/observable/Notification"
38
+ */
39
+ export declare function next<E = never, A = never>(value: A): Notification<E, A>;
40
+ /**
41
+ * @tsplus static fncts.observable.NotificationOps error
42
+ * @tsplus location "@fncts/observable/Notification"
43
+ */
44
+ export declare function error<E = never, A = never>(error: Cause<E>): Notification<E, A>;
45
+ /**
46
+ * @tsplus static fncts.observable.NotificationOps complete
47
+ * @tsplus location "@fncts/observable/Notification"
48
+ */
49
+ export declare function complete<E = never, A = never>(): Notification<E, A>;
50
+ /**
51
+ * @tsplus fluent fncts.observable.Notification match
52
+ * @tsplus location "@fncts/observable/Notification"
53
+ */
54
+ export declare function match_<E, A, B, C, D, F>(fa: Notification<E, A>, onNext: (a: A) => B, onFail: (e: Cause<E>) => C, onComplete: () => F): B | C | D | F;
55
+ /**
56
+ * @tsplus fluent fncts.observable.Notification observe
57
+ * @tsplus location "@fncts/observable/Notification"
58
+ */
59
+ export declare function observe_<E, A>(notification: Notification<E, A>, observer: Partial<Observer<E, A>>): void;
@@ -0,0 +1,10 @@
1
+ import { SubjectLike } from "@fncts/observable/Subject";
2
+ import { Observable, ObservableInput } from "@fncts/observable/Observable";
3
+ export interface ConnectConfig<E, A> {
4
+ readonly connector: () => SubjectLike<E, A>;
5
+ }
6
+ /**
7
+ * @tsplus fluent fncts.observable.Observable connect
8
+ * @tsplus location "@fncts/observable/Observable/api/connect"
9
+ */
10
+ export declare function connect<E, A, E1, B>(fa: Observable<E, A>, selector: (shared: Observable<E, A>) => ObservableInput<E1, B>, config?: ConnectConfig<E, A>): Observable<E | E1, B>;
@@ -0,0 +1,24 @@
1
+ import { Observable, ObservableInput } from "@fncts/observable/Observable";
2
+ import { Subscription } from "@fncts/observable/Subscription";
3
+ import { SubjectLike } from "@fncts/observable/Subject";
4
+ export interface ConnectableLike<E, A> extends Observable<E, A> {
5
+ connect(): Subscription;
6
+ }
7
+ export interface ConnectableConfig<E, A> {
8
+ readonly connector: () => SubjectLike<E, A>;
9
+ readonly resetOnDisconnect?: boolean;
10
+ }
11
+ export declare class Connectable<E, A> extends Observable<E, A> implements ConnectableLike<E, A> {
12
+ protected connection: Subscription | null;
13
+ protected connector: () => SubjectLike<E, A>;
14
+ protected resetOnDisconnect: boolean;
15
+ protected source: Observable<E, A>;
16
+ protected subject: SubjectLike<E, A>;
17
+ constructor(source: ObservableInput<E, A>, config: ConnectableConfig<E, A>);
18
+ connect(): import("../../Subscription").Subscription;
19
+ }
20
+ /**
21
+ * @tsplus fluent fncts.observable.Observable connectable
22
+ * @tsplus location "@fncts/observable/Observable/api/connectable"
23
+ */
24
+ export declare function connectable<E, A>(source: ObservableInput<E, A>, config?: ConnectableConfig<E, A>): Connectable<E, A>;
@@ -0,0 +1,11 @@
1
+ import { Observable } from "@fncts/observable/Observable";
2
+ /**
3
+ * @tsplus static fncts.observable.ObservableOps fromCallback
4
+ * @tsplus location "@fncts/observable/Observable/api/fromCallback"
5
+ */
6
+ export declare function fromCallback<A extends ReadonlyArray<unknown>, R extends ReadonlyArray<unknown>>(callbackFunc: (...args: [...A, (...res: R) => void]) => void): (...args: A) => Observable<unknown, R>;
7
+ /**
8
+ * @tsplus static fncts.observable.ObservableOps fromNodeCallback
9
+ * @tsplus location "@fncts/observable/Observable/api/fromCallback"
10
+ */
11
+ export declare function fromNodeCallback<E, A extends ReadonlyArray<unknown>, R extends ReadonlyArray<unknown>>(callbackFunc: (...args: [...A, (err: E, ...res: R) => void]) => void): (...args: A) => Observable<Exclude<E, null | undefined>, R extends [] ? void : R extends [any] ? R[0] : R>;
@@ -0,0 +1,4 @@
1
+ import { Observable } from "@fncts/observable/Observable";
2
+ declare type EventHandler = (...args: any[]) => void;
3
+ export declare function fromEvent<A extends ReadonlyArray<unknown>>(addHandler: (handler: (...args: A) => void) => any, removeHandler?: (handler: EventHandler, signal?: any) => void): Observable<never, A extends [infer X] ? X : A>;
4
+ export {};
@@ -0,0 +1,14 @@
1
+ export * from "./connect.js";
2
+ export * from "./connectable.js";
3
+ export * from "./fromCallback.js";
4
+ export * from "./fromEvent.js";
5
+ export * from "./race.js";
6
+ export * from "./raceWith.js";
7
+ export * from "./repeatWhen.js";
8
+ export * from "./retryWhen.js";
9
+ export * from "./share.js";
10
+ export * from "./window.js";
11
+ export * from "./windowCount.js";
12
+ export * from "./windowTime.js";
13
+ export * from "./windowToggle.js";
14
+ export * from "./windowWhen.js";
@@ -0,0 +1,9 @@
1
+ import { ObservableInput, Observable } from "@fncts/observable/Observable";
2
+ import { Subscriber } from "@fncts/observable/Subscriber";
3
+ import { Subscription } from "@fncts/observable/Subscription";
4
+ /**
5
+ * @tsplus static fncts.observable.ObservableOps race
6
+ * @tsplus location "@fncts/observable/Observable/api/race"
7
+ */
8
+ export declare function race<O extends ReadonlyArray<ObservableInput<any, any>>>(...sources: O): Observable<Observable.ErrorOf<O[number]>, Observable.TypeOf<O[number]>>;
9
+ export declare function raceInit<E, A>(sources: ReadonlyArray<ObservableInput<E, A>>): (subscriber: Subscriber<E, A>) => void;
@@ -0,0 +1,6 @@
1
+ import { ObservableInput, Observable } from "@fncts/observable/Observable";
2
+ /**
3
+ * @tsplus fluent fncts.observable.Observablen raceWith
4
+ * @tsplus location "@fncts/observable/Observable/api/raceWith"
5
+ */
6
+ export declare function raceWith_<E, A, O extends ReadonlyArray<ObservableInput<any, any>>>(fa: Observable<E, A>, ...sources: O): Observable<E | Observable.ErrorOf<O[number]>, A | Observable.TypeOf<O[number]>>;
@@ -0,0 +1,5 @@
1
+ import { Observable } from "@fncts/observable/Observable";
2
+ import { Subscription } from "@fncts/observable/Subscription";
3
+ import { Subject } from "@fncts/observable/Subject";
4
+ export declare function repeatWhen_<E, A, E1>(fa: Observable<E, A>, notifier: (notifications: Observable<never, void>) => Observable<E1, any>): Observable<E | E1, A>;
5
+ export declare function repeatWhen<E1>(notifier: (notifications: Observable<never, void>) => Observable<E1, any>): <E, A>(fa: Observable<E, A>) => Observable<E | E1, A>;
@@ -0,0 +1,10 @@
1
+ import { Observable } from "@fncts/observable/Observable";
2
+ import { Cause } from "@fncts/base/data/Cause";
3
+ import { Subscription } from "@fncts/observable/Subscription";
4
+ import { Subject } from "@fncts/observable/Subject";
5
+ /**
6
+ * @tsplus fluent fncts.observable.Observable retryWhen
7
+ * @tsplus location "@fncts/observable/Observable/api/retryWhen"
8
+ */
9
+ export declare function retryWhen_<E, A, E1>(fa: Observable<E, A>, notifier: (errors: Observable<never, Cause<E>>) => Observable<E1, any>): Observable<E | E1, A>;
10
+ export declare function retryWhen<E1>(notifier: (errors: Observable<never, any>) => Observable<E1, any>): <E, A>(fa: Observable<E, A>) => Observable<E | E1, A>;
@@ -0,0 +1,16 @@
1
+ import { SubjectLike } from "@fncts/observable/Subject";
2
+ import { Observable } from "@fncts/observable/Observable";
3
+ import { SafeSubscriber } from "@fncts/observable/Subscriber";
4
+ import { Subscription } from "@fncts/observable/Subscription";
5
+ export interface ShareConfig<E, A, E1 = never, E2 = never, E3 = never> {
6
+ readonly connector?: () => SubjectLike<E, A>;
7
+ readonly resetOnDefect?: boolean | ((err: unknown) => Observable<E1, any>);
8
+ readonly resetOnComplete?: boolean | (() => Observable<E2, any>);
9
+ readonly resetOnRefCountZero?: boolean | (() => Observable<E3, any>);
10
+ }
11
+ /**
12
+ * @tsplus fluent fncts.observable.Observable share
13
+ * @tsplus location "@fncts/observable/Observable/api/share"
14
+ */
15
+ export declare function share_<E, A, E1 = never, E2 = never, E3 = never>(fa: Observable<E, A>, options?: ShareConfig<E, A, E1, E2, E3>): Observable<E | E1 | E2 | E3, A>;
16
+ export declare function share<E, A, E1, E2, E3>(options?: ShareConfig<E, A, E1, E2, E3>): (fa: Observable<E, A>) => Observable<E | E1 | E2 | E3, A>;
@@ -0,0 +1,8 @@
1
+ import { Observable } from "@fncts/observable/Observable";
2
+ import { Subject } from "@fncts/observable/Subject";
3
+ import { Cause } from "@fncts/base/data/Cause";
4
+ /**
5
+ * @tsplus fluent fncts.observable.Observable window
6
+ * @tsplus location "@fncts/observable/Observable/api/window"
7
+ */
8
+ export declare function window_<E, A>(fa: Observable<E, A>, windowBoundaries: Observable<never, any>): Observable<E, Observable<E, A>>;
@@ -0,0 +1,6 @@
1
+ import { Observable } from "@fncts/observable/Observable";
2
+ /**
3
+ * @tsplus fluent fncts.observable.Observable windowCount
4
+ * @tsplus location "@fncts/observable/Observable/api/windowCount"
5
+ */
6
+ export declare function windowCount_<E, A>(fa: Observable<E, A>, windowSize: number, startWindowEvery?: number): Observable<E, Observable<E, A>>;
@@ -0,0 +1,12 @@
1
+ import { Subject } from "@fncts/observable/Subject";
2
+ import { Subscription } from "@fncts/observable/Subscription";
3
+ import { Observable } from "@fncts/observable/Observable";
4
+ import { SchedulerLike } from "@fncts/observable/Scheduler";
5
+ import { Observer } from "@fncts/observable/Observer";
6
+ /**
7
+ * @tsplus fluent fncts.observable.Observable windowTime
8
+ * @tsplus location "@fncts/observable/Observable/api/windowTime"
9
+ */
10
+ export declare function windowTime_<E, A>(fa: Observable<E, A>, windowTimeSpan: number, scheduler?: SchedulerLike): Observable<E, Observable<E, A>>;
11
+ export declare function windowTime_<E, A>(fa: Observable<E, A>, windowTimeSpan: number, windowCreationInterval: number, scheduler?: SchedulerLike): Observable<E, Observable<E, A>>;
12
+ export declare function windowTime_<E, A>(fa: Observable<E, A>, windowTimeSpan: number, windowCreationInterval: number, maxWindowSize: number, scheduler?: SchedulerLike): Observable<E, Observable<E, A>>;
@@ -0,0 +1,8 @@
1
+ import { Observable, ObservableInput } from "@fncts/observable/Observable";
2
+ import { Subject } from "@fncts/observable/Subject";
3
+ import { Cause } from "@fncts/base/data/Cause";
4
+ /**
5
+ * @tsplus fluent fncts.observable.Observable windowToggle
6
+ * @tsplus location "@fncts/observable/Observable/api/windowToggle"
7
+ */
8
+ export declare function windowToggle_<E, A, E1, B, E2>(fa: Observable<E, A>, openings: ObservableInput<E1, B>, closingSelector: (openValue: B) => ObservableInput<E2, any>): Observable<E | E1 | E2, Observable<E, A>>;
@@ -0,0 +1,9 @@
1
+ import { Observable, ObservableInput } from "@fncts/observable/Observable";
2
+ import { Subject } from "@fncts/observable/Subject";
3
+ import { Subscriber } from "@fncts/observable/Subscriber";
4
+ import { Cause } from "@fncts/base/data/Cause";
5
+ /**
6
+ * @tsplus fluent fncts.observable.Observable windowWhen
7
+ * @tsplus location "@fncts/observable/Observable/api/windowWhen"
8
+ */
9
+ export declare function windowWhen_<E, A>(fa: Observable<E, A>, closingSelector: () => ObservableInput<never, any>): Observable<E, Observable<E, A>>;