stv
TypeScript icon, indicating that this package has built-in type declarations

0.0.2 • Public • Published

Single Transferable Vote (STV) NPM library

TypeScript implementation of STV algorithm without any runtime dependencies.

Getting started

Add the library into your project using either:

npm add stv

or

yarn add stv

Import it into your project:

import { stv } from 'stv';

Usage

To evaluate election using STV, invoke the algorithm by calling the stv(opts) function:

const results = stv({
  seatsToFill: 2,
  candidates: ["Wonderwoman", "Superman", "Batman", "Iron Man"],
  votes: [
    {
      weight: 1,
      preferences: ["Wonderwoman", "Batman"]
    },
    {
      weight: 1,
      preferences: ["Iron Man", "Batman"]
    },
    {
      weight: 1,
      preferences: ["Iron Man"]
    }
  ],
  report: console.log
});

Which STV counting method is implemented?

Currently, the Scottish STV rules are implemented. There may be more variants in the future.

License 📜

The stv library is licensed under MIT license.

Dependents (0)

Package Sidebar

Install

npm i stv

Weekly Downloads

0

Version

0.0.2

License

MIT

Unpacked Size

116 kB

Total Files

21

Last publish

Collaborators

  • petrvnenk