{"version":3,"sources":["../test/mocks.js"],"names":["describe","it","Object","keys","mocks","to","eql","implementations","mockTypes","map","x","implementationTypes","forEach","name","mock","validator","isSpecialCase","expectedType","not","isRequired"],"mappings":";;AAAA;;AACA;;AACA;;AAEA;;AACA;;;;;;;;;;;;;;;;;;AAEAA,QAAQ,CAAC,OAAD,EAAU,YAAM;AACtBC,EAAAA,EAAE,CAAC,mBAAD,EAAsB,YAAM;AAC5B,sBAAOC,MAAM,CAACC,IAAP,CAAYC,iBAAZ,CAAP,EAA2BC,EAA3B,CAA8BC,GAA9B,CAAkCJ,MAAM,CAACC,IAAP,CAAYI,YAAZ,CAAlC;AACD,GAFC,CAAF;AAIAN,EAAAA,EAAE,CAAC,mBAAD,EAAsB,YAAM;AAC5B,QAAMO,SAAS,GAAG,yBAAOJ,iBAAP,EAAcK,GAAd,CAAkB,UAACC,CAAD;AAAA,qBAAcA,CAAd;AAAA,KAAlB,CAAlB;AACA,QAAMC,mBAAmB,GAAG,yBAAOJ,YAAP,EAAwBE,GAAxB,CAA4B,UAACC,CAAD;AAAA,qBAAcA,CAAd;AAAA,KAA5B,CAA5B;AACA,sBAAOF,SAAP,EAAkBH,EAAlB,CAAqBC,GAArB,CAAyBK,mBAAzB;AACD,GAJC,CAAF;AAMAV,EAAAA,EAAE,CAAC,2CAAD,EAA8C,YAAM;AACpD,4BAAQG,iBAAR,EAAeQ,OAAf,CAAuB,gBAAkB;AAAA;AAAA,UAAhBC,IAAgB;AAAA,UAAVC,IAAU;;AACvC,UAAMC,SAAS,GAAGD,IAAI,EAAtB;AACA,UAAME,aAAa,GAAGH,IAAI,KAAK,kBAAT,IAA+BA,IAAI,KAAK,oBAA9D;AACA,UAAMI,YAAY,GAAGD,aAAa,GAAG,QAAH,GAAc,UAAhD;AACA,wBAAO,CAACH,IAAD,UAAcE,SAAd,EAAP,EAAiCV,EAAjC,CAAoCC,GAApC,CAAwC,CAACO,IAAD,EAAOI,YAAP,CAAxC;;AACA,UAAI,CAACD,aAAL,EAAoB;AAClB,0BAAOD,SAAP,EAAkBG,GAAlB,CAAsBb,EAAtB;AACD;AACF,KARD;AASD,GAVC,CAAF;AAYAJ,EAAAA,EAAE,CAAC,sCAAD,EAAyC,YAAM;AAC/C,4BAAQG,iBAAR,EAAeQ,OAAf,CAAuB,iBAAkB;AAAA;AAAA,UAAhBC,IAAgB;AAAA,UAAVC,IAAU;;AACvC,UAAID,IAAI,KAAK,kBAAb,EAAiC;AACjC,UAAME,SAAS,GAAGF,IAAI,KAAK,oBAAT,GAAgCC,IAAhC,GAAuCA,IAAI,EAA7D;AACA,wBAAO,CAACD,IAAD,UAAcE,SAAS,CAACI,UAAxB,EAAP,EAA4Cd,EAA5C,CAA+CC,GAA/C,CAAmD,CAACO,IAAD,EAAO,UAAP,CAAnD;AACD,KAJD;AAKD,GANC,CAAF;AAOD,CA9BO,CAAR","sourcesContent":["import { expect } from 'chai';\nimport entries from 'object.entries';\nimport values from 'object.values';\n\nimport mocks from '../build/mocks';\nimport implementations from '..';\n\ndescribe('mocks', () => {\n it('has the same keys', () => {\n expect(Object.keys(mocks)).to.eql(Object.keys(implementations));\n });\n\n it('matches the types', () => {\n const mockTypes = values(mocks).map((x) => typeof x);\n const implementationTypes = values(implementations).map((x) => typeof x);\n expect(mockTypes).to.eql(implementationTypes);\n });\n\n it('provides a thunk for a validator function', () => {\n entries(mocks).forEach(([name, mock]) => {\n const validator = mock();\n const isSpecialCase = name === 'forbidExtraProps' || name === 'nonNegativeInteger';\n const expectedType = isSpecialCase ? 'object' : 'function';\n expect([name, typeof validator]).to.eql([name, expectedType]);\n if (!isSpecialCase) {\n expect(validator).not.to.throw();\n }\n });\n });\n\n it('provides a validator with isRequired', () => {\n entries(mocks).forEach(([name, mock]) => {\n if (name === 'forbidExtraProps') return;\n const validator = name === 'nonNegativeInteger' ? mock : mock();\n expect([name, typeof validator.isRequired]).to.eql([name, 'function']);\n });\n });\n});\n"],"file":"mocks.js"}