@100mslive/hms-video-store 0.2.82-alpha.1 → 0.2.82-alpha.13

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 (55) hide show
  1. package/dist/core/IHMSActions.d.ts +1 -1
  2. package/dist/core/hmsSDKStore/HMSSDKActions.d.ts +1 -1
  3. package/dist/core/hmsSDKStore/sdkTypes.d.ts +3 -3
  4. package/dist/core/index.d.ts +2 -2
  5. package/dist/core/selectors/selectors.d.ts +3 -9
  6. package/dist/core/selectors/selectorsByID.d.ts +1 -1
  7. package/dist/core/selectors/selectorsByReference.d.ts +1 -1
  8. package/dist/hms-video-store.cjs.js +1 -1
  9. package/dist/hms-video-store.esm.js +1 -1
  10. package/package.json +5 -36
  11. package/src/common/ui-logger.ts +0 -88
  12. package/src/core/IHMSActions.ts +0 -317
  13. package/src/core/IHMSNotifications.ts +0 -16
  14. package/src/core/IHMSStore.ts +0 -59
  15. package/src/core/hmsSDKStore/HMSNotifications.ts +0 -170
  16. package/src/core/hmsSDKStore/HMSPlaylist.ts +0 -77
  17. package/src/core/hmsSDKStore/HMSReactiveStore.ts +0 -262
  18. package/src/core/hmsSDKStore/HMSSDKActions.ts +0 -1113
  19. package/src/core/hmsSDKStore/adapter.ts +0 -234
  20. package/src/core/hmsSDKStore/common/mapping.ts +0 -32
  21. package/src/core/hmsSDKStore/internalTypes.ts +0 -8
  22. package/src/core/hmsSDKStore/sdkTypes.ts +0 -51
  23. package/src/core/hmsSDKStore/sdkUtils/ActionBatcher.ts +0 -60
  24. package/src/core/hmsSDKStore/sdkUtils/sdkUtils.ts +0 -5
  25. package/src/core/hmsSDKStore/sdkUtils/storeMergeUtils.ts +0 -95
  26. package/src/core/index.ts +0 -16
  27. package/src/core/schema/device-change.ts +0 -14
  28. package/src/core/schema/error.ts +0 -13
  29. package/src/core/schema/index.ts +0 -11
  30. package/src/core/schema/message.ts +0 -35
  31. package/src/core/schema/notification.ts +0 -41
  32. package/src/core/schema/peer.ts +0 -72
  33. package/src/core/schema/playlist.ts +0 -114
  34. package/src/core/schema/requests.ts +0 -36
  35. package/src/core/schema/role.ts +0 -5
  36. package/src/core/schema/room.ts +0 -26
  37. package/src/core/schema/schema.ts +0 -94
  38. package/src/core/schema/settings.ts +0 -5
  39. package/src/core/selectors/derivedSelectors.ts +0 -75
  40. package/src/core/selectors/index.ts +0 -5
  41. package/src/core/selectors/playlistselectors.ts +0 -71
  42. package/src/core/selectors/selectorUtils.ts +0 -63
  43. package/src/core/selectors/selectors.ts +0 -347
  44. package/src/core/selectors/selectorsByID.ts +0 -370
  45. package/src/core/selectors/selectorsByReference.ts +0 -34
  46. package/src/index.ts +0 -1
  47. package/src/test/fakeStore.ts +0 -272
  48. package/src/test/fixtures.ts +0 -22
  49. package/src/test/integration/.gitkeep +0 -0
  50. package/src/test/unit/HMSNotifications.test.ts +0 -105
  51. package/src/test/unit/reactiveStore.test.ts +0 -129
  52. package/src/test/unit/roleSelectors.test.ts +0 -78
  53. package/src/test/unit/selectors.test.ts +0 -316
  54. package/src/test/unit/selectorsByReference.test.ts +0 -23
  55. package/src/test/unit/storeMergeUtils.test.ts +0 -165
@@ -1,165 +0,0 @@
1
- import { HMSTrack as SDKTrack } from '@100mslive/hms-video';
2
- import { HMSPeer, HMSPeerID, HMSTrack, HMSTrackID } from '../../core';
3
- import { mergeNewPeersInDraft, mergeNewTracksInDraft } from '../../core/hmsSDKStore/sdkUtils/storeMergeUtils';
4
- import { makeFakePeer, makeFakeTrack } from '../fixtures';
5
-
6
- type trackMap = Record<HMSTrackID, HMSTrack>;
7
- type peerMap = Record<HMSTrackID, HMSPeer>;
8
- let newTracks: Record<HMSTrackID, Partial<HMSTrack>>;
9
-
10
- describe('tracks merge is happening properly', () => {
11
- let fakeTrack: HMSTrack;
12
- let draftTracksCopy: Record<HMSTrackID, Partial<HMSTrack>>;
13
- let draftTracks: Record<HMSTrackID, Partial<HMSTrack>>;
14
- beforeEach(() => {
15
- draftTracks = {};
16
- newTracks = {};
17
- draftTracksCopy = draftTracks;
18
- fakeTrack = makeFakeTrack();
19
- });
20
-
21
- const expectNoReferenceChange = () => {
22
- expect(draftTracks).toBe(draftTracksCopy);
23
- };
24
-
25
- test('no errors with empty tracks', () => {
26
- mergeNewTracksInDraft(draftTracks as trackMap, newTracks);
27
- expectNoReferenceChange();
28
- expect(draftTracks).toEqual({});
29
- });
30
-
31
- test('track is deleted from draft if gone', () => {
32
- draftTracks[fakeTrack.id] = fakeTrack;
33
- mergeNewTracksInDraft(draftTracks as trackMap, newTracks);
34
- expectNoReferenceChange();
35
- expect(draftTracks).toEqual({});
36
- });
37
-
38
- test('new track is added to draft', () => {
39
- newTracks[fakeTrack.id] = fakeTrack;
40
- mergeNewTracksInDraft(draftTracks as trackMap, newTracks);
41
- expectNoReferenceChange();
42
- expect(draftTracks).toEqual(newTracks);
43
- });
44
-
45
- test('old track update maintains reference on update', () => {
46
- const clonedTrack = { ...fakeTrack, enabled: true, height: 357 };
47
- draftTracks[fakeTrack.id] = fakeTrack;
48
- newTracks[clonedTrack.id] = clonedTrack;
49
- mergeNewTracksInDraft(draftTracks as trackMap, newTracks);
50
- expectNoReferenceChange();
51
- expect(draftTracks[fakeTrack.id]).toBe(fakeTrack);
52
- expect(fakeTrack.enabled).toBe(true);
53
- expect(fakeTrack.height).toBe(357);
54
- expect(fakeTrack).not.toBe(clonedTrack);
55
- });
56
-
57
- test('partial update does not override older data', () => {
58
- const clonedTrack = { ...fakeTrack };
59
- fakeTrack.height = 450;
60
- draftTracks[fakeTrack.id] = fakeTrack;
61
- newTracks[clonedTrack.id] = clonedTrack;
62
- mergeNewTracksInDraft(draftTracks as trackMap, newTracks);
63
- expectNoReferenceChange();
64
- expect(fakeTrack.height).toBe(450);
65
- expect(clonedTrack.height).toBeUndefined();
66
- });
67
- });
68
-
69
- describe('peers merge is happening properly', () => {
70
- let fakePeer: HMSPeer;
71
- let draftPeersCopy: Record<HMSPeerID, Partial<HMSPeer>>;
72
- const draftPeers: Record<HMSPeerID, Partial<HMSPeer>> = {};
73
- const newPeers: Record<HMSPeerID, Partial<HMSPeer>> = {};
74
- const newSDKTracks: Record<HMSTrackID, SDKTrack> = {};
75
- beforeEach(() => {
76
- newTracks = {};
77
- draftPeersCopy = draftPeers;
78
- fakePeer = makeFakePeer();
79
- const audio = makeFakeTrack('audio');
80
- const video = makeFakeTrack('video');
81
- const screenshare = makeFakeTrack('video');
82
- newTracks[audio.id] = audio;
83
- newTracks[video.id] = video;
84
- newTracks[screenshare.id] = screenshare;
85
- fakePeer.audioTrack = audio.id;
86
- fakePeer.videoTrack = video.id;
87
- fakePeer.auxiliaryTracks = [screenshare.id];
88
- newSDKTracks[audio.id] = {} as SDKTrack;
89
- newSDKTracks[video.id] = {} as SDKTrack;
90
- newSDKTracks[screenshare.id] = {} as SDKTrack;
91
- });
92
-
93
- const expectNoReferenceChange = () => {
94
- expect(draftPeers).toBe(draftPeersCopy);
95
- };
96
-
97
- test('no errors with empty peers', () => {
98
- mergeNewPeersInDraft(draftPeers as peerMap, newPeers);
99
- expectNoReferenceChange();
100
- expect(draftPeers).toEqual({});
101
- });
102
-
103
- test('peer is deleted from draft if gone', () => {
104
- draftPeers[fakePeer.id] = fakePeer;
105
- mergeNewPeersInDraft(draftPeers as peerMap, newPeers);
106
- expectNoReferenceChange();
107
- expect(draftPeers).toEqual({});
108
- });
109
-
110
- test('new peer is added to draft', () => {
111
- newPeers[fakePeer.id] = fakePeer;
112
- mergeNewPeersInDraft(draftPeers as peerMap, newPeers);
113
- expectNoReferenceChange();
114
- expect(draftPeers).toEqual(newPeers);
115
- });
116
-
117
- test('old peer update maintains reference on update', () => {
118
- const clonedPeer = {
119
- ...fakePeer,
120
- roleName: 'host',
121
- auxiliaryTracks: [...fakePeer.auxiliaryTracks],
122
- };
123
- draftPeers[fakePeer.id] = fakePeer;
124
- newPeers[clonedPeer.id] = clonedPeer;
125
- mergeNewPeersInDraft(draftPeers as peerMap, newPeers);
126
- expectNoReferenceChange();
127
- expect(draftPeers[fakePeer.id]).toBe(fakePeer);
128
- expect(draftPeers[fakePeer.id].auxiliaryTracks).toBe(fakePeer.auxiliaryTracks);
129
- expect(fakePeer.name).toBe('test');
130
- expect(fakePeer.roleName).toBe('host');
131
- expect(fakePeer).not.toBe(clonedPeer); // test object.assign happened properly
132
- });
133
-
134
- test('partial update does not override older data', () => {
135
- const clonedPeer = { ...fakePeer };
136
- fakePeer.roleName = 'random';
137
- draftPeers[fakePeer.id] = fakePeer;
138
- newPeers[clonedPeer.id] = clonedPeer;
139
- mergeNewPeersInDraft(draftPeers as peerMap, newPeers);
140
- expectNoReferenceChange();
141
- expect(fakePeer.roleName).toBe('random');
142
- expect(clonedPeer.roleName).toBeUndefined();
143
- });
144
-
145
- test('replace track does not change peer.videoTrack', () => {
146
- fakePeer.isLocal = true;
147
- draftPeers[fakePeer.id] = fakePeer;
148
- const newVideo = makeFakeTrack('video');
149
- const clonedPeer = { ...fakePeer, videoTrack: newVideo.id };
150
- const newSDKTrack = {} as SDKTrack;
151
- newSDKTracks[newVideo.id] = newSDKTrack;
152
- if (fakePeer.videoTrack) {
153
- // remove older one
154
- delete newTracks[fakePeer.videoTrack];
155
- delete newSDKTracks[fakePeer.videoTrack];
156
- }
157
- newTracks[newVideo.id] = newVideo;
158
- newPeers[clonedPeer.id] = clonedPeer;
159
- mergeNewPeersInDraft(draftPeers as peerMap, newPeers);
160
- expect(draftPeers[fakePeer.id]).toBe(fakePeer);
161
- expect(draftPeers[fakePeer.id].videoTrack).toBe(fakePeer.videoTrack);
162
- // ensure the unchanged video track id can be used to get the new sdk track
163
- expect(newSDKTrack).toBe(fakePeer.videoTrack && newSDKTracks[fakePeer.videoTrack]);
164
- });
165
- });