{"version":3,"sources":["../src/nonNegativeNumber.js"],"names":["isNonNegative","x","isFinite","nonNegativeNumber","props","propName","componentName","value","RangeError","requiredNonNegativeNumber","isRequired"],"mappings":";;;;;;;AAAA;;AACA;;;;AAEA,SAASA,aAAT,CAAuBC,CAAvB,EAA0B;AACxB,SAAO,OAAOA,CAAP,KAAa,QAAb,IAAyBC,QAAQ,CAACD,CAAD,CAAjC,IAAwCA,CAAC,IAAI,CAA7C,IAAkD,CAAC,0BAAGA,CAAH,EAAM,CAAC,CAAP,CAA1D;AACD;;AAED,SAASE,iBAAT,CAA2BC,KAA3B,EAAkCC,QAAlC,EAA4CC,aAA5C,EAA2D;AACzD,MAAMC,KAAK,GAAGH,KAAK,CAACC,QAAD,CAAnB;;AAEA,MAAIE,KAAK,IAAI,IAAT,IAAiBP,aAAa,CAACO,KAAD,CAAlC,EAA2C;AACzC,WAAO,IAAP;AACD;;AAED,SAAO,IAAIC,UAAJ,WAAkBH,QAAlB,iBAAiCC,aAAjC,oCAAP;AACD;;AAED,SAASG,yBAAT,CAAmCL,KAAnC,EAA0CC,QAA1C,EAAoDC,aAApD,EAAmE;AACjE,MAAMC,KAAK,GAAGH,KAAK,CAACC,QAAD,CAAnB;;AAEA,MAAIL,aAAa,CAACO,KAAD,CAAjB,EAA0B;AACxB,WAAO,IAAP;AACD;;AAED,SAAO,IAAIC,UAAJ,WAAkBH,QAAlB,iBAAiCC,aAAjC,oCAAP;AACD;;AAEDH,iBAAiB,CAACO,UAAlB,GAA+BD,yBAA/B;;eAEe;AAAA,SAAM,+BAAcN,iBAAd,EAAiC,mBAAjC,CAAN;AAAA,C","sourcesContent":["import is from 'object-is';\nimport wrapValidator from './helpers/wrapValidator';\n\nfunction isNonNegative(x) {\n return typeof x === 'number' && isFinite(x) && x >= 0 && !is(x, -0);\n}\n\nfunction nonNegativeNumber(props, propName, componentName) {\n const value = props[propName];\n\n if (value == null || isNonNegative(value)) {\n return null;\n }\n\n return new RangeError(`${propName} in ${componentName} must be a non-negative number`);\n}\n\nfunction requiredNonNegativeNumber(props, propName, componentName) {\n const value = props[propName];\n\n if (isNonNegative(value)) {\n return null;\n }\n\n return new RangeError(`${propName} in ${componentName} must be a non-negative number`);\n}\n\nnonNegativeNumber.isRequired = requiredNonNegativeNumber;\n\nexport default () => wrapValidator(nonNegativeNumber, 'nonNegativeNumber');\n"],"file":"nonNegativeNumber.js"}