react-toastify
Version:
React notification made easy
53 lines (40 loc) • 1.5 kB
JavaScript
exports.__esModule = true;
exports.isValidDelay = isValidDelay;
exports.objectValues = objectValues;
exports.falseOrElement = exports.falseOrDelay = void 0;
var _react = require("react");
function isValidDelay(val) {
return typeof val === 'number' && !isNaN(val) && val > 0;
}
function objectValues(obj) {
return Object.keys(obj).map(function (key) {
return obj[key];
});
}
function withRequired(fn) {
fn.isRequired = function (props, propName, componentName) {
var prop = props[propName];
if (typeof prop === 'undefined') {
return new Error("The prop " + propName + " is marked as required in \n " + componentName + ", but its value is undefined.");
}
fn(props, propName, componentName);
};
return fn;
}
var falseOrDelay = withRequired(function (props, propName, componentName) {
var prop = props[propName];
if (prop !== false && !isValidDelay(prop)) {
return new Error(componentName + " expect " + propName + " \n to be a valid Number > 0 or equal to false. " + prop + " given.");
}
return null;
});
exports.falseOrDelay = falseOrDelay;
var falseOrElement = withRequired(function (props, propName, componentName) {
var prop = props[propName];
if (prop !== false && !(0, _react.isValidElement)(prop)) {
return new Error(componentName + " expect " + propName + " \n to be a valid react element or equal to false. " + prop + " given.");
}
return null;
});
exports.falseOrElement = falseOrElement;
;