@vkontakte/videoplayer-core 2.0.36 → 2.0.37

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 (115) hide show
  1. package/index.cjs.js +4 -4
  2. package/index.esm.js +4 -4
  3. package/package.json +1 -1
  4. package/{env.d.ts → sdk/src/env.d.ts} +0 -0
  5. package/{index.d.ts → sdk/src/index.d.ts} +0 -0
  6. package/{player → sdk/src/player}/Player.d.ts +0 -0
  7. package/{player → sdk/src/player}/types.d.ts +0 -0
  8. package/{player → sdk/src/player}/utils/position.d.ts +0 -0
  9. package/{player → sdk/src/player}/utils/selectContainer.d.ts +0 -0
  10. package/{player → sdk/src/player}/utils/watchCoverage.d.ts +0 -0
  11. package/{providers → sdk/src/providers}/ChromecastProvider/ChromecastInitializer/index.d.ts +0 -0
  12. package/{providers → sdk/src/providers}/ChromecastProvider/ChromecastInitializer/types.d.ts +0 -0
  13. package/{providers → sdk/src/providers}/ChromecastProvider/index.d.ts +0 -0
  14. package/{providers → sdk/src/providers}/DashIFProvider/BigRequestLoader.d.ts +0 -0
  15. package/{providers → sdk/src/providers}/DashIFProvider/dashjsTypes.d.ts +0 -0
  16. package/{providers → sdk/src/providers}/DashIFProvider/index.d.ts +0 -0
  17. package/{providers → sdk/src/providers}/DashIFProvider/observableManifestLoader.d.ts +0 -0
  18. package/{providers → sdk/src/providers}/DashIFProvider/stripRangeHeader.d.ts +0 -0
  19. package/{providers → sdk/src/providers}/DashLiveProvider/DashLiveProvider.d.ts +0 -0
  20. package/{providers → sdk/src/providers}/DashLiveProvider/index.d.ts +0 -0
  21. package/{providers → sdk/src/providers}/DashLiveProvider/types.d.ts +0 -0
  22. package/{providers → sdk/src/providers}/DashLiveProvider/utils/FilesFetcher.d.ts +0 -0
  23. package/{providers → sdk/src/providers}/DashLiveProvider/utils/LiveDashPlayer.d.ts +0 -0
  24. package/{providers → sdk/src/providers}/DashLiveProvider/utils/ThroughputEstimator.d.ts +0 -0
  25. package/{providers → sdk/src/providers}/DashLiveProvider/utils/liveDashPlayerUtil.d.ts +0 -0
  26. package/{providers → sdk/src/providers}/DashProvider/DashProvider.d.ts +0 -0
  27. package/{providers → sdk/src/providers}/DashProvider/index.d.ts +0 -0
  28. package/{providers → sdk/src/providers}/DashProvider/types.d.ts +0 -0
  29. package/{providers → sdk/src/providers}/DashProvider/utils/DashLite.d.ts +0 -0
  30. package/{providers → sdk/src/providers}/DashProvider/utils/stream.d.ts +0 -0
  31. package/{providers → sdk/src/providers}/DashProvider/utils/xhr2.d.ts +0 -0
  32. package/{providers → sdk/src/providers}/DashVKProvider/index.d.ts +0 -0
  33. package/{providers → sdk/src/providers}/DashVKProvider/lib/buffer.d.ts +1 -0
  34. package/{providers → sdk/src/providers}/DashVKProvider/lib/ebml.d.ts +0 -0
  35. package/{providers → sdk/src/providers}/DashVKProvider/lib/fetch.d.ts +0 -0
  36. package/{providers → sdk/src/providers}/DashVKProvider/lib/mpd.d.ts +0 -0
  37. package/{providers → sdk/src/providers}/DashVKProvider/lib/player.d.ts +0 -0
  38. package/{providers → sdk/src/providers}/DashVKProvider/lib/types.d.ts +0 -0
  39. package/{providers → sdk/src/providers}/DashVKProvider/lib/webm.d.ts +0 -0
  40. package/{providers → sdk/src/providers}/HlsJsProvider/index.d.ts +0 -0
  41. package/{providers → sdk/src/providers}/HlsLiveProvider/index.d.ts +0 -0
  42. package/{providers → sdk/src/providers}/HlsLiveProvider/seekBackTimeExtractor.d.ts +0 -0
  43. package/{providers → sdk/src/providers}/HlsProvider/index.d.ts +0 -0
  44. package/{providers → sdk/src/providers}/HlsProvider/qualityExtractor.d.ts +0 -0
  45. package/{providers → sdk/src/providers}/MpegProvider/index.d.ts +0 -0
  46. package/{providers → sdk/src/providers}/ProviderContainer/index.d.ts +0 -0
  47. package/{providers → sdk/src/providers}/ProviderContainer/types.d.ts +0 -0
  48. package/{providers → sdk/src/providers}/ProviderContainer/utils/formatsSupport.d.ts +0 -0
  49. package/{providers → sdk/src/providers}/ProviderContainer/utils/playbackHangup.d.ts +0 -0
  50. package/{providers → sdk/src/providers}/types.d.ts +0 -0
  51. package/{providers → sdk/src/providers}/utils/HtmlVideoTextTrackManager.d.ts +0 -0
  52. package/{providers → sdk/src/providers}/utils/LiveOffset/index.d.ts +0 -0
  53. package/{providers → sdk/src/providers}/utils/LiveOffset/types.d.ts +0 -0
  54. package/{providers → sdk/src/providers}/utils/firstBytesEventForVideoElement.d.ts +0 -0
  55. package/{providers → sdk/src/providers}/utils/firstFrameEvent.d.ts +0 -0
  56. package/{providers → sdk/src/providers}/utils/forcePlay.d.ts +0 -0
  57. package/{providers → sdk/src/providers}/utils/generateLiveUrl.d.ts +0 -0
  58. package/{providers → sdk/src/providers}/utils/initVideoInContainer.d.ts +0 -0
  59. package/{providers → sdk/src/providers}/utils/observableVideo.d.ts +0 -0
  60. package/{providers → sdk/src/providers}/utils/syncDesiredState.d.ts +0 -0
  61. package/{providers → sdk/src/providers}/utils/syncPlaybackState.d.ts +0 -0
  62. package/{utils → sdk/src/utils}/StateMachine/StateMachine.d.ts +0 -0
  63. package/{utils → sdk/src/utils}/StateMachine/types.d.ts +0 -0
  64. package/{utils → sdk/src/utils}/StatefulIterator/StatefulIterator.spec.d.ts +0 -0
  65. package/{utils → sdk/src/utils}/StatefulIterator/index.d.ts +0 -0
  66. package/sdk/src/utils/ThroughputEstimator.d.ts +25 -0
  67. package/{utils → sdk/src/utils}/addScript.d.ts +0 -0
  68. package/{utils → sdk/src/utils}/autoSelectVideoTrack.d.ts +0 -0
  69. package/{utils → sdk/src/utils}/buffer/HttpVideoBuffer.d.ts +0 -0
  70. package/{utils → sdk/src/utils}/buffer/getBufferedRangeForPosition.d.ts +0 -0
  71. package/{utils → sdk/src/utils}/buffer/getForwardBufferDuration.d.ts +0 -0
  72. package/{utils → sdk/src/utils}/buffer/types.d.ts +0 -0
  73. package/{utils → sdk/src/utils}/hostnameFromUrl.d.ts +0 -0
  74. package/{utils → sdk/src/utils}/iframeSafeStorage.d.ts +0 -0
  75. package/{utils → sdk/src/utils}/isSafari.d.ts +0 -0
  76. package/{utils → sdk/src/utils}/link.d.ts +0 -0
  77. package/{utils → sdk/src/utils}/observeElementSize.d.ts +0 -0
  78. package/{utils → sdk/src/utils}/playbackTelemetry.d.ts +0 -0
  79. package/{utils → sdk/src/utils}/quality/quality.spec.d.ts +0 -0
  80. package/{utils → sdk/src/utils}/quality/types.d.ts +0 -0
  81. package/{utils → sdk/src/utils}/quality/utils.d.ts +0 -0
  82. package/{utils → sdk/src/utils}/range.d.ts +0 -0
  83. package/{utils → sdk/src/utils}/rectangle.d.ts +0 -0
  84. package/sdk/src/utils/smoothedValue.d.ts +24 -0
  85. package/{utils → sdk/src/utils}/tuningConfig.d.ts +1 -1
  86. package/{utils → sdk/src/utils}/videoFormat.d.ts +0 -0
  87. package/shared/src/Logger/Logger.d.ts +10 -0
  88. package/shared/src/Logger/index.d.ts +2 -0
  89. package/shared/src/index.d.ts +4 -0
  90. package/shared/src/reactive/Observable.d.ts +7 -0
  91. package/shared/src/reactive/Subject.d.ts +10 -0
  92. package/shared/src/reactive/Subscription.d.ts +6 -0
  93. package/shared/src/reactive/ValueSubject.d.ts +10 -0
  94. package/shared/src/reactive/combine.d.ts +10 -0
  95. package/shared/src/reactive/fromEvent.d.ts +7 -0
  96. package/shared/src/reactive/index.d.ts +19 -0
  97. package/shared/src/reactive/merge.d.ts +12 -0
  98. package/shared/src/reactive/observableFrom.d.ts +3 -0
  99. package/shared/src/reactive/operators/debounce.d.ts +6 -0
  100. package/shared/src/reactive/operators/filter.d.ts +3 -0
  101. package/shared/src/reactive/operators/filterChanged.d.ts +5 -0
  102. package/shared/src/reactive/operators/map.d.ts +2 -0
  103. package/shared/src/reactive/operators/mapTo.d.ts +2 -0
  104. package/shared/src/reactive/operators/once.d.ts +5 -0
  105. package/shared/src/reactive/operators/pairwise.d.ts +4 -0
  106. package/shared/src/reactive/operators/tap.d.ts +2 -0
  107. package/shared/src/reactive/operators/throttle.d.ts +5 -0
  108. package/shared/src/reactive/timeout.d.ts +3 -0
  109. package/shared/src/types/index.d.ts +18 -0
  110. package/shared/src/utils/addScript.d.ts +1 -0
  111. package/shared/src/utils/index.d.ts +5 -0
  112. package/shared/src/utils/never.d.ts +2 -0
  113. package/shared/src/utils/noop.d.ts +1 -0
  114. package/shared/src/utils/nullable.d.ts +6 -0
  115. package/utils/ThroughputEstimator.d.ts +0 -31
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vkontakte/videoplayer-core",
3
- "version": "2.0.36",
3
+ "version": "2.0.37",
4
4
  "author": "vk.com",
5
5
  "description": "Videoplayer core library based on the vk.com platform",
6
6
  "homepage": "https://vk.com",
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -22,6 +22,7 @@ export declare class BufferManager {
22
22
  private segmentDownloadPromise;
23
23
  private abortController;
24
24
  private loadAllInitsPromise;
25
+ private allInitsLoaded;
25
26
  private throughputEstimator;
26
27
  private tuning;
27
28
  constructor(kind: RepresentationKind, mediaSource: MediaSource, representations: Representation[], { throughputEstimator, tuning }: Dependencies);
File without changes
File without changes
@@ -0,0 +1,25 @@
1
+ import { Byte, Kbps, Milliseconds } from '@vkontakte/videoplayer-shared';
2
+ import { ITuningConfig } from "./tuningConfig";
3
+ import { IValueSubject } from '../../../shared/src';
4
+ declare class ThroughputEstimator {
5
+ private throughput;
6
+ private rtt;
7
+ private subscription;
8
+ private tuningConfig;
9
+ throughput$: IValueSubject<Kbps>;
10
+ rtt$: IValueSubject<Milliseconds>;
11
+ rttAdjustedThroughput$: IValueSubject<Kbps>;
12
+ constructor(tuning: ITuningConfig['throughputEstimator']);
13
+ destroy(): void;
14
+ trackXHR(xhr: XMLHttpRequest): void;
15
+ trackStream(stream: ReadableStream): void;
16
+ addRawSpeed(size: Byte, time: Milliseconds): void;
17
+ /**
18
+ * Стоит использовать только когда другие методы совсем не получается
19
+ */
20
+ addRawThroughput(rate: Kbps): void;
21
+ addRawRtt(time: Milliseconds): void;
22
+ private static sanityCheck;
23
+ private static load;
24
+ }
25
+ export default ThroughputEstimator;
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1,24 @@
1
+ import { IValueSubject } from '@vkontakte/videoplayer-shared';
2
+ interface IParams {
3
+ initial: number;
4
+ emaAlphaSlow: number;
5
+ emaAlphaFast: number;
6
+ changeThreshold: number;
7
+ fastDirection: 1 | -1;
8
+ label?: string;
9
+ }
10
+ export declare class SmoothedValue {
11
+ private prevReported;
12
+ private slow;
13
+ private fast;
14
+ private smoothed;
15
+ private params;
16
+ private rawSeries$;
17
+ private smoothedSeries$;
18
+ private reportedSeries$;
19
+ smoothed$: IValueSubject<number>;
20
+ debounced$: IValueSubject<number>;
21
+ constructor(params: IParams);
22
+ next(value: number): void;
23
+ }
24
+ export {};
@@ -2,11 +2,11 @@ import { VideoFormat } from "../player/types";
2
2
  import { Byte, Milliseconds } from '@vkontakte/videoplayer-shared';
3
3
  export declare type ITuningConfig = {
4
4
  throughputEstimator: {
5
- emaAlpha: number;
6
5
  emaAlphaSlow: number;
7
6
  emaAlphaFast: number;
8
7
  changeThreshold: number;
9
8
  useBrowserEstimation: boolean;
9
+ rttPenaltyRequestSize: Byte;
10
10
  streamMinSampleSize: Byte;
11
11
  streamMinSampleTime: Milliseconds;
12
12
  };
File without changes
@@ -0,0 +1,10 @@
1
+ import Subject from '../reactive/Subject';
2
+ import { ILogger, ILogInputEntry, IComponentLogger, ILogEntry } from './types';
3
+ export declare class Logger implements ILogger {
4
+ log$: Subject<ILogEntry>;
5
+ private logs;
6
+ log: (inputEntry: ILogInputEntry) => void;
7
+ createCustomLog<TArgs extends unknown[]>(transform: (...args: TArgs) => ILogInputEntry): (...args: TArgs) => void;
8
+ createComponentLog(component: string): IComponentLogger;
9
+ getAllLogs: () => ILogEntry[];
10
+ }
@@ -0,0 +1,2 @@
1
+ export { Logger } from './Logger';
2
+ export type { ILogger, ILogInputEntry, IComponentLogEntry, IComponentLogger, ILogEntry } from './types';
@@ -0,0 +1,4 @@
1
+ export * from './Logger';
2
+ export * from './utils';
3
+ export * from './reactive';
4
+ export * from './types';
@@ -0,0 +1,7 @@
1
+ import { IEmitter, IListener, IObservable, IOperator, ISubscription, IUnsubscriber } from './types';
2
+ export default class Observable<T> implements IObservable<T> {
3
+ constructor(subscribe?: (emitter: IEmitter<T>) => IUnsubscriber | ISubscription | void);
4
+ subscribe(listener: IListener<T>, error?: IListener<Error | unknown>): ISubscription;
5
+ pipe(...operators: IOperator<unknown, unknown>[]): IObservable<unknown>;
6
+ protected _subscribe(_emitter: IEmitter<T>): IUnsubscriber | ISubscription | void;
7
+ }
@@ -0,0 +1,10 @@
1
+ import { IEmitter, ISubject, ISubscription, IUnsubscriber } from './types';
2
+ import Observable from './Observable';
3
+ export default class Subject<T> extends Observable<T> implements ISubject<T> {
4
+ private keyCounter;
5
+ private subscribers;
6
+ constructor();
7
+ next(value: T): void;
8
+ error(value: T): void;
9
+ protected _subscribe(emitter: IEmitter<T>): IUnsubscriber | ISubscription | void;
10
+ }
@@ -0,0 +1,6 @@
1
+ import { ISubscription, IUnsubscriber } from './types';
2
+ export default class Subscription implements ISubscription {
3
+ private subscriptions;
4
+ unsubscribe(): void;
5
+ add(item: ISubscription | IUnsubscriber): ISubscription;
6
+ }
@@ -0,0 +1,10 @@
1
+ import { IEmitter, ISubscription, IUnsubscriber, IValueSubject } from './types';
2
+ import Subject from './Subject';
3
+ export default class ValueSubject<T> extends Subject<T> implements IValueSubject<T> {
4
+ private value;
5
+ constructor(initialValue: T);
6
+ next(value: T): void;
7
+ error(value: T): void;
8
+ getValue(): T;
9
+ protected _subscribe(emitter: IEmitter<T>): IUnsubscriber | ISubscription | void;
10
+ }
@@ -0,0 +1,10 @@
1
+ import { IObservable, TypeOfObservable } from './types';
2
+ /**
3
+ * Создаёт Observable, который состоит из объектов, ключами которых являются последние значения исходных Observable.
4
+ * Первое событие возникает тогда, когда каждый исходный Observable выдал хотя бы одно значение.
5
+ */
6
+ declare type CombineObservables<T extends Record<string, IObservable<unknown>>> = {
7
+ [key in keyof T]: TypeOfObservable<T[key]>;
8
+ };
9
+ export default function combine<T extends Record<string, IObservable<unknown>>>(observables: T): IObservable<CombineObservables<T>>;
10
+ export {};
@@ -0,0 +1,7 @@
1
+ import { IObservable } from './types';
2
+ interface IEventTarget {
3
+ addEventListener(type: string, handler: (...params: any[]) => void): void;
4
+ removeEventListener(type: string, handler: (...params: any[]) => void): void;
5
+ }
6
+ declare const _default: <T>(target: IEventTarget, eventName: string) => IObservable<T>;
7
+ export default _default;
@@ -0,0 +1,19 @@
1
+ export { default as Subscription } from './Subscription';
2
+ export { default as Observable } from './Observable';
3
+ export { default as Subject } from './Subject';
4
+ export { default as ValueSubject } from './ValueSubject';
5
+ export { default as combine } from './combine';
6
+ export { default as merge } from './merge';
7
+ export { default as timeout } from './timeout';
8
+ export { default as observableFrom } from './observableFrom';
9
+ export { default as fromEvent } from './fromEvent';
10
+ export { default as debounce } from './operators/debounce';
11
+ export { default as throttle } from './operators/throttle';
12
+ export { default as filter } from './operators/filter';
13
+ export { default as filterChanged } from './operators/filterChanged';
14
+ export { default as map } from './operators/map';
15
+ export { default as mapTo } from './operators/mapTo';
16
+ export { default as once } from './operators/once';
17
+ export { default as pairwise } from './operators/pairwise';
18
+ export { default as tap } from './operators/tap';
19
+ export type { ISubscription, IUnsubscriber, IObservable, ISubject, IValueSubject, IValueObservable, IListener, IEmitter, IValue, IOperator, } from './types';
@@ -0,0 +1,12 @@
1
+ import { IObservable } from './types';
2
+ export default function merge<T1, T2>(v1: IObservable<T1>, v2: IObservable<T2>): IObservable<T1 | T2>;
3
+ export default function merge<T1, T2, T3>(v1: IObservable<T1>, v2: IObservable<T2>, v3: IObservable<T3>): IObservable<T1 | T2 | T3>;
4
+ export default function merge<T1, T2, T3, T4>(v1: IObservable<T1>, v2: IObservable<T2>, v3: IObservable<T3>, v4: IObservable<T4>): IObservable<T1 | T2 | T3 | T4>;
5
+ export default function merge<T1, T2, T3, T4, T5>(v1: IObservable<T1>, v2: IObservable<T2>, v3: IObservable<T3>, v4: IObservable<T4>, v5: IObservable<T5>): IObservable<T1 | T2 | T3 | T4 | T5>;
6
+ export default function merge<T1, T2, T3, T4, T5, T6>(v1: IObservable<T1>, v2: IObservable<T2>, v3: IObservable<T3>, v4: IObservable<T4>, v5: IObservable<T5>, v6: IObservable<T6>): IObservable<T1 | T2 | T3 | T4 | T5 | T6>;
7
+ export default function merge<T1, T2, T3, T4, T5, T6>(v1: IObservable<T1>, v2: IObservable<T2>, v3: IObservable<T3>, v4: IObservable<T4>, v5: IObservable<T5>, v6: IObservable<T6>): IObservable<T1 | T2 | T3 | T4 | T5 | T6>;
8
+ export default function merge<T1, T2, T3, T4, T5, T6, T7>(v1: IObservable<T1>, v2: IObservable<T2>, v3: IObservable<T3>, v4: IObservable<T4>, v5: IObservable<T5>, v6: IObservable<T6>, v7: IObservable<T7>): IObservable<T1 | T2 | T3 | T4 | T5 | T6 | T7>;
9
+ export default function merge<T1, T2, T3, T4, T5, T6, T7, T8>(v1: IObservable<T1>, v2: IObservable<T2>, v3: IObservable<T3>, v4: IObservable<T4>, v5: IObservable<T5>, v6: IObservable<T6>, v7: IObservable<T7>, v8: IObservable<T8>): IObservable<T1 | T2 | T3 | T4 | T5 | T6 | T7 | T8>;
10
+ export default function merge<T1, T2, T3, T4, T5, T6, T7, T8, T9>(v1: IObservable<T1>, v2: IObservable<T2>, v3: IObservable<T3>, v4: IObservable<T4>, v5: IObservable<T5>, v6: IObservable<T6>, v7: IObservable<T7>, v8: IObservable<T8>, v9: IObservable<T9>): IObservable<T1 | T2 | T3 | T4 | T5 | T6 | T7 | T8 | T9>;
11
+ export default function merge<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(v1: IObservable<T1>, v2: IObservable<T2>, v3: IObservable<T3>, v4: IObservable<T4>, v5: IObservable<T5>, v6: IObservable<T6>, v7: IObservable<T7>, v8: IObservable<T8>, v9: IObservable<T9>, v10: IObservable<T10>): IObservable<T1 | T2 | T3 | T4 | T5 | T6 | T7 | T8 | T9 | T10>;
12
+ export default function merge<R>(...observables: IObservable<unknown>[]): IObservable<R>;
@@ -0,0 +1,3 @@
1
+ import { IObservable } from './types';
2
+ declare const _default: <T>(values: T[]) => IObservable<T>;
3
+ export default _default;
@@ -0,0 +1,6 @@
1
+ import { Milliseconds } from '../../utils/semanticTypes';
2
+ import { IOperator } from '../types';
3
+ export default function debounce<T>(time: Milliseconds, config?: {
4
+ leading: boolean;
5
+ trailing: boolean;
6
+ }): IOperator<T>;
@@ -0,0 +1,3 @@
1
+ import { IOperator } from '../types';
2
+ export default function filter<T, S extends T>(predicate: (value: T) => value is S): IOperator<T, S>;
3
+ export default function filter<T>(predicate: (value: T) => boolean): IOperator<T>;
@@ -0,0 +1,5 @@
1
+ import { IOperator } from '../types';
2
+ /**
3
+ * Пропускает только события, содержащие значения, отличные от предыдущего
4
+ */
5
+ export default function filterChanged<T>(equal?: (prev: T, next: T) => boolean): IOperator<T>;
@@ -0,0 +1,2 @@
1
+ import { IOperator } from '../types';
2
+ export default function map<T, S>(mapper: (value: T) => S): IOperator<T, S>;
@@ -0,0 +1,2 @@
1
+ import { IOperator } from '../types';
2
+ export default function mapTo<T, S>(value: S): IOperator<T, S>;
@@ -0,0 +1,5 @@
1
+ import { IOperator } from '../types';
2
+ /**
3
+ * Отписывается от исходного потока после получения первого события.
4
+ */
5
+ export default function once<T>(): IOperator<T>;
@@ -0,0 +1,4 @@
1
+ import { IOperator } from '../types';
2
+ declare type IPair<T> = [previous: T, current: T];
3
+ export default function pairwise<T>(): IOperator<T, IPair<T>>;
4
+ export {};
@@ -0,0 +1,2 @@
1
+ import { IOperator } from '../types';
2
+ export default function tap<T>(effect: (value: T) => void): IOperator<T>;
@@ -0,0 +1,5 @@
1
+ import { IOperator } from '../types';
2
+ export default function throttle<T>(time: number, config?: {
3
+ leading: boolean;
4
+ trailing: boolean;
5
+ }): IOperator<T>;
@@ -0,0 +1,3 @@
1
+ import { IObservable } from './types';
2
+ declare const _default: (interval: number) => IObservable<void>;
3
+ export default _default;
@@ -0,0 +1,18 @@
1
+ export interface IError {
2
+ /**
3
+ * Код или другой идентификатор для статистики
4
+ */
5
+ id: string;
6
+ /**
7
+ * Сообщение по которому можно разобрать что случилось
8
+ */
9
+ message: string;
10
+ /**
11
+ * Данные, полезные для отладки
12
+ */
13
+ data?: any;
14
+ /**
15
+ * Возникшее исключение
16
+ */
17
+ thrown?: Error | unknown;
18
+ }
@@ -0,0 +1 @@
1
+ export declare const addScript: (scriptSrc: string, abortSignal: AbortSignal, timeout?: number | undefined) => Promise<void>;
@@ -0,0 +1,5 @@
1
+ export { noop } from './noop';
2
+ export { assertNever, checkNever } from './never';
3
+ export { isNonNullable, isNullable, assertNonNullable, assertNullable } from './nullable';
4
+ export { addScript } from './addScript';
5
+ export type { Milliseconds, bps, Byte, Seconds, Kbps, Mbps } from './semanticTypes';
@@ -0,0 +1,2 @@
1
+ export declare const assertNever: (x: never) => never;
2
+ export declare const checkNever: (_x: never) => void;
@@ -0,0 +1 @@
1
+ export declare const noop: () => void;
@@ -0,0 +1,6 @@
1
+ export declare function assertNonNullable<T>(value: T, failMessage?: string): asserts value is NonNullable<T>;
2
+ export declare function assertNullable<T extends INullable = INullable>(value: unknown, failMessage?: string): asserts value is T;
3
+ export declare function isNonNullable<T>(value: T): value is NonNullable<T>;
4
+ export declare function isNullable<T extends INullable = INullable>(value: unknown): value is T;
5
+ declare type INullable = null | undefined;
6
+ export {};
@@ -1,31 +0,0 @@
1
- import { Subject, ValueSubject, Byte, Kbps, Milliseconds, ISubject } from '@vkontakte/videoplayer-shared';
2
- import { ITuningConfig } from "./tuningConfig";
3
- declare class ThroughputEstimator {
4
- private smoothedCombination;
5
- private smoothedFast;
6
- private smoothedSlow;
7
- private subscription;
8
- private rawSeries$;
9
- private smoothedSeries$;
10
- private reportedSeries$;
11
- xhr$: ISubject<XMLHttpRequest>;
12
- rawSpeed$: ISubject<{
13
- size: Byte;
14
- time: Milliseconds;
15
- }>;
16
- rawThroughput$: ISubject<Kbps>;
17
- stream$: Subject<ReadableStream<any>>;
18
- private tuningConfig;
19
- estimation$: ValueSubject<number>;
20
- rtt$: ValueSubject<number | undefined>;
21
- constructor(tuning: ITuningConfig['throughputEstimator']);
22
- destroy(): void;
23
- private trackXHR;
24
- private trackStream;
25
- private addRawSpeed;
26
- private sanityCheck;
27
- private addValue;
28
- private load;
29
- private dump;
30
- }
31
- export default ThroughputEstimator;