Calculate average score and rating based on Wilson Score Equation
npm install average-rating
!CI test

!CodeQL
- Node.js
``bash
npm i average-rating
`ts
// es6 module
import {
score,
rate,
average
} from 'average-rating'// CommonJS
const {
score,
rate,
average
} = require('average-rating')
// or specify exactly path to CommonJS variant
const {
score,
rate,
average
} = require('average-rating/dist/cjs/average-rating.js')
score(80, 20) // => 0.71
average([134055, 57472, 143135, 365957, 1448459]) // => 4.4
rate([134055, 57472, 143135, 365957, 1448459]) // => 0.84
`$3
`ts
// deno > 1.28
import {
score,
rate,
average
} from 'npm:average-rating'// deno < 1.28
import {
score,
rate,
average
} from 'https://esm.sh/average-rating'
`$3
- ES6 Module: average-rating.esm.js
- CommonJS: average-rating.js
- For old browsers: average-rating.min.js
Currently ECMAScript modules work fine on almost browsers:
`html
`With outdated browsers, we can use traditional way:
`html
`APIs
$3
Return a value from 0 to 1.
Used for the systems of Positive/Negative rating, such as the videos on YouTube, the answers on StackOverflow, etc. In which, each of item can be voted as good or bad, like or dislike or something like that.
$3
Return a value from 0 to 1.
Used for the systems of 5 rating levels, such as the applications on Google Play store, the books on Amazon, etc. In which, each of item can be voted as one of value in the range of 1 to 5 stars.
##### Update
- Since v1.1.5, this
rate method accepts custom range of ratings. 5 or more values are OK.`js
const input = [3, 4, 2, 6, 12, 46, 134, 213, 116, 91, 45, 15, 58, 96, 1654] // 15 values
rate(input) // => 0.85rate([3, 4, 2, 6, 12, 46, 134, 213, 116, 91]) // => 0.74
`$3
Return a value from 0 to 5.
Calculate normal average value for the systems of 5 rating levels.
Test
`bash
git clone https://github.com/ndaidong/average-rating.git
cd average-rating
npm install
npm test
``The MIT License (MIT)