@koi-design/callkit 2.0.4 → 2.0.5-beta.2

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/dist/index.d.ts CHANGED
@@ -61,22 +61,45 @@ interface SocketConfig {
61
61
  declare class Socket {
62
62
  private callKit;
63
63
  private ws?;
64
- private socketConfig;
65
64
  lastPingTime: any;
66
- isConnected: boolean;
67
65
  pingTimer?: ReturnType<typeof setInterval>;
68
- satrtConfirm: boolean;
66
+ /**
67
+ * @description reconnect timer
68
+ */
69
69
  private reconnectTimer?;
70
- private isReconnecting;
70
+ /**
71
+ * @description reconnect attempts
72
+ */
71
73
  private reconnectAttempts;
72
- private socketError;
74
+ /**
75
+ * @description connect auth state
76
+ * @default {
77
+ * startConfirm: false,
78
+ * isConnected: false,
79
+ * isReconnecting: false,
80
+ * isAuthenticated: false,
81
+ * isError: false
82
+ * }
83
+ */
84
+ private connectAuthState;
85
+ get startConfirm(): boolean;
86
+ get isError(): boolean;
73
87
  constructor(callKit: CallKit);
88
+ get reconnectConfig(): {
89
+ enabled?: boolean;
90
+ maxAttempts?: number;
91
+ delay?: number;
92
+ pingInterval?: number;
93
+ pingTimeout?: number;
94
+ };
74
95
  init(): void;
96
+ private setConnectAuthState;
75
97
  private handleDisconnect;
76
98
  private clearWebSocket;
77
99
  private connect;
78
100
  private onOpen;
79
- private resetReconnectState;
101
+ private cleanReconnectState;
102
+ private resetConnectState;
80
103
  private onClose;
81
104
  private onError;
82
105
  private confirmAck;
@@ -87,7 +110,9 @@ declare class Socket {
87
110
  /**
88
111
  * reset socket connection and all states
89
112
  */
90
- reset(): Promise<void>;
113
+ reset(config?: {
114
+ force?: boolean;
115
+ }): Promise<void>;
91
116
  private attemptReconnect;
92
117
  }
93
118
 
@@ -103,11 +128,14 @@ interface IConfig {
103
128
  version: string;
104
129
  host: string;
105
130
  log: LoggerLevel;
106
- trackLogs: TrackLogsConfig;
131
+ trackLogs: Partial<TrackLogsConfig>;
107
132
  audioRef?: HTMLAudioElement | (() => HTMLAudioElement);
108
133
  constrains: WebrtcConstranis;
109
134
  socket: string;
110
- reconnect?: SocketConfig;
135
+ reconnect?: {
136
+ sip: Partial<SocketConfig>;
137
+ incall: Partial<SocketConfig>;
138
+ };
111
139
  userInfo: {
112
140
  wsUrl: string;
113
141
  sessionId: string;
@@ -140,7 +168,18 @@ declare class Config {
140
168
  validate: () => boolean;
141
169
  isLogin: () => boolean;
142
170
  check(): boolean;
143
- getTrackLogsConfig(): TrackLogsConfig;
171
+ getTrackLogsConfig(): {
172
+ enabled: boolean;
173
+ interval: number;
174
+ maxSize: number;
175
+ };
176
+ getReconnectConfig(type: 'sip' | 'incall'): {
177
+ enabled?: boolean;
178
+ maxAttempts?: number;
179
+ delay?: number;
180
+ pingInterval?: number;
181
+ pingTimeout?: number;
182
+ };
144
183
  enableTrackLogs(enabled: boolean): void;
145
184
  }
146
185
 
@@ -351,10 +390,6 @@ declare class Call {
351
390
  type CallStatusType = (typeof CallStatus)[keyof typeof CallStatus];
352
391
  declare class Connect {
353
392
  callKit: CallKit;
354
- /**
355
- *@description Reconnect config
356
- */
357
- private reconnectConfig;
358
393
  /**
359
394
  *@description Whether muted
360
395
  */
@@ -392,6 +427,13 @@ declare class Connect {
392
427
  */
393
428
  hasInvite: boolean;
394
429
  constructor(callKit: CallKit);
430
+ get reconnectConfig(): {
431
+ enabled?: boolean;
432
+ maxAttempts?: number;
433
+ delay?: number;
434
+ pingInterval?: number;
435
+ pingTimeout?: number;
436
+ };
395
437
  currentCallId: string | null;
396
438
  setCallId(callId: string | null): void;
397
439
  reset(): Promise<void>;
@@ -474,8 +516,12 @@ interface CallKitConfig {
474
516
  socket: string;
475
517
  constrains?: WebrtcConstranis;
476
518
  log?: LoggerLevel;
519
+ reconnect?: {
520
+ sip: Partial<SocketConfig>;
521
+ incall: Partial<SocketConfig>;
522
+ };
477
523
  }
478
- type ConfigEntity = CallKitConfig & Partial<IConfig>;
524
+ type ConfigEntity = Partial<IConfig> & CallKitConfig;
479
525
  type kitEventType = (typeof KitEvent)[keyof typeof KitEvent];
480
526
  interface Listener {
481
527
  event: kitEventType;
@@ -500,7 +546,6 @@ declare class CallKit {
500
546
  refer(uri: string, options?: any): Promise<void>;
501
547
  register(): Promise<void>;
502
548
  unregister(): Promise<void>;
503
- stop(): Promise<void>;
504
549
  hangup(): Promise<void>;
505
550
  hold(): void;
506
551
  unhold(): void;
@@ -511,7 +556,15 @@ declare class CallKit {
511
556
  * @param status
512
557
  */
513
558
  setUserStatus(status: number): Promise<void>;
514
- reset(): Promise<void>;
559
+ /**
560
+ * reset callkit
561
+ * @description recover the callkit to the initial state
562
+ * @default force is false
563
+ * @param config.force is true, the callkit reset socket connection and all states
564
+ */
565
+ reset(config?: {
566
+ force?: boolean;
567
+ }): Promise<void>;
515
568
  on(event: kitEventType, callback: (...args: any[]) => void): void;
516
569
  off(event: kitEventType, callback?: (...args: any[]) => void): void;
517
570
  removeAllListeners(): void;