{"_id":"use-search-param-state","_rev":"32-e2f192e967bfb36aa0efd313c0069803","name":"use-search-param-state","dist-tags":{"latest":"3.0.2"},"versions":{"0.0.0":{"name":"use-search-param-state","version":"0.0.0","license":"MIT","_id":"use-search-param-state@0.0.0","maintainers":[{"name":"elanmed","email":"info@elanmed.dev"}],"dist":{"shasum":"dd4ec2e9db673549cc2216cf227e35ab81d9ed19","tarball":"https://registry.npmjs.org/use-search-param-state/-/use-search-param-state-0.0.0.tgz","fileCount":6,"integrity":"sha512-Jm5UyBPr+KVN4MEZ+bnC57HnlaZTwlWTDk4FuaonxyWDB47MJ0WmwKZwTx9v89gDpRkJ3D/38EokyyoYtRJ4hw==","signatures":[{"sig":"MEUCIQDMGFs6Y109QxIC5wyQydx53dPhQLdSnkzPfpL6+ro39AIgHNL4b8eBn5W+F5rR8JOT8JDUtTCUQVt29KZ2lUxVAA4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6875},"main":"./dist/index.umd.js","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.umd.js"}},"gitHead":"f8952010b22625d52e23f86a25ad7877a5251512","scripts":{"test":"vitest","build":"tsc && vite build","test:watch":"vitest --watch","build:watch":"tsc && vite build --watch"},"typings":"./dist/index.d.ts","_npmUser":{"name":"elanmed","email":"info@elanmed.dev"},"_npmVersion":"10.1.0","description":"⚠️ Warning: In progress!","directories":{},"_nodeVersion":"20.8.0","dependencies":{"react":"^16.9.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^4.4.5","jsdom":"^22.1.0","tslib":"^2.6.2","eslint":"^8.50.0","vitest":"^0.34.6","prettier":"^3.0.3","typescript":"^5.2.2","vitest-dom":"^0.1.1","@types/node":"^20.8.2","@types/react":"^16.9.0","eslint-plugin-n":"^16.1.0","eslint-plugin-react":"^7.33.2","react-test-renderer":"^16.14.0","@vitejs/plugin-react":"^4.1.0","eslint-plugin-import":"^2.28.1","eslint-plugin-promise":"^6.1.1","eslint-config-prettier":"^9.0.0","@rollup/plugin-typescript":"^11.1.4","@testing-library/react-hooks":"^8.0.1","@typescript-eslint/eslint-plugin":"^6.7.4","eslint-config-standard-with-typescript":"^39.1.0"},"_npmOperationalInternal":{"tmp":"tmp/use-search-param-state_0.0.0_1699759620763_0.454246643309856","host":"s3://npm-registry-packages"}},"0.0.1":{"name":"use-search-param-state","version":"0.0.1","license":"MIT","_id":"use-search-param-state@0.0.1","maintainers":[{"name":"elanmed","email":"info@elanmed.dev"}],"homepage":"https://github.com/ElanMedoff/use-search-param-state#readme","bugs":{"url":"https://github.com/ElanMedoff/use-search-param-state/issues"},"dist":{"shasum":"f7430098930f3cc2cfbd1bda83594835e76b72cd","tarball":"https://registry.npmjs.org/use-search-param-state/-/use-search-param-state-0.0.1.tgz","fileCount":7,"integrity":"sha512-OoSmi8Pi7KsIjXkFQvz+j3/+VCwGJBbfoHFXpq/F0mks/d1RBUFoR1MQ3LVt1R2dXTYu9xUVlocAS98+B8Y9fQ==","signatures":[{"sig":"MEYCIQCuqzny5IrePaTmsK8tG7lJ5x4J5h9wtZ5xm4xlw/iNJAIhAMZoI+1YP5h9eXLXnKaI6/amXfAiyBAO29jZRRsCu6nv","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7211},"main":"./dist/index.umd.js","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.umd.js"}},"gitHead":"f94d727252824566cc0823557d7ec0a0da9ff556","scripts":{"lint":"eslint src/**","test":"vitest run","build":"tsc && vite build","prettier":"prettier src/** --write --config .prettierrc","test:watch":"vitest --watch","build:watch":"tsc && vite build --watch"},"typings":"./dist/index.d.ts","_npmUser":{"name":"elanmed","email":"info@elanmed.dev"},"repository":{"url":"git+https://github.com/ElanMedoff/use-search-param-state.git","type":"git"},"_npmVersion":"10.1.0","description":"⚠️ Warning: In progress!","directories":{},"_nodeVersion":"20.8.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^4.4.5","husky":"^8.0.0","jsdom":"^22.1.0","tslib":"^2.6.2","eslint":"^8.50.0","vitest":"^0.34.6","prettier":"^3.0.3","typescript":"^5.2.2","vitest-dom":"^0.1.1","@types/node":"^20.8.2","@types/react":"^16.9.0","eslint-plugin-n":"^16.1.0","eslint-plugin-react":"^7.33.2","react-test-renderer":"^16.14.0","@vitejs/plugin-react":"^4.1.0","eslint-plugin-import":"^2.28.1","eslint-plugin-promise":"^6.1.1","eslint-config-prettier":"^9.0.0","@rollup/plugin-typescript":"^11.1.4","@testing-library/react-hooks":"^8.0.1","@typescript-eslint/eslint-plugin":"^6.7.4","eslint-config-standard-with-typescript":"^39.1.0"},"peerDependencies":{"react":"^16.9.0"},"_npmOperationalInternal":{"tmp":"tmp/use-search-param-state_0.0.1_1699848880679_0.6518587472352866","host":"s3://npm-registry-packages"}},"0.0.2":{"name":"use-search-param-state","version":"0.0.2","license":"MIT","_id":"use-search-param-state@0.0.2","maintainers":[{"name":"elanmed","email":"info@elanmed.dev"}],"homepage":"https://github.com/ElanMedoff/use-search-param-state#readme","bugs":{"url":"https://github.com/ElanMedoff/use-search-param-state/issues"},"dist":{"shasum":"55480809fae4e70edd0048cab0956206880a68d0","tarball":"https://registry.npmjs.org/use-search-param-state/-/use-search-param-state-0.0.2.tgz","fileCount":7,"integrity":"sha512-TP2palmPVO3EPhDDvaJmAoPtRlrWPq50DzUxCTrITKiTqwnq5+1/5oBVSWUHBCSol+5VKqcf/wDks9NeyBdTUg==","signatures":[{"sig":"MEQCIGlya6tfn8RmfmCYIjSMN4HDyyK9zUoGhjQ8Z62CZvqIAiBR6XQUbD6nmr3vECfIb0eoxhMvOMddm49FDjaFetGg5Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7378},"main":"./dist/index.umd.js","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.umd.js"}},"gitHead":"7808ffd3cb2d2c3865cc9233d9d4861516f106b7","scripts":{"lint":"eslint src/**","test":"vitest run","build":"tsc && vite build","prettier":"prettier src/** --write --config .prettierrc","test:watch":"vitest --watch","build:watch":"tsc && vite build --watch"},"typings":"./dist/index.d.ts","_npmUser":{"name":"elanmed","email":"info@elanmed.dev"},"repository":{"url":"git+https://github.com/ElanMedoff/use-search-param-state.git","type":"git"},"_npmVersion":"10.1.0","description":"⚠️ Warning: In progress!","directories":{},"_nodeVersion":"20.8.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^4.4.5","husky":"^8.0.0","jsdom":"^22.1.0","tslib":"^2.6.2","eslint":"^8.50.0","vitest":"^0.34.6","prettier":"^3.0.3","typescript":"^5.2.2","vitest-dom":"^0.1.1","@types/node":"^20.8.2","@types/react":"^16.9.0","eslint-plugin-n":"^16.1.0","eslint-plugin-react":"^7.33.2","react-test-renderer":"^16.14.0","@vitejs/plugin-react":"^4.1.0","eslint-plugin-import":"^2.28.1","eslint-plugin-promise":"^6.1.1","eslint-config-prettier":"^9.0.0","@rollup/plugin-typescript":"^11.1.4","@testing-library/react-hooks":"^8.0.1","@typescript-eslint/eslint-plugin":"^6.7.4","eslint-config-standard-with-typescript":"^39.1.0"},"peerDependencies":{"react":"^16.9.0"},"_npmOperationalInternal":{"tmp":"tmp/use-search-param-state_0.0.2_1699849479583_0.49965045855416124","host":"s3://npm-registry-packages"}},"0.1.0":{"name":"use-search-param-state","version":"0.1.0","license":"MIT","_id":"use-search-param-state@0.1.0","maintainers":[{"name":"elanmed","email":"info@elanmed.dev"}],"homepage":"https://github.com/ElanMedoff/use-search-param-state#readme","bugs":{"url":"https://github.com/ElanMedoff/use-search-param-state/issues"},"dist":{"shasum":"2fedada66db379bef36deb6867378fadd3d6016d","tarball":"https://registry.npmjs.org/use-search-param-state/-/use-search-param-state-0.1.0.tgz","fileCount":12,"integrity":"sha512-BQRm0n3apMqEmEgSZ3C3hOP+7sZCR8qJ0HWghf4ei4I+WVKWCZG4CbrY1YaiqdJ5aoskylfX+fO5IFtcSYKPyw==","signatures":[{"sig":"MEUCIQDR3spc4B+Fp2faqvgP8+R0AyqMgdEVBhlvfcYKkvxEUwIgbWPG0/NRjtG7A/8ACHoShzAp4D8DzGzX5QaINyM+me4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30818},"main":"./dist/cjs/index.js","module":"./dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/csj/index.js"}},"gitHead":"34d7ef08ef75b1cd0f9006d38b9c7cb92c96995d","scripts":{"lint":"eslint src/**","test":"vitest run","build":"npm run build-cjs && npm run build-esm && npm run build-types","prettier":"prettier src/** --write --config .prettierrc","build-cjs":"tsc --project ./tsconfig.cjs.json","build-esm":"tsc --project ./tsconfig.esm.json","test:watch":"vitest --watch","build-types":"tsc --project ./tsconfig.types.json"},"typings":"./dist/types/index.d.ts","_npmUser":{"name":"elanmed","email":"info@elanmed.dev"},"repository":{"url":"git+https://github.com/ElanMedoff/use-search-param-state.git","type":"git"},"_npmVersion":"10.1.0","description":"⚠️ Warning: In progress!","directories":{},"_nodeVersion":"20.8.0","_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.0","jsdom":"^22.1.0","tslib":"^2.6.2","eslint":"^8.50.0","vitest":"^0.34.6","prettier":"^3.0.3","typescript":"^5.2.2","vitest-dom":"^0.1.1","@types/node":"^20.8.2","@types/react":"^16.8.0","eslint-plugin-n":"^16.1.0","@types/react-dom":"^16.8.0","eslint-plugin-react":"^7.33.2","react-test-renderer":"^16.14.0","eslint-plugin-import":"^2.28.1","eslint-plugin-promise":"^6.1.1","eslint-config-prettier":"^9.0.0","eslint-plugin-react-hooks":"^4.6.0","@testing-library/react-hooks":"^8.0.1","@typescript-eslint/eslint-plugin":"^6.7.4","eslint-config-standard-with-typescript":"^39.1.0"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-search-param-state_0.1.0_1700367948131_0.4224869184454132","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"use-search-param-state","version":"0.2.0","license":"MIT","_id":"use-search-param-state@0.2.0","maintainers":[{"name":"elanmed","email":"info@elanmed.dev"}],"homepage":"https://github.com/ElanMedoff/use-search-param-state#readme","bugs":{"url":"https://github.com/ElanMedoff/use-search-param-state/issues"},"dist":{"shasum":"d3077833eeabcb97d819c1918ac0d8cf083f4a76","tarball":"https://registry.npmjs.org/use-search-param-state/-/use-search-param-state-0.2.0.tgz","fileCount":7,"integrity":"sha512-wGlEsWzKQkBDdYiH2Cs1Ag1rmjFJoRGBphSVrJyx+GLnkFEQYL/2vrv7L5M3gvjV3zX21XHhWNTaz3A3gvx7WQ==","signatures":[{"sig":"MEUCIEwTFwMLmomeUQjntPa7tCnefsRZqlE9mIxRQgNRecTAAiEA7AhdqUj5DLhoRB42WHTIPHdiQK6xA/CyhKFqM9IXv/Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15997},"main":"./dist/index.umd.js","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.umd.js"}},"gitHead":"ac0f28c0fbefc26e5b2ee3eb992d1a2a6509a5cb","scripts":{"lint":"eslint src/**","test":"vitest run","build":"tsc && vite build && npm run build-types","deploy":"npm run build && npm publish","prettier":"prettier src/** --write --config .prettierrc","test:watch":"vitest --watch","build-types":"tsc --project ./tsconfig.types.json"},"typings":"./dist/index.d.ts","_npmUser":{"name":"elanmed","email":"info@elanmed.dev"},"repository":{"url":"git+https://github.com/ElanMedoff/use-search-param-state.git","type":"git"},"_npmVersion":"10.1.0","description":"⚠️ Warning: In progress!","directories":{},"_nodeVersion":"20.8.0","_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.4","vite":"^4.4.5","husky":"^8.0.0","jsdom":"^22.1.0","tslib":"^2.6.2","eslint":"^8.50.0","terser":"^5.24.0","vitest":"^0.34.6","prettier":"^3.0.3","typescript":"^5.2.2","vitest-dom":"^0.1.1","@types/node":"^20.8.2","@types/react":"^16.8.0","eslint-plugin-n":"^16.1.0","@types/react-dom":"^16.8.0","eslint-plugin-react":"^7.33.2","react-test-renderer":"^16.14.0","@vitejs/plugin-react":"^4.1.0","eslint-plugin-import":"^2.28.1","eslint-plugin-promise":"^6.1.1","@testing-library/react":"^12.1.2","eslint-config-prettier":"^9.0.0","@rollup/plugin-typescript":"^11.1.4","@testing-library/jest-dom":"^6.1.5","eslint-plugin-react-hooks":"^4.6.0","@testing-library/user-event":"^14.5.1","@testing-library/react-hooks":"^8.0.1","@typescript-eslint/eslint-plugin":"^6.7.4","eslint-config-standard-with-typescript":"^39.1.0"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-search-param-state_0.2.0_1702351950603_0.9089193361458634","host":"s3://npm-registry-packages"}},"0.3.0":{"name":"use-search-param-state","version":"0.3.0","license":"MIT","_id":"use-search-param-state@0.3.0","maintainers":[{"name":"elanmed","email":"info@elanmed.dev"}],"homepage":"https://github.com/ElanMedoff/use-search-param-state#readme","bugs":{"url":"https://github.com/ElanMedoff/use-search-param-state/issues"},"dist":{"shasum":"4c6f295b656154252b981ce09360fd5db9e32878","tarball":"https://registry.npmjs.org/use-search-param-state/-/use-search-param-state-0.3.0.tgz","fileCount":8,"integrity":"sha512-kBsanTkgxeZGOWDgeAAKkf0eedonT7Ip0ZOqwHXu1tLVJGa3wCHY7/jyXT/v5NfrbE94c9yjj1qznpJAdPlX7g==","signatures":[{"sig":"MEQCIFE02NE5yGMqN1BeUZ7wtvUSmuXVFXesEpG6ChehrTWAAiBKlCTZR7VjbAI+2OJNSu54EJWvAbLtAbOq/ljVGy/Lsg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16111},"main":"./dist/index.umd.js","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.umd.js"}},"gitHead":"7ec556038a32ba947164cefcf4862f590b12443c","scripts":{"lint":"eslint src/**","test":"vitest run","build":"tsc && vite build && npm run build-types","deploy":"npm run build && npm publish","prettier":"prettier src/** --write --config .prettierrc","test:watch":"vitest --watch","build-types":"tsc --project ./tsconfig.types.json"},"typings":"./dist/index.d.ts","_npmUser":{"name":"elanmed","email":"info@elanmed.dev"},"repository":{"url":"git+https://github.com/ElanMedoff/use-search-param-state.git","type":"git"},"_npmVersion":"10.1.0","description":"⚠️ Warning: In progress!","directories":{},"_nodeVersion":"20.8.0","_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.4","vite":"^4.4.5","husky":"^8.0.0","jsdom":"^22.1.0","tslib":"^2.6.2","eslint":"^8.50.0","terser":"^5.24.0","vitest":"^0.34.6","prettier":"^3.0.3","typescript":"^5.2.2","vitest-dom":"^0.1.1","@types/node":"^20.8.2","@types/react":"^16.8.0","eslint-plugin-n":"^16.1.0","@types/react-dom":"^16.8.0","eslint-plugin-react":"^7.33.2","react-test-renderer":"^16.14.0","@vitejs/plugin-react":"^4.1.0","eslint-plugin-import":"^2.28.1","eslint-plugin-promise":"^6.1.1","@testing-library/react":"^12.1.2","eslint-config-prettier":"^9.0.0","@rollup/plugin-typescript":"^11.1.4","@testing-library/jest-dom":"^6.1.5","eslint-plugin-react-hooks":"^4.6.0","@testing-library/user-event":"^14.5.1","@testing-library/react-hooks":"^8.0.1","@typescript-eslint/eslint-plugin":"^6.7.4","eslint-config-standard-with-typescript":"^39.1.0"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-search-param-state_0.3.0_1702434739150_0.03227184005087613","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"use-search-param-state","version":"1.0.0","license":"MIT","_id":"use-search-param-state@1.0.0","maintainers":[{"name":"elanmed","email":"info@elanmed.dev"}],"homepage":"https://github.com/ElanMedoff/use-search-param-state#readme","bugs":{"url":"https://github.com/ElanMedoff/use-search-param-state/issues"},"dist":{"shasum":"033f5f11aa445b0c9b08cad904d32a0daf4c2daf","tarball":"https://registry.npmjs.org/use-search-param-state/-/use-search-param-state-1.0.0.tgz","fileCount":7,"integrity":"sha512-BZHYTbCLkNf7+dxDtf7CEl4mDTotpHOIu/rww38bWhUzvyRvrRzsURVK9GJYQZRJAnqV3BkAknLWa8C3eKKCyg==","signatures":[{"sig":"MEUCIQC+zd4+ujFlieHi/tuZtR5agwoxpQ0SZj4Obqa2929bXAIgDGK0/j2cb9KAfPT/0ML7bQanYB6LvR22raZYmrbcy6c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16759},"main":"./dist/index.umd.js","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.umd.js"}},"gitHead":"aac220f52b152c2bf429f8386f3b88b9398190db","scripts":{"lint":"eslint src/**","test":"vitest run","build":"tsc && vite build","deploy":"npm run build && npm publish","prettier":"prettier src/** --write --config .prettierrc","test:watch":"vitest --watch"},"typings":"./dist/index.d.ts","_npmUser":{"name":"elanmed","email":"info@elanmed.dev"},"repository":{"url":"git+https://github.com/ElanMedoff/use-search-param-state.git","type":"git"},"_npmVersion":"10.1.0","description":"A hook to synchronize React state with URL search params.","directories":{},"_nodeVersion":"20.8.0","_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.4","vite":"^4.4.5","husky":"^8.0.0","jsdom":"^22.1.0","tslib":"^2.6.2","eslint":"^8.50.0","terser":"^5.24.0","vitest":"^0.34.6","prettier":"^3.0.3","typescript":"^5.2.2","vitest-dom":"^0.1.1","@types/node":"^20.8.2","@types/react":"^16.8.0","eslint-plugin-n":"^16.1.0","@types/react-dom":"^16.8.0","eslint-plugin-react":"^7.33.2","react-test-renderer":"^16.14.0","@vitejs/plugin-react":"^4.1.0","eslint-plugin-import":"^2.28.1","eslint-plugin-promise":"^6.1.1","@testing-library/react":"^12.1.2","eslint-config-prettier":"^9.0.0","@rollup/plugin-typescript":"^11.1.4","@testing-library/jest-dom":"^6.1.5","eslint-plugin-react-hooks":"^4.6.0","@testing-library/user-event":"^14.5.1","@testing-library/react-hooks":"^8.0.1","@typescript-eslint/eslint-plugin":"^6.7.4","eslint-config-standard-with-typescript":"^39.1.0"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-search-param-state_1.0.0_1702482247868_0.275221530973943","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"use-search-param-state","version":"1.1.0","keywords":["react","url","search","param","params","parameter","parameters","state","hook","hooks"],"author":{"url":"https://elanmed.dev/","name":"Elan Medoff","email":"info@elanmed.dev"},"license":"MIT","_id":"use-search-param-state@1.1.0","maintainers":[{"name":"elanmed","email":"info@elanmed.dev"}],"homepage":"https://github.com/ElanMedoff/use-search-param-state#readme","bugs":{"url":"https://github.com/ElanMedoff/use-search-param-state/issues"},"dist":{"shasum":"f028608f058f39f37cd901a60e4170234338fa5b","tarball":"https://registry.npmjs.org/use-search-param-state/-/use-search-param-state-1.1.0.tgz","fileCount":7,"integrity":"sha512-XbHU06FULjVlCyAdBJg5B0EOlW4wphYqyh+jTVreMJzVtPM4DkxNz4wyN0PW+k7kYiamXGoqIceqieNeXgOLcw==","signatures":[{"sig":"MEQCICTT61x0FCQoKl4i0wJ88t7BfsvsxzR/JqDKLWsIVnP2AiAKM1vZt8zzm5kYPrdwjmMkboWpdN6NHeVA0xWzeKzLlg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17392},"main":"./dist/index.umd.js","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.umd.js"}},"gitHead":"5a540126060bab843b9919afa29f4cbb6a44074b","scripts":{"lint":"eslint src/**","test":"vitest run","build":"tsc && vite build","deploy":"npm run build && npm publish","prettier":"prettier src/** --write --config .prettierrc","test:watch":"vitest --watch"},"typings":"./dist/index.d.ts","_npmUser":{"name":"elanmed","email":"info@elanmed.dev"},"repository":{"url":"git+https://github.com/ElanMedoff/use-search-param-state.git","type":"git"},"_npmVersion":"10.1.0","description":"A hook to synchronize React state with URL search params.","directories":{},"_nodeVersion":"20.8.0","_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.4","vite":"^4.4.5","husky":"^8.0.0","jsdom":"^22.1.0","tslib":"^2.6.2","eslint":"^8.50.0","terser":"^5.24.0","vitest":"^0.34.6","prettier":"^3.0.3","typescript":"^5.2.2","vitest-dom":"^0.1.1","@types/node":"^20.8.2","@types/react":"^16.8.0","eslint-plugin-n":"^16.1.0","@types/react-dom":"^16.8.0","eslint-plugin-react":"^7.33.2","react-test-renderer":"^16.14.0","@vitejs/plugin-react":"^4.1.0","eslint-plugin-import":"^2.28.1","eslint-plugin-promise":"^6.1.1","@testing-library/react":"^12.1.2","eslint-config-prettier":"^9.0.0","@rollup/plugin-typescript":"^11.1.4","@testing-library/jest-dom":"^6.1.5","eslint-plugin-react-hooks":"^4.6.0","@testing-library/user-event":"^14.5.1","@testing-library/react-hooks":"^8.0.1","@typescript-eslint/eslint-plugin":"^6.7.4","eslint-config-standard-with-typescript":"^39.1.0"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-search-param-state_1.1.0_1702878369219_0.42290968987141353","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"use-search-param-state","version":"1.1.1","keywords":["react","url","search","param","params","parameter","parameters","state","hook","hooks"],"author":{"url":"https://elanmed.dev/","name":"Elan Medoff","email":"info@elanmed.dev"},"license":"MIT","_id":"use-search-param-state@1.1.1","maintainers":[{"name":"elanmed","email":"info@elanmed.dev"}],"homepage":"https://github.com/ElanMedoff/use-search-param-state#readme","bugs":{"url":"https://github.com/ElanMedoff/use-search-param-state/issues"},"dist":{"shasum":"57924c5aed54b6124f072a08d46f1c93c0231ed2","tarball":"https://registry.npmjs.org/use-search-param-state/-/use-search-param-state-1.1.1.tgz","fileCount":7,"integrity":"sha512-uwJKlddFrQGsAPsfcWZOuz8/rIcD7J923qWqhYfX0hvC0AryxfCnohYnnIPS9abkveLHfvn9Rn2BdSxeib5O4A==","signatures":[{"sig":"MEUCIAxX7oAGWTah2GNKT2bE5Y+a4mohNUg7sY4gV/VyzMGcAiEA1nAU6g2FGWkZH28AV3xR5jdzry9uUk0GDpnM4w8zAYY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19330},"main":"./dist/index.umd.js","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.umd.js"}},"gitHead":"3546def57e94b0a42503cee6263a1218bed54da5","scripts":{"lint":"eslint src/**","test":"vitest run","build":"tsc && vite build","deploy":"npm run build && npm publish","prettier":"prettier src/** --write --config .prettierrc","test:watch":"vitest --watch"},"typings":"./dist/index.d.ts","_npmUser":{"name":"elanmed","email":"info@elanmed.dev"},"repository":{"url":"git+https://github.com/ElanMedoff/use-search-param-state.git","type":"git"},"_npmVersion":"10.1.0","description":"A hook to synchronize React state with URL search params.","directories":{},"_nodeVersion":"20.8.0","_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.4","vite":"^4.4.5","husky":"^8.0.0","jsdom":"^22.1.0","tslib":"^2.6.2","eslint":"^8.50.0","terser":"^5.24.0","vitest":"^0.34.6","prettier":"^3.0.3","typescript":"^5.2.2","vitest-dom":"^0.1.1","@types/node":"^20.8.2","@types/react":"^16.8.0","eslint-plugin-n":"^16.1.0","@types/react-dom":"^16.8.0","eslint-plugin-react":"^7.33.2","react-test-renderer":"^16.14.0","@vitejs/plugin-react":"^4.1.0","eslint-plugin-import":"^2.28.1","eslint-plugin-promise":"^6.1.1","@testing-library/react":"^12.1.2","eslint-config-prettier":"^9.0.0","@rollup/plugin-typescript":"^11.1.4","@testing-library/jest-dom":"^6.1.5","eslint-plugin-react-hooks":"^4.6.0","@testing-library/user-event":"^14.5.1","@testing-library/react-hooks":"^8.0.1","@typescript-eslint/eslint-plugin":"^6.7.4","eslint-config-standard-with-typescript":"^39.1.0"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-search-param-state_1.1.1_1703478221349_0.45047378178796915","host":"s3://npm-registry-packages"}},"1.1.2":{"name":"use-search-param-state","version":"1.1.2","keywords":["react","url","search","param","params","parameter","parameters","state","hook","hooks"],"author":{"url":"https://elanmed.dev/","name":"Elan Medoff","email":"info@elanmed.dev"},"license":"MIT","_id":"use-search-param-state@1.1.2","maintainers":[{"name":"elanmed","email":"info@elanmed.dev"}],"homepage":"https://github.com/ElanMedoff/use-search-param-state#readme","bugs":{"url":"https://github.com/ElanMedoff/use-search-param-state/issues"},"dist":{"shasum":"9670ae210c067ce995cdcae9d7efd2944e511673","tarball":"https://registry.npmjs.org/use-search-param-state/-/use-search-param-state-1.1.2.tgz","fileCount":7,"integrity":"sha512-d92SK+pcvLuvYPcp242+7grEPd/nBEvtEkeRHEWBKKPLD9SsD2lU/xFpv8631AwDhaBME59X25hMgU4lWqTv2Q==","signatures":[{"sig":"MEUCIQDoNXSJOz6YslH7O4Txbg4S6oN7RD6apIx2OQyCK9xLIAIgK05NdC5kLwAV8dYsZTfoFzmqj+weOWe2OUF9m3hGkv0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22060},"main":"./dist/index.umd.js","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.umd.js"}},"gitHead":"38da5fa60569baece9657b8b9ad0d8f0767b8428","scripts":{"lint":"eslint src/**","test":"vitest run","build":"tsc && vite build","deploy":"npm run build && npm publish","prettier":"prettier src/** --write --config .prettierrc","test:watch":"vitest --watch"},"typings":"./dist/index.d.ts","_npmUser":{"name":"elanmed","email":"info@elanmed.dev"},"repository":{"url":"git+https://github.com/ElanMedoff/use-search-param-state.git","type":"git"},"_npmVersion":"10.1.0","description":"A hook to synchronize React state with URL search params.","directories":{},"_nodeVersion":"20.8.0","_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.4","vite":"^4.4.5","husky":"^8.0.0","jsdom":"^22.1.0","tslib":"^2.6.2","eslint":"^8.50.0","terser":"^5.24.0","vitest":"^0.34.6","prettier":"^3.0.3","typescript":"^5.2.2","vitest-dom":"^0.1.1","@types/node":"^20.8.2","@types/react":"^16.8.0","eslint-plugin-n":"^16.1.0","@types/react-dom":"^16.8.0","eslint-plugin-react":"^7.33.2","react-test-renderer":"^16.14.0","@vitejs/plugin-react":"^4.1.0","eslint-plugin-import":"^2.28.1","eslint-plugin-promise":"^6.1.1","@testing-library/react":"^12.1.2","eslint-config-prettier":"^9.0.0","@rollup/plugin-typescript":"^11.1.4","@testing-library/jest-dom":"^6.1.5","eslint-plugin-react-hooks":"^4.6.0","@testing-library/user-event":"^14.5.1","@testing-library/react-hooks":"^8.0.1","@typescript-eslint/eslint-plugin":"^6.7.4","eslint-config-standard-with-typescript":"^39.1.0"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-search-param-state_1.1.2_1703483228569_0.4821682714380038","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"use-search-param-state","version":"1.2.0","keywords":["react","url","search","param","params","parameter","parameters","state","hook","hooks"],"author":{"url":"https://elanmed.dev/","name":"Elan Medoff","email":"info@elanmed.dev"},"license":"MIT","_id":"use-search-param-state@1.2.0","maintainers":[{"name":"elanmed","email":"info@elanmed.dev"}],"homepage":"https://github.com/ElanMedoff/use-search-param-state#readme","bugs":{"url":"https://github.com/ElanMedoff/use-search-param-state/issues"},"dist":{"shasum":"33da92847bf9fab3befc5d19b19f932737e7436a","tarball":"https://registry.npmjs.org/use-search-param-state/-/use-search-param-state-1.2.0.tgz","fileCount":7,"integrity":"sha512-h2RwW4bqBpcS+Pn3N9g4Jc4lNEiFJuaEd3sp1L4j4gmcd4GQk4LjaaQ14z8V27gQnaZt4b3qoBzaoSU+uZO1ig==","signatures":[{"sig":"MEUCIDTMLuG16RsYibPQBXnErXZDj2O21XhjI/YQhB5QzeP2AiEAhMK3Q8q5ywC9wGy5TIp1vKTeN8A/8jkv0HOSVHrucOo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24919},"main":"./dist/index.umd.js","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.umd.js"}},"gitHead":"9659d4c9e1336757a1a505257241c1ec64784f06","scripts":{"lint":"eslint src/**","test":"vitest run","build":"tsc && vite build","deploy":"npm run build && npm publish","prettier":"prettier src/** --write --config .prettierrc","test:watch":"vitest --watch"},"typings":"./dist/index.d.ts","_npmUser":{"name":"elanmed","email":"info@elanmed.dev"},"repository":{"url":"git+https://github.com/ElanMedoff/use-search-param-state.git","type":"git"},"_npmVersion":"10.1.0","description":"A hook to synchronize React state with URL search params.","directories":{},"_nodeVersion":"20.8.0","_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.4","vite":"^4.4.5","husky":"^8.0.0","jsdom":"^22.1.0","tslib":"^2.6.2","eslint":"^8.50.0","terser":"^5.24.0","vitest":"^0.34.6","prettier":"^3.0.3","typescript":"^5.2.2","vitest-dom":"^0.1.1","@types/node":"^20.8.2","@types/react":"^16.8.0","eslint-plugin-n":"^16.1.0","@types/react-dom":"^16.8.0","eslint-plugin-react":"^7.33.2","react-test-renderer":"^16.14.0","@vitejs/plugin-react":"^4.1.0","eslint-plugin-import":"^2.28.1","eslint-plugin-promise":"^6.1.1","@testing-library/react":"^12.1.2","eslint-config-prettier":"^9.0.0","@rollup/plugin-typescript":"^11.1.4","@testing-library/jest-dom":"^6.1.5","eslint-plugin-react-hooks":"^4.6.0","@testing-library/user-event":"^14.5.1","@testing-library/react-hooks":"^8.0.1","@typescript-eslint/eslint-plugin":"^6.7.4","eslint-config-standard-with-typescript":"^39.1.0"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-search-param-state_1.2.0_1703621740043_0.1425171927309643","host":"s3://npm-registry-packages"}},"1.2.1":{"name":"use-search-param-state","version":"1.2.1","keywords":["react","url","search","param","params","parameter","parameters","state","hook","hooks"],"author":{"url":"https://elanmed.dev/","name":"Elan Medoff","email":"info@elanmed.dev"},"license":"MIT","_id":"use-search-param-state@1.2.1","maintainers":[{"name":"elanmed","email":"info@elanmed.dev"}],"homepage":"https://github.com/ElanMedoff/use-search-param-state#readme","bugs":{"url":"https://github.com/ElanMedoff/use-search-param-state/issues"},"dist":{"shasum":"3d947e33bdd0b9f01a6f43dd2edfa6d6a28c8b66","tarball":"https://registry.npmjs.org/use-search-param-state/-/use-search-param-state-1.2.1.tgz","fileCount":7,"integrity":"sha512-8DPKb+r61meT9AGZ7h9r+tbVWBcE7dcX9oOY1oG17GqPb5zSUAe6/cyBMra6IziCxV7lxXI8Kc5dqrGI5Wp0lA==","signatures":[{"sig":"MEUCIB3mpG3EPYWYvEtGAgtbZeeoLY4DQYEJQisMf3KZf/KbAiEAygds06NhCwmt+3ZHfV1I43v6EA0993Yt1+IaCWPCpWk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24919},"main":"./dist/index.umd.js","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.umd.js"}},"gitHead":"2c0fa9dc8f9ea036505dd9543501118697cc35bb","scripts":{"lint":"eslint src/**","test":"vitest run","build":"tsc && vite build","deploy":"npm run build && npm publish","prettier":"prettier src/** --write --config .prettierrc","test:watch":"vitest --watch"},"typings":"./dist/index.d.ts","_npmUser":{"name":"elanmed","email":"info@elanmed.dev"},"repository":{"url":"git+https://github.com/ElanMedoff/use-search-param-state.git","type":"git"},"_npmVersion":"10.1.0","description":"A hook to synchronize React state with URL search params.","directories":{},"_nodeVersion":"20.8.0","_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.4","vite":"^4.4.5","husky":"^8.0.0","jsdom":"^22.1.0","tslib":"^2.6.2","eslint":"^8.50.0","terser":"^5.24.0","vitest":"^0.34.6","prettier":"^3.0.3","typescript":"^5.2.2","vitest-dom":"^0.1.1","@types/node":"^20.8.2","@types/react":"^16.8.0","eslint-plugin-n":"^16.1.0","@types/react-dom":"^16.8.0","eslint-plugin-react":"^7.33.2","react-test-renderer":"^16.14.0","@vitejs/plugin-react":"^4.1.0","eslint-plugin-import":"^2.28.1","eslint-plugin-promise":"^6.1.1","@testing-library/react":"^12.1.2","eslint-config-prettier":"^9.0.0","@rollup/plugin-typescript":"^11.1.4","@testing-library/jest-dom":"^6.1.5","eslint-plugin-react-hooks":"^4.6.0","@testing-library/user-event":"^14.5.1","@testing-library/react-hooks":"^8.0.1","@typescript-eslint/eslint-plugin":"^6.7.4","eslint-config-standard-with-typescript":"^39.1.0"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-search-param-state_1.2.1_1704502322979_0.5317489327588769","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"use-search-param-state","version":"2.0.0","keywords":["react","url","search","param","params","parameter","parameters","state","hook","hooks"],"author":{"url":"https://elanmed.dev/","name":"Elan Medoff","email":"info@elanmed.dev"},"license":"MIT","_id":"use-search-param-state@2.0.0","maintainers":[{"name":"elanmed","email":"info@elanmed.dev"}],"homepage":"https://github.com/ElanMedoff/use-search-param-state#readme","bugs":{"url":"https://github.com/ElanMedoff/use-search-param-state/issues"},"dist":{"shasum":"5b81be74ff9813046b26b65e913dc09f5d1d4831","tarball":"https://registry.npmjs.org/use-search-param-state/-/use-search-param-state-2.0.0.tgz","fileCount":7,"integrity":"sha512-DGflxzPO/n+Zfkt2h96W5zaCsbC3wQtf/IMmBbNwBfIgZTGp95HTbF+iYKvNLWDkefnAKIrNmyjHXQEBR1rGqw==","signatures":[{"sig":"MEYCIQCbGwKj6E7uU1YaByb91ZG4/vMwqO8A58jzybz0QcFrWQIhAJ7XVgmEJimfZEYgA5B3trQiJy8M8PchBhP9OsWhho38","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24405},"main":"./dist/index.umd.js","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.umd.js"}},"gitHead":"2c9c976f9bd529ddfa712895516f7015d8e72895","scripts":{"lint":"eslint src/**","test":"vitest run","build":"tsc && vite build","deploy":"npm run build && npm publish","prettier":"prettier src/** --write --config .prettierrc","test:watch":"vitest --watch"},"typings":"./dist/index.d.ts","_npmUser":{"name":"elanmed","email":"info@elanmed.dev"},"repository":{"url":"git+https://github.com/ElanMedoff/use-search-param-state.git","type":"git"},"_npmVersion":"10.1.0","description":"A hook to synchronize React state with URL search params.","directories":{},"_nodeVersion":"20.8.0","_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.4","vite":"^4.4.5","husky":"^8.0.0","jsdom":"^22.1.0","react":"^16.14.0","tslib":"^2.6.2","eslint":"^8.50.0","terser":"^5.24.0","vitest":"^1.1.3","prettier":"^3.0.3","react-dom":"^16.14.0","typescript":"^5.2.2","vitest-dom":"^0.1.1","@types/node":"^20.8.2","@types/react":"^16.8.0","eslint-plugin-n":"^16.1.0","@types/react-dom":"^16.8.0","eslint-plugin-react":"^7.33.2","react-test-renderer":"^16.14.0","@vitejs/plugin-react":"^4.1.0","eslint-plugin-import":"^2.28.1","eslint-plugin-promise":"^6.1.1","@testing-library/react":"^12.1.2","eslint-config-prettier":"^9.0.0","@rollup/plugin-typescript":"^11.1.4","@testing-library/jest-dom":"^6.1.5","eslint-plugin-react-hooks":"^4.6.0","@testing-library/user-event":"^14.5.1","@testing-library/react-hooks":"^8.0.1","@typescript-eslint/eslint-plugin":"^6.7.4","eslint-config-standard-with-typescript":"^39.1.0"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-search-param-state_2.0.0_1704857348340_0.16075305883098112","host":"s3://npm-registry-packages"}},"2.0.1":{"name":"use-search-param-state","version":"2.0.1","keywords":["react","url","search","param","params","parameter","parameters","state","hook","hooks"],"author":{"url":"https://elanmed.dev/","name":"Elan Medoff","email":"info@elanmed.dev"},"license":"MIT","_id":"use-search-param-state@2.0.1","maintainers":[{"name":"elanmed","email":"info@elanmed.dev"}],"homepage":"https://github.com/ElanMedoff/use-search-param-state#readme","bugs":{"url":"https://github.com/ElanMedoff/use-search-param-state/issues"},"dist":{"shasum":"73ef2b70ac0e9e3fd464e796e2236a0d4b4a8da7","tarball":"https://registry.npmjs.org/use-search-param-state/-/use-search-param-state-2.0.1.tgz","fileCount":7,"integrity":"sha512-Ckjp3TtAyc8Q9pdzJxJPgYFX32acyVZgZuGzbfiWsFGIbJncXX7iUjgfPBIYtpHEVhvJmbvQLCX7JgVYuqDZ5w==","signatures":[{"sig":"MEUCIQDLPLvymroJNBri7+rPuQu/VJ4N/j97v8e4Him2GEsjkgIgbOqdEWP67T0kpmNQgZrsSk9fQwkV4HKn81C0eclFi40=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24407},"main":"./dist/index.umd.js","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.umd.js"}},"gitHead":"9b3bcd5bb53b7ba076bec3666b6015a14edbf384","scripts":{"lint":"eslint src/**","test":"vitest run","build":"tsc && vite build","deploy":"npm run build && npm publish","prettier":"prettier src/** --write --config .prettierrc","test:watch":"vitest --watch"},"typings":"./dist/index.d.ts","_npmUser":{"name":"elanmed","email":"info@elanmed.dev"},"repository":{"url":"git+https://github.com/ElanMedoff/use-search-param-state.git","type":"git"},"_npmVersion":"10.1.0","description":"A hook to synchronize React state with URL search params.","directories":{},"_nodeVersion":"20.8.0","_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.4","vite":"^4.4.5","husky":"^8.0.0","jsdom":"^22.1.0","react":"^16.14.0","tslib":"^2.6.2","eslint":"^8.50.0","terser":"^5.24.0","vitest":"^1.1.3","prettier":"^3.0.3","react-dom":"^16.14.0","typescript":"^5.2.2","vitest-dom":"^0.1.1","@types/node":"^20.8.2","@types/react":"^16.8.0","eslint-plugin-n":"^16.1.0","@types/react-dom":"^16.8.0","eslint-plugin-react":"^7.33.2","react-test-renderer":"^16.14.0","@vitejs/plugin-react":"^4.1.0","eslint-plugin-import":"^2.28.1","eslint-plugin-promise":"^6.1.1","@testing-library/react":"^12.1.2","eslint-config-prettier":"^9.0.0","@rollup/plugin-typescript":"^11.1.4","@testing-library/jest-dom":"^6.1.5","eslint-plugin-react-hooks":"^4.6.0","@testing-library/user-event":"^14.5.1","@testing-library/react-hooks":"^8.0.1","@typescript-eslint/eslint-plugin":"^6.7.4","eslint-config-standard-with-typescript":"^39.1.0"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-search-param-state_2.0.1_1704857709762_0.8339300463880324","host":"s3://npm-registry-packages"}},"2.0.2":{"name":"use-search-param-state","version":"2.0.2","keywords":["react","url","search","param","params","parameter","parameters","state","hook","hooks"],"author":{"url":"https://elanmed.dev/","name":"Elan Medoff","email":"info@elanmed.dev"},"license":"MIT","_id":"use-search-param-state@2.0.2","maintainers":[{"name":"elanmed","email":"info@elanmed.dev"}],"homepage":"https://github.com/ElanMedoff/use-search-param-state#readme","bugs":{"url":"https://github.com/ElanMedoff/use-search-param-state/issues"},"dist":{"shasum":"d3036f35b2ea41880ad9437a3e97f129072aa6b0","tarball":"https://registry.npmjs.org/use-search-param-state/-/use-search-param-state-2.0.2.tgz","fileCount":7,"integrity":"sha512-ssdagKOijMk7NjyEVArPrbB8EaKuzTl+G+NJJ3cZ7ZPAdfPvNV02Zu2cOiGZi7+nxW+nv/5ujn9AZlmccxYXIA==","signatures":[{"sig":"MEUCIQDSLJSS5GkcI8Ie1bSH9okwjfDjH5jnag1JpjAC4l62XQIgHhvsxS6lEvgYzy1eXjSP32mKs+cyEafMeg98hCeSU60=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26250},"main":"./dist/index.umd.js","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.umd.js"}},"gitHead":"21e2bce7f457c13f88de3b147e068c8e94bb9570","scripts":{"lint":"eslint src/**","test":"vitest run","build":"tsc && vite build","deploy":"npm run build && npm publish","prettier":"prettier src/** --write --config .prettierrc","test:watch":"vitest --watch"},"typings":"./dist/index.d.ts","_npmUser":{"name":"elanmed","email":"info@elanmed.dev"},"repository":{"url":"git+https://github.com/ElanMedoff/use-search-param-state.git","type":"git"},"_npmVersion":"10.1.0","description":"A hook to synchronize React state with URL search params.","directories":{},"_nodeVersion":"20.8.0","_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.4","vite":"^4.4.5","husky":"^8.0.0","jsdom":"^22.1.0","react":"^16.14.0","tslib":"^2.6.2","eslint":"^8.50.0","vitest":"^1.1.3","prettier":"^3.0.3","react-dom":"^16.14.0","typescript":"^5.2.2","vitest-dom":"^0.1.1","@types/node":"^20.8.2","@types/react":"^16.8.0","eslint-plugin-n":"^16.1.0","@types/react-dom":"^16.8.0","eslint-plugin-react":"^7.33.2","react-test-renderer":"^16.14.0","@vitejs/plugin-react":"^4.1.0","eslint-plugin-import":"^2.28.1","eslint-plugin-promise":"^6.1.1","@testing-library/react":"^12.1.2","eslint-config-prettier":"^9.0.0","@rollup/plugin-typescript":"^11.1.4","@testing-library/jest-dom":"^6.1.5","eslint-plugin-react-hooks":"^4.6.0","@testing-library/user-event":"^14.5.1","@testing-library/react-hooks":"^8.0.1","@typescript-eslint/eslint-plugin":"^6.7.4","eslint-config-standard-with-typescript":"^39.1.0"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-search-param-state_2.0.2_1706242193882_0.7026302679246588","host":"s3://npm-registry-packages"}},"2.0.3":{"name":"use-search-param-state","version":"2.0.3","keywords":["react","url","search","param","params","parameter","parameters","state","hook","hooks"],"author":{"url":"https://elanmed.dev/","name":"Elan Medoff","email":"info@elanmed.dev"},"license":"MIT","_id":"use-search-param-state@2.0.3","maintainers":[{"name":"elanmed","email":"info@elanmed.dev"}],"homepage":"https://github.com/ElanMedoff/use-search-param-state#readme","bugs":{"url":"https://github.com/ElanMedoff/use-search-param-state/issues"},"dist":{"shasum":"ad503d56252dcf4961b24eeb6419b7a4489000ec","tarball":"https://registry.npmjs.org/use-search-param-state/-/use-search-param-state-2.0.3.tgz","fileCount":7,"integrity":"sha512-XPqHD9lu1mT70uHpMTYZWPqsVP7tTK97c0nbi/Atmfceg9nrts8OpGZf6N7a/sZnQWTrqMFqv8LzxPhRv/wa6A==","signatures":[{"sig":"MEUCIQDvlgGR9aB3ojTTWGCZKuv5VCauTcSUxHZx1tl9ya2xhQIgHNd0P0spCKWa10wfY/cYfu2ViWdAMt3vuA1DyQ0MJug=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26385},"main":"./dist/index.umd.js","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.umd.js"}},"gitHead":"71837c2dc4af98a8abfd19133d206f769f696647","scripts":{"lint":"eslint src/**","test":"vitest run","build":"tsc && vite build","deploy":"npm run build && npm publish","prettier":"prettier src/** --write --config .prettierrc","test:watch":"vitest --watch"},"typings":"./dist/index.d.ts","_npmUser":{"name":"elanmed","email":"info@elanmed.dev"},"repository":{"url":"git+https://github.com/ElanMedoff/use-search-param-state.git","type":"git"},"_npmVersion":"10.1.0","description":"A hook to synchronize React state with URL search params.","directories":{},"_nodeVersion":"20.8.0","_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.4","vite":"^4.4.5","husky":"^8.0.0","jsdom":"^22.1.0","react":"^16.14.0","tslib":"^2.6.2","eslint":"^8.50.0","vitest":"^1.1.3","prettier":"^3.0.3","react-dom":"^16.14.0","typescript":"^5.2.2","vitest-dom":"^0.1.1","@types/node":"^20.8.2","@types/react":"^16.8.0","eslint-plugin-n":"^16.1.0","@types/react-dom":"^16.8.0","eslint-plugin-react":"^7.33.2","react-test-renderer":"^16.14.0","@vitejs/plugin-react":"^4.1.0","eslint-plugin-import":"^2.28.1","eslint-plugin-promise":"^6.1.1","@testing-library/react":"^12.1.2","eslint-config-prettier":"^9.0.0","@rollup/plugin-typescript":"^11.1.4","@testing-library/jest-dom":"^6.1.5","eslint-plugin-react-hooks":"^4.6.0","@testing-library/user-event":"^14.5.1","@testing-library/react-hooks":"^8.0.1","@typescript-eslint/eslint-plugin":"^6.7.4","eslint-config-standard-with-typescript":"^39.1.0"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-search-param-state_2.0.3_1709150073410_0.0780927612997544","host":"s3://npm-registry-packages"}},"2.0.4":{"name":"use-search-param-state","version":"2.0.4","keywords":["react","url","search","param","params","parameter","parameters","state","hook","hooks"],"author":{"url":"https://elanmed.dev/","name":"Elan Medoff","email":"info@elanmed.dev"},"license":"MIT","_id":"use-search-param-state@2.0.4","maintainers":[{"name":"elanmed","email":"info@elanmed.dev"}],"homepage":"https://github.com/ElanMedoff/use-search-param-state#readme","bugs":{"url":"https://github.com/ElanMedoff/use-search-param-state/issues"},"dist":{"shasum":"99afc0553b9ce8342cf144083f90c7a93fa7d09f","tarball":"https://registry.npmjs.org/use-search-param-state/-/use-search-param-state-2.0.4.tgz","fileCount":7,"integrity":"sha512-y+P4WooCMKhhD5EOlDRB6pj85VF1fKieEwT8dFFLG3MsfM4N6to7jp0FbRw83JLV2BSOS2NGSEh44qDSwKW2Bg==","signatures":[{"sig":"MEUCIEgp4/qcXFxsQnOlajoXqHyAsU26PeSKl3uk5IVmZA01AiEAhQLFmC8BiKhFqcCULAQcHRH4T76MTearQ+Bedo/gj7c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26225},"main":"./dist/index.umd.js","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.umd.js"}},"gitHead":"88f19ed62fae8da299e7c09449942421e375485e","scripts":{"lint":"eslint src/**","test":"vitest run","build":"tsc && vite build","deploy":"npm run build && npm publish","prettier":"prettier src/** --write --config .prettierrc","test:watch":"vitest --watch"},"typings":"./dist/index.d.ts","_npmUser":{"name":"elanmed","email":"info@elanmed.dev"},"repository":{"url":"git+https://github.com/ElanMedoff/use-search-param-state.git","type":"git"},"_npmVersion":"10.1.0","description":"A hook to synchronize React state with URL search params.","directories":{},"_nodeVersion":"20.8.0","_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.4","vite":"^4.4.5","husky":"^8.0.0","jsdom":"^22.1.0","react":"^16.14.0","tslib":"^2.6.2","eslint":"^8.50.0","vitest":"^1.1.3","prettier":"^3.0.3","react-dom":"^16.14.0","typescript":"^5.2.2","vitest-dom":"^0.1.1","@types/node":"^20.8.2","@types/react":"^16.8.0","eslint-plugin-n":"^16.1.0","@types/react-dom":"^16.8.0","eslint-plugin-react":"^7.33.2","react-test-renderer":"^16.14.0","@vitejs/plugin-react":"^4.1.0","eslint-plugin-import":"^2.28.1","eslint-plugin-promise":"^6.1.1","@testing-library/react":"^12.1.2","eslint-config-prettier":"^9.0.0","@rollup/plugin-typescript":"^11.1.4","@testing-library/jest-dom":"^6.1.5","eslint-plugin-react-hooks":"^4.6.0","@testing-library/user-event":"^14.5.1","@testing-library/react-hooks":"^8.0.1","@typescript-eslint/eslint-plugin":"^6.7.4","eslint-config-standard-with-typescript":"^39.1.0"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-search-param-state_2.0.4_1711080243061_0.06621037656897633","host":"s3://npm-registry-packages"}},"2.0.5":{"name":"use-search-param-state","version":"2.0.5","keywords":["react","url","search","param","params","parameter","parameters","state","hook","hooks"],"author":{"url":"https://elanmed.dev/","name":"Elan Medoff","email":"info@elanmed.dev"},"license":"MIT","_id":"use-search-param-state@2.0.5","maintainers":[{"name":"elanmed","email":"info@elanmed.dev"}],"homepage":"https://github.com/ElanMedoff/use-search-param-state#readme","bugs":{"url":"https://github.com/ElanMedoff/use-search-param-state/issues"},"dist":{"shasum":"1edc4cc872652fdecd80f625c862a31d565c8cb8","tarball":"https://registry.npmjs.org/use-search-param-state/-/use-search-param-state-2.0.5.tgz","fileCount":7,"integrity":"sha512-xbutdQyttctJ/V+OTV2d4hYMpjfWn+1xgXsFp3Zhi+otkCLn3+Ue66QO5+vY2ePCgnyXWyTA2WX1J8LsumZyrw==","signatures":[{"sig":"MEUCIDQ3jq2ds6Ld9dWLQkpkcNgQjylDS8onB6UejFbwrkVmAiEA5gqlWcizSh5gzL+LKNGEkKOICia2DQv4S2fO+CGXMZ0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25996},"main":"./dist/index.umd.js","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.umd.js"}},"gitHead":"70d64999572cd1185e4bfde22ae9a9fe24e2e213","scripts":{"lint":"eslint src/**","test":"vitest run","build":"tsc && vite build","deploy":"npm run build && npm publish","prettier":"prettier src/** --write --config .prettierrc","test:watch":"vitest --watch"},"typings":"./dist/index.d.ts","_npmUser":{"name":"elanmed","email":"info@elanmed.dev"},"repository":{"url":"git+https://github.com/ElanMedoff/use-search-param-state.git","type":"git"},"_npmVersion":"10.1.0","description":"A hook to synchronize React state with URL search params.","directories":{},"_nodeVersion":"20.8.0","_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.4","vite":"^4.4.5","husky":"^8.0.0","jsdom":"^22.1.0","react":"^16.14.0","tslib":"^2.6.2","eslint":"^8.50.0","vitest":"^1.1.3","prettier":"^3.0.3","react-dom":"^16.14.0","typescript":"^5.2.2","vitest-dom":"^0.1.1","@types/node":"^20.8.2","@types/react":"^16.8.0","eslint-plugin-n":"^16.1.0","@types/react-dom":"^16.8.0","eslint-plugin-react":"^7.33.2","react-test-renderer":"^16.14.0","@vitejs/plugin-react":"^4.1.0","eslint-plugin-import":"^2.28.1","eslint-plugin-promise":"^6.1.1","@testing-library/react":"^12.1.2","eslint-config-prettier":"^9.0.0","@rollup/plugin-typescript":"^11.1.4","@testing-library/jest-dom":"^6.1.5","eslint-plugin-react-hooks":"^4.6.0","@testing-library/user-event":"^14.5.1","@testing-library/react-hooks":"^8.0.1","@typescript-eslint/eslint-plugin":"^6.7.4","eslint-config-standard-with-typescript":"^39.1.0"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-search-param-state_2.0.5_1711080565664_0.3307023398235114","host":"s3://npm-registry-packages"}},"2.0.6":{"name":"use-search-param-state","version":"2.0.6","keywords":["react","url","search","param","params","parameter","parameters","state","hook","hooks"],"author":{"url":"https://elanmed.dev/","name":"Elan Medoff","email":"info@elanmed.dev"},"license":"MIT","_id":"use-search-param-state@2.0.6","maintainers":[{"name":"elanmed","email":"info@elanmed.dev"}],"homepage":"https://github.com/ElanMedoff/use-search-param-state#readme","bugs":{"url":"https://github.com/ElanMedoff/use-search-param-state/issues"},"dist":{"shasum":"cd73c82502628858cfd7d1889f5678e46a35fc56","tarball":"https://registry.npmjs.org/use-search-param-state/-/use-search-param-state-2.0.6.tgz","fileCount":7,"integrity":"sha512-7Ap4VUAkC6lTf7xyJq71L2pJPIvJSkwgu7ch8XUtXrvSbTdxedXf3kLxUPasBAnazUIO/e14tOavBLE7YySjFg==","signatures":[{"sig":"MEUCIQCexmoqmtoRr0wLiya2hpzxO5aQtQHV+3rI++w5TcfPzgIgXtDrAXtemB/jqAKNDDtV5RLEw7bBo83PBqIZVTLMoZY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27464},"main":"./dist/index.umd.js","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.umd.js"}},"gitHead":"52d6d4d4dde844e572756888afcf4d3c0c413c93","scripts":{"lint":"eslint src/**","test":"vitest run","build":"tsc && vite build","deploy":"npm run build && npm publish","prettier":"prettier src/** --write --config .prettierrc","test:watch":"vitest --watch"},"typings":"./dist/index.d.ts","_npmUser":{"name":"elanmed","email":"info@elanmed.dev"},"repository":{"url":"git+https://github.com/ElanMedoff/use-search-param-state.git","type":"git"},"_npmVersion":"10.1.0","description":"A hook to synchronize React state with URL search params.","directories":{},"_nodeVersion":"20.8.0","_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.4","vite":"^4.4.5","husky":"^8.0.0","jsdom":"^22.1.0","react":"^16.14.0","tslib":"^2.6.2","eslint":"^8.50.0","vitest":"^1.1.3","prettier":"^3.0.3","react-dom":"^16.14.0","typescript":"^5.2.2","vitest-dom":"^0.1.1","@types/node":"^20.8.2","@types/react":"^16.8.0","eslint-plugin-n":"^16.1.0","@types/react-dom":"^16.8.0","eslint-plugin-react":"^7.33.2","react-test-renderer":"^16.14.0","@vitejs/plugin-react":"^4.1.0","eslint-plugin-import":"^2.28.1","eslint-plugin-promise":"^6.1.1","@testing-library/react":"^12.1.2","eslint-config-prettier":"^9.0.0","@rollup/plugin-typescript":"^11.1.4","@testing-library/jest-dom":"^6.1.5","eslint-plugin-react-hooks":"^4.6.0","@testing-library/user-event":"^14.5.1","@testing-library/react-hooks":"^8.0.1","@typescript-eslint/eslint-plugin":"^6.7.4","eslint-config-standard-with-typescript":"^39.1.0"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-search-param-state_2.0.6_1711249575212_0.34744523888215717","host":"s3://npm-registry-packages"}},"2.0.7":{"name":"use-search-param-state","version":"2.0.7","keywords":["react","url","search","param","params","parameter","parameters","state","hook","hooks"],"author":{"url":"https://elanmed.dev/","name":"Elan Medoff","email":"info@elanmed.dev"},"license":"MIT","_id":"use-search-param-state@2.0.7","maintainers":[{"name":"elanmed","email":"info@elanmed.dev"}],"homepage":"https://github.com/ElanMedoff/use-search-param-state#readme","bugs":{"url":"https://github.com/ElanMedoff/use-search-param-state/issues"},"dist":{"shasum":"54ba8692408603d206f814259938992ef3c8c2ea","tarball":"https://registry.npmjs.org/use-search-param-state/-/use-search-param-state-2.0.7.tgz","fileCount":7,"integrity":"sha512-LN3gq/G6hqTooANqzD0aWLQ9WIDqZRPJ3QcNUqF9WZn5rLAO62b/Zt95TtAn49adYlX/vYWshe2k5UauSQlVCA==","signatures":[{"sig":"MEQCIF0MxtH4DIsktGziyUtMX63c8GnaW8JPhp7DbY1tuQ0IAiAe1/gvbToInI1ILYHEfMv8XaJpU4sdvDDM6t4/GK/evA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27705},"main":"./dist/index.umd.js","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.umd.js"}},"gitHead":"3ae537d05dc9063997b50e973034cca01e7655b3","scripts":{"lint":"eslint src/**","test":"vitest run","build":"tsc && vite build","deploy":"npm run build && npm publish","prettier":"prettier src/** --write --config .prettierrc","test:watch":"vitest --watch"},"typings":"./dist/index.d.ts","_npmUser":{"name":"elanmed","email":"info@elanmed.dev"},"repository":{"url":"git+https://github.com/ElanMedoff/use-search-param-state.git","type":"git"},"_npmVersion":"10.1.0","description":"A hook to synchronize React state with URL search params.","directories":{},"_nodeVersion":"20.8.0","_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.4","vite":"^4.4.5","husky":"^8.0.0","jsdom":"^22.1.0","react":"^16.14.0","tslib":"^2.6.2","eslint":"^8.50.0","vitest":"^1.1.3","prettier":"^3.0.3","react-dom":"^16.14.0","typescript":"^5.2.2","vitest-dom":"^0.1.1","@types/node":"^20.8.2","@types/react":"^16.8.0","eslint-plugin-n":"^16.1.0","@types/react-dom":"^16.8.0","eslint-plugin-react":"^7.33.2","react-test-renderer":"^16.14.0","@vitejs/plugin-react":"^4.1.0","eslint-plugin-import":"^2.28.1","eslint-plugin-promise":"^6.1.1","@testing-library/react":"^12.1.2","eslint-config-prettier":"^9.0.0","@rollup/plugin-typescript":"^11.1.4","@testing-library/jest-dom":"^6.1.5","eslint-plugin-react-hooks":"^4.6.0","@testing-library/user-event":"^14.5.1","@testing-library/react-hooks":"^8.0.1","@typescript-eslint/eslint-plugin":"^6.7.4","eslint-config-standard-with-typescript":"^39.1.0"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-search-param-state_2.0.7_1711762475429_0.534891778321309","host":"s3://npm-registry-packages"}},"2.0.8":{"name":"use-search-param-state","version":"2.0.8","keywords":["react","url","search","param","params","parameter","parameters","state","hook","hooks"],"author":{"url":"https://elanmed.dev/","name":"Elan Medoff","email":"info@elanmed.dev"},"license":"MIT","_id":"use-search-param-state@2.0.8","maintainers":[{"name":"elanmed","email":"info@elanmed.dev"}],"homepage":"https://github.com/ElanMedoff/use-search-param-state#readme","bugs":{"url":"https://github.com/ElanMedoff/use-search-param-state/issues"},"dist":{"shasum":"39d052cf402b20708ce1309ad7c14acefef6947f","tarball":"https://registry.npmjs.org/use-search-param-state/-/use-search-param-state-2.0.8.tgz","fileCount":7,"integrity":"sha512-Yyl+NARCu0AyNSk88HlosFBrJZ9TfxieIGpyaZ43/5x04ln7RI8Lz5Av1Ow0QtsUuC6k/Mrf9n2QQtW9Ax3BfA==","signatures":[{"sig":"MEQCIDIPviAvfNRWavOp75jzI2tKEO2xcrjfvXMEvvmOeuPMAiBKoxS0zxubc1JPIRaV5dVotEUic44s14Zcxym3saJs9g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27749},"main":"./dist/index.umd.js","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.umd.js"}},"gitHead":"57f89f4ca96a09cff075b87b938ff387eda0bcd1","scripts":{"lint":"eslint src/**","test":"vitest run","build":"tsc && vite build","deploy":"npm run build && npm publish","prettier":"prettier src/** --write --config .prettierrc","test:watch":"vitest --watch"},"typings":"./dist/index.d.ts","_npmUser":{"name":"elanmed","email":"info@elanmed.dev"},"repository":{"url":"git+https://github.com/ElanMedoff/use-search-param-state.git","type":"git"},"_npmVersion":"10.1.0","description":"A hook to synchronize React state with URL search params.","directories":{},"_nodeVersion":"20.8.0","_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.4","vite":"^4.4.5","husky":"^8.0.0","jsdom":"^22.1.0","react":"^16.14.0","tslib":"^2.6.2","eslint":"^8.50.0","vitest":"^1.1.3","prettier":"^3.0.3","react-dom":"^16.14.0","typescript":"^5.2.2","vitest-dom":"^0.1.1","@types/node":"^20.8.2","@types/react":"^16.8.0","eslint-plugin-n":"^16.1.0","@types/react-dom":"^16.8.0","eslint-plugin-react":"^7.33.2","react-test-renderer":"^16.14.0","@vitejs/plugin-react":"^4.1.0","eslint-plugin-import":"^2.28.1","eslint-plugin-promise":"^6.1.1","@testing-library/react":"^12.1.2","eslint-config-prettier":"^9.0.0","@rollup/plugin-typescript":"^11.1.4","@testing-library/jest-dom":"^6.1.5","eslint-plugin-react-hooks":"^4.6.0","@testing-library/user-event":"^14.5.1","@testing-library/react-hooks":"^8.0.1","@typescript-eslint/eslint-plugin":"^6.7.4","eslint-config-standard-with-typescript":"^39.1.0"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-search-param-state_2.0.8_1714082890958_0.2719663788028288","host":"s3://npm-registry-packages"}},"2.0.9":{"name":"use-search-param-state","version":"2.0.9","keywords":["react","url","search","param","params","parameter","parameters","state","hook","hooks"],"author":{"url":"https://elanmed.dev/","name":"Elan Medoff","email":"info@elanmed.dev"},"license":"MIT","_id":"use-search-param-state@2.0.9","maintainers":[{"name":"elanmed","email":"info@elanmed.dev"}],"homepage":"https://github.com/ElanMedoff/use-search-param-state#readme","bugs":{"url":"https://github.com/ElanMedoff/use-search-param-state/issues"},"dist":{"shasum":"9e7431d0819909a7c1c63a7e90f6aaa7ab8e3b61","tarball":"https://registry.npmjs.org/use-search-param-state/-/use-search-param-state-2.0.9.tgz","fileCount":3,"integrity":"sha512-nyNgDhvyiI+ji5k4VFo946O6IIkUIqVVXVw/vLU/sSWcSIo5p1pyvGUTteYs38lQ7YwOlfehq7AgSMV/d9auXA==","signatures":[{"sig":"MEUCIFN/TXGUuBxLWrt2IXAhmE8QfAo1D7iMUNLuCZsqDq/uAiEAudzQARS04RzOFHKrpLdcbT6FMnas5n6MEBaYNaMrodE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/use-search-param-state@2.0.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":16293},"main":"./dist/index.umd.js","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.umd.js"}},"gitHead":"9947e81c5f3cad9118f8ec6a17f788c94a0bc059","scripts":{"lint":"eslint src/**","test":"vitest run","build":"tsc && vite build","deploy":"npm run build && npm publish","prettier":"prettier src/** --write --config .prettierrc","test:watch":"vitest --watch"},"typings":"./dist/index.d.ts","_npmUser":{"name":"elanmed","email":"info@elanmed.dev"},"repository":{"url":"git+https://github.com/ElanMedoff/use-search-param-state.git","type":"git"},"_npmVersion":"10.6.0","description":"A hook to synchronize React state with URL search params.","directories":{},"_nodeVersion":"20.12.2","_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.4","vite":"^4.4.5","husky":"^8.0.0","jsdom":"^22.1.0","react":"^16.14.0","tslib":"^2.6.2","eslint":"^8.50.0","vitest":"^1.1.3","prettier":"^3.0.3","react-dom":"^16.14.0","typescript":"^5.2.2","vitest-dom":"^0.1.1","@types/node":"^20.8.2","@types/react":"^16.8.0","eslint-plugin-n":"^16.1.0","@types/react-dom":"^16.8.0","eslint-plugin-react":"^7.33.2","react-test-renderer":"^16.14.0","@vitejs/plugin-react":"^4.1.0","eslint-plugin-import":"^2.28.1","eslint-plugin-promise":"^6.1.1","@testing-library/react":"^12.1.2","eslint-config-prettier":"^9.0.0","@rollup/plugin-typescript":"^11.1.4","@testing-library/jest-dom":"^6.1.5","eslint-plugin-react-hooks":"^4.6.0","@testing-library/user-event":"^14.5.1","@testing-library/react-hooks":"^8.0.1","@typescript-eslint/eslint-plugin":"^6.7.4","eslint-config-standard-with-typescript":"^39.1.0"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-search-param-state_2.0.9_1714086835709_0.042805725534535766","host":"s3://npm-registry-packages"}},"2.0.10":{"name":"use-search-param-state","version":"2.0.10","keywords":["react","url","search","param","params","parameter","parameters","state","hook","hooks"],"author":{"url":"https://elanmed.dev/","name":"Elan Medoff","email":"info@elanmed.dev"},"license":"MIT","_id":"use-search-param-state@2.0.10","maintainers":[{"name":"elanmed","email":"info@elanmed.dev"}],"homepage":"https://github.com/ElanMedoff/use-search-param-state#readme","bugs":{"url":"https://github.com/ElanMedoff/use-search-param-state/issues"},"dist":{"shasum":"b402556890c56a650a76f85b463a570ebca13565","tarball":"https://registry.npmjs.org/use-search-param-state/-/use-search-param-state-2.0.10.tgz","fileCount":7,"integrity":"sha512-cUeOcn+f2HKm+f92VNFhgv0Wmf7voMS+SC3WdqBSWwMFyh8JDT2ZAtICY+KSPXWXS2m5begPgoOtuFtQ2/vBAw==","signatures":[{"sig":"MEUCIQCNnPpqh84iR7CvsPPtb7ZrtVeXuXgl6MfpW0e1pbGH5QIgBO0jnoHc2lEiQlAk+Ujuho14F7Jv33rALbMcvYBUNUI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/use-search-param-state@2.0.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27750},"main":"./dist/index.umd.js","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.umd.js"}},"gitHead":"1b8446cc318bc2238da79ea4af23147b5b573ab9","scripts":{"lint":"eslint src/**","test":"vitest run","build":"tsc && vite build","deploy":"npm run build && npm publish","prettier":"prettier src/** --write --config .prettierrc","test:watch":"vitest --watch"},"typings":"./dist/index.d.ts","_npmUser":{"name":"elanmed","email":"info@elanmed.dev"},"repository":{"url":"git+https://github.com/ElanMedoff/use-search-param-state.git","type":"git"},"_npmVersion":"10.6.0","description":"A hook to synchronize React state with URL search params.","directories":{},"_nodeVersion":"20.12.2","_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.4","vite":"^4.4.5","husky":"^8.0.0","jsdom":"^22.1.0","react":"^16.14.0","tslib":"^2.6.2","eslint":"^8.50.0","vitest":"^1.1.3","prettier":"^3.0.3","react-dom":"^16.14.0","typescript":"^5.2.2","vitest-dom":"^0.1.1","@types/node":"^20.8.2","@types/react":"^16.8.0","eslint-plugin-n":"^16.1.0","@types/react-dom":"^16.8.0","eslint-plugin-react":"^7.33.2","react-test-renderer":"^16.14.0","@vitejs/plugin-react":"^4.1.0","eslint-plugin-import":"^2.28.1","eslint-plugin-promise":"^6.1.1","@testing-library/react":"^12.1.2","eslint-config-prettier":"^9.0.0","@rollup/plugin-typescript":"^11.1.4","@testing-library/jest-dom":"^6.1.5","eslint-plugin-react-hooks":"^4.6.0","@testing-library/user-event":"^14.5.1","@testing-library/react-hooks":"^8.0.1","@typescript-eslint/eslint-plugin":"^6.7.4","eslint-config-standard-with-typescript":"^39.1.0"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-search-param-state_2.0.10_1714088548442_0.039268000372999934","host":"s3://npm-registry-packages"}},"2.0.11":{"name":"use-search-param-state","version":"2.0.11","keywords":["react","url","search","param","params","parameter","parameters","state","hook","hooks"],"author":{"url":"https://elanmed.dev/","name":"Elan Medoff","email":"info@elanmed.dev"},"license":"MIT","_id":"use-search-param-state@2.0.11","maintainers":[{"name":"elanmed","email":"info@elanmed.dev"}],"homepage":"https://github.com/ElanMedoff/use-search-param-state#readme","bugs":{"url":"https://github.com/ElanMedoff/use-search-param-state/issues"},"dist":{"shasum":"0ab2dd0985f5846c4cc8a0705a34f41b79ee695e","tarball":"https://registry.npmjs.org/use-search-param-state/-/use-search-param-state-2.0.11.tgz","fileCount":7,"integrity":"sha512-zVbw6u93mTg8J1WN8x2g+uELxxUj3P4ag3X0vd2zwcGAD7r9V+zvv5yRJvSVFRap9+Dy1Zq2p1TnZ67tf/ENsg==","signatures":[{"sig":"MEUCIFIHfX4HKkE46wpB2gWkOBIbpG/6Yh6LBI7HS395ZwJrAiEAgi1xYPdKVZx4nfMUAMtirCfnoJm+s4CGg3Uwl0RcQv4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/use-search-param-state@2.0.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27626},"main":"./dist/index.umd.js","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.umd.js"}},"gitHead":"f6d95d7bc204b88899f6683a7e50f8428e645726","scripts":{"lint":"eslint src/**","test":"vitest run","build":"tsc && vite build","deploy":"npm run build && npm publish","prettier":"prettier src/** --write --config .prettierrc","test:watch":"vitest --watch"},"typings":"./dist/index.d.ts","_npmUser":{"name":"elanmed","email":"info@elanmed.dev"},"repository":{"url":"git+https://github.com/ElanMedoff/use-search-param-state.git","type":"git"},"_npmVersion":"10.6.0","description":"A hook to synchronize React state with URL search params.","directories":{},"_nodeVersion":"20.12.2","_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.4","vite":"^4.4.5","husky":"^8.0.0","jsdom":"^22.1.0","react":"^16.14.0","tslib":"^2.6.2","eslint":"^8.50.0","vitest":"^1.1.3","prettier":"^3.0.3","react-dom":"^16.14.0","typescript":"^5.2.2","vitest-dom":"^0.1.1","@types/node":"^20.8.2","@types/react":"^16.8.0","eslint-plugin-n":"^16.1.0","@types/react-dom":"^16.8.0","eslint-plugin-react":"^7.33.2","react-test-renderer":"^16.14.0","@vitejs/plugin-react":"^4.1.0","eslint-plugin-import":"^2.28.1","eslint-plugin-promise":"^6.1.1","@testing-library/react":"^12.1.2","eslint-config-prettier":"^9.0.0","@rollup/plugin-typescript":"^11.1.4","@testing-library/jest-dom":"^6.1.5","eslint-plugin-react-hooks":"^4.6.0","@testing-library/user-event":"^14.5.1","@testing-library/react-hooks":"^8.0.1","@typescript-eslint/eslint-plugin":"^6.7.4","eslint-config-standard-with-typescript":"^39.1.0"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-search-param-state_2.0.11_1714192237875_0.7068101172751289","host":"s3://npm-registry-packages"}},"2.0.12":{"name":"use-search-param-state","version":"2.0.12","keywords":["react","url","search","param","params","parameter","parameters","state","hook","hooks"],"author":{"url":"https://elanmed.dev/","name":"Elan Medoff","email":"info@elanmed.dev"},"license":"MIT","_id":"use-search-param-state@2.0.12","maintainers":[{"name":"elanmed","email":"info@elanmed.dev"}],"homepage":"https://github.com/ElanMedoff/use-search-param-state#readme","bugs":{"url":"https://github.com/ElanMedoff/use-search-param-state/issues"},"dist":{"shasum":"1ba274db78a1bbf97ab489510f622b800926c0fb","tarball":"https://registry.npmjs.org/use-search-param-state/-/use-search-param-state-2.0.12.tgz","fileCount":7,"integrity":"sha512-742gFAp8xWq5QggI8/KEtAheZ1BE0kXBbGtMc0bo8AbYQtgJkDBCL9/0E94YdkEaMSvdldyU6+PdY2Ck2oVA7g==","signatures":[{"sig":"MEUCIBIuB2cIjhZr3BrEH06wnz+nzZMzPSlahb3wSWecN/AuAiEA6jOwW6Nr7roXIhdzQxI7YA6W3nnzQm8CfmjckvTHW6g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/use-search-param-state@2.0.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":30765},"main":"./dist/index.js","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"ed8acc1cc60728a2a50e40faad62ae34dbb85e42","scripts":{"lint":"eslint src/**","test":"jest src/**","build":"tsup","prettier":"prettier src/** --write","test:watch":"jest src/** --watch"},"typings":"./dist/index.d.ts","_npmUser":{"name":"elanmed","email":"info@elanmed.dev"},"repository":{"url":"git+https://github.com/ElanMedoff/use-search-param-state.git","type":"git"},"_npmVersion":"10.6.0","description":"A hook to synchronize React state with URL search params.","directories":{},"_nodeVersion":"20.12.2","_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.4","tsup":"^8.0.2","husky":"^9.0.11","eslint":"^8.57.0","ts-jest":"^29.1.2","prettier":"^3.2.5","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.12.7","@types/react":"^17.0.80","@jest/globals":"^29.7.0","@types/react-dom":"^18.3.0","typescript-eslint":"^7.7.1","eslint-plugin-react":"^7.34.1","@testing-library/react":"^12.1.5","eslint-config-prettier":"^9.1.0","jest-environment-jsdom":"^29.7.0","eslint-plugin-react-hooks":"^4.6.2","@testing-library/user-event":"^14.5.2","@testing-library/react-hooks":"^8.0.1","@typescript-eslint/eslint-plugin":"^7.7.1"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-search-param-state_2.0.12_1714273115763_0.1250304487191929","host":"s3://npm-registry-packages"}},"2.0.13":{"name":"use-search-param-state","version":"2.0.13","keywords":["react","url","search","param","params","parameter","parameters","state","hook","hooks"],"author":{"url":"https://elanmed.dev/","name":"Elan Medoff","email":"info@elanmed.dev"},"license":"MIT","_id":"use-search-param-state@2.0.13","maintainers":[{"name":"elanmed","email":"info@elanmed.dev"}],"homepage":"https://github.com/ElanMedoff/use-search-param-state#readme","bugs":{"url":"https://github.com/ElanMedoff/use-search-param-state/issues"},"dist":{"shasum":"69a0a390fe8461d28445d35d1ff10ed595b03ae5","tarball":"https://registry.npmjs.org/use-search-param-state/-/use-search-param-state-2.0.13.tgz","fileCount":7,"integrity":"sha512-3FJHBsARiva/zGZUvn0g7tDWJeGSdprpm+JDSQG2Ezgca5au4gP047GJjcOvayMyoB8AeFZSHCKJnpmEQjB4ZQ==","signatures":[{"sig":"MEQCIHG0kJMtFXdS04OC4FeL2OOKpr6sooiSHeuCr74YkbPiAiAXHsrNEH0SPbBDyHu9SHeVG49yoUFcOrnjOCFOdAySHg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/use-search-param-state@2.0.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":30773},"main":"./dist/index.js","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"ae8115967450fea2085a3006ad534c8efa2a5ad8","scripts":{"lint":"eslint src/**","test":"jest src/**","build":"tsup","prettier":"prettier src/** --write","test:watch":"jest src/** --watch"},"typings":"./dist/index.d.ts","_npmUser":{"name":"elanmed","email":"info@elanmed.dev"},"repository":{"url":"git+https://github.com/ElanMedoff/use-search-param-state.git","type":"git"},"_npmVersion":"10.6.0","description":"A hook to synchronize React state with URL search params.","directories":{},"_nodeVersion":"20.12.2","_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.4","tsup":"^8.0.2","husky":"^9.0.11","eslint":"^8.57.0","ts-jest":"^29.1.2","prettier":"^3.2.5","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.12.7","@types/react":"^17.0.80","@jest/globals":"^29.7.0","@types/react-dom":"^18.3.0","typescript-eslint":"^7.7.1","eslint-plugin-react":"^7.34.1","@testing-library/react":"^12.1.5","eslint-config-prettier":"^9.1.0","jest-environment-jsdom":"^29.7.0","eslint-plugin-react-hooks":"^4.6.2","@testing-library/user-event":"^14.5.2","@testing-library/react-hooks":"^8.0.1","@typescript-eslint/eslint-plugin":"^7.7.1"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-search-param-state_2.0.13_1714273932397_0.7946574958279333","host":"s3://npm-registry-packages"}},"2.0.14":{"name":"use-search-param-state","version":"2.0.14","keywords":["react","url","search","param","params","parameter","parameters","state","hook","hooks"],"author":{"url":"https://elanmed.dev/","name":"Elan Medoff","email":"info@elanmed.dev"},"license":"MIT","_id":"use-search-param-state@2.0.14","maintainers":[{"name":"elanmed","email":"info@elanmed.dev"}],"homepage":"https://github.com/ElanMedoff/use-search-param-state#readme","bugs":{"url":"https://github.com/ElanMedoff/use-search-param-state/issues"},"dist":{"shasum":"f801d41b9434febdd6105b79f22171785b507e0e","tarball":"https://registry.npmjs.org/use-search-param-state/-/use-search-param-state-2.0.14.tgz","fileCount":7,"integrity":"sha512-//Bia2FshWqnD6FAZ6aPw33j3wQmXvG11aBKnF/UxjWveYdhnaWcIMK2vGXslHpgTChY69PU6lg3Fv2XOPQYhg==","signatures":[{"sig":"MEQCIDv1QHYAutSWC/EUSiUyK//WsBik6rI5nvGMcvOkFEocAiA48IqOsa8usRSKDuVtW9fRSV/vN+P37JBmwqDoEjyy1A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/use-search-param-state@2.0.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31262},"main":"./dist/index.js","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"c470dcd79a2552ad0a9ed66802ef054101232c7e","scripts":{"lint":"eslint src/**","test":"jest src/**","build":"tsup","prettier":"prettier src/** --write","test:watch":"jest src/** --watch"},"typings":"./dist/index.d.ts","_npmUser":{"name":"elanmed","email":"info@elanmed.dev"},"repository":{"url":"git+https://github.com/ElanMedoff/use-search-param-state.git","type":"git"},"_npmVersion":"10.7.0","description":"A hook to synchronize React state with URL search params.","directories":{},"_nodeVersion":"20.12.2","_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.4","tsup":"^8.0.2","husky":"^9.0.11","eslint":"^8.57.0","ts-jest":"^29.1.2","prettier":"^3.2.5","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.12.7","@types/react":"^17.0.80","@jest/globals":"^29.7.0","@types/react-dom":"^18.3.0","typescript-eslint":"^7.7.1","eslint-plugin-react":"^7.34.1","@testing-library/react":"^12.1.5","eslint-config-prettier":"^9.1.0","jest-environment-jsdom":"^29.7.0","eslint-plugin-react-hooks":"^4.6.2","@testing-library/user-event":"^14.5.2","@testing-library/react-hooks":"^8.0.1","@typescript-eslint/eslint-plugin":"^7.7.1"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-search-param-state_2.0.14_1714617583400_0.1522602508591624","host":"s3://npm-registry-packages"}},"2.0.15":{"name":"use-search-param-state","version":"2.0.15","keywords":["react","url","search","param","params","parameter","parameters","state","hook","hooks"],"author":{"url":"https://elanmed.dev/","name":"Elan Medoff","email":"info@elanmed.dev"},"license":"MIT","_id":"use-search-param-state@2.0.15","maintainers":[{"name":"elanmed","email":"info@elanmed.dev"}],"homepage":"https://github.com/ElanMedoff/use-search-param-state#readme","bugs":{"url":"https://github.com/ElanMedoff/use-search-param-state/issues"},"dist":{"shasum":"6d7a090e9dfffb554d61cc4f6bac3993f6809adc","tarball":"https://registry.npmjs.org/use-search-param-state/-/use-search-param-state-2.0.15.tgz","fileCount":7,"integrity":"sha512-hrfNFIDG9bh4Yk3+HpXqY8bIdOkhGHjJ0QBIL60IfgefguAdGXz6dufosnB+aOZrDQ195HImh4CytlR79LjD/A==","signatures":[{"sig":"MEUCIFWCLkz+6NJtuir4+gkgVukgORJw/hiLNmhDImpreWzZAiEA4kzWhoootmzEHivHPmaNdM55efI7Evy6hItye6/PEVQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/use-search-param-state@2.0.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":30957},"main":"./dist/index.js","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"73a1153952d72e962885b4b84083def8eb4ff408","scripts":{"lint":"eslint src/**","test":"jest src/**","build":"tsup","prettier":"prettier src/** --write","test:watch":"jest src/** --watch"},"typings":"./dist/index.d.ts","_npmUser":{"name":"elanmed","email":"info@elanmed.dev"},"repository":{"url":"git+https://github.com/ElanMedoff/use-search-param-state.git","type":"git"},"_npmVersion":"10.7.0","description":"A hook to synchronize React state with URL search params.","directories":{},"_nodeVersion":"20.12.2","_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.4","tsup":"^8.0.2","husky":"^9.0.11","eslint":"^8.57.0","ts-jest":"^29.1.2","prettier":"^3.2.5","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.12.7","@types/react":"^17.0.80","@jest/globals":"^29.7.0","@types/react-dom":"^18.3.0","typescript-eslint":"^7.7.1","eslint-plugin-react":"^7.34.1","@testing-library/react":"^12.1.5","eslint-config-prettier":"^9.1.0","jest-environment-jsdom":"^29.7.0","eslint-plugin-react-hooks":"^4.6.2","@testing-library/user-event":"^14.5.2","@testing-library/react-hooks":"^8.0.1","@typescript-eslint/eslint-plugin":"^7.7.1"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-search-param-state_2.0.15_1715050176267_0.6712704656388455","host":"s3://npm-registry-packages"}},"2.0.16":{"name":"use-search-param-state","version":"2.0.16","keywords":["react","url","search","param","params","parameter","parameters","state","hook","hooks"],"author":{"url":"https://elanmed.dev/","name":"Elan Medoff","email":"info@elanmed.dev"},"license":"MIT","_id":"use-search-param-state@2.0.16","maintainers":[{"name":"elanmed","email":"info@elanmed.dev"}],"homepage":"https://github.com/ElanMedoff/use-search-param-state#readme","bugs":{"url":"https://github.com/ElanMedoff/use-search-param-state/issues"},"dist":{"shasum":"ab31e57d019c06238e1cbfa773ca6d05de2a426b","tarball":"https://registry.npmjs.org/use-search-param-state/-/use-search-param-state-2.0.16.tgz","fileCount":7,"integrity":"sha512-uzDPnjSYalpE2MWY3jAZJvPp2mNzY9cyDVGYbcvtSl6ORhwlT2QWXYIAy3pddJSIDbQ8HZln10CGOnnzw2dHzg==","signatures":[{"sig":"MEUCIHdaJMjPskr1MQRHb2hCtLq1/E7PtlT5mdeQfeiCs7exAiEApSB6LzLVLDROwx8+ccpxWM6uYu00QFUFicMhDxaoWRw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/use-search-param-state@2.0.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":30994},"main":"./dist/index.js","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"9dd7b6a33886689a02b522a39585d5561d6660f7","scripts":{"lint":"eslint src/**","test":"jest src/**","build":"tsup","prettier":"prettier src/** --write","test:watch":"jest src/** --watch"},"typings":"./dist/index.d.ts","_npmUser":{"name":"elanmed","email":"info@elanmed.dev"},"repository":{"url":"git+https://github.com/ElanMedoff/use-search-param-state.git","type":"git"},"_npmVersion":"10.8.1","description":"A hook to synchronize React state with URL search params.","directories":{},"_nodeVersion":"20.14.0","_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.4","tsup":"^8.0.2","husky":"^9.0.11","eslint":"^8.57.0","ts-jest":"^29.1.2","prettier":"^3.2.5","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.12.7","@types/react":"^17.0.80","@jest/globals":"^29.7.0","@types/react-dom":"^18.3.0","typescript-eslint":"^7.7.1","eslint-plugin-jest":"^28.6.0","eslint-plugin-react":"^7.34.1","@testing-library/react":"^12.1.5","eslint-config-prettier":"^9.1.0","jest-environment-jsdom":"^29.7.0","eslint-plugin-react-hooks":"^4.6.2","@testing-library/user-event":"^14.5.2","@testing-library/react-hooks":"^8.0.1","@typescript-eslint/eslint-plugin":"^7.7.1"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-search-param-state_2.0.16_1717907863677_0.6296769046551765","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"use-search-param-state","version":"3.0.0","keywords":["react","url","search","param","params","parameter","parameters","state","hook","hooks"],"author":{"url":"https://elanmed.dev/","name":"Elan Medoff","email":"info@elanmed.dev"},"license":"MIT","_id":"use-search-param-state@3.0.0","maintainers":[{"name":"elanmed","email":"info@elanmed.dev"}],"homepage":"https://github.com/ElanMedoff/use-search-param-state#readme","bugs":{"url":"https://github.com/ElanMedoff/use-search-param-state/issues"},"dist":{"shasum":"3b4b54fe0903b0510d4634af3d20f86d85230114","tarball":"https://registry.npmjs.org/use-search-param-state/-/use-search-param-state-3.0.0.tgz","fileCount":7,"integrity":"sha512-6Ei5Fcn1WVUDTLo0XKLZ/Hff0FejEfxj5GFaL5P/l4Gpofl7oaHSBIIEo8pOoJemje+yKbDNXvm2lWC/oVi/og==","signatures":[{"sig":"MEUCIDSAerrmQqR35KOYxuZzbrqCjPAGvpQCsWZEUKc8E+BDAiEAhdXWsHp1nq08eF5LikR9Wt3Q0quTl9W6Xhn75GVWLfE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/use-search-param-state@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":47485},"main":"./dist/index.js","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"03d8bbff90b16fb773c7c6876e893e84b7084478","scripts":{"lint":"eslint src/**","test":"jest src/**","build":"tsup","prettier":"prettier src/** --write","test:watch":"jest src/** --watch"},"typings":"./dist/index.d.ts","_npmUser":{"name":"elanmed","email":"info@elanmed.dev"},"repository":{"url":"git+https://github.com/ElanMedoff/use-search-param-state.git","type":"git"},"_npmVersion":"11.2.0","description":"A hook to synchronize React state with URL search params.","directories":{},"_nodeVersion":"20.19.0","dependencies":{"use-sync-external-store":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.4","tsup":"^8.0.2","husky":"^9.0.11","eslint":"^8.57.0","ts-jest":"^29.1.2","prettier":"^3.2.5","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.12.7","@types/react":"^17.0.80","@jest/globals":"^29.7.0","@types/eslint":"^9.6.1","@types/react-dom":"^18.3.0","typescript-eslint":"^7.7.1","eslint-plugin-jest":"^28.6.0","eslint-plugin-react":"^7.34.1","@testing-library/react":"^12.1.5","eslint-config-prettier":"^9.1.0","jest-environment-jsdom":"^29.7.0","eslint-plugin-react-hooks":"^4.6.2","@testing-library/user-event":"^14.5.2","@testing-library/react-hooks":"^8.0.1","@types/use-sync-external-store":"^0.0.6","@typescript-eslint/eslint-plugin":"^7.7.1"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-search-param-state_3.0.0_1743647704946_0.0480576778475843","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"use-search-param-state","version":"3.0.1","keywords":["react","url","search","param","params","parameter","parameters","state","hook","hooks"],"author":{"url":"https://elanmed.dev/","name":"Elan Medoff","email":"info@elanmed.dev"},"license":"MIT","_id":"use-search-param-state@3.0.1","maintainers":[{"name":"elanmed","email":"info@elanmed.dev"}],"homepage":"https://github.com/ElanMedoff/use-search-param-state#readme","bugs":{"url":"https://github.com/ElanMedoff/use-search-param-state/issues"},"dist":{"shasum":"6a663eb702287f539dd62a977de3fe243bcd7714","tarball":"https://registry.npmjs.org/use-search-param-state/-/use-search-param-state-3.0.1.tgz","fileCount":7,"integrity":"sha512-fT4uXeGJ3um+adhkzCraL5ThFibN0lK1lbNdBMGoKo1i3sGlbmyjyFvF7weVolZMYRtXY1h6R7OqfzKg8nN1sQ==","signatures":[{"sig":"MEUCICelWgLuz14xKIgOzQ0xdVAYFKJaz4QlD8kMJTgaWAJpAiEA8fe29vt8tMpyh+C1UWc5eDuPXj8yIyIwHqvgPrGN1Zw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/use-search-param-state@3.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":47140},"main":"./dist/index.js","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"4e830006cfffc133e2a2402f70e01519fb4a4f0b","scripts":{"lint":"eslint src/**","test":"jest src/**","build":"tsup","prettier":"prettier src/** --write","test:watch":"jest src/** --watch"},"typings":"./dist/index.d.ts","_npmUser":{"name":"elanmed","email":"info@elanmed.dev"},"repository":{"url":"git+https://github.com/ElanMedoff/use-search-param-state.git","type":"git"},"_npmVersion":"11.2.0","description":"A hook to synchronize React state with URL search params.","directories":{},"_nodeVersion":"20.19.0","dependencies":{"use-sync-external-store":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.4","tsup":"^8.0.2","husky":"^9.0.11","eslint":"^8.57.0","ts-jest":"^29.1.2","prettier":"^3.2.5","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.12.7","@types/react":"^17.0.80","@jest/globals":"^29.7.0","@types/eslint":"^9.6.1","@types/react-dom":"^18.3.0","typescript-eslint":"^7.7.1","eslint-plugin-jest":"^28.6.0","eslint-plugin-react":"^7.34.1","@testing-library/react":"^12.1.5","eslint-config-prettier":"^9.1.0","jest-environment-jsdom":"^29.7.0","eslint-plugin-react-hooks":"^4.6.2","@testing-library/user-event":"^14.5.2","@testing-library/react-hooks":"^8.0.1","@types/use-sync-external-store":"^0.0.6","@typescript-eslint/eslint-plugin":"^7.7.1"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-search-param-state_3.0.1_1743814457363_0.15961496970691602","host":"s3://npm-registry-packages-npm-production"}},"3.0.2":{"name":"use-search-param-state","version":"3.0.2","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.js","types":"./dist/index.d.ts"}},"module":"./dist/index.mjs","main":"./dist/index.js","typings":"./dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/ElanMedoff/use-search-param-state.git"},"bugs":{"url":"https://github.com/ElanMedoff/use-search-param-state/issues"},"homepage":"https://github.com/ElanMedoff/use-search-param-state#readme","scripts":{"build":"tsup","test":"jest src/**","test:watch":"jest src/** --watch","prettier":"prettier src/** --write","lint":"eslint src/**"},"devDependencies":{"@jest/globals":"^29.7.0","@testing-library/react":"^12.1.5","@testing-library/react-hooks":"^8.0.1","@testing-library/user-event":"^14.5.2","@types/eslint":"^9.6.1","@types/jest":"^29.5.12","@types/node":"^20.12.7","@types/react":"^17.0.80","@types/react-dom":"^18.3.0","@types/use-sync-external-store":"^0.0.6","@typescript-eslint/eslint-plugin":"^7.7.1","eslint":"^8.57.0","eslint-config-prettier":"^9.1.0","eslint-plugin-jest":"^28.6.0","eslint-plugin-react":"^7.34.1","eslint-plugin-react-hooks":"^4.6.2","husky":"^9.0.11","jest-environment-jsdom":"^29.7.0","prettier":"^3.2.5","ts-jest":"^29.1.2","tsup":"^8.0.2","typescript":"^5.4.5","typescript-eslint":"^7.7.1","zod":"^3.23.4"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"license":"MIT","author":{"name":"Elan Medoff","email":"info@elanmed.dev","url":"https://elanmed.dev/"},"keywords":["react","url","search","param","params","parameter","parameters","state","hook","hooks"],"dependencies":{"use-sync-external-store":"^1.4.0"},"_id":"use-search-param-state@3.0.2","gitHead":"027a6c19b5e7ecbc6587693ad2e70d906cbb24c3","description":"A hook to synchronize React state with URL search params.","_nodeVersion":"20.19.0","_npmVersion":"11.2.0","dist":{"integrity":"sha512-O8y6zUmy8cinlELKtAtHYd6PGovbWwMwwOtvtLZuvVR6rYHpis6LtkxPfx2PmFBQmWGYRbw4u17q5YBReUF93w==","shasum":"2bacea7958860ae10b879980dabcd957989e76a5","tarball":"https://registry.npmjs.org/use-search-param-state/-/use-search-param-state-3.0.2.tgz","fileCount":7,"unpackedSize":47911,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/use-search-param-state@3.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAXvShbtYQYK315QfJ5zMN+ZW+cOt5Jqd2PvbMyz5Eb5AiEA6n0AAS0XXpFclpoxHKviHNJShvNdvAlBixAkwPO0Cr4="}]},"_npmUser":{"name":"elanmed","email":"info@elanmed.dev"},"directories":{},"maintainers":[{"name":"elanmed","email":"info@elanmed.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/use-search-param-state_3.0.2_1743817966136_0.14018634448276357"},"_hasShrinkwrap":false}},"time":{"created":"2023-11-12T03:27:00.628Z","modified":"2025-04-05T01:52:46.707Z","0.0.0":"2023-11-12T03:27:01.052Z","0.0.1":"2023-11-13T04:14:40.907Z","0.0.2":"2023-11-13T04:24:39.740Z","0.1.0":"2023-11-19T04:25:48.333Z","0.2.0":"2023-12-12T03:32:30.795Z","0.3.0":"2023-12-13T02:32:19.407Z","1.0.0":"2023-12-13T15:44:08.002Z","1.1.0":"2023-12-18T05:46:09.396Z","1.1.1":"2023-12-25T04:23:41.599Z","1.1.2":"2023-12-25T05:47:08.725Z","1.2.0":"2023-12-26T20:15:40.216Z","1.2.1":"2024-01-06T00:52:03.169Z","2.0.0":"2024-01-10T03:29:08.498Z","2.0.1":"2024-01-10T03:35:09.905Z","2.0.2":"2024-01-26T04:09:54.047Z","2.0.3":"2024-02-28T19:54:33.572Z","2.0.4":"2024-03-22T04:04:03.257Z","2.0.5":"2024-03-22T04:09:25.832Z","2.0.6":"2024-03-24T03:06:15.350Z","2.0.7":"2024-03-30T01:34:35.646Z","2.0.8":"2024-04-25T22:08:11.092Z","2.0.9":"2024-04-25T23:13:55.843Z","2.0.10":"2024-04-25T23:42:28.620Z","2.0.11":"2024-04-27T04:30:38.058Z","2.0.12":"2024-04-28T02:58:35.902Z","2.0.13":"2024-04-28T03:12:12.557Z","2.0.14":"2024-05-02T02:39:43.541Z","2.0.15":"2024-05-07T02:49:36.441Z","2.0.16":"2024-06-09T04:37:43.830Z","3.0.0":"2025-04-03T02:35:05.137Z","3.0.1":"2025-04-05T00:54:17.591Z","3.0.2":"2025-04-05T01:52:46.304Z"},"bugs":{"url":"https://github.com/ElanMedoff/use-search-param-state/issues"},"author":{"name":"Elan Medoff","email":"info@elanmed.dev","url":"https://elanmed.dev/"},"license":"MIT","homepage":"https://github.com/ElanMedoff/use-search-param-state#readme","keywords":["react","url","search","param","params","parameter","parameters","state","hook","hooks"],"repository":{"type":"git","url":"git+https://github.com/ElanMedoff/use-search-param-state.git"},"description":"A hook to synchronize React state with URL search params.","maintainers":[{"name":"elanmed","email":"info@elanmed.dev"}],"readme":"# use-search-param-state\n\nA hook to synchronize React state with URL search params.\n\n[![version](https://img.shields.io/npm/v/use-search-param-state)](https://www.npmjs.com/package/use-search-param-state)\n[![bundle size](https://img.shields.io/bundlephobia/minzip/use-search-param-state)](https://bundlephobia.com/package/use-search-param-state)\n[![downloads per week](https://img.shields.io/npm/dw/use-search-param-state)](https://www.npmjs.com/package/use-search-param-state)\n[![package quality](https://packagequality.com/shield/use-search-param-state.svg)](https://packagequality.com/#?package=use-search-param-state)\n[![license](https://img.shields.io/npm/l/use-search-param-state)](https://github.com/ElanMedoff/use-search-param-state/blob/master/LICENSE)\n[![dependencies](https://img.shields.io/badge/dependencies%20-%201%20-%20green)](https://github.com/ElanMedoff/use-search-param-state/blob/master/package.json)\n\n<!-- a hack to get around github sanitizing styles from markdown  -->\n<br>\n<p align=\"center\">\n    <img src=\"https://elanmed.dev/npm-packages/use-search-param-state-logo.png\" width=\"500px\" />\n</p>\n\n> Docs for version 2.0.13 (the last version before version 3.0.0) can be viewed [here](https://github.com/ElanMedoff/use-search-param-state/tree/7da00161c2caa624456363adc2558b8784369028)\n\n## Basic usage\n\n```tsx\nimport { useSearchParamState } from \"use-search-param-state\";\n\nfunction Demo() {\n  const [counterState, setCounterState] = useSearchParamState(\"counter\", 0);\n}\n```\n\nor\n\n```tsx\nimport {\n  useSearchParamState as _useSearchParamState,\n  UseSearchParamStateOptions,\n} from \"use-search-param-state\";\nimport { z } from \"zod\";\n\nexport function useSearchParamState<TVal>(\n  searchParam: string,\n  initialState: TVal,\n  options: UseSearchParamStateOptions<TVal>,\n) {\n  return _useSearchParamState(searchParam, initialState, {\n    sanitize: yourSanitizer,\n    ...options,\n  });\n}\n\nfunction Demo() {\n  const schema = z.number();\n  const [counterState, setCounterState] = useSearchParamState(\"counter\", 0, {\n    validate: z.number().parse,\n  });\n}\n```\n\n## Explanation\n\nOn the first render, `useSearchParamState` will read from the `counter` URL search param. The `counter` search param is read using the return value of the `useURLSearchParams` hook.\n\nIf the `window` object is `undefined` (i.e on the server), `useSearchParamState` will use the `serverSideURLSearchParams` option. If `serverSideURLSearchParams` is also not provided, `counterState` will be returned initial state (i.e. `0`).\n\nIf the `counter` search param does not exist (i.e. `URLSearchParams.get` returns `null`), `counterState` will be returned as the initial state, and the `counter` search param will be set to the initial state using the `stringify` option. If `enableSetInitialSearchParam` is set to `false`, the `counter` search param will not be set.\n\nOnce the `counter` search param is accessed, the raw string is passed to `sanitize`, the output of `sanitize` is passed to `parse`, and finally the output of `parse` is passed to `validate`. Note that `useSearchParamState` aims to return a _parsed_ value, not a _stringified_ value!\n\nIf `sanitize`, `parse`, or `validate` throw an error, the `onError` option is called and `counterState` will be returned as the initial state.\n\nIf none of `sanitize`, `parse`, and `validate` throw an error, `counterState` is returned as the sanitized, parsed, and validated value in the `counter` search param.\n\n---\n\nWhen setting the `counter` search param using `setCounterState`, the new state is stringified with the `stringify` option, and the URL is set using the `pushURLSearchParams` option. If `setCounterState` is called with the `replace` option, the `replaceURLSearchParams` option is used instead of the `pushURLSearchParams` option.\n\nIf `deleteEmptySearchParam` is `true` and `isEmptySearchParam` returns `true`, the search param will be deleted from the URL.\n\nIf `stringify` or `pushURLSearchParams`/`replaceURLSearchParams` throw an error, `onError` will be called and the URL will not be set.\n\n## Exports\n\n```ts\nimport {\n  useSearchParamState,\n  getSearchParam,\n  setSearchParam,\n  UseSearchParamStateOptions,\n  GetSearchParamOptions,\n  SetSearchParamOptions,\n} from \"use-search-param-state\";\nimport { useURLSearchParams } from \"use-search-param-state/use-url-search-params\";\n```\n\n## `useSearchParamState` vs `getSearchParam`/`setSearchParam`\n\n`use-search-param-state` exports three main utilities: `useSearchParamState`, `getSearchParam`, and `setSearchParam`.\n\nThe primary difference between `useSearchParamState` and `getSearchParam`/`setSearchParam` is that `useSearchParamState` is a hook, while `getSearchParam`/`setSearchParam` are functions. Because of this difference, `useSearchParamState` is able to react to URL changes and always return the up-to-date search param value, while `getSearchParam` provides a snapshot of the search param value at the time when it was called. Similarly, `setSearchParam` will not force `getSearchParam` to re-evaluate.\n\nIn React components, prefer to use `useSearchParamState`. When the search param needs to be read or set outside React, `getSearchParam`/`setSearchParam` are hook-less alternatives with the same API.\n\n## Option reference\n\n````ts\ninterface OptionReference {\n  /**\n   * `onError` defaults to the following function:\n   *\n   * ```ts\n   * export function defaultOnError(_e: unknown) {\n   *   return;\n   * }\n   * ```\n   *\n   * @param `error` The error caught in one of `try` `catch` blocks.\n   * @returns\n   */\n  onError?: (error: unknown) => void;\n\n  /**\n   * `sanitize` defaults to the following function:\n   *\n   * ```ts\n   * const defaultSanitize = (unsanitized: string) => unsanitized;\n   * ```\n   *\n   * If an error is thrown, `onError` is called and `useSearchParamState` returns the\n   * default state. If using `getSearchParam`, `null` is returned.\n   *\n   * @param `unsanitized` The raw string pulled from the URL search param.\n   * @returns The sanitized string.\n   */\n  sanitize?: (unsanitized: string) => string;\n\n  /**\n   *\n   * `parse` defaults to the following function:\n   *\n   * ```ts\n   * export function defaultParse<TVal>(unparsed: string): TVal {\n   *   // JSON.parse errors on \"undefined\"\n   *   if (unparsed === \"undefined\") return undefined as TVal;\n   *\n   *   try {\n   *     return JSON.parse(unparsed) as TVal;\n   *   } catch {\n   *     return unparsed as TVal;\n   *   }\n   * }\n   * ```\n   *\n   * If an error is thrown, `onError` is called and `useSearchParamState` returns the\n   * default state. If using `getSearchParam`, `null` is returned.\n   *\n   * @param `unparsed` The result of `sanitize` is passed as `unparsed`.\n   * @returns A parsed value of the type `TVal` i.e. the type of `initialState`.\n   */\n  parse?: (unparsed: string) => TVal;\n\n  /**\n   * `validate` is expected to validate and return the `unvalidated` argument passed to it\n   * (presumably of type `TVal`), or throw an error.\n   *\n   * `validate` defaults to the following function:\n   *\n   * ```\n   * const defaultValidate = <TVal>(unvalidated: unknown) => unvalidated as TVal;\n   * ```\n   *\n   * If an error is thrown, `onError` is called and `useSearchParamState` returns the\n   * default state. If using `getSearchParam`, `null` is returned.\n   *\n   * @param `unvalidated` The result of `parse` is passed as `unvalidated`.\n   * @returns The `unvalidated` argument, now validated as of type `TVal`.\n   */\n  validate?: (unvalidated: unknown) => TVal;\n\n  /**\n   * When passed, `serverSideURLSearchParams` will be used when `window` is `undefined` to\n   * access the URL search param. This is useful for generating content on the server,\n   * i.e. with Next.js or Remix.\n   *\n   * `serverSideURLSearchParams` has no default.\n   *\n   * See MDN's documentation on the [URLSearchParams](https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams/URLSearchParams)\n   * object for more info.\n   */\n  serverSideURLSearchParams?: URLSearchParams;\n\n  /**\n   * When setting the search param, if `deleteEmptySearchParam` is set to `true` and\n   * `isEmptySearchParam` returns `true`, the search param will be deleted from the URL.\n   *\n   * `deleteEmptySearchParam` defaults to `false`.\n   */\n  deleteEmptySearchParam?: boolean;\n\n  /**\n   * When setting the search param, if `deleteEmptySearchParam` is `true` and\n   * `isEmptySearchParam` returns `true`, the search param will be deleted from the URL.\n   *\n   * `isEmptySearchParam` defaults to the following function:\n   *\n   * ```ts\n   * export function defaultIsEmptySearchParam<TVal>(searchParamVal: TVal) {\n   *  return (\n   *    searchParamVal === null ||\n   *    searchParamVal === undefined ||\n   *    searchParamVal === \"\"\n   *  );\n   * }\n   * ```\n   *\n   * @param `searchParamVal` When setting the state, the new state is passed as\n   * `searchParamVal`.\n   * @returns A boolean.\n   */\n  isEmptySearchParam?: (searchParamVal: TVal) => boolean;\n\n  /**\n   * `pushURLSearchParams` defaults to the following function:\n   *\n   * ```ts\n   * function defaultPushURLSearchParams(urlSearchParams: URLSearchParams) {\n   *  const maybeQuestionMark = urlSearchParams.toString().length ? \"?\" : \"\";\n   *  window.history.pushState(\n   *    {},\n   *    \"\",\n   *    `${window.location.pathname}${maybeQuestionMark}${urlSearchParams.toString()}`,\n   *  );\n   *}\n   * ```\n   *\n   * @param `urlSearchParams` The `urlSearchParams` to set\n   * returned by `useSearchParamState`.\n   * @returns\n   */\n  pushURLSearchParams?: (urlSearchParams: URLSearchParams) => void;\n\n  /**\n   * `replaceURLSearchParams` defaults to the following function:\n   *\n   * ```ts\n   * function defaultReplaceURLSearchParams(urlSearchParams: URLSearchParams) {\n   *   const maybeQuestionMark = urlSearchParams.toString().length ? \"?\" : \"\";\n   *   window.history.replaceState(\n   *     {},\n   *     \"\",\n   *     `${window.location.pathname}${maybeQuestionMark}${urlSearchParams.toString()}`,\n   *   );\n   * }\n   * ```\n   *\n   * @param `urlSearchParams` The `urlSearchParams` to set\n   * returned by `useSearchParamState` with the `replace` option as `true`.\n   * @returns\n   */\n  replaceURLSearchParams?: (urlSearchParams: URLSearchParams) => void;\n\n  /**\n   * `stringify` defaults to the following function:\n   *\n   * ```ts\n   * export function defaultStringify<TVal>(valToStringify: TVal) {\n   *   // avoid wrapping strings in quotes\n   *   if (typeof valToStringify === \"string\") return valToStringify;\n   *   return JSON.stringify(valToStringify);\n   * }\n   * ```\n   *\n   * @param `valToStringify` The search param to stringify before setting it in the URL.\n   * @returns The stringified search param.\n   */\n  stringify?: (valToStringify: TVal) => string;\n\n  /**\n   * A React hook to return a URLSearchParams object representing the current search\n   * params. Note that this hook _must_ return a referentially stable value.\n   *\n   * `useURLSearchParams` defaults to an internal hook.\n   *\n   * See MDN's documentation on the [URLSearchParams](https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams/URLSearchParams)\n   * object for more info.\n   */\n  useURLSearchParams?: () => URLSearchParams;\n\n  /**\n   * If the search param state resolves to `null`, the URL is replaced with the search\n   * param set as the `initialState` option.\n   *\n   * `enableSetInitialSearchParam` defaults to `true`\n   */\n  enableSetInitialSearchParam?: boolean;\n\n  /**\n   * A function to return the current URL object.\n   *\n   * `getURLSearchParams` defaults to the following function\n   *\n   * ```ts\n   * const defaultGetURLSearchParams = () => new URLSearchParams(window.location.search);\n   * ```\n   *\n   * See MDN's documentation on the [URLSearchParams](https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams/URLSearchParams)\n   * object for more info.\n   */\n  getURLSearchParams?: () => URLSearchParams;\n\n  /**\n   * If `true`, when setting the search param, the updated URL will replace the top item\n   * in the history stack instead of pushing to it.\n   *\n   * See MDN's documentation on [replaceState](https://developer.mozilla.org/en-US/docs/Web/API/History/replaceState)\n   * for more info.\n   */\n  replace?: boolean;\n}\n````\n\n## `useSearchParamState` options\n\n```ts\ninterface UseSearchParamStateOptions<TVal> {\n  onError?: (error: unknown) => void;\n\n  // read options\n  serverSideURLSearchParams?: URLSearchParams;\n  sanitize?: (unsanitized: string) => string;\n  parse?: (unparsed: string) => TVal;\n  validate?: (unvalidated: unknown) => TVal;\n\n  // write options\n  stringify?: (valToStringify: TVal) => string;\n  deleteEmptySearchParam?: boolean;\n  isEmptySearchParam?: (searchParamVal: TVal) => boolean;\n  pushURLSearchParams?: (urlSearchParams: URLSearchParams) => void;\n  replaceURLSearchParams?: (urlSearchParams: URLSearchParams) => void;\n\n  // hook-only options\n  enableSetInitialSearchParam?: boolean;\n  useURLSearchParams?: () => URLSearchParams;\n}\n```\n\n## `getSearchParam` options\n\n```ts\ninterface GetSearchParamOptions<TVal> {\n  onError?: (error: unknown) => void;\n\n  // read options\n  serverSideURLSearchParams?: URLSearchParams;\n  sanitize?: (unsanitized: string) => string;\n  parse?: (unparsed: string) => TVal;\n  validate?: (unvalidated: unknown) => TVal;\n\n  // function-only options\n  getURLSearchParams?: () => URLSearchParams;\n}\n```\n\n## `setSearchParam` options\n\n```ts\ninterface SetSearchParamOptions<TVal> {\n  onError?: (error: unknown) => void;\n\n  // write options\n  stringify?: (valToStringify: TVal) => string;\n  deleteEmptySearchParam?: boolean;\n  isEmptySearchParam?: (searchParamVal: TVal) => boolean;\n  pushURLSearchParams?: (urlSearchParams: URLSearchParams) => void;\n  replaceURLSearchParams?: (urlSearchParams: URLSearchParams) => void;\n\n  // function-only options\n  getURLSearchParams?: () => URLSearchParams;\n  replace?: boolean;\n}\n```\n\n## Recipes\n\n### Kitchen sink\n\n```ts\n/*\n * - `parse`/`stringify` the `list` serach param as `?list=1_2_3` instead of `?list=%5B1%2C2%2C3%5D`\n * - `validate` the parsed list as an array of numbers\n * - delete the `list` search param when the current list has a length of 0\n */\nconst [list, setList] = useSearchParamState<number[]>(\"list\", [], {\n  deleteEmptySearchParam: true,\n  isEmptySearchParam: (currList) => {\n    return currList.length === 0;\n  },\n  parse: (unparsed) => {\n    return unparsed.split(\"_\").map((val) => Number(val));\n  },\n  validate: z.array(z.number()).parse,\n  stringify: (currList) => {\n    return currList.join(\"_\");\n  },\n});\n```\n\n### Hooking into the Next.js Pages router\n\n```ts\nimport React from \"react\";\nimport {\n  useSearchParamState as _useSearchParamState,\n  UseSearchParamStateOptions,\n} from \"use-search-param-state\";\nimport { useRouter } from \"next/router\";\nimport { NextPageContext, InferGetServerSidePropsType } from \"next\";\nimport { stringify } from \"querystring\";\n\nexport function useSearchParamState<TVal>(\n  searchParam: string,\n  initialState: TVal,\n  options: UseSearchParamStateOptions<TVal> = {},\n) {\n  const router = useRouter();\n\n  function pushURLSearchParams(urlSearchParams: URLSearchParams) {\n    const maybeQuestionmark = urlSearchParams.toString().length ? \"?\" : \"\";\n    router.push(\n      `${router.pathname}${maybeQuestionmark}${urlSearchParams.toString()}`,\n      undefined,\n      { shallow: true },\n    );\n  }\n\n  function replaceURLSearchParams(urlSearchParams: URLSearchParams) {\n    const maybeQuestionmark = urlSearchParams.toString().length ? \"?\" : \"\";\n    router.replace(\n      `${router.pathname}${maybeQuestionmark}${urlSearchParams.toString()}`,\n      undefined,\n      { shallow: true },\n    );\n  }\n\n  return _useSearchParamState(searchParam, initialState, {\n    pushURLSearchParams,\n    replaceURLSearchParams,\n    ...options,\n  });\n}\n\nfunction Page({\n  serverSideSearchString,\n}: InferGetServerSidePropsType<typeof getServerSideProps>) {\n  const [count, setCount] = useSearchParamState(\"count\", 0, {\n    serverSideURLSearchParams: new URLSearchParams(serverSideSearchString),\n  });\n}\n\nexport function getServerSideProps(ctx: NextPageContext) {\n  const dummyURL = new URL(ctx.req?.url ?? \"\", \"http://a.com\");\n  const serverSideSearchString = dummyURL.search;\n\n  return {\n    props: {\n      serverSideSearchString,\n    },\n  };\n}\n```\n","readmeFilename":"README.md"}