{"version":3,"sources":["../src/numericString.js"],"names":["validNumericChars","validator","numericString","props","propName","componentName","rest","stringError","string","value","passesRegex","test","TypeError","isRequired","numericStringRequired"],"mappings":";;;;;;;AAAA;;AACA;;;;AAEA,IAAMA,iBAAiB,GAAG,iDAA1B;;AAEA,IAAMC,SAAS,GAAG,SAASC,aAAT,CAAuBC,KAAvB,EAA8BC,QAA9B,EAAwCC,aAAxC,EAAgE;AAChF,MAAIF,KAAK,CAACC,QAAD,CAAL,IAAmB,IAAvB,EAA6B;AAC3B,WAAO,IAAP;AACD;;AAH+E,oCAANE,IAAM;AAANA,IAAAA,IAAM;AAAA;;AAKhF,MAAMC,WAAW,GAAGC,iCAAOL,KAAP,EAAcC,QAAd,EAAwBC,aAAxB,SAA0CC,IAA1C,EAApB;;AACA,MAAIC,WAAJ,EAAiB;AACf,WAAOA,WAAP;AACD;;AAED,MAAME,KAAK,GAAGN,KAAK,CAACC,QAAD,CAAnB;AAEA,MAAMM,WAAW,GAAGV,iBAAiB,CAACW,IAAlB,CAAuBF,KAAvB,CAApB;;AACA,MAAIC,WAAJ,EAAiB;AACf,WAAO,IAAP;AACD;;AAED,SAAO,IAAIE,SAAJ,WAAiBP,aAAjB,sBAAyCD,QAAzC,yBAA8DK,KAA9D,iSAAP;AAOD,CAxBD;;AA0BAR,SAAS,CAACY,UAAV,GAAuB,SAASC,qBAAT,CAA+BX,KAA/B,EAAsCC,QAAtC,EAAgDC,aAAhD,EAAwE;AAC7F,MAAIF,KAAK,CAACC,QAAD,CAAL,IAAmB,IAAvB,EAA6B;AAC3B,WAAO,IAAIQ,SAAJ,WAAiBP,aAAjB,eAAmCD,QAAnC,kBAAP;AACD;;AAH4F,qCAANE,IAAM;AAANA,IAAAA,IAAM;AAAA;;AAI7F,SAAOL,SAAS,MAAT,UAAUE,KAAV,EAAiBC,QAAjB,EAA2BC,aAA3B,SAA6CC,IAA7C,EAAP;AACD,CALD;;eAOe;AAAA,SAAM,+BAAcL,SAAd,EAAyB,eAAzB,CAAN;AAAA,C","sourcesContent":["import { string } from 'prop-types';\nimport wrapValidator from './helpers/wrapValidator';\n\nconst validNumericChars = /^[-+]?(?:[1-9][0-9]*(?:\\.[0-9]+)?|0|0\\.[0-9]+)$/;\n\nconst validator = function numericString(props, propName, componentName, ...rest) {\n if (props[propName] == null) {\n return null;\n }\n\n const stringError = string(props, propName, componentName, ...rest);\n if (stringError) {\n return stringError;\n }\n\n const value = props[propName];\n\n const passesRegex = validNumericChars.test(value);\n if (passesRegex) {\n return null;\n }\n\n return new TypeError(`${componentName}: prop \"${propName}\" (value \"${value}\") must be a numeric string:\n - starting with an optional + or -\n - that does not have a leading zero\n - with an optional decimal part (that contains only one decimal point, if present)\n - that otherwise only contains digits (0-9)\n - not +-NaN, or +-Infinity\n `);\n};\n\nvalidator.isRequired = function numericStringRequired(props, propName, componentName, ...rest) {\n if (props[propName] == null) {\n return new TypeError(`${componentName}: ${propName} is required`);\n }\n return validator(props, propName, componentName, ...rest);\n};\n\nexport default () => wrapValidator(validator, 'numericString');\n"],"file":"numericString.js"}