@100mslive/react-native-hms 1.9.10 → 1.9.11
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/lib/commonjs/classes/HMSInteractivityCenter.js +7 -1
- package/lib/commonjs/classes/HMSInteractivityCenter.js.map +1 -1
- package/lib/commonjs/classes/polls/HMSPollCreateParams.js.map +1 -1
- package/lib/module/classes/HMSInteractivityCenter.js +7 -1
- package/lib/module/classes/HMSInteractivityCenter.js.map +1 -1
- package/lib/module/classes/polls/HMSPollCreateParams.js.map +1 -1
- package/lib/typescript/classes/polls/HMSPollCreateParams.d.ts +4 -1
- package/package.json +1 -1
- package/src/classes/HMSInteractivityCenter.ts +12 -1
- package/src/classes/polls/HMSPollCreateParams.ts +3 -2
|
@@ -11,6 +11,7 @@ var _HMSLogger = require("./HMSLogger");
|
|
|
11
11
|
var _HMSPollsListenerActions = require("./HMSPollsListenerActions");
|
|
12
12
|
var _HMSNativeEventListener = _interopRequireDefault(require("./HMSNativeEventListener"));
|
|
13
13
|
var _HMSInteractivityEncoder = require("./HMSInteractivityEncoder");
|
|
14
|
+
var _HMSHelper = require("./HMSHelper");
|
|
14
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
16
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
16
17
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
|
@@ -65,8 +66,13 @@ class HMSInteractivityCenter {
|
|
|
65
66
|
* @param pollParams
|
|
66
67
|
*/
|
|
67
68
|
async startPoll(pollParams) {
|
|
68
|
-
const
|
|
69
|
+
const transformedPollParams = {
|
|
69
70
|
...pollParams,
|
|
71
|
+
rolesThatCanVote: pollParams.rolesThatCanVote ? _HMSHelper.HMSHelper.getRoleNames(pollParams.rolesThatCanVote) : undefined,
|
|
72
|
+
rolesThatCanViewResponses: pollParams.rolesThatCanViewResponses ? _HMSHelper.HMSHelper.getRoleNames(pollParams.rolesThatCanViewResponses) : undefined
|
|
73
|
+
};
|
|
74
|
+
const data = {
|
|
75
|
+
...transformedPollParams,
|
|
70
76
|
id: _HMSConstants.HMSConstants.DEFAULT_SDK_ID
|
|
71
77
|
};
|
|
72
78
|
_HMSLogger.logger === null || _HMSLogger.logger === void 0 || _HMSLogger.logger.verbose('#Function startPoll', JSON.stringify(data));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_utils","require","_HMSManagerModule","_interopRequireDefault","_HMSConstants","_HMSLogger","_HMSPollsListenerActions","_HMSNativeEventListener","_HMSInteractivityEncoder","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","pollUpdateSubscription","registerPollUpdateListener","listener","HMSNativeEventListener","addListener","HMSConstants","DEFAULT_SDK_ID","HMSPollsListenerActions","ON_POLL_UPDATE","unregisterPollUpdateListener","remove","HMSInteractivityCenter","constructor","EventEmitter","args","updatedPoll","update","logger","verbose","_eventEmitter","emit","HMSInteractivityEncoder","transformPoll","registerOnAllListenersRemoved","_onAllPollUpdateListenerRemoved","addPollUpdateListener","_pollUpdateListener","startPoll","pollParams","data","id","JSON","stringify","HMSManager","quickStartPoll","add","pollQuestionResponseParams","addResponseOnPollQuestion","stop","pollId","stopPoll","exports"],"sources":["HMSInteractivityCenter.ts"],"sourcesContent":["import { EventEmitter } from '../utils';\nimport HMSManager from '../modules/HMSManagerModule';\nimport { HMSConstants } from './HMSConstants';\nimport { logger } from './HMSLogger';\nimport type { HMSPoll } from './polls/HMSPoll';\nimport type { HMSPollCreateParams } from './polls/HMSPollCreateParams';\nimport type { HMSPollUpdateType } from './polls/HMSPollUpdateType';\nimport { HMSPollsListenerActions } from './HMSPollsListenerActions';\nimport HMSNativeEventListener from './HMSNativeEventListener';\nimport type { HMSEventSubscription } from './HMSNativeEventEmitter';\nimport { HMSInteractivityEncoder } from './HMSInteractivityEncoder';\n\ntype PollUpdateListener = (data: {\n updatedPoll: HMSPoll;\n update: HMSPollUpdateType;\n}) => void;\n\ntype PollQuestionResponseCreateParams = {\n pollId: string;\n pollQuestionIndex: number;\n responses:\n | {\n text: string;\n duration?: number;\n }\n | {\n options: number[];\n duration?: number;\n };\n};\n\nlet pollUpdateSubscription: null | HMSEventSubscription = null;\n\nfunction registerPollUpdateListener(listener: PollUpdateListener) {\n if (pollUpdateSubscription !== null) {\n return;\n }\n pollUpdateSubscription = HMSNativeEventListener.addListener(\n HMSConstants.DEFAULT_SDK_ID,\n HMSPollsListenerActions.ON_POLL_UPDATE,\n listener\n );\n}\n\nfunction unregisterPollUpdateListener() {\n if (pollUpdateSubscription === null) {\n return;\n }\n pollUpdateSubscription.remove();\n pollUpdateSubscription = null;\n}\n\nexport class HMSInteractivityCenter {\n private _eventEmitter = new EventEmitter();\n\n private _pollUpdateListener = (...args: Parameters<PollUpdateListener>) => {\n const { updatedPoll, update } = args[0];\n logger?.verbose('#Listener ON_POLL_UPDATE', {\n update,\n updatedPoll,\n });\n this._eventEmitter.emit(\n HMSPollsListenerActions.ON_POLL_UPDATE,\n HMSInteractivityEncoder.transformPoll(updatedPoll),\n update\n );\n };\n\n private _onAllPollUpdateListenerRemoved = () => {\n unregisterPollUpdateListener();\n };\n\n constructor() {\n this._eventEmitter.registerOnAllListenersRemoved(\n this._onAllPollUpdateListenerRemoved\n );\n }\n\n /**\n * Adds a listener for poll updates\n * @param listener - Callback to be called when a poll is updated\n * @returns HMSEventSubscription\n */\n addPollUpdateListener(\n listener: (updatedPoll: HMSPoll, update: HMSPollUpdateType) => void\n ) {\n registerPollUpdateListener(this._pollUpdateListener);\n return this._eventEmitter.addListener(\n HMSPollsListenerActions.ON_POLL_UPDATE,\n listener,\n null\n );\n }\n\n /**\n * Starts a poll\n *\n * @param pollParams\n */\n async startPoll(pollParams: HMSPollCreateParams) {\n const
|
|
1
|
+
{"version":3,"names":["_utils","require","_HMSManagerModule","_interopRequireDefault","_HMSConstants","_HMSLogger","_HMSPollsListenerActions","_HMSNativeEventListener","_HMSInteractivityEncoder","_HMSHelper","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","pollUpdateSubscription","registerPollUpdateListener","listener","HMSNativeEventListener","addListener","HMSConstants","DEFAULT_SDK_ID","HMSPollsListenerActions","ON_POLL_UPDATE","unregisterPollUpdateListener","remove","HMSInteractivityCenter","constructor","EventEmitter","args","updatedPoll","update","logger","verbose","_eventEmitter","emit","HMSInteractivityEncoder","transformPoll","registerOnAllListenersRemoved","_onAllPollUpdateListenerRemoved","addPollUpdateListener","_pollUpdateListener","startPoll","pollParams","transformedPollParams","rolesThatCanVote","HMSHelper","getRoleNames","undefined","rolesThatCanViewResponses","data","id","JSON","stringify","HMSManager","quickStartPoll","add","pollQuestionResponseParams","addResponseOnPollQuestion","stop","pollId","stopPoll","exports"],"sources":["HMSInteractivityCenter.ts"],"sourcesContent":["import { EventEmitter } from '../utils';\nimport HMSManager from '../modules/HMSManagerModule';\nimport { HMSConstants } from './HMSConstants';\nimport { logger } from './HMSLogger';\nimport type { HMSPoll } from './polls/HMSPoll';\nimport type { HMSPollCreateParams } from './polls/HMSPollCreateParams';\nimport type { HMSPollUpdateType } from './polls/HMSPollUpdateType';\nimport { HMSPollsListenerActions } from './HMSPollsListenerActions';\nimport HMSNativeEventListener from './HMSNativeEventListener';\nimport type { HMSEventSubscription } from './HMSNativeEventEmitter';\nimport { HMSInteractivityEncoder } from './HMSInteractivityEncoder';\nimport { HMSHelper } from './HMSHelper';\n\ntype PollUpdateListener = (data: {\n updatedPoll: HMSPoll;\n update: HMSPollUpdateType;\n}) => void;\n\ntype PollQuestionResponseCreateParams = {\n pollId: string;\n pollQuestionIndex: number;\n responses:\n | {\n text: string;\n duration?: number;\n }\n | {\n options: number[];\n duration?: number;\n };\n};\n\nlet pollUpdateSubscription: null | HMSEventSubscription = null;\n\nfunction registerPollUpdateListener(listener: PollUpdateListener) {\n if (pollUpdateSubscription !== null) {\n return;\n }\n pollUpdateSubscription = HMSNativeEventListener.addListener(\n HMSConstants.DEFAULT_SDK_ID,\n HMSPollsListenerActions.ON_POLL_UPDATE,\n listener\n );\n}\n\nfunction unregisterPollUpdateListener() {\n if (pollUpdateSubscription === null) {\n return;\n }\n pollUpdateSubscription.remove();\n pollUpdateSubscription = null;\n}\n\nexport class HMSInteractivityCenter {\n private _eventEmitter = new EventEmitter();\n\n private _pollUpdateListener = (...args: Parameters<PollUpdateListener>) => {\n const { updatedPoll, update } = args[0];\n logger?.verbose('#Listener ON_POLL_UPDATE', {\n update,\n updatedPoll,\n });\n this._eventEmitter.emit(\n HMSPollsListenerActions.ON_POLL_UPDATE,\n HMSInteractivityEncoder.transformPoll(updatedPoll),\n update\n );\n };\n\n private _onAllPollUpdateListenerRemoved = () => {\n unregisterPollUpdateListener();\n };\n\n constructor() {\n this._eventEmitter.registerOnAllListenersRemoved(\n this._onAllPollUpdateListenerRemoved\n );\n }\n\n /**\n * Adds a listener for poll updates\n * @param listener - Callback to be called when a poll is updated\n * @returns HMSEventSubscription\n */\n addPollUpdateListener(\n listener: (updatedPoll: HMSPoll, update: HMSPollUpdateType) => void\n ) {\n registerPollUpdateListener(this._pollUpdateListener);\n return this._eventEmitter.addListener(\n HMSPollsListenerActions.ON_POLL_UPDATE,\n listener,\n null\n );\n }\n\n /**\n * Starts a poll\n *\n * @param pollParams\n */\n async startPoll(pollParams: HMSPollCreateParams) {\n const transformedPollParams = {\n ...pollParams,\n rolesThatCanVote: pollParams.rolesThatCanVote\n ? HMSHelper.getRoleNames(pollParams.rolesThatCanVote)\n : undefined,\n rolesThatCanViewResponses: pollParams.rolesThatCanViewResponses\n ? HMSHelper.getRoleNames(pollParams.rolesThatCanViewResponses)\n : undefined,\n };\n\n const data = {\n ...transformedPollParams,\n id: HMSConstants.DEFAULT_SDK_ID,\n };\n logger?.verbose('#Function startPoll', JSON.stringify(data));\n return HMSManager.quickStartPoll(data);\n }\n\n async add(pollQuestionResponseParams: PollQuestionResponseCreateParams) {\n const data = {\n ...pollQuestionResponseParams,\n id: HMSConstants.DEFAULT_SDK_ID,\n };\n logger?.verbose('#Function add', JSON.stringify(data));\n return HMSManager.addResponseOnPollQuestion(data);\n }\n\n async stop(pollId: string) {\n const data = {\n id: HMSConstants.DEFAULT_SDK_ID,\n pollId,\n };\n logger?.verbose('#Function stop', JSON.stringify(data));\n return HMSManager.stopPoll(data);\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["HMSPollCreateParams.ts"],"sourcesContent":["import type { HMSPoll } from './HMSPoll';\nimport type { HMSPollQuestionCreateParams } from './HMSPollQuestionCreateParams';\n\nexport interface HMSPollCreateParams\n extends Pick<\n HMSPoll,\n | 'title'\n | 'type'\n | 'duration'\n | 'anonymous'\n // | 'visibility'\n // | 'locked'\n | 'mode'\n
|
|
1
|
+
{"version":3,"names":[],"sources":["HMSPollCreateParams.ts"],"sourcesContent":["import type { HMSRole } from '../HMSRole';\nimport type { HMSPoll } from './HMSPoll';\nimport type { HMSPollQuestionCreateParams } from './HMSPollQuestionCreateParams';\n\nexport interface HMSPollCreateParams\n extends Pick<\n HMSPoll,\n | 'title'\n | 'type'\n | 'duration'\n | 'anonymous'\n // | 'visibility'\n // | 'locked'\n | 'mode'\n > {\n pollId?: HMSPoll['pollId'];\n questions?: HMSPollQuestionCreateParams[];\n rolesThatCanVote?: HMSRole[];\n rolesThatCanViewResponses?: HMSRole[];\n}\n"],"mappings":""}
|
|
@@ -8,6 +8,7 @@ import { logger } from './HMSLogger';
|
|
|
8
8
|
import { HMSPollsListenerActions } from './HMSPollsListenerActions';
|
|
9
9
|
import HMSNativeEventListener from './HMSNativeEventListener';
|
|
10
10
|
import { HMSInteractivityEncoder } from './HMSInteractivityEncoder';
|
|
11
|
+
import { HMSHelper } from './HMSHelper';
|
|
11
12
|
let pollUpdateSubscription = null;
|
|
12
13
|
function registerPollUpdateListener(listener) {
|
|
13
14
|
if (pollUpdateSubscription !== null) {
|
|
@@ -58,8 +59,13 @@ export class HMSInteractivityCenter {
|
|
|
58
59
|
* @param pollParams
|
|
59
60
|
*/
|
|
60
61
|
async startPoll(pollParams) {
|
|
61
|
-
const
|
|
62
|
+
const transformedPollParams = {
|
|
62
63
|
...pollParams,
|
|
64
|
+
rolesThatCanVote: pollParams.rolesThatCanVote ? HMSHelper.getRoleNames(pollParams.rolesThatCanVote) : undefined,
|
|
65
|
+
rolesThatCanViewResponses: pollParams.rolesThatCanViewResponses ? HMSHelper.getRoleNames(pollParams.rolesThatCanViewResponses) : undefined
|
|
66
|
+
};
|
|
67
|
+
const data = {
|
|
68
|
+
...transformedPollParams,
|
|
63
69
|
id: HMSConstants.DEFAULT_SDK_ID
|
|
64
70
|
};
|
|
65
71
|
logger === null || logger === void 0 || logger.verbose('#Function startPoll', JSON.stringify(data));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["EventEmitter","HMSManager","HMSConstants","logger","HMSPollsListenerActions","HMSNativeEventListener","HMSInteractivityEncoder","pollUpdateSubscription","registerPollUpdateListener","listener","addListener","DEFAULT_SDK_ID","ON_POLL_UPDATE","unregisterPollUpdateListener","remove","HMSInteractivityCenter","constructor","_defineProperty","args","updatedPoll","update","verbose","_eventEmitter","emit","transformPoll","registerOnAllListenersRemoved","_onAllPollUpdateListenerRemoved","addPollUpdateListener","_pollUpdateListener","startPoll","pollParams","data","id","JSON","stringify","quickStartPoll","add","pollQuestionResponseParams","addResponseOnPollQuestion","stop","pollId","stopPoll"],"sources":["HMSInteractivityCenter.ts"],"sourcesContent":["import { EventEmitter } from '../utils';\nimport HMSManager from '../modules/HMSManagerModule';\nimport { HMSConstants } from './HMSConstants';\nimport { logger } from './HMSLogger';\nimport type { HMSPoll } from './polls/HMSPoll';\nimport type { HMSPollCreateParams } from './polls/HMSPollCreateParams';\nimport type { HMSPollUpdateType } from './polls/HMSPollUpdateType';\nimport { HMSPollsListenerActions } from './HMSPollsListenerActions';\nimport HMSNativeEventListener from './HMSNativeEventListener';\nimport type { HMSEventSubscription } from './HMSNativeEventEmitter';\nimport { HMSInteractivityEncoder } from './HMSInteractivityEncoder';\n\ntype PollUpdateListener = (data: {\n updatedPoll: HMSPoll;\n update: HMSPollUpdateType;\n}) => void;\n\ntype PollQuestionResponseCreateParams = {\n pollId: string;\n pollQuestionIndex: number;\n responses:\n | {\n text: string;\n duration?: number;\n }\n | {\n options: number[];\n duration?: number;\n };\n};\n\nlet pollUpdateSubscription: null | HMSEventSubscription = null;\n\nfunction registerPollUpdateListener(listener: PollUpdateListener) {\n if (pollUpdateSubscription !== null) {\n return;\n }\n pollUpdateSubscription = HMSNativeEventListener.addListener(\n HMSConstants.DEFAULT_SDK_ID,\n HMSPollsListenerActions.ON_POLL_UPDATE,\n listener\n );\n}\n\nfunction unregisterPollUpdateListener() {\n if (pollUpdateSubscription === null) {\n return;\n }\n pollUpdateSubscription.remove();\n pollUpdateSubscription = null;\n}\n\nexport class HMSInteractivityCenter {\n private _eventEmitter = new EventEmitter();\n\n private _pollUpdateListener = (...args: Parameters<PollUpdateListener>) => {\n const { updatedPoll, update } = args[0];\n logger?.verbose('#Listener ON_POLL_UPDATE', {\n update,\n updatedPoll,\n });\n this._eventEmitter.emit(\n HMSPollsListenerActions.ON_POLL_UPDATE,\n HMSInteractivityEncoder.transformPoll(updatedPoll),\n update\n );\n };\n\n private _onAllPollUpdateListenerRemoved = () => {\n unregisterPollUpdateListener();\n };\n\n constructor() {\n this._eventEmitter.registerOnAllListenersRemoved(\n this._onAllPollUpdateListenerRemoved\n );\n }\n\n /**\n * Adds a listener for poll updates\n * @param listener - Callback to be called when a poll is updated\n * @returns HMSEventSubscription\n */\n addPollUpdateListener(\n listener: (updatedPoll: HMSPoll, update: HMSPollUpdateType) => void\n ) {\n registerPollUpdateListener(this._pollUpdateListener);\n return this._eventEmitter.addListener(\n HMSPollsListenerActions.ON_POLL_UPDATE,\n listener,\n null\n );\n }\n\n /**\n * Starts a poll\n *\n * @param pollParams\n */\n async startPoll(pollParams: HMSPollCreateParams) {\n const
|
|
1
|
+
{"version":3,"names":["EventEmitter","HMSManager","HMSConstants","logger","HMSPollsListenerActions","HMSNativeEventListener","HMSInteractivityEncoder","HMSHelper","pollUpdateSubscription","registerPollUpdateListener","listener","addListener","DEFAULT_SDK_ID","ON_POLL_UPDATE","unregisterPollUpdateListener","remove","HMSInteractivityCenter","constructor","_defineProperty","args","updatedPoll","update","verbose","_eventEmitter","emit","transformPoll","registerOnAllListenersRemoved","_onAllPollUpdateListenerRemoved","addPollUpdateListener","_pollUpdateListener","startPoll","pollParams","transformedPollParams","rolesThatCanVote","getRoleNames","undefined","rolesThatCanViewResponses","data","id","JSON","stringify","quickStartPoll","add","pollQuestionResponseParams","addResponseOnPollQuestion","stop","pollId","stopPoll"],"sources":["HMSInteractivityCenter.ts"],"sourcesContent":["import { EventEmitter } from '../utils';\nimport HMSManager from '../modules/HMSManagerModule';\nimport { HMSConstants } from './HMSConstants';\nimport { logger } from './HMSLogger';\nimport type { HMSPoll } from './polls/HMSPoll';\nimport type { HMSPollCreateParams } from './polls/HMSPollCreateParams';\nimport type { HMSPollUpdateType } from './polls/HMSPollUpdateType';\nimport { HMSPollsListenerActions } from './HMSPollsListenerActions';\nimport HMSNativeEventListener from './HMSNativeEventListener';\nimport type { HMSEventSubscription } from './HMSNativeEventEmitter';\nimport { HMSInteractivityEncoder } from './HMSInteractivityEncoder';\nimport { HMSHelper } from './HMSHelper';\n\ntype PollUpdateListener = (data: {\n updatedPoll: HMSPoll;\n update: HMSPollUpdateType;\n}) => void;\n\ntype PollQuestionResponseCreateParams = {\n pollId: string;\n pollQuestionIndex: number;\n responses:\n | {\n text: string;\n duration?: number;\n }\n | {\n options: number[];\n duration?: number;\n };\n};\n\nlet pollUpdateSubscription: null | HMSEventSubscription = null;\n\nfunction registerPollUpdateListener(listener: PollUpdateListener) {\n if (pollUpdateSubscription !== null) {\n return;\n }\n pollUpdateSubscription = HMSNativeEventListener.addListener(\n HMSConstants.DEFAULT_SDK_ID,\n HMSPollsListenerActions.ON_POLL_UPDATE,\n listener\n );\n}\n\nfunction unregisterPollUpdateListener() {\n if (pollUpdateSubscription === null) {\n return;\n }\n pollUpdateSubscription.remove();\n pollUpdateSubscription = null;\n}\n\nexport class HMSInteractivityCenter {\n private _eventEmitter = new EventEmitter();\n\n private _pollUpdateListener = (...args: Parameters<PollUpdateListener>) => {\n const { updatedPoll, update } = args[0];\n logger?.verbose('#Listener ON_POLL_UPDATE', {\n update,\n updatedPoll,\n });\n this._eventEmitter.emit(\n HMSPollsListenerActions.ON_POLL_UPDATE,\n HMSInteractivityEncoder.transformPoll(updatedPoll),\n update\n );\n };\n\n private _onAllPollUpdateListenerRemoved = () => {\n unregisterPollUpdateListener();\n };\n\n constructor() {\n this._eventEmitter.registerOnAllListenersRemoved(\n this._onAllPollUpdateListenerRemoved\n );\n }\n\n /**\n * Adds a listener for poll updates\n * @param listener - Callback to be called when a poll is updated\n * @returns HMSEventSubscription\n */\n addPollUpdateListener(\n listener: (updatedPoll: HMSPoll, update: HMSPollUpdateType) => void\n ) {\n registerPollUpdateListener(this._pollUpdateListener);\n return this._eventEmitter.addListener(\n HMSPollsListenerActions.ON_POLL_UPDATE,\n listener,\n null\n );\n }\n\n /**\n * Starts a poll\n *\n * @param pollParams\n */\n async startPoll(pollParams: HMSPollCreateParams) {\n const transformedPollParams = {\n ...pollParams,\n rolesThatCanVote: pollParams.rolesThatCanVote\n ? HMSHelper.getRoleNames(pollParams.rolesThatCanVote)\n : undefined,\n rolesThatCanViewResponses: pollParams.rolesThatCanViewResponses\n ? HMSHelper.getRoleNames(pollParams.rolesThatCanViewResponses)\n : undefined,\n };\n\n const data = {\n ...transformedPollParams,\n id: HMSConstants.DEFAULT_SDK_ID,\n };\n logger?.verbose('#Function startPoll', JSON.stringify(data));\n return HMSManager.quickStartPoll(data);\n }\n\n async add(pollQuestionResponseParams: PollQuestionResponseCreateParams) {\n const data = {\n ...pollQuestionResponseParams,\n id: HMSConstants.DEFAULT_SDK_ID,\n };\n logger?.verbose('#Function add', JSON.stringify(data));\n return HMSManager.addResponseOnPollQuestion(data);\n }\n\n async stop(pollId: string) {\n const data = {\n id: HMSConstants.DEFAULT_SDK_ID,\n pollId,\n };\n logger?.verbose('#Function stop', JSON.stringify(data));\n return HMSManager.stopPoll(data);\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["HMSPollCreateParams.ts"],"sourcesContent":["import type { HMSPoll } from './HMSPoll';\nimport type { HMSPollQuestionCreateParams } from './HMSPollQuestionCreateParams';\n\nexport interface HMSPollCreateParams\n extends Pick<\n HMSPoll,\n | 'title'\n | 'type'\n | 'duration'\n | 'anonymous'\n // | 'visibility'\n // | 'locked'\n | 'mode'\n
|
|
1
|
+
{"version":3,"names":[],"sources":["HMSPollCreateParams.ts"],"sourcesContent":["import type { HMSRole } from '../HMSRole';\nimport type { HMSPoll } from './HMSPoll';\nimport type { HMSPollQuestionCreateParams } from './HMSPollQuestionCreateParams';\n\nexport interface HMSPollCreateParams\n extends Pick<\n HMSPoll,\n | 'title'\n | 'type'\n | 'duration'\n | 'anonymous'\n // | 'visibility'\n // | 'locked'\n | 'mode'\n > {\n pollId?: HMSPoll['pollId'];\n questions?: HMSPollQuestionCreateParams[];\n rolesThatCanVote?: HMSRole[];\n rolesThatCanViewResponses?: HMSRole[];\n}\n"],"mappings":""}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
import type { HMSRole } from '../HMSRole';
|
|
1
2
|
import type { HMSPoll } from './HMSPoll';
|
|
2
3
|
import type { HMSPollQuestionCreateParams } from './HMSPollQuestionCreateParams';
|
|
3
|
-
export interface HMSPollCreateParams extends Pick<HMSPoll, 'title' | 'type' | 'duration' | 'anonymous' | 'mode'
|
|
4
|
+
export interface HMSPollCreateParams extends Pick<HMSPoll, 'title' | 'type' | 'duration' | 'anonymous' | 'mode'> {
|
|
4
5
|
pollId?: HMSPoll['pollId'];
|
|
5
6
|
questions?: HMSPollQuestionCreateParams[];
|
|
7
|
+
rolesThatCanVote?: HMSRole[];
|
|
8
|
+
rolesThatCanViewResponses?: HMSRole[];
|
|
6
9
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@100mslive/react-native-hms",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.11",
|
|
4
4
|
"description": "Integrate Real Time Audio and Video conferencing, Interactive Live Streaming, and Chat in your apps with 100ms React Native SDK. With support for HLS and RTMP Live Streaming and Recording, Picture-in-Picture (PiP), one-to-one Video Call Modes, Audio Rooms, Video Player and much more, add immersive real-time communications to your apps.",
|
|
5
5
|
"main": "lib/commonjs/index",
|
|
6
6
|
"module": "lib/module/index",
|
|
@@ -9,6 +9,7 @@ import { HMSPollsListenerActions } from './HMSPollsListenerActions';
|
|
|
9
9
|
import HMSNativeEventListener from './HMSNativeEventListener';
|
|
10
10
|
import type { HMSEventSubscription } from './HMSNativeEventEmitter';
|
|
11
11
|
import { HMSInteractivityEncoder } from './HMSInteractivityEncoder';
|
|
12
|
+
import { HMSHelper } from './HMSHelper';
|
|
12
13
|
|
|
13
14
|
type PollUpdateListener = (data: {
|
|
14
15
|
updatedPoll: HMSPoll;
|
|
@@ -98,8 +99,18 @@ export class HMSInteractivityCenter {
|
|
|
98
99
|
* @param pollParams
|
|
99
100
|
*/
|
|
100
101
|
async startPoll(pollParams: HMSPollCreateParams) {
|
|
101
|
-
const
|
|
102
|
+
const transformedPollParams = {
|
|
102
103
|
...pollParams,
|
|
104
|
+
rolesThatCanVote: pollParams.rolesThatCanVote
|
|
105
|
+
? HMSHelper.getRoleNames(pollParams.rolesThatCanVote)
|
|
106
|
+
: undefined,
|
|
107
|
+
rolesThatCanViewResponses: pollParams.rolesThatCanViewResponses
|
|
108
|
+
? HMSHelper.getRoleNames(pollParams.rolesThatCanViewResponses)
|
|
109
|
+
: undefined,
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
const data = {
|
|
113
|
+
...transformedPollParams,
|
|
103
114
|
id: HMSConstants.DEFAULT_SDK_ID,
|
|
104
115
|
};
|
|
105
116
|
logger?.verbose('#Function startPoll', JSON.stringify(data));
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { HMSRole } from '../HMSRole';
|
|
1
2
|
import type { HMSPoll } from './HMSPoll';
|
|
2
3
|
import type { HMSPollQuestionCreateParams } from './HMSPollQuestionCreateParams';
|
|
3
4
|
|
|
@@ -11,9 +12,9 @@ export interface HMSPollCreateParams
|
|
|
11
12
|
// | 'visibility'
|
|
12
13
|
// | 'locked'
|
|
13
14
|
| 'mode'
|
|
14
|
-
| 'rolesThatCanVote'
|
|
15
|
-
| 'rolesThatCanViewResponses'
|
|
16
15
|
> {
|
|
17
16
|
pollId?: HMSPoll['pollId'];
|
|
18
17
|
questions?: HMSPollQuestionCreateParams[];
|
|
18
|
+
rolesThatCanVote?: HMSRole[];
|
|
19
|
+
rolesThatCanViewResponses?: HMSRole[];
|
|
19
20
|
}
|