@applicaster/zapp-react-native-ui-components
Version:
Applicaster Zapp React Native ui components for the Quick Brick App
32 lines (24 loc) • 765 B
JavaScript
import * as R from "ramda";
import { createContext } from "@applicaster/zapp-react-native-utils/reactUtils/createContext";
// Updates main focus offset after item was focused
const UPDATE_MAIN_OFFSET_FUNC = "mainOffsetUpdater";
// Updates main screen focus item
const UPDATE_MAIN_SCREEN_FOCUS_FUNC = "mainFocusItemUpdater";
function noop() {}
const initialContext = {
mainOffsetUpdater: noop,
mainFocusItemUpdater: noop,
};
function stateValidator({ property, value }) {
if (property === UPDATE_MAIN_OFFSET_FUNC) {
return R.is(Function, value);
}
if (property === UPDATE_MAIN_SCREEN_FOCUS_FUNC) {
return R.is(Function, value);
}
return false;
}
export const ScreenScrollingContext = createContext(
initialContext,
stateValidator
);