{"version":3,"sources":["../test/valuesOf.jsx"],"names":["describe","it","to","equal","TypeError","undefined","assertPasses","validator","element","propName","assertFails","be","instanceOf","Error","isRequired","number","a","b","NaN","c","Infinity","d"],"mappings":"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","sourcesContent":["import { expect } from 'chai';\nimport { number } from 'prop-types';\nimport React from 'react';\n\nimport { valuesOf } from '..';\n\nimport callValidator from './_callValidator';\n\ndescribe('valuesOf', () => {\n it('returns a function', () => {\n expect(typeof valuesOf(() => {})).to.equal('function');\n });\n\n it('throws when not given a function', () => {\n expect(() => valuesOf()).to.throw(TypeError);\n expect(() => valuesOf(null)).to.throw(TypeError);\n expect(() => valuesOf(undefined)).to.throw(TypeError);\n expect(() => valuesOf([])).to.throw(TypeError);\n expect(() => valuesOf({})).to.throw(TypeError);\n expect(() => valuesOf('')).to.throw(TypeError);\n expect(() => valuesOf(42)).to.throw(TypeError);\n expect(() => valuesOf(true)).to.throw(TypeError);\n });\n\n function assertPasses(validator, element, propName) {\n expect(callValidator(validator, element, propName, '\"valuesOf\" passing test')).to.equal(null);\n }\n\n function assertFails(validator, element, propName) {\n expect(callValidator(validator, element, propName, '\"valuesOf\" failing test')).to.be.instanceOf(Error);\n }\n\n it('passes on null/undefined', () => {\n const validator = valuesOf(() => {});\n\n assertPasses(validator, (
), 'foo');\n assertPasses(validator, (
), 'foo');\n });\n\n it('fails on null/undefined when required', () => {\n const validator = valuesOf(() => {}).isRequired;\n\n assertFails(validator, (
), 'foo');\n assertFails(validator, (
), 'foo');\n });\n\n it('passes when the validator passes on all values', () => {\n const validator = valuesOf(number);\n\n assertPasses(\n validator,\n (\n \n ),\n 'foo',\n );\n });\n\n it('behaves on null values', () => {\n assertPasses(\n valuesOf(number),\n (
),\n 'foo',\n );\n assertPasses(\n valuesOf(number).isRequired,\n (
),\n 'foo',\n );\n\n assertFails(\n valuesOf(number.isRequired),\n (
),\n 'foo',\n );\n assertFails(\n valuesOf(number.isRequired).isRequired,\n (
),\n 'foo',\n );\n });\n\n it('fails when any value fails', () => {\n const validator = valuesOf(number);\n\n assertFails(\n validator,\n (
),\n 'foo',\n );\n\n assertFails(\n validator.isRequired,\n (
),\n 'foo',\n );\n });\n\n it('passes on non-nullary primitives', () => {\n const validator = valuesOf(number.isRequired);\n\n assertPasses(validator, (
), 'a');\n assertPasses(validator, (
), 'a');\n assertPasses(validator, (
), 'a');\n assertPasses(validator, (
), 'a');\n assertPasses(validator, (
), 'a');\n assertPasses(validator, (
), 'a');\n\n assertPasses(validator.isRequired, (
), 'a');\n assertPasses(validator.isRequired, (
), 'a');\n assertPasses(validator.isRequired, (
), 'a');\n assertPasses(validator.isRequired, (
), 'a');\n assertPasses(validator.isRequired, (
), 'a');\n assertPasses(validator.isRequired, (
), 'a');\n });\n\n it('passes on functions and arrays', () => {\n const validator = valuesOf(number.isRequired);\n\n assertPasses(validator, (
{}} />), 'a');\n assertPasses(validator, (
), 'a');\n\n assertPasses(validator.isRequired, (
{}} />), 'a');\n assertPasses(validator.isRequired, (
), 'a');\n });\n});\n"],"file":"valuesOf.js"}