@vkontakte/videoplayer-shared 1.0.36 → 1.0.37-dev.0bef53b3.0

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 (62) hide show
  1. package/es2015.cjs.js +4 -4
  2. package/es2015.esm.js +4 -4
  3. package/es2018.cjs.js +4 -4
  4. package/es2018.esm.js +4 -4
  5. package/esnext.cjs.js +4 -4
  6. package/esnext.esm.js +4 -4
  7. package/evergreen.esm.js +4 -4
  8. package/package.json +7 -7
  9. package/types/Logger/Logger.d.ts +10 -0
  10. package/types/Logger/index.d.ts +2 -0
  11. package/types/Logger/types.d.ts +30 -0
  12. package/types/env.d.ts +1 -0
  13. package/types/index.d.ts +6 -0
  14. package/types/reactive/Observable.d.ts +7 -0
  15. package/types/reactive/Subject.d.ts +10 -0
  16. package/types/reactive/Subscription.d.ts +6 -0
  17. package/types/reactive/ValueSubject.d.ts +10 -0
  18. package/types/reactive/combine.d.ts +10 -0
  19. package/types/reactive/fromEvent.d.ts +7 -0
  20. package/types/reactive/index.d.ts +21 -0
  21. package/types/reactive/interval.d.ts +4 -0
  22. package/types/reactive/merge.d.ts +12 -0
  23. package/types/reactive/observableFrom.d.ts +3 -0
  24. package/types/reactive/operators/buffer.d.ts +2 -0
  25. package/types/reactive/operators/debounce.d.ts +6 -0
  26. package/types/reactive/operators/filter.d.ts +3 -0
  27. package/types/reactive/operators/filterChanged.d.ts +5 -0
  28. package/types/reactive/operators/map.d.ts +2 -0
  29. package/types/reactive/operators/mapTo.d.ts +2 -0
  30. package/types/reactive/operators/once.d.ts +5 -0
  31. package/types/reactive/operators/pairwise.d.ts +4 -0
  32. package/types/reactive/operators/tap.d.ts +2 -0
  33. package/types/reactive/operators/throttle.d.ts +5 -0
  34. package/types/reactive/timeout.d.ts +4 -0
  35. package/types/reactive/types.d.ts +29 -0
  36. package/types/translation/index.d.ts +2 -0
  37. package/types/translation/loadVKLangPack.d.ts +16 -0
  38. package/types/translation/types.d.ts +5 -0
  39. package/types/types/index.d.ts +53 -0
  40. package/types/utils/abortable.d.ts +3 -0
  41. package/types/utils/addScript.d.ts +1 -0
  42. package/types/utils/cloneDeep.d.ts +1 -0
  43. package/types/utils/cloneDeepWith.d.ts +3 -0
  44. package/types/utils/config.d.ts +2 -0
  45. package/types/utils/debounceFn.d.ts +13 -0
  46. package/types/utils/detectBrowser.d.ts +31 -0
  47. package/types/utils/detectEmbed.d.ts +4 -0
  48. package/types/utils/empty.d.ts +2 -0
  49. package/types/utils/exponentialBackoff.d.ts +9 -0
  50. package/types/utils/iframeSafeStorage.d.ts +6 -0
  51. package/types/utils/index.d.ts +22 -0
  52. package/types/utils/never.d.ts +2 -0
  53. package/types/utils/noop.d.ts +1 -0
  54. package/types/utils/now.d.ts +2 -0
  55. package/types/utils/nullable.d.ts +7 -0
  56. package/types/utils/observeElementSize.d.ts +3 -0
  57. package/types/utils/quality/index.d.ts +20 -0
  58. package/types/utils/quality/types.d.ts +21 -0
  59. package/types/utils/semanticTypes.d.ts +7 -0
  60. package/types/utils/throttleFn.d.ts +5 -0
  61. package/types/utils/timecode.d.ts +1 -0
  62. package/index.d.ts +0 -415
@@ -0,0 +1,21 @@
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 interval } from './interval';
9
+ export { default as observableFrom } from './observableFrom';
10
+ export { default as fromEvent } from './fromEvent';
11
+ export { default as buffer } from './operators/buffer';
12
+ export { default as debounce } from './operators/debounce';
13
+ export { default as throttle } from './operators/throttle';
14
+ export { default as filter } from './operators/filter';
15
+ export { default as filterChanged } from './operators/filterChanged';
16
+ export { default as map } from './operators/map';
17
+ export { default as mapTo } from './operators/mapTo';
18
+ export { default as once } from './operators/once';
19
+ export { default as pairwise } from './operators/pairwise';
20
+ export { default as tap } from './operators/tap';
21
+ export type { ISubscription, IUnsubscriber, IObservable, ISubject, IValueSubject, IValueObservable, IListener, IEmitter, IValue, IOperator, } from './types';
@@ -0,0 +1,4 @@
1
+ import { Milliseconds } from '../utils';
2
+ import type { IObservable } from './types';
3
+ declare const _default: (time: Milliseconds) => IObservable<void>;
4
+ export default _default;
@@ -0,0 +1,12 @@
1
+ import type { 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 type { IObservable } from './types';
2
+ declare const _default: <T>(values: T[]) => IObservable<T>;
3
+ export default _default;
@@ -0,0 +1,2 @@
1
+ import type { IOperator } from '../types';
2
+ export default function buffer<T>(size: number): IOperator<T, T[]>;
@@ -0,0 +1,6 @@
1
+ import type { Milliseconds } from '../../utils/semanticTypes';
2
+ import type { 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 type { 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 type { 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 type { IOperator } from '../types';
2
+ export default function map<T, S>(mapper: (value: T) => S): IOperator<T, S>;
@@ -0,0 +1,2 @@
1
+ import type { IOperator } from '../types';
2
+ export default function mapTo<T, S>(value: S): IOperator<T, S>;
@@ -0,0 +1,5 @@
1
+ import type { IOperator } from '../types';
2
+ /**
3
+ * Отписывается от исходного потока после получения первого события.
4
+ */
5
+ export default function once<T>(): IOperator<T>;
@@ -0,0 +1,4 @@
1
+ import type { IOperator } from '../types';
2
+ 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 type { IOperator } from '../types';
2
+ export default function tap<T>(effect: (value: T) => void): IOperator<T>;
@@ -0,0 +1,5 @@
1
+ import type { IOperator } from '../types';
2
+ export default function throttle<T>(time: number, config?: {
3
+ leading: boolean;
4
+ trailing: boolean;
5
+ }): IOperator<T>;
@@ -0,0 +1,4 @@
1
+ import { Milliseconds } from '../utils';
2
+ import type { IObservable } from './types';
3
+ declare const _default: (time: Milliseconds) => IObservable<void>;
4
+ export default _default;
@@ -0,0 +1,29 @@
1
+ export type IUnsubscriber = () => void;
2
+ export interface ISubscription {
3
+ unsubscribe: IUnsubscriber;
4
+ add(item: ISubscription | IUnsubscriber): ISubscription;
5
+ }
6
+ export interface IObservable<T> {
7
+ subscribe(listener: IListener<T>, error?: IListener<Error | unknown>): ISubscription;
8
+ pipe<T1>(op1: IOperator<T, T1>): IObservable<T1>;
9
+ pipe<T1, T2>(op1: IOperator<T, T1>, op2: IOperator<T1, T2>): IObservable<T2>;
10
+ pipe<T1, T2, T3>(op1: IOperator<T, T1>, op2: IOperator<T1, T2>, op3: IOperator<T2, T3>): IObservable<T3>;
11
+ pipe<T1, T2, T3, T4>(op1: IOperator<T, T1>, op2: IOperator<T1, T2>, op3: IOperator<T2, T3>, op4: IOperator<T3, T4>): IObservable<T4>;
12
+ pipe<T1, T2, T3, T4, T5>(op1: IOperator<T, T1>, op2: IOperator<T1, T2>, op3: IOperator<T2, T3>, op4: IOperator<T3, T4>, op5: IOperator<T4, T5>): IObservable<T5>;
13
+ }
14
+ export interface IValue<T> {
15
+ getValue(): T;
16
+ }
17
+ export interface IEmitter<T> {
18
+ next(value: T): void;
19
+ error?(value: Error | unknown): void;
20
+ }
21
+ export interface IValueObservable<T> extends IObservable<T>, IValue<T> {
22
+ }
23
+ export interface ISubject<T> extends IEmitter<T>, IObservable<T> {
24
+ }
25
+ export interface IValueSubject<T> extends IEmitter<T>, IObservable<T>, IValue<T> {
26
+ }
27
+ export type IListener<T> = IEmitter<T> | ((value: T) => void);
28
+ export type IOperator<TInput, TOutput = TInput> = (input: IObservable<TInput>) => IObservable<TOutput>;
29
+ export type TypeOfObservable<TObservable> = TObservable extends IObservable<infer TType> ? TType : never;
@@ -0,0 +1,2 @@
1
+ export * from './loadVKLangPack';
2
+ export * from './types';
@@ -0,0 +1,16 @@
1
+ import type { StringRecord } from './types';
2
+ export declare enum VKNumericLanguage {
3
+ Armenian = "58",
4
+ Azerbaijani = "57",
5
+ Belarusian = "114",
6
+ English = "3",
7
+ Kazakh = "97",
8
+ Portuguese = "73",
9
+ Russian = "0",
10
+ Spanish = "4",
11
+ Ukrainian = "1",
12
+ Uzbek = "65",
13
+ Vietnamese = "75"
14
+ }
15
+ export type VKLanguage = VKNumericLanguage | string;
16
+ export declare const loadVKLangPack: <T extends StringRecord>(language: VKLanguage, packName: string, packPrefix: string) => Promise<T>;
@@ -0,0 +1,5 @@
1
+ export declare enum InterfaceLanguage {
2
+ RU = "ru",
3
+ EN = "en"
4
+ }
5
+ export type StringRecord = Record<string, string>;
@@ -0,0 +1,53 @@
1
+ export interface IError {
2
+ /**
3
+ * Код или другой идентификатор для статистики
4
+ */
5
+ id: string;
6
+ category: ErrorCategory;
7
+ /**
8
+ * Сообщение по которому можно разобрать что случилось
9
+ */
10
+ message: string;
11
+ /**
12
+ * Данные, полезные для отладки
13
+ */
14
+ data?: any;
15
+ /**
16
+ * Возникшее исключение
17
+ */
18
+ thrown?: Error | unknown;
19
+ }
20
+ export interface IWarning {
21
+ /**
22
+ * Код или другой идентификатор для статистики
23
+ */
24
+ id: string;
25
+ /**
26
+ * Сообщение по которому можно разобрать что случилось
27
+ */
28
+ message: string;
29
+ /**
30
+ * Данные, полезные для отладки
31
+ */
32
+ data?: any;
33
+ }
34
+ export declare enum ErrorCategory {
35
+ NETWORK = "network",
36
+ VIDEO_PIPELINE = "video_pipeline",
37
+ EXTERNAL_API = "external_api",
38
+ PARSER = "parser",
39
+ DOM = "dom",
40
+ WTF = "wtf",
41
+ FATAL = "fatal"
42
+ }
43
+ export interface IRange<Unit extends number = number> {
44
+ from: Unit;
45
+ to: Unit;
46
+ }
47
+ export interface IRectangle<Unit extends number = number> {
48
+ width: Unit;
49
+ height: Unit;
50
+ }
51
+ export type RecursivePartial<T> = {
52
+ [P in keyof T]?: T[P] extends (infer U)[] ? RecursivePartial<U>[] : T[P] extends object | undefined ? RecursivePartial<T[P]> : T[P];
53
+ };
@@ -0,0 +1,3 @@
1
+ type AbortableDecorator = <Params extends unknown[] = void[], Return = void>(signal: AbortSignal, createGenerator: (...param: Params) => AsyncGenerator<unknown, Return, unknown>) => (...param: Params) => Promise<Return | undefined>;
2
+ export declare const abortable: AbortableDecorator;
3
+ export {};
@@ -0,0 +1 @@
1
+ export declare const addScript: (scriptSrc: string, abortSignal: AbortSignal, timeout?: number) => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const cloneDeep: <T>(obj: T) => T;
@@ -0,0 +1,3 @@
1
+ type CloneDeepWithCustomizer<TObject> = (value: unknown, key: number | string | undefined, object: TObject | undefined, stack: any) => any;
2
+ export declare const cloneDeepWith: <T>(obj: T, customizer?: CloneDeepWithCustomizer<T> | undefined) => T;
3
+ export {};
@@ -0,0 +1,2 @@
1
+ import { RecursivePartial } from '../types';
2
+ export declare const fillWithDefault: <Config extends object>(partial: RecursivePartial<Config>, defaultConfig: Config) => Config;
@@ -0,0 +1,13 @@
1
+ interface DebounceSettings {
2
+ leading?: boolean;
3
+ maxWait?: number;
4
+ trailing?: boolean;
5
+ }
6
+ export interface DebouncedFn<T extends (...args: any[]) => any> {
7
+ (...args: Parameters<T>): ReturnType<T> | undefined;
8
+ cancel(): void;
9
+ flush(): ReturnType<T> | undefined;
10
+ pending(): boolean;
11
+ }
12
+ export declare function debounceFn<T extends (...args: any) => any>(func: T, wait?: number, options?: DebounceSettings): DebouncedFn<T>;
13
+ export {};
@@ -0,0 +1,31 @@
1
+ export declare enum CurrentClientBrowser {
2
+ Unknown = "Unknown",
3
+ Yandex = "Yandex",
4
+ Chrome = "Chrome",
5
+ Chromium = "Chromium",
6
+ Firefox = "Firefox",
7
+ Safari = "Safari",
8
+ Opera = "Opera",
9
+ Edge = "Edge",
10
+ Rest = "Rest"
11
+ }
12
+ export declare enum CurrentClientDevice {
13
+ Unknown = "Unknown",
14
+ Android = "Android",
15
+ iPhone = "iPhone",
16
+ iPad = "iPad",
17
+ iPod = "iPod",
18
+ RestMobile = "RestMobile",
19
+ Mac = "Mac",
20
+ Desktop = "Desktop"
21
+ }
22
+ export type ICurrentBrowserInfo = {
23
+ browser: CurrentClientBrowser;
24
+ device: CurrentClientDevice;
25
+ };
26
+ export declare const getCurrentBrowser: () => ICurrentBrowserInfo;
27
+ export declare const isIOS: (checkForceDesktop?: boolean) => boolean;
28
+ export declare const getIOSVersion: () => number | null;
29
+ export declare const isAndroid: () => boolean;
30
+ export declare const isMacLike: () => boolean;
31
+ export declare const isMobile: () => any;
@@ -0,0 +1,4 @@
1
+ export declare const detectEmbed: () => {
2
+ isEmbed: boolean;
3
+ host?: string | undefined;
4
+ };
@@ -0,0 +1,2 @@
1
+ export declare function assertNotEmptyArray<T extends Array<unknown>>(value: T, failMessage: string): void;
2
+ export declare function assertEmptyArray<T extends Array<unknown>>(value: T, failMessage: string): void;
@@ -0,0 +1,9 @@
1
+ import { Milliseconds } from './semanticTypes';
2
+ export type ExponentialBackoffConfig = Partial<{
3
+ start: Milliseconds;
4
+ factor: number;
5
+ min: Milliseconds;
6
+ max: Milliseconds;
7
+ random: number;
8
+ }>;
9
+ export declare const getExponentialDelay: (errorsCount: number, { start, factor, max, min, random }?: ExponentialBackoffConfig) => Milliseconds;
@@ -0,0 +1,6 @@
1
+ export declare const isPersistent: () => boolean;
2
+ export declare const get: (key: string) => string | undefined;
3
+ export declare const set: (key: string, value: string) => void;
4
+ export declare const has: (key: string) => boolean;
5
+ export declare const remove: (key: string) => void;
6
+ export declare const clear: () => void;
@@ -0,0 +1,22 @@
1
+ export { noop } from './noop';
2
+ export { assertNever, checkNever } from './never';
3
+ export { isNonNullable, isNullable, assertNonNullable, assertNullable, Nullable } from './nullable';
4
+ export { assertNotEmptyArray, assertEmptyArray } from './empty';
5
+ export { addScript } from './addScript';
6
+ export type { Milliseconds, bps, Byte, Seconds, Kbps, Mbps, Percentage } from './semanticTypes';
7
+ export { now } from './now';
8
+ export { abortable } from './abortable';
9
+ export { getCurrentBrowser, CurrentClientBrowser, CurrentClientDevice, isIOS, getIOSVersion, isMacLike, isMobile, isAndroid } from './detectBrowser';
10
+ export type { ICurrentBrowserInfo } from './detectBrowser';
11
+ export { getExponentialDelay, ExponentialBackoffConfig } from './exponentialBackoff';
12
+ export * as safeStorage from './iframeSafeStorage';
13
+ export { detectEmbed } from './detectEmbed';
14
+ export { VideoQuality, type ExactVideoQuality, QualityLimits } from './quality/types';
15
+ export { isHigher, isHigherOrEqual, isLower, isLowerOrEqual, getHighestQuality, videoHeightToQuality, videoSizeToQuality, videoQualityToHeight, isInvariantQuality, areQualitiesExact, assertQualityIsExact, } from './quality';
16
+ export * from './config';
17
+ export * from './timecode';
18
+ export { debounceFn, DebouncedFn } from './debounceFn';
19
+ export { throttleFn, ThrottleOptions } from './throttleFn';
20
+ export { cloneDeep } from './cloneDeep';
21
+ export { observeElementSize } from './observeElementSize';
22
+ export { cloneDeepWith } from './cloneDeepWith';
@@ -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,2 @@
1
+ import type { Milliseconds } from './semanticTypes';
2
+ export declare const now: () => Milliseconds;
@@ -0,0 +1,7 @@
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
+ type INullable = null | undefined;
6
+ export type Nullable<T> = T | INullable;
7
+ export {};
@@ -0,0 +1,3 @@
1
+ import type { IObservable, IRectangle } from '../index';
2
+ import { Milliseconds } from '../index';
3
+ export declare const observeElementSize: (element: Element, throttleTime?: Milliseconds) => IObservable<IRectangle>;
@@ -0,0 +1,20 @@
1
+ import { IRectangle } from '../../types';
2
+ import { type ExactVideoQuality, VideoQuality } from './types';
3
+ export declare const isHigher: (a: ExactVideoQuality, b: ExactVideoQuality) => boolean;
4
+ export declare const isHigherOrEqual: (a: ExactVideoQuality, b: ExactVideoQuality) => boolean;
5
+ export declare const isLower: (a: ExactVideoQuality, b: ExactVideoQuality) => boolean;
6
+ export declare const isLowerOrEqual: (a: ExactVideoQuality, b: ExactVideoQuality) => boolean;
7
+ export declare const getHighestQuality: (qualities: VideoQuality[]) => VideoQuality | undefined;
8
+ /**
9
+ * Выбирает качество, наиболее близкое к указанной высоте кадра, но не менее её.
10
+ * @param tolerance позволяет выбрать качество менее заданной высоты на величину погрешности (в процентах)
11
+ */
12
+ export declare const videoHeightToQuality: (height: number, tolerance?: number) => ExactVideoQuality | undefined;
13
+ /**
14
+ * Выбирает качество описывающее заданные размеры видео потока, т.е. не меньше его.
15
+ */
16
+ export declare const videoSizeToQuality: ({ width, height }: IRectangle) => ExactVideoQuality | undefined;
17
+ export declare const videoQualityToHeight: (quality: ExactVideoQuality) => number;
18
+ export declare const isInvariantQuality: (quality: VideoQuality) => quality is VideoQuality.INVARIANT;
19
+ export declare const areQualitiesExact: (qualities: VideoQuality[]) => qualities is ExactVideoQuality[];
20
+ export declare function assertQualityIsExact(quality: VideoQuality): asserts quality is ExactVideoQuality;
@@ -0,0 +1,21 @@
1
+ export declare enum VideoQuality {
2
+ INVARIANT = "Invariant quality",
3
+ Q_144P = "144p",
4
+ Q_240P = "240p",
5
+ Q_360P = "360p",
6
+ Q_480P = "480p",
7
+ Q_720P = "720p",
8
+ Q_1080P = "1080p",
9
+ Q_1440P = "1440p",
10
+ Q_2160P = "2160p",
11
+ Q_4320P = "4320p"
12
+ }
13
+ export type ExactVideoQuality = Exclude<VideoQuality, VideoQuality.INVARIANT>;
14
+ /**
15
+ * Лимиты трактуются включительно
16
+ * Значение undefined снимает лимит
17
+ */
18
+ export type QualityLimits = {
19
+ max?: ExactVideoQuality;
20
+ min?: ExactVideoQuality;
21
+ };
@@ -0,0 +1,7 @@
1
+ export type Seconds = number;
2
+ export type Milliseconds = number;
3
+ export type bps = number;
4
+ export type Kbps = number;
5
+ export type Mbps = number;
6
+ export type Byte = number;
7
+ export type Percentage = number;
@@ -0,0 +1,5 @@
1
+ export interface ThrottleOptions {
2
+ leading?: boolean;
3
+ trailing?: boolean;
4
+ }
5
+ export declare const throttleFn: <T extends (...args: any) => any>(func: T, wait?: number, options?: ThrottleOptions) => import("./debounceFn").DebouncedFn<T>;
@@ -0,0 +1 @@
1
+ export declare const timeCodeToString: (t: number) => string;