27 lines
803 B
JavaScript
27 lines
803 B
JavaScript
|
/**
|
||
|
* Returns current domain.
|
||
|
*
|
||
|
* @param {(Function|Object)} stateOrGetState - Redux getState() method or Redux
|
||
|
* state.
|
||
|
* @returns {(string|undefined)}
|
||
|
*/
|
||
|
export function getDomain(stateOrGetState) {
|
||
|
const state
|
||
|
= typeof stateOrGetState === 'function'
|
||
|
? stateOrGetState()
|
||
|
: stateOrGetState;
|
||
|
const connection = state['features/base/connection'];
|
||
|
let domain;
|
||
|
|
||
|
try {
|
||
|
domain = connection.connectionOptions.hosts.domain;
|
||
|
} catch (e) {
|
||
|
// XXX The value of connectionOptions or any of the properties
|
||
|
// descending from it may be undefined at some point in the execution
|
||
|
// (e.g. on start). Instead of multiple checks for the undefined value,
|
||
|
// we just wrap it in a try-catch block.
|
||
|
}
|
||
|
|
||
|
return domain;
|
||
|
}
|