{"version":3,"sources":["../src/booleanSome.js"],"names":["booleanSomeValidator","notAllPropsFalse","length","TypeError","every","x","propsList","join","validator","booleanSome","props","propName","componentName","countFalse","count","prop","falsePropCount","reduce","Error","rest","bool","isRequired","booleanSomeRequired"],"mappings":";;;;;;;AAAA;;AACA;;;;AAEe,SAASA,oBAAT,GAAmD;AAAA,oCAAlBC,gBAAkB;AAAlBA,IAAAA,gBAAkB;AAAA;;AAChE,MAAIA,gBAAgB,CAACC,MAAjB,GAA0B,CAA9B,EAAiC;AAC/B,UAAM,IAAIC,SAAJ,CAAc,6DAAd,CAAN;AACD;;AACD,MAAI,CAACF,gBAAgB,CAACG,KAAjB,CAAuB,UAACC,CAAD;AAAA,WAAO,OAAOA,CAAP,KAAa,QAApB;AAAA,GAAvB,CAAL,EAA2D;AACzD,UAAM,IAAIF,SAAJ,CAAc,uCAAd,CAAN;AACD;;AAED,MAAMG,SAAS,GAAGL,gBAAgB,CAACM,IAAjB,CAAsB,OAAtB,CAAlB;;AAEA,MAAMC,SAAS,GAAG,SAASC,WAAT,CAAqBC,KAArB,EAA4BC,QAA5B,EAAsCC,aAAtC,EAA8D;AAC9E,QAAMC,UAAU,GAAG,SAAbA,UAAa,CAACC,KAAD,EAAQC,IAAR;AAAA,aAAkBD,KAAK,IAAIJ,KAAK,CAACK,IAAD,CAAL,KAAgB,KAAhB,GAAwB,CAAxB,GAA4B,CAAhC,CAAvB;AAAA,KAAnB;;AAEA,QAAMC,cAAc,GAAGf,gBAAgB,CAACgB,MAAjB,CAAwBJ,UAAxB,EAAoC,CAApC,CAAvB;;AACA,QAAIG,cAAc,KAAKf,gBAAgB,CAACC,MAAxC,EAAgD;AAC9C,aAAO,IAAIgB,KAAJ,aAAeN,aAAf,uEAA2FN,SAA3F,EAAP;AACD;;AAN6E,uCAANa,IAAM;AAANA,MAAAA,IAAM;AAAA;;AAO9E,WAAOC,+BAAKV,KAAL,EAAYC,QAAZ,EAAsBC,aAAtB,SAAwCO,IAAxC,EAAP;AACD,GARD;;AAUAX,EAAAA,SAAS,CAACa,UAAV,GAAuB,SAASC,mBAAT,CACrBZ,KADqB,EAErBC,QAFqB,EAGrBC,aAHqB,EAKrB;AACA,QAAMC,UAAU,GAAG,SAAbA,UAAa,CAACC,KAAD,EAAQC,IAAR;AAAA,aAAkBD,KAAK,IAAIJ,KAAK,CAACK,IAAD,CAAL,KAAgB,KAAhB,GAAwB,CAAxB,GAA4B,CAAhC,CAAvB;AAAA,KAAnB;;AAEA,QAAMC,cAAc,GAAGf,gBAAgB,CAACgB,MAAjB,CAAwBJ,UAAxB,EAAoC,CAApC,CAAvB;;AACA,QAAIG,cAAc,KAAKf,gBAAgB,CAACC,MAAxC,EAAgD;AAC9C,aAAO,IAAIgB,KAAJ,aAAeN,aAAf,uEAA2FN,SAA3F,EAAP;AACD;;AAND,uCADGa,IACH;AADGA,MAAAA,IACH;AAAA;;AAOA,WAAOC,gBAAKC,UAAL,yBAAgBX,KAAhB,EAAuBC,QAAvB,EAAiCC,aAAjC,SAAmDO,IAAnD,EAAP;AACD,GAbD;;AAeA,SAAO,+BAAcX,SAAd,yBAAyCF,SAAzC,GAAsDL,gBAAtD,CAAP;AACD","sourcesContent":["import { bool } from 'prop-types';\nimport wrapValidator from './helpers/wrapValidator';\n\nexport default function booleanSomeValidator(...notAllPropsFalse) {\n if (notAllPropsFalse.length < 1) {\n throw new TypeError('at least one prop (one of which must be `true`) is required');\n }\n if (!notAllPropsFalse.every((x) => typeof x === 'string')) {\n throw new TypeError('all booleanSome props must be strings');\n }\n\n const propsList = notAllPropsFalse.join(', or ');\n\n const validator = function booleanSome(props, propName, componentName, ...rest) {\n const countFalse = (count, prop) => (count + (props[prop] === false ? 1 : 0));\n\n const falsePropCount = notAllPropsFalse.reduce(countFalse, 0);\n if (falsePropCount === notAllPropsFalse.length) {\n return new Error(`A ${componentName} must have at least one of these boolean props be \\`true\\`: ${propsList}`);\n }\n return bool(props, propName, componentName, ...rest);\n };\n\n validator.isRequired = function booleanSomeRequired(\n props,\n propName,\n componentName,\n ...rest\n ) {\n const countFalse = (count, prop) => (count + (props[prop] === false ? 1 : 0));\n\n const falsePropCount = notAllPropsFalse.reduce(countFalse, 0);\n if (falsePropCount === notAllPropsFalse.length) {\n return new Error(`A ${componentName} must have at least one of these boolean props be \\`true\\`: ${propsList}`);\n }\n return bool.isRequired(props, propName, componentName, ...rest);\n };\n\n return wrapValidator(validator, `booleanSome: ${propsList}`, notAllPropsFalse);\n}\n"],"file":"booleanSome.js"}