@vkontakte/videoplayer-shared 1.0.36 → 1.0.37-dev.35fd18eb.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.
- package/es2015.cjs.js +4 -4
- package/es2015.esm.js +4 -4
- package/es2018.cjs.js +4 -4
- package/es2018.esm.js +4 -4
- package/esnext.cjs.js +4 -4
- package/esnext.esm.js +4 -4
- package/evergreen.esm.js +4 -4
- package/package.json +7 -7
- package/types/Logger/Logger.d.ts +10 -0
- package/types/Logger/index.d.ts +2 -0
- package/types/Logger/types.d.ts +30 -0
- package/types/env.d.ts +1 -0
- package/types/index.d.ts +6 -0
- package/types/reactive/Observable.d.ts +7 -0
- package/types/reactive/Subject.d.ts +10 -0
- package/types/reactive/Subscription.d.ts +6 -0
- package/types/reactive/ValueSubject.d.ts +10 -0
- package/types/reactive/combine.d.ts +10 -0
- package/types/reactive/fromEvent.d.ts +7 -0
- package/types/reactive/index.d.ts +21 -0
- package/types/reactive/interval.d.ts +4 -0
- package/types/reactive/merge.d.ts +12 -0
- package/types/reactive/observableFrom.d.ts +3 -0
- package/types/reactive/operators/buffer.d.ts +2 -0
- package/types/reactive/operators/debounce.d.ts +6 -0
- package/types/reactive/operators/filter.d.ts +3 -0
- package/types/reactive/operators/filterChanged.d.ts +5 -0
- package/types/reactive/operators/map.d.ts +2 -0
- package/types/reactive/operators/mapTo.d.ts +2 -0
- package/types/reactive/operators/once.d.ts +5 -0
- package/types/reactive/operators/pairwise.d.ts +4 -0
- package/types/reactive/operators/tap.d.ts +2 -0
- package/types/reactive/operators/throttle.d.ts +5 -0
- package/types/reactive/timeout.d.ts +4 -0
- package/types/reactive/types.d.ts +29 -0
- package/types/translation/index.d.ts +2 -0
- package/types/translation/loadVKLangPack.d.ts +16 -0
- package/types/translation/types.d.ts +5 -0
- package/types/types/index.d.ts +53 -0
- package/types/utils/abortable.d.ts +3 -0
- package/types/utils/addScript.d.ts +1 -0
- package/types/utils/cloneDeep.d.ts +1 -0
- package/types/utils/cloneDeepWith.d.ts +3 -0
- package/types/utils/config.d.ts +2 -0
- package/types/utils/debounceFn.d.ts +13 -0
- package/types/utils/detectBrowser.d.ts +31 -0
- package/types/utils/detectEmbed.d.ts +4 -0
- package/types/utils/empty.d.ts +2 -0
- package/types/utils/exponentialBackoff.d.ts +9 -0
- package/types/utils/iframeSafeStorage.d.ts +6 -0
- package/types/utils/index.d.ts +22 -0
- package/types/utils/never.d.ts +2 -0
- package/types/utils/noop.d.ts +1 -0
- package/types/utils/now.d.ts +2 -0
- package/types/utils/nullable.d.ts +7 -0
- package/types/utils/observeElementSize.d.ts +3 -0
- package/types/utils/quality/index.d.ts +20 -0
- package/types/utils/quality/types.d.ts +21 -0
- package/types/utils/semanticTypes.d.ts +7 -0
- package/types/utils/throttleFn.d.ts +5 -0
- package/types/utils/timecode.d.ts +1 -0
- package/index.d.ts +0 -415
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { 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,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,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,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,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,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,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,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 @@
|
|
|
1
|
+
export declare const noop: () => void;
|
|
@@ -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,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 @@
|
|
|
1
|
+
export declare const timeCodeToString: (t: number) => string;
|