@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,668 @@
1
+ import { Observer } from "@fncts/observable/Observer";
2
+ import { Unsubscribable, Subscription } from "@fncts/observable/Subscription";
3
+ import { Observable } from "@fncts/observable/Observable";
4
+ import { ReadableStreamLike } from "@fncts/observable/internal/util";
5
+ import { IO } from "@fncts/io/IO";
6
+ import { IOEnv } from "@fncts/io/IOEnv";
7
+ import { Lazy } from "@fncts/base/data/function";
8
+ import { Cause } from "@fncts/base/data/Cause";
9
+ import { SchedulerLike, SchedulerAction } from "@fncts/observable/Scheduler";
10
+ import { Subscriber } from "@fncts/observable/Subscriber";
11
+ import { FiberContext } from "@fncts/io/Fiber";
12
+ import { RefinementWithIndex, Refinement } from "@fncts/base/data/Refinement";
13
+ import { PredicateWithIndex, Predicate } from "@fncts/base/data/Predicate";
14
+ import { Maybe } from "@fncts/base/data/Maybe";
15
+ import { Either } from "@fncts/base/data/Either";
16
+ import { Eq } from "@fncts/base/typeclass";
17
+ import { Notification } from "@fncts/observable/Notification";
18
+ export interface Subscribable<E, A> {
19
+ subscribe(observer: Partial<Observer<E, A>>): Unsubscribable;
20
+ }
21
+ export declare type ObservableInput<E = never, A = never> = Observable<E, A> | Subscribable<E, A> | AsyncIterable<A> | PromiseLike<A> | ArrayLike<A> | Iterable<A> | ReadableStreamLike<A> | IO<IOEnv, E, A>;
22
+ /**
23
+ * @tsplus static fncts.observable.ObservableOps halt
24
+ * @tsplus location "@fncts/observable/Observable/api"
25
+ */
26
+ export declare function halt(defect: unknown): Observable<never, never>;
27
+ /**
28
+ * @tsplus static fncts.observable.ObservableOps defer
29
+ * @tsplus location "@fncts/observable/Observable/api"
30
+ */
31
+ export declare function defer<E, A>(observable: Lazy<ObservableInput<E, A>>): Observable<E, A>;
32
+ /**
33
+ * @tsplus static fncts.observable.ObservableOps empty
34
+ * @tsplus location "@fncts/observable/Observable/api"
35
+ */
36
+ export declare function empty<A>(): Observable<never, A>;
37
+ /**
38
+ * @tsplus static fncts.observable.ObservableOps failCause
39
+ * @tsplus location "@fncts/observable/Observable/api"
40
+ */
41
+ export declare function failCause<E>(cause: Cause<E>): Observable<E, never>;
42
+ /**
43
+ * @tsplus static fncts.observable.ObservableOps fail
44
+ * @tsplus location "@fncts/observable/Observable/api"
45
+ */
46
+ export declare function fail<E>(e: E): Observable<E, never>;
47
+ /**
48
+ * @tsplus static fncts.observable.ObservableOps from
49
+ * @tsplus location "@fncts/observable/Observable/api"
50
+ */
51
+ export declare function from<E = never, A = never>(input: ObservableInput<E, A>): Observable<E, A>;
52
+ export declare function fromArrayLike<A>(input: ArrayLike<A>): Observable<never, A>;
53
+ export declare function fromAsyncIterable<A>(asyncIterable: AsyncIterable<A>): Observable<never, A>;
54
+ export declare function fromIterable<A>(iterable: Iterable<A>): Observable<never, A>;
55
+ export declare function fromPromise<A>(promise: PromiseLike<A>): Observable<never, A>;
56
+ export declare function fromReadableStreamLike<A>(readableStream: ReadableStreamLike<A>): Observable<never, A>;
57
+ /**
58
+ * @tsplus static fncts.observable.ObservableOps fromSubscribable
59
+ * @tsplus location "@fncts/observable/Observable/api"
60
+ */
61
+ export declare function fromSubscribable<E, A>(subscribable: Subscribable<E, A>): Observable<E, A>;
62
+ export declare function fromInterop<A>(subscribable: {
63
+ subscribe: (observer: {
64
+ next: (value: A) => void;
65
+ error: (err: unknown) => void;
66
+ complete: () => void;
67
+ }) => Unsubscribable;
68
+ }): Observable<unknown, A>;
69
+ declare function _if<E, A, E1, B>(condition: () => boolean, onTrue: ObservableInput<E, A>, onFalse: ObservableInput<E1, B>): Observable<E | E1, A | B>;
70
+ export { _if as if };
71
+ export interface IterateOptions<S> {
72
+ readonly initialState: S;
73
+ readonly cont?: (state: S) => boolean;
74
+ readonly iterate: (state: S) => S;
75
+ readonly scheduler?: SchedulerLike;
76
+ }
77
+ export declare function iterate<S>(options: IterateOptions<S>): Observable<never, S>;
78
+ /**
79
+ * @tsplus static fncts.obervable.ObservableOps interval
80
+ * @tsplus location "@fncts/observable/Observable/api"
81
+ */
82
+ export declare function interval(period?: number, scheduler?: SchedulerLike): Observable<never, number>;
83
+ /**
84
+ * @tsplus static fncts.obervable.ObservableOps merge
85
+ * @tsplus location "@fncts/observable/Observable/api"
86
+ */
87
+ export declare function merge<O extends ReadonlyArray<ObservableInput<any, any>>>(...sources: O): Observable<Observable.ErrorOf<O[number]>, Observable.TypeOf<O[number]>>;
88
+ export declare function merge<O extends ReadonlyArray<ObservableInput<any, any>>>(...sources: [...O, number?]): Observable<Observable.ErrorOf<O[number]>, Observable.TypeOf<O[number]>>;
89
+ /**
90
+ * @tsplus static fncts.observable.ObservableOps of
91
+ * @tsplus location "@fncts/observable/Observable/api"
92
+ */
93
+ export declare function of<A>(...items: ReadonlyArray<A>): Observable<never, A>;
94
+ /**
95
+ * @tsplus static fncts.observable.ObservableOps single
96
+ * @tsplus location "@fncts/observable/Observable/api"
97
+ */
98
+ export declare function single<A>(a: A): Observable<never, A>;
99
+ /**
100
+ * @tsplus fluent fncts.observable.Observable scheduled
101
+ * @tsplus static fncts.observable.ObservableOps scheduled
102
+ * @tsplus location "@fncts/observable/Observable/api"
103
+ */
104
+ export declare function scheduled<E, A>(input: ObservableInput<E, A>, scheduler: SchedulerLike): Observable<E, A>;
105
+ export declare function scheduleArray<A>(input: ArrayLike<A>, scheduler: SchedulerLike): Observable<never, A>;
106
+ export declare function scheduleAsyncIterable<A>(input: AsyncIterable<A>, scheduler: SchedulerLike): Observable<never, A>;
107
+ export declare function scheduleIterable<A>(input: Iterable<A>, scheduler: SchedulerLike): Observable<never, A>;
108
+ export declare function scheduleObservable<E, A>(input: Observable<E, A>, scheduler: SchedulerLike): Observable<E, A>;
109
+ export declare function schedulePromise<A>(input: PromiseLike<A>, scheduler: SchedulerLike): Observable<never, A>;
110
+ export declare function scheduleReadableStreamLike<A>(input: ReadableStreamLike<A>, scheduler: SchedulerLike): Observable<never, A>;
111
+ /**
112
+ * @tsplus static fncts.observable.ObservableOps timer
113
+ * @tsplus location "@fncts/observable/Observable/api"
114
+ */
115
+ export declare function timer(time: number | Date, interval?: number, scheduler?: SchedulerLike): Observable<never, number>;
116
+ export declare function timer(time: number | Date, scheduler?: SchedulerLike): Observable<never, number>;
117
+ /**
118
+ * @tsplus static fncts.observable.ObservableOps zip
119
+ * @tsplus location "@fncts/observable/Observable/api"
120
+ */
121
+ export declare function makeZip<O extends ReadonlyArray<ObservableInput<any, any>>>(...sources: O): Observable<Observable.ErrorOf<O[number]>, {
122
+ [K in keyof O]: Observable.TypeOf<O[K]>;
123
+ }>;
124
+ /**
125
+ * @tsplus static fncts.observable.ObservableOps fromIO
126
+ * @tsplus location "@fncts/observable/Observable/api"
127
+ */
128
+ export declare function fromIO<E, A>(io: IO<unknown, E, A>, scheduler?: SchedulerLike): Observable<E, A>;
129
+ /**
130
+ * @tsplus static fncts.observable.ObservableOps unit
131
+ * @tsplus location "@fncts/observable/Observable/api"
132
+ */
133
+ export declare const unit: Observable<never, void>;
134
+ /**
135
+ * @tsplus fluent fncts.observable.Observable zipWith
136
+ * @tsplus location "@fncts/observable/Observable/api"
137
+ */
138
+ export declare function zipWith<E, A, E1, B, C>(fa: Observable<E, A>, fb: Observable<E1, B>, f: (a: A, b: B) => C): Observable<E | E1, C>;
139
+ /**
140
+ * @tsplus fluent fncts.observable.Observable zip
141
+ * @tsplus location "@fncts/observable/Observable/api"
142
+ */
143
+ export declare function zip<E, A, E1, B>(fa: Observable<E, A>, fb: Observable<E1, B>): Observable<E | E1, readonly [A, B]>;
144
+ /**
145
+ * @tsplus fluent fncts.observable.Observable ap
146
+ * @tsplus location "@fncts/observable/Observable/api"
147
+ */
148
+ export declare function ap<E, A, E1, B>(fab: Observable<E, (a: A) => B>, fa: Observable<E1, A>): Observable<E | E1, B>;
149
+ /**
150
+ * @tsplus fluent fncts.observable.Observable mapWithIndex
151
+ * @tsplus location "@fncts/observable/Observable/api"
152
+ */
153
+ export declare function mapWithIndex<E, A, B>(fa: Observable<E, A>, f: (i: number, a: A) => B): Observable<E, B>;
154
+ /**
155
+ * @tsplus fluent fncts.observable.Observable map
156
+ * @tsplus location "@fncts/observable/Observable/api"
157
+ */
158
+ export declare function map_<E, A, B>(fa: Observable<E, A>, f: (a: A) => B): Observable<E, B>;
159
+ /**
160
+ * @tsplus fluent fncts.observable.Observable as
161
+ * @tsplus location "@fncts/observable/Observable/api"
162
+ */
163
+ export declare function as_<E, A, B>(fa: Observable<E, A>, b: Lazy<B>): Observable<E, B>;
164
+ /**
165
+ * @tsplus fluent fncts.observable.Observable mapError
166
+ * @tsplus location "@fncts/observable/Observable/api"
167
+ */
168
+ export declare function mapError_<E, A, E1>(fa: Observable<E, A>, f: (e: E) => E1): Observable<E1, A>;
169
+ /**
170
+ * @tsplus getter fncts.observable.Observable swap
171
+ * @tsplus location "@fncts/observable/Observable/api"
172
+ */
173
+ export declare function swap<E, A>(fa: Observable<E, A>): Observable<A, E>;
174
+ /**
175
+ * @tsplus fluent fncts.observable.Observable filterWithIndex
176
+ * @tsplus location "@fncts/observable/Observable/api"
177
+ */
178
+ export declare function filterWithIndex_<E, A, B extends A>(fa: Observable<E, A>, refinement: RefinementWithIndex<number, A, B>): Observable<E, B>;
179
+ export declare function filterWithIndex_<E, A>(fa: Observable<E, A>, predicate: PredicateWithIndex<number, A>): Observable<E, A>;
180
+ /**
181
+ * @tsplus fluent fncts.observable.Observable filter
182
+ * @tsplus location "@fncts/observable/Observable/api"
183
+ */
184
+ export declare function filter_<E, A, B extends A>(fa: Observable<E, A>, refinement: Refinement<A, B>): Observable<E, B>;
185
+ export declare function filter_<E, A>(fa: Observable<E, A>, predicate: Predicate<A>): Observable<E, A>;
186
+ /**
187
+ * @tsplus fluent fncts.observable.Observable filterMapWithIndex
188
+ * @tsplus location "@fncts/observable/Observable/api"
189
+ */
190
+ export declare function filterMapWithIndex<E, A, B>(fa: Observable<E, A>, f: (i: number, a: A) => Maybe<B>): Observable<E, B>;
191
+ /**
192
+ * @tsplus fluent fncts.observable.Observable filterMap
193
+ * @tsplus location "@fncts/observable/Observable/api"
194
+ */
195
+ export declare function filterMap_<E, A, B>(fa: Observable<E, A>, f: (a: A) => Maybe<B>): Observable<E, B>;
196
+ /**
197
+ * @tsplus fluent fncts.observable.Observable partitionWithIndex
198
+ * @tsplus location "@fncts/observable/Observable/api"
199
+ */
200
+ export declare function partitionWithIndex<E, A, B extends A>(fa: Observable<E, A>, refinement: RefinementWithIndex<number, A, B>): readonly [Observable<E, Exclude<A, B>>, Observable<E, B>];
201
+ export declare function partitionWithIndex<E, A>(fa: Observable<E, A>, predicate: PredicateWithIndex<number, A>): readonly [Observable<E, A>, Observable<E, A>];
202
+ /**
203
+ * @tsplus fluent fncts.observable.Observable partition
204
+ * @tsplus location "@fncts/observable/Observable/api"
205
+ */
206
+ export declare function partition_<E, A, B extends A>(fa: Observable<E, A>, refinement: Refinement<A, B>): readonly [Observable<E, Exclude<A, B>>, Observable<E, B>];
207
+ export declare function partition_<E, A>(fa: Observable<E, A>, predicate: Predicate<A>): readonly [Observable<E, A>, Observable<E, A>];
208
+ /**
209
+ * @tsplus fluent fncts.observable.Observable partitionMapWithIndex
210
+ * @tsplus location "@fncts/observable/Observable/api"
211
+ */
212
+ export declare function partitionMapWithIndex_<E, A, B, C>(fa: Observable<E, A>, f: (i: number, a: A) => Either<B, C>): readonly [Observable<E, B>, Observable<E, C>];
213
+ /**
214
+ * @tsplus fluent fncts.observable.Observable partitionMap
215
+ * @tsplus location "@fncts/observable/Observable/api"
216
+ */
217
+ export declare function partitionMap_<E, A, B, C>(fa: Observable<E, A>, f: (a: A) => Either<B, C>): readonly [Observable<E, B>, Observable<E, C>];
218
+ /**
219
+ * @tsplus fluent fncts.observable.Observable mergeMapWithIndex
220
+ * @tsplus location "@fncts/observable/Observable/api"
221
+ */
222
+ export declare function mergeMapWithIndex<E, A, E1, B>(ma: Observable<E, A>, f: (i: number, a: A) => ObservableInput<E1, B>, concurrent?: number): Observable<E | E1, B>;
223
+ /**
224
+ * @tsplus fluent fncts.observable.Observable mergeMap
225
+ * @tsplus location "@fncts/observable/Observable/api"
226
+ */
227
+ export declare function mergeMap_<E, A, E1, B>(ma: Observable<E, A>, f: (a: A) => ObservableInput<E1, B>, concurrent?: number): Observable<E | E1, B>;
228
+ /**
229
+ * @tsplus fluent fncts.observable.Observable concatMapWithIndex
230
+ * @tsplus location "@fncts/observable/Observable/api"
231
+ */
232
+ export declare function concatMapWithIndex<E, A, E1, B>(ma: Observable<E, A>, f: (i: number, a: A) => ObservableInput<E1, B>): Observable<E | E1, B>;
233
+ /**
234
+ * @tsplus fluent fncts.observable.Observable concatMap
235
+ * @tsplus location "@fncts/observable/Observable/api"
236
+ */
237
+ export declare function concatMap_<E, A, E1, B>(ma: Observable<E, A>, f: (a: A) => ObservableInput<E1, B>): Observable<E | E1, B>;
238
+ /**
239
+ * @tsplus getter fncts.observable.Observable flatten
240
+ * @tsplus location "@fncts/observable/Observable/api"
241
+ */
242
+ export declare function flatten<E, E1, A>(mma: Observable<E, Observable<E1, A>>): Observable<E | E1, A>;
243
+ /**
244
+ * @tsplus fluent fncts.observable.Observable foldLeftWithIndex
245
+ * @tsplus location "@fncts/observable/Observable/api"
246
+ */
247
+ export declare function foldLeftWithIndex<E, A, B>(fa: Observable<E, A>, initial: B, f: (index: number, acc: B, value: A) => B): Observable<E, B>;
248
+ /**
249
+ * @tsplus fluent fncts.observable.Observable foldLeft
250
+ * @tsplus location "@fncts/observable/Observable/api"
251
+ */
252
+ export declare function foldLeft<E, A, B>(fa: Observable<E, A>, initial: B, f: (acc: B, value: A) => B): Observable<E, B>;
253
+ /**
254
+ * @tsplus fluent fncts.observable.Observable at
255
+ * @tsplus location "@fncts/observable/Observable/api"
256
+ */
257
+ export declare function at_<E, A>(fa: Observable<E, A>, index: number): Observable<E, Maybe<A>>;
258
+ /**
259
+ * @tsplus fluent fncts.observable.Observable audit
260
+ * @tsplus location "@fncts/observable/Observable/api"
261
+ */
262
+ export declare function audit_<E, A, E1>(fa: Observable<E, A>, durationSelector: (value: A) => ObservableInput<E1, any>): Observable<E | E1, A>;
263
+ /**
264
+ * @tsplus fluent fncts.observable.Observable auditTime
265
+ * @tsplus location "@fncts/observable/Observable/api"
266
+ */
267
+ export declare function auditTime_<E, A>(fa: Observable<E, A>, duration: number, scheduler?: SchedulerLike): Observable<E, A>;
268
+ /**
269
+ * @tsplus fluent fncts.observable.Observable buffer
270
+ * @tsplus location "@fncts/observable/Observable/api"
271
+ */
272
+ export declare function buffer_<E, A, E1>(fa: Observable<E, A>, closingNotifier: Observable<E1, any>): Observable<E | E1, ReadonlyArray<A>>;
273
+ /**
274
+ * @tsplus fluent fncts.observable.Observable bufferCount
275
+ * @tsplus location "@fncts/observable/Observable/api"
276
+ */
277
+ export declare function bufferCount_<E, A>(fa: Observable<E, A>, bufferSize: number, startBufferEvery?: number): Observable<E, ReadonlyArray<A>>;
278
+ export interface BufferTimeConfig {
279
+ readonly bufferTimeSpan: number;
280
+ readonly bufferCreationInterval?: number;
281
+ readonly maxBufferSize?: number;
282
+ readonly scheduler?: SchedulerLike;
283
+ }
284
+ /**
285
+ * @tsplus fluent fncts.observable.Observable bufferTime
286
+ * @tsplus location "@fncts/observable/Observable/api"
287
+ */
288
+ export declare function bufferTime_<E, A>(fa: Observable<E, A>, config: BufferTimeConfig): Observable<E, ReadonlyArray<A>>;
289
+ /**
290
+ * @tsplus fluent fncts.observable.Observable bufferToggle
291
+ * @tsplus location "@fncts/observable/Observable/api"
292
+ */
293
+ export declare function bufferToggle_<E, A, E1, B, E2>(fa: Observable<E, A>, openings: ObservableInput<E1, B>, closingSelector: (value: B) => ObservableInput<E2, any>): Observable<E | E1 | E2, ReadonlyArray<A>>;
294
+ /**
295
+ * @tsplus fluent fncts.observable.Observable bufferWhen
296
+ * @tsplus location "@fncts/observable/Observable/api"
297
+ */
298
+ export declare function bufferWhen_<E, A, E1>(fa: Observable<E, A>, closingSelector: () => ObservableInput<E1, any>): Observable<E | E1, ReadonlyArray<A>>;
299
+ export declare function bufferWhen<E1>(closingSelector: () => ObservableInput<E1, any>): <E, A>(fa: Observable<E, A>) => Observable<E | E1, ReadonlyArray<A>>;
300
+ /**
301
+ * @tsplus fluent fncts.observable.Observable catchAllCause
302
+ * @tsplus location "@fncts/observable/Observable/api"
303
+ */
304
+ export declare function catchAllCause<E, A, E1, B>(self: Observable<E, A>, f: (cause: Cause<E>, caught: Observable<E | E1, A | B>) => ObservableInput<E1, B>): Observable<E1, A | B>;
305
+ /**
306
+ * @tsplus getter fncts.observable.Observable concatAll
307
+ * @tsplus location "@fncts/observable/Observable/api"
308
+ */
309
+ export declare function concatAll<E, E1, A>(ffa: Observable<E, ObservableInput<E1, A>>): Observable<E | E1, A>;
310
+ /**
311
+ * @tsplus fluent fncts.observable.Observable concat
312
+ * @tsplus location "@fncts/observable/Observable/api"
313
+ */
314
+ export declare function concat_<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]>>;
315
+ /**
316
+ * @tsplus getter fncts.observable.Observable count
317
+ * @tsplus location "@fncts/observable/Observable/api"
318
+ */
319
+ export declare function count<E, A>(fa: Observable<E, A>): Observable<E, number>;
320
+ /**
321
+ * @tsplus fluent fncts.observable.Observable countWithIndex
322
+ * @tsplus location "@fncts/observable/Observable/api"
323
+ */
324
+ export declare function countWithIndex<E, A>(fa: Observable<E, A>, predicate: PredicateWithIndex<number, A>): Observable<E, number>;
325
+ /**
326
+ * @tsplus fluent fncts.observable.Observable countWith
327
+ * @tsplus location "@fncts/observable/Observable/api"
328
+ */
329
+ export declare function countWith_<E, A>(fa: Observable<E, A>, predicate: Predicate<A>): Observable<E, number>;
330
+ /**
331
+ * @tsplus getter fncts.observable.Observable combineLatestAll
332
+ * @tsplus location "@fncts/observable/Observable/api"
333
+ */
334
+ export declare function combineLatestAll<E, E1, A>(fa: Observable<E, ObservableInput<E1, A>>): Observable<E | E1, ReadonlyArray<A>>;
335
+ /**
336
+ * @tsplus fluent fncts.observable.Observable combineLatest
337
+ * @tsplus location "@fncts/observable/Observable/api"
338
+ */
339
+ export declare function combineLatest_<E, A, O extends ReadonlyArray<ObservableInput<any, any>>>(self: ObservableInput<E, A>, ...sources: O): Observable<E | Observable.ErrorOf<O[number]>, [A, ...{
340
+ [K in keyof O]: Observable.TypeOf<O[K]>;
341
+ }]>;
342
+ /**
343
+ * @tsplus fluent fncts.observable.Observable debounceWith
344
+ * @tsplus location "@fncts/observable/Observable/api"
345
+ */
346
+ export declare function debounceWith_<E, A, E1>(fa: Observable<E, A>, durationSelector: (value: A) => ObservableInput<E1, any>): Observable<E | E1, A>;
347
+ /**
348
+ * @tsplus fluent fncts.observable.Observable debounce
349
+ * @tsplus location "@fncts/observable/Observable/api"
350
+ */
351
+ export declare function debounce_<E, A>(fa: Observable<E, A>, dueTime: number, scheduler?: SchedulerLike): Observable<E, A>;
352
+ /**
353
+ * @tsplus getter fncts.observable.Observable either
354
+ * @tsplus location "@fncts/observable/Observable/api"
355
+ */
356
+ export declare function either<E, A>(fa: Observable<E, A>): Observable<never, Either<E, A>>;
357
+ /**
358
+ * @tsplus fluent fncts.observable.Observable delayWithIndex
359
+ * @tsplus location "@fncts/observable/Observable/api"
360
+ */
361
+ export declare function delayWithIndex<E, A, E1>(fa: Observable<E, A>, f: (index: number, value: A) => Observable<E1, any>): Observable<E | E1, A>;
362
+ /**
363
+ * @tsplus fluent fncts.observable.Observable delayWith
364
+ * @tsplus location "@fncts/observable/Observable/api"
365
+ */
366
+ export declare function delayWith_<E, A, E1>(fa: Observable<E, A>, f: (value: A) => Observable<E1, any>): Observable<E | E1, A>;
367
+ /**
368
+ * @tsplus fluent fncts.observable.Observable delay
369
+ * @tsplus location "@fncts/observable/Observable/api"
370
+ */
371
+ export declare function delay_<E, A>(fa: Observable<E, A>, due: number | Date, scheduler?: SchedulerLike): Observable<E, A>;
372
+ /**
373
+ * @tsplus getter fncts.observable.Observable dematerialize
374
+ * @tsplus location "@fncts/observable/Observable/api"
375
+ */
376
+ export declare function dematerialize<E, E1, A>(fa: Observable<E, Notification<E1, A>>): Observable<E | E1, A>;
377
+ /**
378
+ * @tsplus fluent fncts.observable.Observable ensuring
379
+ * @tsplus location "@fncts/observable/Observable/api"
380
+ */
381
+ export declare function ensuring_<E, A>(fa: Observable<E, A>, finalizer: () => void): Observable<E, A>;
382
+ /**
383
+ * @tsplus getter fncts.observable.Observable exhaustAll
384
+ * @tsplus location "@fncts/observable/Observable/api"
385
+ */
386
+ export declare function exhaustAll<E, E1, A>(ffa: Observable<E, ObservableInput<E1, A>>): Observable<E | E1, A>;
387
+ /**
388
+ * @tsplus fluent fncts.observable.Observable exhaustMapWithIndex
389
+ * @tsplus location "@fncts/observable/Observable/api"
390
+ */
391
+ export declare function exhaustMapWithIndex<E, A, E1, B>(self: Observable<E, A>, f: (i: number, a: A) => ObservableInput<E1, B>): Observable<E | E1, B>;
392
+ /**
393
+ * @tsplus fluent fncts.observable.Observable exhaustMap
394
+ * @tsplus location "@fncts/observable/Observable/api"
395
+ */
396
+ export declare function exhaustMap_<E, A, E1, B>(self: Observable<E, A>, f: (a: A) => ObservableInput<E1, B>): Observable<E | E1, B>;
397
+ /**
398
+ * @tsplus fluent fncts.observable.Observable expandWithIndex
399
+ * @tsplus location "@fncts/observable/Observable/api"
400
+ */
401
+ export declare function expandWithIndex<E, A, E1, B>(fa: Observable<E, A>, f: (i: number, a: A) => ObservableInput<E1, B>, concurrent?: number): Observable<E | E1, B>;
402
+ /**
403
+ * @tsplus fluent fncts.observable.Observable expand
404
+ * @tsplus location "@fncts/observable/Observable/api"
405
+ */
406
+ export declare function expand_<E, A, E1, B>(fa: Observable<E, A>, f: (a: A) => ObservableInput<E1, B>, concurrent?: number): Observable<E | E1, B>;
407
+ /**
408
+ * @tsplus fluent fncts.observable.Observable findWithIndex
409
+ * @tsplus location "@fncts/observable/Observable/api"
410
+ */
411
+ export declare function findWithIndex<E, A, B extends A>(fa: Observable<E, A>, refinement: RefinementWithIndex<number, A, B>): Observable<E, Maybe<B>>;
412
+ export declare function findWithIndex<E, A>(fa: Observable<E, A>, predicate: PredicateWithIndex<number, A>): Observable<E, Maybe<A>>;
413
+ /**
414
+ * @tsplus fluent fncts.observable.Observable find
415
+ * @tsplus location "@fncts/observable/Observable/api"
416
+ */
417
+ export declare function find_<E, A, B extends A>(fa: Observable<E, A>, refinement: Refinement<A, B>): Observable<E, Maybe<B>>;
418
+ export declare function find_<E, A>(fa: Observable<E, A>, predicate: Predicate<A>): Observable<E, Maybe<A>>;
419
+ /**
420
+ * @tsplus fluent fncts.observable.Observable findIndexWithIndex
421
+ * @tsplus location "@fncts/observable/Observable/api"
422
+ */
423
+ export declare function findIndexWithIndex<E, A, B extends A>(fa: Observable<E, A>, refinement: RefinementWithIndex<number, A, B>): Observable<E, number>;
424
+ export declare function findIndexWithIndex<E, A>(fa: Observable<E, A>, predicate: PredicateWithIndex<number, A>): Observable<E, number>;
425
+ /**
426
+ * @tsplus fluent fncts.observable.Observable findIndex
427
+ * @tsplus location "@fncts/observable/Observable/api"
428
+ */
429
+ export declare function findIndex_<E, A, B extends A>(fa: Observable<E, A>, refinement: Refinement<A, B>): Observable<E, number>;
430
+ export declare function findIndex_<E, A>(fa: Observable<E, A>, predicate: Predicate<A>): Observable<E, number>;
431
+ /**
432
+ * @tsplus static fncts.observable.ObservableOps forkJoin
433
+ * @tsplus location "@fncts/observable/Observable/api"
434
+ */
435
+ export declare function forkJoin<S extends Record<string, ObservableInput<any, any>>>(sources: S): Observable<Observable.ErrorOf<S[keyof S]>, {
436
+ [K in keyof S]: Observable.TypeOf<S[K]>;
437
+ }>;
438
+ export declare function forkJoin<A extends ReadonlyArray<ObservableInput<any, any>>>(...sources: A): Observable<Observable.ErrorOf<A[number]>, {
439
+ [K in keyof A]: Observable.TypeOf<A[K]>;
440
+ }>;
441
+ /**
442
+ * @tsplus getter fncts.observable.Observable ignore
443
+ * @tsplus location "@fncts/observable/Observable/api"
444
+ */
445
+ export declare function ignore<E, A>(fa: Observable<E, A>): Observable<E, never>;
446
+ /**
447
+ * @tsplus getter fncts.observable.Observable isEmpty
448
+ * @tsplus location "@fncts/observable/Observable/api"
449
+ */
450
+ export declare function isEmpty<E, A>(fa: Observable<E, A>): Observable<E, boolean>;
451
+ /**
452
+ * @tsplus getter fncts.observable.Observable materialize
453
+ * @tsplus location "@fncts/observable/Observable/api"
454
+ */
455
+ export declare function materialize<E, A>(fa: Observable<E, A>): Observable<never, Notification<E, A>>;
456
+ /**
457
+ * @tsplus fluent fncts.observable.Observable mergeAll
458
+ * @tsplus location "@fncts/observable/Observable/api"
459
+ */
460
+ export declare function mergeAll_<E, E1, A>(self: Observable<E, ObservableInput<E1, A>>, concurrent?: number): Observable<E | E1, A>;
461
+ /**
462
+ * @tsplus fluent fncts.observable.Observable mergeScanWithIndex
463
+ * @tsplus location "@fncts/observable/Observable/api"
464
+ */
465
+ export declare function mergeScanWithIndex<E, A, E1, B>(fa: Observable<E, A>, initial: B, f: (index: number, acc: B, value: A) => ObservableInput<E1, B>, concurrent?: number): Observable<E | E1, B>;
466
+ /**
467
+ * @tsplus fluent fncts.observable.Observable mergeScan
468
+ * @tsplus location "@fncts/observable/Observable/api"
469
+ */
470
+ export declare function mergeScan_<E, A, E1, B>(fa: Observable<E, A>, initial: B, f: (acc: B, value: A) => ObservableInput<E1, B>, concurrent?: number): Observable<E | E1, B>;
471
+ export declare function onErrorResumeNext<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]>>;
472
+ /**
473
+ * @tsplus fluent fncts.observable.Observable onEmpty
474
+ * @tsplus location "@fncts/observable/Observable/api"
475
+ */
476
+ export declare function onEmpty_<E, A, B>(fa: Observable<E, A>, f: Lazy<B>): Observable<E, A | B>;
477
+ /**
478
+ * @tsplus fluent fncts.observable.Observable repeat
479
+ * @tsplus location "@fncts/observable/Observable/api"
480
+ */
481
+ export declare function repeat_<E, A>(fa: Observable<E, A>, count?: number): Observable<E, A>;
482
+ export interface RetryConfig {
483
+ readonly count: number;
484
+ readonly resetOnSuccess?: boolean;
485
+ }
486
+ /**
487
+ * @tsplus fluent fncts.observable.Observable retry
488
+ * @tsplus location "@fncts/observable/Observable/api"
489
+ */
490
+ export declare function retry_<E, A>(fa: Observable<E, A>, count?: number): Observable<E, A>;
491
+ export declare function retry_<E, A>(fa: Observable<E, A>, config: RetryConfig): Observable<E, A>;
492
+ /**
493
+ * @tsplus fluent fncts.observable.Observable sample
494
+ * @tsplus location "@fncts/observable/Observable/api"
495
+ */
496
+ export declare function sample_<E, A, E1>(fa: Observable<E, A>, notifier: Observable<E1, any>): Observable<E | E1, A>;
497
+ /**
498
+ * @tsplus fluent fncts.observable.Observable sampleTime
499
+ * @tsplus location "@fncts/observable/Observable/api"
500
+ */
501
+ export declare function sampleTime_<E, A>(fa: Observable<E, A>, period: number, scheduler?: SchedulerLike): Observable<E, A>;
502
+ /**
503
+ * @tsplus fluent fncts.observable.Observable scanLeftWithIndex
504
+ * @tsplus location "@fncts/observable/Observable/api"
505
+ */
506
+ export declare function scanLeftWithIndex<E, A, B>(fa: Observable<E, A>, initial: B, f: (index: number, acc: B, value: A) => B): Observable<E, B>;
507
+ /**
508
+ * @tsplus fluent fncts.observable.Observable scanLeft
509
+ * @tsplus location "@fncts/observable/Observable/api"
510
+ */
511
+ export declare function scanLeft<E, A, B>(fa: Observable<E, A>, initial: B, f: (acc: B, value: A) => B): Observable<E, B>;
512
+ /**
513
+ * @tsplus fluent fncts.observable.Observable skip
514
+ * @tsplus location "@fncts/observable/Observable/api"
515
+ */
516
+ export declare function skip_<E, A>(fa: Observable<E, A>, count: number): Observable<E, A>;
517
+ /**
518
+ * @tsplus fluent fncts.observable.Observable skipLast
519
+ * @tsplus location "@fncts/observable/Observable/api"
520
+ */
521
+ export declare function skipLast_<E, A>(fa: Observable<E, A>, skipCount: number): Observable<E, A>;
522
+ /**
523
+ * @tsplus fluent fncts.observable.Observable skipUntil
524
+ * @tsplus location "@fncts/observable/Observable/api"
525
+ */
526
+ export declare function skipUntil_<E, A, E1>(fa: Observable<E, A>, notifier: Observable<E1, any>): Observable<E | E1, A>;
527
+ /**
528
+ * @tsplus fluent fncts.observable.Observable skipWhile
529
+ * @tsplus location "@fncts/observable/Observable/api"
530
+ */
531
+ export declare function skipWhile_<E, A>(fa: Observable<E, A>, predicate: PredicateWithIndex<number, A>): Observable<E, A>;
532
+ /**
533
+ * @tsplus fluent fncts.observable.Observable startWith
534
+ * @tsplus location "@fncts/observable/Observable/api"
535
+ */
536
+ export declare function startWith_<E, A, B extends ReadonlyArray<unknown>>(fa: Observable<E, A>, ...values: B): Observable<E, A | B[number]>;
537
+ /**
538
+ * @tsplus fluent fncts.observable.Observable subscribeOn
539
+ * @tsplus location "@fncts/observable/Observable/api"
540
+ */
541
+ export declare function subscribeOn_<E, A>(fa: Observable<E, A>, scheduler: SchedulerLike, delay?: number): Observable<E, A>;
542
+ /**
543
+ * @tsplus getter fncts.observable.Observable switchAll
544
+ * @tsplus location "@fncts/observable/Observable/api"
545
+ */
546
+ export declare function switchAll<E, E1, A>(ffa: Observable<E, ObservableInput<E1, A>>): Observable<E | E1, A>;
547
+ /**
548
+ * @tsplus fluent fncts.observable.Observable switchMapWithIndex
549
+ * @tsplus location "@fncts/observable/Observable/api"
550
+ */
551
+ export declare function switchMapWithIndex<E, A, E1, B>(fa: Observable<E, A>, f: (index: number, value: A) => ObservableInput<E1, B>): Observable<E | E1, B>;
552
+ /**
553
+ * @tsplus fluent fncts.observable.Observable switchMap
554
+ * @tsplus location "@fncts/observable/Observable/api"
555
+ */
556
+ export declare function switchMap_<E, A, E1, B>(fa: Observable<E, A>, f: (value: A) => ObservableInput<E1, B>): Observable<E | E1, B>;
557
+ /**
558
+ * @tsplus fluent fncts.observable.Observable switchScanWithIndex
559
+ * @tsplus location "@fncts/observable/Observable/api"
560
+ */
561
+ export declare function switchScanWithIndex<E, A, E1, B>(fa: Observable<E, A>, initial: B, f: (index: number, acc: B, value: A) => ObservableInput<E1, B>): Observable<E | E1, B>;
562
+ /**
563
+ * @tsplus fluent fncts.observable.Observable switchScan
564
+ * @tsplus location "@fncts/observable/Observable/api"
565
+ */
566
+ export declare function switchScan_<E, A, E1, B>(fa: Observable<E, A>, initial: B, f: (acc: B, value: A) => ObservableInput<E1, B>): Observable<E | E1, B>;
567
+ /**
568
+ * @tsplus fluent fncts.observable.Observable take
569
+ * @tsplus location "@fncts/observable/Observable/api"
570
+ */
571
+ export declare function take_<E, A>(fa: Observable<E, A>, count: number): Observable<E, A>;
572
+ /**
573
+ * @tsplus fluent fncts.observable.Observable takeLast
574
+ * @tsplus location "@fncts/observable/Observable/api"
575
+ */
576
+ export declare function takeLast_<E, A>(fa: Observable<E, A>, count: number): Observable<E, A>;
577
+ /**
578
+ * @tsplus fluent fncts.observable.Observable takeUntil
579
+ * @tsplus location "@fncts/observable/Observable/api"
580
+ */
581
+ export declare function takeUntil_<E, A, E1>(fa: Observable<E, A>, notifier: ObservableInput<E1, any>): Observable<E | E1, A>;
582
+ /**
583
+ * @tsplus fluent fncts.observable.Observable takeWhileWithIndex
584
+ * @tsplus location "@fncts/observable/Observable/api"
585
+ */
586
+ export declare function takeWhileWithIndex<E, A, B extends A>(fa: Observable<E, A>, refinement: RefinementWithIndex<number, A, B>, inclusive?: boolean): Observable<E, B>;
587
+ export declare function takeWhileWithIndex<E, A>(fa: Observable<E, A>, predicate: PredicateWithIndex<number, A>, inclusive?: boolean): Observable<E, A>;
588
+ /**
589
+ * @tsplus fluent fncts.observable.Observable takeWhile
590
+ * @tsplus location "@fncts/observable/Observable/api"
591
+ */
592
+ export declare function takeWhile_<E, A, B extends A>(fa: Observable<E, A>, refinement: Refinement<A, B>, inclusive?: boolean): Observable<E, B>;
593
+ export declare function takeWhile_<E, A>(fa: Observable<E, A>, predicate: Predicate<A>, inclusive?: boolean): Observable<E, A>;
594
+ /**
595
+ * @tsplus fluent fncts.observable.Observable tap
596
+ * @tsplus location "@fncts/observable/Observable/api"
597
+ */
598
+ export declare function tap_<E, A>(fa: Observable<E, A>, observer: Partial<Observer<E, A>>): Observable<E, A>;
599
+ export interface ThrottleConfig {
600
+ readonly leading?: boolean;
601
+ readonly trailing?: boolean;
602
+ }
603
+ export declare const defaultThrottleConfig: ThrottleConfig;
604
+ /**
605
+ * @tsplus fluent fncts.observable.Observable throttle
606
+ * @tsplus location "@fncts/observable/Observable/api"
607
+ */
608
+ export declare function throttle_<E, A, E1>(fa: Observable<E, A>, durationSelector: (a: A) => ObservableInput<E1, any>, { leading, trailing }?: ThrottleConfig): Observable<E | E1, A>;
609
+ /**
610
+ * @tsplus fluent fncts.observable.Observable throttleTime
611
+ * @tsplus location "@fncts/observable/Observable/api"
612
+ */
613
+ export declare function throttleTime_<E, A>(fa: Observable<E, A>, duration: number, scheduler?: SchedulerLike, config?: ThrottleConfig): Observable<E, A>;
614
+ export declare type TimeoutConfig<A, E, B, M = unknown> = ({
615
+ readonly each: number;
616
+ readonly first?: number | Date;
617
+ } | {
618
+ readonly each?: number;
619
+ readonly first: number | Date;
620
+ }) & {
621
+ readonly scheduler?: SchedulerLike;
622
+ readonly with?: (info: TimeoutInfo<A, M>) => ObservableInput<E, B>;
623
+ meta?: M;
624
+ };
625
+ export interface TimeoutInfo<A, M> {
626
+ readonly meta?: M;
627
+ readonly seen: number;
628
+ readonly lastValue: Maybe<A>;
629
+ }
630
+ export declare class TimeoutError<A, M> extends Error {
631
+ readonly info: TimeoutInfo<A, M> | null;
632
+ constructor(info: TimeoutInfo<A, M> | null);
633
+ }
634
+ /**
635
+ * @tsplus fluent fncts.observable.Observable timeout
636
+ * @tsplus location "@fncts/observable/Observable/api"
637
+ */
638
+ export declare function timeout_<E, A, E1, B, M = unknown>(fa: Observable<E, A>, config: TimeoutConfig<A, E1, B, M> & {
639
+ readonly with: (info: TimeoutInfo<A, M>) => ObservableInput<E1, B>;
640
+ }): Observable<E | E1, A | B>;
641
+ export declare function timeout_<E, A, M = unknown>(fa: Observable<E, A>, config: Omit<TimeoutConfig<A, never, any, M>, "with">): Observable<E | TimeoutError<A, M>, A>;
642
+ /**
643
+ * @tsplus getter fncts.observable.Observable toArray
644
+ * @tsplus location "@fncts/observable/Observable/api"
645
+ */
646
+ export declare function toArray<E, A>(fa: Observable<E, A>): Observable<E, ReadonlyArray<A>>;
647
+ /**
648
+ * @tsplus fluent fncts.observable.Observable unique
649
+ * @tsplus location "@fncts/observable/Observable/api"
650
+ */
651
+ export declare function unique_<E, A, K, E1 = never>(fa: Observable<E, A>, toKey?: (value: A) => K, flushes?: Observable<E1, any>): Observable<E | E1, A>;
652
+ /**
653
+ * @tsplus fluent fncts.observable.Observable uniqueUntilChanged
654
+ * @tsplus location "@fncts/observable/Observable/api"
655
+ */
656
+ export declare function uniqueUntilChanged_<E, A, K>(fa: Observable<E, A>, E: Eq<K>, keySelector: (value: A) => K): Observable<E, A>;
657
+ export declare function uniqueUntilChanged_<E, A, K>(fa: Observable<E, A>, equals: (x: K, y: K) => boolean, keySelector: (value: A) => K): Observable<E, A>;
658
+ export declare function uniqueUntilChanged_<E, A>(fa: Observable<E, A>, E: Eq<A>): Observable<E, A>;
659
+ export declare function uniqueUntilChanged_<E, A>(fa: Observable<E, A>, equals: (x: A, y: A) => boolean): Observable<E, A>;
660
+ /**
661
+ * @tsplus fluent fncts.observable.Observable uniqueUntilKeyChanged
662
+ * @tsplus location "@fncts/observable/Observable/api"
663
+ */
664
+ export declare function uniqueUntilKeyChanged_<E, A, K extends keyof A>(fa: Observable<E, A>, key: K, E: Eq<A[K]>): Observable<E, A>;
665
+ export declare function uniqueUntilKeyChanged_<E, A, K extends keyof A>(fa: Observable<E, A>, key: K, equals: (x: A[K], y: A[K]) => boolean): Observable<E, A>;
666
+ export declare function joinAllInternal<E, E1, A, E2, B>(fa: Observable<E, ObservableInput<E1, A>>, joiner: (sources: ReadonlyArray<ObservableInput<E1, A>>) => Observable<E2, B>): Observable<E | E1 | E2, B>;
667
+ export declare function scanInternal<E, A, B>(f: (index: number, acc: A, value: A) => B, initial: B, hasInitial: false, emitOnNext: boolean, emitBeforeComplete?: undefined | true): (source: Observable<E, A>, subscriber: Subscriber<any, any>) => void;
668
+ export declare function scanInternal<E, A, B>(f: (index: number, acc: B, value: A) => B, initial: B, hasInitial: true, emitOnNext: boolean, emitBeforeComplete?: undefined | true): (source: Observable<E, A>, subscriber: Subscriber<any, any>) => void;