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.

    Install

    npm i stv

    DownloadsWeekly Downloads

    1

    Version

    0.0.2

    License

    MIT

    Unpacked Size

    116 kB

    Total Files

    21

    Last publish

    Collaborators

    • applifting