{"_id":"@caspertech/punnett-square","_rev":"1-7aee53b010c36ea83c1dda241a005ada","name":"@caspertech/punnett-square","dist-tags":{"latest":"2.1.1"},"versions":{"2.1.1":{"name":"@caspertech/punnett-square","version":"2.1.1","description":"A Punnett Square Calculator","repository":{"type":"git","url":"git+https://github.com/luetkemj/punnett-square.git"},"author":{"name":"luetkemj"},"license":{"type":"MIT","url":"https://github.com/luetkemj/punnett-square/raw/master/LICENSE"},"main":"build/index.js","scripts":{"build":"npm run lint && npm run test && npm run clean:build && babel src -d build","clean:build":"rimraf build","clean:coverage":"rimraf coverage","clean:node_modules":"rimraf node_modules","clean":"npm run clean:build && npm run clean:coverage && npm run clean:node_modules","lint:eslint":"eslint .","lint":"npm run lint:eslint","prepublish":"npm run build","reinstall":"npm run clean && yarn","test:jest":"jest --coverage","test:watch":"jest --coverage --watch","test":"npm run lint && npm run test:jest"},"dependencies":{"lodash":"4.17.11"},"devDependencies":{"babel-cli":"6.26.0","babel-eslint":"7.2.1","babel-plugin-transform-strict-mode":"6.24.1","babel-preset-env":"1.7.0","babel-preset-stage-1":"6.24.1","eslint":"3.19.0","eslint-config-airbnb-base":"11.1.3","eslint-plugin-import":"2.2.0","jest":"19.0.2","rimraf":"2.6.1"},"gitHead":"624d8a5c0df1856bf038929de8c972c929c054e2","bugs":{"url":"https://github.com/luetkemj/punnett-square/issues"},"homepage":"https://github.com/luetkemj/punnett-square#readme","_id":"@caspertech/punnett-square@2.1.1","_npmVersion":"6.4.1","_nodeVersion":"10.14.1","_npmUser":{"name":"tommettam","email":"npm@caspertech.co.uk"},"dist":{"integrity":"sha512-rUn2RaxwoCecRx3FasejjGpsjIktNJqeh8KL7NPSVfFHMWDE0YcqhJo2yhkjSFHgrDz2ShtN9yY9Dcz6S/fIBQ==","shasum":"cc03f0282294035fb5f9f1992744f27c186ac9a3","tarball":"https://registry.npmjs.org/@caspertech/punnett-square/-/punnett-square-2.1.1.tgz","fileCount":27,"unpackedSize":174352,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcOzFACRA9TVsSAnZWagAAfdYP/31QuKhUfARz5f7LJzji\npceDuqEQNFbJLupY1c6MbcIUZm8EkK5MS9scNiqGISKieQnSg8JCtPFtak12\nBmISu4dal/p2IS1KW0HmomYI6zMKFnkHArIpcWL22w/jtYicWe6mzwuCgs2Y\ny5XcbDV4WH1KHBgDcO8SzLVMIlG4TyhSKmktYJrjthojVGg92E/l1+ai0qlu\nxX23B92v14Cy3Wck+Fy4X6ADZQEtzANIsEuGd93tgx7h7cWXgVsRt4cCwm1w\nNSRn/aYvJit6SEtjwdIuPPQX54f82jG+q7IUEAFFrjY1nUCUi/A5s6kF2FY7\nVrjIdmP5XPi/udSTDjSoCtQrfRaL8+LuXJQ7Lp12umvNJ320C6Q0YlmymjVb\ngMVpXg8XHoAcy16g5U+bqM8k1dtg14gQOuKB0PdgXkA/YzF8N7q1t0RPE2aa\nzNFLC20PXFyGN1k/6bwW7TmyoQBAi/bSQVvkylHX2cKk5vCRlj/87rcVgtib\n394JMVApr0dF5hoqHDBH6LBL+ijw0WYFASE6bPDHmqhNNfr97EZ/bV0RBlQY\nEciHD9qgCDyLcYeHRvx783svLit2mvfR1kR8I1GgTrFPENbyQhQ8HFeVJLll\naJZOIXY8APIySFfvwrjo+vIt93nn94YNNmFdh66ydPyIyweEkJp8PQMjhGOi\nGJU/\r\n=sBCZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHhhMxqhamBNG93tC3iHXvDCsW9m6fET0KmnrmVWv4uuAiB2lwXx+EbXAork99oR/q+3dff0TwfnTldaaSPIPLw3wQ=="}]},"maintainers":[{"name":"tommettam","email":"npm@caspertech.co.uk"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/punnett-square_2.1.1_1547383103823_0.48733033231301026"},"_hasShrinkwrap":false}},"time":{"created":"2019-01-13T12:38:23.670Z","2.1.1":"2019-01-13T12:38:23.953Z","modified":"2022-04-04T22:03:10.086Z"},"maintainers":[{"name":"tommettam","email":"npm@caspertech.co.uk"}],"description":"A Punnett Square Calculator","homepage":"https://github.com/luetkemj/punnett-square#readme","repository":{"type":"git","url":"git+https://github.com/luetkemj/punnett-square.git"},"author":{"name":"luetkemj"},"bugs":{"url":"https://github.com/luetkemj/punnett-square/issues"},"license":{"type":"MIT","url":"https://github.com/luetkemj/punnett-square/raw/master/LICENSE"},"readme":"# Punnett Square [![Build Status](https://travis-ci.org/luetkemj/punnett-square.svg?branch=master)](https://travis-ci.org/luetkemj/punnett-square)\n\n[![NPM](https://nodei.co/npm/punnett-square.svg?downloads=true)](https://nodei.co/npm/punnett-square/)\n\nA Punnett Square Calculator\n\n## Getting started\n\n**install the package:**\n\n```npm install --save punnett-square```\n\n**create a new class instance of PunnettSquare**\n\n```javascript\nimport PunnettSquare from 'punnett-square';\n\n// traits should be ordered from most dominant to least\nconst TRAITS = ['black', 'brown', 'blonde', 'red'];\nconst hair = new PunnettSquare(TRAITS);\n```\n\n**breed**\n\n```javascript\nconst MOM = ['brown', 'red'];\nconst DAD = ['black', 'red'];\n\nconst spawn = hair.breed(MOM, DAD);\n\n/**\nspawn is now an object with alleles and the expressed trait\n{\n  alleles: ['black', 'red'],\n  trait: 'black',\n}\n**/\n```\n\n## Documentation\n\n### Method: cross\n**Description:**\n\nReturns the resultant Punnett Square from a cross of two sets of alleles.\n\n**Usage**\n\ncross(mom, dad);\n\n  * **mom** {array} _required_\n    * two strings that exist in the array of traits used to instantiate the class\n\n  * **dad** {array} _required_\n    * two strings that exist in the array of traits used to instantiate the class\n\n  * @return {array}\n\n**Example**\n```javascript\nconst hair = new PunnettSquare(['black', 'brown', 'blonde', 'red']);\nconst MOM = ['brown', 'red'];\nconst DAD = ['black', 'red'];\n\nconst cross = hair.cross(MOM, DAD);\n\n/**\ncross is now an array of possible alleles\n[\n  ['brown', 'black'],\n  ['brown', 'red'],\n  ['red', 'black'],\n  ['red', 'red'],\n]\n**/\n```\n\n### Method: visible\n**Description:**\n\nReturns the dominant trait from an allele pair.\n\n**Usage**\n\nvisible(alleles);\n\n  * **alleles** {array} _required_\n    * two strings that exist in the array of traits used to instantiate the class\n\n  * @return {string}\n\n**Example**\n```javascript\nconst hair = new PunnettSquare(['black', 'brown', 'blonde', 'red']);\n\nconst visible = hair.visible(['brown', 'red']);\n\n// visible => 'brown'\n```\n\n### Method: breed\n**Description:**\n\nReturns an object with an allele pair and the expressed trait from the resultant cross between two allele pairs\n\n**Usage**\n\nbreed(mom, dad);\n\n  * **mom** {array} _required_\n    * two strings that exist in the array of traits used to instantiate the class\n\n  * **dad** {array} _required_\n    * two strings that exist in the array of traits used to instantiate the class\n\n  * @return {object}\n\n**Example**\n```javascript\nconst hair = new PunnettSquare(['black', 'brown', 'blonde', 'red']);\nconst MOM = ['brown', 'red'];\nconst DAD = ['black', 'red'];\n\nconst cross = hair.breed(MOM, DAD);\n\n/**\ncross is now an object that may look like\n{\n  alleles: ['red', 'black'],\n  trait: 'black',\n}\n**/\n```\n\n## Contributing\n\nFeature requests, issues, and contributions are all welcome.\n\n[issues](https://github.com/luetkemj/punnett-square/issues/new)\n","readmeFilename":"README.md"}