@vkontakte/videoplayer-shared 1.0.86-dev.fcdd1bac.0 → 1.0.87-beta.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 +6 -0
- package/es2015.esm.js +6 -0
- package/esnext.cjs +6 -0
- package/esnext.esm.js +6 -0
- package/evergreen.esm.js +6 -0
- package/package.json +17 -6
- package/types/AppTracer/AppTracer.d.ts +25 -0
- package/types/AppTracer/constants.d.ts +1 -0
- package/types/AppTracer/index.d.ts +2 -0
- package/types/AppTracer/types.d.ts +19 -0
- package/types/AppTracer/utils.d.ts +5 -0
- package/types/InternalsExposure/index.d.ts +28 -0
- package/types/Logger/Logger.d.ts +10 -0
- package/types/Logger/index.d.ts +2 -0
- package/types/Logger/types.d.ts +29 -0
- package/types/Tracer/FakeTracer.d.ts +13 -0
- package/types/Tracer/RootTracer.d.ts +10 -0
- package/types/Tracer/Tracer.d.ts +25 -0
- package/types/Tracer/TracerFactory.d.ts +4 -0
- package/types/Tracer/index.d.ts +3 -0
- package/types/Tracer/types.d.ts +39 -0
- package/types/Tracer/utils.d.ts +3 -0
- package/types/__polyfills/array.d.ts +10 -0
- package/types/__polyfills/global.d.ts +1 -0
- package/types/__polyfills/index.es2015.d.ts +10 -0
- package/types/__polyfills/index.esnext.d.ts +3 -0
- package/types/__polyfills/index.evergreen.d.ts +1 -0
- package/types/__polyfills/object.d.ts +4 -0
- package/types/__polyfills/promise.d.ts +32 -0
- package/types/__polyfills/runtime/abortableFetch.d.ts +4 -0
- package/types/__polyfills/runtime/at.d.ts +1 -0
- package/types/__polyfills/runtime/idleCallback.d.ts +3 -0
- package/types/__polyfills/runtime/includes.d.ts +1 -0
- package/types/__polyfills/runtime/url.canParse.d.ts +3 -0
- package/types/__polyfills/runtime/window.d.ts +1 -0
- package/types/__polyfills/string.d.ts +9 -0
- package/types/devNull.d.ts +14 -0
- package/types/env.d.ts +1 -0
- package/types/index.d.ts +13 -0
- package/types/reactive/Observable.d.ts +14 -0
- package/types/reactive/ReplaySubject.d.ts +12 -0
- package/types/reactive/Subject.d.ts +10 -0
- package/types/reactive/Subscription.d.ts +6 -0
- package/types/reactive/SubscriptionRemovable.d.ts +5 -0
- package/types/reactive/ValueSubject.d.ts +10 -0
- package/types/reactive/combine.d.ts +7 -0
- package/types/reactive/fromEvent.d.ts +7 -0
- package/types/reactive/index.d.ts +25 -0
- package/types/reactive/interval.d.ts +4 -0
- package/types/reactive/merge.d.ts +82 -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 +7 -0
- package/types/reactive/operators/filter.d.ts +6 -0
- package/types/reactive/operators/filterChanged.d.ts +5 -0
- package/types/reactive/operators/map.d.ts +5 -0
- package/types/reactive/operators/mapTo.d.ts +5 -0
- package/types/reactive/operators/once.d.ts +5 -0
- package/types/reactive/operators/pairwise.d.ts +3 -0
- package/types/reactive/operators/shareReplay.d.ts +2 -0
- package/types/reactive/operators/skip.d.ts +6 -0
- package/types/reactive/operators/tap.d.ts +2 -0
- package/types/reactive/operators/throttle.d.ts +6 -0
- package/types/reactive/timeout.d.ts +4 -0
- package/types/reactive/types.d.ts +53 -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 +71 -0
- package/types/utils/abortable.d.ts +6 -0
- package/types/utils/addScript.d.ts +1 -0
- package/types/utils/browser.d.ts +2 -0
- package/types/utils/clearVideoElement.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/detectEmbed.d.ts +8 -0
- package/types/utils/empty.d.ts +2 -0
- package/types/utils/exponentialBackoff.d.ts +9 -0
- package/types/utils/flattenObject.d.ts +9 -0
- package/types/utils/getPlayerId.d.ts +1 -0
- package/types/utils/getRangeAroundIndex.d.ts +7 -0
- package/types/utils/iframeSafeStorage.d.ts +6 -0
- package/types/utils/index.d.ts +34 -0
- package/types/utils/interpolate.d.ts +12 -0
- package/types/utils/isIntersecting.d.ts +6 -0
- package/types/utils/isValidURL.d.ts +1 -0
- package/types/utils/never.d.ts +2 -0
- package/types/utils/noop.d.ts +1 -0
- package/types/utils/now.d.ts +4 -0
- package/types/utils/nullable.d.ts +8 -0
- package/types/utils/observeElementSize.d.ts +4 -0
- package/types/utils/quality/index.d.ts +21 -0
- package/types/utils/quality/types.d.ts +22 -0
- package/types/utils/semanticTypes.d.ts +7 -0
- package/types/utils/suppressAbort.d.ts +2 -0
- package/types/utils/throttleFn.d.ts +6 -0
- package/types/utils/timecode.d.ts +1 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { IRootTracer, ITracerParams } from "./types";
|
|
2
|
+
import { Tracer } from "./Tracer";
|
|
3
|
+
import type { Milliseconds } from "../utils";
|
|
4
|
+
export declare class RootTracer extends Tracer implements IRootTracer {
|
|
5
|
+
private spanExporter;
|
|
6
|
+
constructor();
|
|
7
|
+
protected init({ name, getParentContext }: ITracerParams, startTime: Milliseconds): void;
|
|
8
|
+
getFinishedSpans(): any | undefined;
|
|
9
|
+
getTraceId(): string;
|
|
10
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Tracer as OtlpTracer } from "@opentelemetry/sdk-trace-web";
|
|
2
|
+
import type { Attributes, Context, Span } from "@opentelemetry/api";
|
|
3
|
+
import type { ITracer, ITracerDynamicImports, ITracerParams } from "./types";
|
|
4
|
+
import { TracerDynamicImportStatus } from "./types";
|
|
5
|
+
import type { Milliseconds } from "../utils";
|
|
6
|
+
export declare class Tracer implements ITracer {
|
|
7
|
+
private readonly dynamicImportTimeout;
|
|
8
|
+
protected span: Span;
|
|
9
|
+
protected context: Context;
|
|
10
|
+
protected childTracers: ITracer[];
|
|
11
|
+
protected initPromise: Promise<void>;
|
|
12
|
+
protected static rootTracer: OtlpTracer;
|
|
13
|
+
protected static dynamicImportStatus: TracerDynamicImportStatus;
|
|
14
|
+
protected static dynamicImports: ITracerDynamicImports;
|
|
15
|
+
protected static dynamicImportPromise: Promise<void>;
|
|
16
|
+
protected constructor({ name, getParentContext }: ITracerParams);
|
|
17
|
+
protected init({ name, getParentContext }: ITracerParams, startTime: Milliseconds): void;
|
|
18
|
+
private loadOpentelemetry;
|
|
19
|
+
protected isComponentTracerNotInitialized(): boolean;
|
|
20
|
+
log(name: string, attributes?: Attributes): void;
|
|
21
|
+
error(name: string, attributes?: Attributes): void;
|
|
22
|
+
critical(name: string, attributes?: Attributes): void;
|
|
23
|
+
createComponentTracer(name: string): ITracer;
|
|
24
|
+
end(): void;
|
|
25
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { Attributes, Context } from "@opentelemetry/api";
|
|
2
|
+
import type { ReadableSpan } from "@opentelemetry/sdk-trace-web";
|
|
3
|
+
import type * as TracerOpentelemetry from "@apptracer/opentelemetry";
|
|
4
|
+
import type * as OpentelemetryApi from "@opentelemetry/api";
|
|
5
|
+
import type * as OpentelemetrySdk from "@opentelemetry/sdk-trace-web";
|
|
6
|
+
export type { TracerOpentelemetry };
|
|
7
|
+
export type { OpentelemetryApi };
|
|
8
|
+
export type { OpentelemetrySdk };
|
|
9
|
+
export declare enum TracerDynamicImportStatus {
|
|
10
|
+
NotStarted = "not_started",
|
|
11
|
+
InProgress = "in_progress",
|
|
12
|
+
Failed = "failed",
|
|
13
|
+
Completed = "completed"
|
|
14
|
+
}
|
|
15
|
+
export declare enum TraceEventType {
|
|
16
|
+
Log = "log",
|
|
17
|
+
Error = "error",
|
|
18
|
+
Critical = "critical"
|
|
19
|
+
}
|
|
20
|
+
export interface ITracerParams {
|
|
21
|
+
name: string;
|
|
22
|
+
getParentContext?: () => Context;
|
|
23
|
+
}
|
|
24
|
+
export interface ITracerDynamicImports {
|
|
25
|
+
opentelemetryApi: typeof OpentelemetryApi;
|
|
26
|
+
opentelemetrySdk: typeof OpentelemetrySdk;
|
|
27
|
+
tracer: typeof TracerOpentelemetry;
|
|
28
|
+
}
|
|
29
|
+
export interface ITracer {
|
|
30
|
+
log: (name: string, attributes?: Attributes) => void;
|
|
31
|
+
error: (name: string, attributes?: Attributes) => void;
|
|
32
|
+
critical: (name: string, attributes?: Attributes) => void;
|
|
33
|
+
createComponentTracer: (name: string) => ITracer;
|
|
34
|
+
end: () => void;
|
|
35
|
+
}
|
|
36
|
+
export interface IRootTracer extends ITracer {
|
|
37
|
+
getFinishedSpans: () => ReadableSpan[] | undefined;
|
|
38
|
+
getTraceId: () => string;
|
|
39
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { Attributes } from "@opentelemetry/api";
|
|
2
|
+
export declare const getTraceSubscriptionMethod: (log: (name: string, attributes?: Attributes) => void) => ((name: string) => (value: unknown) => void);
|
|
3
|
+
export declare const replaceUnsupportedValuesByStrings: (obj?: Attributes | undefined) => Attributes;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const arrayAt: (array: readonly unknown[], index: number) => unknown;
|
|
2
|
+
export declare const arrayFindLast: (array: readonly unknown[], predicate: (value: unknown, index: number, array: readonly unknown[]) => boolean) => unknown;
|
|
3
|
+
export declare const arrayFindLastIndex: (array: readonly unknown[], predicate: (value: unknown, index: number, array: readonly unknown[]) => boolean) => number;
|
|
4
|
+
export declare const arrayFlat: (array: readonly unknown[], depth?: number) => unknown[];
|
|
5
|
+
export declare const arrayFlatMap: (array: readonly unknown[], callback: (value: unknown, index: number, array: readonly unknown[]) => unknown) => unknown[];
|
|
6
|
+
export declare const arrayIncludes: (array: readonly unknown[], searchElement: unknown, fromIndex?: number) => boolean;
|
|
7
|
+
export declare const arrayToReversed: (array: readonly unknown[]) => unknown[];
|
|
8
|
+
export declare const arrayToSorted: (array: readonly unknown[], compareFn?: (a: unknown, b: unknown) => number) => unknown[];
|
|
9
|
+
export declare const arrayToSpliced: (array: readonly unknown[], start: number, deleteCount?: number, ...items: unknown[]) => unknown[];
|
|
10
|
+
export declare const arrayWith: (array: readonly unknown[], index: number, value: unknown) => unknown[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const globalThisPolyfill: typeof globalThis;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { arrayIncludes, arrayFlat, arrayFlatMap, arrayAt, arrayFindLast, arrayFindLastIndex, arrayToReversed, arrayToSorted, arrayToSpliced, arrayWith } from "./array";
|
|
2
|
+
export { globalThisPolyfill } from "./global";
|
|
3
|
+
export { objectValues, objectEntries, objectFromEntries, objectHasOwn } from "./object";
|
|
4
|
+
export { promiseFinally, promiseAllSettled, promiseAny, promiseWithResolvers, promiseTry } from "./promise";
|
|
5
|
+
export { fetchPolyfilled, RequestPolyfilled, AbortSignalPolyfilled, AbortControllerPolyfilled } from "./runtime/abortableFetch";
|
|
6
|
+
export { atPolyfilled } from "./runtime/at";
|
|
7
|
+
export { requestIdleCallbackPolyfilled, cancelIdleCallbackPolyfilled } from "./runtime/idleCallback";
|
|
8
|
+
export { includesPolyfilled } from "./runtime/includes";
|
|
9
|
+
export { canParse as urlCanParsePolyfilled } from "./runtime/url.canParse";
|
|
10
|
+
export { stringPadStart, stringPadEnd, stringTrimLeft, stringTrimRight, stringTrimStart, stringTrimEnd, stringMatchAll, stringReplaceAll, stringAt } from "./string";
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { fetchPolyfilled, RequestPolyfilled, AbortSignalPolyfilled, AbortControllerPolyfilled } from "./runtime/abortableFetch";
|
|
2
|
+
export { requestIdleCallbackPolyfilled, cancelIdleCallbackPolyfilled } from "./runtime/idleCallback";
|
|
3
|
+
export { canParse as urlCanParsePolyfilled } from "./runtime/url.canParse";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const objectEntries: (obj: object) => [string, unknown][];
|
|
2
|
+
export declare const objectFromEntries: (entries: Iterable<readonly [PropertyKey, unknown]>) => Record<string, unknown>;
|
|
3
|
+
export declare const objectHasOwn: (obj: object, key: PropertyKey) => boolean;
|
|
4
|
+
export declare const objectValues: (obj: object) => unknown[];
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Минимальные полифиллы для Promise-методов.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Полифилл Promise.allSettled — ждёт завершения всех промисов,
|
|
6
|
+
* возвращая массив результатов { status, value/reason }.
|
|
7
|
+
*/
|
|
8
|
+
export declare const promiseAllSettled: (promises: Iterable<unknown>) => Promise<PromiseSettledResult<unknown>[]>;
|
|
9
|
+
/**
|
|
10
|
+
* Полифилл Promise.any — резолвится первым успешным промисом,
|
|
11
|
+
* реджектится с AggregateError если все промисы отклонены.
|
|
12
|
+
*/
|
|
13
|
+
export declare const promiseAny: (promises: Iterable<unknown>) => Promise<unknown>;
|
|
14
|
+
/**
|
|
15
|
+
* Полифилл Promise.prototype.finally — выполняет onFinally при любом исходе,
|
|
16
|
+
* сохраняя оригинальное значение resolve/reject.
|
|
17
|
+
*/
|
|
18
|
+
export declare const promiseFinally: (promise: Promise<unknown>, onFinally: () => void) => Promise<unknown>;
|
|
19
|
+
/**
|
|
20
|
+
* Полифилл Promise.try — выполняет функцию синхронно,
|
|
21
|
+
* оборачивая результат или брошенную ошибку в промис.
|
|
22
|
+
*/
|
|
23
|
+
export declare const promiseTry: (fn: () => unknown) => Promise<unknown>;
|
|
24
|
+
/**
|
|
25
|
+
* Полифилл Promise.withResolvers — создаёт промис вместе с его
|
|
26
|
+
* resolve/reject функциями для внешнего управления.
|
|
27
|
+
*/
|
|
28
|
+
export declare const promiseWithResolvers: () => {
|
|
29
|
+
promise: Promise<unknown>;
|
|
30
|
+
resolve: (value: unknown) => void;
|
|
31
|
+
reject: (reason?: unknown) => void;
|
|
32
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const atPolyfilled: (obj: any, index: number) => unknown;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const includesPolyfilled: (obj: any, searchElement: unknown, fromIndex?: number) => boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const root: Window & typeof globalThis;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const stringAt: (str: string, index: number) => string | undefined;
|
|
2
|
+
export declare function stringMatchAll(str: string, regexp: RegExp): IterableIterator<RegExpMatchArray>;
|
|
3
|
+
export declare const stringPadEnd: (str: string, targetLength: number, padString?: string) => string;
|
|
4
|
+
export declare const stringPadStart: (str: string, targetLength: number, padString?: string) => string;
|
|
5
|
+
export declare const stringReplaceAll: (str: string, searchValue: string | RegExp, replaceValue: string | ((match: string, ...args: unknown[]) => string)) => string;
|
|
6
|
+
export declare const stringTrimStart: (str: string) => string;
|
|
7
|
+
export declare const stringTrimEnd: (str: string) => string;
|
|
8
|
+
export declare const stringTrimLeft: (str: string) => string;
|
|
9
|
+
export declare const stringTrimRight: (str: string) => string;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
type DevNullValueArray<T> = [T?, T?, T?, T?, T?, T?, T?, T?, T?, T?, T?, T?, T?, T?, T?, T?];
|
|
2
|
+
export interface DevNullEntry {
|
|
3
|
+
key: string;
|
|
4
|
+
json?: string;
|
|
5
|
+
strings?: DevNullValueArray<string>;
|
|
6
|
+
numbers?: DevNullValueArray<number>;
|
|
7
|
+
}
|
|
8
|
+
type Callback = (entry: DevNullEntry) => void;
|
|
9
|
+
type TempStorage = DevNullEntry[];
|
|
10
|
+
export declare const create: (ownerName: string, callback?: Callback) => Map<string, Callback | TempStorage>;
|
|
11
|
+
export declare const destroy: (ownerName: string) => boolean;
|
|
12
|
+
export declare const push: (ownerName: string, entry: DevNullEntry) => void;
|
|
13
|
+
export declare const subscribe: (ownerName: string, callback: Callback) => void;
|
|
14
|
+
export {};
|
package/types/env.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const VERSION: string;
|
package/types/index.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export { VERSION } from "./env";
|
|
2
|
+
export * from "./Logger";
|
|
3
|
+
export * from "./Tracer";
|
|
4
|
+
export * from "./utils";
|
|
5
|
+
export * from "./reactive";
|
|
6
|
+
export * from "./types";
|
|
7
|
+
export * from "./translation";
|
|
8
|
+
export * from "./InternalsExposure";
|
|
9
|
+
export * as devNull from "./devNull";
|
|
10
|
+
export type { DevNullEntry } from "./devNull";
|
|
11
|
+
export * from "./AppTracer";
|
|
12
|
+
|
|
13
|
+
export * from './__polyfills/index.es2015';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { IEmitter, IListener, IObservable, IOperator, ISubscription, IUnsubscriber } from "./types";
|
|
2
|
+
export default class Observable<T> implements IObservable<T> {
|
|
3
|
+
private suppressErrors;
|
|
4
|
+
constructor(subscribe?: (emitter: IEmitter<T>) => IUnsubscriber | ISubscription | void);
|
|
5
|
+
/**
|
|
6
|
+
* @deprecated Глушить ошибки не стоит.
|
|
7
|
+
* Раньше у нас они по-умолчанию ошибочно глушились что маскировало многие исключения, в том числе грубые ошибки
|
|
8
|
+
* Этот метод нужен чтобы временно поддержать старрое поведение пока маскиуремые ошибки не исправятся
|
|
9
|
+
*/
|
|
10
|
+
setSuppressErrors(suppress: boolean): void;
|
|
11
|
+
subscribe(listener: IListener<T>, error?: IListener<Error | unknown>): ISubscription;
|
|
12
|
+
pipe<K = unknown>(...operators: IOperator<unknown, unknown>[]): IObservable<K>;
|
|
13
|
+
protected _subscribe(_emitter: IEmitter<T>): IUnsubscriber | ISubscription | void;
|
|
14
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ISubject } from "./types";
|
|
2
|
+
import { type IEmitter, type ISubscription, type IUnsubscriber } from "./types";
|
|
3
|
+
import SubjectMY from "./Subject";
|
|
4
|
+
export default class ReplaySubject<T> extends SubjectMY<T> implements ISubject<T> {
|
|
5
|
+
private readonly bufferSize;
|
|
6
|
+
private readonly buffer;
|
|
7
|
+
private cursorEnd;
|
|
8
|
+
private cursorStart;
|
|
9
|
+
constructor(bufferSize: number);
|
|
10
|
+
next(value: T): void;
|
|
11
|
+
protected _subscribe(emitter: IEmitter<T>): IUnsubscriber | ISubscription | void;
|
|
12
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { IEmitter, ISubject, ISubscription, IUnsubscriber } from "./types";
|
|
2
|
+
import Observable from "./Observable";
|
|
3
|
+
export default class Subject<T> extends Observable<T> implements ISubject<T> {
|
|
4
|
+
protected keyCounter: number;
|
|
5
|
+
protected subscribers: Map<number, IEmitter<T>>;
|
|
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 type { ISubscription, IUnsubscriber } from "./types";
|
|
2
|
+
export default class Subscription implements ISubscription {
|
|
3
|
+
protected subscriptions: Array<(() => void) | ISubscription>;
|
|
4
|
+
unsubscribe(): void;
|
|
5
|
+
add(item: ISubscription | IUnsubscriber): ISubscription;
|
|
6
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { 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,7 @@
|
|
|
1
|
+
import type { IObservable, TypeOfObservable } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Создаёт Observable, который состоит из объектов, ключами которых являются последние значения исходных Observable.
|
|
4
|
+
* Первое событие возникает тогда, когда каждый исходный Observable выдал хотя бы одно значение.
|
|
5
|
+
*/
|
|
6
|
+
type CombineObservables<T extends Record<string, IObservable<unknown>>> = { [key in keyof T] : TypeOfObservable<T[key]> };
|
|
7
|
+
export default function combine<T extends Record<string, IObservable<unknown>>>(observables: T): IObservable<CombineObservables<T>>;
|
|
@@ -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,25 @@
|
|
|
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 ReplaySubject } from "./ReplaySubject";
|
|
5
|
+
export { default as ValueSubject } from "./ValueSubject";
|
|
6
|
+
export { default as combine } from "./combine";
|
|
7
|
+
export { default as merge } from "./merge";
|
|
8
|
+
export { default as timeout } from "./timeout";
|
|
9
|
+
export { default as interval } from "./interval";
|
|
10
|
+
export { default as observableFrom } from "./observableFrom";
|
|
11
|
+
export { default as fromEvent } from "./fromEvent";
|
|
12
|
+
export { default as SubscriptionRemovable } from "./SubscriptionRemovable";
|
|
13
|
+
export { default as buffer } from "./operators/buffer";
|
|
14
|
+
export { default as debounce } from "./operators/debounce";
|
|
15
|
+
export { default as throttle } from "./operators/throttle";
|
|
16
|
+
export { default as filter } from "./operators/filter";
|
|
17
|
+
export { default as filterChanged } from "./operators/filterChanged";
|
|
18
|
+
export { default as map } from "./operators/map";
|
|
19
|
+
export { default as mapTo } from "./operators/mapTo";
|
|
20
|
+
export { default as once } from "./operators/once";
|
|
21
|
+
export { default as pairwise } from "./operators/pairwise";
|
|
22
|
+
export { default as tap } from "./operators/tap";
|
|
23
|
+
export { default as skip } from "./operators/skip";
|
|
24
|
+
export { default as shareReplay } from "./operators/shareReplay";
|
|
25
|
+
export type { ISubscription, IUnsubscriber, IObservable, ISubject, IValueSubject, IValueObservable, IListener, IEmitter, IValue, IOperator } from "./types";
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import type { IObservable } from "./types";
|
|
2
|
+
export default function merge<
|
|
3
|
+
T1,
|
|
4
|
+
T2
|
|
5
|
+
>(v1: IObservable<T1>, v2: IObservable<T2>): IObservable<T1 | T2>;
|
|
6
|
+
export default function merge<
|
|
7
|
+
T1,
|
|
8
|
+
T2,
|
|
9
|
+
T3
|
|
10
|
+
>(v1: IObservable<T1>, v2: IObservable<T2>, v3: IObservable<T3>): IObservable<T1 | T2 | T3>;
|
|
11
|
+
export default function merge<
|
|
12
|
+
T1,
|
|
13
|
+
T2,
|
|
14
|
+
T3,
|
|
15
|
+
T4
|
|
16
|
+
>(v1: IObservable<T1>, v2: IObservable<T2>, v3: IObservable<T3>, v4: IObservable<T4>): IObservable<T1 | T2 | T3 | T4>;
|
|
17
|
+
export default function merge<
|
|
18
|
+
T1,
|
|
19
|
+
T2,
|
|
20
|
+
T3,
|
|
21
|
+
T4,
|
|
22
|
+
T5
|
|
23
|
+
>(v1: IObservable<T1>, v2: IObservable<T2>, v3: IObservable<T3>, v4: IObservable<T4>, v5: IObservable<T5>): IObservable<T1 | T2 | T3 | T4 | T5>;
|
|
24
|
+
export default function merge<
|
|
25
|
+
T1,
|
|
26
|
+
T2,
|
|
27
|
+
T3,
|
|
28
|
+
T4,
|
|
29
|
+
T5,
|
|
30
|
+
T6
|
|
31
|
+
>(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>;
|
|
32
|
+
export default function merge<
|
|
33
|
+
T1,
|
|
34
|
+
T2,
|
|
35
|
+
T3,
|
|
36
|
+
T4,
|
|
37
|
+
T5,
|
|
38
|
+
T6
|
|
39
|
+
>(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>;
|
|
40
|
+
export default function merge<
|
|
41
|
+
T1,
|
|
42
|
+
T2,
|
|
43
|
+
T3,
|
|
44
|
+
T4,
|
|
45
|
+
T5,
|
|
46
|
+
T6,
|
|
47
|
+
T7
|
|
48
|
+
>(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>;
|
|
49
|
+
export default function merge<
|
|
50
|
+
T1,
|
|
51
|
+
T2,
|
|
52
|
+
T3,
|
|
53
|
+
T4,
|
|
54
|
+
T5,
|
|
55
|
+
T6,
|
|
56
|
+
T7,
|
|
57
|
+
T8
|
|
58
|
+
>(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>;
|
|
59
|
+
export default function merge<
|
|
60
|
+
T1,
|
|
61
|
+
T2,
|
|
62
|
+
T3,
|
|
63
|
+
T4,
|
|
64
|
+
T5,
|
|
65
|
+
T6,
|
|
66
|
+
T7,
|
|
67
|
+
T8,
|
|
68
|
+
T9
|
|
69
|
+
>(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>;
|
|
70
|
+
export default function merge<
|
|
71
|
+
T1,
|
|
72
|
+
T2,
|
|
73
|
+
T3,
|
|
74
|
+
T4,
|
|
75
|
+
T5,
|
|
76
|
+
T6,
|
|
77
|
+
T7,
|
|
78
|
+
T8,
|
|
79
|
+
T9,
|
|
80
|
+
T10
|
|
81
|
+
>(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>;
|
|
82
|
+
export default function merge<R>(...observables: IObservable<unknown>[]): IObservable<R>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Milliseconds } from "../../utils/semanticTypes";
|
|
2
|
+
import type { IOperator } from "../types";
|
|
3
|
+
interface DebounceConfig {
|
|
4
|
+
leading: boolean;
|
|
5
|
+
trailing: boolean;
|
|
6
|
+
}
|
|
7
|
+
export default function debounce<T>(time: Milliseconds, config?: DebounceConfig): IOperator<T>;
|
|
@@ -0,0 +1,53 @@
|
|
|
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
|
+
/**
|
|
9
|
+
* @deprecated Глушить ошибки не стоит.
|
|
10
|
+
* Раньше у нас они по-умолчанию ошибочно глушились что маскировало многие исключения, в том числе грубые ошибки
|
|
11
|
+
* Этот метод нужен чтобы временно поддержать старрое поведение пока маскиуремые ошибки не исправятся
|
|
12
|
+
*/
|
|
13
|
+
setSuppressErrors(suppress: boolean): void;
|
|
14
|
+
pipe<T1>(op1: IOperator<T, T1>): IObservable<T1>;
|
|
15
|
+
pipe<
|
|
16
|
+
T1,
|
|
17
|
+
T2
|
|
18
|
+
>(op1: IOperator<T, T1>, op2: IOperator<T1, T2>): IObservable<T2>;
|
|
19
|
+
pipe<
|
|
20
|
+
T1,
|
|
21
|
+
T2,
|
|
22
|
+
T3
|
|
23
|
+
>(op1: IOperator<T, T1>, op2: IOperator<T1, T2>, op3: IOperator<T2, T3>): IObservable<T3>;
|
|
24
|
+
pipe<
|
|
25
|
+
T1,
|
|
26
|
+
T2,
|
|
27
|
+
T3,
|
|
28
|
+
T4
|
|
29
|
+
>(op1: IOperator<T, T1>, op2: IOperator<T1, T2>, op3: IOperator<T2, T3>, op4: IOperator<T3, T4>): IObservable<T4>;
|
|
30
|
+
pipe<
|
|
31
|
+
T1,
|
|
32
|
+
T2,
|
|
33
|
+
T3,
|
|
34
|
+
T4,
|
|
35
|
+
T5
|
|
36
|
+
>(op1: IOperator<T, T1>, op2: IOperator<T1, T2>, op3: IOperator<T2, T3>, op4: IOperator<T3, T4>, op5: IOperator<T4, T5>): IObservable<T5>;
|
|
37
|
+
}
|
|
38
|
+
export interface IValue<T> {
|
|
39
|
+
getValue(): T;
|
|
40
|
+
}
|
|
41
|
+
export interface IEmitter<T> {
|
|
42
|
+
next(value: T): void;
|
|
43
|
+
error?(value: Error | unknown): void;
|
|
44
|
+
}
|
|
45
|
+
export interface IValueObservable<T> extends IObservable<T>, IValue<T> {}
|
|
46
|
+
export interface ISubject<T> extends IEmitter<T>, IObservable<T> {}
|
|
47
|
+
export interface IValueSubject<T> extends IEmitter<T>, IValueObservable<T> {}
|
|
48
|
+
export type IListener<T> = IEmitter<T> | ((value: T) => void) | ((value: T) => Promise<void>);
|
|
49
|
+
export type IOperator<
|
|
50
|
+
TInput,
|
|
51
|
+
TOutput = TInput
|
|
52
|
+
> = (input: IObservable<TInput>) => IObservable<TOutput>;
|
|
53
|
+
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>;
|