livekit-client 0.17.3 → 0.17.6-rc1
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/CHANGELOG.md +1 -1
- package/README.md +26 -20
- package/dist/api/SignalClient.d.ts +1 -0
- package/dist/connect.d.ts +2 -0
- package/dist/index.d.ts +2 -2
- package/dist/livekit-client.esm.js +17344 -0
- package/dist/livekit-client.esm.js.map +1 -0
- package/dist/livekit-client.umd.js +17388 -0
- package/dist/livekit-client.umd.js.map +1 -0
- package/dist/logger.d.ts +22 -11
- package/dist/options.d.ts +4 -2
- package/dist/proto/google/protobuf/timestamp.d.ts +12 -2
- package/dist/proto/livekit_models.d.ts +524 -17
- package/dist/proto/livekit_rtc.d.ts +3449 -31
- package/dist/room/DeviceManager.d.ts +1 -1
- package/dist/room/RTCEngine.d.ts +1 -1
- package/dist/room/Room.d.ts +2 -2
- package/dist/room/events.d.ts +1 -1
- package/dist/room/participant/LocalParticipant.d.ts +9 -5
- package/dist/room/participant/RemoteParticipant.d.ts +9 -0
- package/dist/room/track/RemoteAudioTrack.d.ts +11 -0
- package/dist/room/track/options.d.ts +1 -1
- package/dist/test/mocks.d.ts +11 -0
- package/dist/version.d.ts +1 -1
- package/package.json +41 -16
- package/.eslintrc.js +0 -17
- package/.gitmodules +0 -3
- package/dist/api/RequestQueue.js +0 -61
- package/dist/api/RequestQueue.js.map +0 -1
- package/dist/api/SignalClient.js +0 -428
- package/dist/api/SignalClient.js.map +0 -1
- package/dist/connect.js +0 -130
- package/dist/connect.js.map +0 -1
- package/dist/index.js +0 -71
- package/dist/index.js.map +0 -1
- package/dist/logger.js +0 -24
- package/dist/logger.js.map +0 -1
- package/dist/options.js +0 -3
- package/dist/options.js.map +0 -1
- package/dist/proto/google/protobuf/timestamp.js +0 -93
- package/dist/proto/google/protobuf/timestamp.js.map +0 -1
- package/dist/proto/livekit_models.js +0 -2688
- package/dist/proto/livekit_models.js.map +0 -1
- package/dist/proto/livekit_rtc.js +0 -2995
- package/dist/proto/livekit_rtc.js.map +0 -1
- package/dist/room/DeviceManager.js +0 -62
- package/dist/room/DeviceManager.js.map +0 -1
- package/dist/room/PCTransport.js +0 -91
- package/dist/room/PCTransport.js.map +0 -1
- package/dist/room/RTCEngine.js +0 -562
- package/dist/room/RTCEngine.js.map +0 -1
- package/dist/room/Room.js +0 -759
- package/dist/room/Room.js.map +0 -1
- package/dist/room/errors.js +0 -68
- package/dist/room/errors.js.map +0 -1
- package/dist/room/events.js +0 -385
- package/dist/room/events.js.map +0 -1
- package/dist/room/participant/LocalParticipant.js +0 -647
- package/dist/room/participant/LocalParticipant.js.map +0 -1
- package/dist/room/participant/Participant.js +0 -189
- package/dist/room/participant/Participant.js.map +0 -1
- package/dist/room/participant/ParticipantTrackPermission.js +0 -16
- package/dist/room/participant/ParticipantTrackPermission.js.map +0 -1
- package/dist/room/participant/RemoteParticipant.js +0 -194
- package/dist/room/participant/RemoteParticipant.js.map +0 -1
- package/dist/room/participant/publishUtils.js +0 -189
- package/dist/room/participant/publishUtils.js.map +0 -1
- package/dist/room/participant/publishUtils.test.d.ts +0 -1
- package/dist/room/participant/publishUtils.test.js +0 -118
- package/dist/room/participant/publishUtils.test.js.map +0 -1
- package/dist/room/stats.js +0 -26
- package/dist/room/stats.js.map +0 -1
- package/dist/room/track/LocalAudioTrack.js +0 -153
- package/dist/room/track/LocalAudioTrack.js.map +0 -1
- package/dist/room/track/LocalTrack.js +0 -158
- package/dist/room/track/LocalTrack.js.map +0 -1
- package/dist/room/track/LocalTrackPublication.js +0 -64
- package/dist/room/track/LocalTrackPublication.js.map +0 -1
- package/dist/room/track/LocalVideoTrack.js +0 -297
- package/dist/room/track/LocalVideoTrack.js.map +0 -1
- package/dist/room/track/LocalVideoTrack.test.d.ts +0 -1
- package/dist/room/track/LocalVideoTrack.test.js +0 -68
- package/dist/room/track/LocalVideoTrack.test.js.map +0 -1
- package/dist/room/track/RemoteAudioTrack.js +0 -64
- package/dist/room/track/RemoteAudioTrack.js.map +0 -1
- package/dist/room/track/RemoteTrack.js +0 -49
- package/dist/room/track/RemoteTrack.js.map +0 -1
- package/dist/room/track/RemoteTrackPublication.js +0 -178
- package/dist/room/track/RemoteTrackPublication.js.map +0 -1
- package/dist/room/track/RemoteVideoTrack.js +0 -201
- package/dist/room/track/RemoteVideoTrack.js.map +0 -1
- package/dist/room/track/Track.js +0 -276
- package/dist/room/track/Track.js.map +0 -1
- package/dist/room/track/TrackPublication.js +0 -92
- package/dist/room/track/TrackPublication.js.map +0 -1
- package/dist/room/track/create.js +0 -131
- package/dist/room/track/create.js.map +0 -1
- package/dist/room/track/defaults.js +0 -21
- package/dist/room/track/defaults.js.map +0 -1
- package/dist/room/track/options.js +0 -100
- package/dist/room/track/options.js.map +0 -1
- package/dist/room/track/types.js +0 -3
- package/dist/room/track/types.js.map +0 -1
- package/dist/room/track/utils.js +0 -113
- package/dist/room/track/utils.js.map +0 -1
- package/dist/room/track/utils.test.d.ts +0 -1
- package/dist/room/track/utils.test.js +0 -85
- package/dist/room/track/utils.test.js.map +0 -1
- package/dist/room/utils.js +0 -79
- package/dist/room/utils.js.map +0 -1
- package/dist/version.js +0 -6
- package/dist/version.js.map +0 -1
- package/jest.config.js +0 -6
- package/src/api/RequestQueue.ts +0 -53
- package/src/api/SignalClient.ts +0 -499
- package/src/connect.ts +0 -100
- package/src/index.ts +0 -47
- package/src/logger.ts +0 -22
- package/src/options.ts +0 -149
- package/src/proto/google/protobuf/timestamp.ts +0 -222
- package/src/proto/livekit_models.ts +0 -3019
- package/src/proto/livekit_rtc.ts +0 -3677
- package/src/room/DeviceManager.ts +0 -57
- package/src/room/PCTransport.ts +0 -86
- package/src/room/RTCEngine.ts +0 -652
- package/src/room/Room.ts +0 -943
- package/src/room/errors.ts +0 -65
- package/src/room/events.ts +0 -424
- package/src/room/participant/LocalParticipant.ts +0 -734
- package/src/room/participant/Participant.ts +0 -269
- package/src/room/participant/ParticipantTrackPermission.ts +0 -32
- package/src/room/participant/RemoteParticipant.ts +0 -243
- package/src/room/participant/publishUtils.test.ts +0 -145
- package/src/room/participant/publishUtils.ts +0 -225
- package/src/room/stats.ts +0 -130
- package/src/room/track/LocalAudioTrack.ts +0 -137
- package/src/room/track/LocalTrack.ts +0 -161
- package/src/room/track/LocalTrackPublication.ts +0 -66
- package/src/room/track/LocalVideoTrack.test.ts +0 -70
- package/src/room/track/LocalVideoTrack.ts +0 -293
- package/src/room/track/RemoteAudioTrack.ts +0 -58
- package/src/room/track/RemoteTrack.ts +0 -62
- package/src/room/track/RemoteTrackPublication.ts +0 -198
- package/src/room/track/RemoteVideoTrack.ts +0 -235
- package/src/room/track/Track.ts +0 -337
- package/src/room/track/TrackPublication.ts +0 -120
- package/src/room/track/create.ts +0 -121
- package/src/room/track/defaults.ts +0 -23
- package/src/room/track/options.ts +0 -281
- package/src/room/track/types.ts +0 -20
- package/src/room/track/utils.test.ts +0 -93
- package/src/room/track/utils.ts +0 -115
- package/src/room/utils.ts +0 -70
- package/src/version.ts +0 -2
- package/tsconfig.eslint.json +0 -11
@@ -2,6 +2,6 @@ export default class DeviceManager {
|
|
2
2
|
private static instance?;
|
3
3
|
static mediaDeviceKinds: MediaDeviceKind[];
|
4
4
|
static getInstance(): DeviceManager;
|
5
|
-
getDevices(kind
|
5
|
+
getDevices(kind?: MediaDeviceKind, requestPermissions?: boolean): Promise<MediaDeviceInfo[]>;
|
6
6
|
normalizeDeviceId(kind: MediaDeviceKind, deviceId?: string, groupId?: string): Promise<string | undefined>;
|
7
7
|
}
|
package/dist/room/RTCEngine.d.ts
CHANGED
@@ -48,7 +48,7 @@ export default class RTCEngine extends RTCEngine_base {
|
|
48
48
|
private ensurePublisherConnected;
|
49
49
|
/** @internal */
|
50
50
|
negotiate(): void;
|
51
|
-
dataChannelForKind(kind: DataPacket_Kind): RTCDataChannel | undefined;
|
51
|
+
dataChannelForKind(kind: DataPacket_Kind, sub?: boolean): RTCDataChannel | undefined;
|
52
52
|
}
|
53
53
|
export declare type EngineEventCallbacks = {
|
54
54
|
connected: () => void;
|
package/dist/room/Room.d.ts
CHANGED
@@ -63,7 +63,7 @@ declare class Room extends Room_base {
|
|
63
63
|
* @param kind
|
64
64
|
* @returns a list of available local devices
|
65
65
|
*/
|
66
|
-
static getLocalDevices(kind
|
66
|
+
static getLocalDevices(kind?: MediaDeviceKind, requestPermissions?: boolean): Promise<MediaDeviceInfo[]>;
|
67
67
|
connect: (url: string, token: string, opts?: RoomConnectOptions | undefined) => Promise<Room | undefined>;
|
68
68
|
/**
|
69
69
|
* disconnects the room, emits [[RoomEvent.Disconnected]]
|
@@ -150,7 +150,7 @@ export declare type RoomEventCallbacks = {
|
|
150
150
|
localTrackUnpublished: (publication: LocalTrackPublication, participant: LocalParticipant) => void;
|
151
151
|
/**
|
152
152
|
* @deprecated use [[participantMetadataChanged]] instead
|
153
|
-
|
153
|
+
*/
|
154
154
|
metadataChanged: (metadata: string | undefined, participant?: RemoteParticipant | LocalParticipant) => void;
|
155
155
|
participantMetadataChanged: (metadata: string | undefined, participant: RemoteParticipant | LocalParticipant) => void;
|
156
156
|
participantPermissionsChanged: (prevPermissions: ParticipantPermission, participant: RemoteParticipant | LocalParticipant) => void;
|
package/dist/room/events.d.ts
CHANGED
@@ -29,23 +29,27 @@ export default class LocalParticipant extends Participant {
|
|
29
29
|
* Enable or disable a participant's camera track.
|
30
30
|
*
|
31
31
|
* If a track has already published, it'll mute or unmute the track.
|
32
|
+
* Resolves with a `LocalTrackPublication` instance if successful and `undefined` otherwise
|
32
33
|
*/
|
33
|
-
setCameraEnabled(enabled: boolean): Promise<
|
34
|
+
setCameraEnabled(enabled: boolean): Promise<LocalTrackPublication | undefined>;
|
34
35
|
/**
|
35
36
|
* Enable or disable a participant's microphone track.
|
36
37
|
*
|
37
38
|
* If a track has already published, it'll mute or unmute the track.
|
39
|
+
* Resolves with a `LocalTrackPublication` instance if successful and `undefined` otherwise
|
38
40
|
*/
|
39
|
-
setMicrophoneEnabled(enabled: boolean): Promise<
|
41
|
+
setMicrophoneEnabled(enabled: boolean): Promise<LocalTrackPublication | undefined>;
|
40
42
|
/**
|
41
43
|
* Start or stop sharing a participant's screen
|
44
|
+
* Resolves with a `LocalTrackPublication` instance if successful and `undefined` otherwise
|
42
45
|
*/
|
43
|
-
setScreenShareEnabled(enabled: boolean): Promise<
|
46
|
+
setScreenShareEnabled(enabled: boolean): Promise<LocalTrackPublication | undefined>;
|
44
47
|
/** @internal */
|
45
48
|
setPermissions(permissions: ParticipantPermission): boolean;
|
46
49
|
/**
|
47
50
|
* Enable or disable publishing for a track by source. This serves as a simple
|
48
|
-
* way to manage the common tracks (camera, mic, or screen share)
|
51
|
+
* way to manage the common tracks (camera, mic, or screen share).
|
52
|
+
* Resolves with LocalTrackPublication if successful and void otherwise
|
49
53
|
*/
|
50
54
|
private setTrackEnabled;
|
51
55
|
/**
|
@@ -71,7 +75,7 @@ export default class LocalParticipant extends Participant {
|
|
71
75
|
* @param options
|
72
76
|
*/
|
73
77
|
publishTrack(track: LocalTrack | MediaStreamTrack, options?: TrackPublishOptions): Promise<LocalTrackPublication>;
|
74
|
-
unpublishTrack(track: LocalTrack | MediaStreamTrack, stopOnUnpublish?: boolean): LocalTrackPublication |
|
78
|
+
unpublishTrack(track: LocalTrack | MediaStreamTrack, stopOnUnpublish?: boolean): LocalTrackPublication | undefined;
|
75
79
|
unpublishTracks(tracks: LocalTrack[] | MediaStreamTrack[]): LocalTrackPublication[];
|
76
80
|
/**
|
77
81
|
* Publish a new data payload to the room. Data will be forwarded to each
|
@@ -16,6 +16,15 @@ export default class RemoteParticipant extends Participant {
|
|
16
16
|
protected addTrackPublication(publication: RemoteTrackPublication): void;
|
17
17
|
getTrack(source: Track.Source): RemoteTrackPublication | undefined;
|
18
18
|
getTrackByName(name: string): RemoteTrackPublication | undefined;
|
19
|
+
/**
|
20
|
+
* sets the volume on the participant's microphone track if it exists.
|
21
|
+
*/
|
22
|
+
setVolume(volume: number): void;
|
23
|
+
/**
|
24
|
+
* gets the volume on the participant's microphone track
|
25
|
+
* returns undefined if no microphone track exists
|
26
|
+
*/
|
27
|
+
getVolume(): number | undefined;
|
19
28
|
/** @internal */
|
20
29
|
addSubscribedMediaTrack(mediaTrack: MediaStreamTrack, sid: Track.SID, mediaStream: MediaStream, receiver?: RTCRtpReceiver, adaptiveStreamSettings?: AdaptiveStreamSettings, triesLeft?: number): RemoteTrackPublication | undefined;
|
21
30
|
/** @internal */
|
@@ -2,7 +2,18 @@ import { AudioReceiverStats } from '../stats';
|
|
2
2
|
import RemoteTrack from './RemoteTrack';
|
3
3
|
export default class RemoteAudioTrack extends RemoteTrack {
|
4
4
|
private prevStats?;
|
5
|
+
private elementVolume;
|
5
6
|
constructor(mediaTrack: MediaStreamTrack, sid: string, receiver?: RTCRtpReceiver);
|
7
|
+
/**
|
8
|
+
* sets the volume for all attached audio elements
|
9
|
+
*/
|
10
|
+
setVolume(volume: number): void;
|
11
|
+
/**
|
12
|
+
* gets the volume for all attached audio elements
|
13
|
+
*/
|
14
|
+
getVolume(): number;
|
15
|
+
attach(): HTMLMediaElement;
|
16
|
+
attach(element: HTMLMediaElement): HTMLMediaElement;
|
6
17
|
protected monitorReceiver: () => Promise<void>;
|
7
18
|
protected getReceiverStats(): Promise<AudioReceiverStats | undefined>;
|
8
19
|
}
|
@@ -149,7 +149,7 @@ export declare class VideoPreset {
|
|
149
149
|
export interface AudioPreset {
|
150
150
|
maxBitrate: number;
|
151
151
|
}
|
152
|
-
export declare type VideoCodec = 'vp8' | 'h264';
|
152
|
+
export declare type VideoCodec = 'vp8' | 'h264' | 'av1' | 'vp9';
|
153
153
|
export declare namespace AudioPresets {
|
154
154
|
const telephone: AudioPreset;
|
155
155
|
const speech: AudioPreset;
|
@@ -0,0 +1,11 @@
|
|
1
|
+
/// <reference types="jest" />
|
2
|
+
import { SignalClient } from '../api/SignalClient';
|
3
|
+
import RTCEngine from '../room/RTCEngine';
|
4
|
+
declare const mocks: {
|
5
|
+
SignalClient: jest.MockedClass<typeof SignalClient>;
|
6
|
+
RTCEngine: jest.MockedClass<typeof RTCEngine>;
|
7
|
+
MockLocalVideoTrack: {
|
8
|
+
stop: jest.Mock<any, any>;
|
9
|
+
};
|
10
|
+
};
|
11
|
+
export default mocks;
|
package/dist/version.d.ts
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
export declare const version = "0.17.
|
1
|
+
export declare const version = "0.17.5";
|
2
2
|
export declare const protocolVersion = 7;
|
package/package.json
CHANGED
@@ -1,22 +1,35 @@
|
|
1
1
|
{
|
2
2
|
"name": "livekit-client",
|
3
|
-
"version": "0.17.
|
3
|
+
"version": "0.17.6-rc1",
|
4
4
|
"description": "JavaScript/TypeScript client SDK for LiveKit",
|
5
|
-
"main": "dist/
|
5
|
+
"main": "./dist/livekit-client.umd.js",
|
6
|
+
"unpkg": "./dist/livekit-client.umd.js",
|
7
|
+
"module": "./dist/livekit-client.esm.js",
|
8
|
+
"exports": {
|
9
|
+
".": {
|
10
|
+
"import": "./dist/livekit-client.esm.js",
|
11
|
+
"require": "./dist/livekit-client.umd.js"
|
12
|
+
}
|
13
|
+
},
|
14
|
+
"files": [
|
15
|
+
"dist"
|
16
|
+
],
|
6
17
|
"source": "src/index.ts",
|
7
18
|
"types": "dist/index.d.ts",
|
8
19
|
"repository": "git@github.com:livekit/client-sdk-js.git",
|
9
20
|
"author": "David Zhao <david@davidzhao.com>",
|
10
21
|
"license": "Apache-2.0",
|
11
22
|
"scripts": {
|
12
|
-
"build": "
|
13
|
-
"build
|
23
|
+
"build": "rollup --config",
|
24
|
+
"build:watch": "rollup --watch --config rollup.config.js",
|
25
|
+
"build-docs": "typedoc",
|
14
26
|
"proto": "protoc --plugin=node_modules/ts-proto/protoc-gen-ts_proto --ts_proto_opt=esModuleInterop=true --ts_proto_out=./src/proto --ts_proto_opt=outputClientImpl=false,useOptionals=true -I./protocol ./protocol/livekit_rtc.proto ./protocol/livekit_models.proto",
|
15
|
-
"sample": "
|
16
|
-
"build-sample": "cd example && webpack && cp styles.css index.html dist/",
|
27
|
+
"sample": "rollup --watch --config rollup.config.dev.js",
|
17
28
|
"lint": "eslint src",
|
18
29
|
"test": "jest",
|
19
|
-
"deploy": "gh-pages -d example/dist"
|
30
|
+
"deploy": "gh-pages -d example/dist",
|
31
|
+
"format": "prettier --write .",
|
32
|
+
"format:check": "prettier --check ."
|
20
33
|
},
|
21
34
|
"dependencies": {
|
22
35
|
"events": "^3.3.0",
|
@@ -27,23 +40,35 @@
|
|
27
40
|
"webrtc-adapter": "^8.1.1"
|
28
41
|
},
|
29
42
|
"devDependencies": {
|
43
|
+
"@babel/preset-env": "^7.16.11",
|
44
|
+
"@rollup/plugin-babel": "^5.3.1",
|
45
|
+
"@rollup/plugin-commonjs": "^21.0.3",
|
46
|
+
"@rollup/plugin-node-resolve": "^13.1.3",
|
47
|
+
"@rollup/plugin-typescript": "^8.3.1",
|
30
48
|
"@types/jest": "^27.0.3",
|
31
49
|
"@types/ws": "^7.4.0",
|
32
50
|
"@typescript-eslint/eslint-plugin": "^4.31.2",
|
33
|
-
"@webpack-cli/serve": "^1.5.2",
|
34
51
|
"eslint": "^7.32.0",
|
35
52
|
"eslint-config-airbnb-typescript": "^12.3.1",
|
53
|
+
"eslint-config-prettier": "^8.5.0",
|
36
54
|
"eslint-plugin-import": "^2.24.2",
|
37
55
|
"gh-pages": "^3.2.3",
|
56
|
+
"glob": "^7.2.0",
|
38
57
|
"jest": "^27.4.3",
|
58
|
+
"prettier": "^2.6.1",
|
59
|
+
"rollup": "^2.70.1",
|
60
|
+
"rollup-plugin-re": "^1.0.7",
|
61
|
+
"rollup-plugin-serve": "^1.1.0",
|
62
|
+
"rollup-plugin-terser": "^7.0.2",
|
39
63
|
"ts-jest": "^27.0.7",
|
40
64
|
"ts-loader": "^8.1.0",
|
41
|
-
"ts-proto": "^1.
|
42
|
-
"typedoc": "^0.
|
43
|
-
"typedoc-plugin-no-inherit": "1.3.
|
44
|
-
"typescript": "~4.2.3"
|
45
|
-
|
46
|
-
|
47
|
-
"
|
48
|
-
|
65
|
+
"ts-proto": "^1.110.1",
|
66
|
+
"typedoc": "^0.22.13",
|
67
|
+
"typedoc-plugin-no-inherit": "1.3.1",
|
68
|
+
"typescript": "~4.2.3"
|
69
|
+
},
|
70
|
+
"browserslist": [
|
71
|
+
"defaults",
|
72
|
+
"not IE 11"
|
73
|
+
]
|
49
74
|
}
|
package/.eslintrc.js
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
module.exports = {
|
2
|
-
extends: ['airbnb-typescript/base'],
|
3
|
-
parserOptions: {
|
4
|
-
project: './tsconfig.eslint.json',
|
5
|
-
},
|
6
|
-
rules: {
|
7
|
-
'import/export': 'off',
|
8
|
-
'max-classes-per-file': 'off',
|
9
|
-
'no-param-reassign': 'off',
|
10
|
-
'no-await-in-loop': 'off',
|
11
|
-
'no-restricted-syntax': 'off',
|
12
|
-
'consistent-return': 'off',
|
13
|
-
'class-methods-use-this': 'off',
|
14
|
-
'no-underscore-dangle': 'off',
|
15
|
-
'@typescript-eslint/no-use-before-define': 'off',
|
16
|
-
},
|
17
|
-
};
|
package/.gitmodules
DELETED
package/dist/api/RequestQueue.js
DELETED
@@ -1,61 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
-
});
|
10
|
-
};
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
13
|
-
};
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
15
|
-
const logger_1 = __importDefault(require("../logger"));
|
16
|
-
class Queue {
|
17
|
-
constructor() {
|
18
|
-
this.queue = [];
|
19
|
-
this.running = false;
|
20
|
-
}
|
21
|
-
enqueue(cb) {
|
22
|
-
logger_1.default.trace('enqueuing request to fire later');
|
23
|
-
this.queue.push(cb);
|
24
|
-
}
|
25
|
-
dequeue() {
|
26
|
-
const evt = this.queue.shift();
|
27
|
-
if (evt)
|
28
|
-
evt();
|
29
|
-
logger_1.default.trace('firing request from queue');
|
30
|
-
}
|
31
|
-
run() {
|
32
|
-
return __awaiter(this, void 0, void 0, function* () {
|
33
|
-
if (this.running)
|
34
|
-
return;
|
35
|
-
logger_1.default.trace('start queue');
|
36
|
-
this.running = true;
|
37
|
-
while (this.running && this.queue.length > 0) {
|
38
|
-
this.dequeue();
|
39
|
-
}
|
40
|
-
this.running = false;
|
41
|
-
logger_1.default.trace('queue finished');
|
42
|
-
});
|
43
|
-
}
|
44
|
-
pause() {
|
45
|
-
logger_1.default.trace('pausing queue');
|
46
|
-
this.running = false;
|
47
|
-
}
|
48
|
-
reset() {
|
49
|
-
logger_1.default.trace('resetting queue');
|
50
|
-
this.running = false;
|
51
|
-
this.queue = [];
|
52
|
-
}
|
53
|
-
isRunning() {
|
54
|
-
return this.running;
|
55
|
-
}
|
56
|
-
isEmpty() {
|
57
|
-
return this.queue.length === 0;
|
58
|
-
}
|
59
|
-
}
|
60
|
-
exports.default = Queue;
|
61
|
-
//# sourceMappingURL=RequestQueue.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"RequestQueue.js","sourceRoot":"","sources":["../../src/api/RequestQueue.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,uDAA4B;AAE5B,MAAqB,KAAK;IAKxB;QACE,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,OAAO,CAAC,EAAc;QACpB,gBAAG,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC;IAED,OAAO;QACL,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,GAAG;YAAE,GAAG,EAAE,CAAC;QACf,gBAAG,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACzC,CAAC;IAEK,GAAG;;YACP,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAO;YACzB,gBAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;aAChB;YACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,gBAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC9B,CAAC;KAAA;IAED,KAAK;QACH,gBAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,KAAK;QACH,gBAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;IACjC,CAAC;CACF;AAlDD,wBAkDC"}
|