react-native-svg
Version:
SVG library for react-native
40 lines (32 loc) • 1.2 kB
JavaScript
import { responderProps, touchableProps } from "../props";
import _ from "lodash";
export default function(props, ref) {
const extractedProps = {};
_.forEach(responderProps, (v, key) => {
const value = props[key];
if (props[key]) {
if (!extractedProps.responsible && key !== "pointerEvents") {
extractedProps.responsible = true;
}
extractedProps[key] = value;
}
});
_.every(touchableProps, (v, key) => {
if (!props[key]) {
return true;
}
extractedProps.responsible = true;
Object.assign(extractedProps, {
onStartShouldSetResponder:
ref.touchableHandleStartShouldSetResponder,
onResponderTerminationRequest:
ref.touchableHandleResponderTerminationRequest,
onResponderGrant: ref.touchableHandleResponderGrant,
onResponderMove: ref.touchableHandleResponderMove,
onResponderRelease: ref.touchableHandleResponderRelease,
onResponderTerminate: ref.touchableHandleResponderTerminate,
});
return false;
});
return extractedProps;
}