{"version":3,"sources":["../src/valuesOf.js"],"names":["valuesOfValidator","propType","TypeError","validator","valuesOf","props","propName","componentName","location","propFullName","rest","propValue","firstError","Object","keys","some","key","isRequired","valuesOfRequired"],"mappings":";;;;;;;AAAA;;AACA;;;;AAEA;AAEe,SAASA,iBAAT,CAA2BC,QAA3B,EAAqC;AAClD,MAAI,OAAOA,QAAP,KAAoB,UAAxB,EAAoC;AAClC,UAAM,IAAIC,SAAJ,CAAc,uCAAd,CAAN;AACD;;AAED,MAAMC,SAAS,GAAG,SAASC,QAAT,CAChBC,KADgB,EAEhBC,QAFgB,EAGhBC,aAHgB,EAIhBC,QAJgB,EAKhBC,YALgB,EAOhB;AAAA,sCADGC,IACH;AADGA,MAAAA,IACH;AAAA;;AAAA,QACoBC,SADpB,GACkCN,KADlC,CACSC,QADT;;AAEA,QAAIK,SAAS,IAAI,IAAb,IAAqB,6BAAYA,SAAZ,CAAzB,EAAiD;AAC/C,aAAO,IAAP;AACD;;AAED,QAAIC,UAAJ;AACAC,IAAAA,MAAM,CAACC,IAAP,CAAYH,SAAZ,EAAuBI,IAAvB,CAA4B,UAACC,GAAD,EAAS;AACnCJ,MAAAA,UAAU,GAAGX,QAAQ,MAAR,UACXU,SADW,EAEXK,GAFW,EAGXT,aAHW,EAIXC,QAJW,YAKRC,YALQ,cAKQO,GALR,UAMRN,IANQ,EAAb;AAQA,aAAOE,UAAP;AACD,KAVD;AAWA,WAAOA,UAAU,IAAI,IAArB;AACD,GA1BD;;AA2BAT,EAAAA,SAAS,CAACc,UAAV,GAAuB,SAASC,gBAAT,CAA0Bb,KAA1B,EAAiCC,QAAjC,EAA2CC,aAA3C,EAAmE;AAAA,QACpEI,SADoE,GACtDN,KADsD,CAC/EC,QAD+E;;AAExF,QAAIK,SAAS,IAAI,IAAjB,EAAuB;AACrB,aAAO,IAAIT,SAAJ,WAAiBK,aAAjB,eAAmCD,QAAnC,mBAAP;AACD;;AAJuF,uCAANI,IAAM;AAANA,MAAAA,IAAM;AAAA;;AAKxF,WAAOP,SAAS,MAAT,UAAUE,KAAV,EAAiBC,QAAjB,EAA2BC,aAA3B,SAA6CG,IAA7C,EAAP;AACD,GAND;;AAQA,SAAO,+BAAcP,SAAd,EAAyB,UAAzB,EAAqCF,QAArC,CAAP;AACD","sourcesContent":["import isPrimitive from './helpers/isPrimitive';\nimport wrapValidator from './helpers/wrapValidator';\n\n// code adapted from https://github.com/facebook/react/blob/14156e56b9cf18ac86963185c5af4abddf3ff811/src/isomorphic/classic/types/ReactPropTypes.js#L307-L340\n\nexport default function valuesOfValidator(propType) {\n if (typeof propType !== 'function') {\n throw new TypeError('objectOf: propType must be a function');\n }\n\n const validator = function valuesOf(\n props,\n propName,\n componentName,\n location,\n propFullName,\n ...rest\n ) {\n const { [propName]: propValue } = props;\n if (propValue == null || isPrimitive(propValue)) {\n return null;\n }\n\n let firstError;\n Object.keys(propValue).some((key) => {\n firstError = propType(\n propValue,\n key,\n componentName,\n location,\n `${propFullName}.${key}`,\n ...rest,\n );\n return firstError;\n });\n return firstError || null;\n };\n validator.isRequired = function valuesOfRequired(props, propName, componentName, ...rest) {\n const { [propName]: propValue } = props;\n if (propValue == null) {\n return new TypeError(`${componentName}: ${propName} is required.`);\n }\n return validator(props, propName, componentName, ...rest);\n };\n\n return wrapValidator(validator, 'valuesOf', propType);\n}\n"],"file":"valuesOf.js"}