@skyway-sdk/core
Version:
The official Next Generation JavaScript SDK for SkyWay
103 lines • 3.88 kB
TypeScript
import type { LogFormat, LogLevel } from '@skyway-sdk/common';
import type { RtcApiConfig, RtcRpcApiConfig } from '@skyway-sdk/rtc-api-client';
export type { RtcApiConfig, RtcRpcApiConfig };
export declare type SkyWayConfigOptions = {
/**@internal */
rtcApi: RtcApiConfig;
/**@internal */
iceParamServer: {
domain?: string;
version?: number;
secure?: boolean;
};
/**@internal */
signalingService: {
domain?: string;
secure?: boolean;
};
/**@internal */
analyticsService: {
domain?: string;
secure?: boolean;
};
rtcConfig: {
/**
* @internal
* @description ms
* */
timeout?: number;
turnPolicy?: TurnPolicy;
turnProtocol?: TurnProtocol;
/**
* @internal
* @description ms
* */
iceDisconnectBufferTimeout?: number;
};
token: {
updateRemindSec?: number;
};
log: Partial<{
level: LogLevel;
format: LogFormat;
}>;
/**@internal */
internal: {
disableDPlane?: boolean;
};
member: Partial<LocalMemberConfig>;
};
/**
* @description [japanese] LocalMemberに関する設定
* @description [japanese]
* MemberはpreventAutoLeaveOnBeforeUnloadがfalseもしくは未指定の場合、ブラウザのタブを閉じるとChannelから削除される。
* preventAutoLeaveOnBeforeUnloadがtrueの場合、
* もしくはiOS safariのようなbeforeunloadイベントに対応していないブラウザを使用している場合は、
* タブを閉じたあと最長でkeepaliveIntervalSec + keepaliveIntervalGapSec秒後にChannelから削除される。
*/
export declare type LocalMemberConfig = {
/**@description [japanese] trueの場合、beforeunloadイベントで自動的にleaveしない。デフォルトはfalse */
preventAutoLeaveOnBeforeUnload: boolean;
/**@description [japanese] KeepAliveを行う周期 */
keepaliveIntervalSec: number;
/**@description [japanese] KeepAliveの周期を超えてChannelからMemberが削除されるまでの時間 */
keepaliveIntervalGapSec: number;
};
/**@internal */
export declare type MemberInternalConfig = {
/**@internal */
disableSignaling?: boolean;
disableAnalytics?: boolean;
};
export declare type TurnPolicy = 'enable' | 'disable' | 'turnOnly';
export declare type TurnProtocol = 'all' | 'udp' | 'tcp' | 'tls';
export declare type SkyWayContextConfig = {
rtcApi: Required<SkyWayConfigOptions['rtcApi']>;
iceParamServer: Required<SkyWayConfigOptions['iceParamServer']>;
signalingService: Required<SkyWayConfigOptions['signalingService']>;
analyticsService: Required<SkyWayConfigOptions['analyticsService']>;
rtcConfig: Required<SkyWayConfigOptions['rtcConfig']>;
token: Required<SkyWayConfigOptions['token']>;
log: Required<SkyWayConfigOptions['log']>;
internal: Required<SkyWayConfigOptions['internal']>;
member: Required<SkyWayConfigOptions['member']>;
};
export declare class ContextConfig implements SkyWayConfigOptions {
/**@internal */
rtcApi: Required<SkyWayConfigOptions['rtcApi']>;
/**@internal */
iceParamServer: Required<SkyWayConfigOptions['iceParamServer']>;
/**@internal */
signalingService: Required<SkyWayConfigOptions['signalingService']>;
/**@internal */
analyticsService: Required<SkyWayConfigOptions['analyticsService']>;
rtcConfig: Required<SkyWayConfigOptions['rtcConfig']>;
token: Required<SkyWayConfigOptions['token']>;
log: Required<SkyWayConfigOptions['log']>;
/**@internal */
internal: Required<SkyWayConfigOptions['internal']>;
member: Required<SkyWayConfigOptions['member']>;
/**@internal */
constructor(options?: Partial<SkyWayConfigOptions>);
}
//# sourceMappingURL=config.d.ts.map