{"_id":"@blackblock/slow-network-checker","_rev":"3-6657068d95bb8162e6b3f76aebfaced5","name":"@blackblock/slow-network-checker","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"@blackblock/slow-network-checker","version":"0.1.0","description":"A simple package that uses NetworkInformation API to check if the user's network is slow.","keywords":["slow-network-checker","NetworkInformation","network-information"],"husky":{"hooks":{"post-commit":"yarn run test","pre-checkout":"yarn run test"}},"type":"commonjs","main":"./dist/cjs/index.cjs.js","module":"./dist/esm/index.mjs.js","exports":{".":{"require":"./dist/cjs/index.cjs.js","default":"./dist/esm/index.mjs.js"},"./esm":"./dist/esm/index.mjs.js"},"author":"Hugo Sum","license":"MIT","repository":{"type":"git","url":"git+https://github.com/winston0410/slow-network-checker.git"},"bugs":{"url":"https://github.com/winston0410/slow-network-checker/issues"},"homepage":"https://github.com/winston0410/slow-network-checker#readme","scripts":{"test":"npx mocha --recursive './test/**/*.js' --require esm","build":"npx spago bundle-module --main Main --to src/utilities/_Main.js && NODE_ENV=production npx rollup -c;","prepublish":"npm run build"},"devDependencies":{"@babel/register":"^7.12.1","@logux/eslint-config":"41.0.2","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-commonjs":"15.1.0","@rollup/plugin-node-resolve":"9.0.0","chai":"4.2.0","eslint":"^7.12.0","eslint-config-prettier":"^6.14.0","eslint-config-standard":"^15.0.0","eslint-plugin-chai-expect":"^2.2.0","eslint-plugin-chai-friendly":"^0.6.0","eslint-plugin-const-immutable":"^2.1.0","eslint-plugin-import":"^2.22.1","eslint-plugin-mocha":"^8.0.0","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.2","esm":"3.2.25","husky":"^4.3.0","mocha":"8.2.0","nyc":"15.1.0","rollup":"2.32.1","rollup-plugin-node-polyfills":"0.2.1","rollup-plugin-peer-deps-external":"2.2.4","rollup-plugin-terser":"7.0.2"},"_id":"@blackblock/slow-network-checker@0.1.0","dist":{"shasum":"dee1d1105c5786592a35af662d494954599bcc73","integrity":"sha512-Ovoy8cVSDUdJfvzYnoyQsAr5+o9oVu6VoywQaPUN2tzJDsogtzg1QnaoWnXt05XHZlsWS+LjT9HdvPlr2eHkNg==","tarball":"https://registry.npmjs.org/@blackblock/slow-network-checker/-/slow-network-checker-0.1.0.tgz","fileCount":5,"unpackedSize":10273,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJflZwGCRA9TVsSAnZWagAANSAQAIf8hgSSg3eMOfJX2Cws\nY4aXd0UMtlW81tOUoUdrBLiKNauZrHgyzbAC0JDWx5ezpQoh/lFMtuIfwQ5P\nW8O3rSMc85fLrOxcwbswv/dhFRFajGwwIMNCwmSn3dh36BP7t0PJv+Q+Pm7W\nH/YShMemNWiXXJoO8a+hVRHCI03StOnLwZD5CGNre17lOJSlLQ3amJWrKZeP\nZOykGyUlO7FFZ+D42Ou9FNoMTrQVXhyOV+JXhhf8SKORjT8CjiTpXsNzWmLP\nUNwZA7h6aZ0DRML4AqeX8snuk8cpKbdUZaWTKV0nMZ5DVnsQXO7/v+ILeOng\n+x245YJzfmvgte2FQoMEM6gHThAqkL2iJ79VHJ2LJZa3g9taMMesTG+lSvUc\nmlZtoYy8trndmLzPD1i1uBmJdVEI2STXCuJvEt3uTBIeUhGOu3bW9cWnUUY5\nXSBMzRONcsW+UZfn8BAm0gN/AW/rC1DuOnAtvVCxOepE0AwzyqBS+xW8HGVm\nBO8u6XsRe7rSfLEaWLzk2CCzvvhnoQ+WuJZkRO3fri8dl4wfrE6ZS5K8BmOX\nwkBbGLSZZmkzmWMUwC9E2NFJw11tEGYCFsKy0GB24MvkkX9dtN8XbvRWb4UQ\nRpefd3QCiyvAZGoRzwsOO3UUWXWPyNo4zm+A2hIA4bAKDXE4e8s6W6Ju+4tS\nt1Ou\r\n=s/xQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFaz9p6M8G6N61xNJHFhHXaVyNsxkrAds3DZ8GhCzitmAiEA76oKsfLRTYf7QMYYmCIPMLQr37ON+fcgrBJPx7ej6Oc="}]},"maintainers":[{"name":"johnwinston0410","email":"hugosum.dev@protonmail.com"}],"_npmUser":{"name":"johnwinston0410","email":"hugosum.dev@protonmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/slow-network-checker_0.1.0_1603640326062_0.2499837617342553"},"_hasShrinkwrap":false},"0.1.1":{"name":"@blackblock/slow-network-checker","version":"0.1.1","description":"A simple package that uses NetworkInformation API to check if the user's network is slow.","keywords":["slow-network-checker","NetworkInformation","network-information"],"husky":{"hooks":{"post-commit":"yarn run test","pre-checkout":"yarn run test"}},"type":"commonjs","main":"./dist/cjs/index.cjs.js","module":"./dist/esm/index.mjs.js","exports":{".":{"require":"./dist/cjs/index.cjs.js","default":"./dist/esm/index.mjs.js"},"./esm":"./dist/esm/index.mjs.js"},"author":{"name":"Hugo Sum"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/winston0410/slow-network-checker.git"},"bugs":{"url":"https://github.com/winston0410/slow-network-checker/issues"},"homepage":"https://github.com/winston0410/slow-network-checker#readme","scripts":{"test":"npx mocha --recursive './test/**/*.js' --require esm","build":"npx spago bundle-module --main Main --to src/utilities/_Main.js && NODE_ENV=production npx rollup -c;","prepublish":"npm run build"},"devDependencies":{"@babel/register":"^7.12.1","@logux/eslint-config":"41.0.2","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-commonjs":"15.1.0","@rollup/plugin-node-resolve":"9.0.0","chai":"4.2.0","eslint":"^7.12.0","eslint-config-prettier":"^6.14.0","eslint-config-standard":"^15.0.0","eslint-plugin-chai-expect":"^2.2.0","eslint-plugin-chai-friendly":"^0.6.0","eslint-plugin-const-immutable":"^2.1.0","eslint-plugin-import":"^2.22.1","eslint-plugin-mocha":"^8.0.0","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.2","esm":"3.2.25","husky":"^4.3.0","mocha":"8.2.0","nyc":"15.1.0","rollup":"2.32.1","rollup-plugin-node-polyfills":"0.2.1","rollup-plugin-peer-deps-external":"2.2.4","rollup-plugin-terser":"7.0.2"},"_id":"@blackblock/slow-network-checker@0.1.1","_nodeVersion":"14.4.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-61Kv7pFazHsPRyXQ+kAZlAO9B9kS6TbAqvqGFFQkSQXHVHS0NsHepkSnax/ryZnRl+dAACIPPpnBgc7pVcqhjw==","shasum":"3632f0d232f11bd60ca21b806c45e6f7acdbb1e8","tarball":"https://registry.npmjs.org/@blackblock/slow-network-checker/-/slow-network-checker-0.1.1.tgz","fileCount":5,"unpackedSize":10984,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfqWmECRA9TVsSAnZWagAAlOcP/3UudMT1KHsNljtvQ8fA\nM9QC9txx/PD2SaKiaN4XPadN6UF/UxTt1RYlX6Lz7mlUlV0BfiQtwNUzgRaK\nzu+XoEz5fp4V9FQiIeg/17XmkndMlsU0+Zlo6+iNIhvrVv++RSHwKhEPf0Md\nOecBWp0KiqfRj+E5LC+dvzYO19jgNubxvNV39OWJP30FldbgTzf3CmXUXePP\nvub4GRMewHV9hjvaj+3YBELzl1nmpT9ZVNRzojBGHE2O7V008FlpRfqSJ9iG\n3bqxBxbP6h+TE7GpWxNZcJeKTdE2gcTgVfIrq68ymgyIIt0JMjtcjh6Lu9A8\nSOh/fLr/J8ySzM/ZrVIn/9Ahb8D5q5COskDgFboczBzlPZjB5ZC3/1rMfQ87\nEGmP/RjHWPjOJ8wfDX/uCZZWlZWPp665PTiaF5AAZtH4jCZKLKJ4FbYU4VSI\nVkPmRyFwFTpMgJb0RvNjMGzn1auLm2LgduBj56JO0PtDTKnUjt+eXXgNr46e\nyWrgevWdOWmSYJFwpkNCnIUEeS1EDeWiwoKawvB+E34SqpHp6V8g/oBVHK85\nHMjwyt016vVqDgLyc4Yztq948BXWdXStHUZziyMTtH4RQaioCw2H1Vk3ob1F\nHTHNlgBKOV4GQHuAduRDGoxSwcKp+aZQi+J+y21HyNNJQMI2Z/jknDhQQd9Q\ndkZO\r\n=D1Vd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDkjA8p7o82+Y8NDogeMskdOEb3N7gaHmFEzS16pYXbvQIgQbupmbIaPYYk91G+heSpqVamLfd5yOuNuzOP908/afU="}]},"_npmUser":{"name":"johnwinston0410","email":"hugosum.dev@protonmail.com"},"directories":{},"maintainers":[{"name":"johnwinston0410","email":"hugosum.dev@protonmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/slow-network-checker_0.1.1_1604938116367_0.6745658879121623"},"_hasShrinkwrap":false},"0.1.2":{"name":"@blackblock/slow-network-checker","version":"0.1.2","description":"A simple package that uses NetworkInformation API to check if the user's network is slow.","keywords":["slow-network-checker","NetworkInformation","network-information"],"husky":{"hooks":{"post-commit":"yarn run test","pre-checkout":"yarn run test"}},"type":"commonjs","main":"./dist/cjs/index.cjs.js","module":"./dist/esm/index.mjs.js","exports":{".":{"require":"./dist/cjs/index.cjs.js","default":"./dist/esm/index.mjs.js"},"./esm":"./dist/esm/index.mjs.js"},"author":{"name":"Hugo Sum"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/winston0410/slow-network-checker.git"},"bugs":{"url":"https://github.com/winston0410/slow-network-checker/issues"},"homepage":"https://github.com/winston0410/slow-network-checker#readme","scripts":{"test":"npx mocha --recursive './test/**/*.js' --require esm","build":"npx spago bundle-module --main Main --to src/utilities/_Main.js && NODE_ENV=production npx rollup -c;","prepublish":"npm run build","dev":"npx spago bundle-module --main Main --to src/utilities/_Main.js && NODE_ENV=development npx rollup -c -w;"},"devDependencies":{"@babel/register":"^7.12.1","@logux/eslint-config":"41.0.2","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-commonjs":"15.1.0","@rollup/plugin-node-resolve":"9.0.0","chai":"4.2.0","eslint":"^7.12.0","eslint-config-prettier":"^6.14.0","eslint-config-standard":"^15.0.0","eslint-plugin-chai-expect":"^2.2.0","eslint-plugin-chai-friendly":"^0.6.0","eslint-plugin-const-immutable":"^2.1.0","eslint-plugin-import":"^2.22.1","eslint-plugin-mocha":"^8.0.0","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.2","esm":"3.2.25","husky":"^4.3.0","mocha":"8.2.0","nyc":"15.1.0","rollup":"2.32.1","rollup-plugin-node-polyfills":"0.2.1","rollup-plugin-peer-deps-external":"2.2.4","rollup-plugin-terser":"7.0.2"},"_id":"@blackblock/slow-network-checker@0.1.2","_nodeVersion":"12.19.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-+FBzHNBf1WHGOORWzMT8BuH+h7D50e4w7SvnHzhY4qBCa5fEA8DcwuNtka8kNT6CuL8YPllEcjQs4p7BLDxTTQ==","shasum":"262cf9723c8f26bf7edf504eed85649c79e87ad5","tarball":"https://registry.npmjs.org/@blackblock/slow-network-checker/-/slow-network-checker-0.1.2.tgz","fileCount":5,"unpackedSize":11476,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfqho0CRA9TVsSAnZWagAASYsP/iBb3kPBsqC9+GOBrRWX\nMyIKaTWR2l91U2G9HVim3xiiUdiS4ysGz7OFKrx7jcmhVXMLV+tpScFBqVoI\nOjOmujl1XkyRi5HAm//fW1Nv9ELSXByaRYA4XxwM8Q5RwSOp721xfoOi3odH\nfJc9xs6WksEJ3EsFaIETfvi1boXGO7VJ7wvJylxt1PgSdMVG6F/7EbMbSSx8\n4QQIY+2vZFP1XHGoo5gxB+aHT/ME+bwjuqJMtCyZ9vZ1NUS7IgT4ZnIyh81X\n4ngcIXtPIQn60FQ4HQW88NWJb1FIkLXg4a97FgGbjT6BFPKCzfrCtS638viB\nB+h+PWw8FdNOjsEYfaHznDUoqq0dMg6SVp3DCAgaoNouR18UMGMjMbZSShkW\nc8KOageci179Xlm56UmU2ZY2N05Wyv0IkzxP5UAwjg/gR9pNjKwRDQWhtq3E\novSlHaUzBPxk641ut+CvK+XTo0rJXkAhyUN/7/pP3GoQK7Ng+LIbzi4+twZ1\n/Zs/dtUsRBHcWBLjJrrDZIiffvNf1MOsE7p3I2SAUy1IQw3k8uJJ3EVPPtCy\nzsdY5QBQlQUSpVaGFQYIYmQQDm+h8ttH60t7OI113j6/Xafk7gxvSQrBd6EJ\nRfNXX5Vej6CgsPvWattXbCbd/7YeZZNgEJGLSBGeI3JFaeUK0969WwF2MuTm\nfW1I\r\n=dzQV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDVevJwe1IL0HQp1nnodATRiMuH8GpMDedcyRAX2kVOAAiBdDOvm909+WZa5C/Z1Ek7e24aTZxRahmyxLxPSxCPqog=="}]},"_npmUser":{"name":"johnwinston0410","email":"hugosum.dev@protonmail.com"},"directories":{},"maintainers":[{"name":"johnwinston0410","email":"hugosum.dev@protonmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/slow-network-checker_0.1.2_1604983348113_0.2799068748993816"},"_hasShrinkwrap":false}},"time":{"created":"2020-10-25T15:38:45.814Z","0.1.0":"2020-10-25T15:38:46.234Z","modified":"2022-04-04T19:19:47.787Z","0.1.1":"2020-11-09T16:08:36.577Z","0.1.2":"2020-11-10T04:42:28.251Z"},"maintainers":[{"name":"johnwinston0410","email":"hugosum.dev@protonmail.com"}],"description":"A simple package that uses NetworkInformation API to check if the user's network is slow.","homepage":"https://github.com/winston0410/slow-network-checker#readme","keywords":["slow-network-checker","NetworkInformation","network-information"],"repository":{"type":"git","url":"git+https://github.com/winston0410/slow-network-checker.git"},"author":{"name":"Hugo Sum"},"bugs":{"url":"https://github.com/winston0410/slow-network-checker/issues"},"license":"MIT","readme":"# Slow Network Detector\n\n[![Maintainability](https://api.codeclimate.com/v1/badges/027b21e2c814370917dc/maintainability)](https://codeclimate.com/github/winston0410/slow-network-checker/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/027b21e2c814370917dc/test_coverage)](https://codeclimate.com/github/winston0410/slow-network-checker/test_coverage) [![Known Vulnerabilities](https://snyk.io/test/github/winston0410/slow-network-checker/badge.svg?targetFile=package.json)](https://snyk.io/test/github/winston0410/slow-network-checker?targetFile=package.json) [![Codacy Badge](https://app.codacy.com/project/badge/Grade/41dc6aaa27f54a54b0b14a3114a09ce0)](https://www.codacy.com/gh/winston0410/slow-network-checker/dashboard?utm_source=github.com&utm_medium=referral&utm_content=winston0410/slow-network-checker&utm_campaign=Badge_Grade)\n\nA simple package that uses [NetworkInformation API](https://developer.mozilla.org/en-US/docs/Web/API/NetworkInformation) to check if the user's network is slow.\n\n## Usage\n\n```javascript\nimport {\n  isSlowNetwork\n} from '@blackblock/slow-network-checker'\n\nconst slowNetworkDefinition = {\n  effectiveType: '2g',\n  downlink: 1,\n  saveData: true,\n  rtt: 1000\n}\n\nconst networkInformation = navigator.connection || navigator.mozConnection || navigator.webkitConnection\n\nconst result = isSlowNetwork(slowNetworkDefinition)(networkInformation) //Return Boolean\n```\n\n## Installation\n\n```\nnpm i @blackblock/slow-network-checker\n```\n\n## API Reference\n\n### Type Definition\n\n#### Definition\n\nAn object that lists the definition of a slow network based on different metrics.\n\n```purescript\ntype Definition = { effectiveType :: String,\nsaveData :: Boolean,\ndownlink :: Int,\nrtt :: Int}\n```\n\n#### NetworkPerformance\n\nAn object that records the performance of a network in different metrics. The [NetworkInformation](https://developer.mozilla.org/en-US/docs/Web/API/NetworkInformation) object should be passed in here.\n\nYou should also pass in the online status from [Navigator.onLine](https://developer.mozilla.org/en-US/docs/Web/API/NavigatorOnLine/onLine) in the performance object as **`online`**, so that the status of offline and slow network can be differentiated.\n\n```purescript\ntype NetworkPerformance = {\nonline :: Boolean,\neffectiveType :: String,\nsaveData :: Boolean,\ndownlink :: Int,\nrtt :: Int}\n```\n\n### Function\n\n#### `isSlowNetwork`\n\nMain function of this package. Test if the `NetworkInformation` object met the definition of a slow network.\n\nIf the actual network performance is slower or equal to your definition defined as `Definition`, it will be regarded as a slow network and return `true`, `false` otherwise.\n\nIf the user is offline, `isSlowNetwork` will always return `false`, so that the status of offline and slow network can be differentiated.\n\n**`isSlowNetwork :: Definition -> NetworkPerformance -> Boolean`**\n","readmeFilename":"README.md"}