{"_id":"@haensl/react-hooks","_rev":"26-bc16afe13462c9ce100958ea207f1cda","name":"@haensl/react-hooks","dist-tags":{"latest":"1.14.2"},"versions":{"1.7.0":{"name":"@haensl/react-hooks","version":"1.7.0","keywords":["react","hooks","useDebounce","debounce","react hooks","useAnimationFrame","requestAnimationFrame","animationFrame","animation"],"author":{"url":"https://hpdietz.com","name":"HP Dietz","email":"h.p.dietz@gmail.com"},"license":"MIT","_id":"@haensl/react-hooks@1.7.0","maintainers":[{"name":"haensl","email":"h.p.dietz@gmail.com"}],"homepage":"https://github.com/haensl/hooks#readme","bugs":{"url":"https://github.com/haensl/hooks/issues"},"dist":{"shasum":"05cc04f8b532855394a52c7766a37c33c6650a21","tarball":"https://registry.npmjs.org/@haensl/react-hooks/-/react-hooks-1.7.0.tgz","fileCount":8,"integrity":"sha512-LBzQN8HAZqMhOBZ3OhUBEsdn5zLPUGvJvzeiBfaP7Ms3Y4bc5RtZOsi1k4nyQjvahkelev0cC88oNEi35pDpqA==","signatures":[{"sig":"MEQCIDh9Tit9ol6m9y9q3Dz/Eg319G1bM3t3tDCpX54WbCfBAiAJimKui3Bu0ZARbGX88oNgH0N0Nb1hjZMc8sRrBvDylQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":64490,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgr2jbCRA9TVsSAnZWagAA26IP/A0j1j6b1ykDFW/VoKOF\nvNxyun9CEborHv55xN2HidDnsGNq9f+9nG+F72Ja9SFm5p6u5Wchc7MBC9kl\nATAVjJyyH0rCy6KsOidnzTj6KnosOy7TMJLePcvIDgur+amfh3L+HgUaQ2ql\nLOZ8fvg7fK8uDqepmn5fXzP4g5Mz4l6kDOXUoYTCQ+Melu+OJ+g7RMGUBOd0\nKOLdwO94tEtgu5S8C6JAYGnkigpiKxzhg5o3BlCqFb9RvKyGrYMZfF6o9zjv\ni+iVZQISX8C8npsPJ9XotzacdIQDd+ia/cE8wVq2b51Bj9n6yOw1wdPx4g6a\nmY0Rhs5ZV6VE3VGjYHgr90TW+4yMerugHX6D477ZgZbht3vn0mcbDTVPJbMn\nYis/hSkjdyH78DApBXLAosXAz1brTGzI/TnQTWMMKoLHHCn/HAWRZ+KpUNBZ\naSx/FxwZRMEhlyiffXehQ2VxtYBPmvdXuKZVHJgwR7Ig/k0Z1Imb/sK+UoM6\n+fSS/LDGspxCJWIwtvkpHAJsUkN2U569pMa2hsPfO+cDaQ0vJptPjatbqLme\nmoNHo35OsQu3YcYv51gggAKDcgFK+V/Qaqd2BUp1lQC2PSfdsvYdzm0f8ka1\nCu4QHN9LVx4lloCI68UCbyE02KPyK/r44ZUbRxHeRuTOQ7RcxPsLlnLZ/y85\nDAgH\r\n=WTS0\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"testMatch":["<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}","<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}"],"transform":{"^.+\\.(js|jsx|ts|tsx)$":"<rootDir>/node_modules/babel-jest"},"setupFiles":["react-app-polyfill/jsdom"],"modulePaths":[],"testEnvironment":"jsdom","coverageReporters":["text"],"setupFilesAfterEnv":["<rootDir>/test.setup.js"],"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}","!src/**/*.d.ts","!<rootDir>/node_modules/"],"snapshotSerializers":["enzyme-to-json/serializer"],"testPathIgnorePatterns":["/package-tests/"],"transformIgnorePatterns":["[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$"],"coveragePathIgnorePatterns":["/node_modules/","/__snapshots__/","<rootDir>/test.setup.js","<rootDir>/package.json","<rootDir>/package-lock.json"]},"main":"dist/hooks.cjs.js","babel":{"presets":["react-app"]},"husky":{"hooks":{"pre-commit":"CI=true npm run lint && npm run test:ci"}},"unpkg":"dist/hooks.umd.js","module":"dist/hooks.esm.js","scripts":{"tdd":"jest --runInBand --watch","lint":"eslint --ext js,jsx src/","test":"jest --runInBand","build":"npm run clean && NODE_ENV=production rollup -c","clean":"rimraf ./dist","lint:ci":"eslint --format junit -o test-results/eslint/results.xml --ext js,jsx src/","test:ci":"jest --runInBand --no-cache --ci --reporters='default' --reporters='jest-junit'","coverage:ci":"CI=true npm test -- --ci --coverage"},"_npmUser":{"name":"haensl","email":"h.p.dietz@gmail.com"},"jest-junit":{"suitName":"react hooks unit tests","outputName":"results.xml","outputDirectory":"test-results/jest"},"repository":{"url":"git+https://github.com/haensl/hooks.git","type":"git"},"_npmVersion":"7.14.0","description":"Assorted React hooks.","directories":{},"_nodeVersion":"14.16.1","dependencies":{"@babel/runtime":"^7.12.5","@haensl/services":"^1.3.0"},"eslintConfig":{"extends":["react-app","@haensl"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.1","husky":"^4.3.8","react":"^16.14.0","enzyme":"^3.11.0","eslint":"^7.19.0","rimraf":"^3.0.2","rollup":"^2.38.2","react-dom":"^16.14.0","babel-jest":"^27.0.1","jest-junit":"^12.0.0","@babel/core":"^7.12.10","babel-eslint":"^10.1.0","enzyme-to-json":"^3.6.1","@babel/preset-env":"^7.12.11","react-app-polyfill":"^2.0.0","eslint-plugin-react":"^7.22.0","@rollup/plugin-babel":"^5.2.3","eslint-plugin-import":"^2.22.1","rollup-plugin-terser":"^7.0.2","@haensl/eslint-config":"^1.3.0","babel-preset-react-app":"^10.0.0","eslint-plugin-flowtype":"^5.2.0","eslint-plugin-jsx-a11y":"^6.4.1","@rollup/plugin-commonjs":"^19.0.0","enzyme-adapter-react-16":"^1.15.6","eslint-config-react-app":"^6.0.0","eslint-plugin-react-hooks":"^4.2.0","@rollup/plugin-node-resolve":"^13.0.0","@babel/plugin-transform-runtime":"^7.12.10","rollup-plugin-peer-deps-external":"^2.2.4","@haensl/rollup-plugin-local-resolve":"^1.1.1"},"peerDependencies":{"react":">=16"},"_npmOperationalInternal":{"tmp":"tmp/react-hooks_1.7.0_1622108378656_0.8936912299797397","host":"s3://npm-registry-packages"}},"1.7.1":{"name":"@haensl/react-hooks","version":"1.7.1","keywords":["react","hooks","useDebounce","debounce","react hooks","useAnimationFrame","requestAnimationFrame","animationFrame","animation"],"author":{"url":"https://hpdietz.com","name":"HP Dietz","email":"h.p.dietz@gmail.com"},"license":"MIT","_id":"@haensl/react-hooks@1.7.1","maintainers":[{"name":"haensl","email":"h.p.dietz@gmail.com"}],"homepage":"https://github.com/haensl/hooks#readme","bugs":{"url":"https://github.com/haensl/hooks/issues"},"dist":{"shasum":"58d180ce6de2e5a29f17d592eb5d6c59e3ebb8a2","tarball":"https://registry.npmjs.org/@haensl/react-hooks/-/react-hooks-1.7.1.tgz","fileCount":8,"integrity":"sha512-T298h0Comrnia8g8tcZF00vPTyF0l/GA/UvG2YyRqgcGylH4A5ZHSXCOd7dZ06AYiKF7tvhJ96AiMsXYapqeKA==","signatures":[{"sig":"MEUCIQDSrnSfuKcxhkWPcNglwELKjPC9B8BJCr6fljORrEZvegIgQ9Sc6MD5YUQi3pN1Dt0Z/gn+Al2fKN2GWXIa7mRNiZY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":64490,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgr2tCCRA9TVsSAnZWagAATXsP/RHBZn86qUzabyzHq4kM\nV4Y8eTIEwTXJ4hhNA7CkRxWMPJbQ0FLqwN+N4KidqQR+i/c5Rvh91xXdXNXy\nGfTODZpbmZZGgBZOlr6CMdicGEPXPNTctyMltGUUGeJuLfoR1igFQJ8RiAja\nh1jCxgo2or1o6+WPzSNpvbHEQZEoY45dB/PmKy2idybO+zAPNN3XbDETP0nh\nvdmlpDN0519LTiKVqb/eqAsMLM9c7aMlQ7nf+iVVnkTasXqpN+0DTMD9YTJp\ncxD4XE7YBJwgswk54hz0rUnRr8klHid0d9mdm6qhraphhTo+JoewJzXl/+bF\nf24zeN4Ybi4DU3BCpy4Md2O5fHkMmTt1BeYvpBZNLwH544SXa9ha0BqY5/Hr\nWuVLQ2o6+QoV5N+NGSXNimQnVC0jynnlmOb41+7DYCsXuFCscgfNMtd4zvIm\nq3DCCF/tHe6Ljmd6Z59re4LDfn0NcfNvaHSOfQKpak+XOfbGgeRYJFq+c7Ip\nK7cykuKqzeyK9b0/SjdP07ReD9hmukbSqXC9I1XC5Awi8d5Xguzvz/jar5dw\nExUfW8qBB+iQY9+wnmxnYBxRstUXAvKYtPW75u7GsWc0a9NOm/l92foRmDcl\nDCtQvGpIOv7dK6ikI44G4P5w+wD8dwpLz2aA4WRVm3CoHQkJOSYKjFl2LjLw\n+IJT\r\n=ZOHI\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"testMatch":["<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}","<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}"],"transform":{"^.+\\.(js|jsx|ts|tsx)$":"<rootDir>/node_modules/babel-jest"},"setupFiles":["react-app-polyfill/jsdom"],"modulePaths":[],"testEnvironment":"jsdom","coverageReporters":["text"],"setupFilesAfterEnv":["<rootDir>/test.setup.js"],"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}","!src/**/*.d.ts","!<rootDir>/node_modules/"],"snapshotSerializers":["enzyme-to-json/serializer"],"testPathIgnorePatterns":["/package-tests/"],"transformIgnorePatterns":["[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$"],"coveragePathIgnorePatterns":["/node_modules/","/__snapshots__/","<rootDir>/test.setup.js","<rootDir>/package.json","<rootDir>/package-lock.json"]},"main":"dist/hooks.cjs.js","babel":{"presets":["react-app"]},"husky":{"hooks":{"pre-commit":"CI=true npm run lint && npm run test:ci"}},"unpkg":"dist/hooks.umd.js","module":"dist/hooks.esm.js","scripts":{"tdd":"jest --runInBand --watch","lint":"eslint --ext js,jsx src/","test":"jest --runInBand","build":"npm run clean && NODE_ENV=production rollup -c","clean":"rimraf ./dist","lint:ci":"eslint --format junit -o test-results/eslint/results.xml --ext js,jsx src/","test:ci":"jest --runInBand --no-cache --ci --reporters='default' --reporters='jest-junit'","coverage:ci":"CI=true npm test -- --ci --coverage"},"_npmUser":{"name":"haensl","email":"h.p.dietz@gmail.com"},"jest-junit":{"suitName":"react hooks unit tests","outputName":"results.xml","outputDirectory":"test-results/jest"},"repository":{"url":"git+https://github.com/haensl/hooks.git","type":"git"},"_npmVersion":"7.14.0","description":"Assorted React hooks.","directories":{},"_nodeVersion":"14.16.1","dependencies":{"@babel/runtime":"^7.12.5","@haensl/services":"^1.3.0"},"eslintConfig":{"extends":["react-app","@haensl"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.1","husky":"^4.3.8","react":"^16.14.0","enzyme":"^3.11.0","eslint":"^7.19.0","rimraf":"^3.0.2","rollup":"^2.38.2","react-dom":"^16.14.0","babel-jest":"^27.0.1","jest-junit":"^12.0.0","@babel/core":"^7.12.10","babel-eslint":"^10.1.0","enzyme-to-json":"^3.6.1","@babel/preset-env":"^7.12.11","react-app-polyfill":"^2.0.0","eslint-plugin-react":"^7.22.0","@rollup/plugin-babel":"^5.2.3","eslint-plugin-import":"^2.22.1","rollup-plugin-terser":"^7.0.2","@haensl/eslint-config":"^1.3.0","babel-preset-react-app":"^10.0.0","eslint-plugin-flowtype":"^5.2.0","eslint-plugin-jsx-a11y":"^6.4.1","@rollup/plugin-commonjs":"^19.0.0","enzyme-adapter-react-16":"^1.15.6","eslint-config-react-app":"^6.0.0","eslint-plugin-react-hooks":"^4.2.0","@rollup/plugin-node-resolve":"^13.0.0","@babel/plugin-transform-runtime":"^7.12.10","rollup-plugin-peer-deps-external":"^2.2.4","@haensl/rollup-plugin-local-resolve":"^1.1.1"},"peerDependencies":{"react":">=16"},"_npmOperationalInternal":{"tmp":"tmp/react-hooks_1.7.1_1622108994219_0.6519339590711035","host":"s3://npm-registry-packages"}},"1.7.2":{"name":"@haensl/react-hooks","version":"1.7.2","keywords":["react","hooks","useDebounce","debounce","react hooks","useAnimationFrame","requestAnimationFrame","animationFrame","animation"],"author":{"url":"https://hpdietz.com","name":"HP Dietz","email":"h.p.dietz@gmail.com"},"license":"MIT","_id":"@haensl/react-hooks@1.7.2","maintainers":[{"name":"haensl","email":"h.p.dietz@gmail.com"}],"homepage":"https://github.com/haensl/hooks#readme","bugs":{"url":"https://github.com/haensl/hooks/issues"},"dist":{"shasum":"456266ffd81a81348410bcab737c2d6d9b839c8f","tarball":"https://registry.npmjs.org/@haensl/react-hooks/-/react-hooks-1.7.2.tgz","fileCount":8,"integrity":"sha512-Ob+UmfNrALnrw8O5aAfxXz3hdpjUGu7M7On7i99yWk9WpzI0spKIAiuyxrSFYw+2n4XxRi5N024hoTYvTna7ag==","signatures":[{"sig":"MEUCIQCDjoggT5vKXkX0erUBcM14VnoB8QCeIxjvg7rE2lpGWAIgdd2sa5EHuZcvigQM4x/YQReszmMixqSvZuKNrhrJybg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":64534,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhHigkCRA9TVsSAnZWagAAHwoP/i3lMqwzvap8dsh+Mcsi\ngqGdQk0FKCuxpLaus8cyUWAT4LJsKkBD7AjFxE0sUGQR7encZZnrerab2dqT\noqfi9OQwlNFZ/rD9zvrCwsMf8li6r8C9vWN5vWLRwc+njcOTkxim1U2/dJcC\nZ+a+OkRsTigFCzH/tz9k3ovDjuTQXNUfpLfAUujIQ8iF/h9Z26JvMnfBiRmK\nZmnRUTON02iwoHdOWNUhPSZsCLjpm7LLTWKqt4Cn6yjEKRJ9geFiq385VAob\nnRpMYhrHDQItuD9wF928T+z4aIRiYHSDhtlEBAykRk58AGxxhv36aDoTeqhL\noa/VkG5+PWBE3LUhTB9NDfFRx//3Vv9Xdm2m7G6MtGVWupW+HVFV+3ag4euf\npwZduhNIsD6F4Fde3LL+fN3HmU1FsSEM0Xqsxo+Ug+0vh+tN4DGtkpKYp2Mn\nss7CDlzzUAvCdES4hc5AykI2qetOp5pBeInUDmFRgojcpaKbYf58PI1v4Yve\nc2VUJPZGuqS2nRCwcBekJPdsaO4PoIXtYTLM6QQseTwnazaZR9QPenfwhudH\nKCM0ISCMdgErTpHByT98TQid9BdSvMWffltxHlqymeHUoleAET2hcgkmsube\nC7robb1I/KYqPWjuuS0Nq7AlXuKY2YF1lSkZ6BOF87RbHCWKkhQebmocDFKS\n5Iiz\r\n=IgmU\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"testMatch":["<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}","<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}"],"transform":{"^.+\\.(js|jsx|ts|tsx)$":"<rootDir>/node_modules/babel-jest"},"setupFiles":["react-app-polyfill/jsdom"],"modulePaths":[],"testEnvironment":"jsdom","coverageReporters":["text"],"setupFilesAfterEnv":["<rootDir>/test.setup.js"],"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}","!src/**/*.d.ts","!<rootDir>/node_modules/"],"snapshotSerializers":["enzyme-to-json/serializer"],"testPathIgnorePatterns":["/package-tests/"],"transformIgnorePatterns":["[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$"],"coveragePathIgnorePatterns":["/node_modules/","/__snapshots__/","<rootDir>/test.setup.js","<rootDir>/package.json","<rootDir>/package-lock.json"]},"main":"dist/hooks.cjs.js","babel":{"presets":["react-app"]},"husky":{"hooks":{"pre-commit":"CI=true npm run lint && npm run test:ci"}},"unpkg":"dist/hooks.umd.js","module":"dist/hooks.esm.js","scripts":{"tdd":"jest --runInBand --watch","lint":"eslint --ext js,jsx src/","test":"jest --runInBand","build":"npm run clean && NODE_ENV=production rollup -c","clean":"rimraf ./dist","lint:ci":"eslint --format junit -o test-results/eslint/results.xml --ext js,jsx src/","test:ci":"jest --runInBand --no-cache --ci --reporters='default' --reporters='jest-junit'","coverage:ci":"CI=true npm test -- --ci --coverage"},"_npmUser":{"name":"haensl","email":"h.p.dietz@gmail.com"},"jest-junit":{"suitName":"react hooks unit tests","outputName":"results.xml","outputDirectory":"test-results/jest"},"repository":{"url":"git+https://github.com/haensl/hooks.git","type":"git"},"_npmVersion":"7.20.6","description":"Assorted React hooks.","directories":{},"_nodeVersion":"14.17.5","dependencies":{"@babel/runtime":"^7.12.5","@haensl/services":"^1.3.0"},"eslintConfig":{"extends":["react-app","@haensl"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.1","husky":"^4.3.8","react":"^16.14.0","enzyme":"^3.11.0","eslint":"^7.19.0","rimraf":"^3.0.2","rollup":"^2.38.2","react-dom":"^16.14.0","babel-jest":"^27.0.1","jest-junit":"^12.0.0","@babel/core":"^7.12.10","babel-eslint":"^10.1.0","enzyme-to-json":"^3.6.1","@babel/preset-env":"^7.12.11","react-app-polyfill":"^2.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.22.0","@rollup/plugin-babel":"^5.2.3","eslint-plugin-import":"^2.22.1","rollup-plugin-terser":"^7.0.2","@haensl/eslint-config":"^1.3.0","babel-preset-react-app":"^10.0.0","eslint-plugin-flowtype":"^5.2.0","eslint-plugin-jsx-a11y":"^6.4.1","@rollup/plugin-commonjs":"^20.0.0","enzyme-adapter-react-16":"^1.15.6","eslint-config-react-app":"^6.0.0","eslint-plugin-react-hooks":"^4.2.0","@rollup/plugin-node-resolve":"^13.0.0","@babel/plugin-transform-runtime":"^7.12.10","rollup-plugin-peer-deps-external":"^2.2.4","@haensl/rollup-plugin-local-resolve":"^1.1.1"},"peerDependencies":{"react":">=16"},"_npmOperationalInternal":{"tmp":"tmp/react-hooks_1.7.2_1629366307938_0.9138760693499746","host":"s3://npm-registry-packages"}},"1.7.3":{"name":"@haensl/react-hooks","version":"1.7.3","keywords":["react","hooks","useDebounce","debounce","react hooks","useAnimationFrame","requestAnimationFrame","animationFrame","animation"],"author":{"url":"https://hpdietz.com","name":"HP Dietz","email":"h.p.dietz@gmail.com"},"license":"MIT","_id":"@haensl/react-hooks@1.7.3","maintainers":[{"name":"haensl","email":"h.p.dietz@gmail.com"}],"homepage":"https://github.com/haensl/hooks#readme","bugs":{"url":"https://github.com/haensl/hooks/issues"},"dist":{"shasum":"2d157fdd4863d1279bb8aeb40f171134280a5e00","tarball":"https://registry.npmjs.org/@haensl/react-hooks/-/react-hooks-1.7.3.tgz","fileCount":8,"integrity":"sha512-Y1Ts0Zim+AmlF+9VqCJZqMtR4EYZOi7+3ZuQOGHOdJv0pdi/Fb7GzK61sKxJ91g0UhC+qUfeyqc8PrMcybkE5Q==","signatures":[{"sig":"MEYCIQC1h8AQsyHFiIoL9yqeK8A+oYJcyZje7/Cl8WtKMsf9wwIhAOtwNFZMYbeZJZ4EyxS0bVpqER2OBJQJ06mmHi2z4pa6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":64534,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJKapCRA9TVsSAnZWagAAOhwP+wT7CiztQ+uGYHX7sol2\na/n/2acxN+zCtQ2NAcVXwLihsTgxQGL073E4+YfFfMIr3OIypRiu9bpdq76y\nJctNc4akKvzigMyoaAv1Z5/xPuKMEqesJLXXp7bz9JuKzWDY5wroa8ct5DZv\npHZQ0w+r6OS5MvasTbTgEEfY32FZRHuO6p93klAk7okMxONIIj5ag2WWVX3E\nU4nfjadGs+3M/ktCexGyqSYvPx7BQxrogzXuIHqBR+gfsu7GJgKTYlXgn2A8\nmVnjtmrI1mILI18gXRk0lbxJzfsyTa4BEe5+CBiIiKeTV7zhkoO+vRGS0+1H\nEBb86mGIh3CVMZUbKUHejYi0RCP6ndCL2VG774w0eWNXGoANr4h6ikTSPB13\nFHvIglbG8ZTcmDnZuR5oNLkzPEYvOtWiTcbHib4jdPBBFAXP4N3aacBhtyCW\n6WFDGUG8KJ/QGN7geXIHElEMNr4rps13v72FddQDIgQiNO4twlWAoqAAck9D\nxQhmoCk//70u7UqEfn37+7Zf1lVqXGJhsva/i67Pfm2HzFpFZdQp6Ldc3OuE\nQRM4J9QwCet7ZGamOQv9BUB72z9F2hRoMUHQhCDPKChphtTrBDLqz6936aAm\nzSs8sA+fJNsggSTPWmQc6P/irfx4QGb846O1jf1LC8jgle4nVyjjvKbJ4H3B\ncvHv\r\n=kgB6\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"testMatch":["<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}","<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}"],"transform":{"^.+\\.(js|jsx|ts|tsx)$":"<rootDir>/node_modules/babel-jest"},"setupFiles":["react-app-polyfill/jsdom"],"modulePaths":[],"testEnvironment":"jsdom","coverageReporters":["text"],"setupFilesAfterEnv":["<rootDir>/test.setup.js"],"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}","!src/**/*.d.ts","!<rootDir>/node_modules/"],"snapshotSerializers":["enzyme-to-json/serializer"],"testPathIgnorePatterns":["/package-tests/"],"transformIgnorePatterns":["[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$"],"coveragePathIgnorePatterns":["/node_modules/","/__snapshots__/","<rootDir>/test.setup.js","<rootDir>/package.json","<rootDir>/package-lock.json"]},"main":"dist/hooks.cjs.js","babel":{"presets":["react-app"]},"husky":{"hooks":{"pre-commit":"CI=true npm run lint && npm run test:ci"}},"unpkg":"dist/hooks.umd.js","module":"dist/hooks.esm.js","scripts":{"tdd":"jest --runInBand --watch","lint":"eslint --ext js,jsx src/","test":"jest --runInBand","build":"npm run clean && NODE_ENV=production rollup -c","clean":"rimraf ./dist","lint:ci":"eslint --format junit -o test-results/eslint/results.xml --ext js,jsx src/","test:ci":"jest --runInBand --no-cache --ci --reporters='default' --reporters='jest-junit'","coverage:ci":"CI=true npm test -- --ci --coverage"},"_npmUser":{"name":"haensl","email":"h.p.dietz@gmail.com"},"jest-junit":{"suitName":"react hooks unit tests","outputName":"results.xml","outputDirectory":"test-results/jest"},"repository":{"url":"git+https://github.com/haensl/hooks.git","type":"git"},"_npmVersion":"7.21.0","description":"Assorted React hooks.","directories":{},"_nodeVersion":"14.17.5","dependencies":{"@babel/runtime":"^7.12.5","@haensl/services":"^1.3.0"},"eslintConfig":{"extends":["react-app","@haensl"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.1","husky":"^4.3.8","react":"^16.14.0","enzyme":"^3.11.0","eslint":"^7.19.0","rimraf":"^3.0.2","rollup":"^2.38.2","react-dom":"^16.14.0","babel-jest":"^27.0.1","jest-junit":"^12.0.0","@babel/core":"^7.12.10","babel-eslint":"^10.1.0","enzyme-to-json":"^3.6.1","@babel/preset-env":"^7.12.11","react-app-polyfill":"^2.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.22.0","@rollup/plugin-babel":"^5.2.3","eslint-plugin-import":"^2.22.1","rollup-plugin-terser":"^7.0.2","@haensl/eslint-config":"^1.3.0","babel-preset-react-app":"^10.0.0","eslint-plugin-flowtype":"^5.2.0","eslint-plugin-jsx-a11y":"^6.4.1","@rollup/plugin-commonjs":"^20.0.0","enzyme-adapter-react-16":"^1.15.6","eslint-config-react-app":"^6.0.0","eslint-plugin-react-hooks":"^4.2.0","@rollup/plugin-node-resolve":"^13.0.0","@babel/plugin-transform-runtime":"^7.12.10","rollup-plugin-peer-deps-external":"^2.2.4","@haensl/rollup-plugin-local-resolve":"^1.1.1"},"peerDependencies":{"react":">=16"},"_npmOperationalInternal":{"tmp":"tmp/react-hooks_1.7.3_1629791913135_0.993702885154083","host":"s3://npm-registry-packages"}},"1.7.4":{"name":"@haensl/react-hooks","version":"1.7.4","keywords":["react","hooks","useDebounce","debounce","react hooks","useAnimationFrame","requestAnimationFrame","animationFrame","animation"],"author":{"url":"https://hpdietz.com","name":"HP Dietz","email":"h.p.dietz@gmail.com"},"license":"MIT","_id":"@haensl/react-hooks@1.7.4","maintainers":[{"name":"haensl","email":"h.p.dietz@gmail.com"}],"homepage":"https://github.com/haensl/hooks#readme","bugs":{"url":"https://github.com/haensl/hooks/issues"},"dist":{"shasum":"2969448a9af62062d4da16fe5eea27400ea007b2","tarball":"https://registry.npmjs.org/@haensl/react-hooks/-/react-hooks-1.7.4.tgz","fileCount":8,"integrity":"sha512-Bi4jBZm92bns4t1suDh44uxzKLlu24Jf5cIYIeHTXXsUNFqv2PNFVMnQXp5q58oiG+sr5ZjYtru+p7bW9t5rCg==","signatures":[{"sig":"MEYCIQDZWrbfiLskKq/5QWb9VbBwJSKgPWowzXbo0VpGtKbr9QIhAJTf/vSiYT523dKKiNxSBGuLuZ7tcnWwqoCLAKpxKHAs","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":64529,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhQmU+CRA9TVsSAnZWagAAXMkP/06/qYR+/w224J6TDuS1\ne6cyRsm5tecx/pTJls0Q5tF0F5qtxLqAP8fGYxts+I825O+R0rEAMXzzOkF9\nrryvmYOYYW5nBBA61JYdQACANMtYcyooNJ44Zc9FCgempP90EZSWRR/xSrem\ndSizTgt52s9zoAzGZiIJ5xw4ECoFP+Ha91RE2mMSeoekqF/0bakyIC67HiHg\nZZkgf+JFvZ2TEvJ75rwksz1H5egSff1TJiPKbrgbbQXFRn5AzC6JG6X1G6Hu\nd1WXLFG+vZkpP7QeUBZ6skmuc+aMeRd2+Uq4t7IA7NDwbiqAduUWq6kL7A8r\nKKi7e+F13RiDOYoW/WjE25fkhuE5DBt+mm21/RxXp6aS987Ifg908skgrcBa\niepF+MaDgBuwjq2KfCb0+qoZIiruErUl2bPKUT/z3Cuzx+j5BuyX3UorHD8G\nu+7wKXm8AqPRqCnGLm4iLZ0OkQbK+zhwLpOFQoWh65wCZckQ1O9MoARSjHah\ndY4fScX143fQ5EhtU58z//mK9o2S+FTiBCCYYSZ3GZ74cj4dc9rRF4VmGECr\nYOBEqBzrBsdbu9GNYXlceOlBvhXFgdZgZObkho3+qJeHB6dccus4NgMqCgP7\nSUtoCinDf8eNSJV3iaK/cwNixvkfyE7WRLeh9Yts+dTdAIF1uf3fioU0nF2b\nnkoS\r\n=4xLo\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"testMatch":["<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}","<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}"],"transform":{"^.+\\.(js|jsx|ts|tsx)$":"<rootDir>/node_modules/babel-jest"},"setupFiles":["react-app-polyfill/jsdom"],"modulePaths":[],"testEnvironment":"jsdom","coverageReporters":["text"],"setupFilesAfterEnv":["<rootDir>/test.setup.js"],"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}","!src/**/*.d.ts","!<rootDir>/node_modules/"],"snapshotSerializers":["enzyme-to-json/serializer"],"testPathIgnorePatterns":["/package-tests/"],"transformIgnorePatterns":["[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$"],"coveragePathIgnorePatterns":["/node_modules/","/__snapshots__/","<rootDir>/test.setup.js","<rootDir>/package.json","<rootDir>/package-lock.json"]},"main":"dist/hooks.cjs.js","babel":{"presets":["react-app"]},"husky":{"hooks":{"pre-commit":"CI=true npm run lint && npm run test:ci"}},"unpkg":"dist/hooks.umd.js","module":"dist/hooks.esm.js","scripts":{"tdd":"jest --runInBand --watch","lint":"eslint --ext js,jsx src/","test":"jest --runInBand","build":"npm run clean && NODE_ENV=production rollup -c","clean":"rimraf ./dist","lint:ci":"eslint --format junit -o test-results/eslint/results.xml --ext js,jsx src/","test:ci":"jest --runInBand --no-cache --ci --reporters='default' --reporters='jest-junit'","coverage:ci":"CI=true npm test -- --ci --coverage"},"_npmUser":{"name":"haensl","email":"h.p.dietz@gmail.com"},"jest-junit":{"suitName":"react hooks unit tests","outputName":"results.xml","outputDirectory":"test-results/jest"},"repository":{"url":"git+https://github.com/haensl/hooks.git","type":"git"},"_npmVersion":"7.23.0","description":"Assorted React hooks.","directories":{},"_nodeVersion":"14.17.6","dependencies":{"@babel/runtime":"^7.12.5","@haensl/services":"^1.3.0"},"eslintConfig":{"extends":["react-app","@haensl"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.1","husky":"^4.3.8","react":"^16.14.0","enzyme":"^3.11.0","eslint":"^7.19.0","rimraf":"^3.0.2","rollup":"^2.38.2","react-dom":"^16.14.0","babel-jest":"^27.0.1","jest-junit":"^12.0.0","@babel/core":"^7.12.10","babel-eslint":"^10.1.0","enzyme-to-json":"^3.6.1","@babel/preset-env":"^7.12.11","react-app-polyfill":"^2.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.22.0","@rollup/plugin-babel":"^5.2.3","eslint-plugin-import":"^2.22.1","rollup-plugin-terser":"^7.0.2","@haensl/eslint-config":"^1.3.0","babel-preset-react-app":"^10.0.0","eslint-plugin-flowtype":"^5.2.0","eslint-plugin-jsx-a11y":"^6.4.1","@rollup/plugin-commonjs":"^20.0.0","enzyme-adapter-react-16":"^1.15.6","eslint-config-react-app":"^6.0.0","eslint-plugin-react-hooks":"^4.2.0","@rollup/plugin-node-resolve":"^13.0.0","@babel/plugin-transform-runtime":"^7.12.10","rollup-plugin-peer-deps-external":"^2.2.4","@haensl/rollup-plugin-local-resolve":"^1.1.1"},"peerDependencies":{"react":">=16"},"_npmOperationalInternal":{"tmp":"tmp/react-hooks_1.7.4_1631741246049_0.9395698764059301","host":"s3://npm-registry-packages"}},"1.7.5":{"name":"@haensl/react-hooks","version":"1.7.5","keywords":["react","hooks","useDebounce","debounce","react hooks","useAnimationFrame","requestAnimationFrame","animationFrame","animation"],"author":{"url":"https://hpdietz.com","name":"HP Dietz","email":"h.p.dietz@gmail.com"},"license":"MIT","_id":"@haensl/react-hooks@1.7.5","maintainers":[{"name":"haensl","email":"h.p.dietz@gmail.com"}],"homepage":"https://github.com/haensl/hooks#readme","bugs":{"url":"https://github.com/haensl/hooks/issues"},"dist":{"shasum":"6de124d3b71c095ddaceb08de3a2215437def0f2","tarball":"https://registry.npmjs.org/@haensl/react-hooks/-/react-hooks-1.7.5.tgz","fileCount":8,"integrity":"sha512-wapW65/Npxo6wMYGD/Rv2lGFI1sHRi9+P3vu2kVrkGRXf4AFWZ/TVcW6PkmIeGs7/AyWhpx4W1KzVZ4drz496Q==","signatures":[{"sig":"MEYCIQDAysNMtZQATYPQ7dwabkvlCmb97vnGoek15sF3XIB89QIhANvKxJXxFYPkRx5zvP5Cc4TKL8KA5McdYwy35bGzgVwg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":64645,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhyvB7CRA9TVsSAnZWagAAGsoP/1U6EITaddEyqBSOspaU\n2EtjjUD1roWjZsyAUWipBOnRJVX1IEhjDgKrajYa1T9dS3U+pT4A2P9tVyae\nhDQYz8fFnejw/yQmOntGVqrgWqUZhg3+I3LKU0SRwuWCIXwf7unInEdOjEjw\nhh6WZoRgoLwc8I4Y4V3gIMMOiPxDfFvHDa8BkvpBJvGP6Kyb5NHJSt4o0HGq\nRvYLoWvPsqT3lzLlK1p+IIg+ReoCxH3FhQbQPUB77avf8eJxKAdTk58C67jo\nYY6W9U9t5S89WaflJfbJdk0m9k+fdS6OqDE318akdK0U59gUIvMvNxvPCvU3\nxfAMCOS1p5vW88OXMbeWDiQ5I9G7qDhJnBRASi6H6GQegVg+psmltZqDcoSU\nrfNTXW4BEKe3T2RW+zkEBEUceTBe6bEmEoJzyRyy+YP2NDjGPKYwLE1WBWni\niKdP8DWecMXNobMwWPrPY/C9RuFYXlb2cxXyR1aW7lmJ/iz2vnaCDbGrnQkd\nCL6xiwn7DKFM06s2Yvp8ZEsnwiXze9bSN7YNR2Z8nYBJYWO4fd/18dHfTVyg\nnob6etAqnJgDfbjZMKCg8knkBs+GscgDYtS7HZMZ10Wk5QDadxQMbrTrBZS0\neE5W01q/JQTo/ds021Vh+Fp3+hsj6W/lqzn404Wv/tu/nDtlofepJs6wQHNc\ntCO7\r\n=hfgr\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"testMatch":["<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}","<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}"],"transform":{"^.+\\.(js|jsx|ts|tsx)$":"<rootDir>/node_modules/babel-jest"},"setupFiles":["react-app-polyfill/jsdom"],"modulePaths":[],"testEnvironment":"jsdom","coverageReporters":["text"],"setupFilesAfterEnv":["<rootDir>/test.setup.js"],"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}","!src/**/*.d.ts","!<rootDir>/node_modules/"],"snapshotSerializers":["enzyme-to-json/serializer"],"testPathIgnorePatterns":["/package-tests/"],"transformIgnorePatterns":["[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$"],"coveragePathIgnorePatterns":["/node_modules/","/__snapshots__/","<rootDir>/test.setup.js","<rootDir>/package.json","<rootDir>/package-lock.json"]},"main":"dist/hooks.cjs.js","babel":{"presets":["react-app"]},"husky":{"hooks":{"pre-commit":"CI=true npm run lint && npm run test:ci"}},"unpkg":"dist/hooks.umd.js","module":"dist/hooks.esm.js","scripts":{"tdd":"jest --runInBand --watch","lint":"NODE_ENV=production eslint --ext js,jsx src/","test":"jest --runInBand","build":"npm run clean && NODE_ENV=production rollup -c","clean":"rimraf ./dist","lint:ci":"NODE_ENV=production eslint --format junit -o test-results/eslint/results.xml --ext js,jsx src/","prepare":"if [ ${NODE_ENV} != 'production' ]; then husky install; fi","test:ci":"jest --runInBand --no-cache --ci --reporters='default' --reporters='jest-junit'","coverage:ci":"CI=true npm test -- --ci --coverage"},"_npmUser":{"name":"haensl","email":"h.p.dietz@gmail.com"},"jest-junit":{"suitName":"react hooks unit tests","outputName":"results.xml","outputDirectory":"test-results/jest"},"repository":{"url":"git+https://github.com/haensl/hooks.git","type":"git"},"_npmVersion":"8.3.0","description":"Assorted React hooks.","directories":{},"_nodeVersion":"16.13.1","dependencies":{"@babel/runtime":"^7.12.5","@haensl/services":"^1.3.0"},"eslintConfig":{"extends":["react-app","@haensl"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.1","husky":"^7.0.4","react":"^16.14.0","enzyme":"^3.11.0","eslint":"^8.5.0","rimraf":"^3.0.2","rollup":"^2.38.2","react-dom":"^16.14.0","babel-jest":"^27.0.1","jest-junit":"^13.0.0","@babel/core":"^7.12.10","babel-eslint":"^10.1.0","enzyme-to-json":"^3.6.1","@babel/preset-env":"^7.12.11","react-app-polyfill":"^2.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.22.0","@rollup/plugin-babel":"^5.2.3","eslint-plugin-import":"^2.22.1","rollup-plugin-terser":"^7.0.2","@haensl/eslint-config":"^1.3.0","babel-preset-react-app":"^10.0.0","eslint-plugin-flowtype":"^8.0.3","eslint-plugin-jsx-a11y":"^6.4.1","@rollup/plugin-commonjs":"^21.0.1","enzyme-adapter-react-16":"^1.15.6","eslint-config-react-app":"^7.0.0","eslint-plugin-react-hooks":"^4.2.0","@rollup/plugin-node-resolve":"^13.0.0","@babel/plugin-transform-runtime":"^7.12.10","rollup-plugin-peer-deps-external":"^2.2.4","@haensl/rollup-plugin-local-resolve":"^1.1.1"},"peerDependencies":{"react":">=16"},"_npmOperationalInternal":{"tmp":"tmp/react-hooks_1.7.5_1640689787296_0.2251786823076447","host":"s3://npm-registry-packages"}},"1.7.6":{"name":"@haensl/react-hooks","version":"1.7.6","keywords":["react","hooks","useDebounce","debounce","react hooks","useAnimationFrame","requestAnimationFrame","animationFrame","animation"],"author":{"url":"https://hpdietz.com","name":"HP Dietz","email":"h.p.dietz@gmail.com"},"license":"MIT","_id":"@haensl/react-hooks@1.7.6","maintainers":[{"name":"haensl","email":"h.p.dietz@gmail.com"}],"homepage":"https://github.com/haensl/hooks#readme","bugs":{"url":"https://github.com/haensl/hooks/issues"},"dist":{"shasum":"1e6069487bb8cc75fad6416ecd0ef8e3da7bcbe6","tarball":"https://registry.npmjs.org/@haensl/react-hooks/-/react-hooks-1.7.6.tgz","fileCount":8,"integrity":"sha512-4PeewpBz4VkcHxI08zx62r6TM79S5Fr59R3stR/HyBIJISavzxQ4k48dkdn8GJzTFfsWfMmCGZronKg2s+UjhQ==","signatures":[{"sig":"MEUCIFg/mWXBpKEEfCg0IlMvP0mpvl/XCltRrOxMrTIm0vvDAiEAt++KebUnK/dD0YCEAFGefc2NvkDZ39CMpLvoJjo8a7A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":64645,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh1NTVCRA9TVsSAnZWagAA+zwP/jC2Rz8U3Zs2dA86Peza\n1u6J92sWW0Plch8OpbKEPjbHTZBEhQ+yaFKB2Da++M64LPMOIuPk7/zo/QJa\n4PTv6x3Px+GfcEkGvf9/rYfPFiOuIJxsi2Xxij0ayMMj9IjsrZpJC+zevQsI\n2W8dvlQefduI8BlZnGVrz2iWZMF3xF/xW58MJhBG7+WXCgmcIY1eWMlHzoo+\n8dWbo1pTMQtuTTsnVBfdN+siUScnb6pcs2fzqtFDnaSQfMlRDEB/JOd4n1lA\nTFGP6UyOdtABR9wy+86e9wJRDj7J0iZr/bgMJgIaLBuzHFgZvaizok+JNwRz\nlorQeJn+T80DQLxzbXxDAN8pBqkf75L3NxRiMZZsDUIPNh7GAid6mSz/PzA1\nPeywxbG1vcS6+OpErayMTpXtD8tdaqfkM+FpjUqn/RLYz+tKJvm0s2o987qT\npoKiv0Wc/ZBZ04D26WOFissTWH0+xSt5AqbDEzf6RX9KftA6vl6xzslg05ZY\nTFthAr5g6tXQVHuh5YCfh7VUJpy+LKufyCx18xtr0FJBUYO2ns5yNO+9vQco\nvHQpd+XY47I8pXv298ZmwI7g/meHA3kGk8P3rjKYTV8YcVZDwUFFEE21wOvu\nXfmmL4z8+R/jXQhXA+4RXaWueNroxgxqGQExH5DyE8sEW2Uyq80wDH39AbXw\nhpo8\r\n=niUX\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"testMatch":["<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}","<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}"],"transform":{"^.+\\.(js|jsx|ts|tsx)$":"<rootDir>/node_modules/babel-jest"},"setupFiles":["react-app-polyfill/jsdom"],"modulePaths":[],"testEnvironment":"jsdom","coverageReporters":["text"],"setupFilesAfterEnv":["<rootDir>/test.setup.js"],"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}","!src/**/*.d.ts","!<rootDir>/node_modules/"],"snapshotSerializers":["enzyme-to-json/serializer"],"testPathIgnorePatterns":["/package-tests/"],"transformIgnorePatterns":["[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$"],"coveragePathIgnorePatterns":["/node_modules/","/__snapshots__/","<rootDir>/test.setup.js","<rootDir>/package.json","<rootDir>/package-lock.json"]},"main":"dist/hooks.cjs.js","babel":{"presets":["react-app"]},"husky":{"hooks":{"pre-commit":"CI=true npm run lint && npm run test:ci"}},"unpkg":"dist/hooks.umd.js","module":"dist/hooks.esm.js","scripts":{"tdd":"jest --runInBand --watch","lint":"NODE_ENV=production eslint --ext js,jsx src/","test":"jest --runInBand","build":"npm run clean && NODE_ENV=production rollup -c","clean":"rimraf ./dist","lint:ci":"NODE_ENV=production eslint --format junit -o test-results/eslint/results.xml --ext js,jsx src/","prepare":"if [ ${NODE_ENV} != 'production' ]; then husky install; fi","test:ci":"jest --runInBand --no-cache --ci --reporters='default' --reporters='jest-junit'","coverage:ci":"CI=true npm test -- --ci --coverage"},"_npmUser":{"name":"haensl","email":"h.p.dietz@gmail.com"},"jest-junit":{"suitName":"react hooks unit tests","outputName":"results.xml","outputDirectory":"test-results/jest"},"repository":{"url":"git+https://github.com/haensl/hooks.git","type":"git"},"_npmVersion":"8.3.0","description":"Assorted React hooks.","directories":{},"_nodeVersion":"16.13.1","dependencies":{"@babel/runtime":"^7.12.5","@haensl/services":"^1.3.0"},"eslintConfig":{"extends":["react-app","@haensl"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.1","husky":"^7.0.4","react":"^16.14.0","enzyme":"^3.11.0","eslint":"^8.5.0","rimraf":"^3.0.2","rollup":"^2.38.2","react-dom":"^16.14.0","babel-jest":"^27.0.1","jest-junit":"^13.0.0","@babel/core":"^7.12.10","babel-eslint":"^10.1.0","enzyme-to-json":"^3.6.1","@babel/preset-env":"^7.12.11","react-app-polyfill":"^2.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.22.0","@rollup/plugin-babel":"^5.2.3","eslint-plugin-import":"^2.22.1","rollup-plugin-terser":"^7.0.2","@haensl/eslint-config":"^1.3.0","babel-preset-react-app":"^10.0.0","eslint-plugin-flowtype":"^8.0.3","eslint-plugin-jsx-a11y":"^6.4.1","@rollup/plugin-commonjs":"^21.0.1","enzyme-adapter-react-16":"^1.15.6","eslint-config-react-app":"^7.0.0","eslint-plugin-react-hooks":"^4.2.0","@rollup/plugin-node-resolve":"^13.0.0","@babel/plugin-transform-runtime":"^7.12.10","rollup-plugin-peer-deps-external":"^2.2.4","@haensl/rollup-plugin-local-resolve":"^1.1.1"},"peerDependencies":{"react":">=16"},"_npmOperationalInternal":{"tmp":"tmp/react-hooks_1.7.6_1641338069074_0.021978398693892176","host":"s3://npm-registry-packages"}},"1.8.0":{"name":"@haensl/react-hooks","version":"1.8.0","keywords":["react","hooks","useDebounce","debounce","react hooks","useAnimationFrame","requestAnimationFrame","animationFrame","animation"],"author":{"url":"https://hpdietz.com","name":"HP Dietz","email":"h.p.dietz@gmail.com"},"license":"MIT","_id":"@haensl/react-hooks@1.8.0","maintainers":[{"name":"haensl","email":"h.p.dietz@gmail.com"}],"homepage":"https://github.com/haensl/hooks#readme","bugs":{"url":"https://github.com/haensl/hooks/issues"},"dist":{"shasum":"e3bf037ec7d26060be7da8d79749d3f3ca1afdb1","tarball":"https://registry.npmjs.org/@haensl/react-hooks/-/react-hooks-1.8.0.tgz","fileCount":8,"integrity":"sha512-ruZedRW5gnJhElUg3YllhJ3MpxoV2TW94vR3ixdk1UDmFrtlnAGST2AcAhYYB8w7uYacss+4HrAyaS6SdYGx0Q==","signatures":[{"sig":"MEUCIH1xPrv/ajXhqfQAvn6EJGuBKKT7FPzQWMMOkeuymPZyAiEA7eUrIJMDfH7LJKHnbuqZ1uQ7T1Vto9aWkuO+sagoIwE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":68325,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6E6XCRA9TVsSAnZWagAAqc0QAIK95W3pf4rEfHkRheb0\ng11EoUL4yX0zDJzqRgIremfVxbd2mIeYl1zNU16LuYMSHKpvQExS08miujwx\nQ3rpW03EZmyovnHbfiA3YKFZiDfq9plAPjbmkA5aDspaHoIk3mgckpg8CB/K\nf2Z7THOVq62uUqUzV0rCM3FyWdsYIOcErhC4PS8tHZUViltkAqjKkBS9q6tC\nKVi/3IGxrhKAb1iAdpHvwU+1ouTli8KQSYoUcQWD2i89ByGnDeeDWNh1agde\ny5p7xoGu1sZJdRT9j9KbSdiKn0oF0RznXvh4MRRtKp2q+vh1OjDO6TH3eOcZ\nk9PGZOt8M8XCvt+XkqnfL883P/IVcQ5WbzHNgJHZnEUk4N6OQYY+FKOWf7uy\nCpGNvtATG5XMNNrM53J6liWZECHHBZcZ/h/owC97cc7vffY+b0f1PrTTE+vH\nx1R/NP9HMjrnEezlRaKIxRepB8FlZB7lY3d7GBHHIUd0kzh9uCifNTYCfg/y\ntXZWKzgo07eeNLjOBZ6AT3CeJseXUOQqH/92J18eNJrqLtesAdgKP/RikHXq\n+N5hNp3419piaU33rISEJz/TVvJr+DnPhYJkPL++O7kas22zTmyS4uUn9dmr\nwip+Z3ISFhnYCDD300ed8mt9dqZ6VvOwf/FhLWWiDSLqYm6fIviz1fxk2jp3\nPjd+\r\n=IiPb\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"testMatch":["<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}","<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}"],"transform":{"^.+\\.(js|jsx|ts|tsx)$":"<rootDir>/node_modules/babel-jest"},"setupFiles":["react-app-polyfill/jsdom"],"modulePaths":[],"testEnvironment":"jsdom","coverageReporters":["text"],"setupFilesAfterEnv":["<rootDir>/test.setup.js"],"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}","!src/**/*.d.ts","!<rootDir>/node_modules/"],"testPathIgnorePatterns":["/package-tests/"],"transformIgnorePatterns":["[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$"],"coveragePathIgnorePatterns":["/node_modules/","/__snapshots__/","<rootDir>/test.setup.js","<rootDir>/package.json","<rootDir>/package-lock.json"]},"main":"dist/hooks.cjs.js","babel":{"presets":["react-app"]},"unpkg":"dist/hooks.umd.js","module":"dist/hooks.esm.js","scripts":{"tdd":"jest --runInBand --watch","lint":"NODE_ENV=production eslint --ext js,jsx src/","test":"jest --runInBand","build":"npm run clean && NODE_ENV=production rollup -c","clean":"rimraf ./dist","lint:ci":"NODE_ENV=production eslint --format junit -o test-results/eslint/results.xml --ext js,jsx src/","prepare":"if [ ${NODE_ENV} != 'production' ]; then husky install; fi","test:ci":"jest --runInBand --no-cache --ci --reporters='default' --reporters='jest-junit'","coverage:ci":"CI=true npm test -- --ci --coverage"},"_npmUser":{"name":"haensl","email":"h.p.dietz@gmail.com"},"jest-junit":{"suitName":"react hooks unit tests","outputName":"results.xml","outputDirectory":"test-results/jest"},"repository":{"url":"git+https://github.com/haensl/hooks.git","type":"git"},"_npmVersion":"8.3.1","description":"Assorted React hooks.","directories":{},"_nodeVersion":"16.13.1","dependencies":{"@babel/runtime":"^7.12.5","@haensl/services":"^1.3.0"},"eslintConfig":{"extends":["react-app","@haensl"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.1","husky":"^7.0.4","react":"^17.0.2","eslint":"^8.5.0","rimraf":"^3.0.2","rollup":"^2.38.2","react-dom":"^17.0.2","babel-jest":"^27.0.1","jest-junit":"^13.0.0","@babel/core":"^7.12.10","babel-eslint":"^10.1.0","@babel/preset-env":"^7.12.11","react-app-polyfill":"^3.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.22.0","@rollup/plugin-babel":"^5.2.3","eslint-plugin-import":"^2.22.1","rollup-plugin-terser":"^7.0.2","@haensl/eslint-config":"^1.3.0","@testing-library/react":"^12.1.2","babel-preset-react-app":"^10.0.0","eslint-plugin-flowtype":"^8.0.3","eslint-plugin-jsx-a11y":"^6.4.1","@rollup/plugin-commonjs":"^21.0.1","eslint-config-react-app":"^7.0.0","@testing-library/jest-dom":"^5.16.1","eslint-plugin-react-hooks":"^4.2.0","@rollup/plugin-node-resolve":"^13.0.0","@testing-library/react-hooks":"^7.0.2","@babel/plugin-transform-runtime":"^7.12.10","rollup-plugin-peer-deps-external":"^2.2.4","@haensl/rollup-plugin-local-resolve":"^1.1.1"},"peerDependencies":{"react":">=16"},"_npmOperationalInternal":{"tmp":"tmp/react-hooks_1.8.0_1642614423190_0.08939965684074158","host":"s3://npm-registry-packages"}},"1.9.0":{"name":"@haensl/react-hooks","version":"1.9.0","keywords":["react","hooks","useDebounce","debounce","react hooks","useAnimationFrame","requestAnimationFrame","animationFrame","animation"],"author":{"url":"https://hpdietz.com","name":"HP Dietz","email":"h.p.dietz@gmail.com"},"license":"MIT","_id":"@haensl/react-hooks@1.9.0","maintainers":[{"name":"haensl","email":"h.p.dietz@gmail.com"}],"homepage":"https://github.com/haensl/hooks#readme","bugs":{"url":"https://github.com/haensl/hooks/issues"},"dist":{"shasum":"4bcb8b90c72963fa4cd7c51a4e5b692a01c2a8b8","tarball":"https://registry.npmjs.org/@haensl/react-hooks/-/react-hooks-1.9.0.tgz","fileCount":8,"integrity":"sha512-207CpZSDQtCutQxzGXVulS9G4bc/uGKKFOCW3wJeLAC3wP4LpBXyq2t/m+I3NxHVQXkW9U7IRNcGtf+DgYWEVQ==","signatures":[{"sig":"MEQCIC5kh4Wi9TflWGNDsUhFb1r4Kj23GOa1oBsmJtNQHKONAiALz7A5JU9uXnc17vHQDtxa9TlApHfwAGHOZ1uDEOLcWg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":71066,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6VmnCRA9TVsSAnZWagAAr2sQAJzkDWHYwVkbMnlCFCxs\nD5xaKXYYEoB7sWqrDhsPh0and+MI1+QhWOiGhk7rJ1KDu279ApAK/lqx9zU5\nU4SlgVmpPHPrxa54pWT7CQNuXJckScGHw4edFIM8y/Xkr/iBlgVwHqREeyIg\n+S+SSi32DxUzpt5Clw48ObfT8cbfB29RQLs4FemCNJt88pf2mjzKb/lzWtc5\ncR9sn7xqbaRsADBx7Y4WjToaxqHVcUmE716BENUKeTcVxWoq+oifpJwinuXf\nLVlA9InsVawFY2K7ImqZV86kbDq0EhHZUgthe1Jt3mQTyFCUOvr+HtqY6gFe\nLsdvlKZ33lhN890wrM58bHqxq+ZPsvspRpmgjNJmJCDpb6kqucbVS54cyXqm\ndO59WaXNuFxqXYu1vfZkaL5w7hpEOtynJDtd1fkStr1SJK2jP4gKobh8sGDJ\nS4DX0wDcutSYqxD5StdYwkbTqQcB63b8UdHfeLhTWk+J8+2V88zPQ5NSlXB+\nfRX8ayrN3fv2vf2G3WRZazZAHJJ3Ll+m40DVB3R8b1zpL5MVVSk00n1IG23r\nm6zsQ0iPbngo8nHPvORSCcamOGqBjlnnKFgWn1hmmIhH3S+x2WviQoYVSUKx\nAWkfU0sfFaMCk61fO1FJ5/xzr5hBVnTr3OKXzY/6n6i0a/VFyY6RxBTydgWi\nXmxY\r\n=ZJTJ\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"testMatch":["<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}","<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}"],"transform":{"^.+\\.(js|jsx|ts|tsx)$":"<rootDir>/node_modules/babel-jest"},"setupFiles":["react-app-polyfill/jsdom"],"modulePaths":[],"testEnvironment":"jsdom","coverageReporters":["text"],"setupFilesAfterEnv":["<rootDir>/test.setup.js"],"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}","!src/**/*.d.ts","!<rootDir>/node_modules/"],"testPathIgnorePatterns":["/package-tests/"],"transformIgnorePatterns":["[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$"],"coveragePathIgnorePatterns":["/node_modules/","/__snapshots__/","<rootDir>/test.setup.js","<rootDir>/package.json","<rootDir>/package-lock.json"]},"main":"dist/hooks.cjs.js","babel":{"presets":["react-app"]},"unpkg":"dist/hooks.umd.js","module":"dist/hooks.esm.js","scripts":{"tdd":"jest --runInBand --watch","lint":"NODE_ENV=production eslint --ext js,jsx src/","test":"jest --runInBand","build":"npm run clean && NODE_ENV=production rollup -c","clean":"rimraf ./dist","lint:ci":"NODE_ENV=production eslint --format junit -o test-results/eslint/results.xml --ext js,jsx src/","prepare":"if [ ${NODE_ENV} != 'production' ]; then husky install; fi","test:ci":"jest --runInBand --no-cache --ci --reporters='default' --reporters='jest-junit'","coverage:ci":"CI=true npm test -- --ci --coverage"},"_npmUser":{"name":"haensl","email":"h.p.dietz@gmail.com"},"jest-junit":{"suitName":"react hooks unit tests","outputName":"results.xml","outputDirectory":"test-results/jest"},"repository":{"url":"git+https://github.com/haensl/hooks.git","type":"git"},"_npmVersion":"8.3.1","description":"Assorted React hooks.","directories":{},"_nodeVersion":"16.13.1","dependencies":{"@babel/runtime":"^7.12.5","@haensl/services":"^1.3.0"},"eslintConfig":{"extends":["react-app","@haensl"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.1","husky":"^7.0.4","react":"^17.0.2","eslint":"^8.5.0","rimraf":"^3.0.2","rollup":"^2.38.2","react-dom":"^17.0.2","babel-jest":"^27.0.1","jest-junit":"^13.0.0","@babel/core":"^7.12.10","babel-eslint":"^10.1.0","@babel/preset-env":"^7.12.11","react-app-polyfill":"^3.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.22.0","@rollup/plugin-babel":"^5.2.3","eslint-plugin-import":"^2.22.1","rollup-plugin-terser":"^7.0.2","@haensl/eslint-config":"^1.3.0","@testing-library/react":"^12.1.2","babel-preset-react-app":"^10.0.0","eslint-plugin-flowtype":"^8.0.3","eslint-plugin-jsx-a11y":"^6.4.1","@rollup/plugin-commonjs":"^21.0.1","eslint-config-react-app":"^7.0.0","@testing-library/jest-dom":"^5.16.1","eslint-plugin-react-hooks":"^4.2.0","@rollup/plugin-node-resolve":"^13.0.0","@testing-library/react-hooks":"^7.0.2","@babel/plugin-transform-runtime":"^7.12.10","rollup-plugin-peer-deps-external":"^2.2.4","@haensl/rollup-plugin-local-resolve":"^1.1.1"},"peerDependencies":{"react":">=16"},"_npmOperationalInternal":{"tmp":"tmp/react-hooks_1.9.0_1642682791115_0.5573577756089836","host":"s3://npm-registry-packages"}},"1.9.1":{"name":"@haensl/react-hooks","version":"1.9.1","keywords":["react","hooks","useDebounce","debounce","react hooks","useAnimationFrame","requestAnimationFrame","animationFrame","animation"],"author":{"url":"https://hpdietz.com","name":"HP Dietz","email":"h.p.dietz@gmail.com"},"license":"MIT","_id":"@haensl/react-hooks@1.9.1","maintainers":[{"name":"haensl","email":"h.p.dietz@gmail.com"}],"homepage":"https://github.com/haensl/hooks#readme","bugs":{"url":"https://github.com/haensl/hooks/issues"},"dist":{"shasum":"d5a468e775670ef94edd3f2f13e895033719d3d4","tarball":"https://registry.npmjs.org/@haensl/react-hooks/-/react-hooks-1.9.1.tgz","fileCount":8,"integrity":"sha512-JPoTCSgUG6x4CB6pMzgzKApHcGy42PKAdlMwgV7/YOa61bqQEVGe6QZZW1dTuSCgslwDJ6WuZyWqk7BFEqi9wQ==","signatures":[{"sig":"MEUCIFj1SPiOqYY8pHug54nBWQ/MHX9ljenq45W1SxElczPIAiEA2RP3nSMeX/C1rfObeblJ5uOXmpx0joKJdVYYje4MbSs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":71066,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8EGXCRA9TVsSAnZWagAAV+kP/3xJ6wA9wCDuXlYAScxd\nIPvM6ik3sunfl4cLep2ekYYhmFQuR98NsB3CgtWQtdUE2T26sWt+cLZuC+kR\n0uZzqHM2N0ziVikcZXmtlfsP8HZ5cHtwVUWUM+a0LvJTBUm15mWxG2wGUEuz\nz1aahttVDWcWgMRaBIqr0xfX3YPU293QcTqxp3a5FAhnWKSYt2ukEHDpK1ge\n72CBK5L/B9pTwK2Uwgg94E9zJeEat0L09y/xZydJeNh9bCZb9++WTE1IRO1w\n/0KToXEAEMS0wSrlVnOOGLL9/lF2ycnbH9qYOtKwULS79eKlRyjYvgdAVhaj\nvEDVR+/rkI9mXyB1TdbFechswBgIYB1dIryiW8EWin4AuTOBnxcJiGhBlPPm\nrfKc1OEeodIxoamEIk/F1RUcrUK+M9cJopFKAEIq67Do/MNRLooOrxb3E+mQ\n0p3zW40TEnH9GNMOv6ORO70/wMHrRN+HwGYm/iKA6FccIpw/XX9FoRfaoHw/\nJQz/6ZsUXAkIC/wOLpjb6zFr3/hsPlNDug1x5KsKb9WxZqo2fM2EJhQ/SXBZ\nzUxN7KcMO1hXSOYXcpNvt4AJzb5O/95hgdEhLG2MkJtov4OmrgP32/QGsWqd\nKfCVoKT7i8EFgkcl6CdiDpplWFCf5ghbCEMCQiXKouLEt/aSv8JcWqRQ9UFW\n4I6s\r\n=HaM1\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"testMatch":["<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}","<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}"],"transform":{"^.+\\.(js|jsx|ts|tsx)$":"<rootDir>/node_modules/babel-jest"},"setupFiles":["react-app-polyfill/jsdom"],"modulePaths":[],"testEnvironment":"jsdom","coverageReporters":["text"],"setupFilesAfterEnv":["<rootDir>/test.setup.js"],"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}","!src/**/*.d.ts","!<rootDir>/node_modules/"],"testPathIgnorePatterns":["/package-tests/"],"transformIgnorePatterns":["[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$"],"coveragePathIgnorePatterns":["/node_modules/","/__snapshots__/","<rootDir>/test.setup.js","<rootDir>/package.json","<rootDir>/package-lock.json"]},"main":"dist/hooks.cjs.js","babel":{"presets":["react-app"]},"unpkg":"dist/hooks.umd.js","module":"dist/hooks.esm.js","scripts":{"tdd":"jest --runInBand --watch","lint":"NODE_ENV=production eslint --ext js,jsx src/","test":"jest --runInBand","build":"npm run clean && NODE_ENV=production rollup -c","clean":"rimraf ./dist","lint:ci":"NODE_ENV=production eslint --format junit -o test-results/eslint/results.xml --ext js,jsx src/","prepare":"if [ ${NODE_ENV} != 'production' ]; then husky install; fi","test:ci":"jest --runInBand --no-cache --ci --reporters='default' --reporters='jest-junit'","coverage:ci":"CI=true npm test -- --ci --coverage"},"_npmUser":{"name":"haensl","email":"h.p.dietz@gmail.com"},"jest-junit":{"suitName":"react hooks unit tests","outputName":"results.xml","outputDirectory":"test-results/jest"},"repository":{"url":"git+https://github.com/haensl/hooks.git","type":"git"},"_npmVersion":"8.3.2","description":"Assorted React hooks.","directories":{},"_nodeVersion":"16.13.1","dependencies":{"@babel/runtime":"^7.12.5","@haensl/services":"^1.3.0"},"eslintConfig":{"extends":["react-app","@haensl"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.1","husky":"^7.0.4","react":"^17.0.2","eslint":"^8.5.0","rimraf":"^3.0.2","rollup":"^2.38.2","react-dom":"^17.0.2","babel-jest":"^27.0.1","jest-junit":"^13.0.0","@babel/core":"^7.12.10","babel-eslint":"^10.1.0","@babel/preset-env":"^7.12.11","react-app-polyfill":"^3.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.22.0","@rollup/plugin-babel":"^5.2.3","eslint-plugin-import":"^2.22.1","rollup-plugin-terser":"^7.0.2","@haensl/eslint-config":"^1.3.0","@testing-library/react":"^12.1.2","babel-preset-react-app":"^10.0.0","eslint-plugin-flowtype":"^8.0.3","eslint-plugin-jsx-a11y":"^6.4.1","@rollup/plugin-commonjs":"^21.0.1","eslint-config-react-app":"^7.0.0","@testing-library/jest-dom":"^5.16.1","eslint-plugin-react-hooks":"^4.2.0","@rollup/plugin-node-resolve":"^13.0.0","@testing-library/react-hooks":"^7.0.2","@babel/plugin-transform-runtime":"^7.12.10","rollup-plugin-peer-deps-external":"^2.2.4","@haensl/rollup-plugin-local-resolve":"^1.1.1"},"peerDependencies":{"react":">=16"},"_npmOperationalInternal":{"tmp":"tmp/react-hooks_1.9.1_1643135383394_0.995435807789472","host":"s3://npm-registry-packages"}},"1.9.2":{"name":"@haensl/react-hooks","version":"1.9.2","keywords":["react","hooks","useDebounce","debounce","react hooks","useAnimationFrame","requestAnimationFrame","animationFrame","animation"],"author":{"url":"https://hpdietz.com","name":"HP Dietz","email":"h.p.dietz@gmail.com"},"license":"MIT","_id":"@haensl/react-hooks@1.9.2","maintainers":[{"name":"haensl","email":"h.p.dietz@gmail.com"}],"homepage":"https://github.com/haensl/hooks#readme","bugs":{"url":"https://github.com/haensl/hooks/issues"},"dist":{"shasum":"7ed827a60a646784863210aa460102f2838283cb","tarball":"https://registry.npmjs.org/@haensl/react-hooks/-/react-hooks-1.9.2.tgz","fileCount":8,"integrity":"sha512-wvO7lq9YnmG+Xb3NMhDd7f8zvNjfOsi4MTSrS72gpeYv98Z6ObOdxFBkeWg6EO/fzE5HIMoAiG9Zq4o3zM8vNg==","signatures":[{"sig":"MEUCIHjpMCZsnkLL44URam+9aL3raDTzwALgZq2ySxeJsFLqAiEAqnMtg5A85hvCAZBEbKCnAG/8ISRagNnhtbXWSD5prH8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":71066,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh+SrrCRA9TVsSAnZWagAAPaAP/0joZPmhAr5+izbbm2gp\netD60pbwFwgwxmuQYA12s+ycqyVvWSNAgBnmKX+cLZxsFh9bYlSN5U3+78/t\nM6QMn0PKeSS0diBbEfaZ9nqj6y5gTF2irnqD1o/bRCCgTfb0PaiP4wrskd2R\nOxjKfVcE1S/U8WsJu4tlrwVciYpGhkWQLf5NCzJJx8KNNlbZBN+6fo7/LsUO\noYA41dKtmKN7ln9cTOuFYT4Zph16c5bxY0N6pks4LxQl2UML/qYjo3IbtZpg\nwulwI9Chi4lL4szkce2MvlsdKbqpLprNpTubnBHjZKs2KkbA96FWxr0UsrHV\n1rNQOSyOLcn8IBmtLWeuTPwSEwk419g6Sd0Bn8zjhi1fmsuxXZXeM18qmveL\nnplsH4GiswMFqiizihpO4LSOCjcLkDLmUs0twiOF7JJjEbkW/CS0E8pavn3f\nooZ++XLxjn4tIRV/C8ES5MOcEzwm4SJ1o+kGU7aGPfR/4tjKQwaW+GQPuyIL\nO11Rp61IXdFCMOqbScfr9GAfj+7uJFFU2Knl2mqrsoIfZWsXiEKX/ktXOkQT\nmM/YnsS8OgUblPxdO6MpFU7vGJnZEI7jCNv3ztLMceDRCphh5P6or6sjLLZJ\ncWN4dHi4melUkW3BsCSMtYmjXKZlFfRR2h2qOiXHMqAfxLd31qOJcTnzdA6z\nFFnf\r\n=q9SL\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"testMatch":["<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}","<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}"],"transform":{"^.+\\.(js|jsx|ts|tsx)$":"<rootDir>/node_modules/babel-jest"},"setupFiles":["react-app-polyfill/jsdom"],"modulePaths":[],"testEnvironment":"jsdom","coverageReporters":["text"],"setupFilesAfterEnv":["<rootDir>/test.setup.js"],"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}","!src/**/*.d.ts","!<rootDir>/node_modules/"],"testPathIgnorePatterns":["/package-tests/"],"transformIgnorePatterns":["[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$"],"coveragePathIgnorePatterns":["/node_modules/","/__snapshots__/","<rootDir>/test.setup.js","<rootDir>/package.json","<rootDir>/package-lock.json"]},"main":"dist/hooks.cjs.js","babel":{"presets":["react-app"]},"unpkg":"dist/hooks.umd.js","module":"dist/hooks.esm.js","scripts":{"tdd":"jest --runInBand --watch","lint":"NODE_ENV=production eslint --ext js,jsx src/","test":"jest --runInBand","build":"npm run clean && NODE_ENV=production rollup -c","clean":"rimraf ./dist","lint:ci":"NODE_ENV=production eslint --format junit -o test-results/eslint/results.xml --ext js,jsx src/","prepare":"if [ ${NODE_ENV} != 'production' ]; then husky install; fi","test:ci":"jest --runInBand --no-cache --ci --reporters='default' --reporters='jest-junit'","coverage:ci":"CI=true npm test -- --ci --coverage"},"_npmUser":{"name":"haensl","email":"h.p.dietz@gmail.com"},"jest-junit":{"suitName":"react hooks unit tests","outputName":"results.xml","outputDirectory":"test-results/jest"},"repository":{"url":"git+https://github.com/haensl/hooks.git","type":"git"},"_npmVersion":"8.4.0","description":"Assorted React hooks.","directories":{},"_nodeVersion":"16.13.1","dependencies":{"@babel/runtime":"^7.12.5","@haensl/services":"^1.3.0"},"eslintConfig":{"extends":["react-app","@haensl"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.1","husky":"^7.0.4","react":"^17.0.2","eslint":"^8.5.0","rimraf":"^3.0.2","rollup":"^2.38.2","react-dom":"^17.0.2","babel-jest":"^27.0.1","jest-junit":"^13.0.0","@babel/core":"^7.12.10","babel-eslint":"^10.1.0","@babel/preset-env":"^7.12.11","react-app-polyfill":"^3.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.22.0","@rollup/plugin-babel":"^5.2.3","eslint-plugin-import":"^2.22.1","rollup-plugin-terser":"^7.0.2","@haensl/eslint-config":"^1.3.0","@testing-library/react":"^12.1.2","babel-preset-react-app":"^10.0.0","eslint-plugin-flowtype":"^8.0.3","eslint-plugin-jsx-a11y":"^6.4.1","@rollup/plugin-commonjs":"^21.0.1","eslint-config-react-app":"^7.0.0","@testing-library/jest-dom":"^5.16.1","eslint-plugin-react-hooks":"^4.2.0","@rollup/plugin-node-resolve":"^13.0.0","@testing-library/react-hooks":"^7.0.2","@babel/plugin-transform-runtime":"^7.12.10","rollup-plugin-peer-deps-external":"^2.2.4","@haensl/rollup-plugin-local-resolve":"^1.1.1"},"peerDependencies":{"react":">=16"},"_npmOperationalInternal":{"tmp":"tmp/react-hooks_1.9.2_1643719403131_0.2690470394871014","host":"s3://npm-registry-packages"}},"1.10.0":{"name":"@haensl/react-hooks","version":"1.10.0","keywords":["react","hooks","useDebounce","debounce","react hooks","useAnimationFrame","requestAnimationFrame","animationFrame","animation"],"author":{"url":"https://hpdietz.com","name":"HP Dietz","email":"h.p.dietz@gmail.com"},"license":"MIT","_id":"@haensl/react-hooks@1.10.0","maintainers":[{"name":"haensl","email":"h.p.dietz@gmail.com"}],"homepage":"https://github.com/haensl/hooks#readme","bugs":{"url":"https://github.com/haensl/hooks/issues"},"dist":{"shasum":"1ca27dc01830de96677999f0c464115d5ee0904d","tarball":"https://registry.npmjs.org/@haensl/react-hooks/-/react-hooks-1.10.0.tgz","fileCount":8,"integrity":"sha512-LvU/6BOlvO5N0rY23BCjXMi69jkvhRIQq4PjRVoJYukeNOgKTqzfuhByKjwB9yLa5fPmXtZq5n28sPdRtFtj1w==","signatures":[{"sig":"MEUCIHPskgfK47GsNhapNN+BfAiy1AJ2XF5mP9IZX+kvDUbiAiEA8Gu+u/bj4rShraC7GY26azL/8h5gUqL1e7Q7YG/DmKg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":74514,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/VLgCRA9TVsSAnZWagAAeKYP/14aL0hjqWKxfHwZlvrT\nTHLM+fdaICaBquqMZqsPo2Vq/7ouwoDhgr0yFbrmm/KgPz7d3drya+w2LMwd\nuYdIxVnrRcat103ad/5ME9P0BEsZR9dQLakA8DGADx/rA/cx1oorvADc7CJo\nJXoXPi/rWsL/TsutP8DWAmOyDPU+QD8XXmXnWuIwlOXRDz2RUqQdv6msbh7k\nJ67vJEuLTfYAbiS16g1PV4VOcYWfvMTgGR0yAPfMQmj94cEKD/Gd0yKcC6Uh\nq/fsVY/N0bZddsCxZ0osIjSw85/eGJqWxM+cuKecppyhLfMhJsEuO8PqrxHJ\n3u2Kv5JGLGqC5rdsvZ2hvIzOiAAzDQjWAfcNiSXJ2eeE/qUOIS6ofLtJOlO1\nbvIxm/pTLlhOTy9oYvXYpPxMBWPKgW92RBlUWVkcyjwW0Zfzy5Efe7QWiMk0\nepqiT7EuvRuFAsxAfN1ftl7MCzgdD6FaRBu1KDbO+9vg/hXi6yFpv9IZnAKH\nwBbM8RdyvtWrSMRFGtXUgOTyryCA1DKfZ7eFfNEQKPSyGRrftDUzqu0/GeXO\nxmz/SRQBh40XZlSCt4DWEM741dpfVOMNzet6bRXixQbt+FPq1zHumwG3stKf\ndP9v1ZMBOUwR1QIlAS0H9QUZHNddY2tUi2uDXJA1U3vxUc4UMu3nD7pZvb6u\nRokv\r\n=WuS2\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"testMatch":["<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}","<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}"],"transform":{"^.+\\.(js|jsx|ts|tsx)$":"<rootDir>/node_modules/babel-jest"},"setupFiles":["react-app-polyfill/jsdom"],"modulePaths":[],"testEnvironment":"jsdom","coverageReporters":["text"],"setupFilesAfterEnv":["<rootDir>/test.setup.js"],"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}","!src/**/*.d.ts","!<rootDir>/node_modules/"],"testPathIgnorePatterns":["/package-tests/"],"transformIgnorePatterns":["[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$"],"coveragePathIgnorePatterns":["/node_modules/","/__snapshots__/","<rootDir>/test.setup.js","<rootDir>/package.json","<rootDir>/package-lock.json"]},"main":"dist/hooks.cjs.js","babel":{"presets":["react-app"]},"unpkg":"dist/hooks.umd.js","module":"dist/hooks.esm.js","scripts":{"tdd":"jest --runInBand --watch","lint":"NODE_ENV=production eslint --ext js,jsx src/","test":"jest --runInBand","build":"npm run clean && NODE_ENV=production rollup -c","clean":"rimraf ./dist","lint:ci":"NODE_ENV=production eslint --format junit -o test-results/eslint/results.xml --ext js,jsx src/","prepare":"if [ ${NODE_ENV} != 'production' ]; then husky install; fi","test:ci":"jest --runInBand --no-cache --ci --reporters='default' --reporters='jest-junit'","coverage:ci":"CI=true npm test -- --ci --coverage"},"_npmUser":{"name":"haensl","email":"h.p.dietz@gmail.com"},"jest-junit":{"suitName":"react hooks unit tests","outputName":"results.xml","outputDirectory":"test-results/jest"},"repository":{"url":"git+https://github.com/haensl/hooks.git","type":"git"},"_npmVersion":"8.4.1","description":"Assorted React hooks.","directories":{},"_nodeVersion":"16.13.1","dependencies":{"@babel/runtime":"^7.12.5","@haensl/services":"^1.3.0"},"eslintConfig":{"extends":["react-app","@haensl"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.1","husky":"^7.0.4","react":"^17.0.2","eslint":"^8.5.0","rimraf":"^3.0.2","rollup":"^2.38.2","react-dom":"^17.0.2","babel-jest":"^27.0.1","jest-junit":"^13.0.0","@babel/core":"^7.12.10","babel-eslint":"^10.1.0","@babel/preset-env":"^7.12.11","react-app-polyfill":"^3.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.22.0","@rollup/plugin-babel":"^5.2.3","eslint-plugin-import":"^2.22.1","rollup-plugin-terser":"^7.0.2","@haensl/eslint-config":"^1.3.0","@testing-library/react":"^12.1.2","babel-preset-react-app":"^10.0.0","eslint-plugin-flowtype":"^8.0.3","eslint-plugin-jsx-a11y":"^6.4.1","@rollup/plugin-commonjs":"^21.0.1","eslint-config-react-app":"^7.0.0","@testing-library/jest-dom":"^5.16.1","eslint-plugin-react-hooks":"^4.2.0","@rollup/plugin-node-resolve":"^13.0.0","@testing-library/react-hooks":"^7.0.2","@babel/plugin-transform-runtime":"^7.12.10","rollup-plugin-peer-deps-external":"^2.2.4","@haensl/rollup-plugin-local-resolve":"^1.1.1"},"peerDependencies":{"react":">=16"},"_npmOperationalInternal":{"tmp":"tmp/react-hooks_1.10.0_1643991776433_0.1786788401894992","host":"s3://npm-registry-packages"}},"1.10.1":{"name":"@haensl/react-hooks","version":"1.10.1","keywords":["react","hooks","useDebounce","debounce","react hooks","useAnimationFrame","requestAnimationFrame","animationFrame","animation"],"author":{"url":"https://hpdietz.com","name":"HP Dietz","email":"h.p.dietz@gmail.com"},"license":"MIT","_id":"@haensl/react-hooks@1.10.1","maintainers":[{"name":"haensl","email":"h.p.dietz@gmail.com"}],"homepage":"https://github.com/haensl/hooks#readme","bugs":{"url":"https://github.com/haensl/hooks/issues"},"dist":{"shasum":"b1aa8715a03fcd5592402aa6b49b9c3d49e8bc9c","tarball":"https://registry.npmjs.org/@haensl/react-hooks/-/react-hooks-1.10.1.tgz","fileCount":8,"integrity":"sha512-51fDjq3+FclCYl8LPUqH7PCzNV5wFB+I4Hr35RAtLbuYCNplNEh73eN03NWyCEbXLOV2EEvOhZiZj/lYpqvYOA==","signatures":[{"sig":"MEQCIDnFGdN5a5Vk1axOKkGCHBZdW+CJfArVV4kEYg4Vhz5+AiBFmg2/bpMu3CPd5azFP6Ixdl3qMnA0EqBs+3PUeJvvzQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":74526,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/VRMCRA9TVsSAnZWagAAxp4QAJ5nDKwdAcL1/FFKg8i2\n2EG3WaOwa+Bw5fng9oJ3qmw5BH2CKH7ydwks3qWqUjeDNaoYMTUrFWt1T0ji\nnOHwkM2U5YDlRWASL3pwr2hM1DtyD0VxSKyinNB/cAJrKsGgF3GXRCfgQl31\n+7lHDyZB0z4KjPMi/xl1b1C1hH3MfbZAzjm1crVgr7UG/YKqtyRa7P8L1TlD\noXzBI7qbomb3Bn+DNYzEvFq63hif17TVAQZIQohi4lmROWGAP5xkPRSKowD+\n7OVsJLiPJn4/jcxlXqnMGSGvCxlAFU2Q2hK55zuOv6CUqWXgcdjJLEi9ruLX\nj5T2d+4fF45UIm6Bq/rpUSj4YHXQovQyd0OwYOuMTJxx+CykH/GgCkfAmpIP\nQMK4iEAM4VuY3+yM4ydRf8hyftEs6RM2RMQTyWmjIEMtQxQeZaPRD8if+NmG\nXItEXDQ+/MMrgIDULTpiYKBQeyFe/Wh0XD+N0UxLCInDZI15XQ1WbPsFcKnH\noFtIOBMWP49Y+5oCHyP/iLbpsmbGLE8RZ9QdZ7fhViSNs8B/fewAEHVHBbSN\nQVB1rcjL050UcldbesBqZqLAO01g+S7dIQ/q5EZFRrz/ND5dddZshxA+LAFr\nmvqmJ/cVlQ62WCxxVpHiN0yDHgtS61tood81BKN4iNBfbtk2a6dIhUXddj2Z\nZc8D\r\n=fmBB\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"testMatch":["<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}","<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}"],"transform":{"^.+\\.(js|jsx|ts|tsx)$":"<rootDir>/node_modules/babel-jest"},"setupFiles":["react-app-polyfill/jsdom"],"modulePaths":[],"testEnvironment":"jsdom","coverageReporters":["text"],"setupFilesAfterEnv":["<rootDir>/test.setup.js"],"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}","!src/**/*.d.ts","!<rootDir>/node_modules/"],"testPathIgnorePatterns":["/package-tests/"],"transformIgnorePatterns":["[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$"],"coveragePathIgnorePatterns":["/node_modules/","/__snapshots__/","<rootDir>/test.setup.js","<rootDir>/package.json","<rootDir>/package-lock.json"]},"main":"dist/hooks.cjs.js","babel":{"presets":["react-app"]},"unpkg":"dist/hooks.umd.js","module":"dist/hooks.esm.js","scripts":{"tdd":"jest --runInBand --watch","lint":"NODE_ENV=production eslint --ext js,jsx src/","test":"jest --runInBand","build":"npm run clean && NODE_ENV=production rollup -c","clean":"rimraf ./dist","lint:ci":"NODE_ENV=production eslint --format junit -o test-results/eslint/results.xml --ext js,jsx src/","prepare":"if [ ${NODE_ENV} != 'production' ]; then husky install; fi","test:ci":"jest --runInBand --no-cache --ci --reporters='default' --reporters='jest-junit'","coverage:ci":"CI=true npm test -- --ci --coverage"},"_npmUser":{"name":"haensl","email":"h.p.dietz@gmail.com"},"jest-junit":{"suitName":"react hooks unit tests","outputName":"results.xml","outputDirectory":"test-results/jest"},"repository":{"url":"git+https://github.com/haensl/hooks.git","type":"git"},"_npmVersion":"8.4.1","description":"Assorted React hooks.","directories":{},"_nodeVersion":"16.13.1","dependencies":{"@babel/runtime":"^7.12.5","@haensl/services":"^1.3.0"},"eslintConfig":{"extends":["react-app","@haensl"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.1","husky":"^7.0.4","react":"^17.0.2","eslint":"^8.5.0","rimraf":"^3.0.2","rollup":"^2.38.2","react-dom":"^17.0.2","babel-jest":"^27.0.1","jest-junit":"^13.0.0","@babel/core":"^7.12.10","babel-eslint":"^10.1.0","@babel/preset-env":"^7.12.11","react-app-polyfill":"^3.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.22.0","@rollup/plugin-babel":"^5.2.3","eslint-plugin-import":"^2.22.1","rollup-plugin-terser":"^7.0.2","@haensl/eslint-config":"^1.3.0","@testing-library/react":"^12.1.2","babel-preset-react-app":"^10.0.0","eslint-plugin-flowtype":"^8.0.3","eslint-plugin-jsx-a11y":"^6.4.1","@rollup/plugin-commonjs":"^21.0.1","eslint-config-react-app":"^7.0.0","@testing-library/jest-dom":"^5.16.1","eslint-plugin-react-hooks":"^4.2.0","@rollup/plugin-node-resolve":"^13.0.0","@testing-library/react-hooks":"^7.0.2","@babel/plugin-transform-runtime":"^7.12.10","rollup-plugin-peer-deps-external":"^2.2.4","@haensl/rollup-plugin-local-resolve":"^1.1.1"},"peerDependencies":{"react":">=16"},"_npmOperationalInternal":{"tmp":"tmp/react-hooks_1.10.1_1643992140453_0.8211291278993791","host":"s3://npm-registry-packages"}},"1.10.2":{"name":"@haensl/react-hooks","version":"1.10.2","keywords":["react","hooks","useDebounce","debounce","react hooks","useAnimationFrame","requestAnimationFrame","animationFrame","animation"],"author":{"url":"https://hpdietz.com","name":"HP Dietz","email":"h.p.dietz@gmail.com"},"license":"MIT","_id":"@haensl/react-hooks@1.10.2","maintainers":[{"name":"haensl","email":"h.p.dietz@gmail.com"}],"homepage":"https://github.com/haensl/hooks#readme","bugs":{"url":"https://github.com/haensl/hooks/issues"},"dist":{"shasum":"ea380241a085d114226e2fefcb43ed18e275fdfb","tarball":"https://registry.npmjs.org/@haensl/react-hooks/-/react-hooks-1.10.2.tgz","fileCount":8,"integrity":"sha512-FGkkqdrvofkrBeikxcYWOszTbn+qfKhDv6qvXmBtFxBlYNeH51pFvafyhii0PLQoOvyTvOVGchYlUqqXqT6vaA==","signatures":[{"sig":"MEUCIE6SkvjyI3zs1MfNHpYC8wGHWf0lZsfBT9xBEuhCkBU/AiEAzxNSmTDcjkXi7Xj/Ja5c7qxfD4WYSo98sbFkPUHfClc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":75354,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiC7snCRA9TVsSAnZWagAAsdcQAIxOtsAeJbWdTg6TzhN1\nXHDjdkOudPZZ13mue8e3jFVR3Mq1EVG5j3X9wyYLE1fK3FSFs/VN4fmu0sWB\n2DuWt/5udEQSphWff7fs/UMy/fw1dCQrzkau58dnNcN+4dHlQzbldU66XYfO\nhRKXdlBGNq85niZ82lCem/w21byG/x5r8f1eHp6xRDg7CU8rsEpzALr3MyGz\n9CBJHyvm/PcHHQvxLoF9p2hJy2UvChCLtF/v5OiEqHNCjBeyrppuYhXhhla7\nFx3XM7c/ZHYp0i2coYBU143cs1JFrT6JWQMVx1FSUTOXfDF9xIEtRN8WnpCV\nrY5Ek+Vup9v2ldAbZEp1b/GwDEofxJ8fJJDxD/8XCFl51XGJxZSEtIlr0w/g\nRUcni2hv3bG4SxU7QUEItuw8QDo+guJ/fDx14wJXfgAtFZyPfgzrVUhqx1A8\nKH+CdzS1cNodpX6EMkxGrIXXSytK8FY6Amqz52FBz8NEC9faPLEo3PHTNQgg\naAHkhvauPq8XWG7yw5kn7Q+Rlgz75BsYwtOInn96bKpBBDIfdaKlXiPOjQla\ncR5ETmF/KvtpuuTak66ElXP9b5WC4K33v68a2xEZgdrY/4HKjlG7KsB2fkvr\nGh9wlhHvSwRPD445bqlXQVOVziY0EJPElD4WRR/sMpvBBx/FL9TCaRRYrrAK\nC3n/\r\n=YaNY\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"testMatch":["<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}","<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}"],"transform":{"^.+\\.(js|jsx|ts|tsx)$":"<rootDir>/node_modules/babel-jest"},"setupFiles":["react-app-polyfill/jsdom"],"modulePaths":[],"testEnvironment":"jsdom","coverageReporters":["text"],"setupFilesAfterEnv":["<rootDir>/test.setup.js"],"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}","!src/**/*.d.ts","!<rootDir>/node_modules/"],"testPathIgnorePatterns":["/package-tests/"],"transformIgnorePatterns":["[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$"],"coveragePathIgnorePatterns":["/node_modules/","/__snapshots__/","<rootDir>/test.setup.js","<rootDir>/package.json","<rootDir>/package-lock.json"]},"main":"dist/hooks.cjs.js","babel":{"presets":["react-app"]},"unpkg":"dist/hooks.umd.js","module":"dist/hooks.esm.js","scripts":{"tdd":"jest --runInBand --watch","lint":"NODE_ENV=production eslint --ext js,jsx src/","test":"jest --runInBand","build":"npm run clean && NODE_ENV=production rollup -c","clean":"rimraf ./dist","lint:ci":"NODE_ENV=production eslint --format junit -o test-results/eslint/results.xml --ext js,jsx src/","prepare":"if [ ${NODE_ENV} != 'production' ]; then husky install; fi","test:ci":"jest --runInBand --no-cache --ci --reporters='default' --reporters='jest-junit'","coverage:ci":"CI=true npm test -- --ci --coverage"},"_npmUser":{"name":"haensl","email":"h.p.dietz@gmail.com"},"jest-junit":{"suitName":"react hooks unit tests","outputName":"results.xml","outputDirectory":"test-results/jest"},"repository":{"url":"git+https://github.com/haensl/hooks.git","type":"git"},"_npmVersion":"8.5.0","description":"Assorted React hooks.","directories":{},"_nodeVersion":"16.13.1","dependencies":{"@babel/runtime":"^7.12.5","@haensl/services":"^1.3.0"},"eslintConfig":{"extends":["react-app","@haensl"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.1","husky":"^7.0.4","react":"^17.0.2","eslint":"^8.5.0","rimraf":"^3.0.2","rollup":"^2.38.2","react-dom":"^17.0.2","babel-jest":"^27.0.1","jest-junit":"^13.0.0","@babel/core":"^7.12.10","babel-eslint":"^10.1.0","@babel/preset-env":"^7.12.11","react-app-polyfill":"^3.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.22.0","@rollup/plugin-babel":"^5.2.3","eslint-plugin-import":"^2.22.1","rollup-plugin-terser":"^7.0.2","@haensl/eslint-config":"^1.3.0","@testing-library/react":"^12.1.2","babel-preset-react-app":"^10.0.0","eslint-plugin-flowtype":"^8.0.3","eslint-plugin-jsx-a11y":"^6.4.1","@rollup/plugin-commonjs":"^21.0.1","eslint-config-react-app":"^7.0.0","@testing-library/jest-dom":"^5.16.1","eslint-plugin-react-hooks":"^4.2.0","@rollup/plugin-node-resolve":"^13.0.0","@testing-library/react-hooks":"^7.0.2","@babel/plugin-transform-runtime":"^7.12.10","rollup-plugin-peer-deps-external":"^2.2.4","@haensl/rollup-plugin-local-resolve":"^1.1.1"},"peerDependencies":{"react":">=16"},"_npmOperationalInternal":{"tmp":"tmp/react-hooks_1.10.2_1644935975602_0.8775290326468466","host":"s3://npm-registry-packages"}},"1.10.3":{"name":"@haensl/react-hooks","version":"1.10.3","keywords":["react","hooks","react hooks","useBoundingClientRect","boundingClientRect","useDebounce","debounce","useAnimationFrame","requestAnimationFrame","animationFrame","animation","useIsMounted","isMounted","useIsomorphicLayoutEffect","isomorphicLayoutEffect","isomorphic","layoutEffect","useIsScrolling","isScrolling","useOnScroll","onScroll","window","scroll","usePrevious","previous","value","useWindowSize","windowSize","size"],"author":{"url":"https://hpdietz.com","name":"HP Dietz","email":"h.p.dietz@gmail.com"},"license":"MIT","_id":"@haensl/react-hooks@1.10.3","maintainers":[{"name":"haensl","email":"h.p.dietz@gmail.com"}],"homepage":"https://github.com/haensl/hooks#readme","bugs":{"url":"https://github.com/haensl/hooks/issues"},"dist":{"shasum":"9adaa3af64bfba1159ba1e691b87c21d35817ab5","tarball":"https://registry.npmjs.org/@haensl/react-hooks/-/react-hooks-1.10.3.tgz","fileCount":8,"integrity":"sha512-ar+oBeWfZ2pKQoxEQadgeNx+eBB9RT/K2cdRbtkLD0GdHvTVp6LHuFYjX3Stvda+fpiCALCeEDBqH1K1KaRD/Q==","signatures":[{"sig":"MEUCIQCrhBS4OjHvLpfx/mKcHbJElSVEP1wBf6LVgpTFrhy6PgIgbZXMa2JqOTZGaBeaiig1s4C5n/RGPCt1XR2upa7og7c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":75801,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiDoN/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpDkQ/9E/buetDdc9F2LYHjflYYk2Wkd9Wtnt1s247DP3vJAlGGBSNM\r\nL8EDlHumy2ntBWIWEWZjVnNaQtqDbY4un8YvYqxOssIij2sJ8RDfZGsO9GKW\r\noNu58v06v/PRslSaI4aPHHmnBR+J6Kkm/5A5M4w4Dh9OxLEI1D2UkuIviGqD\r\nluxKizi6Zz02x2dNq3Nww9Z80tpIoA5mE0YxovHds/OcgOvW9zgr9xe2drHr\r\nQiBG8FGeyG5PlaAweIhPqls7ydcKObSFrmsAzA60JWy3t67J1Hrb74MXCb9Y\r\nK1tZvRW9BME4NUVuweMaz5hqZGdBEtQnkJ283PF0a0Ngc8XoqvMDOxWYYWm5\r\nCv1SR4pKc8VhxyPNhmYrKSPLgEqYOeZJIhexPt7YzfDYYWAhI9pyUkMajCNB\r\nVwCjIT75Z1zY2y1ICll7iV1yFfsxdnEXy5iXAyzUZDbUNjp9Cgpw1T93CO+A\r\njW3V4+qfnZtg0KpUPpixzB5FpqsI17dgeVHD8WYLiabTRJwsas6sg4KP5K1c\r\nKv0L2pNWBh2GUeN9Vf1NFifSyDPA4RxVqIiDKPfCgrqEgO1Dr/FzRh6JpVGY\r\nnjft33FAxo4ZCDxHLVrIk/vXAijTLqdQxJCzCc004OUpEI2rkxhe+DlNCJd2\r\nnlD0hXNGPppu4FmkDojXTtK6niU9v6AEMr4=\r\n=vg8J\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"testMatch":["<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}","<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}"],"transform":{"^.+\\.(js|jsx|ts|tsx)$":"<rootDir>/node_modules/babel-jest"},"setupFiles":["react-app-polyfill/jsdom"],"modulePaths":[],"testEnvironment":"jsdom","coverageReporters":["text"],"setupFilesAfterEnv":["<rootDir>/test.setup.js"],"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}","!src/**/*.d.ts","!<rootDir>/node_modules/"],"testPathIgnorePatterns":["/package-tests/"],"transformIgnorePatterns":["[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$"],"coveragePathIgnorePatterns":["/node_modules/","/__snapshots__/","<rootDir>/test.setup.js","<rootDir>/package.json","<rootDir>/package-lock.json"]},"main":"dist/hooks.cjs.js","babel":{"presets":["react-app"]},"unpkg":"dist/hooks.umd.js","module":"dist/hooks.esm.js","funding":"https://github.com/sponsors/haensl","scripts":{"tdd":"jest --runInBand --watch","lint":"NODE_ENV=production eslint --ext js,jsx src/","test":"jest --runInBand","build":"npm run clean && NODE_ENV=production rollup -c","clean":"rimraf ./dist","lint:ci":"NODE_ENV=production eslint --format junit -o test-results/eslint/results.xml --ext js,jsx src/","prepare":"if [ ${NODE_ENV} != 'production' ]; then husky install; fi","test:ci":"jest --runInBand --no-cache --ci --reporters='default' --reporters='jest-junit'","coverage:ci":"CI=true npm test -- --ci --coverage"},"_npmUser":{"name":"haensl","email":"h.p.dietz@gmail.com"},"jest-junit":{"suitName":"react hooks unit tests","outputName":"results.xml","outputDirectory":"test-results/jest"},"repository":{"url":"git+https://github.com/haensl/hooks.git","type":"git"},"_npmVersion":"8.5.0","description":"Assorted React hooks.","directories":{},"_nodeVersion":"16.13.1","dependencies":{"@babel/runtime":"^7.12.5","@haensl/services":"^1.3.0"},"eslintConfig":{"extends":["react-app","@haensl"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.1","husky":"^7.0.4","react":"^17.0.2","eslint":"^8.5.0","rimraf":"^3.0.2","rollup":"^2.38.2","react-dom":"^17.0.2","babel-jest":"^27.0.1","jest-junit":"^13.0.0","@babel/core":"^7.12.10","babel-eslint":"^10.1.0","@babel/preset-env":"^7.12.11","react-app-polyfill":"^3.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.22.0","@rollup/plugin-babel":"^5.2.3","eslint-plugin-import":"^2.22.1","rollup-plugin-terser":"^7.0.2","@haensl/eslint-config":"^1.3.0","@testing-library/react":"^12.1.2","babel-preset-react-app":"^10.0.0","eslint-plugin-flowtype":"^8.0.3","eslint-plugin-jsx-a11y":"^6.4.1","@rollup/plugin-commonjs":"^21.0.1","eslint-config-react-app":"^7.0.0","@testing-library/jest-dom":"^5.16.1","eslint-plugin-react-hooks":"^4.2.0","@rollup/plugin-node-resolve":"^13.0.0","@testing-library/react-hooks":"^7.0.2","@babel/plugin-transform-runtime":"^7.12.10","rollup-plugin-peer-deps-external":"^2.2.4","@haensl/rollup-plugin-local-resolve":"^1.1.1"},"peerDependencies":{"react":">=16"},"_npmOperationalInternal":{"tmp":"tmp/react-hooks_1.10.3_1645118334798_0.7629034910170871","host":"s3://npm-registry-packages"}},"1.11.0":{"name":"@haensl/react-hooks","version":"1.11.0","keywords":["react","hooks","react hooks","useBoundingClientRect","boundingClientRect","useClassNames","class","className","classNames","css","useDebounce","debounce","useAnimationFrame","requestAnimationFrame","animationFrame","animation","useIsMounted","isMounted","useIsomorphicLayoutEffect","isomorphicLayoutEffect","isomorphic","layoutEffect","useIsScrolling","isScrolling","useOnScroll","onScroll","window","scroll","usePrevious","previous","value","useWindowSize","windowSize","size"],"author":{"url":"https://hpdietz.com","name":"HP Dietz","email":"h.p.dietz@gmail.com"},"license":"MIT","_id":"@haensl/react-hooks@1.11.0","maintainers":[{"name":"haensl","email":"h.p.dietz@gmail.com"}],"homepage":"https://github.com/haensl/hooks#readme","bugs":{"url":"https://github.com/haensl/hooks/issues"},"dist":{"shasum":"5f2ed30b794aeb888d7c866ee1eb9f92017966db","tarball":"https://registry.npmjs.org/@haensl/react-hooks/-/react-hooks-1.11.0.tgz","fileCount":8,"integrity":"sha512-gTfOigiM+2217OGW/s9VylnGl+Bj80U90nULyHHvNKzS4QU0FSyBbiJh6/xzhlvkprtJN6AU61TWIpNWXt2tmw==","signatures":[{"sig":"MEYCIQCVPgOkQytx9qAAoNgNd+viaZ97Os4jBOX76H0i87y5wAIhAKBvBcEn6FWWBJQ6YH4btCC1vA2k5+0DH/QwnPk3XQhW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":80187,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiDtUwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoeWRAAl1R+9NFHz3MiSP+GMSN19oOA1sGEaDNv59HQeUOqDVbW0Lo3\r\nUPDvBgAyzYropn1Th89rHRPD/v1xbITVdIA8uhck9tIrShewsAl2Wk21r7yY\r\nhEVM6DVFvInD2uw994O4tlhj1LxmQLogy1e14OrPMsnI8F0zbKvmzt7pF5u8\r\nr8QjuqubxLcdXyjB0s8zWutzyAwb5G/N8WdQ4p0xbjd2QY5e3yWea96w9+0p\r\nQERb8PesLxipbVLq68VuTBhrSn7SFDhqvl1v+LMEiQ8caL+oPRAKoCl5E6Nw\r\npw5HDecZXkpKThKMBYU+KjXTcr12ktuyccPvTcMr6g2kHuwzLZh2cVpsxBv0\r\ncsINLjM2ztbQ2w3Vs7Xm6WoOqDlPTHtPDjr3fAsBQmrw1qZANbjb2t2WP1LF\r\nNv4rlOIYKqoFagIXKlBJ3T92X7ly1L29nI0hE4lxWBoZNby+WhiYz7WkaDT0\r\nTgkvwr5Wa2Wea0YZIgdGXhtvspsW2+MsWn6hPGGPpZvoVYMmYFZer8PgqTKY\r\ntq3iNNUTgRU7C/EfgzKftS8kZpEl1utDlyoOBHdbG63AqcIXHNRNGhDIGaTk\r\nozquJrzbFGZl5tBhL+FSK8YmUhEtfghCihhEliUBNyfz+WXMaQmYc5kwGBMm\r\nIW2sAx8yR4gcBe7O6Y3ayqfVYjDuO4preHo=\r\n=FTsS\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"testMatch":["<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}","<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}"],"transform":{"^.+\\.(js|jsx|ts|tsx)$":"<rootDir>/node_modules/babel-jest"},"setupFiles":["react-app-polyfill/jsdom"],"modulePaths":[],"testEnvironment":"jsdom","coverageReporters":["text"],"setupFilesAfterEnv":["<rootDir>/test.setup.js"],"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}","!src/**/*.d.ts","!<rootDir>/node_modules/"],"testPathIgnorePatterns":["/package-tests/"],"transformIgnorePatterns":["[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$"],"coveragePathIgnorePatterns":["/node_modules/","/__snapshots__/","<rootDir>/test.setup.js","<rootDir>/package.json","<rootDir>/package-lock.json"]},"main":"dist/hooks.cjs.js","babel":{"presets":["react-app"]},"unpkg":"dist/hooks.umd.js","module":"dist/hooks.esm.js","funding":"https://github.com/sponsors/haensl","scripts":{"tdd":"jest --runInBand --watch","lint":"NODE_ENV=production eslint --ext js,jsx src/","test":"jest --runInBand","build":"npm run clean && NODE_ENV=production rollup -c","clean":"rimraf ./dist","lint:ci":"NODE_ENV=production eslint --format junit -o test-results/eslint/results.xml --ext js,jsx src/","prepare":"if [ ${NODE_ENV} != 'production' ]; then husky install; fi","test:ci":"jest --runInBand --no-cache --ci --reporters='default' --reporters='jest-junit'","coverage:ci":"CI=true npm test -- --ci --coverage"},"_npmUser":{"name":"haensl","email":"h.p.dietz@gmail.com"},"jest-junit":{"suitName":"react hooks unit tests","outputName":"results.xml","outputDirectory":"test-results/jest"},"repository":{"url":"git+https://github.com/haensl/hooks.git","type":"git"},"_npmVersion":"8.5.1","description":"Assorted React hooks.","directories":{},"_nodeVersion":"16.13.1","dependencies":{"@babel/runtime":"^7.12.5","@haensl/services":"^1.3.0"},"eslintConfig":{"extends":["react-app","@haensl"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.1","husky":"^7.0.4","react":"^17.0.2","eslint":"^8.5.0","rimraf":"^3.0.2","rollup":"^2.38.2","react-dom":"^17.0.2","babel-jest":"^27.0.1","jest-junit":"^13.0.0","@babel/core":"^7.12.10","babel-eslint":"^10.1.0","@babel/preset-env":"^7.12.11","react-app-polyfill":"^3.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.22.0","@rollup/plugin-babel":"^5.2.3","eslint-plugin-import":"^2.22.1","rollup-plugin-terser":"^7.0.2","@haensl/eslint-config":"^1.3.0","@testing-library/react":"^12.1.2","babel-preset-react-app":"^10.0.0","eslint-plugin-flowtype":"^8.0.3","eslint-plugin-jsx-a11y":"^6.4.1","@rollup/plugin-commonjs":"^21.0.1","eslint-config-react-app":"^7.0.0","@testing-library/jest-dom":"^5.16.1","eslint-plugin-react-hooks":"^4.2.0","@rollup/plugin-node-resolve":"^13.0.0","@testing-library/react-hooks":"^7.0.2","@babel/plugin-transform-runtime":"^7.12.10","rollup-plugin-peer-deps-external":"^2.2.4","@haensl/rollup-plugin-local-resolve":"^1.1.1"},"peerDependencies":{"react":">=16"},"_npmOperationalInternal":{"tmp":"tmp/react-hooks_1.11.0_1645139248100_0.455927401500106","host":"s3://npm-registry-packages"}},"1.11.1":{"name":"@haensl/react-hooks","version":"1.11.1","keywords":["react","hooks","react hooks","useBoundingClientRect","boundingClientRect","useClassNames","class","className","classNames","css","useDebounce","debounce","useAnimationFrame","requestAnimationFrame","animationFrame","animation","useIsMounted","isMounted","useIsomorphicLayoutEffect","isomorphicLayoutEffect","isomorphic","layoutEffect","useIsScrolling","isScrolling","useOnScroll","onScroll","window","scroll","usePrevious","previous","value","useWindowSize","windowSize","size"],"author":{"url":"https://hpdietz.com","name":"HP Dietz","email":"h.p.dietz@gmail.com"},"license":"MIT","_id":"@haensl/react-hooks@1.11.1","maintainers":[{"name":"haensl","email":"h.p.dietz@gmail.com"}],"homepage":"https://github.com/haensl/hooks#readme","bugs":{"url":"https://github.com/haensl/hooks/issues"},"dist":{"shasum":"d1900a284d4ebbf1b06c95ca2b68405a145f9c68","tarball":"https://registry.npmjs.org/@haensl/react-hooks/-/react-hooks-1.11.1.tgz","fileCount":8,"integrity":"sha512-TgY1ISozFepYI8vEP2RAGRybx4Ex+VBZsIh805AfatkJ/qwfKuHdfzpvPNdUbpLFc1dOq3l8XRvCmHe3rE3fvQ==","signatures":[{"sig":"MEYCIQC0qkVKL38s6qBKEh4f2ejbMK+ZZXktEwn/qgNrvHBEJwIhALq45BZGk1uHtvfvImkS9m+Ivgerb9IrZvM9oZrzR3U9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":82236,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiTCT/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpkCQ/+ImbHerx5ssX6CTKakNu9k7YJdSIBPfH/BI83D96yk5Il/jIN\r\nCHKrzga8j3rZeGy68Y10kl15yvpUGxZlTflPVII7D8LVAiKfPGIorQssEpSd\r\nUS0jwtOjmie9Vta+4ZD8jy7gVDbwDa7D/AWi9eHIThQuJLQby/ynLLMF00de\r\nSIib+y3IlCy1/KuMFqiVNtP2Oqwj1zThDyCW7OLmUHDMAftH4uHbPO5DQr9Y\r\nVBwXiGYhG5tv2VJiQaM9qZTixcWiDpbn4Mt0j7SfZvK+wpYwo5iDzoKA0hYy\r\nQAVY0px+g8zyR1r9CkQlZPqK2VjteCJ/VodCUND6XjrEMFxvbRi2VVQ/+NRG\r\nEWhgD6r9rTGulHmShgUwmTeMchErqSNDFyqFYmVJF0It9OSOSY1xEmt4/dhk\r\nULSLYhTW9rS35BLQEQhWO0oNcoamatslGB5W3rxVXFhlGlj7cUhApzJi6Tlt\r\nLcgMob3XeuK/6uC8z96zJk6Yd6xAXyfgIBRxI0dQyRWHC66rJ+ElDX5TnlJ5\r\n7z9qhgmRrnNh4BlUzStNdAn8sz0ASnu6JYwj/DiuH6tSdD6h5C6k11CUnSS8\r\n6eQdVLaLBzv/MKC/9CSXUDsc29xmMNbTXrt2K7C+uNYmK5DpcUbKCtybVEUe\r\nvLLCdzmCvkORFwLV4u2h3g4YvrV42Mm21IQ=\r\n=CikQ\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"testMatch":["<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}","<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}"],"transform":{"^.+\\.(js|jsx|ts|tsx)$":"<rootDir>/node_modules/babel-jest"},"setupFiles":["react-app-polyfill/jsdom"],"modulePaths":[],"testEnvironment":"jsdom","coverageReporters":["text"],"setupFilesAfterEnv":["<rootDir>/test.setup.js"],"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}","!src/**/*.d.ts","!<rootDir>/node_modules/"],"testPathIgnorePatterns":["/package-tests/"],"transformIgnorePatterns":["[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$"],"coveragePathIgnorePatterns":["/node_modules/","/__snapshots__/","<rootDir>/test.setup.js","<rootDir>/package.json","<rootDir>/package-lock.json"]},"main":"dist/hooks.cjs.js","babel":{"presets":["react-app"]},"unpkg":"dist/hooks.umd.js","module":"dist/hooks.esm.js","funding":"https://github.com/sponsors/haensl","scripts":{"tdd":"jest --runInBand --watch","lint":"NODE_ENV=production eslint --ext js,jsx src/","test":"jest --runInBand","build":"npm run clean && NODE_ENV=production rollup -c","clean":"rimraf ./dist","lint:ci":"NODE_ENV=production eslint --format junit -o test-results/eslint/results.xml --ext js,jsx src/","prepare":"if [ ${NODE_ENV} != 'production' ]; then husky install; fi","test:ci":"jest --runInBand --no-cache --ci --reporters='default' --reporters='jest-junit'","coverage:ci":"CI=true npm test -- --ci --coverage"},"_npmUser":{"name":"haensl","email":"h.p.dietz@gmail.com"},"jest-junit":{"suitName":"react hooks unit tests","outputName":"results.xml","outputDirectory":"test-results/jest"},"repository":{"url":"git+https://github.com/haensl/hooks.git","type":"git"},"_npmVersion":"8.6.0","description":"Assorted React hooks.","directories":{},"_nodeVersion":"16.13.1","dependencies":{"@babel/runtime":"^7.12.5","@haensl/services":"^1.3.0"},"eslintConfig":{"extends":["react-app","@haensl"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.1","husky":"^7.0.4","react":"^17.0.2","eslint":"^8.5.0","rimraf":"^3.0.2","rollup":"^2.38.2","react-dom":"^17.0.2","babel-jest":"^27.0.1","jest-junit":"^13.0.0","@babel/core":"^7.12.10","babel-eslint":"^10.1.0","@babel/preset-env":"^7.12.11","react-app-polyfill":"^3.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.22.0","@rollup/plugin-babel":"^5.2.3","eslint-plugin-import":"^2.22.1","rollup-plugin-terser":"^7.0.2","@haensl/eslint-config":"^1.3.0","@testing-library/react":"^12.1.2","babel-preset-react-app":"^10.0.0","eslint-plugin-flowtype":"^8.0.3","eslint-plugin-jsx-a11y":"^6.4.1","@rollup/plugin-commonjs":"^21.0.1","eslint-config-react-app":"^7.0.0","@testing-library/jest-dom":"^5.16.1","eslint-plugin-react-hooks":"^4.2.0","@rollup/plugin-node-resolve":"^13.0.0","@testing-library/react-hooks":"^7.0.2","@babel/plugin-transform-runtime":"^7.12.10","rollup-plugin-peer-deps-external":"^2.2.4","@haensl/rollup-plugin-local-resolve":"^1.1.1"},"peerDependencies":{"react":">=16"},"_npmOperationalInternal":{"tmp":"tmp/react-hooks_1.11.1_1649157375331_0.30795909570005686","host":"s3://npm-registry-packages"}},"1.11.2":{"name":"@haensl/react-hooks","version":"1.11.2","keywords":["react","hooks","react hooks","useBoundingClientRect","boundingClientRect","useClassNames","class","className","classNames","css","useDebounce","debounce","useAnimationFrame","requestAnimationFrame","animationFrame","animation","useIsMounted","isMounted","useIsomorphicLayoutEffect","isomorphicLayoutEffect","isomorphic","layoutEffect","useIsScrolling","isScrolling","useOnScroll","onScroll","window","scroll","usePrevious","previous","value","useWindowSize","windowSize","size"],"author":{"url":"https://hpdietz.com","name":"HP Dietz","email":"h.p.dietz@gmail.com"},"license":"MIT","_id":"@haensl/react-hooks@1.11.2","maintainers":[{"name":"haensl","email":"h.p.dietz@gmail.com"}],"homepage":"https://github.com/haensl/hooks#readme","bugs":{"url":"https://github.com/haensl/hooks/issues"},"dist":{"shasum":"b510f163d5d1f14e68dac2a80223551e0c73510a","tarball":"https://registry.npmjs.org/@haensl/react-hooks/-/react-hooks-1.11.2.tgz","fileCount":8,"integrity":"sha512-XYXt3bOI9AXElTSqHSPyDQ8T4SmyDo2Uu7EQX8EABl5EANJTJKceyOmioPY42vMFtDoFRu7ThjChc5pXevT7xg==","signatures":[{"sig":"MEQCIEdfzEnvHiv/wjHTap47byf6rjqm8zqGIy2vuK/QuhhSAiAWNIH78P2cwPTJCJkzdzd6qpI+ddOe6ggnGKkB/J1UWQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":81617,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi8CBKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrEGA//a2zEt4IlzGgw3GW12P2RBsipiz9IB51scu/1gD/0r8Ib06gh\r\nd5H8qBtVGWphK5Ej+OEqyH3yg2j+3Kw+JGiDjzSa6/LCKgvzM0W0U93J7YXO\r\nUKKZ9nLaFfXRdQbYxOXbQ+njFdvUtse4eeD1jWd3q6x2QVbmvyd6mpTEIROA\r\nfpMGUDAs0I6KPugt4TZnb5oQqWSZ8GqIvdikLQj4wqYthIan/uHRmHw6sWTL\r\n/g3AxA0M721SjQDaDI1b73esDknpiBaJh2lP6S01i4uGbl/mGFfXJDaNh18Z\r\nJWoT31MjeKoNUr8ttQAZIEYQU5M4N3ZvyBnb0Cnf0sR5nQMq9HUYyu9BHMPI\r\nO62lPSUug7ZX7WWx0FZ2YMDzJoZ8tQSS70gWItWKTFlfkAo2AbF/y6vJNwfG\r\njPafpG1/mE1/DC2VUWw22KraD1UD368dXw1iQqPn/5GejzMTBneBhB4jPiKo\r\nUi+xcCpTXFfhGRKG45+zgKq5xaZa0kpKkel8dH5paoZvMfwYshGeUZl8suAS\r\nFZZXCu6ERuMlRgz/CxTlcM0g4g9t+KsZ5B3GbMPEKEeT/y8racXdfXkAhhEA\r\ng+/eB/LB3qpI6jXJNn9BzUPlfW6XUBSx1DUSbfvxuxoG+s8ozfoLuCnJE9LN\r\nAaZh0UwVz5xnfIyIbgc3nVfGP5Y270tU7MA=\r\n=H/rV\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"testMatch":["<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}","<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}"],"transform":{"^.+\\.(js|jsx|ts|tsx)$":"<rootDir>/node_modules/babel-jest"},"setupFiles":["react-app-polyfill/jsdom"],"modulePaths":[],"testEnvironment":"jsdom","coverageReporters":["text"],"setupFilesAfterEnv":["<rootDir>/test.setup.js"],"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}","!src/**/*.d.ts","!<rootDir>/node_modules/"],"testPathIgnorePatterns":["/package-tests/"],"transformIgnorePatterns":["[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$"],"coveragePathIgnorePatterns":["/node_modules/","/__snapshots__/","<rootDir>/test.setup.js","<rootDir>/package.json","<rootDir>/package-lock.json"]},"main":"dist/hooks.cjs.js","babel":{"presets":["react-app"]},"unpkg":"dist/hooks.umd.js","module":"dist/hooks.esm.js","funding":"https://github.com/sponsors/haensl","scripts":{"tdd":"jest --runInBand --watch","lint":"NODE_ENV=production eslint --ext js,jsx src/","test":"jest --runInBand","build":"npm run clean && NODE_ENV=production rollup -c","clean":"rimraf ./dist","lint:ci":"NODE_ENV=production eslint --format junit -o test-results/eslint/results.xml --ext js,jsx src/","prepare":"if [ ${NODE_ENV} != 'production' ]; then husky install; fi","test:ci":"jest --runInBand --no-cache --ci --reporters='default' --reporters='jest-junit'","coverage:ci":"CI=true npm test -- --ci --coverage"},"_npmUser":{"name":"haensl","email":"h.p.dietz@gmail.com"},"jest-junit":{"suitName":"react hooks unit tests","outputName":"results.xml","outputDirectory":"test-results/jest"},"repository":{"url":"git+https://github.com/haensl/hooks.git","type":"git"},"_npmVersion":"8.16.0","description":"Assorted React hooks.","directories":{},"_nodeVersion":"16.13.1","dependencies":{"@babel/runtime":"^7.12.5","@haensl/services":"^1.3.0"},"eslintConfig":{"extends":["react-app","@haensl"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.3","husky":"^8.0.1","react":"^18.2.0","eslint":"^8.5.0","rimraf":"^3.0.2","rollup":"^2.38.2","react-dom":"^18.2.0","babel-jest":"^28.1.3","jest-junit":"^14.0.0","@babel/core":"^7.12.10","babel-eslint":"^10.1.0","@babel/preset-env":"^7.12.11","react-app-polyfill":"^3.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.22.0","@rollup/plugin-babel":"^5.2.3","eslint-plugin-import":"^2.22.1","rollup-plugin-terser":"^7.0.2","@haensl/eslint-config":"^1.3.0","@testing-library/react":"^13.3.0","babel-preset-react-app":"^10.0.0","eslint-plugin-flowtype":"^8.0.3","eslint-plugin-jsx-a11y":"^6.4.1","jest-environment-jsdom":"^28.1.3","@rollup/plugin-commonjs":"^22.0.2","eslint-config-react-app":"^7.0.0","@testing-library/jest-dom":"^5.16.1","eslint-plugin-react-hooks":"^4.2.0","@rollup/plugin-node-resolve":"^13.0.0","@babel/plugin-transform-runtime":"^7.12.10","rollup-plugin-peer-deps-external":"^2.2.4","@haensl/rollup-plugin-local-resolve":"^1.1.1"},"peerDependencies":{"react":">=16"},"_npmOperationalInternal":{"tmp":"tmp/react-hooks_1.11.2_1659904073846_0.4233466016863838","host":"s3://npm-registry-packages"}},"1.12.0":{"name":"@haensl/react-hooks","version":"1.12.0","keywords":["react","hooks","react hooks","useBoundingClientRect","boundingClientRect","useClassNames","class","className","classNames","css","useDebounce","debounce","useAnimationFrame","requestAnimationFrame","animationFrame","animation","useIsMounted","isMounted","useIsomorphicLayoutEffect","isomorphicLayoutEffect","isomorphic","layoutEffect","useIsScrolling","isScrolling","useOnScroll","onScroll","window","scroll","usePrevious","previous","value","useWindowSize","windowSize","size"],"author":{"url":"https://hpdietz.com","name":"HP Dietz","email":"h.p.dietz@gmail.com"},"license":"MIT","_id":"@haensl/react-hooks@1.12.0","maintainers":[{"name":"haensl","email":"h.p.dietz@gmail.com"}],"homepage":"https://github.com/haensl/hooks#readme","bugs":{"url":"https://github.com/haensl/hooks/issues"},"dist":{"shasum":"929bdd37aa20f3cc9e0a9c16fb2474871d78300d","tarball":"https://registry.npmjs.org/@haensl/react-hooks/-/react-hooks-1.12.0.tgz","fileCount":8,"integrity":"sha512-Q1oRf7+N1bYjXoixdc5MshJZ6riixyDz86XvdajHTWsOXn2q4msVQD5MdyYRfn6+L2VFqXzrzPXl3TZkG50T6w==","signatures":[{"sig":"MEUCIHuCalj37Sb9BRfAKkA3F0svR3kX1MUAdJoHlSaMGDiCAiEAgJfIqkngcOQLUpq69I+2S1sf6q0IOVncD5s85kY4kW8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":85461,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi8CX/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqRkRAAn6d2MT4lhnd/35nC0+FXtT+fVxJ9tP8GXUDRZTSNF4mpasKL\r\n3u53gFGP4zLQFJgLW+ZB3VBZ0EodAUFFNK7MP8ockpZgGYPVANke0bukTCFp\r\nnHIS6FPJZWUTXNbJ8C5CxYcxCeTsaIji3fp8CX3IjpsDMoNPGM/+i6upV1oN\r\nErwkaaDcwiV1KbQ5dYwbtgvZw64ct+fNNgD9IcadBYNuWN/VLqUDIoIT82ei\r\n8tU4X2r7NYGVtvQw71wb+TDBtvK+V4qCNgQ1LuYE7MnrgXrOwf7wG+V/f5wc\r\nOibbn4CO5NQAu0XVCALvjh/xTzNEvt/RM7AZatJWcH3s6uLsKnzzIweeqD1B\r\n+/10Wip+FjqLehDaLpReFpqT6KWxd7Kn8cQxYKwqIw3w1eWPYYThneR9S8AW\r\nzqMKBOB1bc9euOUbGbkEoSaCJ/OF4hT8AUxb5gB68CP8WDQJrndyH4jd3o7q\r\nH47McRK2mlVBUkj2+m7Z7w7rbWFaSsqSTNDf5i/r/Cv2aOq8PpK5yZIby5RB\r\nggLdZ5TF8ICW6/QCuon+1nCXpVdFDkTOtNNTeRRHFIfcUbmC0wIPZkRJGnH6\r\n5p81WcNHWh4IZkyU0PwE58EN+0xxiLJV8gdQYHG0l4NZN/1DDM9wdTw8Ay/m\r\n+Zsl4JTSSFDfvxlvcB2+a3swP9vTluRK/W8=\r\n=wZpg\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"testMatch":["<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}","<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}"],"transform":{"^.+\\.(js|jsx|ts|tsx)$":"<rootDir>/node_modules/babel-jest"},"setupFiles":["react-app-polyfill/jsdom"],"modulePaths":[],"testEnvironment":"jsdom","coverageReporters":["text"],"setupFilesAfterEnv":["<rootDir>/test.setup.js"],"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}","!src/**/*.d.ts","!<rootDir>/node_modules/"],"testPathIgnorePatterns":["/package-tests/"],"transformIgnorePatterns":["[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$"],"coveragePathIgnorePatterns":["/node_modules/","/__snapshots__/","<rootDir>/test.setup.js","<rootDir>/package.json","<rootDir>/package-lock.json"]},"main":"dist/hooks.cjs.js","babel":{"presets":["react-app"]},"unpkg":"dist/hooks.umd.js","module":"dist/hooks.esm.js","funding":"https://github.com/sponsors/haensl","scripts":{"tdd":"jest --runInBand --watch","lint":"NODE_ENV=production eslint --ext js,jsx src/","test":"jest --runInBand","build":"npm run clean && NODE_ENV=production rollup -c","clean":"rimraf ./dist","lint:ci":"NODE_ENV=production eslint --format junit -o test-results/eslint/results.xml --ext js,jsx src/","prepare":"if [ ${NODE_ENV} != 'production' ]; then husky install; fi","test:ci":"jest --runInBand --no-cache --ci --reporters='default' --reporters='jest-junit'","coverage:ci":"CI=true npm test -- --ci --coverage"},"_npmUser":{"name":"haensl","email":"h.p.dietz@gmail.com"},"jest-junit":{"suitName":"react hooks unit tests","outputName":"results.xml","outputDirectory":"test-results/jest"},"repository":{"url":"git+https://github.com/haensl/hooks.git","type":"git"},"_npmVersion":"8.16.0","description":"Assorted React hooks.","directories":{},"_nodeVersion":"16.13.1","dependencies":{"@babel/runtime":"^7.12.5","@haensl/services":"^1.3.0"},"eslintConfig":{"extends":["react-app","@haensl"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.3","husky":"^8.0.1","react":"^18.2.0","eslint":"^8.5.0","rimraf":"^3.0.2","rollup":"^2.38.2","react-dom":"^18.2.0","babel-jest":"^28.1.3","jest-junit":"^14.0.0","@babel/core":"^7.12.10","babel-eslint":"^10.1.0","@babel/preset-env":"^7.12.11","react-app-polyfill":"^3.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.22.0","@rollup/plugin-babel":"^5.2.3","eslint-plugin-import":"^2.22.1","rollup-plugin-terser":"^7.0.2","@haensl/eslint-config":"^1.3.0","@testing-library/react":"^13.3.0","babel-preset-react-app":"^10.0.0","eslint-plugin-flowtype":"^8.0.3","eslint-plugin-jsx-a11y":"^6.4.1","jest-environment-jsdom":"^28.1.3","@rollup/plugin-commonjs":"^22.0.2","eslint-config-react-app":"^7.0.0","@testing-library/jest-dom":"^5.16.1","eslint-plugin-react-hooks":"^4.2.0","@rollup/plugin-node-resolve":"^13.0.0","@babel/plugin-transform-runtime":"^7.12.10","rollup-plugin-peer-deps-external":"^2.2.4","@haensl/rollup-plugin-local-resolve":"^1.1.1"},"peerDependencies":{"react":">=16"},"_npmOperationalInternal":{"tmp":"tmp/react-hooks_1.12.0_1659905535488_0.7849424692819664","host":"s3://npm-registry-packages"}},"1.12.1":{"name":"@haensl/react-hooks","version":"1.12.1","keywords":["react","hooks","react hooks","useBoundingClientRect","boundingClientRect","useClassNames","class","className","classNames","css","useDebounce","debounce","useAnimationFrame","requestAnimationFrame","animationFrame","animation","useIsMounted","isMounted","useIsomorphicLayoutEffect","isomorphicLayoutEffect","isomorphic","layoutEffect","useIsScrolling","isScrolling","useOnScroll","onScroll","window","scroll","usePrevious","previous","value","useWindowSize","windowSize","size"],"author":{"url":"https://hpdietz.com","name":"HP Dietz","email":"h.p.dietz@gmail.com"},"license":"MIT","_id":"@haensl/react-hooks@1.12.1","maintainers":[{"name":"haensl","email":"h.p.dietz@gmail.com"}],"homepage":"https://github.com/haensl/hooks#readme","bugs":{"url":"https://github.com/haensl/hooks/issues"},"dist":{"shasum":"439300ea3d97f03e816a3ad999aba25a7502a6f3","tarball":"https://registry.npmjs.org/@haensl/react-hooks/-/react-hooks-1.12.1.tgz","fileCount":8,"integrity":"sha512-AkJpoBrNRRAllpeOJwXERtyc19YzZfD5W0/YTnRv8Z/CjtMIbCFTEM9J+Fg9R3EdXHJFk8tH3KDYfsU1/XrHcg==","signatures":[{"sig":"MEUCIGINRQuJ8WJVk7hhxjQCjDdx8TA/ujJj+qXOhk/+V5HnAiEAhly3npJjlKNDSHREQtvfRTsrPV9wkO/8zrgnRL6HetU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":85540,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvupRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoxrw//WY25gjuoifXnBhNoahQlK4XWwK7uKCFBYLnUMSVdhVBf2iox\r\nDH1vwY1AQFB1sRVjs3aj3+5VW9usu2lu8hgZzLBMdZUc+m+UDIlqRqgSA66i\r\njDkUvzCd4FIMsUWOIg/Rp/YvUo3kt7nSEHQgEr/lOnbT5Sp4vbZ8FxTuzR5L\r\nGjwJtMqUGq0ktuysVHrtwU+QJbll6dH++YdSf+cX91WN1oFa9wRja0c8KUgs\r\ncATT6XmHL33dXvynLjQExQQj5NurD3bqjhRTNVATceiIbK22xS/DJukdxaOm\r\nyBPuPF/ZUVj2g4iVityNeKsOp8FfGjZ77I7Tob8+wkSvIJuDuJLqJTbSw//f\r\nrF8ZyvoMefyYUcnpQ7PWOowxFfwRh84wtYahKjvBzYCnrRpUhBwGSy64Htaz\r\n100NoEwW7TVCZad+sOns+PBIM5kFAoCxkt1vK8RTUMV3XEo0A7ICKQQxuYdc\r\nWxYt5mqlllwFkGZA+TeBxd+5FeYS+0dNLTYQxl+MmUPF5arV/E3XPTnOPc6q\r\naSo5RLsVXrOJI6DdG2Rp2xtmkZRl1/ggLNc/JCEKKsQNQLF5O40/I4ND84Ut\r\nw0PnZWkK2zBP70CnGYyjU5APuSrlVLflTf11OpzlRWlaSvO/rp031GkWbREq\r\nnBtkLjOutJ25rNVtewddVm0Y57+4+pOHjKs=\r\n=iNJ7\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["<rootDir>/src"],"testMatch":["<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}","<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}"],"transform":{"^.+\\.(js|jsx|ts|tsx)$":"<rootDir>/node_modules/babel-jest"},"setupFiles":["react-app-polyfill/jsdom"],"modulePaths":[],"testEnvironment":"jsdom","coverageReporters":["text"],"setupFilesAfterEnv":["<rootDir>/test.setup.js"],"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}","!src/**/*.d.ts","!<rootDir>/node_modules/"],"testPathIgnorePatterns":["/package-tests/"],"transformIgnorePatterns":["[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$"],"coveragePathIgnorePatterns":["/node_modules/","/__snapshots__/","<rootDir>/test.setup.js","<rootDir>/package.json","<rootDir>/package-lock.json"]},"main":"dist/hooks.cjs.js","babel":{"presets":["react-app"]},"unpkg":"dist/hooks.umd.js","module":"dist/hooks.esm.js","funding":"https://github.com/sponsors/haensl","scripts":{"tdd":"jest --runInBand --watch","lint":"NODE_ENV=production eslint --ext js,jsx src/","test":"jest --runInBand","build":"npm run clean && NODE_ENV=production rollup -c","clean":"rimraf ./dist","lint:ci":"NODE_ENV=production eslint --format junit -o test-results/eslint/results.xml --ext js,jsx src/","prepare":"if [ ${NODE_ENV} != 'production' ]; then husky install; fi","test:ci":"jest --runInBand --no-cache --ci --reporters='default' --reporters='jest-junit'","coverage:ci":"CI=true npm test -- --ci --coverage"},"_npmUser":{"name":"haensl","email":"h.p.dietz@gmail.com"},"jest-junit":{"suitName":"react hooks unit tests","outputName":"results.xml","outputDirectory":"test-results/jest"},"repository":{"url":"git+https://github.com/haensl/hooks.git","type":"git"},"_npmVersion":"9.2.0","description":"Assorted React hooks.","directories":{},"_nodeVersion":"16.13.1","dependencies":{"@babel/runtime":"^7.12.5","@haensl/services":"^1.3.0"},"eslintConfig":{"extends":["react-app","@haensl"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.3.1","husky":"^8.0.1","react":"^18.2.0","eslint":"^8.5.0","rimraf":"^3.0.2","rollup":"^3.9.1","react-dom":"^18.2.0","babel-jest":"^29.3.1","jest-junit":"^15.0.0","@babel/core":"^7.12.10","babel-eslint":"^10.1.0","@babel/preset-env":"^7.12.11","react-app-polyfill":"^3.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.22.0","@rollup/plugin-babel":"^6.0.3","eslint-plugin-import":"^2.22.1","@haensl/eslint-config":"^1.3.0","@rollup/plugin-terser":"^0.3.0","@testing-library/react":"^13.3.0","babel-preset-react-app":"^10.0.0","eslint-plugin-flowtype":"^8.0.3","eslint-plugin-jsx-a11y":"^6.4.1","jest-environment-jsdom":"^29.3.1","@rollup/plugin-commonjs":"^24.0.0","eslint-config-react-app":"^7.0.0","@testing-library/jest-dom":"^5.16.1","eslint-plugin-react-hooks":"^4.2.0","@rollup/plugin-node-resolve":"^15.0.1","@babel/plugin-transform-runtime":"^7.12.10","rollup-plugin-peer-deps-external":"^2.2.4","@haensl/rollup-plugin-local-resolve":"^1.1.1"},"peerDependencies":{"react":">=16"},"_npmOperationalInternal":{"tmp":"tmp/react-hooks_1.12.1_1673456209346_0.9314105877242662","host":"s3://npm-registry-packages"}},"1.12.2":{"name":"@haensl/react-hooks","version":"1.12.2","keywords":["react","hooks","react hooks","useBoundingClientRect","boundingClientRect","useClassNames","class","className","classNames","css","useDebounce","debounce","useAnimationFrame","requestAnimationFrame","animationFrame","animation","useIsMounted","isMounted","useIsomorphicLayoutEffect","isomorphicLayoutEffect","isomorphic","layoutEffect","useIsScrolling","isScrolling","useOnScroll","onScroll","window","scroll","usePrevious","previous","value","useWindowSize","windowSize","size"],"author":{"url":"https://hpdietz.com","name":"HP Dietz","email":"h.p.dietz@gmail.com"},"license":"MIT","_id":"@haensl/react-hooks@1.12.2","maintainers":[{"name":"haensl","email":"h.p.dietz@gmail.com"}],"homepage":"https://github.com/haensl/hooks#readme","bugs":{"url":"https://github.com/haensl/hooks/issues"},"dist":{"shasum":"35cbb1baae069b9b280983759884c0fbcb0a7e98","tarball":"https://registry.npmjs.org/@haensl/react-hooks/-/react-hooks-1.12.2.tgz","fileCount":8,"integrity":"sha512-q+uHwkm9DrJ8dO/JEqB8MOY3dlD2gb3WTp7TPAsh7cUhHsJc27ip5ongSya+h8FDpkxI4ONcM05Y+AFo94hUDg==","signatures":[{"sig":"MEQCIC3KEE/lnVS58lK5coJ1ptkGQuwvugzMno+TmLTJ7LAEAiBh2z536LOZd8eIOhjuxlpKGGPuT7Af200Q6WfjBlQw4w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":86199},"jest":{"roots":["<rootDir>/src"],"testMatch":["<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}","<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}"],"transform":{"^.+\\.(js|jsx|ts|tsx)$":"<rootDir>/node_modules/babel-jest"},"setupFiles":["react-app-polyfill/jsdom"],"modulePaths":[],"testEnvironment":"jsdom","coverageReporters":["text"],"setupFilesAfterEnv":["<rootDir>/test.setup.js"],"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}","!src/**/*.d.ts","!<rootDir>/node_modules/"],"testPathIgnorePatterns":["/package-tests/"],"transformIgnorePatterns":["[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$"],"coveragePathIgnorePatterns":["/node_modules/","/__snapshots__/","<rootDir>/test.setup.js","<rootDir>/package.json","<rootDir>/package-lock.json"]},"main":"dist/hooks.cjs.js","babel":{"presets":["react-app"]},"unpkg":"dist/hooks.umd.js","module":"dist/hooks.esm.js","funding":"https://github.com/sponsors/haensl","scripts":{"tdd":"jest --runInBand --watch","lint":"NODE_ENV=production eslint --ext js,jsx src/","test":"jest --runInBand","build":"npm run clean && NODE_ENV=production rollup -c","clean":"rimraf ./dist","lint:ci":"NODE_ENV=production eslint --format junit -o test-results/eslint/results.xml --ext js,jsx src/","prepare":"if [ ${NODE_ENV} != 'production' ]; then husky install; fi","test:ci":"jest --runInBand --no-cache --ci --reporters='default' --reporters='jest-junit'","coverage:ci":"CI=true npm test -- --ci --coverage"},"_npmUser":{"name":"haensl","email":"h.p.dietz@gmail.com"},"jest-junit":{"suitName":"react hooks unit tests","outputName":"results.xml","outputDirectory":"test-results/jest"},"repository":{"url":"git+https://github.com/haensl/hooks.git","type":"git"},"_npmVersion":"9.6.6","description":"Assorted React hooks.","directories":{},"_nodeVersion":"16.13.1","dependencies":{"@babel/runtime":"^7.12.5","@haensl/services":"^1.3.0"},"eslintConfig":{"extends":["react-app","@haensl"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.3.1","husky":"^8.0.1","react":"^18.2.0","eslint":"^8.5.0","rimraf":"^5.0.0","rollup":"^3.9.1","react-dom":"^18.2.0","babel-jest":"^29.3.1","jest-junit":"^16.0.0","@babel/core":"^7.12.10","babel-eslint":"^10.1.0","@babel/preset-env":"^7.12.11","react-app-polyfill":"^3.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.22.0","@rollup/plugin-babel":"^6.0.3","eslint-plugin-import":"^2.22.1","@haensl/eslint-config":"^1.3.0","@rollup/plugin-terser":"^0.4.2","@testing-library/react":"^14.0.0","babel-preset-react-app":"^10.0.0","eslint-plugin-flowtype":"^8.0.3","eslint-plugin-jsx-a11y":"^6.4.1","jest-environment-jsdom":"^29.3.1","@rollup/plugin-commonjs":"^25.0.0","eslint-config-react-app":"^7.0.0","@testing-library/jest-dom":"^5.16.1","eslint-plugin-react-hooks":"^4.2.0","@rollup/plugin-node-resolve":"^15.0.1","@babel/plugin-transform-runtime":"^7.12.10","rollup-plugin-peer-deps-external":"^2.2.4","@haensl/rollup-plugin-local-resolve":"^1.1.1"},"peerDependencies":{"react":">=16"},"_npmOperationalInternal":{"tmp":"tmp/react-hooks_1.12.2_1684273532863_0.9916737294016744","host":"s3://npm-registry-packages"}},"1.13.0":{"name":"@haensl/react-hooks","version":"1.13.0","keywords":["react","hooks","react hooks","useBoundingClientRect","boundingClientRect","useClassNames","class","className","classNames","css","useDebounce","debounce","useAnimationFrame","requestAnimationFrame","animationFrame","animation","useIsMounted","isMounted","useIsomorphicLayoutEffect","isomorphicLayoutEffect","isomorphic","layoutEffect","useIsScrolling","isScrolling","useOnScroll","onScroll","window","scroll","usePrevious","previous","value","useWindowSize","windowSize","size"],"author":{"url":"https://hpdietz.com","name":"HP Dietz","email":"h.p.dietz@gmail.com"},"license":"MIT","_id":"@haensl/react-hooks@1.13.0","maintainers":[{"name":"haensl","email":"h.p.dietz@gmail.com"}],"homepage":"https://github.com/haensl/hooks#readme","bugs":{"url":"https://github.com/haensl/hooks/issues"},"dist":{"shasum":"02341fd2b289da84a13bac1361645d3480c005d9","tarball":"https://registry.npmjs.org/@haensl/react-hooks/-/react-hooks-1.13.0.tgz","fileCount":8,"integrity":"sha512-lIAMiKekXO7ARWDKjQpR3nyTjOHjsZJH3u2WpBsIUuCEOEh1U0uYPwksG/0awJEy10DRd8KrLHu63rHMd9fRcw==","signatures":[{"sig":"MEUCIQCSFU6u5m/QopDf7p5++kdmo6sPu/jLPYWluekiNJ+yrQIgHdYeKnBv1cjiPaiUgpNgbD0Ns0AzlmfChmHKptaWR9M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":89431},"jest":{"roots":["<rootDir>/src"],"testMatch":["<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}","<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}"],"transform":{"^.+\\.(js|jsx|ts|tsx)$":"<rootDir>/node_modules/babel-jest"},"setupFiles":["react-app-polyfill/jsdom"],"modulePaths":[],"testEnvironment":"jsdom","coverageReporters":["text"],"setupFilesAfterEnv":["<rootDir>/test.setup.js"],"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}","!src/**/*.d.ts","!<rootDir>/node_modules/"],"testPathIgnorePatterns":["/package-tests/"],"transformIgnorePatterns":["[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$"],"coveragePathIgnorePatterns":["/node_modules/","/__snapshots__/","<rootDir>/test.setup.js","<rootDir>/package.json","<rootDir>/package-lock.json"]},"main":"dist/hooks.cjs.js","babel":{"presets":["react-app"]},"unpkg":"dist/hooks.umd.js","module":"dist/hooks.esm.js","funding":"https://github.com/sponsors/haensl","scripts":{"tdd":"jest --runInBand --watch","lint":"NODE_ENV=production eslint --ext js,jsx src/","test":"jest --runInBand","build":"npm run clean && NODE_ENV=production rollup -c","clean":"rimraf ./dist","lint:ci":"NODE_ENV=production eslint --format junit -o test-results/eslint/results.xml --ext js,jsx src/","prepare":"if [ ${NODE_ENV} != 'production' ]; then husky install; fi","test:ci":"jest --runInBand --no-cache --ci --reporters='default' --reporters='jest-junit'","coverage:ci":"CI=true npm test -- --ci --coverage"},"_npmUser":{"name":"haensl","email":"h.p.dietz@gmail.com"},"jest-junit":{"suitName":"react hooks unit tests","outputName":"results.xml","outputDirectory":"test-results/jest"},"repository":{"url":"git+https://github.com/haensl/hooks.git","type":"git"},"_npmVersion":"9.7.2","description":"Assorted React hooks.","directories":{},"_nodeVersion":"16.13.1","dependencies":{"@babel/runtime":"^7.12.5","@haensl/services":"^1.3.0"},"eslintConfig":{"extends":["react-app","@haensl"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.3.1","husky":"^8.0.1","react":"^18.2.0","eslint":"^8.5.0","rimraf":"^5.0.0","rollup":"^3.9.1","react-dom":"^18.2.0","babel-jest":"^29.3.1","jest-junit":"^16.0.0","@babel/core":"^7.12.10","babel-eslint":"^10.1.0","@babel/preset-env":"^7.12.11","react-app-polyfill":"^3.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.22.0","@rollup/plugin-babel":"^6.0.3","eslint-plugin-import":"^2.22.1","@haensl/eslint-config":"^1.3.0","@rollup/plugin-terser":"^0.4.2","@testing-library/react":"^14.0.0","babel-preset-react-app":"^10.0.0","eslint-plugin-flowtype":"^8.0.3","eslint-plugin-jsx-a11y":"^6.4.1","jest-environment-jsdom":"^29.3.1","@rollup/plugin-commonjs":"^25.0.0","eslint-config-react-app":"^7.0.0","@testing-library/jest-dom":"^5.16.1","eslint-plugin-react-hooks":"^4.2.0","@rollup/plugin-node-resolve":"^15.0.1","@babel/plugin-transform-runtime":"^7.12.10","rollup-plugin-peer-deps-external":"^2.2.4","@haensl/rollup-plugin-local-resolve":"^1.1.1","@babel/plugin-proposal-private-property-in-object":"^7.21.11"},"peerDependencies":{"react":">=16"},"_npmOperationalInternal":{"tmp":"tmp/react-hooks_1.13.0_1688389176061_0.5661179085343047","host":"s3://npm-registry-packages"}},"1.13.1":{"name":"@haensl/react-hooks","version":"1.13.1","keywords":["react","hooks","react hooks","useBoundingClientRect","boundingClientRect","useClassNames","class","className","classNames","css","useDebounce","debounce","useAnimationFrame","requestAnimationFrame","animationFrame","animation","useIsMounted","isMounted","useIsomorphicLayoutEffect","isomorphicLayoutEffect","isomorphic","layoutEffect","useIsScrolling","isScrolling","useOnScroll","onScroll","window","scroll","usePrevious","previous","value","useWindowSize","windowSize","size"],"author":{"url":"https://hpdietz.com","name":"HP Dietz","email":"h.p.dietz@gmail.com"},"license":"MIT","_id":"@haensl/react-hooks@1.13.1","maintainers":[{"name":"haensl","email":"h.p.dietz@gmail.com"}],"homepage":"https://github.com/haensl/hooks#readme","bugs":{"url":"https://github.com/haensl/hooks/issues"},"dist":{"shasum":"c32557617eda5b0328ffaaecb7d91602de7e509b","tarball":"https://registry.npmjs.org/@haensl/react-hooks/-/react-hooks-1.13.1.tgz","fileCount":8,"integrity":"sha512-yTXNUpNUyY9R+net2d4fZhzTlkbdlKqaPzF7hmzsPwp7NznXbeWl2LdXQwevk82Xi7cucZVgBjPG2e0wVgNxqA==","signatures":[{"sig":"MEUCIAYnn/liEsPDo1XogqecbbRUJwugt1zZWayojfmGScqLAiEAkJ6UwEX1QLIX1WxXGiLR/IFOX+SxnBySiq2Gl8fZi6Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":89430},"jest":{"roots":["<rootDir>/src"],"testMatch":["<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}","<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}"],"transform":{"^.+\\.(js|jsx|ts|tsx)$":"<rootDir>/node_modules/babel-jest"},"setupFiles":["react-app-polyfill/jsdom"],"modulePaths":[],"testEnvironment":"jsdom","coverageReporters":["text"],"setupFilesAfterEnv":["<rootDir>/test.setup.js"],"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}","!src/**/*.d.ts","!<rootDir>/node_modules/"],"testPathIgnorePatterns":["/package-tests/"],"transformIgnorePatterns":["[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$"],"coveragePathIgnorePatterns":["/node_modules/","/__snapshots__/","<rootDir>/test.setup.js","<rootDir>/package.json","<rootDir>/package-lock.json"]},"main":"dist/hooks.cjs.js","babel":{"presets":["react-app"]},"unpkg":"dist/hooks.umd.js","module":"dist/hooks.esm.js","funding":"https://github.com/sponsors/haensl","scripts":{"tdd":"jest --runInBand --watch","lint":"NODE_ENV=production eslint --ext js,jsx src/","test":"jest --runInBand","build":"npm run clean && NODE_ENV=production rollup -c","clean":"rimraf ./dist","lint:ci":"NODE_ENV=production eslint --format junit -o test-results/eslint/results.xml --ext js,jsx src/","prepare":"if [ ${NODE_ENV} != 'production' ]; then husky install; fi","test:ci":"jest --runInBand --no-cache --ci --reporters='default' --reporters='jest-junit'","coverage:ci":"CI=true npm test -- --ci --coverage"},"_npmUser":{"name":"haensl","email":"h.p.dietz@gmail.com"},"jest-junit":{"suitName":"react hooks unit tests","outputName":"results.xml","outputDirectory":"test-results/jest"},"repository":{"url":"git+https://github.com/haensl/hooks.git","type":"git"},"_npmVersion":"10.1.0","description":"Assorted React hooks.","directories":{},"_nodeVersion":"18.18.0","dependencies":{"@babel/runtime":"^7.12.5","@haensl/services":"^1.3.0"},"eslintConfig":{"extends":["react-app","@haensl"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.3.1","husky":"^8.0.1","react":"^18.2.0","eslint":"^8.5.0","rimraf":"^5.0.0","rollup":"^3.9.1","react-dom":"^18.2.0","babel-jest":"^29.3.1","jest-junit":"^16.0.0","@babel/core":"^7.12.10","babel-eslint":"^10.1.0","@babel/preset-env":"^7.12.11","react-app-polyfill":"^3.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.22.0","@rollup/plugin-babel":"^6.0.3","eslint-plugin-import":"^2.22.1","@haensl/eslint-config":"^1.3.0","@rollup/plugin-terser":"^0.4.2","@testing-library/react":"^14.0.0","babel-preset-react-app":"^10.0.0","eslint-plugin-flowtype":"^8.0.3","eslint-plugin-jsx-a11y":"^6.4.1","jest-environment-jsdom":"^29.3.1","@rollup/plugin-commonjs":"^25.0.0","eslint-config-react-app":"^7.0.0","@testing-library/jest-dom":"^6.1.3","eslint-plugin-react-hooks":"^4.2.0","@rollup/plugin-node-resolve":"^15.0.1","@babel/plugin-transform-runtime":"^7.12.10","rollup-plugin-peer-deps-external":"^2.2.4","@haensl/rollup-plugin-local-resolve":"^1.1.1","@babel/plugin-proposal-private-property-in-object":"^7.21.11"},"peerDependencies":{"react":">=16"},"_npmOperationalInternal":{"tmp":"tmp/react-hooks_1.13.1_1695687436480_0.14328530358033897","host":"s3://npm-registry-packages"}},"1.14.0":{"name":"@haensl/react-hooks","version":"1.14.0","keywords":["react","hooks","react hooks","useBoundingClientRect","boundingClientRect","useClassNames","class","className","classNames","css","useDebounce","debounce","useAnimationFrame","requestAnimationFrame","animationFrame","animation","useIsMounted","isMounted","useIsomorphicLayoutEffect","isomorphicLayoutEffect","isomorphic","layoutEffect","useIsScrolling","isScrolling","useOnScroll","onScroll","window","scroll","usePrevious","previous","value","useWindowSize","windowSize","size","timeout","useTimeout"],"author":{"url":"https://hpdietz.com","name":"HP Dietz","email":"h.p.dietz@gmail.com"},"license":"MIT","_id":"@haensl/react-hooks@1.14.0","maintainers":[{"name":"haensl","email":"h.p.dietz@gmail.com"}],"homepage":"https://github.com/haensl/hooks#readme","bugs":{"url":"https://github.com/haensl/hooks/issues"},"dist":{"shasum":"9a9979206413be1ca469993e7ee4df42eb93a2a2","tarball":"https://registry.npmjs.org/@haensl/react-hooks/-/react-hooks-1.14.0.tgz","fileCount":8,"integrity":"sha512-4oImlmwdEtTQqk7SRVLqcI8kLBszmfMX6VjDdhT5gAzzdDFFGQ84WyPlsp0sqGe7bqeB0DnCDfhX7FD3phbQMw==","signatures":[{"sig":"MEUCIQC4iNTiTmrRT7d3rOyu3ofAKGrefdH5VXHXilVWpZAtnQIgefGPzjUtZP7kShggI3VeCswv7mCNTqVnEuv1+TG7BgA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":94527},"jest":{"roots":["<rootDir>/src"],"testMatch":["<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}","<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}"],"transform":{"^.+\\.(js|jsx|ts|tsx)$":"<rootDir>/node_modules/babel-jest"},"setupFiles":["react-app-polyfill/jsdom"],"modulePaths":[],"testEnvironment":"jsdom","coverageReporters":["text"],"setupFilesAfterEnv":["<rootDir>/test.setup.js"],"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}","!src/**/*.d.ts","!<rootDir>/node_modules/"],"testPathIgnorePatterns":["/package-tests/"],"transformIgnorePatterns":["[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$"],"coveragePathIgnorePatterns":["/node_modules/","/__snapshots__/","<rootDir>/test.setup.js","<rootDir>/package.json","<rootDir>/package-lock.json"]},"main":"dist/hooks.cjs.js","babel":{"presets":["react-app"]},"unpkg":"dist/hooks.umd.js","module":"dist/hooks.esm.js","funding":"https://github.com/sponsors/haensl","scripts":{"tdd":"jest --runInBand --watch","lint":"NODE_ENV=production eslint --ext js,jsx src/","test":"jest --runInBand","build":"npm run clean && NODE_ENV=production rollup -c","clean":"rimraf ./dist","lint:ci":"NODE_ENV=production eslint --format junit -o test-results/eslint/results.xml --ext js,jsx src/","prepare":"if [ ${NODE_ENV} != 'production' ]; then npx husky init; fi","test:ci":"jest --runInBand --no-cache --ci --reporters='default' --reporters='jest-junit'","coverage:ci":"CI=true npm test -- --ci --coverage"},"_npmUser":{"name":"haensl","email":"h.p.dietz@gmail.com"},"jest-junit":{"suitName":"react hooks unit tests","outputName":"results.xml","outputDirectory":"test-results/jest"},"repository":{"url":"git+https://github.com/haensl/hooks.git","type":"git"},"_npmVersion":"10.5.0","description":"Assorted React hooks.","directories":{},"_nodeVersion":"20.11.1","dependencies":{"@babel/runtime":"^7.12.5","@haensl/services":"^1.3.0"},"eslintConfig":{"extends":["react-app","@haensl"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.3.1","husky":"^9.0.11","react":"^18.2.0","eslint":"^8.5.0","rimraf":"^5.0.0","rollup":"^4.12.1","react-dom":"^18.2.0","babel-jest":"^29.3.1","jest-junit":"^16.0.0","@babel/core":"^7.12.10","babel-eslint":"^10.1.0","@babel/preset-env":"^7.12.11","react-app-polyfill":"^3.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.22.0","@rollup/plugin-babel":"^6.0.3","eslint-plugin-import":"^2.22.1","@haensl/eslint-config":"^1.3.0","@rollup/plugin-terser":"^0.4.2","@testing-library/react":"^14.0.0","babel-preset-react-app":"^10.0.0","eslint-plugin-flowtype":"^8.0.3","eslint-plugin-jsx-a11y":"^6.4.1","jest-environment-jsdom":"^29.3.1","@rollup/plugin-commonjs":"^25.0.0","eslint-config-react-app":"^7.0.0","@testing-library/jest-dom":"^6.1.3","eslint-plugin-react-hooks":"^4.2.0","@rollup/plugin-node-resolve":"^15.0.1","@babel/plugin-transform-runtime":"^7.12.10","rollup-plugin-peer-deps-external":"^2.2.4","@haensl/rollup-plugin-local-resolve":"^1.1.1","@babel/plugin-proposal-private-property-in-object":"^7.21.11"},"peerDependencies":{"react":">=16"},"_npmOperationalInternal":{"tmp":"tmp/react-hooks_1.14.0_1709844031002_0.2475522791944722","host":"s3://npm-registry-packages"}},"1.14.1":{"name":"@haensl/react-hooks","version":"1.14.1","keywords":["react","hooks","react hooks","useBoundingClientRect","boundingClientRect","useClassNames","class","className","classNames","css","useDebounce","debounce","useAnimationFrame","requestAnimationFrame","animationFrame","animation","useIsMounted","isMounted","useIsomorphicLayoutEffect","isomorphicLayoutEffect","isomorphic","layoutEffect","useIsScrolling","isScrolling","useOnScroll","onScroll","window","scroll","usePrevious","previous","value","useWindowSize","windowSize","size","timeout","useTimeout"],"author":{"url":"https://hpdietz.com","name":"HP Dietz","email":"h.p.dietz@gmail.com"},"license":"MIT","_id":"@haensl/react-hooks@1.14.1","homepage":"https://github.com/haensl/hooks#readme","bugs":{"url":"https://github.com/haensl/hooks/issues"},"dist":{"shasum":"9016c7e8bab08227f0ffcb6afcb900dd582b2f3d","tarball":"https://registry.npmjs.org/@haensl/react-hooks/-/react-hooks-1.14.1.tgz","fileCount":8,"integrity":"sha512-MyaDn4oYQzdMoiOucjAl6CCZ+2o0wsFTLiALaaIrOINWtrDYkaomNGFyPC23vpEGB8J63tmL2MMBKKIVSP/A4w==","signatures":[{"sig":"MEQCID97fBHAYQGcqRdscACdmMEU208xteIf4tuWx+mJRyuiAiB2mbrpgflE1Bt0cyFFesA+KFHJ+fiEZTuuchVh/UCjag==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":100835},"jest":{"roots":["<rootDir>/src"],"testMatch":["<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}","<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}"],"transform":{"^.+\\.(js|jsx|ts|tsx)$":"<rootDir>/node_modules/babel-jest"},"setupFiles":["react-app-polyfill/jsdom"],"modulePaths":[],"testEnvironment":"jsdom","coverageReporters":["text"],"setupFilesAfterEnv":["<rootDir>/test.setup.js"],"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}","!src/**/*.d.ts","!<rootDir>/node_modules/"],"testPathIgnorePatterns":["/package-tests/"],"transformIgnorePatterns":["[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$"],"coveragePathIgnorePatterns":["/node_modules/","/__snapshots__/","<rootDir>/test.setup.js","<rootDir>/package.json","<rootDir>/package-lock.json"]},"main":"dist/hooks.cjs.js","babel":{"presets":["react-app"]},"unpkg":"dist/hooks.umd.js","module":"dist/hooks.esm.js","funding":"https://github.com/sponsors/haensl","scripts":{"tdd":"jest --runInBand --watch","lint":"NODE_ENV=production eslint --ext js,jsx src/","test":"jest --runInBand","build":"npm run clean && NODE_ENV=production rollup -c","clean":"rimraf ./dist","lint:ci":"NODE_ENV=production eslint --format junit -o test-results/eslint/results.xml --ext js,jsx src/","prepare":"if [ ${NODE_ENV} != 'production' ]; then npx husky init; fi","test:ci":"jest --runInBand --no-cache --ci --reporters='default' --reporters='jest-junit'","coverage:ci":"CI=true npm test -- --ci --coverage"},"_npmUser":{"name":"haensl","email":"h.p.dietz@gmail.com"},"jest-junit":{"suitName":"react hooks unit tests","outputName":"results.xml","outputDirectory":"test-results/jest"},"repository":{"url":"git+https://github.com/haensl/hooks.git","type":"git"},"_npmVersion":"10.8.1","description":"Assorted React hooks.","directories":{},"_nodeVersion":"20.15.0","dependencies":{"@babel/runtime":"^7.12.5","@haensl/services":"^1.3.0"},"eslintConfig":{"extends":["react-app","@haensl"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.3.1","husky":"^9.0.11","react":"^18.2.0","eslint":"^8.5.0","rimraf":"^5.0.0","rollup":"^4.12.1","react-dom":"^18.2.0","babel-jest":"^29.3.1","jest-junit":"^16.0.0","@babel/core":"^7.12.10","babel-eslint":"^10.1.0","@babel/preset-env":"^7.12.11","react-app-polyfill":"^3.0.0","@babel/preset-react":"^7.14.5","eslint-plugin-react":"^7.22.0","@rollup/plugin-babel":"^6.0.3","eslint-plugin-import":"^2.22.1","@haensl/eslint-config":"^1.3.0","@rollup/plugin-terser":"^0.4.2","@testing-library/react":"^14.0.0","babel-preset-react-app":"^10.0.0","eslint-plugin-flowtype":"^8.0.3","eslint-plugin-jsx-a11y":"^6.4.1","jest-environment-jsdom":"^29.3.1","@rollup/plugin-commonjs":"^25.0.0","eslint-config-react-app":"^7.0.0","@testing-library/jest-dom":"^6.1.3","eslint-plugin-react-hooks":"^4.2.0","@rollup/plugin-node-resolve":"^15.0.1","@babel/plugin-transform-runtime":"^7.12.10","rollup-plugin-peer-deps-external":"^2.2.4","@haensl/rollup-plugin-local-resolve":"^1.1.1","@babel/plugin-proposal-private-property-in-object":"^7.21.11"},"peerDependencies":{"react":">=16"},"_npmOperationalInternal":{"tmp":"tmp/react-hooks_1.14.1_1718999618364_0.5732019315295298","host":"s3://npm-registry-packages"}},"1.14.2":{"name":"@haensl/react-hooks","version":"1.14.2","description":"Assorted React hooks.","main":"dist/hooks.cjs.js","module":"dist/hooks.esm.js","unpkg":"dist/hooks.umd.js","scripts":{"build":"npm run clean && NODE_ENV=production rollup -c","clean":"rimraf ./dist","coverage:ci":"CI=true npm test -- --ci --coverage","lint":"NODE_ENV=production eslint 'src/**/*.js'","lint:ci":"NODE_ENV=production eslint --format junit -o test-results/eslint/results.xml --ext js,jsx src/","prepare":"if [ ${NODE_ENV} != 'production' ]; then husky; fi","tdd":"jest --runInBand --watch","test":"jest --runInBand","test:ci":"jest --runInBand --no-cache --ci --reporters='default' --reporters='jest-junit'"},"repository":{"type":"git","url":"git+https://github.com/haensl/hooks.git"},"keywords":["react","hooks","react hooks","useBoundingClientRect","boundingClientRect","useClassNames","class","className","classNames","css","useDebounce","debounce","useAnimationFrame","requestAnimationFrame","animationFrame","animation","useIsMounted","isMounted","useIsomorphicLayoutEffect","isomorphicLayoutEffect","isomorphic","layoutEffect","useIsScrolling","isScrolling","useOnScroll","onScroll","window","scroll","usePrevious","previous","value","useWindowSize","windowSize","size","timeout","useTimeout"],"author":{"name":"HP Dietz","email":"h.p.dietz@gmail.com","url":"https://hpdietz.com"},"funding":"https://github.com/sponsors/haensl","license":"MIT","bugs":{"url":"https://github.com/haensl/hooks/issues"},"homepage":"https://github.com/haensl/hooks#readme","jest":{"roots":["<rootDir>/src"],"setupFiles":["react-app-polyfill/jsdom"],"setupFilesAfterEnv":["<rootDir>/test.setup.js"],"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}","!src/**/*.d.ts","!<rootDir>/node_modules/"],"coveragePathIgnorePatterns":["/node_modules/","/__snapshots__/","<rootDir>/test.setup.js","<rootDir>/package.json","<rootDir>/package-lock.json"],"coverageReporters":["text"],"testMatch":["<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}","<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}"],"testPathIgnorePatterns":["/package-tests/"],"testEnvironment":"jsdom","transform":{"^.+\\.(js|jsx|ts|tsx)$":"<rootDir>/node_modules/babel-jest"},"transformIgnorePatterns":["[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$"],"modulePaths":[]},"jest-junit":{"outputDirectory":"test-results/jest","outputName":"results.xml","suitName":"react hooks unit tests"},"babel":{"presets":["react-app"]},"eslintConfig":{"extends":["react-app","@haensl"]},"peerDependencies":{"react":">=16"},"devDependencies":{"@babel/core":"^7.12.10","@babel/plugin-proposal-private-property-in-object":"^7.21.11","@babel/plugin-transform-runtime":"^7.12.10","@babel/preset-env":"^7.12.11","@babel/preset-react":"^7.14.5","@haensl/eslint-config":"^1.4.6","@haensl/rollup-plugin-local-resolve":"^1.1.1","@rollup/plugin-babel":"^6.0.3","@rollup/plugin-commonjs":"^28.0.1","@rollup/plugin-node-resolve":"^15.0.1","@rollup/plugin-terser":"^0.4.2","@testing-library/jest-dom":"^6.1.3","@testing-library/react":"^16.0.1","babel-eslint":"^10.1.0","babel-jest":"^29.3.1","babel-preset-react-app":"^10.0.0","eslint":"^8.57.1","eslint-config-react-app":"^7.0.0","eslint-plugin-flowtype":"^8.0.3","eslint-plugin-import":"^2.22.1","eslint-plugin-jsx-a11y":"^6.4.1","eslint-plugin-react":"^7.22.0","eslint-plugin-react-hooks":"^5.0.0","husky":"^9.0.11","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","jest-junit":"^16.0.0","react":"^18.2.0","react-app-polyfill":"^3.0.0","react-dom":"^18.2.0","rimraf":"^6.0.1","rollup":"^4.12.1","rollup-plugin-peer-deps-external":"^2.2.4"},"dependencies":{"@babel/runtime":"^7.12.5","@haensl/services":"^1.3.0"},"_id":"@haensl/react-hooks@1.14.2","_nodeVersion":"20.18.0","_npmVersion":"10.9.0","dist":{"integrity":"sha512-4I7YW6Blwl7KW/7keMr6+l6/oB+9q3K5Pp1Z1eEryBTuuqEGfJcwFzJCgxu2jLQiRFbKhgnQlYETRk+o4t0TWg==","shasum":"226b7426306ddffc55d14798e71f54eb1b2d939f","tarball":"https://registry.npmjs.org/@haensl/react-hooks/-/react-hooks-1.14.2.tgz","fileCount":8,"unpackedSize":103198,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD2D3XtP7nmY7rLWBNwkEDk6VWowgFKIPUOVVh8q7Dn4QIhAJ3LYJd5mklXvsfGNiwEiAGQ77d21QryFtXQR6pyw+Yy"}]},"_npmUser":{"name":"haensl","email":"h.p.dietz@gmail.com"},"directories":{},"maintainers":[{"name":"haensl","email":"h.p.dietz@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-hooks_1.14.2_1729295854619_0.2891917420806265"},"_hasShrinkwrap":false}},"time":{"created":"2021-05-27T09:39:38.595Z","modified":"2024-10-18T23:57:35.049Z","1.7.0":"2021-05-27T09:39:38.787Z","1.7.1":"2021-05-27T09:49:54.427Z","1.7.2":"2021-08-19T09:45:08.134Z","1.7.3":"2021-08-24T07:58:33.254Z","1.7.4":"2021-09-15T21:27:26.214Z","1.7.5":"2021-12-28T11:09:47.462Z","1.7.6":"2022-01-04T23:14:29.213Z","1.8.0":"2022-01-19T17:47:03.376Z","1.9.0":"2022-01-20T12:46:31.289Z","1.9.1":"2022-01-25T18:29:43.553Z","1.9.2":"2022-02-01T12:43:23.522Z","1.10.0":"2022-02-04T16:22:56.585Z","1.10.1":"2022-02-04T16:29:00.647Z","1.10.2":"2022-02-15T14:39:35.802Z","1.10.3":"2022-02-17T17:18:55.025Z","1.11.0":"2022-02-17T23:07:28.305Z","1.11.1":"2022-04-05T11:16:15.504Z","1.11.2":"2022-08-07T20:27:54.006Z","1.12.0":"2022-08-07T20:52:15.687Z","1.12.1":"2023-01-11T16:56:49.492Z","1.12.2":"2023-05-16T21:45:33.033Z","1.13.0":"2023-07-03T12:59:36.244Z","1.13.1":"2023-09-26T00:17:16.626Z","1.14.0":"2024-03-07T20:40:31.196Z","1.14.1":"2024-06-21T19:53:38.586Z","1.14.2":"2024-10-18T23:57:34.863Z"},"bugs":{"url":"https://github.com/haensl/hooks/issues"},"author":{"name":"HP Dietz","email":"h.p.dietz@gmail.com","url":"https://hpdietz.com"},"license":"MIT","homepage":"https://github.com/haensl/hooks#readme","keywords":["react","hooks","react hooks","useBoundingClientRect","boundingClientRect","useClassNames","class","className","classNames","css","useDebounce","debounce","useAnimationFrame","requestAnimationFrame","animationFrame","animation","useIsMounted","isMounted","useIsomorphicLayoutEffect","isomorphicLayoutEffect","isomorphic","layoutEffect","useIsScrolling","isScrolling","useOnScroll","onScroll","window","scroll","usePrevious","previous","value","useWindowSize","windowSize","size","timeout","useTimeout"],"repository":{"type":"git","url":"git+https://github.com/haensl/hooks.git"},"description":"Assorted React hooks.","maintainers":[{"name":"haensl","email":"h.p.dietz@gmail.com"}],"readme":"# @haensl/react-hooks\n\nAssorted React hooks.\n\n[![NPM](https://nodei.co/npm/@haensl%2Freact-hooks.png?downloads=true)](https://nodei.co/npm/@haensl%2Freact-hooks/)\n\n[![npm version](https://badge.fury.io/js/@haensl%2Freact-hooks.svg)](http://badge.fury.io/js/@haensl%2Freact-hooks)\n[![CircleCI](https://circleci.com/gh/haensl/hooks.svg?style=svg)](https://circleci.com/gh/haensl/hooks)\n\n## Installation<a name=\"installation\"></a>\n\n### Via `npm`\n\n```bash\n$ npm install -S @haensl/react-hooks\n```\n\n### Via `yarn`\n\n```bash\n$ yarn add @haensl/react-hooks\n```\n\n## Usage\n\n1. [Install @haensl/react-hooks](#installation)\n\n2. Use hooks in your components:\n\n```javascript\nimport { useDebounce } from '@haensl/react-hooks';\n\nconst DebouncedButton = () => {\n  const handler = useDebounce(() => {\n    console.log('click');\n  }, 50);\n\n  return (\n    <button\n      onClick={ handler }\n    >click me</button>\n  );\n};\n```\n\n## Available hooks\n\n* [`useAnimationFrame`](#useAnimationFrame): animate a function.\n* [`useBoundingClientRect`](#useBoundingClientRect): keep track of a container's [DOM rectangle](https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect).\n* [`useClassNames`](#useClassNames): compile CSS class names from state.\n* [`useDebounce`](#useDeboune): debounce a function.\n* [`useInterval`](#useInterval): use an interval.\n* [`useIsMounted`](#useIsMounted): keep track of whether or not a component is mounted.\n* [`useIsomorphicLayoutEffect`](#useIsomorphicLayoutEffect): use this instead of [`useLayoutEffect`](https://reactjs.org/docs/hooks-reference.html#uselayouteffect) if your app uses serverside rendering (SSR).\n* [`useIsScrolling`](#useIsScrolling): keep track of whether or not the user is scrolling.\n* [`useLang`](#useLang): use the browser's language setting.\n* [`useOnScroll`](#useOnScroll): subscribe to scroll events.\n* [`usePrevious`](#usePrevious): keep track of a variable's previous value.\n* [`useTimeout`](#useTimeout): use a timeout.\n* [`useWindowScroll`](#useWindowScroll): keep track of the `window`'s scroll position.\n* [`useWindowSize`](#useWindowSize): keep track of the `window`'s size.\n\n### `useAnimationFrame(fn)` <a name=\"useAnimationFrame\"></a>\n\nUses [`requestAnimationFrame`](https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame) to animate a function `fn`. The callback is passed one single argument, the time delta in milliseconds that has passed between this and the last call. Please check the [example](#useAnimationFrameExample) below as well as the [Codepen example](https://codepen.io/haensl/pen/GRoNGNB).\n\n##### Example<a name=\"useAnimationFrameExample\"></a>\n\n```javascript\nimport React, { useState, useEffect } from 'react';\nimport { useAnimationFrame } from '@haensl/react-hooks';\n\nconst AnimatedTimer = () => {\n  const [seconds, setSeconds] = useState(0);\n  const [elapsed, setElapsed] = useState(0);\n\n  useAnimationFrame((dt) => {\n    setElapsed(elapsed + dt);\n  });\n\n  useEffect(() => {\n    if (elapsed >= 1000) {\n      setSeconds(seconds + 1);\n      setElapsed(elapsed - 1000);\n    }\n  }, [elapsed]);\n\n  return (\n    <span>{ seconds }</span>\n  );\n};\n```\n\n#### [→ Codepen example](https://codepen.io/haensl/pen/GRoNGNB)\n\n### `useBoundingClientRect(ref, [debounceMs = 25])` <a name=\"useBoundingClientRect\"></a>\nReturns the DOM rectangle _(initially `null`)_ as returned by [`getBoundingClientRect`](https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect) for the given container `ref`. Changes are debounced by 25 milliseconds by default. Customize the debounce interval via the optional `debounceMs` argument. Please check out the [example below](#useBoundingClientRectExample) as well as the [Codepen example](https://codepen.io/haensl/pen/YzwxqOq).\n\n#### Example\n```javascript\nimport React, { useRef } from 'react';\nimport { useBoundingClientRect } from '@haensl/react-hooks';\n\nconst RectTracker = () => {\n  const ref = useRef();\n  const containerRect = useBoundingClientRect(ref);\n\n  if (!containerRect) {\n    return (\n      <div ref={ ref }>\n        <span>no container rect</span>\n      </div>\n    );\n  }\n\n  return (\n    <div ref={ ref }>\n      <span>Container rect:</span>\n      <span>Width: {containerRect.width}</span>\n      <span>Height: {containerRect.height}</span>\n    </div>\n  );\n};\n```\n\n#### [→ Codepen example](https://codepen.io/haensl/pen/YzwxqOq)\n\n### `useClassNames(states, [separator = ' '])` <a name=\"useClassNames\"></a>\n\nCompiles a `states` object into a CSS class name string. By default all keys in `states` are joined by a space (`' '`) but you can supply a custom `separator` to cater to the needs of your CSS module naming methodology of choice. Please check the [examples below](#useClassNamesExample).\n\n#### Example<a name=\"useClassNamesExample\"></a>\n\n```javascript\nimport React, { useState } from 'react';\nimport { useClassNames } from '@haensl/react-hooks';\n\nconst MyComponent = () => {\n  const [stateA, setStateA] = useState(false);\n  const className = useClassNames({\n    MyComponent: true, // always have MyComponent in class name\n    MyComponent--stateA: stateA // add MyComponent--stateA when stateA is true\n  });\n\n  // className will be 'MyComponent' or 'MyComponent MyComponent--stateA'\n\n  return (\n    <div className={ className }>\n      {\n        // render content\n      }\n    </div>\n  );\n};\n```\n\n#### Example: custom separator<a name=\"useClassNamesExampleSeparator\"></a>\n\n```javascript\nimport React, { useState } from 'react';\nimport { useClassNames } from '@haensl/react-hooks';\n\nconst MyComponent = () => {\n  const [stateA, setStateA] = useState(false);\n  const className = useClassNames(\n    {\n      MyComponent: true, // always have MyComponent in class name\n      stateA // add --stateA when stateA is true\n    },\n    '--'\n  );\n\n  // className will either be 'MyComponent' or 'MyComponent--stateA'\n\n  return (\n    <div className={ className }>\n      {\n        // render content\n      }\n    </div>\n  );\n};\n```\n\n### `useDebounce(fn, debounceMs)` <a name=\"useDebounce\"></a>\n\nUses [memoization](https://reactjs.org/docs/hooks-reference.html#usememo) to debounce `fn` by `debounceMs` milliseconds. Please check the [example below](#useDebounceExample) as well as the [Codepen example](https://codepen.io/haensl/pen/eYJBKEZ).\n\n##### Example<a name=\"useDebounceExample\"></a>\n\n```javascript\nimport React from 'react';\nimport { useDebounce } from '@haensl/react-hooks';\n\nconst DebouncedButton = () => {\n  const handler = useDebounce(() => {\n    console.log('click');\n  }, 50); // handler only fires when there were no calls for 50ms.\n\n  return (\n    <button\n      onClick={ handler }\n    >click me</button>\n  );\n};\n```\n\n#### [→ Codepen example](https://codepen.io/haensl/pen/eYJBKEZ)\n\n### `useInterval(fn, intervalMs)` <a name=\"useInterval\"></a>\n\nCalls a `fn` repeatedly every `intervalMs` milliseconds.\n\n##### Example\n\n```javascript\nimport React, { useState, useCallback } from 'react';\nimport { useInterval } from '@haensl/react-hooks';\n\nconst MyAnimation = () => {\n  const [frame, setFrame] = useState(0);\n\n  // Update frame every 100 milliseconds\n  useInterval(() => {\n    setFrame((frame) => frame + 1);\n  }, 100);\n\n  return (\n    <div>{ frame }</div>\n  );\n};\n```\n\n\n### `useIsMounted()` <a name=\"useIsMounted\"></a>\n\nReturns a `function` to check whether or not the component invoking the hook is mounted.\n\n##### Example<a name=\"useIsMountedExample\"></a>\n\n```javascript\nimport React, { useEffect } from 'react';\nimport { useIsMounted } from '@haensl/react-hooks';\nimport api from 'somewhere';\n\nconst MyComponent = () => {\n  const isMounted = useIsMounted();\n  // load some data from the backend\n  useEffect(() => {\n    api.fetchData()\n      .then((data) => {\n        if (isMounted()) {\n          // use data only if component is still mounted\n        }\n      });\n  }, []);\n}\n```\n\n### `useIsomorphicLayoutEffect(fn, deps)` <a name=\"useIsomorphicLayoutEffect\"></a>\n\nThis hooks resolves the common React warning when using `useLayoutEffect` in a serverside environment:\n\n*Warning: useLayoutEffect does nothing on the server, because its effect cannot be encoded into the server renderer’s output format. This will lead to a mismatch between the initial, non-hydrated UI and the intended UI. To avoid this, useLayoutEffect should only be used in components that render exclusively on the client. See https://fb.me/react-uselayouteffect-ssr for common fixes.*\n\n`useIsomorphicLayoutEffect` resolves to [`useLayoutEffect`](https://reactjs.org/docs/hooks-reference.html#uselayouteffect) on the client and [`useEffect`](https://reactjs.org/docs/hooks-reference.html#useeffect) on the server. Use this hook instead of `useLayoutEffect` if your app uses serverside rendering (SSR).\n\n##### Example<a name=\"useIsomorphicLayoutEffectExample\"></a>\n\n```javascript\nimport React, { useRef } from 'react';\nimport { useIsomorphicLayoutEffect } from '@haensl/react-hooks';\n\nconst MyComponent = () => {\n  const ref = useRef();\n\n  // prevents serverside rendering warning\n  useIsomorphicLayoutEffect(() => {\n    if (ref.current) {\n      // do stuff with ref\n    }\n  }, [ref]);\n\n  return (\n    <div ref={ ref }>\n      // ...\n    </div>\n  )\n}\n```\n\n### `useIsScrolling([el = window, scrollEndMs = 100])` <a name=\"useIsScrolling\"></a>\n\nReturns a `boolean` indicating whether or not the user is scrolling. You can subscribe to a specific element via the first argument, `el` _(default: `window`)_. End of scrolling is determined by no incoming scroll events for `scrollEndMs` milliseconds _(default: `100`)_. Please check the [example blow](#useIsScrollingExample) as well as the [Codepen example](https://codepen.io/haensl/pen/qBbqeWz)\n\n##### Example<a name=\"useIsScrollingExample\"></a>\n\n```javascript\nimport React from 'react';\nimport { useIsScrolling } from '@haensl/react-hooks';\n\nconst UserScrollTracker = () => {\n  const isScrolling = useIsScrolling();\n\n  return (\n    <span>The user is currently { isScrolling ? '' : 'not' } scrolling</span>\n  );\n};\n```\n\n#### [→ Codepen example](https://codepen.io/haensl/pen/qBbqeWz)\n\n### `useLang({ defaultLang = 'en' }) => string` <a name=\"useLang\"></a>\n\nReturns the user's language setting from [`navigator.language`](https://developer.mozilla.org/en-US/docs/Web/API/Navigator/language). Use the `defaultLang` of the options parameter to set a default language. _(default: `'en`)_.\n\n##### Example <a name=\"useLangExample\"></a>\n\n```javascript\nimport React from 'react';\nimport { useLang } from '@haensl/react-hooks';\n\nconst MyComponent = () => {\n  const lang = useLang();\n\n  return (\n    <span>The user's preferred language is { lang }.</span>\n  );\n};\n```\n\n### `useOnScroll(fn, [el = window])` <a name=\"useOnScroll\"></a>\n\nSubscribes to [`scroll`](https://developer.mozilla.org/en-US/docs/Web/API/Element/scroll_event) events on the given element `el` _(default: `window`)_. The callback function `fn` is passed the [`Event`](https://developer.mozilla.org/en-US/docs/Web/API/Element/scroll_event). Please check the [example below](#useOnScrollExample) as well as the [Codepen example](https://codepen.io/haensl/pen/wvMoLJK).\n\n##### Example\n\n```javascript\nimport React, { useState } from 'react';\nimport { useOnScroll } from '@haensl/react-hooks';\n\nconst WindowScrollTracker = () => {\n  const [windowScroll, setWindowScroll] = useState(0);\n\n  useOnScroll(() => {\n    setWindowScroll(window.scrollY);\n  });\n\n  return (\n    <div className=\"WindowScrollTracker\">\n      <span>Window has scrolled down</span>\n      <span>{ windowScroll }px</span>\n    </div>\n  );\n};\n```\n\n#### [→ Codepen example](https://codepen.io/haensl/pen/wvMoLJK)\n\n### `usePrevious(value)` <a name=\"usePrevious\"></a>\n\nKeeps track of changes to a value, storing it's _previous_ state.\n\n##### Example\n\n```javascript\nimport { useEffect, useState } from 'react';\nimport { usePrevious, useWindowScroll } from '@haensl/react-hooks';\n\nconst ScrollDirectionTracker = () => {\n  const scrollPosition = useWindowScroll();\n  const previousScrollPosition = usePrevious(scrollPosition);\n  const [scrollDirection, setScrollDirection] = useState('down');\n\n  useEffect(() => {\n    if (previousScrollPosition.y < scrollPosition.y) {\n      setScrollDirection('down');\n    } else if (previousScrollPosition.y > scrollPosition.y) {\n      setScrollDirection('up');\n    }\n  }, [scrollPosition, previousScrollPosition]);\n\n  return (\n    <div className=\"ScrollDirectionTracker\">\n      <span>User is scrolling</span>\n      <span>{ scrollDirection }px</span>\n    </div>\n  );\n};\n```\n\n### `useTimeout(fn, timeoutMs = 0)` <a name=\"useTimeout\"></a>\n\nCalls `fn` once after `intervalMs` milliseconds.\n\n##### Example\n\n```javascript\nimport React, { useState, useCallback } from 'react';\nimport { useClassNames, useTimeout } from '@haensl/react-hooks';\n\nconst MyComponent = () => {\n  const [animate, setAnimate] = useState(false);\n\n  // Start animation after 1s\n  useTimeout(() => {\n    setAnimate(true);\n  }, 1000);\n\n  const className = useClassNames({\n    animate\n  });\n\n  return (\n    <div\n        className={ className }\n    >\n        // ...\n    </div>\n  );\n};\n```\n\n### `useWindowScroll([debounceMs = 25])` <a name=\"useWindowScroll\"></a>\nReturns an object _(`null` if there is no `window`)_ with properties `x` and `y` reflecting the the scroll position of the `window` or `document`. Scroll position updates are by default debounced by 25 milliseconds. This debounce interval can be customized via the optional `debounceMs` argument. Please check the [example below](#useWindowScrollExample) as well as the [Codepen example](https://codepen.io/haensl/pen/VweMJGm).\n\n#### Example<a name=\"useWindowScrollExample\"></a>\n\n```javascript\nimport React, { useState } from 'react';\nimport { useWindowScroll } from '@haensl/react-hooks';\n\nconst windowScrollTracker = () => {\n  const windowScroll = useWindowScroll();\n\n  if (!windowScroll) {\n    return (\n      <div className=\"WindowScrollTracker\">\n        no scroll poistion\n      </div>\n    );\n  }\n\n  return (\n    <div className=\"WindowScrollTracker\">\n      <span>Scroll x: {windowScroll.x}</span>\n      <span>Scroll y: {windowScroll.y}</span>\n    </div>\n  );\n};\n```\n\n#### [→ Codepen example](https://codepen.io/haensl/pen/VweMJGm)\n\n### `useWindowSize([debounceMs = 25])` <a name=\"useWindowSize\"></a>\nReturns an object _(initially `null`)_ with properties `width` and `height` reflecting the `innerWidth` and `innerHeight` of the `window` object. Size updates are by default debounced by 25 milliseconds. This debounce interval can be customized via the optional `debounceMs` argument. Please check the [example below](#useWindowSizeExample) as well as the [Codepen example](https://codepen.io/haensl/pen/mdVMVxY).\n\n#### Example<a name=\"useWindowSizeExample\"></a>\n\n```javascript\nimport React, { useState } from 'react';\nimport { useWindowSize } from '@haensl/react-hooks';\n\nconst WindowSizeTracker = () => {\n  const windowSize = useWindowSize();\n\n  if (!windowSize) {\n    return (\n      <div className=\"WindowSizeTracker\">\n        <span>No window size</span>\n      </div>\n    );\n  }\n\n  return (\n    <div className=\"WindowSizeTracker\">\n      <span>Window Size:</span>\n      <span>width: { windowSize.width }px</span>\n      <span>height: { windowSize.height }px</span>\n    </div>\n  );\n};\n```\n\n#### [→ Codepen example](https://codepen.io/haensl/pen/mdVMVxY)\n\n## [Changelog](CHANGELOG.md)\n\n## [License](LICENSE)\n","readmeFilename":"README.md"}