Ohm-Management - Projektarbeit B-ME
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

types.d.ts 3.2KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. import { Observable } from './Observable';
  2. import { Subscription } from './Subscription';
  3. /** OPERATOR INTERFACES */
  4. export interface UnaryFunction<T, R> {
  5. (source: T): R;
  6. }
  7. export interface OperatorFunction<T, R> extends UnaryFunction<Observable<T>, Observable<R>> {
  8. }
  9. export declare type FactoryOrValue<T> = T | (() => T);
  10. export interface MonoTypeOperatorFunction<T> extends OperatorFunction<T, T> {
  11. }
  12. export interface Timestamp<T> {
  13. value: T;
  14. timestamp: number;
  15. }
  16. export interface TimeInterval<T> {
  17. value: T;
  18. interval: number;
  19. }
  20. /** SUBSCRIPTION INTERFACES */
  21. export interface Unsubscribable {
  22. unsubscribe(): void;
  23. }
  24. export declare type TeardownLogic = Unsubscribable | Function | void;
  25. export interface SubscriptionLike extends Unsubscribable {
  26. unsubscribe(): void;
  27. readonly closed: boolean;
  28. }
  29. export declare type SubscribableOrPromise<T> = Subscribable<T> | Subscribable<never> | PromiseLike<T> | InteropObservable<T>;
  30. /** OBSERVABLE INTERFACES */
  31. export interface Subscribable<T> {
  32. subscribe(observer?: PartialObserver<T>): Unsubscribable;
  33. /** @deprecated Use an observer instead of a complete callback */
  34. subscribe(next: null | undefined, error: null | undefined, complete: () => void): Unsubscribable;
  35. /** @deprecated Use an observer instead of an error callback */
  36. subscribe(next: null | undefined, error: (error: any) => void, complete?: () => void): Unsubscribable;
  37. /** @deprecated Use an observer instead of a complete callback */
  38. subscribe(next: (value: T) => void, error: null | undefined, complete: () => void): Unsubscribable;
  39. subscribe(next?: (value: T) => void, error?: (error: any) => void, complete?: () => void): Unsubscribable;
  40. }
  41. export declare type ObservableInput<T> = SubscribableOrPromise<T> | ArrayLike<T> | Iterable<T>;
  42. /** @deprecated use {@link InteropObservable } */
  43. export declare type ObservableLike<T> = InteropObservable<T>;
  44. export declare type InteropObservable<T> = {
  45. [Symbol.observable]: () => Subscribable<T>;
  46. };
  47. /** OBSERVER INTERFACES */
  48. export interface NextObserver<T> {
  49. closed?: boolean;
  50. next: (value: T) => void;
  51. error?: (err: any) => void;
  52. complete?: () => void;
  53. }
  54. export interface ErrorObserver<T> {
  55. closed?: boolean;
  56. next?: (value: T) => void;
  57. error: (err: any) => void;
  58. complete?: () => void;
  59. }
  60. export interface CompletionObserver<T> {
  61. closed?: boolean;
  62. next?: (value: T) => void;
  63. error?: (err: any) => void;
  64. complete: () => void;
  65. }
  66. export declare type PartialObserver<T> = NextObserver<T> | ErrorObserver<T> | CompletionObserver<T>;
  67. export interface Observer<T> {
  68. closed?: boolean;
  69. next: (value: T) => void;
  70. error: (err: any) => void;
  71. complete: () => void;
  72. }
  73. /** SCHEDULER INTERFACES */
  74. export interface SchedulerLike {
  75. now(): number;
  76. schedule<T>(work: (this: SchedulerAction<T>, state?: T) => void, delay?: number, state?: T): Subscription;
  77. }
  78. export interface SchedulerAction<T> extends Subscription {
  79. schedule(state?: T, delay?: number): Subscription;
  80. }
  81. export declare type ObservedValueOf<O> = O extends ObservableInput<infer T> ? T : never;
  82. export declare type ObservedValuesFromArray<X> = X extends Array<ObservableInput<infer T>> ? T : never;