Nighttime Pachinko Marathon

    sainte-lague

    3.0.0 • Public • Published

    sainte-lague

    An implementation of the Sainte-Laguë (also known as Webster or Schepers) method. Parliament seat allocation algorithm used in multiple countries such as Germany, Latvia, New Zealand etc…

    Attention: Since some countries (like Latvia or Norway) use a modification of the algorithm instead of this vanilla version, you should check your country's electoral legislature. Furthermore, I don't take any responsibility for the accuracy of the calculated numbers, even though I'm pretty confident with my implementation.

    npm version License Contact me

    Installation

    npm install sainte-lague

    Usage

    This package is ESM only.

    import sainteLague from 'sainte-lague'
    
    const electionResults = { // number of votes per party
    	socialists: 130755,
    	conservatives: 102068,
    	liberals: 34012,
    	greens: 31090,
    	crazypeople: 11111
    }
    const seats = 420 // number of seats to be distributed
    const opt = { // options, can be null
    	draw: false // if a draw would be necessary to determine the seat count (e.g. 11 seats and two parties with 100 votes each), the library will throw an error, unless you set draw: true, in which case it will assert the ambiguous seat(s) randomly
    }
    
    const parliament = sainteLague(electionResults, seats, opt)

    The parliament variable will look like this:

    {
    	"socialists": 178,
    	"conservatives": 139,
    	"liberals": 46,
    	"greens": 42,
    	"crazypeople": 15
    }

    Similar Projects

    • hare-niemeyer - Hare-Niemeyer / Hamilton / largest remainder method
    • DHondt – D'Hondt method

    Contributing

    If you found a bug or want to propose a feature, feel free to visit the issues page.

    Install

    npm i sainte-lague

    DownloadsWeekly Downloads

    1,066

    Version

    3.0.0

    License

    ISC

    Unpacked Size

    7.69 kB

    Total Files

    4

    Last publish

    Collaborators

    • juliuste