UNPKG

@applicaster/zapp-react-native-ui-components

Version:

Applicaster Zapp React Native ui components for the Quick Brick App

36 lines (30 loc) 919 B
import * as R from "ramda"; import { createContext } from "@applicaster/zapp-react-native-utils/reactUtils/createContext"; import { noop } from "@applicaster/zapp-react-native-utils/functionUtils"; const DISPLAY_STATE_PROPERTY = "displayState"; const RESET_HUD_TIMER_PROPERTY = "resetHudTimer"; export const DISPLAY_STATES = { DEFAULT: "DEFAULT", HUD: "HUD", PLAYER: "PLAYER", }; const initialContext = { [DISPLAY_STATE_PROPERTY]: DISPLAY_STATES.DEFAULT, [RESET_HUD_TIMER_PROPERTY]: noop, }; const stateValidator = R.cond([ [ R.propEq("property", DISPLAY_STATE_PROPERTY), R.compose( (R.includes || R.contains)(R.__, R.values(DISPLAY_STATES)), R.prop("value") ), ], // TODO: properly validate this // [R.propEq("property", RESET_HUD_TIMER_PROPERTY), R.is(Function)], [R.T, R.T], ]); export const DisplayStateContext = createContext( initialContext, stateValidator );