UNPKG

carbon-react

Version:

A library of reusable React components and an interface for easily building user interfaces based on Flux.

43 lines (32 loc) 1.15 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var PropTypesHelper = { inValidRange: function inValidRange(props, propName, componentName, min, max) { if (props[propName]) { var value = props[propName]; if (isTypeOfNumberOrString(value)) { if (!valueInRange(value, min, max)) { return throwError(propName, componentName, 'must be between ' + min + ' and ' + max); } } else { return throwError(propName, componentName, 'must be a String or Integer'); } } return null; } }; exports.default = PropTypesHelper; var valueInRange = function valueInRange(value, min, max) { return value >= min && value <= max; }; var throwError = function throwError(propName, componentName, error) { return new Error(buildErrorString(propName, componentName, error)); }; var buildErrorString = function buildErrorString(propName, componentName, error) { return propName + ' in ' + componentName + ' ' + error; }; var isTypeOfNumberOrString = function isTypeOfNumberOrString(value) { return typeof value === 'string' || typeof value === 'number'; };