{"_id":"with-url-state","_rev":"28-16bb699c29e998da2ccedf7bcae1408f","name":"with-url-state","description":"[![CircleCI](https://circleci.com/gh/Dean177/use-url-state.svg?style=shield)](https://circleci.com/gh/Dean177/use-url-state) [![codecov](https://codecov.io/gh/Dean177/with-url-state/branch/master/graph/badge.svg)](https://codecov.io/gh/Dean177/with-url-st","dist-tags":{"latest":"3.0.0-beta.3","beta":"2.0.0-beta.5"},"versions":{"0.0.1":{"author":{"name":"Dean Merchant"},"name":"with-url-state","version":"0.0.1","dependencies":{"lodash":"4.17.4","query-string":"5.0.0"},"peerDependencies":{"history":"4.6.x","react":"15.6.x","react-dom":"15.6.x"},"devDependencies":{"@types/enzyme":"2.8.4","@types/history":"4.6.0","@types/jest":"20.0.5","@types/lodash":"4.14.71","@types/query-string":"5.0.0","@types/react":"15.6.0","@types/react-dom":"15.5.1","concurrently":"3.5.0","enzyme":"2.9.1","history":"4.6.3","jest":"20.0.4","jsdom":"11.1.0","react":"15.6.1","react-dom":"15.6.1","react-test-renderer":"15.6.1","ts-jest":"20.0.7","typescript":"2.4.2"},"jest":{"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}"],"coveragePathIgnorePatterns":["<rootDir>/src/index.ts"],"coverageReporters":["text"],"mapCoverage":true,"moduleFileExtensions":["ts","tsx","js","json"],"setupTestFrameworkScriptFile":"<rootDir>/setupTestFramework.js","testEnvironment":"node","testMatch":["<rootDir>/src/**/?(*.)(spec|test).ts?(x)"],"transform":{".(ts|tsx)":"<rootDir>/node_modules/ts-jest/preprocessor.js"}},"license":"MIT","main":"dist/withUrlState.js","types":"dist/withUrlState.d.ts","scripts":{"build":"rm -rf dist && tsc","build:dev":"tsc --noEmit --pretty --watch","dev":"concurrently -n \"make,test\" \"npm run build:dev\" \"npm run test:dev\"","test":"jest --coverage","test:dev":"jest --watch","prepublish":"npm run test && npm run build"},"description":"Lifts state out of a react component and into the url","licenseText":"Copyright 2017 Dean Merchant\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","_id":"with-url-state@0.0.1","dist":{"shasum":"7e891ceac4002600e775f998bc4a82b8d31b6853","tarball":"https://registry.npmjs.org/with-url-state/-/with-url-state-0.0.1.tgz","integrity":"sha512-/4EbmKt1mHL8W3AljUZ746ao6fN5tRYuHoAwhsMkdDq6+YUQ6LOoqCdUS7knpjwSKDCiPvjuKhTYJ4vx0oLgGQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID1tGHGnKZiU69pwI/fHOquzxF5No5h02akAfxAdVkeUAiA2FYmjgc+gROaRf1KZsk8wiZQFQLWxMZRvNO1JiD0+Cw=="}]},"maintainers":[{"name":"dean177","email":"deanmerchant@gmail.com"}],"_npmUser":{"name":"dean177","email":"deanmerchant@gmail.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/with-url-state-0.0.1.tgz_1501355087954_0.9638280163053423"},"directories":{}},"0.0.2":{"author":{"name":"Dean Merchant"},"name":"with-url-state","version":"0.0.2","dependencies":{"lodash":"4.17.4","query-string":"5.0.0"},"peerDependencies":{"history":"4.6.x","react":"15.6.x","react-dom":"15.6.x"},"devDependencies":{"@types/enzyme":"2.8.4","@types/history":"4.6.0","@types/jest":"20.0.5","@types/lodash":"4.14.71","@types/query-string":"5.0.0","@types/react":"15.6.0","@types/react-dom":"15.5.1","concurrently":"3.5.0","enzyme":"2.9.1","history":"4.6.3","jest":"20.0.4","jsdom":"11.1.0","react":"15.6.1","react-dom":"15.6.1","react-test-renderer":"15.6.1","ts-jest":"20.0.7","typescript":"2.4.2"},"jest":{"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}"],"coveragePathIgnorePatterns":["<rootDir>/src/index.ts"],"coverageReporters":["text"],"mapCoverage":true,"moduleFileExtensions":["ts","tsx","js","json"],"setupTestFrameworkScriptFile":"<rootDir>/setupTestFramework.js","testEnvironment":"node","testMatch":["<rootDir>/src/**/?(*.)(spec|test).ts?(x)"],"transform":{".(ts|tsx)":"<rootDir>/node_modules/ts-jest/preprocessor.js"}},"license":"MIT","files":["dist"],"main":"dist/withUrlState.js","types":"dist/withUrlState.d.ts","scripts":{"build":"rm -rf dist && tsc","build:dev":"tsc --noEmit --pretty --watch","dev":"concurrently -n \"make,test\" \"npm run build:dev\" \"npm run test:dev\"","test":"jest --coverage","test:dev":"jest --watch","prepublish":"npm run test && npm run build"},"description":"Lifts state out of a react component and into the url","licenseText":"Copyright 2017 Dean Merchant\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","_id":"with-url-state@0.0.2","dist":{"shasum":"b7670b7c1dc477017f7cb2de1c454f16601f2dc2","tarball":"https://registry.npmjs.org/with-url-state/-/with-url-state-0.0.2.tgz","integrity":"sha512-CTOY1nIrsuEPOYbJ+2gHRdFltGK/Oj6tlOMtra7ME8yOlwZRCXkK+VSvB+TP9dV7x2/feiOl9ks5Lp94hFXxXg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDKmBZTO5nSefXFedbfGdefsL+AByRj29PDmmnZVoVn1QIhAL22asMqPmdTASxt79qU4GLCUqqulveD0Zpz+WO6kd7n"}]},"maintainers":[{"name":"dean177","email":"deanmerchant@gmail.com"}],"_npmUser":{"name":"dean177","email":"deanmerchant@gmail.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/with-url-state-0.0.2.tgz_1501423825169_0.17985119530931115"},"directories":{}},"1.0.0":{"author":{"name":"Dean Merchant"},"name":"with-url-state","version":"1.0.0","dependencies":{"lodash":"~4.17.4","query-string":"~5.0.0"},"peerDependencies":{"history":"4.x","react":"15.x || 16.x","react-dom":"15.x || 16.x"},"devDependencies":{"@types/enzyme":"3.1.0","@types/history":"4.6.1","@types/jest":"21.1.4","@types/lodash":"4.14.77","@types/query-string":"5.0.0","@types/react":"16.0.14","@types/react-dom":"16.0.1","concurrently":"3.5.0","enzyme":"3.1.0","enzyme-adapter-react-16":"1.0.2","history":"4.7.2","jest":"21.2.1","jsdom":"11.3.0","react":"16.0.0","react-dom":"16.0.0","react-test-renderer":"16.0.0","ts-jest":"21.1.3","typescript":"2.5.3"},"jest":{"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}"],"coveragePathIgnorePatterns":["<rootDir>/src/index.ts"],"coverageReporters":["text"],"mapCoverage":true,"moduleFileExtensions":["ts","tsx","js","json"],"setupTestFrameworkScriptFile":"<rootDir>/setupTestFramework.js","testEnvironment":"node","testMatch":["<rootDir>/src/**/?(*.)(spec|test).ts?(x)"],"transform":{".(ts|tsx)":"<rootDir>/node_modules/ts-jest/preprocessor.js"}},"license":"MIT","files":["dist"],"main":"dist/withUrlState.js","types":"dist/withUrlState.d.ts","repository":{"type":"git","url":"git@github.com:Dean177/with-url-state.git"},"scripts":{"build":"rm -rf dist && tsc","build:dev":"tsc --noEmit --pretty --watch","dev":"concurrently -n \"make,test\" \"npm run build:dev\" \"npm run test:dev\"","test":"jest --coverage","test:dev":"jest --watch","prepublish":"npm run test && npm run build"},"description":"Lifts state out of a react component and into the url","licenseText":"Copyright 2017 Dean Merchant\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","_id":"with-url-state@1.0.0","dist":{"shasum":"8bbaa57fecddd0f3129c1cc730b170ed95cd1aa4","tarball":"https://registry.npmjs.org/with-url-state/-/with-url-state-1.0.0.tgz","integrity":"sha512-UB4X6OYOqhKNJGk7I3ZtY2D4Y0aKvZkBscXB7afM9Vn5COd6C9sIMlTxrBUcHgtnvgz5eCUvXAtMQ6ju8EAvRA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCOMN4bxJiVexUpyuhu6N1UqT/TVu4EiifOc5iE3PHrDgIgaCUSh65Ue3fC3BOoiJiHgYjJ0NVg9KHzYyX81yZyfXY="}]},"maintainers":[{"name":"dean177","email":"deanmerchant@gmail.com"}],"_npmUser":{"name":"dean177","email":"deanmerchant@gmail.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/with-url-state-1.0.0.tgz_1508425125748_0.7320047474931926"},"directories":{}},"1.1.0":{"author":{"name":"Dean Merchant"},"name":"with-url-state","version":"1.1.0","dependencies":{"lodash":"^4.17.4","query-string":"^5.0.1"},"peerDependencies":{"history":"4.6.x || 4.7.x","react":"15.x || 16.x","react-dom":"15.x || 16.x"},"devDependencies":{"@types/enzyme":"3.1.1","@types/history":"4.6.1","@types/jest":"21.1.5","@types/lodash":"4.14.80","@types/query-string":"5.0.1","@types/react":"16.0.18","@types/react-dom":"16.0.2","concurrently":"3.5.0","enzyme":"3.1.0","enzyme-adapter-react-16":"1.0.2","history":"4.7.2","jest":"21.2.1","jsdom":"11.3.0","react":"16.0.0","react-dom":"16.0.0","react-test-renderer":"16.0.0","ts-jest":"21.1.3","tslint":"5.8.0","typescript":"2.5.3"},"jest":{"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}"],"coveragePathIgnorePatterns":["<rootDir>/src/index.ts"],"coverageReporters":["text"],"mapCoverage":true,"moduleFileExtensions":["ts","tsx","js","json"],"setupTestFrameworkScriptFile":"<rootDir>/setupTestFramework.js","testEnvironment":"node","testMatch":["<rootDir>/src/**/?(*.)(spec|test).ts?(x)"],"transform":{".(ts|tsx)":"<rootDir>/node_modules/ts-jest/preprocessor.js"}},"license":"MIT","files":["dist"],"main":"dist/withUrlState.js","types":"dist/withUrlState.d.ts","scripts":{"build":"rm -rf dist && tsc && yarn build:docs","build:docs":"rm -rf docs && cd example && yarn && yarn build && cp -r ./build ../docs","build:dev":"tsc --noEmit --pretty --watch","dev":"concurrently -n \"make,test\" \"npm run build:dev\" \"npm run test:dev\"","lint":"tslint src/**/*.ts example/src/**.*.tsx","test":"jest --coverage","test:dev":"jest --watch","prepublish":"npm run test && npm run build"},"description":"Lifts state out of a react component and into the url","licenseText":"Copyright 2017 Dean Merchant\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","_id":"with-url-state@1.1.0","dist":{"shasum":"2500f021f291004e1f8f15b66b1e62d77072f3a5","tarball":"https://registry.npmjs.org/with-url-state/-/with-url-state-1.1.0.tgz","integrity":"sha512-HJ9DudBLt+7Vfc3JN/YjtX9Glamkv2zDu5nmiLmBnkuWjvSznvOCPvFJSYztlrr0IaymmH5J/on5FMD9GnBxlA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC+ss8i81igvPCw8/N6fCSMHuPa0gGFVYAZ09OPGYuNWgIgZzuzP9fP72Udx9mlZQFfdnf9TUg0XVcd2zpBBVy4uZo="}]},"maintainers":[{"name":"dean177","email":"deanmerchant@gmail.com"}],"_npmUser":{"name":"dean177","email":"deanmerchant@gmail.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/with-url-state-1.1.0.tgz_1508963551847_0.39364677970297635"},"directories":{}},"1.2.0":{"author":{"name":"Dean Merchant"},"name":"with-url-state","version":"1.2.0","dependencies":{"lodash":"^4.17.4","query-string":"^5.0.1"},"peerDependencies":{"history":"4.6.x || 4.7.x","react":"15.x || 16.x","react-dom":"15.x || 16.x"},"devDependencies":{"@types/enzyme":"3.1.1","@types/history":"4.6.1","@types/jest":"21.1.5","@types/lodash":"4.14.80","@types/query-string":"5.0.1","@types/react":"16.0.18","@types/react-dom":"16.0.2","concurrently":"3.5.0","enzyme":"3.1.0","enzyme-adapter-react-16":"1.0.2","history":"4.7.2","jest":"21.2.1","jsdom":"11.3.0","react":"16.0.0","react-dom":"16.0.0","react-test-renderer":"16.0.0","ts-jest":"21.1.3","tslint":"5.8.0","typescript":"2.5.3"},"jest":{"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}"],"coveragePathIgnorePatterns":["<rootDir>/src/index.ts"],"coverageReporters":["text"],"mapCoverage":true,"moduleFileExtensions":["ts","tsx","js","json"],"setupTestFrameworkScriptFile":"<rootDir>/setupTestFramework.js","testEnvironment":"node","testMatch":["<rootDir>/src/**/?(*.)(spec|test).ts?(x)"],"transform":{".(ts|tsx)":"<rootDir>/node_modules/ts-jest/preprocessor.js"}},"license":"MIT","files":["dist"],"main":"dist/withUrlState.js","types":"dist/withUrlState.d.ts","scripts":{"build":"rm -rf dist && tsc && yarn build:docs","build:docs":"rm -rf docs && cd example && yarn && yarn build && cp -r ./build ../docs","build:dev":"tsc --noEmit --pretty --watch","dev":"concurrently -n \"make,test\" \"npm run build:dev\" \"npm run test:dev\"","lint":"tslint src/**/*.ts example/src/**.*.tsx","test":"jest --coverage","test:dev":"jest --watch","prepublish":"npm run test && npm run build"},"description":"Lifts state out of a react component and into the url","licenseText":"Copyright 2017 Dean Merchant\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","_id":"with-url-state@1.2.0","dist":{"shasum":"8de069758412e6ddaa73135322360d0bf6c36d2e","tarball":"https://registry.npmjs.org/with-url-state/-/with-url-state-1.2.0.tgz","integrity":"sha512-Fq1AUsnhOR7abp6tMKl60YZ6TEz74Zf/aJ5/zOY1aQL0QpUy0Zv0KIyIJljgvZcJPkkzsdUxO439wuW0O7g0hw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCNw0/na6PYWNR2mNjpbXVg7yQvcmkWrzHfkIAStxUbjgIgS4nUxLXNTYVDGzN0pVMTbw95EJG9S+uNLZ/zpkapcag="}]},"maintainers":[{"name":"dean177","email":"deanmerchant@gmail.com"}],"_npmUser":{"name":"dean177","email":"deanmerchant@gmail.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/with-url-state-1.2.0.tgz_1509047040187_0.25983825395815074"},"directories":{}},"1.2.1":{"author":{"name":"Dean Merchant"},"name":"with-url-state","version":"1.2.1","dependencies":{"query-string":"^5.0.1"},"peerDependencies":{"history":"4.6.x || 4.7.x","react":"15.x || 16.x","react-dom":"15.x || 16.x"},"devDependencies":{"@types/enzyme":"3.1.6","@types/history":"4.6.2","@types/jest":"22.0.1","@types/lodash":"4.14.92","@types/query-string":"5.0.1","@types/react":"16.0.21","@types/react-dom":"16.0.3","codecov":"3.0.0","concurrently":"3.5.1","enzyme":"3.3.0","enzyme-adapter-react-16":"1.1.1","history":"4.7.2","jest":"21.2.1","jsdom":"11.4.0","react":"16.2.0","react-dom":"16.1.0","react-test-renderer":"16.2.0","ts-jest":"22.0.1","tslint":"5.9.0","tslint-react":"3.4.0","typescript":"2.6.2"},"jest":{"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}"],"coveragePathIgnorePatterns":["<rootDir>/src/index.ts"],"mapCoverage":true,"moduleFileExtensions":["ts","tsx","js","json"],"setupTestFrameworkScriptFile":"<rootDir>/setupTestFramework.js","testEnvironment":"node","testMatch":["<rootDir>/src/**/?(*.)(spec|test).ts?(x)"],"transform":{".(ts|tsx)":"<rootDir>/node_modules/ts-jest/preprocessor.js"}},"license":"MIT","files":["dist"],"main":"dist/withUrlState.js","types":"dist/withUrlState.d.ts","scripts":{"build":"rm -rf dist && tsc --pretty && yarn build:docs","build:docs":"rm -rf docs && cd example && yarn && yarn build && cp -r ./build ../docs","lint":"tslint ./src/**/*.ts ./src/**/*.tsx ./example/src/**/*.tsx","prepublish":"yarn build && yarn lint && yarn test","report-coverage":"codecov","start":"tsc --pretty --watch","test":"jest"},"description":"[![CircleCI](https://circleci.com/gh/Dean177/with-url-state.svg?style=shield)](https://circleci.com/gh/Dean177/with-url-state) [![codecov](https://codecov.io/gh/Dean177/with-url-state/branch/master/graph/badge.svg)](https://codecov.io/gh/Dean177/with-url-","licenseText":"Copyright 2017 Dean Merchant\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","_id":"with-url-state@1.2.1","dist":{"shasum":"1c9bf96b30b6f3e66d3866f0c6a2de3979f6fe4c","tarball":"https://registry.npmjs.org/with-url-state/-/with-url-state-1.2.1.tgz","integrity":"sha512-k0rayHbS5JO+nDGfzaEM24wdVpOkIa74q+y5TUvZk4Lf4oFovTJuBZaVbSVWU0K5YsfFi//X4z7SCqVl0R9xVw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICtWBd41yi/ZifooXUFmgdwPDD/PKSRJwsrVrK35aDY5AiEA9uS1cs95CLIyrsIfNHInPCXcJazshEc7P4QjcW25TmA="}]},"maintainers":[{"name":"dean177","email":"deanmerchant@gmail.com"}],"_npmUser":{"name":"dean177","email":"deanmerchant@gmail.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/with-url-state-1.2.1.tgz_1516224617918_0.9693511510267854"},"directories":{}},"2.0.0-beta.0":{"author":{"name":"Dean Merchant"},"name":"with-url-state","version":"2.0.0-beta.0","dependencies":{"query-string":"6.0.0"},"peerDependencies":{"history":"4.6.x || 4.7.x","react":"15.x || 16.x","react-dom":"15.x || 16.x"},"devDependencies":{"@types/enzyme":"3.1.9","@types/history":"4.6.2","@types/jest":"22.2.2","@types/lodash":"4.14.106","@types/qs":"6.5.1","@types/query-string":"5.1.0","@types/react":"16.3.2","@types/react-dom":"16.0.4","codecov":"3.0.0","concurrently":"3.5.1","enzyme":"3.3.0","enzyme-adapter-react-16":"1.1.1","history":"4.7.2","jest":"22.4.3","jsdom":"11.7.0","qs":"6.5.1","react":"16.3.0","react-dom":"16.3.0","react-test-renderer":"16.3.0","ts-jest":"22.4.2","tslint":"5.9.1","tslint-react":"3.5.1","typescript":"2.8.1"},"jest":{"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}"],"coveragePathIgnorePatterns":["<rootDir>/src/index.ts"],"moduleFileExtensions":["ts","tsx","js","json"],"setupTestFrameworkScriptFile":"<rootDir>/setupTestFramework.js","testEnvironment":"node","testMatch":["<rootDir>/src/**/?(*.)(spec|test).ts?(x)"],"transform":{".(ts|tsx)":"<rootDir>/node_modules/ts-jest/preprocessor.js"}},"license":"MIT","files":["dist"],"main":"dist/withUrlState.js","types":"dist/withUrlState.d.ts","scripts":{"build":"rm -rf dist && tsc --pretty && yarn build:docs","build:docs":"rm -rf docs && cd example && yarn && yarn build && cp -r ./build ../docs","lint":"tslint ./src/**/*.ts ./src/**/*.tsx ./example/src/**/*.tsx","prepublish":"yarn build && yarn lint && yarn test","report-coverage":"codecov","start":"tsc --pretty --watch","test":"jest"},"readmeFilename":"Readme.md","readme":"# with-url-state\n\n[![CircleCI](https://circleci.com/gh/Dean177/with-url-state.svg?style=shield)](https://circleci.com/gh/Dean177/with-url-state)\n[![codecov](https://codecov.io/gh/Dean177/with-url-state/branch/master/graph/badge.svg)](https://codecov.io/gh/Dean177/with-url-state)\n[![Greenkeeper badge](https://badges.greenkeeper.io/Dean177/with-url-state.svg)](https://greenkeeper.io/)\n[![Npm](https://badge.fury.io/js/with-url-state.svg)](https://www.npmjs.com/package/with-url-state)\n\nLifts the state out of a react component and into the url\n\n![color-example](./example/color-example.gif)\n\nThis package allows applications to retrieve the state from a react component and appends it to the url.\n\n## Installation\n\nTo install with npm use \n\n`npm install with-url-state --save`\n\nTo install with yarn use \n\n`yarn add with-url-state`\n\n## Usage\n\nCheck out the [demo](https://dean177.github.io/with-url-state/), the [example/](https://github.com/Dean177/with-url-state/tree/master/example) directory, or play with it in [CodeSandbox](https://codesandbox.io/s/wwlz40ry65).\n\nUsing javascript\n\n```javascript\nimport React from 'react';\nimport { withUrlState } from 'with-url-state';\n\nexport const UrlForm = (props) => (\n  <div className=\"UrlForm\">\n    <div className=\"current-state\" style={{ backgroundColor: props.urlState.color}}>\n      <div>{props.urlState.color}</div>\n    </div>\n    <div className=\"color-buttons\">\n      <button className=\"Red\" onClick={() => props.setUrlState({ color: 'red' })}>\n        Red\n      </button>\n      <button className=\"Green\" onClick={() => props.setUrlState({ color: 'green' })}>\n        Green\n      </button>\n      <button className=\"Blue\" onClick={() => props.setUrlState({ color: 'blue' })}>\n        Blue\n      </button>\n    </div>\n  </div>\n);\n\nexport default withUrlState((props) => ({ color: 'blue' }))(UrlForm);\n```\n\nUsing typescript\n\n```typescript\nimport * as React from 'react';\nimport { withUrlState, UrlStateProps } from 'with-url-state';\n\n\ntype OwnProps = {};\ntype LiftedState = { color: string };\n\nexport const UrlForm = (props: OwnProps & UrlStateProps<LiftedState>) => (\n  <div className=\"UrlForm\">\n    <div className=\"current-state\" style={{ backgroundColor: props.urlState.color}}>\n      <div>{props.urlState.color}</div>\n    </div>\n    <div className=\"color-buttons\">\n      <button className=\"Red\" onClick={() => props.setUrlState({ color: 'red' })}>\n        Red\n      </button>\n      <button className=\"Green\" onClick={() => props.setUrlState({ color: 'green' })}>\n        Green\n      </button>\n      <button className=\"Blue\" onClick={() => props.setUrlState({ color: 'blue' })}>\n        Blue\n      </button>\n    </div>\n  </div>\n);\n\nexport default withUrlState<OwnProps, LiftedState>((prop: OwnProps) => ({ color: 'blue' }))(UrlForm);\n\n```\n\n## Motivation\n\n`with-url-state` automates the query parameter manipulations, simplifying URL sharing for search results, querying data or tracking a visible portion of a map.\n\nThe api provided is:****\n- based on [higer-order-components](https://reactjs.org/docs/higher-order-components.html) which makes it composable and testable\n- type-safe thanks to [Typescript](https://www.typescriptlang.org/)   \n- very similar to [Reacts built in state](https://reactjs.org/docs/state-and-lifecycle.html) apis, so converting a component which already manages state is usually as simple as replacing `setState` with `setUrlState`!\n","description":"[![CircleCI](https://circleci.com/gh/Dean177/with-url-state.svg?style=shield)](https://circleci.com/gh/Dean177/with-url-state) [![codecov](https://codecov.io/gh/Dean177/with-url-state/branch/master/graph/badge.svg)](https://codecov.io/gh/Dean177/with-url-","licenseText":"Copyright 2017 Dean Merchant\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","_id":"with-url-state@2.0.0-beta.0","dist":{"shasum":"b4328b082f96f9055ba805f40f9c51a72d8b0a56","tarball":"https://registry.npmjs.org/with-url-state/-/with-url-state-2.0.0-beta.0.tgz","fileCount":7,"unpackedSize":11672,"integrity":"sha512-u5Mw3krvgen8ynVMhS71AHwUBQCokMeEdoYH3k5Qw9d3mZfJR3VcWWben8N7tvq6lN4Hhx5nXNapVNRdSWQPZQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCjqen4/xxfJPY5ch4adc1kXbPlo9WRGG/w4vXv2+YHAQIgf+ie8BAjyZHQupKjy6rx6iGAAHrJ+V8PmagfsVDfou4="}]},"maintainers":[{"name":"dean177","email":"deanmerchant@gmail.com"}],"_npmUser":{"name":"dean177","email":"deanmerchant@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/with-url-state_2.0.0-beta.0_1522862650914_0.6455684321976829"},"_hasShrinkwrap":false},"2.0.0-beta.1":{"author":{"name":"Dean Merchant"},"name":"with-url-state","version":"2.0.0-beta.1","dependencies":{"@types/history":"^4.6.2","query-string":"6.0.0"},"peerDependencies":{"history":"4.6.x || 4.7.x","react":"15.x || 16.x","react-dom":"15.x || 16.x"},"devDependencies":{"@types/enzyme":"3.1.9","@types/jest":"22.2.2","@types/lodash":"4.14.106","@types/qs":"6.5.1","@types/query-string":"5.1.0","@types/react":"16.3.2","@types/react-dom":"16.0.4","codecov":"3.0.0","concurrently":"3.5.1","enzyme":"3.3.0","enzyme-adapter-react-16":"1.1.1","history":"4.7.2","jest":"22.4.3","jsdom":"11.7.0","qs":"6.5.1","react":"16.3.0","react-dom":"16.3.0","react-test-renderer":"16.3.0","ts-jest":"22.4.2","tslint":"5.9.1","tslint-react":"3.5.1","typescript":"2.8.1"},"jest":{"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}"],"coveragePathIgnorePatterns":["<rootDir>/src/index.ts"],"moduleFileExtensions":["ts","tsx","js","json"],"setupTestFrameworkScriptFile":"<rootDir>/setupTestFramework.js","testEnvironment":"node","testMatch":["<rootDir>/src/**/?(*.)(spec|test).ts?(x)"],"transform":{".(ts|tsx)":"<rootDir>/node_modules/ts-jest/preprocessor.js"}},"license":"MIT","files":["dist"],"main":"dist/withUrlState.js","types":"dist/withUrlState.d.ts","scripts":{"build":"rm -rf dist && tsc --pretty && yarn build:docs","build:docs":"rm -rf docs && cd example && yarn && yarn build && cp -r ./build ../docs","lint":"tslint ./src/**/*.ts ./src/**/*.tsx ./example/src/**/*.tsx","prepublish":"yarn build && yarn lint && yarn test","report-coverage":"codecov","start":"tsc --pretty --watch","test":"jest"},"readmeFilename":"Readme.md","readme":"# with-url-state\n\n[![CircleCI](https://circleci.com/gh/Dean177/with-url-state.svg?style=shield)](https://circleci.com/gh/Dean177/with-url-state)\n[![codecov](https://codecov.io/gh/Dean177/with-url-state/branch/master/graph/badge.svg)](https://codecov.io/gh/Dean177/with-url-state)\n[![Greenkeeper badge](https://badges.greenkeeper.io/Dean177/with-url-state.svg)](https://greenkeeper.io/)\n[![Npm](https://badge.fury.io/js/with-url-state.svg)](https://www.npmjs.com/package/with-url-state)\n\nLifts the state out of a react component and into the url\n\n![color-example](./example/color-example.gif)\n\nThis package allows applications to retrieve the state from a react component and appends it to the url.\n\n## Installation\n\nTo install with npm use \n\n`npm install with-url-state --save`\n\nTo install with yarn use \n\n`yarn add with-url-state`\n\n## Usage\n\nCheck out the [demo](https://dean177.github.io/with-url-state/), the [example/](https://github.com/Dean177/with-url-state/tree/master/example) directory, or play with it in [CodeSandbox](https://codesandbox.io/s/wwlz40ry65).\n\nUsing javascript\n\n```javascript\nimport React from 'react';\nimport { withUrlState } from 'with-url-state';\n\nexport const UrlForm = (props) => (\n  <div className=\"UrlForm\">\n    <div className=\"current-state\" style={{ backgroundColor: props.urlState.color}}>\n      <div>{props.urlState.color}</div>\n    </div>\n    <div className=\"color-buttons\">\n      <button className=\"Red\" onClick={() => props.setUrlState({ color: 'red' })}>\n        Red\n      </button>\n      <button className=\"Green\" onClick={() => props.setUrlState({ color: 'green' })}>\n        Green\n      </button>\n      <button className=\"Blue\" onClick={() => props.setUrlState({ color: 'blue' })}>\n        Blue\n      </button>\n    </div>\n  </div>\n);\n\nexport default withUrlState((props) => ({ color: 'blue' }))(UrlForm);\n```\n\nUsing typescript\n\n```typescript\nimport * as React from 'react';\nimport { withUrlState, UrlStateProps } from 'with-url-state';\n\n\ntype OwnProps = {};\ntype LiftedState = { color: string };\n\nexport const UrlForm = (props: OwnProps & UrlStateProps<LiftedState>) => (\n  <div className=\"UrlForm\">\n    <div className=\"current-state\" style={{ backgroundColor: props.urlState.color}}>\n      <div>{props.urlState.color}</div>\n    </div>\n    <div className=\"color-buttons\">\n      <button className=\"Red\" onClick={() => props.setUrlState({ color: 'red' })}>\n        Red\n      </button>\n      <button className=\"Green\" onClick={() => props.setUrlState({ color: 'green' })}>\n        Green\n      </button>\n      <button className=\"Blue\" onClick={() => props.setUrlState({ color: 'blue' })}>\n        Blue\n      </button>\n    </div>\n  </div>\n);\n\nexport default withUrlState<OwnProps, LiftedState>((prop: OwnProps) => ({ color: 'blue' }))(UrlForm);\n\n```\n\n## Motivation\n\n`with-url-state` automates the query parameter manipulations, simplifying URL sharing for search results, querying data or tracking a visible portion of a map.\n\nThe api provided is:****\n- based on [higer-order-components](https://reactjs.org/docs/higher-order-components.html) which makes it composable and testable\n- type-safe thanks to [Typescript](https://www.typescriptlang.org/)   \n- very similar to [Reacts built in state](https://reactjs.org/docs/state-and-lifecycle.html) apis, so converting a component which already manages state is usually as simple as replacing `setState` with `setUrlState`!\n","description":"[![CircleCI](https://circleci.com/gh/Dean177/with-url-state.svg?style=shield)](https://circleci.com/gh/Dean177/with-url-state) [![codecov](https://codecov.io/gh/Dean177/with-url-state/branch/master/graph/badge.svg)](https://codecov.io/gh/Dean177/with-url-","licenseText":"Copyright 2017 Dean Merchant\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","_id":"with-url-state@2.0.0-beta.1","dist":{"shasum":"9f945c3a9cb791c95b549679dd418e7812f2e492","tarball":"https://registry.npmjs.org/with-url-state/-/with-url-state-2.0.0-beta.1.tgz","fileCount":7,"unpackedSize":11673,"integrity":"sha512-J26g2gMMDmvVA5zU5nV5cQm7fKfQzWpuIipQA6+JuFPrDtYukfmuIN9FTw19sVXPsMmGxn14XkNWkdprnjiHfA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICtdjch44gSYUy7lyzcsVOTnMxzSdlMe0TnIW3WTdj9uAiEA7Ki1CLZmm6CAmJ+ei03bwLwikz0VSDURNMuS3RF7xGo="}]},"maintainers":[{"name":"dean177","email":"deanmerchant@gmail.com"}],"_npmUser":{"name":"dean177","email":"deanmerchant@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/with-url-state_2.0.0-beta.1_1522880252999_0.35149262808514936"},"_hasShrinkwrap":false},"2.0.0-beta.2":{"author":{"name":"Dean Merchant"},"name":"with-url-state","version":"2.0.0-beta.2","dependencies":{"@types/history":"^4.6.2","query-string":"6.0.0"},"peerDependencies":{"history":"4.6.x || 4.7.x","react":"15.x || 16.x","react-dom":"15.x || 16.x"},"devDependencies":{"@types/enzyme":"3.1.9","@types/jest":"22.2.2","@types/lodash":"4.14.106","@types/qs":"6.5.1","@types/query-string":"5.1.0","@types/react":"16.3.5","@types/react-dom":"16.0.4","codecov":"3.0.0","concurrently":"3.5.1","enzyme":"3.3.0","enzyme-adapter-react-16":"1.1.1","history":"4.7.2","jest":"22.4.0","jsdom":"11.7.0","qs":"6.5.1","react":"16.3.1","react-dom":"16.3.1","react-test-renderer":"16.3.1","ts-jest":"22.4.0","tslint":"5.9.1","tslint-react":"3.5.1","typescript":"2.8.1"},"jest":{"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}"],"coveragePathIgnorePatterns":["<rootDir>/src/index.ts"],"moduleFileExtensions":["ts","tsx","js","json"],"setupTestFrameworkScriptFile":"<rootDir>/setupTestFramework.js","testEnvironment":"node","testMatch":["<rootDir>/src/**/?(*.)(spec|test).ts?(x)"],"transform":{".(ts|tsx)":"<rootDir>/node_modules/ts-jest/preprocessor.js"}},"license":"MIT","files":["dist"],"main":"dist/withUrlState.js","types":"dist/withUrlState.d.ts","scripts":{"build":"rm -rf dist && tsc --pretty && yarn build:docs","build:docs":"rm -rf docs && cd example && yarn && yarn build && cp -r ./build ../docs","lint":"tslint ./src/**/*.ts ./src/**/*.tsx ./example/src/**/*.tsx","prepublish":"yarn build && yarn lint && yarn test","report-coverage":"codecov","start":"tsc --pretty --watch","test":"jest"},"readmeFilename":"Readme.md","readme":"# with-url-state\n\n[![CircleCI](https://circleci.com/gh/Dean177/with-url-state.svg?style=shield)](https://circleci.com/gh/Dean177/with-url-state)\n[![codecov](https://codecov.io/gh/Dean177/with-url-state/branch/master/graph/badge.svg)](https://codecov.io/gh/Dean177/with-url-state)\n[![Greenkeeper badge](https://badges.greenkeeper.io/Dean177/with-url-state.svg)](https://greenkeeper.io/)\n[![Npm](https://badge.fury.io/js/with-url-state.svg)](https://www.npmjs.com/package/with-url-state)\n\nLifts the state out of a react component and into the url\n\n![color-example](./example/color-example.gif)\n\nThis package allows applications to retrieve the state from a react component and appends it to the url.\n\n## Installation\n\nTo install with npm use \n\n`npm install with-url-state --save`\n\nTo install with yarn use \n\n`yarn add with-url-state`\n\n## Usage\n\nCheck out the [demo](https://dean177.github.io/with-url-state/), the [example/](https://github.com/Dean177/with-url-state/tree/master/example) directory, or play with it in [CodeSandbox](https://codesandbox.io/s/wwlz40ry65).\n\nUsing javascript\n\n```javascript\nimport React from 'react';\nimport { withUrlState } from 'with-url-state';\n\nexport const UrlForm = (props) => (\n  <div className=\"UrlForm\">\n    <div className=\"current-state\" style={{ backgroundColor: props.urlState.color}}>\n      <div>{props.urlState.color}</div>\n    </div>\n    <div className=\"color-buttons\">\n      <button className=\"Red\" onClick={() => props.setUrlState({ color: 'red' })}>\n        Red\n      </button>\n      <button className=\"Green\" onClick={() => props.setUrlState({ color: 'green' })}>\n        Green\n      </button>\n      <button className=\"Blue\" onClick={() => props.setUrlState({ color: 'blue' })}>\n        Blue\n      </button>\n    </div>\n  </div>\n);\n\nexport default withUrlState((props) => ({ color: 'blue' }))(UrlForm);\n```\n\nUsing typescript\n\n```typescript\nimport * as React from 'react';\nimport { withUrlState, UrlStateProps } from 'with-url-state';\n\n\ntype OwnProps = {};\ntype LiftedState = { color: string };\n\nexport const UrlForm = (props: OwnProps & UrlStateProps<LiftedState>) => (\n  <div className=\"UrlForm\">\n    <div className=\"current-state\" style={{ backgroundColor: props.urlState.color}}>\n      <div>{props.urlState.color}</div>\n    </div>\n    <div className=\"color-buttons\">\n      <button className=\"Red\" onClick={() => props.setUrlState({ color: 'red' })}>\n        Red\n      </button>\n      <button className=\"Green\" onClick={() => props.setUrlState({ color: 'green' })}>\n        Green\n      </button>\n      <button className=\"Blue\" onClick={() => props.setUrlState({ color: 'blue' })}>\n        Blue\n      </button>\n    </div>\n  </div>\n);\n\nexport default withUrlState<OwnProps, LiftedState>((prop: OwnProps) => ({ color: 'blue' }))(UrlForm);\n\n```\n\n## Motivation\n\n`with-url-state` automates the query parameter manipulations, simplifying URL sharing for search results, querying data or tracking a visible portion of a map.\n\nThe api provided is:****\n- based on [higer-order-components](https://reactjs.org/docs/higher-order-components.html) which makes it composable and testable\n- type-safe thanks to [Typescript](https://www.typescriptlang.org/)   \n- very similar to [Reacts built in state](https://reactjs.org/docs/state-and-lifecycle.html) apis, so converting a component which already manages state is usually as simple as replacing `setState` with `setUrlState`!\n","description":"[![CircleCI](https://circleci.com/gh/Dean177/with-url-state.svg?style=shield)](https://circleci.com/gh/Dean177/with-url-state) [![codecov](https://codecov.io/gh/Dean177/with-url-state/branch/master/graph/badge.svg)](https://codecov.io/gh/Dean177/with-url-","licenseText":"Copyright 2017 Dean Merchant\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","_id":"with-url-state@2.0.0-beta.2","dist":{"shasum":"2a19853c4e340b778f225c5ddb19276c5fe78b3f","tarball":"https://registry.npmjs.org/with-url-state/-/with-url-state-2.0.0-beta.2.tgz","fileCount":7,"unpackedSize":12263,"integrity":"sha512-yD5ybKwx/6HtKe+N1Yk5oimBsHl4ap2OcZse7fYOrH+k4a+NEY688vBrYT6Mc1kqSRo4euGR1ExXOyeUmbGuPg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDNvBgiC4QsuuIfQ3Ho7kgZHW1BceZgnFwSoP8D3z8PbgIhAP78TB0+3rFnOxIFpjOpMxYb3shYfYKZdFhRr0/Ten6v"}]},"maintainers":[{"name":"dean177","email":"deanmerchant@gmail.com"}],"_npmUser":{"name":"dean177","email":"deanmerchant@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/with-url-state_2.0.0-beta.2_1523091378087_0.4698861283788025"},"_hasShrinkwrap":false},"2.0.0-beta.3":{"author":{"name":"Dean Merchant"},"name":"with-url-state","version":"2.0.0-beta.3","dependencies":{"@types/history":"^4.6.2","query-string":"6.0.0"},"peerDependencies":{"history":"4.6.x || 4.7.x","react":"15.x || 16.x","react-dom":"15.x || 16.x"},"devDependencies":{"@types/enzyme":"3.1.9","@types/jest":"22.2.2","@types/lodash":"4.14.106","@types/qs":"6.5.1","@types/query-string":"5.1.0","@types/react":"16.3.5","@types/react-dom":"16.0.4","codecov":"3.0.0","concurrently":"3.5.1","enzyme":"3.3.0","enzyme-adapter-react-16":"1.1.1","history":"4.7.2","jest":"22.4.0","jsdom":"11.7.0","qs":"6.5.1","react":"16.3.1","react-dom":"16.3.1","react-test-renderer":"16.3.1","ts-jest":"22.4.0","tslint":"5.9.1","tslint-react":"3.5.1","typescript":"2.8.1"},"jest":{"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}"],"coveragePathIgnorePatterns":["<rootDir>/src/index.ts"],"moduleFileExtensions":["ts","tsx","js","json"],"setupTestFrameworkScriptFile":"<rootDir>/setupTestFramework.js","testEnvironment":"node","testMatch":["<rootDir>/src/**/?(*.)(spec|test).ts?(x)"],"transform":{".(ts|tsx)":"<rootDir>/node_modules/ts-jest/preprocessor.js"}},"license":"MIT","files":["dist"],"main":"dist/withUrlState.js","types":"dist/withUrlState.d.ts","scripts":{"build":"rm -rf dist && tsc --pretty && yarn build:docs","build:docs":"rm -rf docs && cd example && yarn && yarn build && cp -r ./build ../docs","lint":"tslint ./src/**/*.ts ./src/**/*.tsx ./example/src/**/*.tsx","prepublish":"yarn build && yarn lint && yarn test","report-coverage":"codecov","start":"tsc --pretty --watch","test":"jest"},"readmeFilename":"Readme.md","readme":"# with-url-state\n\n[![CircleCI](https://circleci.com/gh/Dean177/with-url-state.svg?style=shield)](https://circleci.com/gh/Dean177/with-url-state)\n[![codecov](https://codecov.io/gh/Dean177/with-url-state/branch/master/graph/badge.svg)](https://codecov.io/gh/Dean177/with-url-state)\n[![Greenkeeper badge](https://badges.greenkeeper.io/Dean177/with-url-state.svg)](https://greenkeeper.io/)\n[![Npm](https://badge.fury.io/js/with-url-state.svg)](https://www.npmjs.com/package/with-url-state)\n\nLifts the state out of a react component and into the url\n\n![color-example](./example/color-example.gif)\n\nThis package allows applications to retrieve the state from a react component and appends it to the url.\n\n## Installation\n\nTo install with npm use \n\n`npm install with-url-state --save`\n\nTo install with yarn use \n\n`yarn add with-url-state`\n\n## Usage\n\nCheck out the [demo](https://dean177.github.io/with-url-state/), the [example/](https://github.com/Dean177/with-url-state/tree/master/example) directory, or play with it in [CodeSandbox](https://codesandbox.io/s/wwlz40ry65).\n\nUsing javascript\n\n```javascript\nimport React from 'react';\nimport { withUrlState } from 'with-url-state';\n\nexport const UrlForm = (props) => (\n  <div className=\"UrlForm\">\n    <div className=\"current-state\" style={{ backgroundColor: props.urlState.color}}>\n      <div>{props.urlState.color}</div>\n    </div>\n    <div className=\"color-buttons\">\n      <button className=\"Red\" onClick={() => props.setUrlState({ color: 'red' })}>\n        Red\n      </button>\n      <button className=\"Green\" onClick={() => props.setUrlState({ color: 'green' })}>\n        Green\n      </button>\n      <button className=\"Blue\" onClick={() => props.setUrlState({ color: 'blue' })}>\n        Blue\n      </button>\n    </div>\n  </div>\n);\n\nexport default withUrlState((props) => ({ color: 'blue' }))(UrlForm);\n```\n\nUsing typescript\n\n```typescript\nimport * as React from 'react';\nimport { withUrlState, UrlStateProps } from 'with-url-state';\n\n\ntype OwnProps = {};\ntype LiftedState = { color: string };\n\nexport const UrlForm = (props: OwnProps & UrlStateProps<LiftedState>) => (\n  <div className=\"UrlForm\">\n    <div className=\"current-state\" style={{ backgroundColor: props.urlState.color}}>\n      <div>{props.urlState.color}</div>\n    </div>\n    <div className=\"color-buttons\">\n      <button className=\"Red\" onClick={() => props.setUrlState({ color: 'red' })}>\n        Red\n      </button>\n      <button className=\"Green\" onClick={() => props.setUrlState({ color: 'green' })}>\n        Green\n      </button>\n      <button className=\"Blue\" onClick={() => props.setUrlState({ color: 'blue' })}>\n        Blue\n      </button>\n    </div>\n  </div>\n);\n\nexport default withUrlState<OwnProps, LiftedState>((prop: OwnProps) => ({ color: 'blue' }))(UrlForm);\n\n```\n\n## Motivation\n\n`with-url-state` automates the query parameter manipulations, simplifying URL sharing for search results, querying data or tracking a visible portion of a map.\n\nThe api provided is:****\n- based on [higer-order-components](https://reactjs.org/docs/higher-order-components.html) which makes it composable and testable\n- type-safe thanks to [Typescript](https://www.typescriptlang.org/)   \n- very similar to [Reacts built in state](https://reactjs.org/docs/state-and-lifecycle.html) apis, so converting a component which already manages state is usually as simple as replacing `setState` with `setUrlState`!\n","description":"[![CircleCI](https://circleci.com/gh/Dean177/with-url-state.svg?style=shield)](https://circleci.com/gh/Dean177/with-url-state) [![codecov](https://codecov.io/gh/Dean177/with-url-state/branch/master/graph/badge.svg)](https://codecov.io/gh/Dean177/with-url-","licenseText":"Copyright 2017 Dean Merchant\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","_id":"with-url-state@2.0.0-beta.3","dist":{"shasum":"c338d1e4a66eccde01467d98a4eb9d51a3fbfb77","tarball":"https://registry.npmjs.org/with-url-state/-/with-url-state-2.0.0-beta.3.tgz","fileCount":8,"unpackedSize":12284,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa09DPCRA9TVsSAnZWagAAPkQP/1NtEBC12UnwpM03g6ye\ndY/c9PKGrDJ8mpBFyroyQEqw9hur/9aXPNVV58yRJVEZJ8BW5OKXWBOuKQPq\nXk5oOodIA1xzkq4MHzuoz+z9xXxKnR2LvgPe4fqsJBog0IIcNWVZnswhPUf5\nOOH+mmhffmSeT3lff1EIJRXuEsuUshRN2Jpg28jumnq0zzBYctKwLsDVWl3H\nMwWAfPPHXqeUseiV+JJnsJQsy05aj1tnp/Rtte4Ocayt+hkAVaO8V05yHdgC\n1Liwp3CaS4k9AcV1VRTyWyGvVBBGK1JDGo77PV23ZCUIYIWIZoE2lYyHfwwj\nQaegSG4JmKnM8Z/CbQbJ2f+DYmd6ZLTxrcJSwYjMy3+ZNoaHdIiEb6XsG5fP\nDVVveqRjq/EgPdyzMSOZXoWbhO3sqcfO74olvCvy2bSe3vJhhEuryen/YZod\nWt8I5xR89CYpHnZS3cS4KuIjRsl2xa2uzy2zOAx8gJtANtQv1mSP6moRUyPU\nOzMlOFBkXby3qXfHJHn/7w21qZ/Vu2+LD4YyCKfz6lRqmdX9S5URsKoi5TSe\nrDf5XcyKbhB36js8zk3rCDRtx3MpDEd29AJpUKmjlVd+JCLtxC6HwbGx7myz\nVbGN6aTVY6/kT75iT+lQeRCaHWraKlKocMZH9SoXpIGMeP/atzvDGSPqUiZw\nfq3V\r\n=SDtR\r\n-----END PGP SIGNATURE-----\r\n","integrity":"sha512-w1kmtm/xqWK7G1Hw/Buu+ebgTaXa+Mr8lqb3OILRkaVOn0mte0T7hl+6+kQQjKsZ7knulEJnrEN3q67B3oeUuA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCeQMALFdga2/VW+fyhRF4+2EDKWHzwVP13gB6IgytlgQIhANhIKJC/wn49EmyEQa686C1KnB7VaEf/av+S76brJ5b3"}]},"maintainers":[{"name":"dean177","email":"deanmerchant@gmail.com"}],"_npmUser":{"name":"dean177","email":"deanmerchant@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/with-url-state_2.0.0-beta.3_1523830991457_0.5024601565766551"},"_hasShrinkwrap":false},"2.0.0-beta.4":{"author":{"name":"Dean Merchant"},"contributors":[{"name":"Matt Hawes","email":"hawes.info@gmail.com","url":"https://github.com/MGHawes"}],"name":"with-url-state","version":"2.0.0-beta.4","dependencies":{"@types/history":"^4.6.2","qs":"6.5.1"},"peerDependencies":{"history":"4.6.x || 4.7.x","react":"15.x || 16.x","react-dom":"15.x || 16.x"},"devDependencies":{"@types/enzyme":"3.1.9","@types/jest":"22.2.2","@types/lodash":"4.14.106","@types/qs":"6.5.1","@types/query-string":"5.1.0","@types/react":"16.3.5","@types/react-dom":"16.0.4","codecov":"3.0.0","concurrently":"3.5.1","enzyme":"3.3.0","enzyme-adapter-react-16":"1.1.1","history":"4.7.2","jest":"22.4.0","jsdom":"11.7.0","query-string":"6.0.0","react":"16.3.1","react-dom":"16.3.1","react-test-renderer":"16.3.1","ts-jest":"22.4.0","tslint":"5.9.1","tslint-react":"3.5.1","typescript":"2.8.1"},"jest":{"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}"],"coveragePathIgnorePatterns":["<rootDir>/src/index.ts"],"moduleFileExtensions":["ts","tsx","js","json"],"setupTestFrameworkScriptFile":"<rootDir>/setupTestFramework.js","testEnvironment":"node","testMatch":["<rootDir>/src/**/?(*.)(spec|test).ts?(x)"],"transform":{".(ts|tsx)":"<rootDir>/node_modules/ts-jest/preprocessor.js"}},"license":"MIT","files":["dist"],"main":"dist/withUrlState.js","types":"dist/withUrlState.d.ts","scripts":{"build":"rm -rf dist && tsc --pretty && yarn build:docs","build:docs":"rm -rf docs && cd example && yarn && yarn build && cp -r ./build ../docs","lint":"tslint ./src/**/*.ts ./src/**/*.tsx ./example/src/**/*.tsx","prepublish":"yarn build && yarn lint && yarn test","report-coverage":"codecov","start":"tsc --pretty --watch","test":"jest"},"readmeFilename":"Readme.md","readme":"# with-url-state\n\n[![CircleCI](https://circleci.com/gh/Dean177/with-url-state.svg?style=shield)](https://circleci.com/gh/Dean177/with-url-state)\n[![codecov](https://codecov.io/gh/Dean177/with-url-state/branch/master/graph/badge.svg)](https://codecov.io/gh/Dean177/with-url-state)\n[![Greenkeeper badge](https://badges.greenkeeper.io/Dean177/with-url-state.svg)](https://greenkeeper.io/)\n[![Npm](https://badge.fury.io/js/with-url-state.svg)](https://www.npmjs.com/package/with-url-state)\n\nLifts the state out of a react component and into the url\n\n![color-example](./example/color-example.gif)\n\nThis package allows applications to retrieve the state from a react component and appends it to the url.\n\n## Installation\n\nTo install with npm use \n\n`npm install with-url-state --save`\n\nTo install with yarn use \n\n`yarn add with-url-state`\n\n## Usage\n\nCheck out the [demo](https://dean177.github.io/with-url-state/), the [example/](https://github.com/Dean177/with-url-state/tree/master/example) directory, or play with it in [CodeSandbox](https://codesandbox.io/s/wwlz40ry65).\n\nUsing javascript\n\n```javascript\nimport React from 'react';\nimport { withUrlState } from 'with-url-state';\n\nexport const UrlForm = (props) => (\n  <div className=\"UrlForm\">\n    <div className=\"current-state\" style={{ backgroundColor: props.urlState.color}}>\n      <div>{props.urlState.color}</div>\n    </div>\n    <div className=\"color-buttons\">\n      <button className=\"Red\" onClick={() => props.setUrlState({ color: 'red' })}>\n        Red\n      </button>\n      <button className=\"Green\" onClick={() => props.setUrlState({ color: 'green' })}>\n        Green\n      </button>\n      <button className=\"Blue\" onClick={() => props.setUrlState({ color: 'blue' })}>\n        Blue\n      </button>\n    </div>\n  </div>\n);\n\nexport default withUrlState((props) => ({ color: 'blue' }))(UrlForm);\n```\n\nUsing typescript\n\n```typescript\nimport * as React from 'react';\nimport { withUrlState, UrlStateProps } from 'with-url-state';\n\n\ntype OwnProps = {};\ntype LiftedState = { color: string };\n\nexport const UrlForm = (props: OwnProps & UrlStateProps<LiftedState>) => (\n  <div className=\"UrlForm\">\n    <div className=\"current-state\" style={{ backgroundColor: props.urlState.color}}>\n      <div>{props.urlState.color}</div>\n    </div>\n    <div className=\"color-buttons\">\n      <button className=\"Red\" onClick={() => props.setUrlState({ color: 'red' })}>\n        Red\n      </button>\n      <button className=\"Green\" onClick={() => props.setUrlState({ color: 'green' })}>\n        Green\n      </button>\n      <button className=\"Blue\" onClick={() => props.setUrlState({ color: 'blue' })}>\n        Blue\n      </button>\n    </div>\n  </div>\n);\n\nexport default withUrlState<OwnProps, LiftedState>((prop: OwnProps) => ({ color: 'blue' }))(UrlForm);\n\n```\n\n## Motivation\n\n`with-url-state` automates the query parameter manipulations, simplifying URL sharing for search results, querying data or tracking a visible portion of a map.\n\nThe api provided is:****\n- based on [higer-order-components](https://reactjs.org/docs/higher-order-components.html) which makes it composable and testable\n- type-safe thanks to [Typescript](https://www.typescriptlang.org/)   \n- very similar to [Reacts built in state](https://reactjs.org/docs/state-and-lifecycle.html) apis, so converting a component which already manages state is usually as simple as replacing `setState` with `setUrlState`!\n","description":"[![CircleCI](https://circleci.com/gh/Dean177/with-url-state.svg?style=shield)](https://circleci.com/gh/Dean177/with-url-state) [![codecov](https://codecov.io/gh/Dean177/with-url-state/branch/master/graph/badge.svg)](https://codecov.io/gh/Dean177/with-url-","licenseText":"Copyright 2017 Dean Merchant\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","_id":"with-url-state@2.0.0-beta.4","dist":{"shasum":"bd3430763e7f4650e1976a0698210a1f8a516b27","tarball":"https://registry.npmjs.org/with-url-state/-/with-url-state-2.0.0-beta.4.tgz","fileCount":8,"unpackedSize":12480,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa225mCRA9TVsSAnZWagAAPNQP/AsrZLMxeSXB5m3JPt2k\nspM/t3E3f921uIGYrm6icoaB18aKZxbjorJkMRm/b8GMbS38s0BhyczDWHAL\ntEzhqE3U7DU4IWA9rY/6VHsoIzeceg0/iMG85/fWacik9nU5ddOEHKtQnP3Q\nkKMLfsKiJMaFJh/p35ZF4JnnB0vd42YILCYR77bgG1PS9LGIJTgc64zuh4QK\nte9TVmP+WMMbPH8hBhvZrUNZXu9N7hxkVxPckMcbbJdtcZs93AH/wlwAp7DT\n+RLh8AQBgBoN51zQFqa7P0o7VDKX4iQyOtptC5/nLwR8+CFa21IyztIMsaQx\neIMijpULSbnJZRIbhdbukkZbAqZWERrlxnc73qW1WoAo1uQNWAKj6vOFrNSH\n4zQD+LuvvO5r1XRLrhbZJ4zlL+cc0wpcYfrFQA68/IG4HdAqKCFh9omVkHtL\nMAAaaT3LAqc29Mnep4CkgPIK/PJaxBrzDA8i7L0nft+Ydy3+0pgg9GCqiMdO\ni6IoOkdmrRZT2cQjmxGao3e8ZkAbVSvj/DuWODc+50KyRpasingL4Tue0gkL\n+j2swWbH46D1J0t5a7IZY/Utx4kSLiEPkp7yLIMYHlkPBObzovSdX9LPGpPT\n7Ht8NHtPA4rQDyUDlEbjyzp/ZE+GNTs/r9/KricSemyz1aKsDa7EEVo0mbQo\n7pYM\r\n=t0rj\r\n-----END PGP SIGNATURE-----\r\n","integrity":"sha512-tN6vhFqHQIUtGdPX+ieWY8YP5sOORbJ/1JfRAZibg0Dzh4ca2se/TEpkEad3Guleu31ujlBSxFeESra2kIdSsA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC+AMYhPC3GwJCj4kqsyCNpxuNhfSNkiyww2wKiT4At4gIgZS3OgwDP5UChqOCA0GgBUx3tTG4F1d7cxiSqvD91310="}]},"maintainers":[{"name":"dean177","email":"deanmerchant@gmail.com"}],"_npmUser":{"name":"dean177","email":"deanmerchant@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/with-url-state_2.0.0-beta.4_1524330084990_0.3499711572463864"},"_hasShrinkwrap":false},"2.0.0-beta.5":{"author":{"name":"Dean Merchant"},"contributors":[{"name":"Matt Hawes","email":"hawes.info@gmail.com","url":"https://github.com/MGHawes"}],"name":"with-url-state","version":"2.0.0-beta.5","dependencies":{"@types/history":"^4.6.2","qs":"6.5.1"},"peerDependencies":{"react":"15.x || 16.x","react-dom":"15.x || 16.x"},"devDependencies":{"@types/enzyme":"3.1.9","@types/jest":"22.2.2","@types/lodash":"4.14.106","@types/qs":"6.5.1","@types/query-string":"5.1.0","@types/react":"16.3.5","@types/react-dom":"16.0.4","codecov":"3.0.0","concurrently":"3.5.1","enzyme":"3.3.0","enzyme-adapter-react-16":"1.1.1","history":"4.7.2","jest":"22.4.0","jsdom":"11.7.0","props-interceptor":"1.0.1","query-string":"6.0.0","react":"16.3.1","react-dom":"16.3.1","react-test-renderer":"16.3.1","ts-jest":"22.4.0","tslint":"5.9.1","tslint-react":"3.5.1","typescript":"2.8.1"},"jest":{"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}"],"coveragePathIgnorePatterns":["<rootDir>/src/index.ts"],"moduleFileExtensions":["ts","tsx","js","json"],"setupTestFrameworkScriptFile":"<rootDir>/setupTestFramework.js","testEnvironment":"node","testMatch":["<rootDir>/src/**/?(*.)(spec|test).ts?(x)"],"transform":{".(ts|tsx)":"<rootDir>/node_modules/ts-jest/preprocessor.js"}},"license":"MIT","files":["dist"],"main":"dist/withUrlState.js","types":"dist/withUrlState.d.ts","scripts":{"build":"rm -rf dist && tsc && yarn build:docs","build:docs":"rm -rf docs && cd example && yarn && yarn build && cp -r ./build ../docs","lint":"tslint ./src/**/*.ts ./src/**/*.tsx ./example/src/**/*.tsx","prepublishOnly":"yarn build && yarn lint && yarn test","report-coverage":"codecov","start":"tsc --watch","test":"jest"},"readmeFilename":"Readme.md","readme":"# with-url-state\n\n[![CircleCI](https://circleci.com/gh/Dean177/with-url-state.svg?style=shield)](https://circleci.com/gh/Dean177/with-url-state)\n[![codecov](https://codecov.io/gh/Dean177/with-url-state/branch/master/graph/badge.svg)](https://codecov.io/gh/Dean177/with-url-state)\n[![Greenkeeper badge](https://badges.greenkeeper.io/Dean177/with-url-state.svg)](https://greenkeeper.io/)\n[![Npm](https://badge.fury.io/js/with-url-state.svg)](https://www.npmjs.com/package/with-url-state)\n\nLifts the state out of a react component and into the url\n\n![color-example](./example/color-example.gif)\n\nThis package allows applications to retrieve the state from a react component and appends it to the url.\n\n## Installation\n\nTo install with npm use \n\n`npm install with-url-state --save`\n\nTo install with yarn use \n\n`yarn add with-url-state`\n\n## Usage\n\nCheck out the [demo](https://dean177.github.io/with-url-state/), the [example/](https://github.com/Dean177/with-url-state/tree/master/example) directory, or play with it in [CodeSandbox](https://codesandbox.io/s/21z35p6pjp).\n\nUsing javascript\n\n```javascript\nimport React fr****om 'react';\nimport { withUrlState } from 'with-url-state'\n\nconst enhance = withUrlState((props) => ({ color: 'blue' }))\n\nexport const UrlForm = enhance((props) => (\n  <div className=\"UrlForm\">\n    <div className=\"current-state\" style={{ backgroundColor: props.urlState.color}}>\n      <div>{props.urlState.color}</div>\n    </div>\n    <div className=\"color-buttons\">\n      <button className=\"Red\" onClick={() => props.setUrlState({ color: 'red' })}>\n        Red\n      </button>\n      <button className=\"Green\" onClick={() => props.setUrlState({ color: 'green' })}>\n        Green\n      </button>\n      <button className=\"Blue\" onClick={() => props.setUrlState({ color: 'blue' })}>\n        Blue\n      </button>\n    </div>\n  </div>\n))\n```\n\nUsing typescript\n\n```typescript jsx\nimport * as React from 'react'\nimport { withUrlState, UrlStateProps } from 'with-url-state'\n\ntype OwnProps = {}\ntype UrlState = { color: string }\n\nconst enhance = withUrlState<OwnProps, UrlState>((prop: OwnProps) => ({ color: 'blue' }))\n\nexport const UrlForm = enhance((props: OwnProps & UrlStateProps<UrlState>) => (\n  <div className=\"UrlForm\">\n    <div className=\"current-state\" style={{ backgroundColor: props.urlState.color}}>\n      <div>{props.urlState.color}</div>\n    </div>\n    <div className=\"color-buttons\">\n      <button className=\"Red\" onClick={() => props.setUrlState({ color: 'red' })}>\n        Red\n      </button>\n      <button className=\"Green\" onClick={() => props.setUrlState({ color: 'green' })}>\n        Green\n      </button>\n      <button className=\"Blue\" onClick={() => props.setUrlState({ color: 'blue' })}>\n        Blue\n      </button>\n    </div>\n  </div>\n))\n\n```\n\n## Motivation\n\n`with-url-state` automates the query parameter manipulations, simplifying URL sharing for search results, querying data or tracking a visible portion of a map.\n\nThe api provided is:****\n- based on [higer-order-components](https://reactjs.org/docs/higher-order-components.html) which makes it composable and testable\n- type-safe thanks to [Typescript](https://www.typescriptlang.org/)   \n- very similar to [Reacts built in state](https://reactjs.org/docs/state-and-lifecycle.html) apis, so converting a component which already manages state is usually as simple as replacing `setState` with `setUrlState`!\n","description":"[![CircleCI](https://circleci.com/gh/Dean177/with-url-state.svg?style=shield)](https://circleci.com/gh/Dean177/with-url-state) [![codecov](https://codecov.io/gh/Dean177/with-url-state/branch/master/graph/badge.svg)](https://codecov.io/gh/Dean177/with-url-","licenseText":"Copyright 2017 Dean Merchant\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","_id":"with-url-state@2.0.0-beta.5","dist":{"shasum":"e9087fc55e2300e05f43f2d04f3f248f0ef41783","tarball":"https://registry.npmjs.org/with-url-state/-/with-url-state-2.0.0-beta.5.tgz","fileCount":8,"unpackedSize":13494,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa9y3SCRA9TVsSAnZWagAApToQAJ0capNxTH8CgLFl8+Ao\nOyA5FbJUZzJdNnl9ugzdRiOjXWKLrkWaZRuZ/W7UiGXJCHX+hjpMuhQQ+Abz\ne3WsyrV4z2nHiARL0o9WA/5w/aQhe4qRGLKme7Snzlg91Ed52XH09oeCT1Ae\nMX4cvxUx9o9hIE2oxeUseckgJmgPCr8eq+S0rSlcbS4xjBV4Tt8aSIceUXii\nCLyeBA2B0NDrMc2TWBC8mNr9whaZVEC2F+vz+87SBb1ZEiVg+GcLnmDBb33i\n/BU3lwD8tsz3viO+qId6AKBK0mX2TF6kPlevYtI9eNDBp/cEYZWy3mtfQs8A\nPjDlisI9IG4nBBrOwLSQ1QoJC6umZy1iJGCgH/qH7fAp8rg7Zg2X7B1pCQFm\nsWg28qAH7i9rfmmxk3zC3pt5JGmYaZ7o51idjFw8qTDJq5C0hPKds94qMAur\n1QbxENV5S2NRDg12gXfqwifOIuCNmGI/08sc6BsdFCEP7Nqj/ROxD7AAT9SZ\n1WWNRRkLpJ2m3/azS+NytGCH1Vcz8atqbkB6ylIIvPIyjsIFV7mzv8vvJp2a\n+XtbzKIW/1x5TUIHIMmwxGx7lCxJIWZ3KSqM/wiAKwcQLVNT+di4Ts+azn/T\nt848/JB8RzWqcdlXajUAR4My2PG3d720Ski+meAva/CFyfNXrGTvppCOAuHB\nRcrk\r\n=Ecf/\r\n-----END PGP SIGNATURE-----\r\n","integrity":"sha512-MhNr4urht3a/06XZvTAgbaz2yikAXoZeVHss8+k6a5TwL1F9EF2j4jSKHKyuWtNUza65H0r4ks4/FQsfME2hTw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCrUqwCHt7Rzik3ysdXyaDQkbh1kVpIjy5dLzL3A8hTwwIhAJTUGx3A2+9X1CeRANZfny34OaZVwjXFAr9tldqgcY9/"}]},"maintainers":[{"name":"dean177","email":"deanmerchant@gmail.com"}],"_npmUser":{"name":"dean177","email":"deanmerchant@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/with-url-state_2.0.0-beta.5_1526148562140_0.2490400433939759"},"_hasShrinkwrap":false},"2.0.0-beta.7":{"author":{"name":"Dean Merchant","email":"deanmerchant@gmail.com"},"contributors":[{"name":"Matt Hawes","email":"hawes.info@gmail.com","url":"https://github.com/MGHawes"}],"name":"with-url-state","version":"2.0.0-beta.7","dependencies":{"qs":"6.5.2"},"peerDependencies":{"react":"15.x || 16.x","react-dom":"15.x || 16.x"},"devDependencies":{"@types/enzyme":"3.1.14","@types/history":"^4.7.2","@types/jest":"23.3.8","@types/lodash":"4.14.117","@types/qs":"6.5.1","@types/query-string":"6.1.1","@types/react":"16.4.18","@types/react-dom":"16.0.9","codecov":"3.1.0","concurrently":"4.0.1","enzyme":"3.7.0","enzyme-adapter-react-16":"1.6.0","ghpages":"0.0.10","history":"4.7.2","husky":"1.1.0","jest":"23.6.0","jsdom":"12.2.0","lint-staged":"7.3.0","prettier":"1.14.3","props-interceptor":"1.0.1","query-string":"6.2.0","react":"16.6.0","react-dom":"16.6.0","react-test-renderer":"16.6.0","ts-jest":"23.10.4","tslint":"5.11.0","tslint-react":"3.6.0","typescript":"3.1.3"},"jest":{"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}"],"coveragePathIgnorePatterns":["<rootDir>/src/index.ts"],"moduleFileExtensions":["ts","tsx","js","json"],"setupTestFrameworkScriptFile":"<rootDir>/setupTestFramework.js","testEnvironment":"node","testMatch":["<rootDir>/src/**/?(*.)(spec|test).ts?(x)"],"transform":{".(ts|tsx)":"ts-jest"}},"prettier":{"printWidth":100,"trailingComma":"all","singleQuote":true,"semi":false},"husky":{"hooks":{"pre-commit":["lint-staged"],"post-commit":["git update-index -g"]}},"lint-staged":{"*.ts":["yarn lint","yarn prettify","git add"],"*.tsx":["yarn lint","yarn prettify","git add"]},"license":"MIT","main":"dist/withUrlState.js","types":"dist/withUrlState.d.ts","scripts":{"build":"rm -rf dist && tsc && yarn build:docs","build:docs":"rm -rf docs && cd example && yarn && yarn build","deploy:docs":"gh-pages -d example/build","lint":"tslint --fix","prettify":"prettier --parser typescript --write","format":"yarn lint src/**/*.ts src/**/*.tsx example/src/**/*.ts example/src/**/*.tsx  && yarn prettify src/**/*.ts src/**/*.tsx example/src/**/*.ts example/src/**/*.tsx","report-coverage":"codecov","start":"tsc --watch","test":"jest"},"description":"[![CircleCI](https://circleci.com/gh/Dean177/with-url-state.svg?style=shield)](https://circleci.com/gh/Dean177/with-url-state) [![codecov](https://codecov.io/gh/Dean177/with-url-state/branch/master/graph/badge.svg)](https://codecov.io/gh/Dean177/with-url-","licenseText":"Copyright 2017 Dean Merchant\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","_id":"with-url-state@2.0.0-beta.7","dist":{"shasum":"0ea27d73b697071195503393239add525176ca0f","integrity":"sha512-TT7/4jwDfbAyd4GvAEq/iL0sV0B6/HlR0MfvTHYaomFYKN9ANS9cH6I4JpoTfwdMA94643ccn+y1ta0w1AaZ+w==","tarball":"https://registry.npmjs.org/with-url-state/-/with-url-state-2.0.0-beta.7.tgz","fileCount":8,"unpackedSize":18444,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb1dtkCRA9TVsSAnZWagAAflQQAIHAw+sQjmrWnMlOVVdK\nRlZr9Vud80twTDSNRdt7lHf78x/8tOqhMjQ4W4oGK/BBJ4gDh2EOEPIV3SIn\nIIc53mKZfKRT/wq2XbLEl0cMI6q8z+zVTi528HenKV+Ph4zT2l8gC5uwirKN\nlqWmJKrYmX1tL3fzxztWNgPJk31X62iPOXqr+j0tZnoXtcK/pwB/o6fz2It3\nyUl+zKgwgnFLrH+3vC4OrOQr/RkJGwvXm0OJPsxhQocTlq+kLt3D8NjCi2GX\nZcmywMHYREEvD2TeoaRcQA9RO29OYX7zIS9qu7zuowP/4CKKzAnL4SnIpRAi\nj0EdAI90f3ymPo2bUq8gnKvqa3y7oe7vmajFXjIeu3KjicUjPuvJFfL5I26M\nMwBk6K/wTgrSWQGrQpIE3jWPsCsRQfx8Hf+iSKBXf3A+8pu3WgmW6c6T5tZD\nt+K/vl1cr6HTZpb8pBggvRCCH3OSEInTiaU6KCIOYkgBpGihCAO2MmoZuyKF\noNq/GT+tMbd08mWdwyIXJ3DE6LhQc9udAVvA/5IU7hjgB3vADMREyk+5Cm7h\nyJBIWpQEbP8GAyTJ7ISc83eUkd7jNgnzXuKrf7QaNZup2pRKIxjL9XrQFGnq\nv9r9if+ggygjBJu4K7DwRQZArpb+0/CRd3XWlcTyy7zGKL4ucRiRgNAyaP+f\n0rqu\r\n=1lUG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDVAGYMMCWLL+IcT7N8A/rlcW4ET50p0mDivClVeLp2JQIhAO6taR+AMvx+llwf2yF/rLlifhMsoKS3+NNMf9PAi10C"}]},"maintainers":[{"name":"dean177","email":"deanmerchant@gmail.com"}],"_npmUser":{"name":"dean177","email":"deanmerchant@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/with-url-state_2.0.0-beta.7_1540741987798_0.23309081883342597"},"_hasShrinkwrap":false},"2.0.0":{"author":{"name":"Dean Merchant","email":"deanmerchant@gmail.com"},"contributors":[{"name":"Matt Hawes","email":"hawes.info@gmail.com","url":"https://github.com/MGHawes"}],"name":"with-url-state","version":"2.0.0","dependencies":{"qs":"6.5.2"},"peerDependencies":{"react":"16.x","react-dom":"16.x"},"devDependencies":{"@types/enzyme":"3.1.14","@types/history":"4.7.2","@types/jest":"23.3.8","@types/lodash":"4.14.117","@types/qs":"6.5.1","@types/query-string":"6.1.1","@types/react":"16.4.18","@types/react-dom":"16.0.9","codecov":"3.1.0","concurrently":"4.0.1","enzyme":"3.7.0","enzyme-adapter-react-16":"1.6.0","ghpages":"0.0.10","history":"4.7.2","husky":"1.1.0","jest":"23.6.0","jsdom":"12.2.0","lint-staged":"7.3.0","prettier":"1.14.3","props-interceptor":"1.0.1","query-string":"6.2.0","react":"16.6.0","react-dom":"16.6.0","react-test-renderer":"16.6.0","ts-jest":"23.10.4","tslint":"5.11.0","tslint-react":"3.6.0","typescript":"3.1.3"},"jest":{"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}"],"coveragePathIgnorePatterns":["<rootDir>/src/index.ts"],"moduleFileExtensions":["ts","tsx","js","json"],"setupTestFrameworkScriptFile":"<rootDir>/setupTestFramework.js","testEnvironment":"node","testMatch":["<rootDir>/src/**/?(*.)(spec|test).ts?(x)"],"transform":{".(ts|tsx)":"ts-jest"}},"prettier":{"printWidth":90,"trailingComma":"all","singleQuote":true,"semi":false},"husky":{"hooks":{"pre-commit":["lint-staged"],"post-commit":["git update-index -g"]}},"lint-staged":{"*.ts":["yarn lint","yarn prettify","git add"],"*.tsx":["yarn lint","yarn prettify","git add"]},"license":"MIT","main":"dist/withUrlState.js","types":"dist/withUrlState.d.ts","scripts":{"build":"rm -rf dist && tsc && yarn build:docs","build:docs":"rm -rf docs && cd example && yarn && yarn build","deploy:docs":"gh-pages -d example/build","lint":"tslint --fix","prettify":"prettier --parser typescript --write","format":"yarn lint src/**/*.ts src/**/*.tsx example/src/**/*.ts example/src/**/*.tsx  && yarn prettify src/**/*.ts src/**/*.tsx example/src/**/*.ts example/src/**/*.tsx","prepublishOnly":"yarn build && yarn test","report-coverage":"codecov","start":"tsc --watch","test":"jest"},"description":"[![CircleCI](https://circleci.com/gh/Dean177/with-url-state.svg?style=shield)](https://circleci.com/gh/Dean177/with-url-state) [![codecov](https://codecov.io/gh/Dean177/with-url-state/branch/master/graph/badge.svg)](https://codecov.io/gh/Dean177/with-url-","licenseText":"Copyright 2017 Dean Merchant\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","_id":"with-url-state@2.0.0","dist":{"shasum":"9e6777afcd5be458732c105420e5d6a00f9df247","integrity":"sha512-VrvSKFDiJQ6MB6mIS3AzmfewvbBdw9/ovcZvNbhrjivEh5ZsK8tsffz0PBLaj9uC80LYVmjTd/fDcGKyl4iZhg==","tarball":"https://registry.npmjs.org/with-url-state/-/with-url-state-2.0.0.tgz","fileCount":8,"unpackedSize":18723,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb6HHVCRA9TVsSAnZWagAA+3gP/i9ydDUhYoqJD2cGGqmU\n/yz654ZOFtnIBIg0Smcdp/y1ebqa83RCcDWk+TPTPb9ZWmyV+POZjgY7XsgQ\noAhLQgmdmQN0EJdimSeasdy7y8dmD9HF/XeeCT8gGPFmcBSFpZ37b0/BJYxn\nXm6a19uNKz7zJE7Fb8ShTqXArS5WE9JJuqDH/ufhBRqrB0e4zG90UmPR3B9a\npe20VAu8pmEvQKKucOfn0ZGsKGZaqcm/4imc6qDlPT3wd7Wo19Jde1qbGvhf\nR2Ot8+NFlAW6/O12g3PdolDlL/yXW7xATzOOVTvQ4VZynPPgcMwGEShxbJnd\neIvs5uPa4X9QKZiic2oZP4YWYZ/QCf74cJRBlyvC/G00/Abb1aQRBuYg8aQt\ncj3wTzpwLwV48Ev8iQk9O0hjKVzeXY8xc0Ph0ffEP3fyGAubVqWcKpbrVPt1\n6nl7dFDxhBmfdf4D6y4dKjcy0jbAh/74PDC29H0drq5TgesDfz4B+6INyaGQ\nBingukIX0d0y/p/i7Yhe4b3eAIDxYbqGQZfvp8+bsFGyR3Gui33UgwSgq6Z6\nVrLJ7ZnGViF6V+OnzBdD6BaRExk01nbmZApbido0xr+McyxFjy/ZkSixtKv2\n1rB4D8k8RefZUa0hF0VVGrdRvnu/6Ww5qtRe3q3n8Fl7wCHD7UWoWO43Ve9S\nc9PT\r\n=EFpy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHPWlGOkrj/waRSb0qRi2oJI9luHk1A3wbDCQN/XMgOIAiAhceSPXevGP0Fi2aRWtZED870UkJ3ethXPqzfkORTvcw=="}]},"maintainers":[{"name":"dean177","email":"deanmerchant@gmail.com"}],"_npmUser":{"name":"dean177","email":"deanmerchant@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/with-url-state_2.0.0_1541960148852_0.9332395801109721"},"_hasShrinkwrap":false},"3.0.0-alpha.0":{"author":{"name":"Dean Merchant","email":"deanmerchant@gmail.com"},"contributors":[{"name":"Matt Hawes","email":"hawes.info@gmail.com","url":"https://github.com/MGHawes"}],"name":"with-url-state","version":"3.0.0-alpha.0","repository":{"type":"git","url":"https://github.com/dean177/with-url-state.git"},"dependencies":{"@types/react-test-renderer":"16.0.3","qs":"6.5.2"},"peerDependencies":{"react":"16.x","react-dom":"16.x"},"devDependencies":{"@types/enzyme":"3.1.15","@types/history":"4.7.2","@types/jest":"23.3.9","@types/lodash":"4.14.118","@types/qs":"6.5.1","@types/query-string":"6.1.1","@types/react":"16.7.3","@types/react-dom":"16.0.9","codecov":"3.1.0","concurrently":"4.0.1","enzyme":"3.7.0","enzyme-adapter-react-16":"1.7.0","ghpages":"0.0.10","history":"4.7.2","husky":"1.1.3","jest":"23.6.0","jsdom":"13.0.0","lint-staged":"8.0.4","prettier":"1.15.2","props-interceptor":"1.0.1","query-string":"6.2.0","react":"16.7.0-alpha.0","react-dom":"16.7.0-alpha.0","react-test-renderer":"16.7.0-alpha.0","ts-jest":"23.10.4","tslint":"5.11.0","tslint-react":"3.6.0","typescript":"3.1.6"},"jest":{"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}"],"coveragePathIgnorePatterns":["<rootDir>/src/index.ts"],"moduleFileExtensions":["ts","tsx","js","json"],"setupTestFrameworkScriptFile":"<rootDir>/setupTestFramework.js","testEnvironment":"node","testMatch":["<rootDir>/src/**/?(*.)(spec|test).ts?(x)"],"transform":{".(ts|tsx)":"ts-jest"}},"prettier":{"printWidth":90,"trailingComma":"all","singleQuote":true,"semi":false},"husky":{"hooks":{"pre-commit":["lint-staged"],"post-commit":["git update-index -g"]}},"lint-staged":{"*.ts":["yarn lint","yarn prettify","git add"],"*.tsx":["yarn lint","yarn prettify","git add"]},"license":"MIT","main":"dist/withUrlState.js","types":"dist/withUrlState.d.ts","scripts":{"build":"rm -rf dist && tsc","build:docs":"rm -rf docs && cd example && yarn && yarn build","deploy:docs":"gh-pages -d example/build","lint":"tslint --fix","prettify":"prettier --parser typescript --write","format":"yarn lint src/**/*.ts src/**/*.tsx example/src/**/*.ts example/src/**/*.tsx  && yarn prettify src/**/*.ts src/**/*.tsx example/src/**/*.ts example/src/**/*.tsx","prepublishOnly":"yarn build","report-coverage":"codecov","start":"tsc --watch","test":"jest","typecheck":"tsc"},"description":"[![CircleCI](https://circleci.com/gh/Dean177/with-url-state.svg?style=shield)](https://circleci.com/gh/Dean177/with-url-state) [![codecov](https://codecov.io/gh/Dean177/with-url-state/branch/master/graph/badge.svg)](https://codecov.io/gh/Dean177/with-url-","licenseText":"Copyright 2017 Dean Merchant\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","_id":"with-url-state@3.0.0-alpha.0","dist":{"shasum":"ea1b1f1718aa4631b0ba5e730ba38df97d7c8e8f","integrity":"sha512-pGTQQ8eOcslVoyI9wFhZon7jEiAQ89FJb99MCqgiMOHwXJG40pllF+2UqWX7CdD5r1ZJp9Wt0usBxj4pFkqk9w==","tarball":"https://registry.npmjs.org/with-url-state/-/with-url-state-3.0.0-alpha.0.tgz","fileCount":10,"unpackedSize":33858,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb6KzpCRA9TVsSAnZWagAABcsP/ikPPQg/YuxMu1VbqdBN\nF+e2tYNJq+V3LidEBeudq096T0lWkgLskMcXwn8m18/3xx76BuZ+umC4S9dM\nRGkO38a0l8Sug1q7iQEffQRUu05bnLofq9A3DP1PWfs+jwWKbdYQpcrZUtSd\nUi+VOvg6eDB56P+PJbRs51QejNFOykN7FJlRQwG8paCmY/t7E8PR88c28JRk\nvjjaEbGNXpdb3GRJRRMuMuh4AbfmnDemTBVKpUgsrCHxjKbV6Oa/wIrXm8/5\nrLKvxZg5ZliV4Udd2VClRkiSQXKYAVk4Vrchp4KRqaJ5XP/qREsWy+0NWUei\ngnjlGl6mO8CuEpqwy7Wd61fr1/WFy2vmARzGMNUAvV6MqGsXiNzVV5QZNYXH\nIhW9TA2aGfq9CQZidQ9q0FGx7S9N7sAy+Vg+DCzLpimx4hx812Uk52hoA2If\nhN+S1BK3omxQNSgUXkXMwuSJzis4YB26YZQvJGMm+1Bjottsvh5TewMYcGmV\nkf9N0eWPa0AV2EbQrJPZJWO4lu44JVrEQh3iQctb/QbWZ80Yaa9vXYadsgKE\nbexAyXjOHOKZsnNnpobdxVRZXpcmy0QUxUaiu2pDktlGKq/eP3GoPei0H3Qh\nMgsnsFxDFJ/XTcdHxVzDjxq9qVKxBg8HzoER44UMM5z+4wVLgIxVSJc/sMgX\nUOKX\r\n=OF2X\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBicV1+5oAWfKFUetx9ZS1FtQoI4wE+lI5RWh0sITe+JAiEAjq2ZzoFf90gKJyFCXgRoswurN9TGgVbKOMmumEIYMi4="}]},"maintainers":[{"name":"dean177","email":"deanmerchant@gmail.com"}],"_npmUser":{"name":"dean177","email":"deanmerchant@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/with-url-state_3.0.0-alpha.0_1541975272973_0.8651969626494354"},"_hasShrinkwrap":false},"3.0.0-alpha.1":{"author":{"name":"Dean Merchant","email":"deanmerchant@gmail.com"},"contributors":[{"name":"Matt Hawes","email":"hawes.info@gmail.com","url":"https://github.com/MGHawes"}],"name":"with-url-state","version":"3.0.0-alpha.1","repository":{"type":"git","url":"https://github.com/dean177/with-url-state.git"},"dependencies":{"@types/react-test-renderer":"16.0.3","qs":"6.5.2"},"peerDependencies":{"react":"16.x","react-dom":"16.x"},"devDependencies":{"@types/enzyme":"3.1.15","@types/history":"4.7.2","@types/jest":"23.3.9","@types/lodash":"4.14.118","@types/qs":"6.5.1","@types/query-string":"6.1.1","@types/react":"16.7.3","@types/react-dom":"16.0.9","codecov":"3.1.0","concurrently":"4.0.1","enzyme":"3.7.0","enzyme-adapter-react-16":"1.7.0","ghpages":"0.0.10","history":"4.7.2","husky":"1.1.3","jest":"23.6.0","jsdom":"13.0.0","lint-staged":"8.0.4","prettier":"1.15.2","props-interceptor":"1.0.1","query-string":"6.2.0","react":"16.7.0-alpha.0","react-dom":"16.7.0-alpha.0","react-test-renderer":"16.7.0-alpha.0","ts-jest":"23.10.4","tslint":"5.11.0","tslint-react":"3.6.0","typescript":"3.1.6"},"jest":{"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}"],"coveragePathIgnorePatterns":["<rootDir>/src/index.ts"],"moduleFileExtensions":["ts","tsx","js","json"],"setupTestFrameworkScriptFile":"<rootDir>/setupTestFramework.js","testEnvironment":"node","testMatch":["<rootDir>/src/**/?(*.)(spec|test).ts?(x)"],"transform":{".(ts|tsx)":"ts-jest"}},"prettier":{"printWidth":90,"trailingComma":"all","singleQuote":true,"semi":false},"husky":{"hooks":{"pre-commit":["lint-staged"],"post-commit":["git update-index -g"]}},"lint-staged":{"*.ts":["yarn lint","yarn prettify","git add"],"*.tsx":["yarn lint","yarn prettify","git add"]},"license":"MIT","main":"dist/withUrlState.js","types":"dist/withUrlState.d.ts","scripts":{"build":"rm -rf dist && tsc","build:docs":"rm -rf docs && cd example && yarn && yarn build","deploy:docs":"gh-pages -d example/build","lint":"tslint --fix","prettify":"prettier --parser typescript --write","format":"yarn lint src/**/*.ts src/**/*.tsx example/src/**/*.ts example/src/**/*.tsx  && yarn prettify src/**/*.ts src/**/*.tsx example/src/**/*.ts example/src/**/*.tsx","prepublishOnly":"yarn build","report-coverage":"codecov","start":"tsc --watch","test":"jest","typecheck":"tsc"},"description":"[![CircleCI](https://circleci.com/gh/Dean177/with-url-state.svg?style=shield)](https://circleci.com/gh/Dean177/with-url-state) [![codecov](https://codecov.io/gh/Dean177/with-url-state/branch/master/graph/badge.svg)](https://codecov.io/gh/Dean177/with-url-","licenseText":"Copyright 2017 Dean Merchant\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","_id":"with-url-state@3.0.0-alpha.1","dist":{"shasum":"be613b7bb9d5ceaff84bcd1776b3a856e4374cd5","integrity":"sha512-itNsB186YqzrFkdnCiQcJX/1J+/0/kPYOWEQ/gRnLCO2knUhYAahS4YT4z8a83CoFUqY1yloAEU/va18U8i8Bg==","tarball":"https://registry.npmjs.org/with-url-state/-/with-url-state-3.0.0-alpha.1.tgz","fileCount":10,"unpackedSize":33601,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb6Li7CRA9TVsSAnZWagAADVsQAIGHp0musqTTwXyihaKZ\nuOXkV5qMHYKbcRjjfZ1ztcDbVMvr1cYsUDWxseDTNtlGfz87Q8chbC209mJI\n1C8Epv0p/H5Pc8FMys1XE8fyP47eyBCYFkXhbDP0fyugCyzqtOdRl2BQEQCw\nLlez+wJtcbF3yvA6qpw4+m9i6UUXg19VavUdU5LToNjnCbyuLPOOE0kKVZmi\nS0xl71inYYxZrqRLItmNDYLhfERj3TCXFo+r+xPZv7GiNmFNM72i533X9tPd\n4cklP8fqaBagIJCN5scq+hUtqUZZeVI9Wn0uQNXn4iVQMpG89uUmNi1HhgAs\nBTpGtbT5LKD3Z4EEIjn7g8PbCeRDMI77iSleBHp+cw1/PadH2mVcTN8Wli5J\nsd+Cf3zFElr1n0o2aeVlg6cywO9IFHiZvNDreZJM1BLcz525f7hsD0hwle7s\nwesKfsJSYg//HY3OKXWYCm0HIb0J/rCawPFRCok5+WCRqK8fEXNSpFHWX7Rb\nRo362lJo2jkySECSwBu6xmaxJCUC/RNbx3PMegkweVL2IVFPGkfRfKelVMFx\nOvXFgIon03DwDfsIJVladaCli1b2v0O7As2HT2SkrC+2ZW2822h66XJv+dyJ\n42sI0kPDikzqYq+kRRGshi3rQ5Up4kejHK38DciZ1apTInnTGIzwJ0jyNMKa\nnGHM\r\n=RLKa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBY1FlDBr8PYV05XCKE5N1DAnOMKeQbfQ3Rs+oXwCdIAAiBA2L7f4t6d5FmlAI+G4OeQt0XtZ5GmjiNSKRGQIVedNw=="}]},"maintainers":[{"name":"dean177","email":"deanmerchant@gmail.com"}],"_npmUser":{"name":"dean177","email":"deanmerchant@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/with-url-state_3.0.0-alpha.1_1541978298953_0.5774229130895472"},"_hasShrinkwrap":false},"3.0.0-alpha.2":{"author":{"name":"Dean Merchant","email":"deanmerchant@gmail.com"},"contributors":[{"name":"Matt Hawes","email":"hawes.info@gmail.com","url":"https://github.com/MGHawes"}],"name":"with-url-state","version":"3.0.0-alpha.2","repository":{"type":"git","url":"https://github.com/dean177/with-url-state.git"},"dependencies":{"@types/react-test-renderer":"16.0.3","qs":"6.5.2"},"peerDependencies":{"react":"16.x","react-dom":"16.x"},"devDependencies":{"@types/enzyme":"3.1.15","@types/history":"4.7.2","@types/jest":"23.3.9","@types/lodash":"4.14.118","@types/qs":"6.5.1","@types/query-string":"6.1.1","@types/react":"16.7.3","@types/react-dom":"16.0.9","codecov":"3.1.0","concurrently":"4.0.1","enzyme":"3.7.0","enzyme-adapter-react-16":"1.7.0","ghpages":"0.0.10","history":"4.7.2","husky":"1.1.3","jest":"23.6.0","jsdom":"13.0.0","lint-staged":"8.0.4","prettier":"1.15.2","props-interceptor":"1.0.1","query-string":"6.2.0","react":"16.7.0-alpha.0","react-dom":"16.7.0-alpha.0","react-testing-library":"5.2.3","react-test-renderer":"16.7.0-alpha.0","ts-jest":"23.10.4","tslint":"5.11.0","tslint-react":"3.6.0","typescript":"3.1.6"},"jest":{"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}"],"coveragePathIgnorePatterns":["<rootDir>/src/index.ts"],"moduleFileExtensions":["ts","tsx","js","json"],"setupTestFrameworkScriptFile":"<rootDir>/setupTestFramework.js","testMatch":["<rootDir>/src/**/?(*.)(spec|test).ts?(x)"],"transform":{".(ts|tsx)":"ts-jest"}},"prettier":{"printWidth":90,"trailingComma":"all","singleQuote":true,"semi":false},"husky":{"hooks":{"pre-commit":["lint-staged"],"post-commit":["git update-index -g"]}},"lint-staged":{"*.ts":["yarn lint","yarn prettify","git add"],"*.tsx":["yarn lint","yarn prettify","git add"]},"license":"MIT","main":"dist/withUrlState.js","types":"dist/withUrlState.d.ts","scripts":{"build":"rm -rf dist && tsc","build:docs":"rm -rf docs && cd example && yarn && yarn build","deploy:docs":"gh-pages -d example/build","lint":"tslint --fix","prettify":"prettier --parser typescript --write","format":"yarn lint src/**/*.ts src/**/*.tsx example/src/**/*.ts example/src/**/*.tsx  && yarn prettify src/**/*.ts src/**/*.tsx example/src/**/*.ts example/src/**/*.tsx","prepublishOnly":"yarn build","report-coverage":"codecov","start":"tsc --watch","test":"jest","typecheck":"tsc"},"description":"[![CircleCI](https://circleci.com/gh/Dean177/with-url-state.svg?style=shield)](https://circleci.com/gh/Dean177/with-url-state) [![codecov](https://codecov.io/gh/Dean177/with-url-state/branch/master/graph/badge.svg)](https://codecov.io/gh/Dean177/with-url-","licenseText":"Copyright 2017 Dean Merchant\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","_id":"with-url-state@3.0.0-alpha.2","dist":{"shasum":"f5fc2b7d82a434bb8607e93ca2aaa8cda21a4fb8","integrity":"sha512-4Vi014ovTCLmUWICVQcwTz9FjMYzopz5tY9JSDreMZxA7Rte3KjGdY2nPWLhIT88BLieER0ZFvE7ujlJV66BUQ==","tarball":"https://registry.npmjs.org/with-url-state/-/with-url-state-3.0.0-alpha.2.tgz","fileCount":10,"unpackedSize":37191,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb6ruDCRA9TVsSAnZWagAAlCAP/iEk7UXodhMzxq0sK09H\nzRI9Ec3vs8DbrR0AWUDuph35GynfRSGS929zIEUig1ds037GjbUpRPHEeZFM\ncwSV+aoRVKaRq3LIuRKMBP872gfnlEezgfeD4Jc2eKGIQiVLTF9v4nZ5Dim/\nXH/5734QVIRguPh+4r6Hf4eaXUKaQVzbUly5TtQqeebTCnaaZ6PQmnj3BR3T\nACuOIzCtL/i1GtIMopMgWcwJfoy0ddvSkEo+wgmGebDKYtkQKKHhBn5CN3H8\nw445wYgIdbfp1NPO6seOy/fazvjSaP2behNYk4KvheboSRQ1Fy41S7CLdqk3\ndHb+zWCbhfQO3FFDOnrkyQ9aF6zsAcUTy9uBkWjnAGKS81TECaXCkOGtFnrM\n1Xe0NyX0+JDm/TAJ2peQheuh60plV9pdL5w3BeVWn63GK6AnCxs8PBFD525+\nBLN77GmoTwLzEInLxHuoyeSBqBjl2duXk+b+56ds+nZhNp3+UZUXnfW9IGMv\nA4ddCDu80IVB04BcCFTGcqyW1iXC8CdO3VlkF7IsLjFomhN3UrkOEIhBHgu4\nW2FC0o2jKUg6akoRtmOgiIwyqTl6oBK0+fLLqXYut3kTneGuKx44TMQrJ/GI\nNxlq5DxgnmDvgmxSHshy06OjIL6Q+jobGzbSAUxQRgwyFz3hdbnOnCyv0atA\nzugA\r\n=0V1N\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFH9pj3vI9iQAJKpj0mhzYcgRwPGZRD/sSdPQq3uMXhXAiEA+mQgL9TAAgYX3cooZMqL7fc1Gx70q5Cjc/UywxpVAOA="}]},"maintainers":[{"name":"dean177","email":"deanmerchant@gmail.com"}],"_npmUser":{"name":"dean177","email":"deanmerchant@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/with-url-state_3.0.0-alpha.2_1542110083031_0.6774206598758328"},"_hasShrinkwrap":false},"2.0.1":{"author":{"name":"Dean Merchant","email":"deanmerchant@gmail.com"},"contributors":[{"name":"Matt Hawes","email":"hawes.info@gmail.com","url":"https://github.com/MGHawes"}],"name":"with-url-state","version":"2.0.1","repository":{"type":"git","url":"https://github.com/dean177/with-url-state.git"},"dependencies":{"qs":"6.5.2"},"peerDependencies":{"react":"16.x","react-dom":"16.x"},"devDependencies":{"@types/enzyme":"3.1.14","@types/history":"4.7.2","@types/jest":"23.3.8","@types/lodash":"4.14.117","@types/qs":"6.5.1","@types/query-string":"6.1.1","@types/react":"16.4.18","@types/react-dom":"16.0.9","codecov":"3.1.0","concurrently":"4.0.1","enzyme":"3.7.0","enzyme-adapter-react-16":"1.6.0","ghpages":"0.0.10","history":"4.7.2","husky":"1.1.0","jest":"23.6.0","jsdom":"12.2.0","lint-staged":"7.3.0","prettier":"1.14.3","props-interceptor":"1.0.1","query-string":"6.2.0","react":"16.6.0","react-dom":"16.6.0","react-test-renderer":"16.6.0","ts-jest":"23.10.4","tslint":"5.11.0","tslint-react":"3.6.0","typescript":"3.1.3"},"jest":{"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}"],"coveragePathIgnorePatterns":["<rootDir>/src/index.ts"],"moduleFileExtensions":["ts","tsx","js","json"],"setupTestFrameworkScriptFile":"<rootDir>/setupTestFramework.js","testMatch":["<rootDir>/src/**/?(*.)(spec|test).ts?(x)"],"transform":{".(ts|tsx)":"ts-jest"}},"prettier":{"printWidth":90,"trailingComma":"all","singleQuote":true,"semi":false},"husky":{"hooks":{"pre-commit":["lint-staged"],"post-commit":["git update-index -g"]}},"lint-staged":{"*.ts":["yarn lint","yarn prettify","git add"],"*.tsx":["yarn lint","yarn prettify","git add"]},"license":"MIT","main":"dist/withUrlState.js","types":"dist/withUrlState.d.ts","scripts":{"build":"rm -rf dist && tsc && yarn build:docs","build:docs":"rm -rf docs && cd example && yarn && yarn build","deploy:docs":"gh-pages -d example/build","lint":"tslint --fix","prettify":"prettier --parser typescript --write","format":"yarn lint src/**/*.ts src/**/*.tsx example/src/**/*.ts example/src/**/*.tsx  && yarn prettify src/**/*.ts src/**/*.tsx example/src/**/*.ts example/src/**/*.tsx","prepublishOnly":"yarn build && yarn test","report-coverage":"codecov","start":"tsc --watch","test":"jest"},"description":"[![CircleCI](https://circleci.com/gh/Dean177/with-url-state.svg?style=shield)](https://circleci.com/gh/Dean177/with-url-state) [![codecov](https://codecov.io/gh/Dean177/with-url-state/branch/master/graph/badge.svg)](https://codecov.io/gh/Dean177/with-url-","licenseText":"Copyright 2017 Dean Merchant\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","_id":"with-url-state@2.0.1","dist":{"shasum":"fc0fc142231ee8f612b7b4091cfa32da92510e15","integrity":"sha512-k6TcC3b/pOuk9L74MfBqOR25EpwXkCRpaR198/5HQYeBTMjlMNeWR+NBw7Ungjxhwr84tnEXNcnN+f5EEoO2FQ==","tarball":"https://registry.npmjs.org/with-url-state/-/with-url-state-2.0.1.tgz","fileCount":8,"unpackedSize":17773,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb7MIkCRA9TVsSAnZWagAAbREP/0Ls/S/JwL2ltHfSne3L\nu5qTKyHDl+DPd7FuBZ9Copd+WOAJmVF8yw0X/ea1016fJXNc3tcTltKzHul9\nTVEh/K7QYjKdkwzhstQ9ObO2eAgntlM3JW0TB1Q6YcPBLFduxnZrffJf3zRy\nX84v/XpXgCpUb1CtMoOZ0lJ1n5m0/zB0025oZfoXcHwbjDOMXsFa1OB5739F\nOFEjZtPey+VJf8Oeg57251msyvuAHDUrZUeMwfKy4y0/486gXRy04hM8tWBg\nfad98UYF11TwfwMZMM7uYLOOm7vwX35rQoNLZASogIdZqxSldPh7ZNklpl1L\n/vQrDiYJQa+7TGgevoxDy4SW5HeicaJmMAYAcLJkI0sIgsND12tp4CgKf9cB\nsCzqiGrw55ShhdvoQuEq62v0szA7t75UTK16+eJPDJmCQsRIFYl3gVbkwfr+\ne+sNDtZxwhtBsIntFi8HybTe0k9DewfinP/78lnNgvJp4WkYYdOG+kWS9g/C\nT/ouChK3Yy+zWSUwmW0K1UjOau0aUZtPjwoiwKt/Ifh53TgOhugtsIthRfz2\nhokH1wj7wtNiu25cPSY26KAz4ANvZ/dSthZE9555rJkwOq0sNx4qT3TBmsak\nlIkHIjdimNyxDAdPFaASNwwRKjmfyQgkM2KJ28ZY9lvlYiIOgSTDmMOfvoYN\nurQ+\r\n=aZ/9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGazUM2fLAxiGjysSiYucCgbbJ4/JdK86Rgll7XlpO1EAiEAqyGLDf5fmFLwTgfvSx9ylzJVL+i9YD0O2unY5b5wGxY="}]},"maintainers":[{"name":"dean177","email":"deanmerchant@gmail.com"}],"_npmUser":{"name":"dean177","email":"deanmerchant@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/with-url-state_2.0.1_1542242852309_0.8115492796986787"},"_hasShrinkwrap":false},"2.0.2":{"author":{"name":"Dean Merchant","email":"deanmerchant@gmail.com"},"contributors":[{"name":"Matt Hawes","email":"hawes.info@gmail.com","url":"https://github.com/MGHawes"}],"name":"with-url-state","version":"2.0.2","repository":{"type":"git","url":"https://github.com/dean177/with-url-state.git"},"dependencies":{"qs":"6.6.0"},"peerDependencies":{"react":"16.x","react-dom":"16.x"},"devDependencies":{"@types/enzyme":"3.1.15","@types/history":"4.7.2","@types/jest":"23.3.10","@types/lodash":"4.14.118","@types/qs":"6.5.1","@types/query-string":"6.1.1","@types/react":"16.4.18","@types/react-dom":"16.0.9","codecov":"3.1.0","concurrently":"4.0.1","enzyme":"3.7.0","enzyme-adapter-react-16":"1.7.0","ghpages":"0.0.10","history":"4.7.2","husky":"1.2.0","jest":"23.6.0","jsdom":"13.0.0","lint-staged":"8.1.0","prettier":"1.15.3","props-interceptor":"1.0.1","query-string":"6.2.0","react":"16.6.3","react-dom":"16.6.3","react-test-renderer":"16.6.3","ts-jest":"23.10.5","tslint":"5.11.0","tslint-react":"3.6.0","typescript":"3.2.1"},"jest":{"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}"],"coveragePathIgnorePatterns":["<rootDir>/src/index.ts"],"moduleFileExtensions":["ts","tsx","js","json"],"setupTestFrameworkScriptFile":"<rootDir>/setupTestFramework.js","testMatch":["<rootDir>/src/**/?(*.)(spec|test).ts?(x)"],"transform":{".(ts|tsx)":"ts-jest"}},"prettier":{"printWidth":90,"trailingComma":"all","singleQuote":true,"semi":false},"husky":{"hooks":{"pre-commit":["lint-staged"],"post-commit":["git update-index -g"]}},"lint-staged":{"*.ts":["yarn lint","yarn prettify","git add"],"*.tsx":["yarn lint","yarn prettify","git add"]},"license":"MIT","main":"dist/withUrlState.js","types":"dist/withUrlState.d.ts","scripts":{"build":"rm -rf dist && tsc","build:demo":"rm -rf demo-build && cd demo && yarn && yarn build && mv build ../demo-build","deploy:demo":"gh-pages -d demo-build","lint":"tslint --fix","prettify":"prettier --parser typescript --write","format":"yarn lint src/**/*.ts src/**/*.tsx example/src/**/*.ts example/src/**/*.tsx  && yarn prettify src/**/*.ts src/**/*.tsx example/src/**/*.ts example/src/**/*.tsx","prepublishOnly":"yarn build && yarn test","report-coverage":"codecov","start":"tsc --watch","test":"jest"},"description":"[![CircleCI](https://circleci.com/gh/Dean177/with-url-state.svg?style=shield)](https://circleci.com/gh/Dean177/with-url-state) [![codecov](https://codecov.io/gh/Dean177/with-url-state/branch/master/graph/badge.svg)](https://codecov.io/gh/Dean177/with-url-","licenseText":"Copyright 2017 Dean Merchant\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","_id":"with-url-state@2.0.2","dist":{"shasum":"8505947727974eec772bb9f15811ec40c2194de7","integrity":"sha512-l2MI7aAOG67qvblBLErpiPZQ0DwOveRGCVPczcIGz632h9ZAfRcW0WmHUSVYR4qDm391mU/PRzQ9GGOtLfI8Yw==","tarball":"https://registry.npmjs.org/with-url-state/-/with-url-state-2.0.2.tgz","fileCount":8,"unpackedSize":17697,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcASw4CRA9TVsSAnZWagAAo3sP/0A67sMYQs+JzW80HXsY\n6/NEn0lSrsShJuKhvo6XZocJsu4wwT27fVa9w+TuAjk6GUdFP9BXVD38usLh\n6zcUQYMKbP5hoa5Zm44XavQmLSXgNdOgo3LGnkewgdGOTzDJKt2AO+/0k4Fk\nZFAMOwbU9+8Z2SIquL3BMnRofLekfrpF5AO1Z7AbKhb2qnr6lyIzFnbz/tF/\nxbSfkBZien46rB/54/5iRqmK4WAgt9StkFBjF+xocAcd/WswQdNpMmc6/FDw\nHLfyR4ceqEK4FYwfXMFxjKd/LMiZ+GrMemhrsrqqc/5kEKw59p1+CY6dYTFi\n5g8Gz4YUi5lp8KqMjU4F1TYwMGTs8poJd0zpoYGXd1Koky97psr6tPyqDvag\noeQ42teLGPcpF8Lbt8U0epbKnJb59TVuItYrPvXuGwsa9wPPBlf17UV3BYQH\nJUaXSSMCiDvQ0pFXa1uyWq6jW2WH1PPMcYXm1AZga+u6sH2d3aUO0R3gSIg9\ntyR4ybART14wM7JBf0OiG7Sn7C9NIDOxe7YjQU72SvVNJ8fDj24sper63+10\nBJ5LczZqADj+1/bAe+KnZ3HL+s6WVcNPu6ezBhb8lSsVsnyNPEV4I40AawYy\nk+rYpteWvc38s0te+ffmEHZqxo7xUuPrYL+24qTkoiHzRisCRuplSd5zFSOf\nOMN2\r\n=I8DU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD007o1gGo/k9JvyrRr16KJmz/JlzI6Oqlt6u6mlOpMogIgFKSzSGBORtmqJnBtaRnLIh864lrjiMePYschOaZNJ6Y="}]},"maintainers":[{"name":"dean177","email":"deanmerchant@gmail.com"}],"_npmUser":{"name":"dean177","email":"deanmerchant@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/with-url-state_2.0.2_1543580727647_0.8988404538883226"},"_hasShrinkwrap":false},"3.0.0-beta.0":{"author":{"name":"Dean Merchant","email":"deanmerchant@gmail.com"},"contributors":[{"name":"Matt Hawes","email":"hawes.info@gmail.com","url":"https://github.com/MGHawes"}],"name":"with-url-state","version":"3.0.0-beta.0","repository":{"type":"git","url":"https://github.com/dean177/with-url-state.git"},"dependencies":{"qs":"^6.6.0"},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0"},"devDependencies":{"@types/history":"4.7.2","@types/jest":"24.0.4","@types/lodash":"4.14.121","@types/qs":"6.5.1","@types/query-string":"6.2.0","@types/react":"16.8.3","@types/react-dom":"16.8.1","@types/react-test-renderer":"16.8.1","codecov":"3.2.0","concurrently":"4.1.0","ghpages":"0.0.10","history":"4.7.2","husky":"1.3.1","jest":"24.1.0","jsdom":"13.2.0","lint-staged":"8.1.4","prettier":"1.16.4","props-interceptor":"1.0.1","query-string":"6.2.0","react":"16.8.1","react-dom":"16.8.1","react-test-renderer":"16.8.1","react-testing-library":"5.8.0","ts-jest":"23.10.5","tslint":"5.12.1","tslint-react":"3.6.0","typescript":"3.3.3"},"jest":{"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}"],"coveragePathIgnorePatterns":["<rootDir>/src/index.ts"],"moduleFileExtensions":["ts","tsx","js","json"],"setupFilesAfterEnv":["<rootDir>/setupTestFramework.js"],"testMatch":["<rootDir>/src/**/?(*.)(spec|test).ts?(x)"],"transform":{".(ts|tsx)":"ts-jest"}},"prettier":{"printWidth":90,"trailingComma":"all","singleQuote":true,"semi":false},"husky":{"hooks":{"pre-commit":["lint-staged"],"post-commit":["git update-index -g"]}},"lint-staged":{"*.ts":["yarn lint","yarn prettify","git add"],"*.tsx":["yarn lint","yarn prettify","git add"]},"license":"MIT","main":"dist/withUrlState.js","types":"dist/withUrlState.d.ts","scripts":{"build":"rm -rf dist && tsc","build:docs":"rm -rf docs && cd example && yarn && yarn build","deploy:docs":"gh-pages -d example/build","lint":"tslint --fix","prettify":"prettier --parser typescript --write","format":"yarn lint src/**/*.ts src/**/*.tsx example/src/**/*.ts example/src/**/*.tsx  && yarn prettify src/**/*.ts src/**/*.tsx example/src/**/*.ts example/src/**/*.tsx","prepublishOnly":"yarn build","report-coverage":"codecov","start":"tsc --watch","test":"jest","typecheck":"tsc"},"description":"[![CircleCI](https://circleci.com/gh/Dean177/with-url-state.svg?style=shield)](https://circleci.com/gh/Dean177/with-url-state) [![codecov](https://codecov.io/gh/Dean177/with-url-state/branch/master/graph/badge.svg)](https://codecov.io/gh/Dean177/with-url-","licenseText":"Copyright 2017 Dean Merchant\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","_id":"with-url-state@3.0.0-beta.0","dist":{"shasum":"49756e9b504a0a1d16a66b26097efeccd1040b39","integrity":"sha512-rBe957XJZ0wyK9y3GMDeA2qhydERAR9UunS+84ogqAxFKVzYVWdlAMrHAYZwzkgX3Fd6Rq1SXsY1y/YBJpii1g==","tarball":"https://registry.npmjs.org/with-url-state/-/with-url-state-3.0.0-beta.0.tgz","fileCount":10,"unpackedSize":36488,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcZYJSCRA9TVsSAnZWagAA3KcP/iuUQEGZ+Nnaz9r/yMu/\nUg0cVUD5Ntc6cjqtzTvHdYAQCFfIZ8UQI3wnwFPy1YfpuAJwIAyyuvqlbhjJ\n2K469rgHom62xbm69FSnaSkLLFe2BDcukKBgv4lmwX+QAWZhhfzT+pjSDCs2\nnloGEF2dKLZlQxEhe07RCi6fY0MFMMSSgH8E95xEDm/HI4UNY6KY8uuTwOya\nNxagVRi2JFHZyj7aAJgOklPsFtZGs4Gy/qxlL4+qbIPLv+tisCtT9h2v5Hu3\nntQmn4YvzHoFHMCZ2sOkiZbB/gKfPvKSJ4DZrl1qfyOckoi2kcnsy4nV23xI\nDR0CRZccg6/vz1PFSEPoyt7KURujlWSTpUPreaJSTTJetJaSBNrH4GlbJFch\n9EvZCuz+1T+GAQUsS1cL6ED11JHfg+ryrS1sLZK98anfu64kGJjAw0GnNAWm\nG8bQr9gdNRFb9TJoRUu4aNX1Grv7/Vk+lTXffreB5H6SHlf26dqgJVgIcDlM\no7hchThxc8G9XG8DGK3yZ0n0NdOJGJW9aV+wm1U6cBZKTcrtKUQlsCB6MAPK\n3f5HIouuDfCxd7PZMfMwH2rXpa4MVXs2kcGxTGYz1EUroYKGUu/5KN+NvQXM\nsqYjIOkUwBjHJuWOnA0ZGFmw9KHk5n4nO+vxb2Dr86chL5hP1eYS+SArirVA\n94eK\r\n=IGSW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDnvMggrSvGo4Wunj+Jcc7j4QvS4J1QyHMURqUHbndjhgIgFoGuf/VNzorvSHsMXu6YuAdw4tjVOAj3eMh9DBtE2r8="}]},"maintainers":[{"name":"dean177","email":"deanmerchant@gmail.com"}],"_npmUser":{"name":"dean177","email":"deanmerchant@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/with-url-state_3.0.0-beta.0_1550156370261_0.6432895657728768"},"_hasShrinkwrap":false},"2.1.0":{"author":{"name":"Dean Merchant","email":"deanmerchant@gmail.com"},"contributors":[{"name":"Matt Hawes","email":"hawes.info@gmail.com","url":"https://github.com/MGHawes"},{"name":"Henrique Lange","email":"hlangeseverino@gmail.com","url":"https://github.com/Henriquelange"}],"name":"with-url-state","version":"2.1.0","repository":{"type":"git","url":"https://github.com/dean177/with-url-state.git"},"dependencies":{"qs":"6.6.0"},"peerDependencies":{"react":"16.x","react-dom":"16.x"},"devDependencies":{"@types/enzyme":"3.1.15","@types/history":"4.7.2","@types/jest":"23.3.10","@types/lodash":"4.14.118","@types/qs":"6.5.1","@types/query-string":"6.1.1","@types/react":"16.4.18","@types/react-dom":"16.0.9","codecov":"3.1.0","concurrently":"4.0.1","enzyme":"3.7.0","enzyme-adapter-react-16":"1.7.0","ghpages":"0.0.10","history":"4.7.2","husky":"1.2.0","jest":"23.6.0","jsdom":"13.0.0","lint-staged":"8.1.0","prettier":"1.15.3","props-interceptor":"1.0.1","query-string":"6.2.0","react":"16.6.3","react-dom":"16.6.3","react-test-renderer":"16.6.3","ts-jest":"23.10.5","tslint":"5.11.0","tslint-react":"3.6.0","typescript":"3.2.1"},"jest":{"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}"],"coveragePathIgnorePatterns":["<rootDir>/src/index.ts"],"moduleFileExtensions":["ts","tsx","js","json"],"setupTestFrameworkScriptFile":"<rootDir>/setupTestFramework.js","testMatch":["<rootDir>/src/**/?(*.)(spec|test).ts?(x)"],"transform":{".(ts|tsx)":"ts-jest"}},"prettier":{"printWidth":90,"trailingComma":"all","singleQuote":true,"semi":false},"husky":{"hooks":{"pre-commit":["lint-staged"],"post-commit":["git update-index -g"]}},"lint-staged":{"*.ts":["yarn lint","yarn prettify","git add"],"*.tsx":["yarn lint","yarn prettify","git add"]},"license":"MIT","main":"dist/withUrlState.js","types":"dist/withUrlState.d.ts","scripts":{"build":"rm -rf dist && tsc","build:demo":"rm -rf demo-build && cd demo && yarn && yarn build && mv build ../demo-build","deploy:demo":"gh-pages -d demo-build","lint":"tslint --fix","prettify":"prettier --parser typescript --write","format":"yarn lint src/**/*.ts src/**/*.tsx example/src/**/*.ts example/src/**/*.tsx  && yarn prettify src/**/*.ts src/**/*.tsx example/src/**/*.ts example/src/**/*.tsx","prepublishOnly":"yarn build && yarn test","report-coverage":"codecov","start":"tsc --watch","test":"jest"},"description":"[![CircleCI](https://circleci.com/gh/Dean177/with-url-state.svg?style=shield)](https://circleci.com/gh/Dean177/with-url-state) [![codecov](https://codecov.io/gh/Dean177/with-url-state/branch/master/graph/badge.svg)](https://codecov.io/gh/Dean177/with-url-","licenseText":"Copyright 2017 Dean Merchant\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","_id":"with-url-state@2.1.0","dist":{"shasum":"09577a096d3461e0b8c688fac42ccee71c753a31","integrity":"sha512-0UqamScvaYqkAkC8XLMA8Grhc7pVNDa2RKu3Privjy9ZtWCHIpyrNS2JKr718C6GlVfD+YWSPWAKfgGr9h7XoA==","tarball":"https://registry.npmjs.org/with-url-state/-/with-url-state-2.1.0.tgz","fileCount":8,"unpackedSize":18379,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcbFk0CRA9TVsSAnZWagAAhSsP/03Q1cFN2lO4gljPj1fw\nR10cxVsFVVM9Fy8+BpibbOG3LYOiMCymtjcdha/Tt2hZ/lN43EBLUrj3DAT5\n8pb66kJnRhb9p7AkqCcG4njbHQ+6k3vo+OIT4CpL42Sl4E4e6MWkhlZugjzu\nBqU6jlJ3szwp+8pHWSbioYwwLTewOnbqPWTF6HNJLierc5KwWjAeQAQ0sY02\nmE0w0/DwWGWxIOjSeVSc1ncv63yAFFhRFqiitPgWWqaCvS+9e6MBr2XD3FUo\nFAkX2DiloPHF7iVBeRfbzSwqDL9d4jvgXE3RgPJGWHAfVORS1ZpeKSqvhJZo\nkfPOgp9asdN7Cs+jEyRfMcewRCTC97q/Tp9vhxS0WMZBJsULT9umei2X69Xf\nVXhk9TSMuPdTS06AhXvCoii2TzjwzoHluUr0xKy5ed4piUI9DBjm6VEI+Xzx\n68evhW3g5r/vlIZaHjdx8UWzsNfJ/oSTR1pZxJ8wS+SUhuR4S0gM2Ns78lp+\nKj+4mnCPt4UAZvhrizElH4Td6ofcpqQ8EH+4HBY67AQtoUteW1PjtMNce/Rb\naQrBRSlphz93TR16zHt6A7R/ZURMoLeEtmEQ+FDxeUV8SOQCwSShwHvSuL4W\nVDTCtXqEfsyyvOtiljdJRP6zEC6cxmRwN6/b0aCnP2nCBEgW4FjnMRdT6dYp\nWB/b\r\n=KI4g\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGAH2SSwqU67apzR+6bC0qmcffeu5FmacSXyDLLfclGQAiAnZRyxX+o8SKx9G1Eo+sIcqQcCMHbnSW4lY3OUtdosRQ=="}]},"maintainers":[{"name":"dean177","email":"deanmerchant@gmail.com"}],"_npmUser":{"name":"dean177","email":"deanmerchant@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/with-url-state_2.1.0_1550604595616_0.37967841384530976"},"_hasShrinkwrap":false},"3.0.0-beta.1":{"author":{"name":"Dean Merchant","email":"deanmerchant@gmail.com"},"contributors":[{"name":"Matt Hawes","email":"hawes.info@gmail.com","url":"https://github.com/MGHawes"},{"name":"Charles Rea","url":"https://github.com/CharlesRea"}],"name":"with-url-state","version":"3.0.0-beta.1","repository":{"type":"git","url":"https://github.com/dean177/with-url-state.git"},"dependencies":{"qs":"^6.6.0"},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0"},"devDependencies":{"@babel/core":"^7.1.0","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-object-rest-spread":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/preset-react":"^7.0.0","@babel/preset-typescript":"^7.1.0","@types/history":"4.7.2","@types/jest":"24.0.5","@types/lodash":"4.14.121","@types/qs":"6.5.1","@types/query-string":"6.2.0","@types/react":"16.8.4","@types/react-dom":"16.8.1","@types/react-test-renderer":"16.8.1","codecov":"3.2.0","concurrently":"4.1.0","ghpages":"0.0.10","history":"4.7.2","husky":"1.3.1","jest":"24.1.0","jsdom":"13.2.0","lint-staged":"8.1.4","prettier":"1.16.4","props-interceptor":"1.0.1","query-string":"6.2.0","react":"16.8.2","react-dom":"16.8.2","react-test-renderer":"16.8.2","react-testing-library":"5.8.0","tslint":"5.12.1","tslint-react":"3.6.0","typescript":"3.3.3"},"jest":{"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}"],"coveragePathIgnorePatterns":["<rootDir>/src/index.ts"],"moduleFileExtensions":["ts","tsx","js","json"],"setupFilesAfterEnv":["<rootDir>/setupTestFramework.js"],"testMatch":["<rootDir>/src/**/*.test.ts?(x)"]},"prettier":{"printWidth":90,"trailingComma":"all","singleQuote":true,"semi":false},"husky":{"hooks":{"pre-commit":["lint-staged"],"post-commit":["git update-index -g"]}},"lint-staged":{"*.ts":["yarn lint","yarn prettify","git add"],"*.tsx":["yarn lint","yarn prettify","git add"]},"license":"MIT","main":"dist/useUrlState.js","types":"dist/useUrlState.d.ts","scripts":{"build":"rm -rf dist && tsc","build:demo":"rm -rf demo-build && cd demo && yarn && yarn build && mv build ../demo-build","deploy:demo":"gh-pages -d demo-build","lint":"tslint --fix","prettify":"prettier --parser typescript --write","format":"yarn lint src/**/*.ts src/**/*.tsx example/src/**/*.ts example/src/**/*.tsx  && yarn prettify src/**/*.ts src/**/*.tsx example/src/**/*.ts example/src/**/*.tsx","prepublishOnly":"yarn build","report-coverage":"codecov","start":"tsc --watch","test":"jest","typecheck":"tsc"},"description":"[![CircleCI](https://circleci.com/gh/Dean177/with-url-state.svg?style=shield)](https://circleci.com/gh/Dean177/with-url-state) [![codecov](https://codecov.io/gh/Dean177/with-url-state/branch/master/graph/badge.svg)](https://codecov.io/gh/Dean177/with-url-","licenseText":"Copyright 2017 Dean Merchant\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","_id":"with-url-state@3.0.0-beta.1","dist":{"shasum":"121ed38d5939180580e17182ed198bedf8ac9618","integrity":"sha512-efgLVMkYbbG48hrmJQlZx7aXfk14IhPFDR1vPMEnGdVJQVUjbNitOcEMBqvNgUmVJ1vSkf5jjAq9G4Ccd7S4WQ==","tarball":"https://registry.npmjs.org/with-url-state/-/with-url-state-3.0.0-beta.1.tgz","fileCount":9,"unpackedSize":18886,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcdH1SCRA9TVsSAnZWagAA1+kP+gN1ZmTC5zjXtaiDLPnf\nKn7tepb7VWkeSKyF41iZzTg0WZ8aqZ+k2ImuLtdbPWNshdm+fvhdjamUUPen\n6OBua/P4WxONqDcDrOJBS7rek+YQbxYZ1ISNdSI8EUE51T1BKU2DQ7EIx9jx\nT7mC6ryXnTHZw3XbT1y9OwGwwhRVAf7+s9sWVykeU/zLi4ON41lvzX17gSkY\nnIfNT1A9wmQaq+NFJ8F6gazhBXMHo7s/uhLNw0O8eeR7ga9OgVmSvw0rLui9\nzBacjglteXI8UAnXPHaGjDd2ee0qalCfUhdArQvgbtbs1JCCCcb6Aq8dQs7U\nStx2DMg8RhAna2qJa9AH+nxGwqpzMM5wgVGHGqRWsTDP4QWxdBPPSQYfCiAQ\nsCTS2sr/Wi6ZgaP6sv2Iu+FZzdrTbJHIIz6B5VYPLoTkIstgJIlRJWlNw8T5\n1V9prBGTKjCp5xZ0aVLG7IapIcwWTe+fy11caqAQ2Rt7cT+n+YqUtHMd785S\nsHPd2OScdopzyDK4WP2Tu3pe89iggdlrH8XLGNKX075aB8903lBXgF4bLVRx\n3hWqXAZ4VoPdNeT8QIv3WRSPbY2Dn2kfoVVFG8dzAQPc2jyETRLrQwDUPHGY\ngPvXTDrt3VUKdAzNh0mFuTlvJoYGtMOEfEqMZUwVIqSgY6aWJTDoiRFn8I7C\nceA1\r\n=H0Q3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDYK2vIAmV/db6ouvrP6HnFjPSUZVFiYg6xW8pNl8kFYgIhAKWnmx3K43TPNSAczVWIIRbsQsI43kdcR5zAmEwW1OWR"}]},"maintainers":[{"name":"dean177","email":"deanmerchant@gmail.com"}],"_npmUser":{"name":"dean177","email":"deanmerchant@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/with-url-state_3.0.0-beta.1_1551138129224_0.6249590813478485"},"_hasShrinkwrap":false},"3.0.0-beta.2":{"author":{"name":"Dean Merchant","email":"deanmerchant@gmail.com"},"contributors":[{"name":"Matt Hawes","email":"hawes.info@gmail.com","url":"https://github.com/MGHawes"},{"name":"Charles Rea","url":"https://github.com/CharlesRea"}],"name":"with-url-state","version":"3.0.0-beta.2","repository":{"type":"git","url":"https://github.com/dean177/with-url-state.git"},"dependencies":{"qs":"^6.9.1"},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0"},"devDependencies":{"@babel/core":"^7.8.3","@babel/plugin-proposal-class-properties":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.8.3","@babel/preset-env":"^7.8.3","@babel/preset-react":"^7.8.3","@babel/preset-typescript":"^7.8.3","@types/history":"4.7.4","@types/jest":"24.9.0","@types/lodash":"4.14.149","@types/qs":"6.9.0","@types/query-string":"6.3.0","@types/react":"16.9.19","@types/react-dom":"16.9.5","@types/react-test-renderer":"16.9.1","codecov":"3.6.1","concurrently":"5.0.2","ghpages":"0.0.10","history":"4.10.1","husky":"4.2.0","jest":"25.1.0","jsdom":"16.0.1","lint-staged":"10.0.2","prettier":"1.19.1","props-interceptor":"1.0.1","query-string":"6.10.1","react":"16.12.0","react-dom":"16.12.0","react-test-renderer":"16.12.0","react-testing-library":"5.8.0","tslint":"6.0.0","tslint-react":"4.2.0","typescript":"3.7.5"},"jest":{"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}"],"coveragePathIgnorePatterns":["<rootDir>/src/index.ts"],"moduleFileExtensions":["ts","tsx","js","json"],"setupFilesAfterEnv":["<rootDir>/setupTestFramework.js"],"testMatch":["<rootDir>/src/**/*.test.ts?(x)"]},"prettier":{"printWidth":90,"trailingComma":"all","singleQuote":true,"semi":false},"husky":{"hooks":{"pre-commit":"lint-staged","post-commit":"git update-index -g"}},"lint-staged":{"*.ts":["yarn lint","yarn prettify","git add"],"*.tsx":["yarn lint","yarn prettify","git add"]},"license":"MIT","main":"dist/useUrlState.js","types":"dist/useUrlState.d.ts","scripts":{"build":"rm -rf dist && tsc","build:demo":"rm -rf demo-build && cd demo && yarn && yarn build && mv build ../demo-build","deploy:demo":"gh-pages -d demo-build","lint":"tslint --fix","prettify":"prettier --parser typescript --write","format":"yarn lint src/**/*.ts src/**/*.tsx example/src/**/*.ts example/src/**/*.tsx  && yarn prettify src/**/*.ts src/**/*.tsx example/src/**/*.ts example/src/**/*.tsx","prepublishOnly":"yarn build","report-coverage":"codecov","start":"tsc --watch","test":"jest","typecheck":"tsc"},"description":"[![CircleCI](https://circleci.com/gh/Dean177/with-url-state.svg?style=shield)](https://circleci.com/gh/Dean177/with-url-state) [![codecov](https://codecov.io/gh/Dean177/with-url-state/branch/master/graph/badge.svg)](https://codecov.io/gh/Dean177/with-url-","licenseText":"Copyright 2017 Dean Merchant\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","_id":"with-url-state@3.0.0-beta.2","dist":{"shasum":"50cc87f4fd1efaa103141a363df370d558f7715f","integrity":"sha512-mp3SgY67GgnuRb0VBCA9DROpftSR9m+ZBFPQG47iNQUFZAZIdlWGA168Z5Wz1R+72+iKFeZ+3t1rebG22zcLJw==","tarball":"https://registry.npmjs.org/with-url-state/-/with-url-state-3.0.0-beta.2.tgz","fileCount":9,"unpackedSize":18909,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeKM5NCRA9TVsSAnZWagAAfiMP+QFkRFQiR3LuH6ImBmUR\nPy3Atxog1E5mCCvZHqt6VrTZkjOD8lsfEYEL8EH0h92UnU50PDQgvYmuaUtS\nbcigj2B18RqRV13zZbme/UNSDJ99PKpgJMQhWmYDe7ZQVQYP6oPaEaoeIPT2\nPr1+hkntM0s546D8VTwc3HrYGbmyuIkpWYDoDCwBvmYee+pFOB2lUFWE2nsh\nz7U9bzRIyn4aNXAuEr2KvMcvXYFp78QpuP3cnwEsQj0B0KgUqLrE4jJMNbM9\nhsTjqTwD3k/ly/s4lkB2+cHHAlhpAIz/RQ3VFtpB1Srp9TFHbWkhQQ8hasIB\nPDsBD0jcVITZ8oMJQlhq9JPoqeI9vowxlWJSUdH+MSJlPWt5966Qnre3cqT3\n3yJVlqpzxo5qqE1t4TwnAx87P9LG1omZnVxgMXrzWlaAcxfkgg6fkGHCfHZ1\nA4AT6g1wYx9+Mu9f1A4cV6ajVSQbiRS0oLL8mLqkhsPjMWYpDNoVcXjqegFn\n/QdYX+wlwswYpgKlSpxBAerGgfdb1zoz4DbLcdqZCdQy4orA6n6BKEvjgH/m\nOC04UzY50z3LPexNl99IL6F38QoIHhLuQt9WYCuwc1Nv0Bqgx34gPzKEtczO\nzXEoJzXlidEqI7XSxlRInIE5TxpPo2+Bcan4Qv7vHT25nBWNdd9OQXM3+9OB\niLcN\r\n=FOaJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDn+0oIexSArat3vxiJBVMnMYRxuGLjSh3pLNHjda+DRwIhAOKC7Jg7q4YXV6nqHGllKaskbaxN8lxT2FI65NVntB/a"}]},"maintainers":[{"name":"dean177","email":"deanmerchant@gmail.com"}],"_npmUser":{"name":"dean177","email":"deanmerchant@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/with-url-state_3.0.0-beta.2_1579732556678_0.520646143936139"},"_hasShrinkwrap":false},"3.0.0-beta.3":{"author":{"name":"Dean Merchant","email":"deanmerchant@gmail.com"},"contributors":[{"name":"Matt Hawes","email":"hawes.info@gmail.com","url":"https://github.com/MGHawes"},{"name":"Charles Rea","url":"https://github.com/CharlesRea"},{"name":"Henrique Lange","email":"hlangeseverino@gmail.com","url":"https://github.com/Henriquelange"}],"name":"with-url-state","version":"3.0.0-beta.3","repository":{"type":"git","url":"https://github.com/dean177/use-url-state.git"},"dependencies":{"qs":"^6.9.1"},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0"},"devDependencies":{"@babel/core":"^7.8.3","@babel/plugin-proposal-class-properties":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.8.3","@babel/preset-env":"^7.8.3","@babel/preset-react":"^7.8.3","@babel/preset-typescript":"^7.8.3","@types/history":"4.7.4","@types/jest":"24.9.0","@types/qs":"6.9.0","@types/query-string":"6.3.0","@types/react":"16.9.19","@types/react-dom":"16.9.5","@types/react-test-renderer":"16.9.1","codecov":"3.6.1","concurrently":"5.0.2","ghpages":"0.0.10","history":"4.10.1","husky":"4.2.0","jest":"25.1.0","jsdom":"16.0.1","lint-staged":"10.0.2","prettier":"1.19.1","query-string":"6.10.1","react":"16.12.0","react-dom":"16.12.0","react-test-renderer":"16.12.0","react-testing-library":"5.8.0","tslint":"6.0.0","tslint-react":"4.2.0","typescript":"3.7.5"},"jest":{"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}"],"coveragePathIgnorePatterns":["<rootDir>/src/index.ts"],"moduleFileExtensions":["ts","tsx","js","json"],"setupFilesAfterEnv":["<rootDir>/setupTestFramework.js"],"testMatch":["<rootDir>/src/**/*.test.ts?(x)"]},"prettier":{"printWidth":90,"trailingComma":"all","singleQuote":true,"semi":false},"husky":{"hooks":{"pre-commit":"lint-staged","post-commit":"git update-index -g"}},"lint-staged":{"*.ts":["yarn lint","yarn prettify","git add"],"*.tsx":["yarn lint","yarn prettify","git add"]},"license":"MIT","main":"dist/useUrlState.js","types":"dist/useUrlState.d.ts","scripts":{"build":"rm -rf dist && tsc","build:demo":"rm -rf demo-build && cd demo && yarn && yarn build && mv build ../demo-build","deploy:demo":"gh-pages -d demo-build","lint":"tslint --fix","prettify":"prettier --parser typescript --write","format":"yarn lint src/**/*.ts src/**/*.tsx example/src/**/*.ts example/src/**/*.tsx  && yarn prettify src/**/*.ts src/**/*.tsx example/src/**/*.ts example/src/**/*.tsx","prepublishOnly":"yarn build","report-coverage":"codecov","start":"tsc --watch","test":"jest","typecheck":"tsc"},"description":"[![CircleCI](https://circleci.com/gh/Dean177/use-url-state.svg?style=shield)](https://circleci.com/gh/Dean177/use-url-state) [![codecov](https://codecov.io/gh/Dean177/with-url-state/branch/master/graph/badge.svg)](https://codecov.io/gh/Dean177/with-url-st","licenseText":"Copyright 2017 Dean Merchant\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","_id":"with-url-state@3.0.0-beta.3","dist":{"shasum":"2ab2816168293908b9f0a3421af9e7dad91c851e","integrity":"sha512-oPgRe9HyfMrmmElYNEwyISzTlW7LS5AJvN2wwFzf2CKxSpKY19vh8Q5M4mkpLCHasMmtuTyS7oBhEG9KNboTiw==","tarball":"https://registry.npmjs.org/with-url-state/-/with-url-state-3.0.0-beta.3.tgz","fileCount":9,"unpackedSize":17545,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeMC5tCRA9TVsSAnZWagAATGYQAIHKytZDk86zguHx9Ppo\nzp4LLYqrlpNdCwmz5H2rP71QlPlul4EBxQFhPi88uzyzYyQgO2YECZH4rpK4\n0mcIrXYwXHVRFrfAyhJz+EF5wJjHJzvKh0wYhkVuL9Zf97TyZwiZ0IvhzLhn\n1iy6IQKZRNkGsbHaXPu5rUQQn4hCvHLUYcrx3+u1BXayPLBz680vENHyEeoE\nUAHvWQeN+Ej3Nymek6ORWIL2fS1taoyRAz7sBzQnp+jQAeCE+wySh1PMohTU\n4iKI7EtFQUNk5/SqtTcsn0YkF4PkIFx1yluHT0Yz851zJ8anNbhYvouBJPQK\nlZz9NiAfT6LE5t5o7HHWaeoicb3Cd4K9xlUdf3kRHyaYDKFTujnI4+JqrHGt\naXqK+L91Y3tOraKE30iZmPPMcesIThM+lIG3/NBFCBEJqKAVGRuTVqSRs7qq\nvhTXw6lL9Beni1hDmOuE+78GgwluTidDadEoYrZP8xcvxbPPxeINrLl1PWp2\n4uYGRR4UlLIQeXCMbMLhDffb+w4om+qktkh/3GuZNTmjXgRt+jUYlzolnygk\nMeAyezX2IvzhLnS23kyt1v5dw+KhzCDNvEkzOUJEpS/geZ3iqb4hmYVR5+NQ\nvPcDDv8Nv46IuhkWgI0k1sgCRmAtYb7LjSOlJl/2x3ecFJPlT/SsouPb0NFe\nYHdh\r\n=iZr0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCE6tL/LycQI332/y1LHn/8xdn+vIwcABs+X6hR19cWxAIgAVEtkrVMHAj3YvEPK4//xjgHCVoZ4aBUHIXWMlihhwM="}]},"maintainers":[{"name":"dean177","email":"deanmerchant@gmail.com"}],"_npmUser":{"name":"dean177","email":"deanmerchant@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/with-url-state_3.0.0-beta.3_1580215917494_0.8378266081131502"},"_hasShrinkwrap":false}},"readme":"# with-url-state\n\n[![CircleCI](https://circleci.com/gh/Dean177/use-url-state.svg?style=shield)](https://circleci.com/gh/Dean177/use-url-state)\n[![codecov](https://codecov.io/gh/Dean177/with-url-state/branch/master/graph/badge.svg)](https://codecov.io/gh/Dean177/with-url-state)\n[![Npm](https://badge.fury.io/js/with-url-state.svg)](https://www.npmjs.com/package/with-url-state)\n\nLifts the state out of a react component and into the url\n\n![color-example](./demo/color-example.gif)\n\n## Installation\n\nTo install with npm:\n\n```sh\nnpm install with-url-state --save\n```\n\nTo install with yarn:\n\n```sh\nyarn add with-url-state\n```\n\n## Usage\n\nCheck out the the [demo](https://dean177.github.io/with-url-state/) or view the [code](https://github.com/Dean177/use-url-state/tree/master/demo)\n\nThe api is very similar to `useState` with some important differences:\n- Url state **must** be an object, you can't use any primitive values likes strings, booleans, numbers or collections such as Map or Set.\n- Url values in your state object must be strings as there is no way to tell the if `?someParam=false` should be deserialized to a boolean or to a string.\n- The url is shared between your whole app. Multiple components using `useUrlState` will all affect the url simultaneously. This means that a `setUrlState` call will cause *all* components using `useUrlState` to re-render.\n- State is **shallow merged** into the previous state e.g.\n  ```\n  newState = {\n    ...previousState,\n    ...stateUpdate,\n  } \n  ``` \n  This allows components to adjust the url without having to worry about 'destroying' state that other components may be relying on. \n- The url is easily edited by your users, you should validate the values you receive \n\n\n### Example\n\n```javascript\nimport React from 'react'\nimport { useUrlState } from 'with-url-state'\n\nexport const UrlForm = () => {\n  const [urlState, setUrlState] = useUrlState({ color: 'blue' })\n  return (\n    <div className=\"UrlForm\">\n      <div className=\"current-state\" style={{ backgroundColor: props.urlState.color }}>\n        <div>{urlState.color}</div>\n      </div>\n      <div className=\"color-buttons\">\n        <button className=\"Red\" onClick={() => setUrlState({ color: 'red' })}>\n          Red\n        </button>\n        <button className=\"Green\" onClick={() => setUrlState({ color: 'green' })}>\n          Green\n        </button>\n        <button className=\"Blue\" onClick={() => setUrlState({ color: 'blue' })}>\n          Blue\n        </button>\n      </div>\n    </div>\n  )\n}\n```\n\n## Recipes\n\n### Higher-order component \n\nIf your application relies on the removed higher-order component API you can re-implement it like so:\n\n```javascript\nimport React from 'react'\nimport { useUrlState } from 'with-url-state'\n\nlet withUrlState = (getInitialState, options) => (WrappedComponent) => (props) => {\n  let [urlState, setUrlState] = useUrlState(getInitialState(props), options)\n  return <WrappedComponent {...props} urlState={urlState} setUrlState={setUrlState} />\n}\n```\n\n### Render-prop \n\nIf your application relies on the removed render prop API you can re-implement it like so:\n\n```javascript\nimport React from 'react'\nimport { useUrlState } from 'with-url-state'\n\nconst UrlState = ({initialState, options, render }) => {\n  let [urlState, setUrlState] = useUrlState(initialState, options)\n  return render({urlState, setUrlState})\n}\n```\n\n## Motivation\n\n`with-url-state` automates tiresome query parameter manipulations, simplifying components where the URL will be used for sharing, search results, querying data or tracking a visible portion of a map.\n\nThe api provided is:\n\n- based on [hooks](https://reactjs.org/docs/hooks.html)\n- type-safe thanks to [Typescript](https://www.typescriptlang.org/)\n- very similar to [Reacts built in state](https://reactjs.org/docs/state-and-lifecycle.html) apis, so converting a component which already manages state is usually as simple as replacing `useState` with `useUrlState`!\n\n## Pollyfill\n\nFor use in IE11 you will need [https://github.com/kumarharsh/custom-event-polyfill](https://github.com/kumarharsh/custom-event-polyfill)\nand add the following to the entry point of your application: \n```js\nimport 'custom-event-polyfill';\nif (typeof Event !== 'function') { window.Event = CustomEvent; }  \n``\n","maintainers":[{"name":"dean177","email":"deanmerchant@gmail.com"}],"time":{"modified":"2022-06-29T02:43:15.307Z","created":"2017-07-29T19:04:48.907Z","0.0.1":"2017-07-29T19:04:48.907Z","0.0.2":"2017-07-30T14:10:26.194Z","1.0.0":"2017-10-19T14:58:46.674Z","1.1.0":"2017-10-25T20:32:32.812Z","1.2.0":"2017-10-26T19:44:01.144Z","1.2.1":"2018-01-17T21:30:19.083Z","2.0.0-beta.0":"2018-04-04T17:24:10.997Z","2.0.0-beta.1":"2018-04-04T22:17:33.122Z","2.0.0-beta.2":"2018-04-07T08:56:18.142Z","2.0.0-beta.3":"2018-04-15T22:23:11.533Z","2.0.0-beta.4":"2018-04-21T17:01:25.047Z","2.0.0-beta.5":"2018-05-12T18:09:22.256Z","2.0.0-beta.7":"2018-10-28T15:53:07.904Z","2.0.0":"2018-11-11T18:15:48.980Z","3.0.0-alpha.0":"2018-11-11T22:27:53.115Z","3.0.0-alpha.1":"2018-11-11T23:18:19.049Z","3.0.0-alpha.2":"2018-11-13T11:54:43.332Z","2.0.1":"2018-11-15T00:47:32.441Z","2.0.2":"2018-11-30T12:25:28.427Z","3.0.0-beta.0":"2019-02-14T14:59:30.342Z","2.1.0":"2019-02-19T19:29:55.730Z","3.0.0-beta.1":"2019-02-25T23:42:09.368Z","3.0.0-beta.2":"2020-01-22T22:35:56.787Z","3.0.0-beta.3":"2020-01-28T12:51:57.656Z"},"author":{"name":"Dean Merchant","email":"deanmerchant@gmail.com"},"license":"MIT","readmeFilename":"Readme.md","users":{"dean177":true},"contributors":[{"name":"Matt Hawes","email":"hawes.info@gmail.com","url":"https://github.com/MGHawes"},{"name":"Charles Rea","url":"https://github.com/CharlesRea"},{"name":"Henrique Lange","email":"hlangeseverino@gmail.com","url":"https://github.com/Henriquelange"}],"repository":{"type":"git","url":"https://github.com/dean177/use-url-state.git"}}