react-native-modalfy
Version:
Modal citizen of React Native
71 lines (64 loc) • 3.81 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = validateDefaultOptions;
exports.validateStackItemOptions = validateStackItemOptions;
var _invariant = _interopRequireDefault(require("./invariant"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function validateStackItemOptions() {
let {
animationIn,
animationOut,
animateInConfig,
animateOutConfig
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
if (animationIn && animateInConfig) {
console.warn(`You should defined either 'animationIn' or 'animateInConfig' but not both at once. 'animateInConfig' will be ignored as Modalfy defaults to 'animationIn'.`);
}
if (animationOut && animateOutConfig) {
console.warn(`You should defined either 'animationOut' or 'animateOutConfig' but not both at once. 'animateOutConfig' will be ignored as Modalfy defaults to 'animationOut'.`);
}
}
function validateDefaultOptions() {
let {
position,
animationIn,
backBehavior,
animationOut,
animateInConfig,
backdropOpacity,
backdropPosition,
animateOutConfig,
transitionOptions,
pointerEventsBehavior,
backdropAnimationDuration
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
(0, _invariant.default)(!backBehavior || backBehavior && backBehavior === 'clear' || backBehavior && backBehavior === 'none' || backBehavior && backBehavior === 'pop', `backBehavior should either be 'pop', 'clear' or 'none' in createModalStack(), you provided: ${backBehavior}`);
(0, _invariant.default)(!backdropAnimationDuration || backdropAnimationDuration && typeof backdropAnimationDuration === 'number', `backdropAnimationDuration should be a number in createModalStack(), you provided: ${backdropAnimationDuration}`);
(0, _invariant.default)(!backdropOpacity || backdropOpacity && typeof backdropOpacity === 'number' && backdropOpacity >= 0 && backdropOpacity <= 1, `backdropOpacity should be a number between 0 and 1 in createModalStack(), you provided: ${backdropOpacity}`);
(0, _invariant.default)(!backdropPosition || backdropPosition && backdropPosition === 'root' || backdropPosition && backdropPosition === 'belowLatest', `backdropPosition should either be 'root' or 'belowLatest' in createModalStack(), you provided: ${backdropPosition}`);
(0, _invariant.default)(!pointerEventsBehavior || pointerEventsBehavior && pointerEventsBehavior === 'auto' || pointerEventsBehavior && pointerEventsBehavior === 'none' || pointerEventsBehavior && pointerEventsBehavior === 'current-modal-only' || pointerEventsBehavior && pointerEventsBehavior === 'current-modal-none', `pointerEventsBehavior should either be 'auto', 'none', 'current-modal-only' or 'current-modal-none' in createModalStack(), you provided: ${pointerEventsBehavior}`);
(0, _invariant.default)(!position || position && position === 'top' || position && position === 'center' || position && position === 'bottom', `position should either be 'top', 'center' or 'bottom' in createModalStack(), you provided: ${position}`);
(0, _invariant.default)(!transitionOptions || transitionOptions && typeof transitionOptions === 'function', `transitionOptions should be a function. For instance:
const defaultModalOptions = {
transitionOptions: animatedValue => ({
transform: [
{
translateY: animatedValue.interpolate({
inputRange: [0, 1],
outputRange: [100, 0],
}),
},
],
}),
}
}`);
validateStackItemOptions({
animationIn,
animationOut,
animateInConfig,
animateOutConfig
});
}
//# sourceMappingURL=validateOptions.js.map