{"_id":"react-to-text","_rev":"4-d8e180c310164051eb313a9a542af61d","name":"react-to-text","dist-tags":{"latest":"2.0.1"},"versions":{"1.0.0":{"name":"react-to-text","version":"1.0.0","description":"Convert react components to plain text without any HTML markup","author":{"name":"Luke Hansford"},"license":"MIT","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"build":"rollup --config ./config/rollup.config.js","lint":"node_modules/eslint/bin/eslint.js src --ext .js,.ts,.jsx,.tsx","lint:fix":"yarn lint --fix","start":"rollup --config ./config/rollup.config.js -w","test":"jest --config ./config/jest.config.js","test:watch":"jest --watchAll","type-check":"tsc --noEmit","type-check:watch":"yarn type-check -- --watch"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.9.0","@babel/plugin-proposal-object-rest-spread":"^7.9.0","@babel/plugin-transform-async-to-generator":"^7.8.3","@babel/preset-env":"^7.11.0","@babel/preset-react":"^7.10.4","@babel/preset-typescript":"^7.9.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-node-resolve":"^7.1.3","@types/jest":"^25.1.4","@types/react":"^16.9.44","@types/react-dom":"^16.9.8","babel-jest":"^26.2.2","babel-loader":"^8.1.0","eslint":"^6.8.0","eslint-config-fishbrain":"^2.0.0","eslint-plugin-jest-dom":"^3.1.5","eslint-plugin-jest-formatting":"^2.0.0","fork-ts-checker-webpack-plugin":"^5.0.14","jest":"^26.2.2","prettier":"^2.0.1","react":"^16.13.1","react-dom":"^16.13.1","react-test-renderer":"^16.13.1","rollup":"^2.6.1","rollup-plugin-babel":"^4.4.0","rollup-plugin-typescript2":"^0.27.0","ts-loader":"^8.0.2","typescript":"^3.8.3"},"dependencies":{},"peerDependencies":{"react":"^16.13.1","react-dom":"^16.13.1"},"gitHead":"4034383acd183f1b710f8b81c6abd7b4a61add7c","_id":"react-to-text@1.0.0","_nodeVersion":"14.7.0","_npmVersion":"6.14.7","dist":{"integrity":"sha512-GqnVr4BhQK23D5CsVsNB2pQrq5CyQjmDTCzY98LLN2E4v/VRFosSyhHSYNTluZazCjVcjt8Sb8uWq2+EKlgJBw==","shasum":"11ca1f8e62f60f925898dcde56d5521b78d9307d","tarball":"https://registry.npmjs.org/react-to-text/-/react-to-text-1.0.0.tgz","fileCount":5,"unpackedSize":3311,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfOo51CRA9TVsSAnZWagAAF9wP/0yE7Nhb2GttIad/Tsq4\n8wjSElo2PS5D3Ehx5LJB7VurwQJBXtaOf6TxMv2J3mmrGFbkA+eGPJRcg2oa\ncfQ4rYUrU+/SIxmcdrMBZxFbZ74xHPPZrjSlrH5KJjA0oROYfMOEr96QxLN2\nI+EALmES1U1jnraDnL5EfFoIyNzLyZMkKqbxBP7/f/vng0E2LqngtZ/LfsMk\nBNPzC4kBToMhiWj4P37vshLoI7va2eotEtuUocTRJbt4NZ60Ctw/WcOzsPmI\nuB4YeEIjmXPkMQ2d4OOHfII7csBNYGy95I0TzQ6A8qUYElliMd+qfqBxMnCo\nU6EvJRuVfMImZvNZeowIiz7WzWreGkWk0EwIr7JXx3JDQFc+ipR01V3j318V\nxzDocx59Fp60RWUxnN6qtKuURu8EiQ/YkI04pRwZKa8seua1tOKxq8AiIovK\nB9lH6xUN+t99bFVQJhEs7hbDfqpGPzbBwJwK85nxn+/+35CfyGeTh5BkXg2L\nwsg3yhpMIrdIiaf4rf5olJxMOMjRn0XJMZyNX1XP7ccIt4XbtgQ+7P3asDlS\nsm6syVNfTnNQ0gtDGhn3Jj6/c5xDnPLEpZX6L0pF4k5rS85laSlrhxfl9AL6\nJmu4B35U90iQkQAawKFQVAF1s1/9eu6oYzl3piXPORZ2/lTRY4lObJLqykYL\nTxSM\r\n=99iK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGiMEUYdxM+fGdse6vCM9S+pjJSLqEnfzrjoz8xQGXBLAiA5PwUSZnjMQho8TegWTlL+Z5xAoVVcAxjRqlognTxBaA=="}]},"maintainers":[{"name":"lukehansford","email":"mail@lukehansford.me"}],"_npmUser":{"name":"lukehansford","email":"mail@lukehansford.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-to-text_1.0.0_1597673076669_0.6917904773197998"},"_hasShrinkwrap":false},"1.0.1":{"name":"react-to-text","version":"1.0.1","description":"Convert react components to plain text without any HTML markup","keywords":["react","utility","typescript","conversion"],"homepage":"https://github.com/lhansford/react-to-text","bugs":{"url":"https://github.com/lhansford/react-to-text/issues","email":"mail@lukehansford.me"},"author":{"name":"Luke Hansford"},"license":"MIT","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"build":"rollup --config ./config/rollup.config.js","lint":"node_modules/eslint/bin/eslint.js src --ext .js,.ts,.jsx,.tsx","lint:fix":"yarn lint --fix","start":"rollup --config ./config/rollup.config.js -w","test":"jest --config ./config/jest.config.js","test:watch":"jest --watchAll","type-check":"tsc --noEmit","type-check:watch":"yarn type-check -- --watch"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.9.0","@babel/plugin-proposal-object-rest-spread":"^7.9.0","@babel/plugin-transform-async-to-generator":"^7.8.3","@babel/preset-env":"^7.11.0","@babel/preset-react":"^7.10.4","@babel/preset-typescript":"^7.9.0","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-node-resolve":"^7.1.3","@types/jest":"^25.1.4","@types/react":"^16.9.44","@types/react-dom":"^16.9.8","babel-jest":"^26.2.2","babel-loader":"^8.1.0","eslint":"^6.8.0","eslint-config-fishbrain":"^2.0.0","eslint-plugin-jest-dom":"^3.1.5","eslint-plugin-jest-formatting":"^2.0.0","fork-ts-checker-webpack-plugin":"^5.0.14","jest":"^26.2.2","prettier":"^2.0.1","react":"^16.13.1","react-dom":"^16.13.1","react-test-renderer":"^16.13.1","rollup":"^2.6.1","rollup-plugin-babel":"^4.4.0","rollup-plugin-typescript2":"^0.27.0","ts-loader":"^8.0.2","typescript":"^3.8.3"},"dependencies":{},"peerDependencies":{"react":"^16.13.1","react-dom":"^16.13.1"},"gitHead":"7d284672ee15854f2bc340370a2cf24c4bf26a23","_id":"react-to-text@1.0.1","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-CzOhwQaSEWMKH9NiY+567BmNsIm9e26EgqD0ErvIVRSbBKVcwia2tbHk7+pMyKvJ6BSMICtfGvXanGwDVUduuA==","shasum":"d487ebe19e8bc4700ccda2630c34ff00f1bcddd9","tarball":"https://registry.npmjs.org/react-to-text/-/react-to-text-1.0.1.tgz","fileCount":5,"unpackedSize":3623,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPTasCRA9TVsSAnZWagAAbdAP/A0e2oSTwDXvGoHX+YC7\ngx5yUeFwBanlWJLpmFAg6Li9jm9tGrdVQUP3WZGZV0Rfhi8rF2Vm+2sZFwfu\nfWhlDYRXJs6opGXq+hFYmhZqFxdW0eLCsNYJW20WDcozD/1XpqBlwJTbigoc\nSPrYR/tJtWEJHcRTh0ghPPioPqVHtXQ6UhrUgCFXtmPO73HR7nMK6UClMV6y\nO9735p+1Kd7MrLombUxbo0KG+sJr/WUSbpWpYmSQ38OwR4u/B9NP1bnCopUN\nLuf5uoR8jW5P0pcBCnhBkvP+UDkQiCzDI75I6SOsQNr7lMZ84LcjLls7oqAK\naOYFTUG8X6cvP2eAX7GR5FBFbw7tFvGD2WiyJDhmiD/cN7YSbNET3hIh4TYM\nz4pH+LISb3TeyRpat2Sw7yRO/4XbLNk0HVLdB6u6wfEWtS/alnQ42wequg78\nIAOUNXHhSN/sf6u2M2YfHIUix4bsVr5NKSBx/QCr3LkphJCLYqMyT8q4ZoIW\nDM8rQOaGiZH2tKIXUNQlOJu+DDSciIR5xr5rfpFPL3JhvyXEwvdYy2B7arYT\ngu80e+az7ctn/g0nhNZ2brzYqGULnGRP3ajuwVo60i/iNPqUrXXsqR+zCQBL\n7bsBk1nzVD3AgwJuUhprOo4m29TC9A90gse6a/CGUi92guoOEZz/cw/ogWhB\nbgSC\r\n=MLNF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGNuNCapSpEv69ocjQli7j7PZ6JKM2X7z50tKvZI4Cg9AiEA9Y5b1WZ30GUWivwsOTqdlyltI7SX/RnhGIl9pKT7xX4="}]},"maintainers":[{"name":"lukehansford","email":"mail@lukehansford.me"}],"_npmUser":{"name":"lukehansford","email":"mail@lukehansford.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-to-text_1.0.1_1597847212093_0.5744910433873782"},"_hasShrinkwrap":false},"1.1.0":{"name":"react-to-text","version":"1.1.0","description":"Convert react components to plain text without any HTML markup","keywords":["react","utility","typescript","conversion"],"homepage":"https://github.com/lhansford/react-to-text","bugs":{"url":"https://github.com/lhansford/react-to-text/issues","email":"mail@lukehansford.me"},"author":{"name":"Luke Hansford"},"license":"MIT","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"build":"rollup --config ./config/rollup.config.js","lint":"eslint src --ext .js,.ts,.jsx,.tsx","lint:fix":"yarn lint --fix","start":"rollup --config ./config/rollup.config.js -w","test":"jest --config ./config/jest.config.js","test:watch":"jest --watchAll","type-check":"tsc --noEmit","type-check:watch":"yarn type-check -- --watch"},"devDependencies":{"@babel/cli":"^7.17.6","@babel/core":"^7.17.8","@babel/plugin-proposal-object-rest-spread":"^7.17.3","@babel/plugin-transform-async-to-generator":"^7.16.8","@babel/preset-env":"^7.16.11","@babel/preset-react":"^7.16.7","@babel/preset-typescript":"^7.16.7","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-node-resolve":"^7.1.3","@types/jest":"^27.4.1","@types/react":"^17.0.41","@types/react-dom":"^17.0.14","@typescript-eslint/eslint-plugin":"^5.15.0","babel-jest":"^27.5.1","babel-loader":"^8.2.3","eslint":"^8.11.0","eslint-config-lukehansford-react":"^1.1.0","fork-ts-checker-webpack-plugin":"^7.2.1","jest":"^27.5.1","react":"^17.0.2","react-dom":"^17.0.2","react-test-renderer":"^17.0.2","rollup":"^2.70.1","rollup-plugin-babel":"^4.4.0","rollup-plugin-typescript2":"^0.31.2","ts-loader":"^9.2.8","typescript":"^4.6.2"},"dependencies":{},"peerDependencies":{"react":"^17.0.2","react-dom":"^17.0.2"},"gitHead":"055195aa30dc46860fe25d81e7d3402eba8a4f60","_id":"react-to-text@1.1.0","_nodeVersion":"12.22.10","_npmVersion":"6.14.16","dist":{"integrity":"sha512-LiNQO0E1ybvd1u2ILsUoPohCNZFeAlEFg5RMfdrrq0I+M6bB+7SBkGXX6OVSK49ysr8Be1ZAxs82zWn6dzO9+Q==","shasum":"b7402f02b93e0c7a0389d769f921b3678d214cbc","tarball":"https://registry.npmjs.org/react-to-text/-/react-to-text-1.1.0.tgz","fileCount":5,"unpackedSize":5223,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiNt5jACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqtBhAAkXNLFveNr39XF31PGzuVi6W0eHHH+53DhKs4wmeqwALWDp0s\r\neqOf5EhL6caGU0ypyJOmna+QiHrEfhkfmaDZxL05u6SVN3jpl9RbUsWkPuvD\r\nofOddAFC8kI6jG4JiIzSHdEaKQSF9Gtwc000uaCKUmobD5cVjwku6+/4p37Y\r\ne2dEQmSvbSL77OPDpJEKjhAVRVlbebQtn7rLIay9LZ31hk6JvpM8Wp/TEnbg\r\n5jwb38cIwbfdFM1CvkWrBCJc6lPxYtdJlh8q3/Xzloj1ztaKc6ORklJXaSf4\r\nOpbmeoROVg+dJ5LpAiRLkJ3ni2/KSNyKqcNzuWcdKTU3gCJQQsLBrsoTQaJe\r\nVJ93GA1y4XfXZ4qpeFM4zAKqEg1iyPYsjtDoVE5zjbQc43WwQS1ds4ZGBbRs\r\nfZiuNQ7lgPCdYGkZvGZbGKxlgiYvR+wwBPQ1L3TXu+38KXYRS+sxAfe+GeW/\r\n6/1CxQpmsa6FBuD+I6cbDxU5Z8gbQpCbioKjj7Z2+qXsn2c00k1BNHB9ev3Q\r\nYAtNVdMsJ2h6MHW/QER1pP92L1FveIKc4l5y5hjNR5pGhICPb5RVI/CwdAiU\r\ndo7/+boefBlJU2tmkSNivP7It6nUVu7jR2BE5QBAjc1a1xmVB9699+Holo41\r\n1iC2xwWUe1mhhFG+jI4BeGjSV5gNWYzqxpE=\r\n=bBFy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCx8TQFEXY9oShiuDiJ+Fbojnyy7vgtwRbnCUMlwHxVyAIhAIZxrowX/SFDwfRgLP8HLa1g/V/QHxsQhPvD8mcEDZyc"}]},"_npmUser":{"name":"lukehansford","email":"mail@lukehansford.me"},"directories":{},"maintainers":[{"name":"lukehansford","email":"mail@lukehansford.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-to-text_1.1.0_1647763043575_0.7314302006121505"},"_hasShrinkwrap":false},"2.0.1":{"name":"react-to-text","version":"2.0.1","description":"Convert react components to plain text without any HTML markup","keywords":["react","utility","typescript","conversion"],"homepage":"https://github.com/lhansford/react-to-text","bugs":{"url":"https://github.com/lhansford/react-to-text/issues","email":"mail@lukehansford.me"},"author":{"name":"Luke Hansford"},"license":"MIT","source":"./src/index.tsx","main":"./dist/index.js","module":"dist/module.js","types":"./dist/index.d.ts","scripts":{"build":"parcel build","lint":"eslint src --ext .js,.ts,.jsx,.tsx","lint:fix":"yarn lint --fix","test":"jest --config ./config/jest.config.js","test:watch":"jest --watchAll"},"devDependencies":{"@parcel/packager-ts":"2.8.3","@parcel/transformer-typescript-types":"2.8.3","@types/jest":"^29.5.0","@types/react":"^18.0.28","@types/react-dom":"^18.0.11","eslint":"^8.36.0","eslint-config-lukehansford-react":"^1.2.0","jest":"^29.5.0","parcel":"^2.8.3","react":"^18.2.0","react-dom":"^18.2.0","react-test-renderer":"^18.2.0","ts-jest":"^29.0.5","typescript":"^5.0.2"},"dependencies":{},"peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0"},"gitHead":"80c7242e5108acd74339a99ae7fa3626b4d22418","_id":"react-to-text@2.0.1","_nodeVersion":"16.19.1","_npmVersion":"8.19.3","dist":{"integrity":"sha512-4lGuxY+/PqASinxrv7/ydE8wGdnZCGsTNIFiO6DKykzy703jI5pc0/fyyB6BNrBWmtYJ7H9dGY80PJ3V1/8UIg==","shasum":"6a6c1b6c9cf2de6a7e7117b6fff1d7b25d1b4cd3","tarball":"https://registry.npmjs.org/react-to-text/-/react-to-text-2.0.1.tgz","fileCount":9,"unpackedSize":11726,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDpxsxTRl7UyooOyC6PBctB6Tpmb8JblGwphKG3/QvDfAiAC2uMeL2du6f5GdEbRSu6GPYDL7p7ELvTwhtVs62wz0A=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkFYPeACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq43Q/+P3XDdH9Aq/OO6oxWZumN2IZOhCEEx8o5RGmU4eEzykoCKXF2\r\nu60S1qEcdqZConD4W4T4SsJxDDbnbXlOiKLtxQQEukdOEpPuegbUmr1C1d8X\r\nq6+yQnMzUDouTUgMxMInYI0TVDXX15sdHOshOsiaKmkemT7wHeAit3aXepas\r\npsfoc4PUj6w9sFdN7xVVElBC0/i95wB0SYGxDfoDRcmwo6Zw7Jv4LDhchLA2\r\n7bj7/KI5s4jf53frN6S/UjEzzk774YR6EJzZVtmjO9KcH2tZ9V0iT8kzr1U9\r\n7QFvd0c4ub2h0NU6d+Mvbm8xJ8m7c5tD5+6gcJUQRWsC0spqApT3gJYm6eF2\r\nELE/Z9d0dqLT8BMfQAI2xdKZXL9ElzJSrcOZLh1kmxOM4fd0G+QPG0H0A9AQ\r\nsd+k9G4rhZ+aHQoBlg5bK3dtjns6N+gsTZWlwj9ua3J8VxQf7R6UzWvM2zAB\r\nq7xY0KcFsx4gfrna1lNItbraxuvZQ7sDy062TQ4JllxQFp2fMZHgSh0OT3uC\r\ng16ArbEWwpd96ljBUULJGsJ2ozzsqKGhsNm3PhgP1V5dBb7wR0oWrJH6ZYyO\r\nNPIT7rWZ3GjBVABqPrfgN7+ds35sO+FvccjrZUcCmqfbAClNUyftImJXmu5M\r\nVkadezyis9+sWuJ7RcCn12yUBWHtUsnvMWg=\r\n=nTbv\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"lukehansford","email":"mail@lukehansford.me"},"directories":{},"maintainers":[{"name":"lukehansford","email":"mail@lukehansford.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-to-text_2.0.1_1679131613883_0.7583172291805778"},"_hasShrinkwrap":false}},"time":{"created":"2020-08-17T14:04:36.668Z","1.0.0":"2020-08-17T14:04:36.813Z","modified":"2023-03-18T09:26:54.192Z","1.0.1":"2020-08-19T14:26:52.194Z","1.1.0":"2022-03-20T07:57:23.732Z","2.0.1":"2023-03-18T09:26:54.069Z"},"maintainers":[{"name":"lukehansford","email":"mail@lukehansford.me"}],"description":"Convert react components to plain text without any HTML markup","author":{"name":"Luke Hansford"},"license":"MIT","readme":"# react-to-text\n\n![npm](https://img.shields.io/npm/v/react-to-text)\n![CI](https://github.com/lhansford/react-to-text/workflows/CI/badge.svg)\n\nConvert react components to plain text without any HTML markup. Written in Typscript with zero dependencies.\n\n## Installation\n\n```sh\nyarn add react-to-text\nnpm install --save react-to-text\n```\n\n## Usage\n\n### Out of the box\n\nreact-to-text takes in any React component and will return the text content (without any HTML). It\nwill accept any value React can render (strings, arrays, Fragments, etc.), and can handle deeply\nnested components.\n\n```JSX\nimport reactToText from 'react-to-text';\n\nconst text = reactToText(\n  <div>\n    We sell <a href=\"/apples\">apples</a> and <a href=\"/oranges\"> oranges</a>.\n  </div>\n)\n\nconsole.log(text);\n> \"We sell apples and oranges.\"\n```\n\n### Custom logic\n\nThe default logic won't always work, for example when you have a custom component which simply renders one of it's props.\nIn this case you can define custom stringification behavior using a second argument.\n\n```jsx\nimport reactToText, { ResolverMap } from 'react-to-text';\n\nconst CustomComponent: React.FC<{ title: string }> = (props) => <p>{props.title}</p>;\n\n// since this component does not have any direct children\n// it will not output anything by default\nconsole.log(reactToText(<CustomComponent title=\"foo\" />));\n> \"\"\n\n// using a custom resolver map using the custom component as it's key\n// and the stringification logic as it's value, we can adjust this behavior\nconst resolvers: ResolverMap = new Map([\n  [CustomComponent, (props: { title: string }) => props.title],\n]);\nconsole.log(reactToText(<CustomComponent title=\"foo\" />, resolvers));\n> \"foo\"\n```\n\n## Deploying\n\nDeploys to NPM are automatically run when a release is created in Github (see [`.github/workflows/npm-publish.yml`](.github/workflows/npm-publish.yml)).\n\n## License\n\nLicensed under MIT.\n","readmeFilename":"README.md","homepage":"https://github.com/lhansford/react-to-text","keywords":["react","utility","typescript","conversion"],"bugs":{"url":"https://github.com/lhansford/react-to-text/issues","email":"mail@lukehansford.me"}}