{"_id":"trendline","_rev":"11-9dd1b34399b04c2ae52ef56ff4fa4ffc","name":"trendline","dist-tags":{"beta":"1.0.0-beta.3","latest":"1.1.0"},"versions":{"0.1.0":{"name":"trendline","version":"0.1.0","keywords":["trendline","linear regression","data","prediction","graph"],"author":{"name":"Henning Ofstad","email":"ofstad9@gmail.com"},"license":"MIT","_id":"trendline@0.1.0","maintainers":[{"name":"heofs","email":"ofstad9@gmail.com"}],"homepage":"https://github.com/heofs/trendline#readme","bugs":{"url":"https://github.com/heofs/trendline/issues"},"dist":{"shasum":"76c98ea2cd299b27b7e1b842ef48a7079a714eeb","tarball":"https://registry.npmjs.org/trendline/-/trendline-0.1.0.tgz","fileCount":9,"integrity":"sha512-mAsQIzn20fUVx1EG1voe+X+tLjnzxGeuKTSlBx3NzkNDKt2UXJMCRN57qv/xA5EQb3e7szlSv8l4sMJJOpa2hg==","signatures":[{"sig":"MEUCID+2NTrcat1XVrjOcBFtjIM37OrzGlNFX2gBF2Wf2zNbAiEA65LhOOM+lbxRFSWkngwKWvZ2jnXSC06b3TncB+qvBjE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8241,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJez28/CRA9TVsSAnZWagAA1+cP/0GEfu+ciu6I4yBQ0sIu\nGB3VjsZZdOE5B+GRrCAL2uaxt77nkcBRjwX59UX3nXW+q6AXzvEpbv2DCmwM\nwXwcisWi/6pVGlG0hBQYrZLGysM8+2CcgglqZCPN24UEO3lHoCtjiy8LtL7S\nxKIpHV2lAv+h65KnWtPuoHTx9yDe4ZsqMc9a3AFxdW8kt1VyGKxJtWya9aLy\n1sw8HCZLoOe92AVekFd9T3ixKpHjpX0DFwab2uDoLI7XEUp2q/8rwYRYHlfA\nyWKI85TFFqRbsZVv9gIyVMKhv4UgWA0Lh+tR8/hQzLVOerqkk8hL8gDkZqoq\nR4JZmwjopnYkRyFC6brN7UvJVUYKQC2zvRGQKHFmLDTMg5hQ3+Q+jCYRhZg0\ngxn4EBxCOK4mOvq0A1q6Xg5den0ZOyTPthfbz/1oVX7987gzrHmTuUa7rZxC\nrp1lu3xTwpHv0ZIpXJQqjQyuOHS5PL81A/KjJ0AZ2AurIrRfdUg2s3iTh26j\nPTWqRwBJvKs02Fwcu5ElXp0Xhl3iPxMz8Ov7cvYgGvjsHrJv9NJh51LX73e6\n5+Xzbr/l30TTWuEy8df9Ht1qd/frrbxt8lwg/E1ZET/mQ3xkNMGJnAe8X7cR\nxtw5T4QzQ8RjxAs7HUFq4Nl/K6AjsCGCCJl4Id9qas+4bx/AFtc7h1MfjOal\niZ3k\r\n=5KE5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"3094edb0c679fa74f1f0193be41fff3b36225224","scripts":{"lint":"eslint .","test":"jest --watchAll"},"_npmUser":{"name":"heofs","email":"ofstad9@gmail.com"},"repository":{"url":"git+https://github.com/heofs/trendline.git","type":"git"},"_npmVersion":"6.14.5","description":"Generate a trend line using linear regression","directories":{},"_nodeVersion":"12.16.3","_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.1","eslint":"^7.1.0","prettier":"^2.0.5","eslint-plugin-jest":"^23.13.2","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.3"},"_npmOperationalInternal":{"tmp":"tmp/trendline_0.1.0_1590652734998_0.16050073816794952","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"trendline","version":"0.2.0","keywords":["trendline","linear regression","data","prediction","graph"],"author":{"name":"Henning Ofstad","email":"ofstad9@gmail.com"},"license":"MIT","_id":"trendline@0.2.0","maintainers":[{"name":"heofs","email":"ofstad9@gmail.com"}],"homepage":"https://github.com/heofs/trendline#readme","bugs":{"url":"https://github.com/heofs/trendline/issues"},"dist":{"shasum":"44e5149ca781c1bf768142510abec405224934da","tarball":"https://registry.npmjs.org/trendline/-/trendline-0.2.0.tgz","fileCount":9,"integrity":"sha512-kEDrDr1Bm8lMItiQ2dcLAoGiAL/ptOxhb6E2FQbrKUHCWDOgvd0eMgZujgFg3NZu5znqcTiRxk2GUI823tm/VQ==","signatures":[{"sig":"MEUCIBYYFNqQb2r+4c7dKup6x5eouENZty88O+Yo2DrDDC2KAiEAtHDyvnZVU12lRrtJeyoJ+YllO+lNYWu3W9HYAOG2qxo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9798,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJez3R9CRA9TVsSAnZWagAA3eMQAJbpPLB4EQlmV2JhUdp8\naqfCpobSi8n/1m1z0P1DnZAHo/fGTvqrgu4kgHi7hFvhXm//iZfOfCGvDPK8\nXSzOq18T/5MmzcbueJT16j1ZrRWqCz1sumjQmbX1MdwAX04LVId74OqLys2E\nOu8DKbagiuNLeO0xLOmx0tAbPH2O6u8viY5iLn14QXBnssGM7ZpHSBQiFc37\nvexijgWJB/TkAQ4p79CQ7tbanlZsrDT7qwImPMnp8CH02re6EpHt9aH+3Zgy\nHoIvRp0S4+C0eajyZNe+mKB5fcc2L2rM9ghOHm1WozyaEwhxQvS0Jmak1dmq\nuRcvQDZz7J9iWjoKB97ZeGp98iJiZ5rTa8yhTHzyo7T82Sjpvv4E4fG4QMT0\nUNWvqxP8BCTezfkfPhk4AEiDagQGnhPxhe3cBrzJ0gVP82+H514TRXWphmCx\nx1EahJi7r+nDQeztNgk1iOPBxNezTE1HIqBwFQv3p8UVlnXbdYUiulJsmxcW\n/xUTzu7l5yX0a3/TzUl9EiGN92/xqCaBq5r6arfdGtLXsKCc6qBeqipMSNgo\n1fUIFXLsHhcxRe6EpK9k0ffcqKlgLXE7CNBmRyn6rGSIo+bIrKtYjGTYEaaG\nnjXw032NoYOx5IpIAy22OuQhjS0ucmejrswwSDZ0azcMglDEr105KVUzmHJI\n4xsq\r\n=jAgb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"3094edb0c679fa74f1f0193be41fff3b36225224","scripts":{"lint":"eslint .","test":"jest --watchAll"},"_npmUser":{"name":"heofs","email":"ofstad9@gmail.com"},"repository":{"url":"git+https://github.com/heofs/trendline.git","type":"git"},"_npmVersion":"6.14.5","description":"Generate a trend line using linear regression","directories":{},"_nodeVersion":"12.16.3","_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.1","eslint":"^7.1.0","prettier":"^2.0.5","eslint-plugin-jest":"^23.13.2","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.3"},"_npmOperationalInternal":{"tmp":"tmp/trendline_0.2.0_1590654077154_0.30840161439927805","host":"s3://npm-registry-packages"}},"0.3.0":{"name":"trendline","version":"0.3.0","keywords":["trendline","linear regression","data","prediction","graph"],"author":{"name":"Henning Ofstad","email":"ofstad9@gmail.com"},"license":"MIT","_id":"trendline@0.3.0","maintainers":[{"name":"heofs","email":"ofstad9@gmail.com"}],"homepage":"https://github.com/heofs/trendline#readme","bugs":{"url":"https://github.com/heofs/trendline/issues"},"dist":{"shasum":"3d730c276f378e83b76a0a678794f4bc533f7785","tarball":"https://registry.npmjs.org/trendline/-/trendline-0.3.0.tgz","fileCount":9,"integrity":"sha512-bQpIM51KvQ257c2hy7NcxjUuOHCrfvimDNRfhhTeJu8tgicYBymBMnc88dafyiX3Kf9zGgSaOuSv3GX9dzjlhg==","signatures":[{"sig":"MEYCIQCbrDj5SIwSfNZhDbbjDr+kkqP5dW7ITRBujLSS8pgjngIhAL6xTXougNeUAdhOI07d9uOVS46aWDWjmnLqaV4WDtFP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9975,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJez3bkCRA9TVsSAnZWagAApbMP/iPhfswRW4POOaDW2S8t\nwLhyTI9lvWscTz4nT2iURcX33IJ9oUldHN/I70jTTfi8ZJyIEU3MR3FJ0QXL\nx2u71+VubPbRuEoq+JKcAIMDgz1Ps6Ff+IAaDBRhfGLDwRvpiTgL1rqErLBc\nsz5F74fkRV6e5VpIwwEuca/co6/aysjlN7V3eCPqGIdLW+lPBCwdfaC3rjgS\nj29wL4ButneUkPpLDhxgyCzCQxhMJvt4/UC4H8MMtV6MRhDD4mkGy5bON1EF\noJwXfv+Sio0IbLgmYIfd315tjUspvvdfI+ZdH/hZDAUn0F8pPp1AjaHrk3Im\nA1unTKb+Gb862oGJ1Nw6/m7vR+XubLEdPILqEBF8bBfj48Ii3TerCMYNLLYv\nspF2RvcoQnFx74OKagozaEHuQr9QAA0seqT5835qrWqX1hilbMH54MiNOLRV\nFWb6NTGkKm/fC7aYsW3Kus4CVBIiIegn8XnIkVjWhP2Ct9CA2iszg66CUxcU\nWAWxrqT8IPrty20YBW7geeWTqo7aMR17P4mhRmV+wTGihll9nUOz2c3iB5Zn\n+kijHLMDpwp0e+k3LiubEXy2HoMkqFV/MEr8GWetfxV95Hga2c2wdkJzVNt5\nFMjwraKX6a7bdu13iE+xD9a3aEthos30noCgo2l6/JTeds/wqP0IWqMWXqHS\nIOJV\r\n=7HOs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"b0e302c85842519314f966518e940db2d0c60040","scripts":{"lint":"eslint .","test":"jest --watchAll"},"_npmUser":{"name":"heofs","email":"ofstad9@gmail.com"},"repository":{"url":"git+https://github.com/heofs/trendline.git","type":"git"},"_npmVersion":"6.14.5","description":"Generate a trend line using linear regression","directories":{},"_nodeVersion":"12.16.3","_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.1","eslint":"^7.1.0","prettier":"^2.0.5","eslint-plugin-jest":"^23.13.2","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.3"},"_npmOperationalInternal":{"tmp":"tmp/trendline_0.3.0_1590654692066_0.8104717197733746","host":"s3://npm-registry-packages"}},"0.3.1":{"name":"trendline","version":"0.3.1","keywords":["trendline","linear regression","data","prediction","graph"],"author":{"name":"Henning Ofstad","email":"ofstad9@gmail.com"},"license":"MIT","_id":"trendline@0.3.1","maintainers":[{"name":"heofs","email":"ofstad9@gmail.com"}],"homepage":"https://github.com/heofs/trendline#readme","bugs":{"url":"https://github.com/heofs/trendline/issues"},"dist":{"shasum":"b2806344100b34f263e58816dd4d1f4bad278146","tarball":"https://registry.npmjs.org/trendline/-/trendline-0.3.1.tgz","fileCount":9,"integrity":"sha512-mOr0d1Fa+xzVxOXx8tiGx1h+g2gbM7oTGH6LdESIKokvTWB0CsqM8gVtGaB7EuLjijypYQuTmZvd+iH1LhB0iQ==","signatures":[{"sig":"MEUCIQDrw97ZRwDD9Q2og1ZJJpDl0gemjeTnd329HTSbhFFNKQIgN75PBwLRBodcTZsg5SzE65E2Qak4d3RGX1JptTFpR54=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11356,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJez6jWCRA9TVsSAnZWagAApkkQAJWOKzbwNkEpPZQlF9c/\nbT9c4EzNV6dFdGV/LrGdqh4xGLur/fcXu7Mi8Is0XouaLtx1GFfJEt/z+s/L\nQEfQMp8Ie2v/xAwUm7im+YSxUcHXYC6mqWCWZ25fkw1Hi9L4qqgzD5v6A2HS\nmGiwtMU3cOosZWBOLIs9xM9RL7esw0pxUOjG3CSHKLNiLHskoLhWT2unFMx9\n+/TJGfOkif4+puW3I4BXWjY0xH+RJifEAe9H7nNRpqwiQ9ZhYPpbSfou2wG2\nSovCZSo0FNq0RdMHY/6EmGb1HaZrAQRVc4tNoNNBEJRpxkfAyxKxrA0ii48D\nSTI/J9QRLDIzTQqEoNE2psEq24lw3u20HqCrsT5RtKMTTJ7bz3xR3vUR33p1\n5yC1ecse2PsB5XX4UnhOTRr5wDO3gMsepzmhA2wNXwoQWoAjpeaV02y6tRDw\nO+AFgAVDALkl4QYEosIr9822hAkAw7tKngh9GJJ90qEjOfFYjn9xHLLb4QdE\nw1LpVfOdwP0lZPjgVqshFJnT4zP3XamkJcLOoUWh9a8mGTqljHJnIqniL5BE\nPNb/QfotWlfCV3M4Oh6QbwVCvv+HUyd1NtduBiPryK/HgxPBU6692KGtO9wE\n/CYldeRjAtGKSL6kXGH2+TcH3h9W+B8qcbAjHVuXg+OqVdDIYde5La8TVHO2\n5b/3\r\n=w8n2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"a20c6deaf6ef1e44d0f1939b5a8cdc65e6b5a96c","scripts":{"lint":"eslint .","test":"jest"},"_npmUser":{"name":"heofs","email":"ofstad9@gmail.com"},"repository":{"url":"git+https://github.com/heofs/trendline.git","type":"git"},"_npmVersion":"6.14.5","description":"Generate a trend line using linear regression","directories":{},"_nodeVersion":"12.16.3","_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.1","eslint":"^7.1.0","prettier":"^2.0.5","eslint-plugin-jest":"^23.13.2","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.3"},"_npmOperationalInternal":{"tmp":"tmp/trendline_0.3.1_1590667477585_0.23909338169439587","host":"s3://npm-registry-packages"}},"1.0.0-beta.0":{"name":"trendline","version":"1.0.0-beta.0","keywords":["trendline","linear regression","data","prediction","graph"],"author":{"name":"Henning Ofstad","email":"ofstad9@gmail.com"},"license":"MIT","_id":"trendline@1.0.0-beta.0","maintainers":[{"name":"heofs","email":"ofstad10@gmail.com"}],"homepage":"https://github.com/heofs/trendline#readme","bugs":{"url":"https://github.com/heofs/trendline/issues"},"dist":{"shasum":"e46dfb92f2e2d8ddf7bae6af7a704ce68d12e618","tarball":"https://registry.npmjs.org/trendline/-/trendline-1.0.0-beta.0.tgz","fileCount":9,"integrity":"sha512-nZVbtFxvV7YCK8HahqW/F5hxzwWyh+eiAEo10IZNjhndw2ANasI9m24qrIxXo28XhJ5jBINMupiRtUoKVBeCDQ==","signatures":[{"sig":"MEUCIQCNhmPaYvChtSxTijUikFK90gjDOxemWsKaGQ0ksfwYWAIgIdVB7sTDA4oaPty40MPnOr9wA3yjYjRXbUB79SW+rzE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12860},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"aeec7bd619a2dc0f3316ba5411c6f685be0ce342","scripts":{"lint":"eslint .","test":"jest","build":"tsup"},"_npmUser":{"name":"heofs","email":"ofstad10@gmail.com"},"repository":{"url":"git+https://github.com/heofs/trendline.git","type":"git"},"_npmVersion":"9.6.7","description":"Generate a trendline using linear regression","directories":{},"_nodeVersion":"18.17.1","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^7.2.0","eslint":"^7.10.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^2.1.2","typescript":"^5.2.2","@types/jest":"^29.5.5","eslint-plugin-jest":"^23.20.0","eslint-config-prettier":"^6.12.0","eslint-plugin-prettier":"^3.1.4"},"_npmOperationalInternal":{"tmp":"tmp/trendline_1.0.0-beta.0_1696755159265_0.6907330060213541","host":"s3://npm-registry-packages"}},"1.0.0-beta.1":{"name":"trendline","version":"1.0.0-beta.1","keywords":["trendline","linear regression","data","prediction","graph"],"author":{"name":"Henning Ofstad","email":"ofstad9@gmail.com"},"license":"MIT","_id":"trendline@1.0.0-beta.1","maintainers":[{"name":"heofs","email":"ofstad10@gmail.com"}],"homepage":"https://github.com/heofs/trendline#readme","bugs":{"url":"https://github.com/heofs/trendline/issues"},"dist":{"shasum":"7088b38da96520422d5945ca0898143390636471","tarball":"https://registry.npmjs.org/trendline/-/trendline-1.0.0-beta.1.tgz","fileCount":9,"integrity":"sha512-W1xS8oIv7/mL00RXBXJ9zSajipI7hLxBkaQoLVIefMxXqih/mSs7PFkg5Qae7EqNyHjZSvUyvQVVWTHQ1Vt9GA==","signatures":[{"sig":"MEQCIAm7TEJe71Kmae1O59t7vAoTreWPz5VEfZXvKFnGmAfrAiAHkb5O5yn/4cqM8Tq0n/JhEafhNaK1xXG5f5v/og0bnQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12918},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"36b5986dfdea9c8c3146ade9363419893b5c571d","scripts":{"lint":"eslint .","test":"jest","build":"tsup"},"_npmUser":{"name":"heofs","email":"ofstad10@gmail.com"},"repository":{"url":"git+https://github.com/heofs/trendline.git","type":"git"},"_npmVersion":"9.6.7","description":"Generate a trendline using linear regression","directories":{},"_nodeVersion":"18.17.1","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^7.2.0","eslint":"^7.10.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^2.1.2","typescript":"^5.2.2","@types/jest":"^29.5.5","eslint-plugin-jest":"^23.20.0","eslint-config-prettier":"^6.12.0","eslint-plugin-prettier":"^3.1.4"},"_npmOperationalInternal":{"tmp":"tmp/trendline_1.0.0-beta.1_1696758409821_0.7805823083422192","host":"s3://npm-registry-packages"}},"1.0.0-beta.2":{"name":"trendline","version":"1.0.0-beta.2","keywords":["trendline","linear regression","data","prediction","graph"],"author":{"name":"Henning Ofstad","email":"ofstad9@gmail.com"},"license":"MIT","_id":"trendline@1.0.0-beta.2","maintainers":[{"name":"heofs","email":"ofstad10@gmail.com"}],"homepage":"https://github.com/heofs/trendline#readme","bugs":{"url":"https://github.com/heofs/trendline/issues"},"dist":{"shasum":"59aa6ef86ee22764bc7dfe59fa127f77c0badc62","tarball":"https://registry.npmjs.org/trendline/-/trendline-1.0.0-beta.2.tgz","fileCount":9,"integrity":"sha512-0E9K24VJbybcZkVmhiQU7R3Eq1nlJKEhB9by7I+XQnwcW9uzT8bPjjCRxuj6bdpJtQPqyDB1Kyt/xtm1qcC67w==","signatures":[{"sig":"MEYCIQDgfPkLzzzozVudFoMryuewFYWGYgLo04khhM3532TyfwIhAN3Vo0+8RL1FU0g2S11PDB5dLILGdq3WsSMoW9qEQVoK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12938},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"ad6f51f7c44e32f16ca067c8b5b486b6d8800677","scripts":{"lint":"eslint .","test":"jest","build":"tsup"},"_npmUser":{"name":"heofs","email":"ofstad10@gmail.com"},"repository":{"url":"git+https://github.com/heofs/trendline.git","type":"git"},"_npmVersion":"9.6.7","description":"Generate a trendline using linear regression","directories":{},"_nodeVersion":"18.17.1","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^7.2.0","eslint":"^7.10.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^2.1.2","typescript":"^5.2.2","@types/jest":"^29.5.5","eslint-plugin-jest":"^23.20.0","eslint-config-prettier":"^6.12.0","eslint-plugin-prettier":"^3.1.4"},"_npmOperationalInternal":{"tmp":"tmp/trendline_1.0.0-beta.2_1696758754853_0.5594292911379837","host":"s3://npm-registry-packages"}},"1.0.0-beta.3":{"name":"trendline","version":"1.0.0-beta.3","keywords":["trendline","linear regression","data","prediction","graph"],"author":{"name":"Henning Ofstad","email":"ofstad9@gmail.com"},"license":"MIT","_id":"trendline@1.0.0-beta.3","maintainers":[{"name":"heofs","email":"ofstad10@gmail.com"}],"homepage":"https://github.com/heofs/trendline#readme","bugs":{"url":"https://github.com/heofs/trendline/issues"},"dist":{"shasum":"4c865055681ce591afb37587833b77ba5fa01da1","tarball":"https://registry.npmjs.org/trendline/-/trendline-1.0.0-beta.3.tgz","fileCount":9,"integrity":"sha512-oIyMlrqR+OuyeKyyo3VmkCbpDAJNxl3lfvwZP1MV5XRZ+5lbndhHWovNMhJ6VjgFuWI0qEck8SXrD0C0vR4xyA==","signatures":[{"sig":"MEUCIDpeAoWEQwa0mYBEbNYO0DhS34cDwzHqVy2jcRscIJevAiEAy6TqgkjhlmOVWz6AzS6yxr1IcyUBMqNb0jnGDVUwJO4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12918},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"81088a3a8aa84bb59f79830dd8fea59e1e025c1f","scripts":{"lint":"eslint .","test":"jest","build":"tsup"},"_npmUser":{"name":"heofs","email":"ofstad10@gmail.com"},"repository":{"url":"git+https://github.com/heofs/trendline.git","type":"git"},"_npmVersion":"9.6.7","description":"Generate a trendline using linear regression","directories":{},"_nodeVersion":"18.17.1","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^7.2.0","eslint":"^7.10.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^2.1.2","typescript":"^5.2.2","@types/jest":"^29.5.5","eslint-plugin-jest":"^23.20.0","eslint-config-prettier":"^6.12.0","eslint-plugin-prettier":"^3.1.4"},"_npmOperationalInternal":{"tmp":"tmp/trendline_1.0.0-beta.3_1696758971213_0.9166818375078536","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"trendline","version":"1.0.0","keywords":["trendline","linear regression","data","prediction","graph"],"author":{"name":"Henning Ofstad","email":"ofstad9@gmail.com"},"license":"MIT","_id":"trendline@1.0.0","maintainers":[{"name":"heofs","email":"ofstad10@gmail.com"}],"homepage":"https://github.com/heofs/trendline#readme","bugs":{"url":"https://github.com/heofs/trendline/issues"},"dist":{"shasum":"aa1b355490ca9f8349e544bbe18a961148701216","tarball":"https://registry.npmjs.org/trendline/-/trendline-1.0.0.tgz","fileCount":9,"integrity":"sha512-eRSzayxbb65f6r9OITF89T0UjyOQvfbA7t5vefxvAE2GV44gDmENbon47zRlgy1i2RhMjwH7OQVUaJcOyB9MFQ==","signatures":[{"sig":"MEUCIQCVvACcklHBguH273gqOEDrscLjHX8OG3y8LXTiBbCxMQIgI8U2q6jbZ+MW1eRZVVnYtlsKfglIQdRDqlf6CMhByD8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12911},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"fd89a3470bb2470886fc8a264287122e133306db","scripts":{"lint":"eslint .","test":"jest","build":"tsup"},"_npmUser":{"name":"heofs","email":"ofstad10@gmail.com"},"repository":{"url":"git+https://github.com/heofs/trendline.git","type":"git"},"_npmVersion":"9.6.7","description":"Generate a trendline using linear regression","directories":{},"_nodeVersion":"18.17.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^7.2.0","eslint":"^7.10.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^2.1.2","typescript":"^5.2.2","@types/jest":"^29.5.5","eslint-plugin-jest":"^23.20.0","eslint-config-prettier":"^6.12.0","eslint-plugin-prettier":"^3.1.4"},"_npmOperationalInternal":{"tmp":"tmp/trendline_1.0.0_1696760204751_0.8632951758891301","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"trendline","description":"Generate a trendline using linear regression","version":"1.1.0","author":{"name":"Henning Ofstad","email":"ofstad9@gmail.com"},"main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"build":"tsup","lint":"eslint .","test":"jest"},"repository":{"type":"git","url":"git+https://github.com/heofs/trendline.git"},"homepage":"https://github.com/heofs/trendline#readme","bugs":{"url":"https://github.com/heofs/trendline/issues"},"keywords":["trendline","trend","linear regression","regression","data","prediction","graph","chart","statistics","analytics","d3","recharts","visualization","OLS","least squares"],"engines":{"node":">=12"},"license":"MIT","devDependencies":{"@types/jest":"^29.5.5","eslint":"^7.10.0","eslint-config-prettier":"^6.12.0","eslint-plugin-jest":"^23.20.0","eslint-plugin-prettier":"^3.1.4","jest":"^29.7.0","prettier":"^2.1.2","ts-jest":"^29.1.1","ts-node":"^10.9.1","tsup":"^7.2.0","typescript":"^5.2.2"},"_id":"trendline@1.1.0","gitHead":"203959c45fc0347156046c5c2ca685d57e4fef20","_nodeVersion":"22.13.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-XgPY/MvE6/XRI6Of6x2exGnOfIWuUDRevcV2OpsDZw0QPKhsfBn72wYLhbc9CpwYxwO1/+0Ody4Zm3I4Bh/9Uw==","shasum":"1e7d74f5e7797d825fdc4cd9e48ed7b127029dce","tarball":"https://registry.npmjs.org/trendline/-/trendline-1.1.0.tgz","fileCount":9,"unpackedSize":30805,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDmvUWpSbwIw4xEAWfuykUGDmfCd3hTHLUgnfqp+n5BKQIgGLy7jUr8M57y4N3Y+vXW6s4YQ3S/LQMHxiONdvHA3Gw="}]},"_npmUser":{"name":"heofs","email":"ofstad10@gmail.com"},"directories":{},"maintainers":[{"name":"heofs","email":"ofstad10@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/trendline_1.1.0_1767857579940_0.7590508881123452"},"_hasShrinkwrap":false}},"time":{"created":"2020-05-28T07:58:54.998Z","modified":"2026-01-08T07:33:00.333Z","0.1.0":"2020-05-28T07:58:55.134Z","0.2.0":"2020-05-28T08:21:17.323Z","0.3.0":"2020-05-28T08:31:32.150Z","0.3.1":"2020-05-28T12:04:37.726Z","1.0.0-beta.0":"2023-10-08T08:52:39.554Z","1.0.0-beta.1":"2023-10-08T09:46:50.020Z","1.0.0-beta.2":"2023-10-08T09:52:35.031Z","1.0.0-beta.3":"2023-10-08T09:56:11.378Z","1.0.0":"2023-10-08T10:16:45.007Z","1.1.0":"2026-01-08T07:33:00.131Z"},"bugs":{"url":"https://github.com/heofs/trendline/issues"},"author":{"name":"Henning Ofstad","email":"ofstad9@gmail.com"},"license":"MIT","homepage":"https://github.com/heofs/trendline#readme","keywords":["trendline","trend","linear regression","regression","data","prediction","graph","chart","statistics","analytics","d3","recharts","visualization","OLS","least squares"],"repository":{"type":"git","url":"git+https://github.com/heofs/trendline.git"},"description":"Generate a trendline using linear regression","maintainers":[{"name":"heofs","email":"ofstad10@gmail.com"}],"readme":"# Trendline\n\n[![npm version](https://img.shields.io/npm/v/trendline.svg)](https://www.npmjs.com/package/trendline)\n[![npm downloads](https://img.shields.io/npm/dm/trendline.svg)](https://www.npmjs.com/package/trendline)\n[![bundle size](https://img.shields.io/bundlephobia/minzip/trendline)](https://bundlephobia.com/package/trendline)\n[![TypeScript](https://img.shields.io/badge/TypeScript-Ready-blue.svg)](https://www.typescriptlang.org/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n> Add trend lines to any chart. ~1KB gzipped, zero dependencies, works with your data format.\n\n```\n    │\n  8 │          ●    .---●\n    │        ●  .--'\n  4 │       .-●'\n    │    ●-'\n  0 └───────────────────\n    0    1    2    3    4\n\n    ●  actual data\n    -  trend line (calculated)\n```\n\n**[Try it on StackBlitz](https://stackblitz.com/edit/trendline-demo)** · [npm](https://www.npmjs.com/package/trendline) · [GitHub](https://github.com/heofs/trendline)\n\n## Why Trendline?\n\n- **~1KB minified + gzipped** — smaller than most icons\n- **Zero dependencies** — nothing to audit, no supply chain risk\n- **Works with your data** — pass your objects directly, no array conversion\n- **TypeScript native** — full type safety built-in, no `@types` needed\n- **Universal** — ESM, CommonJS, browser, Node.js all supported\n- **R² included** — know how well your trend line fits the data\n\n## Install\n\n```bash\nnpm install trendline\n```\n\n## Quick Start\n\n```js\nimport { createTrend } from 'trendline';\n\nconst data = [\n  { month: 1, revenue: 120 },\n  { month: 2, revenue: 150 },\n  { month: 3, revenue: 170 },\n  { month: 4, revenue: 200 },\n];\n\n// Pass your data with the key names you're already using\nconst trend = createTrend(data, 'month', 'revenue');\n\nconsole.log(trend.slope);     // 26.5 (revenue increases ~26.5 per month)\nconsole.log(trend.yStart);    // 96.5 (projected revenue at month 0)\nconsole.log(trend.rSquared);  // 0.99 (excellent fit!)\nconsole.log(trend.calcY(12)); // 414.5 (predicted revenue at month 12)\n```\n\n## Use Cases\n\n- **Sales forecasting** — project future revenue from historical data\n- **Stock/crypto trends** — visualize price direction\n- **Fitness tracking** — show weight loss/gain trends over time\n- **Performance metrics** — CPU usage, response times, error rates\n- **Sensor data** — temperature, humidity, pressure trends\n- **Any time-series data** — if you can plot it, you can trend it\n\n## Works With\n\n[D3.js](https://d3js.org/) · [Recharts](https://recharts.org/) · [Chart.js](https://www.chartjs.org/) · [Victory](https://formidable.com/open-source/victory/) · [Nivo](https://nivo.rocks/) · [ECharts](https://echarts.apache.org/) · [Plotly](https://plotly.com/javascript/) · [Highcharts](https://www.highcharts.com/) · Canvas · SVG · or any visualization library\n\n---\n\n## Examples\n\n### Recharts (React)\n\n```jsx\nimport { createTrend } from 'trendline';\nimport { LineChart, Line, XAxis, YAxis } from 'recharts';\n\nfunction SalesChart({ data }) {\n  const trend = createTrend(data, 'day', 'sales');\n\n  // Only need two points to draw a straight line\n  const trendLine = [\n    { day: data[0].day, sales: trend.calcY(data[0].day) },\n    { day: data.at(-1).day, sales: trend.calcY(data.at(-1).day) },\n  ];\n\n  return (\n    <LineChart width={600} height={300} data={data}>\n      <XAxis dataKey=\"day\" />\n      <YAxis />\n      <Line dataKey=\"sales\" stroke=\"#8884d8\" />\n      <Line\n        data={trendLine}\n        dataKey=\"sales\"\n        stroke=\"#ff7300\"\n        strokeDasharray=\"5 5\"\n        dot={false}\n      />\n    </LineChart>\n  );\n}\n```\n\n### D3.js\n\n```js\nimport { createTrend } from 'trendline';\nimport * as d3 from 'd3';\n\nconst data = [\n  { date: 1, price: 100 },\n  { date: 2, price: 120 },\n  { date: 3, price: 115 },\n  { date: 4, price: 140 },\n  { date: 5, price: 150 },\n];\n\nconst trend = createTrend(data, 'date', 'price');\n\n// Your existing scales\nconst x = d3.scaleLinear().domain([1, 5]).range([0, width]);\nconst y = d3.scaleLinear().domain([80, 160]).range([height, 0]);\n\n// Add trend line\nsvg.append('line')\n  .attr('x1', x(1))\n  .attr('y1', y(trend.calcY(1)))\n  .attr('x2', x(5))\n  .attr('y2', y(trend.calcY(5)))\n  .attr('stroke', '#ff7300')\n  .attr('stroke-dasharray', '5,5');\n```\n\n### Chart.js\n\n```js\nimport { createTrend } from 'trendline';\nimport Chart from 'chart.js/auto';\n\nconst data = [\n  { x: 1, y: 10 },\n  { x: 2, y: 15 },\n  { x: 3, y: 13 },\n  { x: 4, y: 17 },\n];\n\nconst trend = createTrend(data, 'x', 'y');\n\nnew Chart(ctx, {\n  type: 'scatter',\n  data: {\n    datasets: [\n      { label: 'Data', data },\n      {\n        label: `Trend (R²=${trend.rSquared.toFixed(2)})`,\n        data: [\n          { x: 1, y: trend.calcY(1) },\n          { x: 4, y: trend.calcY(4) },\n        ],\n        type: 'line',\n        borderDash: [5, 5],\n      },\n    ],\n  },\n});\n```\n\n### Vanilla JavaScript (Canvas)\n\n```js\nimport { createTrend } from 'trendline';\n\nconst data = [\n  { x: 0, y: 20 },\n  { x: 50, y: 45 },\n  { x: 100, y: 40 },\n  { x: 150, y: 70 },\n  { x: 200, y: 65 },\n];\n\nconst trend = createTrend(data, 'x', 'y');\nconst ctx = canvas.getContext('2d');\n\n// Draw data points\ndata.forEach(({ x, y }) => {\n  ctx.beginPath();\n  ctx.arc(x, 100 - y, 4, 0, Math.PI * 2);\n  ctx.fill();\n});\n\n// Draw trend line\nctx.beginPath();\nctx.setLineDash([5, 5]);\nctx.moveTo(0, 100 - trend.calcY(0));\nctx.lineTo(200, 100 - trend.calcY(200));\nctx.stroke();\n```\n\n---\n\n## API\n\n### `createTrend(data, xKey, yKey)`\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| `data` | `Array<{ [key]: number }>` | Your data array |\n| `xKey` | `string` | Property name for X values |\n| `yKey` | `string` | Property name for Y values |\n\n**Returns:**\n\n| Property | Type | Description |\n|----------|------|-------------|\n| `slope` | `number` | Rate of change (rise over run) |\n| `yStart` | `number` | Y-intercept (value when x = 0) |\n| `calcY(x)` | `function` | Get Y value for any X |\n| `rSquared` | `number` | Fit quality: 0 = poor, 1 = perfect |\n\n### TypeScript\n\n```typescript\nimport { createTrend, TrendResult } from 'trendline';\n\nconst trend: TrendResult = createTrend(data, 'time', 'value');\n```\n\n---\n\n## Understanding R²\n\nThe `rSquared` value tells you how well the trend line fits your data:\n\n| R² | Fit Quality |\n|----|-------------|\n| 0.9 - 1.0 | Excellent — data follows a clear linear pattern |\n| 0.7 - 0.9 | Good — trend line is meaningful |\n| 0.4 - 0.7 | Moderate — some correlation |\n| 0.0 - 0.4 | Weak — data may not be linear |\n\n---\n\n## Contributing\n\nFound a bug or have a feature request? [Open an issue](https://github.com/heofs/trendline/issues) or submit a PR.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}