Some checks failed
Close stale issues and PRs / stale (push) Has been cancelled
63 lines
1.6 KiB
TypeScript
63 lines
1.6 KiB
TypeScript
import { GestureResponderEvent } from 'react-native';
|
|
|
|
import { IReduxState } from '../../../app/types';
|
|
import { isTestModeEnabled } from '../functions';
|
|
|
|
/**
|
|
* Describes the {@link TestHint}'s properties.
|
|
*
|
|
* A test hint is meant to resemble the lack of the ability to execute
|
|
* JavaScript by the mobile torture tests. They are used to expose some of
|
|
* the app's internal state that is not always expressed in a feasible manner by
|
|
* the UI.
|
|
*/
|
|
export type TestHintProps = {
|
|
|
|
/**
|
|
* The indicator which determines whether the test mode is enabled.
|
|
* {@link TestHint} Components are rendered only if this flag is set to
|
|
* {@code true}.
|
|
*/
|
|
_testModeEnabled: boolean;
|
|
|
|
/**
|
|
* The test hint's identifier string. Must be unique in the app instance
|
|
* scope.
|
|
*/
|
|
id: string;
|
|
|
|
/**
|
|
* The optional "on press" handler which can be used to bind a click handler
|
|
* to a {@link TestHint}.
|
|
*/
|
|
onPress?: (e?: GestureResponderEvent) => void;
|
|
|
|
/**
|
|
* The test hint's (text) value which is to be consumed by the tests.
|
|
*/
|
|
value: string;
|
|
};
|
|
|
|
/**
|
|
* Maps (parts of) the redux state to {@link TestHint}'s React {@code Component}
|
|
* props.
|
|
*
|
|
* @param {Object} state - The redux store/state.
|
|
* @private
|
|
* @returns {{
|
|
* _testModeEnabled: boolean
|
|
* }}
|
|
*/
|
|
export function _mapStateToProps(state: IReduxState) {
|
|
return {
|
|
|
|
/**
|
|
* The indicator which determines whether the test mode is enabled.
|
|
*
|
|
* @protected
|
|
* @type {boolean}
|
|
*/
|
|
_testModeEnabled: isTestModeEnabled(state)
|
|
};
|
|
}
|