{"version":3,"sources":["../test/uniqueArrayOf.jsx"],"names":["describe","it","uniqueArrayOf","to","equal","assertPasses","validator","element","propName","assertFails","be","instanceOf","Error","identityMapper","constantMapper","arrayMapper","TypeError","undefined","NaN","isRequired","number","arr","array"],"mappings":"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","sourcesContent":["import { expect } from 'chai';\nimport { array, number } from 'prop-types';\nimport React from 'react';\n\nimport { uniqueArrayOf } from '..';\n\nimport callValidator from './_callValidator';\n\ndescribe('uniqueArrayOf', () => {\n it('is a function', () => {\n expect(typeof uniqueArrayOf).to.equal('function');\n });\n\n function assertPasses(validator, element, propName) {\n expect(callValidator(validator, element, propName, '\"uniqueArrayOf\" test')).to.equal(null);\n }\n\n function assertFails(validator, element, propName) {\n expect(callValidator(validator, element, propName, '\"uniqueArrayOf\" test')).to.be.instanceOf(Error);\n }\n\n function identityMapper(element) { return element; }\n function constantMapper(element) { return element ** 0; }\n function arrayMapper(element) { return element[0]; }\n\n it('throws if not given a type function', () => {\n expect(() => uniqueArrayOf()).to.throw(TypeError);\n expect(() => uniqueArrayOf(undefined)).to.throw(TypeError);\n expect(() => uniqueArrayOf(null)).to.throw(TypeError);\n expect(() => uniqueArrayOf([])).to.throw(TypeError);\n expect(() => uniqueArrayOf({})).to.throw(TypeError);\n expect(() => uniqueArrayOf('')).to.throw(TypeError);\n expect(() => uniqueArrayOf(42)).to.throw(TypeError);\n expect(() => uniqueArrayOf(NaN)).to.throw(TypeError);\n });\n\n it('throws if given multiple mapping functions', () => {\n expect(() => uniqueArrayOf(() => {}, () => {}, () => {})).to.throw(TypeError);\n });\n\n it('throws if given multiple name strings', () => {\n expect(() => uniqueArrayOf(() => {}, 'test', 'test')).to.throw(TypeError);\n });\n\n it('throws if given more than 2 ...rest parameters', () => {\n expect(() => uniqueArrayOf(() => {}, 'test', 'test', 'test')).to.throw(TypeError);\n });\n\n it('throws if ordering of [String, Function]', () => {\n expect(() => uniqueArrayOf(() => {}, 'test', arrayMapper)).to.throw(TypeError);\n });\n\n it('throws if non string or function input', () => {\n expect(() => uniqueArrayOf(() => {}, 4)).to.throw(TypeError);\n });\n\n it('returns a function', () => {\n expect(typeof uniqueArrayOf(() => {})).to.equal('function');\n });\n\n it('requires an array', () => assertFails(\n uniqueArrayOf(() => {}),\n (
),\n 'foo',\n ));\n\n it('is not required by default', () => assertPasses(\n uniqueArrayOf(() => {}),\n (
),\n 'missing',\n ));\n\n it('is required with .isRequired', () => assertFails(\n uniqueArrayOf(() => {}).isRequired,\n (
),\n 'missing',\n ));\n\n it('allows custom name', () => assertPasses(\n uniqueArrayOf(() => {}, 'test').isRequired,\n (
),\n 'foo',\n ));\n\n it('enforces the provided validator', () => {\n assertFails(\n uniqueArrayOf(number),\n (
),\n 'foo',\n );\n assertPasses(\n uniqueArrayOf(number),\n (
),\n 'foo',\n );\n });\n\n it('enforces uniqueness', () => {\n assertFails(\n uniqueArrayOf(number),\n (
),\n 'foo',\n );\n assertPasses(\n uniqueArrayOf(number),\n (
),\n 'foo',\n );\n });\n\n it('enforces uniqueness of objects too', () => {\n const arr = [1];\n\n assertFails(\n uniqueArrayOf(array),\n (
),\n 'foo',\n );\n assertPasses(\n uniqueArrayOf(array),\n (
),\n 'foo',\n );\n });\n\n describe('with mapper function', () => {\n it('requires an array', () => assertFails(\n uniqueArrayOf(() => {}, identityMapper),\n (
),\n 'foo',\n ));\n\n it('is not required by default', () => assertPasses(\n uniqueArrayOf(() => {}, identityMapper),\n (
),\n 'missing',\n ));\n\n it('is required with .isRequired', () => {\n assertFails(\n uniqueArrayOf(() => {}, identityMapper).isRequired,\n (
),\n 'missing',\n );\n assertPasses(\n uniqueArrayOf(() => {}, identityMapper).isRequired,\n (
),\n 'foo',\n );\n });\n\n it('enforces the provided validator', () => {\n assertFails(\n uniqueArrayOf(number, identityMapper),\n (
),\n 'foo',\n );\n assertPasses(\n uniqueArrayOf(number, identityMapper),\n (
),\n 'foo',\n );\n });\n\n it('enforces uniqueness', () => {\n assertFails(\n uniqueArrayOf(number, identityMapper),\n (
),\n 'foo',\n );\n assertPasses(\n uniqueArrayOf(number, identityMapper),\n (
),\n 'foo',\n );\n assertFails(\n uniqueArrayOf(number, constantMapper),\n (
),\n 'foo',\n );\n });\n\n it('enforces uniqueness of objects too', () => {\n assertFails(\n uniqueArrayOf(array, arrayMapper),\n (
),\n 'foo',\n );\n assertFails(\n uniqueArrayOf(array, arrayMapper),\n (
),\n 'foo',\n );\n assertPasses(\n uniqueArrayOf(array, arrayMapper),\n (
),\n 'foo',\n );\n assertPasses(\n uniqueArrayOf(array, arrayMapper),\n (
),\n 'foo',\n );\n });\n });\n\n describe('with mapper function and name', () => {\n it('enforces uniqueness of objects too', () => {\n assertFails(\n uniqueArrayOf(array, arrayMapper, 'test'),\n (
),\n 'foo',\n );\n assertPasses(\n uniqueArrayOf(array, arrayMapper, 'test'),\n (
),\n 'foo',\n );\n });\n });\n});\n"],"file":"uniqueArrayOf.js"}