{"_id":"query-string-es5","_rev":"5-f5f4d6a48620d233f5a2a716b50feb65","name":"query-string-es5","dist-tags":{"latest":"6.1.4"},"versions":{"6.1.0":{"name":"query-string-es5","version":"6.1.0","description":"Parse and stringify URL query strings","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/query-string.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"engines":{"node":">=6"},"scripts":{"test":"xo && ava"},"files":["index.js"],"keywords":["browser","querystring","query","string","qs","param","parameter","url","parse","stringify","encode","decode","searchparams"],"dependencies":{"decode-uri-component":"^0.2.0","strict-uri-encode":"^2.0.0"},"devDependencies":{"ava":"*","deep-equal":"^1.0.1","fast-check":"^1.0.1","xo":"*"},"gitHead":"9e8e24fced7eec0cc5ab91b3e20d3494b230ae8f","bugs":{"url":"https://github.com/sindresorhus/query-string/issues"},"homepage":"https://github.com/sindresorhus/query-string#readme","_id":"query-string-es5@6.1.0","_npmVersion":"5.6.0","_nodeVersion":"9.4.0","_npmUser":{"name":"sgedda","email":"sebastian.gedda@gmail.com"},"dist":{"integrity":"sha512-lzgfiKZvt50FPT3MDo5nIV2ejR2n/0uIIZMz/+K6AjPP9DZbBRWvBIKWjLWjaeE1VzCbfMD7FgrsK2TkeeWh2g==","shasum":"ada18449292815898750828dd4ad3c3c9ece838b","tarball":"https://registry.npmjs.org/query-string-es5/-/query-string-es5-6.1.0.tgz","fileCount":4,"unpackedSize":15454,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbAr+ZCRA9TVsSAnZWagAA59wQAIJM1a1t8/y+yFkAnrV5\nQy5XW/52Z9ZunihCYlnLHk+ubVWLeI+to3fMM7y+byGWJsDWudP8btbBUeZY\nm6F5feHRZACYwXUT4rP0YijAW7gOoNl9WjSdiVHnyJL/hoENroIORLywnCL1\n8B9UZGIELJInfHdPxT9gXg603fql77d/nbEB0ZPJEC/APk5Pf38TxINW1beA\n5A2yz/6Z5Ttv5KlbdG7OLNmlK4GHpd9sWWcbnzQcwy3zgPbITGJ7ZnWlqmV9\nOG4ahkH4f01dyKHMXbY8jD5M7qlqN1MQNjO6JkI1/esqZgpl4Hhi0NPJJoqI\nXY7z/3HdVMKAXJsBQooEtipgbjoHWfIJYUGnHirK3R+Z5Kg853peW8zFuyF/\nSaSNNFr+7KeqKXR1tvZObf57iIHBxXv9i4EKsBbnhBcVN8lENvghEQXCsWnA\nu3tfxuNPCC3ItAdBDY+WF422JZH+oEOEXZ6Eg6Nr2N2X/CvICcCauIuPyST5\nr4hyZwTEsJrnDxQM5intiEzDPgU9KAltAzldvb3Y/eWjXnQnoElnTcLtgvXx\nctSwIQ7l+J0BZkXPvoE9vseOoybVZMYYlq8Keo88CzYLx6tuCVsXI+6sHl9g\nN483KaB2SBc+i++xy4Pi+hJQgkPx39QsrCR5bRPDgtnMc4rQw03ILI6nOVDH\nJx/Y\r\n=+sfY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAF7aWtHJVUn7qBzANievtEnzcgGG+Sk19gv/xg3zxPgAiA7hGgHqGsMueFp1zyDXoDqkCdJucByoxjBRpif7rMzqg=="}]},"maintainers":[{"name":"sgedda","email":"sebastian.gedda@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/query-string-es5_6.1.0_1526906776120_0.20232129541340904"},"_hasShrinkwrap":false},"6.1.1":{"name":"query-string-es5","version":"6.1.1","description":"Parse and stringify URL query strings","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/query-string.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"engines":{"node":">=6"},"scripts":{"test":"xo && ava"},"files":["index.js"],"keywords":["browser","querystring","query","string","qs","param","parameter","url","parse","stringify","encode","decode","searchparams"],"dependencies":{"decode-uri-component":"^0.2.0","strict-uri-encode":"^2.0.0"},"devDependencies":{"ava":"*","deep-equal":"^1.0.1","fast-check":"^1.0.1","xo":"*"},"gitHead":"b573a967245cd60ed498c89a4bc08bf05c605ec7","bugs":{"url":"https://github.com/sindresorhus/query-string/issues"},"homepage":"https://github.com/sindresorhus/query-string#readme","_id":"query-string-es5@6.1.1","_npmVersion":"5.6.0","_nodeVersion":"9.4.0","_npmUser":{"name":"sgedda","email":"sebastian.gedda@gmail.com"},"dist":{"integrity":"sha512-T3StTiSJ+8q/ZTNvec6z+5moZ60sq6f0n0sjmMGEDvyUwj7EbDKMCAMWanSbJBB94gs8FKuUdwlzyxzvQeEw3A==","shasum":"0c2ceb678ffe00b79b10a7452b340382fa1d8e43","tarball":"https://registry.npmjs.org/query-string-es5/-/query-string-es5-6.1.1.tgz","fileCount":4,"unpackedSize":15539,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbAsThCRA9TVsSAnZWagAAHYwP/2HMoIHF7mjfrQ8xHKdK\nlK+8api2nwnbIe4AW3cd6cexFtocJqjbI3/JC9LQBJu5z/tFHOC2TdsgTqTo\nrBY2yO5f6DLvqOJ7++DZbrPTsHSHg7nC5WwS0Hf5YlA9Tj2KRK/OBbo/+eb1\nB9wd7YQSg2/PVRjp6d7zP3dm8Dj+tmCgjCqWpVZKTNHKEmYWyPwee6bPIW2R\nHiytzTSFh9JJdR7YtH2upButSVcuqtGEuCUlNEjca3+b0V/K23zUgmdhfF4T\nJicUod+zHlp6NaQSOONY2fYHd0V6NJ82UXNhRsYjZY3vvogonKU7AAWVyvJk\nUIP3h5cRzcQa1BihWzvHwLLUqGlxt3F0grzAURSdM6qzgsAiIBiThlMvLJzJ\nI7rG5mZ6TiLuy5mv9XBL/p6PiTMRuw2wAyjSs21Xu4jpnUrMiwk7GIkme0Vk\ne47QUyMjA29vLJKu5lhNpmmKw8Eu/cheJ4LdnQCT3I5AI5Zy5SbbLb1CvCOg\n6+mGMSZOoHsfJMIDY2FiNJWsAVkXjv/vlkWkM3L3UfH1OaF62xfFt946kAUB\n0DeS2wxJaaOID9VKWAwhLjVWu8GyIGGTF2eJSHGpsXEX+GIn6iAIP4qGlD4Z\niM7PgTeNXyptpfPTd35e166dvkAW97ns+z4ky3lmUzhaaWCewtE57jMJQVHJ\n/Qp0\r\n=uMDp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC7STnazw0vOoNOfRy/K9k+sTJJ/xo6a5kO2AeijhZJBQIhAJ8aUens4LiYGh1aVj7KnXYuPQEVefysoG0UU9eZD0Ub"}]},"maintainers":[{"name":"sgedda","email":"sebastian.gedda@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/query-string-es5_6.1.1_1526908128072_0.1668300491084609"},"_hasShrinkwrap":false},"6.1.2":{"name":"query-string-es5","version":"6.1.2","description":"Parse and stringify URL query strings","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/query-string.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"engines":{"node":">=6"},"scripts":{"test":"xo && ava"},"files":["index.js"],"keywords":["browser","querystring","query","string","qs","param","parameter","url","parse","stringify","encode","decode","searchparams"],"dependencies":{"decode-uri-component":"^0.2.0","strict-uri-encode":"^2.0.0"},"devDependencies":{"ava":"*","deep-equal":"^1.0.1","fast-check":"^1.0.1","xo":"*"},"gitHead":"a6315beb1787c0891dd4d5c7640fcc91574d04f6","bugs":{"url":"https://github.com/sindresorhus/query-string/issues"},"homepage":"https://github.com/sindresorhus/query-string#readme","_id":"query-string-es5@6.1.2","_npmVersion":"5.6.0","_nodeVersion":"9.4.0","_npmUser":{"name":"sgedda","email":"sebastian.gedda@gmail.com"},"dist":{"integrity":"sha512-xfHyIhyqXxFyWxMlqC1ByWV3wETDSkFE3fTpUFHyCp1cPyNnUBKLJoCYMVcJ48qCZ7UvUo5I4W+7t5mKPiAlbQ==","shasum":"8d16eb6ce45fb56c67d18216ee30b8f2535e2798","tarball":"https://registry.npmjs.org/query-string-es5/-/query-string-es5-6.1.2.tgz","fileCount":4,"unpackedSize":15570,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbAsfZCRA9TVsSAnZWagAAC9AP/iJoPKs8uUpYE9XXMvJt\n2DcUxkpBz7t2RM+r2Wyxkk7I5s1D/6tkS8GZy5n7xig46WH8JHuuK7eaj0Z5\n2enW2lvGkU3VMTKK2M/M8p5jN9DRmrjussq+9HU3l+104RI6paDnXhiulHYD\nWOv380QXnRwdNjBTujXPdiijNWOnA2GM4ZjHYEH4/uIZ4ImUVfT14yfPu8RM\nqjrklDLkbZjo1fANPNWazBLVXGPP4J+izFmn3iYdtedbQ6MjTyRsoo+uZV1R\nH49TNMhTumRco9DCxY/7XUGv+XZXFLzG8pnFuFY18BNDg3nNFNZyjkztluFN\nIuan2xwqGuiXYMqHjqgaYnE3QC4yzh7tIXyYXrWrHWJW9ywge9l692HKmhQS\nqCZlq6zlINLXB0Lsokhh3gaSPiYzYt9tUXQ0CK3oph/z5y61y+85OYsAILV9\nW60Q7ZUmKGZAEruZl4XTfjd0tWrZlI+t8c24+lIEWcpx/P2F5xL8Tc37ZlSc\nG7LgRQVLW9MRASTgQouZJAw2PPUjhQ0B5lRhmaKK+dgttHrIPblu1MNXYgFf\nIimbGnPt7+NlH++0w3JzXQ2PXqGOH54F3uD5fkfgy5I9RB/W+7Gv8wrw7Umi\nFULDD5yaKZ9dAKW/r0V9T0WVG7OLtTfPRwoNQRH8571052Gt2v5NepxsS1JI\nhwkc\r\n=yTAG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC9QxmjqN8R4ydPZvOYnxVELng+zv/C5TA2wKI5iLg0gAiEAr+yXEcDVZPaiUGspso93OX65tO8ZqMJvvY3Bb4DqY5A="}]},"maintainers":[{"name":"sgedda","email":"sebastian.gedda@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/query-string-es5_6.1.2_1526908888625_0.5938870782345314"},"_hasShrinkwrap":false},"6.1.3":{"name":"query-string-es5","version":"6.1.3","description":"Parse and stringify URL query strings","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/query-string.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"engines":{"node":">=6"},"scripts":{"test":"xo && ava"},"files":["index.js"],"keywords":["browser","querystring","query","string","qs","param","parameter","url","parse","stringify","encode","decode","searchparams"],"dependencies":{"decode-uri-component":"^0.2.0","strict-uri-encode":"^2.0.0"},"devDependencies":{"ava":"*","deep-equal":"^1.0.1","fast-check":"^1.0.1","xo":"*"},"gitHead":"5db5e114c670da841ec3ba8602f95ee97bb7cffb","bugs":{"url":"https://github.com/sindresorhus/query-string/issues"},"homepage":"https://github.com/sindresorhus/query-string#readme","_id":"query-string-es5@6.1.3","_npmVersion":"5.6.0","_nodeVersion":"9.4.0","_npmUser":{"name":"sgedda","email":"sebastian.gedda@gmail.com"},"dist":{"integrity":"sha512-BXgEoIhkuQQXcyyCFZuBVUCxUUA+AsGAHyLLe9O1JoaNv/utbpsTbg5cipak+344EzmwBfo6oA3s6UNM5J901g==","shasum":"6f2182117ab795ecde24b2e09e1ca1084c80217f","tarball":"https://registry.npmjs.org/query-string-es5/-/query-string-es5-6.1.3.tgz","fileCount":4,"unpackedSize":15578,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbAuD/CRA9TVsSAnZWagAANQsP/2WHFvW6p+kFpu3zEP2o\np5MQwDgIxGRjTrX7DSvvnXCaIe/1YqQqmA1a90yffeVadL3NR2wEWsiCuNhs\nl0xRNa3GhCjZaIOXTaPARkttFXuAa/SkdSUIhurfYzSXsq2Jx+g43ASAfMX0\n98lR1Prggun+HHzYH1jIooHpCUPEZA/MaYLW1dYGi0Vmb6rkuk1Mt/t6MGAv\nHMwu9UGfq9gZtJP1VMSMHzlfNhwjibLtKzyGcY/Kq/pc1chijzDMU5JY6fYt\nUoXDOfTbxTFVS1Z0Z9jbT9WxwjT9jwcbXO09nhHrwkGV2bPg73bPv44HI67y\nORBFlpoXhKwOmduO6OWy2DN0VOusejqlJGft86/mGFzzw32eeE87Ej8x3iuY\noNQHdFXn+9rBD1f1xKBwor4Ak6NG7zKKDS7P4BIYMgIsQxJ80uF2J6r/UVTH\nHvfN5MMCCRUjQERMS4bZ3qlabte7GkaLGFSr4tPmIWX3/SUbjp7NfN6DCTBx\ntcsVoMH8VfzJ2MaWRtWeiuthEoJr8Ug5I4sJbfP4egajLo6up3D/hKXoGbtI\njBWH3IW/aCZclRBTzZD77ySitVoSrcbABjRgjYYv6Z+TbOMkNib95XjfSAnv\nYokEflP4PCNv65VcitV/yhWOJRO7LuYFJbXXkxChUmYgQ0VRiar/ra0kF9lR\nYSl3\r\n=y7aK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDlHOA14g71o3fL4cYiOBvx5mR1Ef7NWrmgvMN9OYwu7wIhAOcB3p/UCDzniQqnWBjnoKukU7vc6Wu+D3BLlcw534SR"}]},"maintainers":[{"name":"sgedda","email":"sebastian.gedda@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/query-string-es5_6.1.3_1526915327043_0.27870402229800884"},"_hasShrinkwrap":false},"6.1.4":{"name":"query-string-es5","version":"6.1.4","description":"Parse and stringify URL query strings - this version is transpiled with babel, and minor manual changes regarding dependecy package for es5 compability.","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/query-string.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"engines":{"node":">=6"},"scripts":{"test":"xo && ava"},"files":["index.js"],"keywords":["browser","querystring","query","string","qs","param","parameter","url","parse","stringify","encode","decode","searchparams"],"dependencies":{"decode-uri-component":"^0.2.0","strict-uri-encode":"^2.0.0"},"devDependencies":{"ava":"*","deep-equal":"^1.0.1","fast-check":"^1.0.1","xo":"*"},"gitHead":"f2c5313bd0821a4b0b4c03c686407ca59c05ff63","bugs":{"url":"https://github.com/sindresorhus/query-string/issues"},"homepage":"https://github.com/sindresorhus/query-string#readme","_id":"query-string-es5@6.1.4","_npmVersion":"5.6.0","_nodeVersion":"9.4.0","_npmUser":{"name":"sgedda","email":"sebastian.gedda@gmail.com"},"dist":{"integrity":"sha512-pMdQETPqMQO+OUd2t3hUxBV8REa6w+iyD+o87M1qc1Vj3jBkQIIw3aZc+6rxlRTDxZ5ac+w0rGE/p4JIt2Xupg==","shasum":"bcea5d880889f03cec6af9a55fbdfd5aa5f4367a","tarball":"https://registry.npmjs.org/query-string-es5/-/query-string-es5-6.1.4.tgz","fileCount":4,"unpackedSize":15693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbAuJ5CRA9TVsSAnZWagAA5/kP/A1e7FX1KKYcnObQvbJw\ncorbt/jzo7sMjyDBytDDckiqClN82bgdNbaxSqPAbBsR6lY2cJGdMGH9uiAh\nCUgaf915GZcilZeo/CeGg8guiqG8eZ3b6kPzdpaK8ITJRo+i6AoH6t/3S95u\nMhrGpYcXfEDUWQhzvTL1EqobE60w0o27Mq3zY2GNeO3HHSl2JF1POL4aR2JR\nPkKyRyDNMTLA1QaFb7Vao/OG4cqoK+9YF6+RaOCB79Vf63Z/VNGDTwCxcEo6\nFP1Q+/k6qKmwgj6TKDHr0tOU3eyGAjvbYnhCRi/dPbJO+c7ADaj98dDBfAk0\nmwnnA8o1SbMxCbkB7OZdCXfsk5fFH1OL2oV7X8DsgMQ+XgpZtK/kMH6qknH8\neQVFhKsVuXIWLmdeGC8Q/oSRkpQWJn8I/CT/FloMYbiY8yF+IT3FPtImKqMV\nnyw2qt84Qobh3qsQqnvK4/Psyxh/xuPZ5X8eE9yRZiwfSErbltL0g0eyhXhX\nzoGbDC9Gncsd8VniHWJCrVoLV3JwRMk6lJmR4mGnu8KRzPwIxEk/4HlF8Tok\nEspU6Jr31830PuOIJgFWpqTcMrG4L94tGxTL2mx3MudoQyNua7DBQKknCIi9\nNvkCHjyrHaFzx3MNTzRXYiySD4AFwbbssx4JXz2WTNbmKhg/KlnoYWWHtdPr\nPgy1\r\n=CzZF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDOgavnoWMh0TVIAMQp4kcisjQM/v4TwIEawM9BhmLYswIgflMpG+DmGEKUUHHxv1mk/QO3KQVlZUTCQDN0iigQ3/U="}]},"maintainers":[{"name":"sgedda","email":"sebastian.gedda@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/query-string-es5_6.1.4_1526915704831_0.9163838064254861"},"_hasShrinkwrap":false}},"time":{"created":"2018-05-21T12:46:16.118Z","6.1.0":"2018-05-21T12:46:16.376Z","modified":"2022-05-13T22:23:46.843Z","6.1.1":"2018-05-21T13:08:48.216Z","6.1.2":"2018-05-21T13:21:28.673Z","6.1.3":"2018-05-21T15:08:47.120Z","6.1.4":"2018-05-21T15:15:04.926Z"},"maintainers":[{"name":"sgedda","email":"sebastian.gedda@gmail.com"}],"description":"Parse and stringify URL query strings - this version is transpiled with babel, and minor manual changes regarding dependecy package for es5 compability.","homepage":"https://github.com/sindresorhus/query-string#readme","keywords":["browser","querystring","query","string","qs","param","parameter","url","parse","stringify","encode","decode","searchparams"],"repository":{"type":"git","url":"git+https://github.com/sindresorhus/query-string.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"bugs":{"url":"https://github.com/sindresorhus/query-string/issues"},"license":"MIT","readme":"# query-string [![Build Status](https://travis-ci.org/sindresorhus/query-string.svg?branch=master)](https://travis-ci.org/sindresorhus/query-string)\r\n\r\n> Parse and stringify URL [query strings](https://en.wikipedia.org/wiki/Query_string)\r\n\r\n---\r\n\r\n<p align=\"center\"><b>🔥 Want to strengthen your core JavaScript skills and master ES6?</b><br>I would personally recommend this awesome <a href=\"https://ES6.io/friend/AWESOME\">ES6 course</a> by Wes Bos.<br>Also check out his <a href=\"https://LearnNode.com/friend/AWESOME\">Node.js</a>, <a href=\"https://ReactForBeginners.com/friend/AWESOME\">React</a>, <a href=\"https://SublimeTextBook.com/friend/AWESOME\">Sublime</a> courses.</p>\r\n\r\n---\r\n\r\n\r\n## Install\r\n\r\n```\r\n$ npm install query-string\r\n```\r\n\r\nThis module targets Node.js 6 or later and the latest version of Chrome, Firefox, and Safari. If you want support for older browsers, use version 5: `npm install query-string@5`.\r\n\r\n<a href=\"https://www.patreon.com/sindresorhus\">\r\n\t<img src=\"https://c5.patreon.com/external/logo/become_a_patron_button@2x.png\" width=\"160\">\r\n</a>\r\n\r\n\r\n## Usage\r\n\r\n```js\r\nconst queryString = require('query-string');\r\n\r\nconsole.log(location.search);\r\n//=> '?foo=bar'\r\n\r\nconst parsed = queryString.parse(location.search);\r\nconsole.log(parsed);\r\n//=> {foo: 'bar'}\r\n\r\nconsole.log(location.hash);\r\n//=> '#token=bada55cafe'\r\n\r\nconst parsedHash = queryString.parse(location.hash);\r\nconsole.log(parsedHash);\r\n//=> {token: 'bada55cafe'}\r\n\r\nparsed.foo = 'unicorn';\r\nparsed.ilike = 'pizza';\r\n\r\nconst stringified = queryString.stringify(parsed);\r\n//=> 'foo=unicorn&ilike=pizza'\r\n\r\nlocation.search = stringified;\r\n// note that `location.search` automatically prepends a question mark\r\nconsole.log(location.search);\r\n//=> '?foo=unicorn&ilike=pizza'\r\n```\r\n\r\n\r\n## API\r\n\r\n### .parse(*string*, *[options]*)\r\n\r\nParse a query string into an object. Leading `?` or `#` are ignored, so you can pass `location.search` or `location.hash` directly.\r\n\r\nThe returned object is created with [`Object.create(null)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/create) and thus does not have a `prototype`.\r\n\r\n#### decode\r\n\r\nType: `boolean`<br>\r\nDefault: `true`\r\n\r\nDecode the keys and values. URI components are decoded with [`decode-uri-component`](https://github.com/SamVerschueren/decode-uri-component).\r\n\r\n#### arrayFormat\r\n\r\nType: `string`<br>\r\nDefault: `'none'`\r\n\r\nSupports both `index` for an indexed array representation or `bracket` for a *bracketed* array representation.\r\n\r\n- `bracket`: stands for parsing correctly arrays with bracket representation on the query string, such as:\r\n\r\n```js\r\nqueryString.parse('foo[]=1&foo[]=2&foo[]=3', {arrayFormat: 'bracket'});\r\n//=> foo: [1,2,3]\r\n```\r\n\r\n- `index`: stands for parsing taking the index into account, such as:\r\n\r\n```js\r\nqueryString.parse('foo[0]=1&foo[1]=2&foo[3]=3', {arrayFormat: 'index'});\r\n//=> foo: [1,2,3]\r\n```\r\n\r\n- `none`: is the **default** option and removes any bracket representation, such as:\r\n\r\n```js\r\nqueryString.parse('foo=1&foo=2&foo=3');\r\n//=> foo: [1,2,3]\r\n```\r\n\r\n### .stringify(*object*, *[options]*)\r\n\r\nStringify an object into a query string, sorting the keys.\r\n\r\n#### strict\r\n\r\nType: `boolean`<br>\r\nDefault: `true`\r\n\r\nStrictly encode URI components with [strict-uri-encode](https://github.com/kevva/strict-uri-encode). It uses [encodeURIComponent](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent)\r\nif set to false. You probably [don't care](https://github.com/sindresorhus/query-string/issues/42) about this option.\r\n\r\n#### encode\r\n\r\nType: `boolean`<br>\r\nDefault: `true`\r\n\r\n[URL encode](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent) the keys and values.\r\n\r\n#### arrayFormat\r\n\r\nType: `string`<br>\r\nDefault: `'none'`\r\n\r\nSupports both `index` for an indexed array representation or `bracket` for a *bracketed* array representation.\r\n\r\n- `bracket`: stands for parsing correctly arrays with bracket representation on the query string, such as:\r\n\r\n```js\r\nqueryString.stringify({foo: [1,2,3]}, {arrayFormat: 'bracket'});\r\n// => foo[]=1&foo[]=2&foo[]=3\r\n```\r\n\r\n- `index`: stands for parsing taking the index into account, such as:\r\n\r\n```js\r\nqueryString.stringify({foo: [1,2,3]}, {arrayFormat: 'index'});\r\n// => foo[0]=1&foo[1]=2&foo[3]=3\r\n```\r\n\r\n- `none`: is the __default__ option and removes any bracket representation, such as:\r\n\r\n```js\r\nqueryString.stringify({foo: [1,2,3]});\r\n// => foo=1&foo=2&foo=3\r\n```\r\n\r\n#### sort\r\n\r\nType: `Function` `boolean`\r\n\r\nSupports both `Function` as a custom sorting function or `false` to disable sorting.\r\n\r\n```js\r\nconst order = ['c', 'a', 'b'];\r\nqueryString.stringify({ a: 1, b: 2, c: 3}, {\r\n\tsort: (m, n) => order.indexOf(m) >= order.indexOf(n)\r\n});\r\n// => 'c=3&a=1&b=2'\r\n```\r\n\r\n```js\r\nqueryString.stringify({ b: 1, c: 2, a: 3}, {sort: false});\r\n// => 'c=3&a=1&b=2'\r\n```\r\n\r\nIf omitted, keys are sorted using `Array#sort`, which means, converting them to strings and comparing strings in Unicode code point order.\r\n\r\n### .extract(*string*)\r\n\r\nExtract a query string from a URL that can be passed into `.parse()`.\r\n\r\n### .parseUrl(*string*, *[options]*)\r\n\r\nExtract the URL and the query string as an object.\r\n\r\nThe `options` are the same as for `.parse()`.\r\n\r\nReturns an object with a `url` and `query` property.\r\n\r\n```js\r\nqueryString.parseUrl('https://foo.bar?foo=bar');\r\n//=> {url: 'https://foo.bar', query: {foo: 'bar'}}\r\n```\r\n\r\n\r\n## Nesting\r\n\r\nThis module intentionally doesn't support nesting as it's not spec'd and varies between implementations, which causes a lot of [edge cases](https://github.com/visionmedia/node-querystring/issues).\r\n\r\nYou're much better off just converting the object to a JSON string:\r\n\r\n```js\r\nqueryString.stringify({\r\n\tfoo: 'bar',\r\n\tnested: JSON.stringify({\r\n\t\tunicorn: 'cake'\r\n\t})\r\n});\r\n//=> 'foo=bar&nested=%7B%22unicorn%22%3A%22cake%22%7D'\r\n```\r\n\r\nHowever, there is support for multiple instances of the same key:\r\n\r\n```js\r\nqueryString.parse('likes=cake&name=bob&likes=icecream');\r\n//=> {likes: ['cake', 'icecream'], name: 'bob'}\r\n\r\nqueryString.stringify({color: ['taupe', 'chartreuse'], id: '515'});\r\n//=> 'color=chartreuse&color=taupe&id=515'\r\n```\r\n\r\n\r\n## Falsy values\r\n\r\nSometimes you want to unset a key, or maybe just make it present without assigning a value to it. Here is how falsy values are stringified:\r\n\r\n```js\r\nqueryString.stringify({foo: false});\r\n//=> 'foo=false'\r\n\r\nqueryString.stringify({foo: null});\r\n//=> 'foo'\r\n\r\nqueryString.stringify({foo: undefined});\r\n//=> ''\r\n```\r\n\r\n\r\n## License\r\n\r\nMIT © [Sindre Sorhus](https://sindresorhus.com)\r\n","readmeFilename":"readme.md"}