@realsee/live 0.7.1 → 0.7.3-alpha.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 (69) hide show
  1. package/README.md +5 -3
  2. package/dist/index.cjs.js +3 -41
  3. package/dist/index.cjs.js.map +1 -0
  4. package/dist/index.d.ts +5 -1336
  5. package/dist/index.es.js +6169 -0
  6. package/dist/index.es.js.map +1 -0
  7. package/dist/live/controller.d.ts +118 -0
  8. package/dist/live/createLive.d.ts +8 -0
  9. package/dist/live/createLiveReact.d.ts +54 -0
  10. package/dist/live/live.d.ts +200 -0
  11. package/dist/rtc/BrowserRTC.d.ts +39 -0
  12. package/dist/rtc/BrowserRTC4Chime.d.ts +60 -0
  13. package/dist/rtc/CoreRTC.d.ts +23 -0
  14. package/dist/rtc/VRWebViewRTC.d.ts +97 -0
  15. package/dist/rtc/index.d.ts +5 -0
  16. package/dist/typings/chime/AttendeeResponse.d.ts +5 -0
  17. package/dist/typings/chime/MeetingResponse.d.ts +12 -0
  18. package/dist/typings/chime/MeetingSessionConfigurationOptions.d.ts +16 -0
  19. package/dist/typings/chime/index.d.ts +3 -0
  20. package/dist/typings/index.d.ts +4 -0
  21. package/dist/typings/live/EventType.d.ts +74 -0
  22. package/dist/typings/live/GetVoiceSign.d.ts +52 -0
  23. package/dist/typings/live/LiveConnectOptions.d.ts +24 -0
  24. package/dist/typings/live/LiveErrorType.d.ts +9 -0
  25. package/dist/typings/live/LiveMsg.d.ts +133 -0
  26. package/dist/typings/live/LiveOptions.d.ts +79 -0
  27. package/dist/typings/live/LiveState.d.ts +15 -0
  28. package/dist/typings/live/RoomInfo.d.ts +13 -0
  29. package/dist/typings/live/UserInfo.d.ts +103 -0
  30. package/dist/typings/live/UserVolume.d.ts +7 -0
  31. package/dist/typings/live/WebSocket.d.ts +82 -0
  32. package/dist/typings/live/index.d.ts +10 -0
  33. package/dist/typings/react/RTCActionReactCallback.d.ts +2 -0
  34. package/dist/typings/react/index.d.ts +1 -0
  35. package/dist/typings/rtc/VRWebViewRTCOptions.d.ts +6 -0
  36. package/dist/typings/rtc/eventType.d.ts +44 -0
  37. package/dist/typings/rtc/index.d.ts +5 -0
  38. package/dist/typings/rtc/joinedInfo.d.ts +38 -0
  39. package/dist/typings/rtc/protocol.d.ts +77 -0
  40. package/dist/typings/rtc/type.d.ts +12 -0
  41. package/dist/utils/RobustWebSocket.d.ts +160 -0
  42. package/dist/utils/appendUri.d.ts +1 -0
  43. package/dist/utils/clientDetector.d.ts +4 -0
  44. package/dist/utils/equal.d.ts +10 -0
  45. package/dist/utils/isServer.d.ts +5 -0
  46. package/dist/utils/logger.d.ts +19 -0
  47. package/dist/utils/subscribe.d.ts +75 -0
  48. package/dist/utils/uuid.d.ts +4 -0
  49. package/docs/README.md +5 -3
  50. package/docs/classes/BrowserRTC.md +2 -2
  51. package/docs/classes/BrowserRTC4Chime.md +1 -1
  52. package/docs/classes/CoreRTC.md +8 -8
  53. package/docs/classes/Live.md +30 -57
  54. package/docs/classes/VRWebViewRTC.md +1 -1
  55. package/docs/functions/clearLiveInstanceIfNeed.md +1 -1
  56. package/docs/globals.md +0 -6
  57. package/docs/interfaces/RTCProtocol.md +7 -7
  58. package/docs/type-aliases/LiveBuiltInData.md +1 -1
  59. package/package.json +16 -21
  60. package/dist/index.d.cts +0 -1336
  61. package/dist/index.esm.js +0 -10
  62. package/docs/classes/Subscribe.md +0 -211
  63. package/docs/namespaces/SubscribeMixinType/README.md +0 -17
  64. package/docs/namespaces/SubscribeMixinType/interfaces/emit.md +0 -31
  65. package/docs/namespaces/SubscribeMixinType/interfaces/hasListener.md +0 -25
  66. package/docs/namespaces/SubscribeMixinType/interfaces/off.md +0 -31
  67. package/docs/namespaces/SubscribeMixinType/interfaces/on.md +0 -37
  68. package/docs/namespaces/SubscribeMixinType/interfaces/once.md +0 -35
  69. package/docs/type-aliases/EventMap.md +0 -17
@@ -0,0 +1,38 @@
1
+ /**
2
+ * rtc加入返回值code枚举
3
+ */
4
+ export declare enum RTCJoinedInfoCodeEnum {
5
+ /**
6
+ * 成功
7
+ */
8
+ Success = 0,
9
+ /**
10
+ * 失败
11
+ */
12
+ Failure = 1,
13
+ /**
14
+ * 重复加入
15
+ */
16
+ ReJoin = 2,
17
+ /**
18
+ * 无麦克风权限
19
+ */
20
+ NoMicroPermission = 3,
21
+ /**
22
+ * 未知异常
23
+ */
24
+ Unknown = 500
25
+ }
26
+ /**
27
+ * 进入rtc房间的回调信息
28
+ */
29
+ export interface RTCJoinedInfo {
30
+ code: RTCJoinedInfoCodeEnum;
31
+ message: string;
32
+ userId?: string;
33
+ roomId?: number;
34
+ errInfo?: {
35
+ errCode: number;
36
+ errMsg: string;
37
+ };
38
+ }
@@ -0,0 +1,77 @@
1
+ import { CheckResult } from 'trtc-js-sdk';
2
+ import { Subscribe } from '../../utils/subscribe';
3
+ import { RTCEventType } from './eventType';
4
+ import { RTCType } from './type';
5
+ /**
6
+ * rtc 协议接口
7
+ * @interface
8
+ * @extends Subscribe<RTCEventType>
9
+ */
10
+ export interface RTCProtocol extends Subscribe<RTCEventType> {
11
+ /**
12
+ * 是否已经加入房间
13
+ * @type {boolean}
14
+ */
15
+ joined: boolean;
16
+ /**
17
+ * 麦克风状态
18
+ * @type {boolean}
19
+ */
20
+ micro: boolean;
21
+ /**
22
+ * 语音房间ID
23
+ * @type {string}
24
+ */
25
+ voiceId: string;
26
+ /**
27
+ * rtc 实现类型
28
+ * @type {RTCType}
29
+ */
30
+ type: RTCType;
31
+ /**
32
+ * 检查rtc的系统依赖是否满足
33
+ * @returns {Promise<CheckResult>} 返回一个Promise,表示检查结果
34
+ */
35
+ checkRequirement?(): Promise<CheckResult>;
36
+ /**
37
+ * 加入房间。
38
+ * @param {Object} options - 加入房间的选项
39
+ * @param {string} options.voiceId - 语音房间ID
40
+ * @param {string} options.userId - 用户ID
41
+ * @param {string|number|undefined} options.roomId - 房间ID
42
+ * @param {RTCType} options.type - RTC类型
43
+ * @returns {Promise<boolean>} 返回一个Promise,表示是否成功加入房间
44
+ */
45
+ join(options: {
46
+ voiceId: string;
47
+ userId: string;
48
+ roomId: string | number | undefined;
49
+ type: RTCType;
50
+ }): Promise<boolean>;
51
+ /**
52
+ * 重新加入房间。
53
+ * @returns {Promise<boolean>} 返回一个Promise,表示是否成功重新加入房间
54
+ */
55
+ reJoin?(): Promise<boolean>;
56
+ /**
57
+ * 离开房间。
58
+ * @returns {Promise<boolean>} 返回一个Promise,表示是否成功离开房间
59
+ */
60
+ quit(): Promise<boolean>;
61
+ /**
62
+ * 监测麦克风授权。
63
+ * @returns {Promise<boolean>} 返回一个Promise,表示麦克风是否被授权
64
+ */
65
+ detectMicro(): Promise<boolean>;
66
+ /**
67
+ * 关闭\开启 本地麦克风。
68
+ * @param {boolean} [flag] - 是否开启麦克风,默认为切换当前状态
69
+ * @returns {Promise<boolean>} 返回一个Promise,表示操作是否成功
70
+ */
71
+ toggleMicro(flag?: boolean): Promise<boolean>;
72
+ /**
73
+ * 震动。
74
+ * @returns {void}
75
+ */
76
+ shock?(): void;
77
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * rtc 类型
3
+ */
4
+ export declare enum RTCType {
5
+ RealseeBrowserRTC = "RealseeBrowserRTC",
6
+ RealseeVRWebViewRTC = "RealseeVRWebViewRTC",
7
+ RealseeBrowserChimeRTC = "RealseeBrowserChimeRTC"
8
+ }
9
+ export declare enum BuiltInRTCType {
10
+ RealseeXTRTC = "trtc",
11
+ RealseeXChimeRTC = "chime"
12
+ }
@@ -0,0 +1,160 @@
1
+ import { Subscribe } from './subscribe';
2
+ /**
3
+ * 鲁棒ws的配置参数
4
+ */
5
+ export type RobustWebSocketConstructorOptions = {
6
+ url: string | ((ws: RobustWebSocket) => string);
7
+ protocols?: string[];
8
+ robustOptions?: RobustOptions;
9
+ };
10
+ /**
11
+ * ws 鲁棒性的配置
12
+ */
13
+ export type RobustOptions = {
14
+ timeout?: number;
15
+ shouldReconnect?: (event: CloseEvent, ws: RobustWebSocket) => undefined | number;
16
+ should1000Reconnect?: boolean;
17
+ ignoreConnectivityEvents?: boolean;
18
+ automaticOpen?: boolean;
19
+ };
20
+ /**
21
+ * 重连的事件详情
22
+ */
23
+ export type RobustWebSocketEventDetail = {
24
+ reconnects: number;
25
+ attempts: number;
26
+ };
27
+ export type RobustWebSocketEvent<T> = Event & {
28
+ detail: T;
29
+ };
30
+ export type RobustWebSocketEventMap = {
31
+ connecting: (event: RobustWebSocketEvent<RobustWebSocketEventDetail>) => void;
32
+ timeout: (event: RobustWebSocketEvent<RobustWebSocketEventDetail>) => void;
33
+ open: (event: RobustWebSocketEvent<RobustWebSocketEventDetail>) => void;
34
+ closing: () => void;
35
+ close: (event: CloseEvent) => void;
36
+ error: (event: Event) => void;
37
+ message: (event: MessageEvent<string | ArrayBuffer | Blob | ArrayBufferView>) => void;
38
+ };
39
+ /**
40
+ * 具有鲁棒性的WebSocket封装
41
+ * 1、自动重连
42
+ * 2、可根据网络情况进行重连
43
+ */
44
+ export declare class RobustWebSocket extends Subscribe<RobustWebSocketEventMap> {
45
+ private _realWebSocket;
46
+ private _url?;
47
+ private _protocols;
48
+ private _readyState;
49
+ private _options;
50
+ private _connectTimeout;
51
+ private _attempts;
52
+ private _reconnects;
53
+ private _reconnectWhenOnlineAgain;
54
+ _explicitlyClosed: boolean;
55
+ private _pendingReconnect;
56
+ private _connectivityEventsAttached;
57
+ private _heathCheckTimer;
58
+ get attempts(): number;
59
+ constructor(options?: RobustWebSocketConstructorOptions);
60
+ setOptions(options: RobustWebSocketConstructorOptions): void;
61
+ /**
62
+ * 做一个健康检查
63
+ */
64
+ private _healthCheck;
65
+ /**
66
+ * 清理超时计时器
67
+ */
68
+ private _clearConnectTimeoutIfNeed;
69
+ /**
70
+ * 清理健康检查
71
+ */
72
+ private _clearHeathCheckIfNeed;
73
+ /**
74
+ * 开启健康检查
75
+ */
76
+ private _startHealthCheck;
77
+ /**
78
+ * 停止健康检查
79
+ */
80
+ private _stopHealthCheck;
81
+ /**
82
+ * 清理连接中的请求
83
+ */
84
+ private _clearPendingReconnectIfNeeded;
85
+ /**
86
+ * 当网页连接上网络进行重连
87
+ * @param event
88
+ */
89
+ private _online;
90
+ /**
91
+ * 当网页断开网络进行关闭
92
+ */
93
+ private _offline;
94
+ /**
95
+ * 解除网络监听事件
96
+ */
97
+ private _detachConnectivityEvents;
98
+ /**
99
+ * 注册网络监听事件
100
+ */
101
+ private _attachConnectivityEvents;
102
+ /**
103
+ * 发送消息
104
+ * @param data
105
+ * @returns
106
+ */
107
+ send: (data: string | ArrayBuffer | Blob | ArrayBufferView) => void | undefined;
108
+ /**
109
+ * 关闭连接
110
+ * @param code 代码
111
+ * @param reason 原因
112
+ * @returns
113
+ */
114
+ close: (code?: number | string, reason?: string) => void | undefined;
115
+ /**
116
+ * 进行ws连接
117
+ */
118
+ open: (url?: string) => void;
119
+ /**
120
+ * 创建ws连接
121
+ */
122
+ private _createWebSocket;
123
+ /**
124
+ * 断开ws事件
125
+ */
126
+ private _removeWebSocketEvent;
127
+ /**
128
+ * 分发ws事件
129
+ */
130
+ private _dispatchWebSocketEvent;
131
+ /**
132
+ * ws连接事件
133
+ * @returns
134
+ */
135
+ private _webSocketOpenHandler;
136
+ /**
137
+ * ws 关闭事件
138
+ * @param event
139
+ * @returns
140
+ */
141
+ private _webSocketCloseHandler;
142
+ /**
143
+ * ws 异常
144
+ * @param event
145
+ * @returns
146
+ */
147
+ private _webSocketErrorHandler;
148
+ /**
149
+ * ws消息
150
+ * @param event
151
+ * @returns
152
+ */
153
+ private _webSocketMessageHandler;
154
+ /**
155
+ * 进行重连
156
+ * @param event
157
+ * @returns
158
+ */
159
+ private _reconnect;
160
+ }
@@ -0,0 +1 @@
1
+ export declare function appendUri(uri: string, query?: Record<string, string | number>): string;
@@ -0,0 +1,4 @@
1
+ export declare const isAndroid: boolean;
2
+ export declare const isIOS: boolean;
3
+ export declare const isWxMiniProgram: boolean;
4
+ export declare const isRealseeVRWebview: boolean;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * 对象比较。
3
+ * @param value 第一个比较的值。
4
+ * @param other 第二个比较的值。
5
+ * @param options 可选参数,可选项:`deep` 是否深比较。
6
+ * @returns {boolean} 是否相等。
7
+ */
8
+ export declare function equal(value: any, other: any, opt?: {
9
+ deep: boolean;
10
+ }): boolean;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * 判断是否是服务器环境
3
+ * @returns
4
+ */
5
+ export declare const isServer: boolean;
@@ -0,0 +1,19 @@
1
+ /**
2
+ * 输出格式化日志
3
+ * 该模块提供了一个简单的日志记录器,支持不同的日志级别。
4
+ */
5
+ export declare enum LOG_LEVEL {
6
+ info = "INFO",
7
+ log = "LOG",
8
+ error = "ERROR",
9
+ warn = "WARN",
10
+ debug = "DEBUG"
11
+ }
12
+ declare const logger: {
13
+ log: (...args: any[]) => void;
14
+ info: (...args: any[]) => void;
15
+ error: (...args: any[]) => void;
16
+ warn: (...args: any[]) => void;
17
+ debug: (...args: any[]) => void;
18
+ };
19
+ export default logger;
@@ -0,0 +1,75 @@
1
+ export type EventMap = {
2
+ [name: string]: (...args: any[]) => void | boolean;
3
+ };
4
+ /**
5
+ * 监听者模式
6
+ * @template T 预设的监听回调类型
7
+ * @example
8
+ * ```
9
+ * new Subscribe<{
10
+ * "foo": [arg1: number, arg2: string],
11
+ * "bar": [arg: boolean],
12
+ * }>()
13
+ * ```
14
+ */
15
+ export declare class Subscribe<T extends EventMap> {
16
+ /**
17
+ * 判断是否注册了事件
18
+ * @param name 事件类型
19
+ */
20
+ hasListener(name: keyof T): boolean;
21
+ /**
22
+ * 注册事件
23
+ * @param name 事件类型
24
+ * @param callback 事件回调函数
25
+ * @param once 是否只执行一次
26
+ * @returns 解除事件
27
+ * @template K 预设的监听事件名称
28
+ * @template C 回调函数函数上下文
29
+ */
30
+ on<K extends keyof T>(name: K, callback: (...args: Parameters<T[K]>) => ReturnType<T[K]>, once?: boolean): () => void;
31
+ /**
32
+ * 注册事件(是否只执行一次)
33
+ * @param name 事件类型
34
+ * @param callback 事件回调函数
35
+ * @returns 解除事件
36
+ * @template K 预设的监听事件名称
37
+ * @template C 回调函数函数上下文
38
+ */
39
+ once<K extends keyof T>(name: K, callback: (...args: Parameters<T[K]>) => ReturnType<T[K]>): () => void;
40
+ /**
41
+ * 解除事件
42
+ *
43
+ * 如果 name 不传的话解除对应所有事件
44
+ * 如果 name, callback 不传的话解除所有name的所有事件
45
+ * @param name 事件类型
46
+ * @param callback 事件回调函数
47
+ * @template K 预设的监听事件名称
48
+ */
49
+ off<K extends keyof T>(name?: K, callback?: (...args: Parameters<T[K]>) => ReturnType<T[K]>): void;
50
+ /**
51
+ * 触发事件
52
+ * @param name 事件类型
53
+ * @param data 触发事件的数据
54
+ * @returns canceled 是否被触发取消
55
+ * @template K 预设的监听事件名称
56
+ */
57
+ emit<K extends keyof T>(name: K, ...data: Parameters<T[K]>): boolean;
58
+ }
59
+ export declare namespace SubscribeMixinType {
60
+ interface hasListener<T extends EventMap> {
61
+ (name: keyof T): boolean;
62
+ }
63
+ interface on<T extends EventMap> {
64
+ <K extends keyof T>(name: K, callback: (...args: Parameters<T[K]>) => ReturnType<T[K]>, once?: boolean): () => void;
65
+ }
66
+ interface once<T extends EventMap> {
67
+ <K extends keyof T>(name: K, callback: (...args: Parameters<T[K]>) => ReturnType<T[K]>): () => void;
68
+ }
69
+ interface off<T extends EventMap> {
70
+ <K extends keyof T>(names?: K | K[], callback?: (...args: any[]) => any): void;
71
+ }
72
+ interface emit<T extends EventMap> {
73
+ <K extends keyof T>(name: K, ...data: Parameters<T[K]>): boolean;
74
+ }
75
+ }
@@ -0,0 +1,4 @@
1
+ /**
2
+ * 基于伪随机数生成 **uuid**。
3
+ */
4
+ export declare function uuid(): string;
package/docs/README.md CHANGED
@@ -57,7 +57,7 @@ const live = createLive({
57
57
  在创建 `live` 实例时配置了两个参数:
58
58
 
59
59
  - `url`:连接 WebSocket 服务的 URL,如果在创建 `live` 实例阶段并不知道 URL ,您可以在合适的时机通过 `live.connect({ url })` 方法进行 WebScoket 连接。
60
- - `getTicket()`:是一个异步回调函数,其返回值是连接 WebScoket 服务的 **"门票"**,关于如何获取 `ticket` 请查阅 [VR 带看 API]()。
60
+ - `getTicket()`:是一个异步回调函数,其返回值是连接 WebScoket 服务的 **"门票"**,关于如何获取 `ticket` 请查阅 [VR 带看 API](https://developers.realsee.com/docs/#/docs/live/server/README)。
61
61
 
62
62
  > 关于 `createLive()` 函数的更多参数配置请参考 [LiveOptions](https://unpkg.com/@realsee/live/docs/interfaces/live.LiveOptions.html) 。
63
63
 
@@ -200,7 +200,7 @@ live.on('ws.readyStateUpdate', (readyState: WebSocketState) => {
200
200
 
201
201
  - `weakNetwork(): void` 弱网提醒事件。
202
202
 
203
- `live.$RTC` 实例需满足 [RTC 协议](),其事件通过 `live.$RTC.on('/*事件名*/', /*事件回调*/)` 方式来监听,比如监听语音房间内正在说话的用户及其音量:
203
+ `live.$RTC` 实例需满足 [RTC 协议](https://unpkg.com/@realsee/live/docs/interfaces/rtc.RTCProtocol.html),其事件通过 `live.$RTC.on('/*事件名*/', /*事件回调*/)` 方式来监听,比如监听语音房间内正在说话的用户及其音量:
204
204
 
205
205
  ```ts
206
206
  live.$RTC.on('userVolumes', (userVolumes: UserVolume[]) => {
@@ -305,8 +305,10 @@ yarn add trtc-js-sdk
305
305
  ```tsx
306
306
  import { createLive, BrowserRTC } from '@realsee/live'
307
307
 
308
- const rtcInstance = new VRWebViewRTC({
308
+ const rtcInstance = new BrowserRTC({
309
309
  getVoiceSign: () => {},
310
+ // 可选:处理自动播放策略
311
+ // autoPlayConfirm: ({ onConfirm }) => showDialogThen(onConfirm)
310
312
  })
311
313
 
312
314
  const live = createLive({
@@ -174,7 +174,7 @@ canceled 是否被触发取消
174
174
 
175
175
  #### Defined in
176
176
 
177
- utils/subscribe.ts:113
177
+ utils/subscribe.ts:115
178
178
 
179
179
  ***
180
180
 
@@ -405,7 +405,7 @@ rtc/BrowserRTC.ts:121
405
405
 
406
406
  #### Defined in
407
407
 
408
- rtc/BrowserRTC.ts:165
408
+ rtc/BrowserRTC.ts:174
409
409
 
410
410
  ***
411
411
 
@@ -284,7 +284,7 @@ canceled 是否被触发取消
284
284
 
285
285
  #### Defined in
286
286
 
287
- utils/subscribe.ts:113
287
+ utils/subscribe.ts:115
288
288
 
289
289
  ***
290
290
 
@@ -10,7 +10,7 @@ rtc 基础抽象类
10
10
 
11
11
  ## Extends
12
12
 
13
- - [`Subscribe`](Subscribe.md)\<[`RTCEventType`](../type-aliases/RTCEventType.md)\>
13
+ - `Subscribe`\<[`RTCEventType`](../type-aliases/RTCEventType.md)\>
14
14
 
15
15
  ## Extended by
16
16
 
@@ -34,7 +34,7 @@ rtc 基础抽象类
34
34
 
35
35
  #### Inherited from
36
36
 
37
- [`Subscribe`](Subscribe.md).[`constructor`](Subscribe.md#constructors)
37
+ `Subscribe<RTCEventType>.constructor`
38
38
 
39
39
  ## Properties
40
40
 
@@ -158,11 +158,11 @@ canceled 是否被触发取消
158
158
 
159
159
  #### Inherited from
160
160
 
161
- [`Subscribe`](Subscribe.md).[`emit`](Subscribe.md#emit)
161
+ `Subscribe.emit`
162
162
 
163
163
  #### Defined in
164
164
 
165
- utils/subscribe.ts:113
165
+ utils/subscribe.ts:115
166
166
 
167
167
  ***
168
168
 
@@ -188,7 +188,7 @@ utils/subscribe.ts:113
188
188
 
189
189
  #### Inherited from
190
190
 
191
- [`Subscribe`](Subscribe.md).[`hasListener`](Subscribe.md#haslistener)
191
+ `Subscribe.hasListener`
192
192
 
193
193
  #### Defined in
194
194
 
@@ -275,7 +275,7 @@ rtc/CoreRTC.ts:21
275
275
 
276
276
  #### Inherited from
277
277
 
278
- [`Subscribe`](Subscribe.md).[`off`](Subscribe.md#off)
278
+ `Subscribe.off`
279
279
 
280
280
  #### Defined in
281
281
 
@@ -325,7 +325,7 @@ utils/subscribe.ts:87
325
325
 
326
326
  #### Inherited from
327
327
 
328
- [`Subscribe`](Subscribe.md).[`on`](Subscribe.md#on)
328
+ `Subscribe.on`
329
329
 
330
330
  #### Defined in
331
331
 
@@ -371,7 +371,7 @@ utils/subscribe.ts:55
371
371
 
372
372
  #### Inherited from
373
373
 
374
- [`Subscribe`](Subscribe.md).[`once`](Subscribe.md#once)
374
+ `Subscribe.once`
375
375
 
376
376
  #### Defined in
377
377