@louis-qode/mediasoup 1.0.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 (58) hide show
  1. package/README.md +51 -0
  2. package/dist/index.d.ts +6 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +8 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/redux/reducers/consumers.d.ts +44 -0
  7. package/dist/redux/reducers/consumers.d.ts.map +1 -0
  8. package/dist/redux/reducers/consumers.js +87 -0
  9. package/dist/redux/reducers/consumers.js.map +1 -0
  10. package/dist/redux/reducers/dataConsumers.d.ts +14 -0
  11. package/dist/redux/reducers/dataConsumers.d.ts.map +1 -0
  12. package/dist/redux/reducers/dataConsumers.js +27 -0
  13. package/dist/redux/reducers/dataConsumers.js.map +1 -0
  14. package/dist/redux/reducers/dataProducers.d.ts +14 -0
  15. package/dist/redux/reducers/dataProducers.d.ts.map +1 -0
  16. package/dist/redux/reducers/dataProducers.js +27 -0
  17. package/dist/redux/reducers/dataProducers.js.map +1 -0
  18. package/dist/redux/reducers/index.d.ts +7 -0
  19. package/dist/redux/reducers/index.d.ts.map +1 -0
  20. package/dist/redux/reducers/index.js +21 -0
  21. package/dist/redux/reducers/index.js.map +1 -0
  22. package/dist/redux/reducers/me.d.ts +39 -0
  23. package/dist/redux/reducers/me.d.ts.map +1 -0
  24. package/dist/redux/reducers/me.js +83 -0
  25. package/dist/redux/reducers/me.js.map +1 -0
  26. package/dist/redux/reducers/notifications.d.ts +11 -0
  27. package/dist/redux/reducers/notifications.d.ts.map +1 -0
  28. package/dist/redux/reducers/notifications.js +20 -0
  29. package/dist/redux/reducers/notifications.js.map +1 -0
  30. package/dist/redux/reducers/peers.d.ts +34 -0
  31. package/dist/redux/reducers/peers.d.ts.map +1 -0
  32. package/dist/redux/reducers/peers.js +87 -0
  33. package/dist/redux/reducers/peers.js.map +1 -0
  34. package/dist/redux/reducers/producers.d.ts +28 -0
  35. package/dist/redux/reducers/producers.d.ts.map +1 -0
  36. package/dist/redux/reducers/producers.js +53 -0
  37. package/dist/redux/reducers/producers.js.map +1 -0
  38. package/dist/redux/reducers/room.d.ts +32 -0
  39. package/dist/redux/reducers/room.d.ts.map +1 -0
  40. package/dist/redux/reducers/room.js +77 -0
  41. package/dist/redux/reducers/room.js.map +1 -0
  42. package/dist/redux/requestActions.d.ts +9 -0
  43. package/dist/redux/requestActions.d.ts.map +1 -0
  44. package/dist/redux/requestActions.js +30 -0
  45. package/dist/redux/requestActions.js.map +1 -0
  46. package/dist/redux/stateActions.d.ts +334 -0
  47. package/dist/redux/stateActions.d.ts.map +1 -0
  48. package/dist/redux/stateActions.js +176 -0
  49. package/dist/redux/stateActions.js.map +1 -0
  50. package/dist/redux/store.d.ts +3 -0
  51. package/dist/redux/store.d.ts.map +1 -0
  52. package/dist/redux/store.js +6 -0
  53. package/dist/redux/store.js.map +1 -0
  54. package/dist/redux/types.d.ts +155 -0
  55. package/dist/redux/types.d.ts.map +1 -0
  56. package/dist/redux/types.js +5 -0
  57. package/dist/redux/types.js.map +1 -0
  58. package/package.json +52 -0
package/README.md ADDED
@@ -0,0 +1,51 @@
1
+ # @mediasoup/redux
2
+
3
+ Redux store, actions, and reducers for mediasoup applications.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @mediasoup/redux redux redux-thunk random-string
9
+ ```
10
+
11
+ ## Usage
12
+
13
+ ```typescript
14
+ import { store, RootState } from '@mediasoup/redux';
15
+ import { Provider } from 'react-redux';
16
+
17
+ // Use the store in your React app
18
+ <Provider store={store}>
19
+ <App />
20
+ </Provider>
21
+ ```
22
+
23
+ ## Exports
24
+
25
+ - `store` - Pre-configured Redux store with all mediasoup reducers
26
+ - `RootState` - TypeScript type for the entire Redux state
27
+ - `AppDispatch` - TypeScript type for the Redux dispatch function
28
+ - All action creators from `stateActions` and `requestActions`
29
+ - Type definitions for all state interfaces (RoomStateType, MeState, Producer, Consumer, etc.)
30
+
31
+ ## Actions
32
+
33
+ ### State Actions
34
+
35
+ - `setRoomUrl(url)` - Set the room URL
36
+ - `setRoomState(state)` - Set the room state
37
+ - `setMe(payload)` - Set the current user info
38
+ - `setDisplayName(displayName)` - Set display name
39
+ - `addProducer(producer)` - Add a media producer
40
+ - `removeProducer(producerId)` - Remove a media producer
41
+ - `addConsumer(consumer, peerId)` - Add a media consumer
42
+ - `removeConsumer(consumerId, peerId)` - Remove a media consumer
43
+ - And more...
44
+
45
+ ### Request Actions
46
+
47
+ - `notify(options)` - Create and auto-dismiss a notification
48
+
49
+ ## License
50
+
51
+ All Rights Reserved
@@ -0,0 +1,6 @@
1
+ export * from './redux/types';
2
+ export { store, AppDispatch } from './redux/store';
3
+ export * as stateActions from './redux/stateActions';
4
+ export * as requestActions from './redux/requestActions';
5
+ export type { RootState } from './redux/types';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,eAAe,CAAC;AAG9B,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAGnD,OAAO,KAAK,YAAY,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,cAAc,MAAM,wBAAwB,CAAC;AAGzD,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,8 @@
1
+ // Export types
2
+ export * from './redux/types';
3
+ // Export store and dispatch type
4
+ export { store } from './redux/store';
5
+ // Export all action creators
6
+ export * as stateActions from './redux/stateActions';
7
+ export * as requestActions from './redux/requestActions';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,cAAc,eAAe,CAAC;AAE9B,iCAAiC;AACjC,OAAO,EAAE,KAAK,EAAe,MAAM,eAAe,CAAC;AAEnD,6BAA6B;AAC7B,OAAO,KAAK,YAAY,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,cAAc,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,44 @@
1
+ import { Consumer, ConsumersState, ReduxAction } from '../types';
2
+ interface SetRoomStatePayload {
3
+ state: string;
4
+ }
5
+ interface AddConsumerPayload {
6
+ consumer: Consumer;
7
+ }
8
+ interface RemoveConsumerPayload {
9
+ consumerId: string;
10
+ }
11
+ interface SetConsumerPausedPayload {
12
+ consumerId: string;
13
+ originator: 'local' | 'remote';
14
+ }
15
+ interface SetConsumerResumedPayload {
16
+ consumerId: string;
17
+ originator: 'local' | 'remote';
18
+ }
19
+ interface SetConsumerCurrentLayersPayload {
20
+ consumerId: string;
21
+ spatialLayer: number;
22
+ temporalLayer: number;
23
+ }
24
+ interface SetConsumerPreferredLayersPayload {
25
+ consumerId: string;
26
+ spatialLayer: number;
27
+ temporalLayer: number;
28
+ }
29
+ interface SetConsumerPriorityPayload {
30
+ consumerId: string;
31
+ priority: number;
32
+ }
33
+ interface SetConsumerTrackPayload {
34
+ consumerId: string;
35
+ track: MediaStreamTrack;
36
+ }
37
+ interface SetConsumerScorePayload {
38
+ consumerId: string;
39
+ score: Record<string, unknown>;
40
+ }
41
+ type ConsumersAction = ReduxAction<'SET_ROOM_STATE', SetRoomStatePayload> | ReduxAction<'ADD_CONSUMER', AddConsumerPayload> | ReduxAction<'REMOVE_CONSUMER', RemoveConsumerPayload> | ReduxAction<'SET_CONSUMER_PAUSED', SetConsumerPausedPayload> | ReduxAction<'SET_CONSUMER_RESUMED', SetConsumerResumedPayload> | ReduxAction<'SET_CONSUMER_CURRENT_LAYERS', SetConsumerCurrentLayersPayload> | ReduxAction<'SET_CONSUMER_PREFERRED_LAYERS', SetConsumerPreferredLayersPayload> | ReduxAction<'SET_CONSUMER_PRIORITY', SetConsumerPriorityPayload> | ReduxAction<'SET_CONSUMER_TRACK', SetConsumerTrackPayload> | ReduxAction<'SET_CONSUMER_SCORE', SetConsumerScorePayload>;
42
+ declare const consumers: (state: ConsumersState, action: ConsumersAction) => ConsumersState;
43
+ export default consumers;
44
+ //# sourceMappingURL=consumers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consumers.d.ts","sourceRoot":"","sources":["../../../src/redux/reducers/consumers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAIjE,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,UAAU,qBAAqB;IAC7B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,wBAAwB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,GAAG,QAAQ,CAAC;CAChC;AAED,UAAU,yBAAyB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,GAAG,QAAQ,CAAC;CAChC;AAED,UAAU,+BAA+B;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,iCAAiC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,0BAA0B;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,uBAAuB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,gBAAgB,CAAC;CACzB;AAED,UAAU,uBAAuB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,KAAK,eAAe,GAChB,WAAW,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAClD,WAAW,CAAC,cAAc,EAAE,kBAAkB,CAAC,GAC/C,WAAW,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,GACrD,WAAW,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GAC5D,WAAW,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,GAC9D,WAAW,CAAC,6BAA6B,EAAE,+BAA+B,CAAC,GAC3E,WAAW,CAAC,+BAA+B,EAAE,iCAAiC,CAAC,GAC/E,WAAW,CAAC,uBAAuB,EAAE,0BAA0B,CAAC,GAChE,WAAW,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAC1D,WAAW,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,CAAC;AAE/D,QAAA,MAAM,SAAS,GAAI,OAAO,cAA6B,EAAE,QAAQ,eAAe,KAAG,cAuGlF,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,87 @@
1
+ const initialState = {};
2
+ const consumers = (state = initialState, action) => {
3
+ switch (action.type) {
4
+ case 'SET_ROOM_STATE': {
5
+ const roomState = action.payload.state;
6
+ if (roomState === 'closed')
7
+ return {};
8
+ else
9
+ return state;
10
+ }
11
+ case 'ADD_CONSUMER': {
12
+ const { consumer } = action.payload;
13
+ return { ...state, [consumer.id]: consumer };
14
+ }
15
+ case 'REMOVE_CONSUMER': {
16
+ const { consumerId } = action.payload;
17
+ const newState = { ...state };
18
+ delete newState[consumerId];
19
+ return newState;
20
+ }
21
+ case 'SET_CONSUMER_PAUSED': {
22
+ const { consumerId, originator } = action.payload;
23
+ const consumer = state[consumerId];
24
+ let newConsumer;
25
+ if (originator === 'local')
26
+ newConsumer = { ...consumer, locallyPaused: true };
27
+ else
28
+ newConsumer = { ...consumer, remotelyPaused: true };
29
+ return { ...state, [consumerId]: newConsumer };
30
+ }
31
+ case 'SET_CONSUMER_RESUMED': {
32
+ const { consumerId, originator } = action.payload;
33
+ const consumer = state[consumerId];
34
+ let newConsumer;
35
+ if (originator === 'local')
36
+ newConsumer = { ...consumer, locallyPaused: false };
37
+ else
38
+ newConsumer = { ...consumer, remotelyPaused: false };
39
+ return { ...state, [consumerId]: newConsumer };
40
+ }
41
+ case 'SET_CONSUMER_CURRENT_LAYERS': {
42
+ const { consumerId, spatialLayer, temporalLayer } = action.payload;
43
+ const consumer = state[consumerId];
44
+ const newConsumer = {
45
+ ...consumer,
46
+ currentSpatialLayer: spatialLayer,
47
+ currentTemporalLayer: temporalLayer,
48
+ };
49
+ return { ...state, [consumerId]: newConsumer };
50
+ }
51
+ case 'SET_CONSUMER_PREFERRED_LAYERS': {
52
+ const { consumerId, spatialLayer, temporalLayer } = action.payload;
53
+ const consumer = state[consumerId];
54
+ const newConsumer = {
55
+ ...consumer,
56
+ preferredSpatialLayer: spatialLayer,
57
+ preferredTemporalLayer: temporalLayer,
58
+ };
59
+ return { ...state, [consumerId]: newConsumer };
60
+ }
61
+ case 'SET_CONSUMER_PRIORITY': {
62
+ const { consumerId, priority } = action.payload;
63
+ const consumer = state[consumerId];
64
+ const newConsumer = { ...consumer, priority };
65
+ return { ...state, [consumerId]: newConsumer };
66
+ }
67
+ case 'SET_CONSUMER_TRACK': {
68
+ const { consumerId, track } = action.payload;
69
+ const consumer = state[consumerId];
70
+ const newConsumer = { ...consumer, track };
71
+ return { ...state, [consumerId]: newConsumer };
72
+ }
73
+ case 'SET_CONSUMER_SCORE': {
74
+ const { consumerId, score } = action.payload;
75
+ const consumer = state[consumerId];
76
+ if (!consumer)
77
+ return state;
78
+ const newConsumer = { ...consumer, score };
79
+ return { ...state, [consumerId]: newConsumer };
80
+ }
81
+ default: {
82
+ return state;
83
+ }
84
+ }
85
+ };
86
+ export default consumers;
87
+ //# sourceMappingURL=consumers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consumers.js","sourceRoot":"","sources":["../../../src/redux/reducers/consumers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { DataConsumersState, DataConsumer, ReduxAction } from '../types';
2
+ interface SetRoomStatePayload {
3
+ state: string;
4
+ }
5
+ interface AddDataConsumerPayload {
6
+ dataConsumer: DataConsumer;
7
+ }
8
+ interface RemoveDataConsumerPayload {
9
+ dataConsumerId: string;
10
+ }
11
+ type DataConsumersAction = ReduxAction<'SET_ROOM_STATE', SetRoomStatePayload> | ReduxAction<'ADD_DATA_CONSUMER', AddDataConsumerPayload> | ReduxAction<'REMOVE_DATA_CONSUMER', RemoveDataConsumerPayload>;
12
+ declare const dataConsumers: (state: DataConsumersState, action: DataConsumersAction) => DataConsumersState;
13
+ export default dataConsumers;
14
+ //# sourceMappingURL=dataConsumers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataConsumers.d.ts","sourceRoot":"","sources":["../../../src/redux/reducers/dataConsumers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAIzE,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,sBAAsB;IAC9B,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,UAAU,yBAAyB;IACjC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,KAAK,mBAAmB,GACpB,WAAW,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAClD,WAAW,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GACxD,WAAW,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,CAAC;AAEnE,QAAA,MAAM,aAAa,GAAI,OAAO,kBAAiC,EAAE,QAAQ,mBAAmB,KAAG,kBA4B9F,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,27 @@
1
+ const initialState = {};
2
+ const dataConsumers = (state = initialState, action) => {
3
+ switch (action.type) {
4
+ case 'SET_ROOM_STATE': {
5
+ const roomState = action.payload.state;
6
+ if (roomState === 'closed')
7
+ return {};
8
+ else
9
+ return state;
10
+ }
11
+ case 'ADD_DATA_CONSUMER': {
12
+ const { dataConsumer } = action.payload;
13
+ return { ...state, [dataConsumer.id]: dataConsumer };
14
+ }
15
+ case 'REMOVE_DATA_CONSUMER': {
16
+ const { dataConsumerId } = action.payload;
17
+ const newState = { ...state };
18
+ delete newState[dataConsumerId];
19
+ return newState;
20
+ }
21
+ default: {
22
+ return state;
23
+ }
24
+ }
25
+ };
26
+ export default dataConsumers;
27
+ //# sourceMappingURL=dataConsumers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataConsumers.js","sourceRoot":"","sources":["../../../src/redux/reducers/dataConsumers.ts"],"names":[],"mappings":"AAEA,MAAM,YAAY,GAAuB,EAAE,CAAC;AAmB5C,MAAM,aAAa,GAAG,CAAC,QAA4B,YAAY,EAAE,MAA2B,EAAsB,EAAE;IACnH,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACvB,MAAM,SAAS,GAAI,MAA6D,CAAC,OAAQ,CAAC,KAAK,CAAC;YAEhG,IAAI,SAAS,KAAK,QAAQ;gBAAE,OAAO,EAAE,CAAC;;gBACjC,OAAO,KAAK,CAAC;QACnB,CAAC;QAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;YAC1B,MAAM,EAAE,YAAY,EAAE,GAAI,MAAmE,CAAC,OAAQ,CAAC;YAEvG,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC;QACtD,CAAC;QAED,KAAK,sBAAsB,CAAC,CAAC,CAAC;YAC7B,MAAM,EAAE,cAAc,EAAE,GAAI,MAAyE,CAAC,OAAQ,CAAC;YAC/G,MAAM,QAAQ,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;YAE9B,OAAO,QAAQ,CAAC,cAAc,CAAC,CAAC;YAEhC,OAAO,QAAQ,CAAC;QACjB,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;YACT,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;AACF,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { DataProducersState, DataProducer, ReduxAction } from '../types';
2
+ interface SetRoomStatePayload {
3
+ state: string;
4
+ }
5
+ interface AddDataProducerPayload {
6
+ dataProducer: DataProducer;
7
+ }
8
+ interface RemoveDataProducerPayload {
9
+ dataProducerId: string;
10
+ }
11
+ type DataProducersAction = ReduxAction<'SET_ROOM_STATE', SetRoomStatePayload> | ReduxAction<'ADD_DATA_PRODUCER', AddDataProducerPayload> | ReduxAction<'REMOVE_DATA_PRODUCER', RemoveDataProducerPayload>;
12
+ declare const dataProducers: (state: DataProducersState, action: DataProducersAction) => DataProducersState;
13
+ export default dataProducers;
14
+ //# sourceMappingURL=dataProducers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataProducers.d.ts","sourceRoot":"","sources":["../../../src/redux/reducers/dataProducers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAIzE,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,sBAAsB;IAC9B,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,UAAU,yBAAyB;IACjC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,KAAK,mBAAmB,GACpB,WAAW,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAClD,WAAW,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GACxD,WAAW,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,CAAC;AAEnE,QAAA,MAAM,aAAa,GAAI,OAAO,kBAAiC,EAAE,QAAQ,mBAAmB,KAAG,kBA4B9F,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,27 @@
1
+ const initialState = {};
2
+ const dataProducers = (state = initialState, action) => {
3
+ switch (action.type) {
4
+ case 'SET_ROOM_STATE': {
5
+ const roomState = action.payload.state;
6
+ if (roomState === 'closed')
7
+ return {};
8
+ else
9
+ return state;
10
+ }
11
+ case 'ADD_DATA_PRODUCER': {
12
+ const { dataProducer } = action.payload;
13
+ return { ...state, [dataProducer.id]: dataProducer };
14
+ }
15
+ case 'REMOVE_DATA_PRODUCER': {
16
+ const { dataProducerId } = action.payload;
17
+ const newState = { ...state };
18
+ delete newState[dataProducerId];
19
+ return newState;
20
+ }
21
+ default: {
22
+ return state;
23
+ }
24
+ }
25
+ };
26
+ export default dataProducers;
27
+ //# sourceMappingURL=dataProducers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataProducers.js","sourceRoot":"","sources":["../../../src/redux/reducers/dataProducers.ts"],"names":[],"mappings":"AAEA,MAAM,YAAY,GAAuB,EAAE,CAAC;AAmB5C,MAAM,aAAa,GAAG,CAAC,QAA4B,YAAY,EAAE,MAA2B,EAAsB,EAAE;IACnH,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACvB,MAAM,SAAS,GAAI,MAA6D,CAAC,OAAQ,CAAC,KAAK,CAAC;YAEhG,IAAI,SAAS,KAAK,QAAQ;gBAAE,OAAO,EAAE,CAAC;;gBACjC,OAAO,KAAK,CAAC;QACnB,CAAC;QAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;YAC1B,MAAM,EAAE,YAAY,EAAE,GAAI,MAAmE,CAAC,OAAQ,CAAC;YAEvG,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC;QACtD,CAAC;QAED,KAAK,sBAAsB,CAAC,CAAC,CAAC;YAC7B,MAAM,EAAE,cAAc,EAAE,GAAI,MAAyE,CAAC,OAAQ,CAAC;YAC/G,MAAM,QAAQ,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;YAE9B,OAAO,QAAQ,CAAC,cAAc,CAAC,CAAC;YAEhC,OAAO,QAAQ,CAAC;QACjB,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;YACT,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;AACF,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,7 @@
1
+ declare const reducers: import("redux").Reducer<{
2
+ [x: string]: unknown;
3
+ }, import("redux").Action<string>, Partial<{
4
+ [x: string]: unknown;
5
+ }>>;
6
+ export default reducers;
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/redux/reducers/index.ts"],"names":[],"mappings":"AAWA,QAAA,MAAM,QAAQ;;;;GASL,CAAC;AAEV,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { combineReducers } from 'redux';
2
+ import room from './room';
3
+ import me from './me';
4
+ import producers from './producers';
5
+ import dataProducers from './dataProducers';
6
+ import peers from './peers';
7
+ import consumers from './consumers';
8
+ import dataConsumers from './dataConsumers';
9
+ import notifications from './notifications';
10
+ const reducers = combineReducers({
11
+ room,
12
+ me,
13
+ producers,
14
+ dataProducers,
15
+ peers,
16
+ consumers,
17
+ dataConsumers,
18
+ notifications,
19
+ });
20
+ export default reducers;
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/redux/reducers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,EAAE,MAAM,MAAM,CAAC;AACtB,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAG5C,MAAM,QAAQ,GAAG,eAAe,CAAC;IAChC,IAAI;IACJ,EAAE;IACF,SAAS;IACT,aAAa;IACb,KAAK;IACL,SAAS;IACT,aAAa;IACb,aAAa;CACN,CAAC,CAAC;AAEV,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,39 @@
1
+ import { MeState, Device, ReduxAction } from '../types';
2
+ interface SetRoomStatePayload {
3
+ state: string;
4
+ }
5
+ interface SetMePayload {
6
+ peerId: string;
7
+ displayName: string;
8
+ displayNameSet: boolean;
9
+ device: Device;
10
+ }
11
+ interface SetMediaCapabilitiesPayload {
12
+ canSendMic: boolean;
13
+ canSendWebcam: boolean;
14
+ }
15
+ interface SetWebcamInProgressPayload {
16
+ flag: boolean;
17
+ }
18
+ interface SetShareInProgressPayload {
19
+ flag: boolean;
20
+ }
21
+ interface SetDisplayNamePayload {
22
+ displayName: string;
23
+ }
24
+ interface SetAudioOnlyStatePayload {
25
+ enabled: boolean;
26
+ }
27
+ interface SetAudioOnlyInProgressPayload {
28
+ flag: boolean;
29
+ }
30
+ interface SetAudioMutedStatePayload {
31
+ enabled: boolean;
32
+ }
33
+ interface SetRestartIceInProgressPayload {
34
+ flag: boolean;
35
+ }
36
+ type MeAction = ReduxAction<'SET_ROOM_STATE', SetRoomStatePayload> | ReduxAction<'SET_ME', SetMePayload> | ReduxAction<'SET_MEDIA_CAPABILITIES', SetMediaCapabilitiesPayload> | ReduxAction<'SET_CAN_CHANGE_WEBCAM', boolean> | ReduxAction<'SET_WEBCAM_IN_PROGRESS', SetWebcamInProgressPayload> | ReduxAction<'SET_SHARE_IN_PROGRESS', SetShareInProgressPayload> | ReduxAction<'SET_DISPLAY_NAME', SetDisplayNamePayload> | ReduxAction<'SET_AUDIO_ONLY_STATE', SetAudioOnlyStatePayload> | ReduxAction<'SET_AUDIO_ONLY_IN_PROGRESS', SetAudioOnlyInProgressPayload> | ReduxAction<'SET_AUDIO_MUTED_STATE', SetAudioMutedStatePayload> | ReduxAction<'SET_RESTART_ICE_IN_PROGRESS', SetRestartIceInProgressPayload>;
37
+ declare const me: (state: MeState, action: MeAction) => MeState;
38
+ export default me;
39
+ //# sourceMappingURL=me.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"me.d.ts","sourceRoot":"","sources":["../../../src/redux/reducers/me.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAkBxD,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,YAAY;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,2BAA2B;IACnC,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;CACxB;AAMD,UAAU,0BAA0B;IAClC,IAAI,EAAE,OAAO,CAAC;CACf;AAED,UAAU,yBAAyB;IACjC,IAAI,EAAE,OAAO,CAAC;CACf;AAED,UAAU,qBAAqB;IAC7B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,wBAAwB;IAChC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,UAAU,6BAA6B;IACrC,IAAI,EAAE,OAAO,CAAC;CACf;AAED,UAAU,yBAAyB;IACjC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,UAAU,8BAA8B;IACtC,IAAI,EAAE,OAAO,CAAC;CACf;AAED,KAAK,QAAQ,GACT,WAAW,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAClD,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC,GACnC,WAAW,CAAC,wBAAwB,EAAE,2BAA2B,CAAC,GAClE,WAAW,CAAC,uBAAuB,EAAE,OAAO,CAAC,GAC7C,WAAW,CAAC,wBAAwB,EAAE,0BAA0B,CAAC,GACjE,WAAW,CAAC,uBAAuB,EAAE,yBAAyB,CAAC,GAC/D,WAAW,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GACtD,WAAW,CAAC,sBAAsB,EAAE,wBAAwB,CAAC,GAC7D,WAAW,CAAC,4BAA4B,EAAE,6BAA6B,CAAC,GACxE,WAAW,CAAC,uBAAuB,EAAE,yBAAyB,CAAC,GAC/D,WAAW,CAAC,6BAA6B,EAAE,8BAA8B,CAAC,CAAC;AAE/E,QAAA,MAAM,EAAE,GAAI,OAAO,OAAsB,EAAE,QAAQ,QAAQ,KAAG,OAsF7D,CAAC;AAEF,eAAe,EAAE,CAAC"}
@@ -0,0 +1,83 @@
1
+ const initialState = {
2
+ id: null,
3
+ displayName: null,
4
+ displayNameSet: false,
5
+ device: null,
6
+ canSendMic: false,
7
+ canSendWebcam: false,
8
+ canChangeWebcam: false,
9
+ webcamInProgress: false,
10
+ shareInProgress: false,
11
+ audioOnly: false,
12
+ audioOnlyInProgress: false,
13
+ audioMuted: false,
14
+ restartIceInProgress: false,
15
+ };
16
+ const me = (state = initialState, action) => {
17
+ switch (action.type) {
18
+ case 'SET_ROOM_STATE': {
19
+ const roomState = action.payload.state;
20
+ if (roomState === 'closed') {
21
+ return {
22
+ ...state,
23
+ webcamInProgress: false,
24
+ shareInProgress: false,
25
+ audioOnly: false,
26
+ audioOnlyInProgress: false,
27
+ audioMuted: false,
28
+ restartIceInProgress: false,
29
+ };
30
+ }
31
+ else {
32
+ return state;
33
+ }
34
+ }
35
+ case 'SET_ME': {
36
+ const { peerId, displayName, displayNameSet, device } = action.payload;
37
+ return { ...state, id: peerId, displayName, displayNameSet, device };
38
+ }
39
+ case 'SET_MEDIA_CAPABILITIES': {
40
+ const { canSendMic, canSendWebcam } = action.payload;
41
+ return { ...state, canSendMic, canSendWebcam };
42
+ }
43
+ case 'SET_CAN_CHANGE_WEBCAM': {
44
+ const canChangeWebcam = action.payload;
45
+ return { ...state, canChangeWebcam };
46
+ }
47
+ case 'SET_WEBCAM_IN_PROGRESS': {
48
+ const { flag } = action.payload;
49
+ return { ...state, webcamInProgress: flag };
50
+ }
51
+ case 'SET_SHARE_IN_PROGRESS': {
52
+ const { flag } = action.payload;
53
+ return { ...state, shareInProgress: flag };
54
+ }
55
+ case 'SET_DISPLAY_NAME': {
56
+ let { displayName } = action.payload;
57
+ // Be ready for undefined displayName (so keep previous one).
58
+ if (!displayName)
59
+ displayName = state.displayName || '';
60
+ return { ...state, displayName, displayNameSet: true };
61
+ }
62
+ case 'SET_AUDIO_ONLY_STATE': {
63
+ const { enabled } = action.payload;
64
+ return { ...state, audioOnly: enabled };
65
+ }
66
+ case 'SET_AUDIO_ONLY_IN_PROGRESS': {
67
+ const { flag } = action.payload;
68
+ return { ...state, audioOnlyInProgress: flag };
69
+ }
70
+ case 'SET_AUDIO_MUTED_STATE': {
71
+ const { enabled } = action.payload;
72
+ return { ...state, audioMuted: enabled };
73
+ }
74
+ case 'SET_RESTART_ICE_IN_PROGRESS': {
75
+ const { flag } = action.payload;
76
+ return { ...state, restartIceInProgress: flag };
77
+ }
78
+ default:
79
+ return state;
80
+ }
81
+ };
82
+ export default me;
83
+ //# sourceMappingURL=me.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"me.js","sourceRoot":"","sources":["../../../src/redux/reducers/me.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { NotificationsState, Notification, ReduxAction } from '../types';
2
+ interface AddNotificationPayload {
3
+ notification: Notification;
4
+ }
5
+ interface RemoveNotificationPayload {
6
+ notificationId: string;
7
+ }
8
+ type NotificationsAction = ReduxAction<'ADD_NOTIFICATION', AddNotificationPayload> | ReduxAction<'REMOVE_NOTIFICATION', RemoveNotificationPayload> | ReduxAction<'REMOVE_ALL_NOTIFICATIONS', undefined>;
9
+ declare const notifications: (state: NotificationsState, action: NotificationsAction) => NotificationsState;
10
+ export default notifications;
11
+ //# sourceMappingURL=notifications.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../../../src/redux/reducers/notifications.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAIzE,UAAU,sBAAsB;IAC9B,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,UAAU,yBAAyB;IACjC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,KAAK,mBAAmB,GACpB,WAAW,CAAC,kBAAkB,EAAE,sBAAsB,CAAC,GACvD,WAAW,CAAC,qBAAqB,EAAE,yBAAyB,CAAC,GAC7D,WAAW,CAAC,0BAA0B,EAAE,SAAS,CAAC,CAAC;AAEvD,QAAA,MAAM,aAAa,GAAI,OAAO,kBAAiC,EAAE,QAAQ,mBAAmB,KAAG,kBAqB9F,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,20 @@
1
+ const initialState = [];
2
+ const notifications = (state = initialState, action) => {
3
+ switch (action.type) {
4
+ case 'ADD_NOTIFICATION': {
5
+ const { notification } = action.payload;
6
+ return [...state, notification];
7
+ }
8
+ case 'REMOVE_NOTIFICATION': {
9
+ const { notificationId } = action.payload;
10
+ return state.filter(notification => notification.id !== notificationId);
11
+ }
12
+ case 'REMOVE_ALL_NOTIFICATIONS': {
13
+ return [];
14
+ }
15
+ default:
16
+ return state;
17
+ }
18
+ };
19
+ export default notifications;
20
+ //# sourceMappingURL=notifications.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../../src/redux/reducers/notifications.ts"],"names":[],"mappings":"AAEA,MAAM,YAAY,GAAuB,EAAE,CAAC;AAe5C,MAAM,aAAa,GAAG,CAAC,QAA4B,YAAY,EAAE,MAA2B,EAAsB,EAAE;IACnH,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACzB,MAAM,EAAE,YAAY,EAAE,GAAI,MAAkE,CAAC,OAAQ,CAAC;YAEtG,OAAO,CAAC,GAAG,KAAK,EAAE,YAAY,CAAC,CAAC;QACjC,CAAC;QAED,KAAK,qBAAqB,CAAC,CAAC,CAAC;YAC5B,MAAM,EAAE,cAAc,EAAE,GAAI,MAAwE,CAAC,OAAQ,CAAC;YAE9G,OAAO,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,KAAK,cAAc,CAAC,CAAC;QACzE,CAAC;QAED,KAAK,0BAA0B,CAAC,CAAC,CAAC;YACjC,OAAO,EAAE,CAAC;QACX,CAAC;QAED;YACC,OAAO,KAAK,CAAC;IACf,CAAC;AACF,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { Peer, PeersState, ReduxAction, Consumer, DataConsumer } from '../types';
2
+ interface SetRoomStatePayload {
3
+ state: string;
4
+ }
5
+ interface AddPeerPayload {
6
+ peer: Peer;
7
+ }
8
+ interface RemovePeerPayload {
9
+ peerId: string;
10
+ }
11
+ interface SetPeerDisplayNamePayload {
12
+ peerId: string;
13
+ displayName: string;
14
+ }
15
+ interface AddConsumerPayload {
16
+ peerId: string;
17
+ consumer: Consumer;
18
+ }
19
+ interface RemoveConsumerPayload {
20
+ peerId: string;
21
+ consumerId: string;
22
+ }
23
+ interface AddDataConsumerPayload {
24
+ peerId?: string;
25
+ dataConsumer: DataConsumer;
26
+ }
27
+ interface RemoveDataConsumerPayload {
28
+ peerId?: string;
29
+ dataConsumerId: string;
30
+ }
31
+ type PeersAction = ReduxAction<'SET_ROOM_STATE', SetRoomStatePayload> | ReduxAction<'ADD_PEER', AddPeerPayload> | ReduxAction<'REMOVE_PEER', RemovePeerPayload> | ReduxAction<'SET_PEER_DISPLAY_NAME', SetPeerDisplayNamePayload> | ReduxAction<'ADD_CONSUMER', AddConsumerPayload> | ReduxAction<'REMOVE_CONSUMER', RemoveConsumerPayload> | ReduxAction<'ADD_DATA_CONSUMER', AddDataConsumerPayload> | ReduxAction<'REMOVE_DATA_CONSUMER', RemoveDataConsumerPayload>;
32
+ declare const peers: (state: PeersState, action: PeersAction) => PeersState;
33
+ export default peers;
34
+ //# sourceMappingURL=peers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"peers.d.ts","sourceRoot":"","sources":["../../../src/redux/reducers/peers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAIjF,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,cAAc;IACtB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,UAAU,iBAAiB;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,yBAAyB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,kBAAkB;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,UAAU,qBAAqB;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,sBAAsB;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,UAAU,yBAAyB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,KAAK,WAAW,GACZ,WAAW,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAClD,WAAW,CAAC,UAAU,EAAE,cAAc,CAAC,GACvC,WAAW,CAAC,aAAa,EAAE,iBAAiB,CAAC,GAC7C,WAAW,CAAC,uBAAuB,EAAE,yBAAyB,CAAC,GAC/D,WAAW,CAAC,cAAc,EAAE,kBAAkB,CAAC,GAC/C,WAAW,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,GACrD,WAAW,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GACxD,WAAW,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,CAAC;AAEnE,QAAA,MAAM,KAAK,GAAI,OAAO,UAAyB,EAAE,QAAQ,WAAW,KAAG,UA+GtE,CAAC;AAEF,eAAe,KAAK,CAAC"}