diff --git a/assets/ElectoralCollege1848.svg b/assets/ElectoralCollege1848.svg new file mode 100644 index 0000000..9cfcbde --- /dev/null +++ b/assets/ElectoralCollege1848.svg @@ -0,0 +1,1034 @@ + + + + + + + + + + + image/svg+xml + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + TX4 + + + + + + + WI4 + IL9 + IA4 + MO7 + AR3 + LA6 + MS6 + AL9 + GA10 + FL3 + SC 9 + NC11 + TN13 + KY12 + IN12 + MI5 + OH23 + + VA17 + PA26 + NY36 + ME9 + + + + + NH 6 + VT 6 + MA 12 + RI 4 + CT 6 + NJ 7 + DE 3 + MD 8 + + + + + + diff --git a/assets/ElectoralCollege1968.svg b/assets/ElectoralCollege1968.svg index 20cab4e..56ecc78 100644 --- a/assets/ElectoralCollege1968.svg +++ b/assets/ElectoralCollege1968.svg @@ -5,7 +5,7 @@ version="1.1" id="svg3" sodipodi:docname="ElectoralCollege1968.svg" - inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)" + inkscape:version="1.3.2 (091e20e, 2023-11-25, custom)" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" @@ -19,15 +19,15 @@ inkscape:pageopacity="0.0" inkscape:pagecheckerboard="0" inkscape:deskcolor="#d1d1d1" - inkscape:zoom="1.9460371" - inkscape:cx="510.01083" - inkscape:cy="270.80676" - inkscape:window-width="2560" - inkscape:window-height="1358" - inkscape:window-x="0" - inkscape:window-y="26" + inkscape:zoom="5.504224" + inkscape:cx="852.7996" + inkscape:cy="69.946281" + inkscape:window-width="1920" + inkscape:window-height="1018" + inkscape:window-x="-8" + inkscape:window-y="-8" inkscape:window-maximized="1" - inkscape:current-layer="outlines" /> + inkscape:current-layer="svg3" /> 1968 US presidential election results + id="text-2" + font-family="'Helvetica Neue'" + font-weight="bold" + transform="translate(-0.56657949,0.18848078)"> + font-size="28px" + id="g2-8"> 3 + id="AKn-7" + x="121.59544" + y="493.18863" + style="font-size:13.3333px">AK3 4 + id="HIn-9" + x="281.26047" + y="554.18866" + style="font-size:13.3333px">HI4 9 + id="WAn-8" + x="117.53755" + y="49.386745" + style="font-size:13.3333px">WA9 6 + id="ORn-0" + x="95.010078" + y="122.48579" + style="font-size:13.3333px">OR6 40 + id="CAn-2" + x="69.726158" + y="279.08011" + style="font-size:13.3333px">CA40 3 + id="NVn-7" + x="133.35632" + y="232.08958" + style="font-size:13.3333px">NV3 4 + id="AZn-2" + x="197.08659" + y="358.99054" + style="font-size:13.3333px">AZ5 4 + id="UTn-6" + x="219.70537" + y="251.48579" + style="font-size:13.3333px">UT4 4 + id="IDn-7" + x="194.15645" + y="151.80695" + style="font-size:13.3333px">ID4 3 + id="MTn-8" + x="279.21573" + y="85.347488" + style="font-size:13.3333px">MT4 6 + id="WYn-0" + x="298.39981" + y="182.08109" + style="font-size:13.3333px">WY3 5 + id="COn-6" + x="319.78827" + y="270.08292" + style="font-size:13.3333px">CO6 4 + id="NMn-5" + x="302.97266" + y="369.28769" + style="font-size:13.3333px">NM4 25 + id="TXn-4" + x="424.32278" + y="451.69336" + style="font-size:13.3333px">TX25 8 + id="OKn-6" + x="461.73621" + y="358.28769" + style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">OK8 7 + id="KSn-2" + x="441.22095" + y="289.62161" + style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">KS7 5 + id="NEn-3" + x="418.48505" + y="222.94185" + style="font-size:13.3333px">NE5 4 + id="SDn-7" + x="415.85419" + y="157.25868" + style="font-size:13.3333px">SD4 4 + id="NDn-4" + x="417.25748" + y="91.851349" + style="font-size:13.3333px">ND4 10 + id="MNn-1" + x="504.72253" + y="124.94574" + style="font-size:13.3333px">MN10 12 + id="WIn-5" + x="579.54468" + y="159.84668" + style="font-size:13.3333px">WI12 26 + id="ILn-9" + x="596.69891" + y="249.73816" + style="font-size:13.3333px;fill:#ffffff">IL26 9 + id="IAn-6" + x="521.78705" + y="212.28769" + style="font-size:13.3333px">IA9 12 + id="MOn-4" + x="540.95941" + y="292.93628" + style="font-size:13.3333px">MO12 6 + id="ARn-6" + x="547.24762" + y="374.0896" + style="font-size:13.3333px">AR6 10 + id="LAn-8" + x="545.79749" + y="450.64859" + style="font-size:13.3333px">LA10 7 + id="MSn-5" + x="597.98846" + y="417.18863" + style="font-size:13.3333px">MS7 10 + id="ALn-7" + x="650.66272" + y="409.38675" + style="font-size:13.3333px">AL10 12 + id="GAn-4" + x="714.30121" + y="407.73816" + style="font-size:13.3333px">GA12 14 + id="FLn-7" + x="763.43597" + y="504.54953" + style="font-size:13.3333px">FL14 8 + id="SCn-2" + x="759.23254" + y="347.11545">SC 8 12 + id="NCn-8" + x="781.7052" + y="328.48581" + style="font-size:13.3333px">NC12 11 + id="TNn-9" + x="655.9707" + y="340.83722" + style="font-size:13.3333px">TN11 9 + id="KYn-4" + x="675.10925" + y="299.28769" + style="font-size:13.3333px">KY9 13 + id="INn-4" + x="644.74738" + y="248.48579" + style="font-size:13.3333px">IN13 21 + id="MIn-5" + x="663.32098" + y="183.08958" + style="font-size:13.3333px">MI21 26 + id="OHn-9" + x="700.31543" + y="235.38675" + style="font-size:13.3333px">OH26 7 + id="WVn-3" + x="738.71716" + y="272.44101" + style="font-size:13.3333px">WV4 12 + id="VAn-8" + x="771.05426" + y="282.73816" + style="font-size:13.3333px">VA12 29 + id="PAn-6" + x="779.22137" + y="210.08958" + style="font-size:13.3333px">PA29 43 + id="NYn-4" + x="811.52887" + y="153.03532" + style="font-size:13.3333px">NY43 4 + id="MEn-2" + x="893.95428" + y="77.998077" + style="font-size:13.3333px">ME4 + + + font-size="22px" + id="g3"> NH 4 + id="NHn-8" + x="817.56848" + y="56.648579" + style="font-size:16px">NH 4 VT 3 + id="VTn-3" + x="802.61328" + y="81.54953" + style="font-size:16px">VT 3 MA 14 + y="164" + style="font-size:16px">MA 14 RI 4 + y="199" + style="font-size:16px">RI 4 CT 8 + y="228" + style="font-size:16px">CT 8 NJ 17 + y="260" + style="font-size:16px">NJ 17 DE 3 + y="284" + style="font-size:16px">DE 3 MD 10 + y="305" + style="font-size:16px">MD 10 DC 3 + y="327" + style="font-size:16px">DC 3 + + + 1968 US presidential election results + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AK3 + HI4 + WA11 + OR7 + CA54 + NV4 + AZ8 + UT5 + ID4 + MT3 + WY3 + CO8 + NM5 + TX32 + OK8 + KS6 + NE5 + SD3 + ND3 + MN10 + WI12 + IL26 + IA7 + MO11 + AR6 + LA9 + MS7 + AL9 + GA13 + FL25 + SC 8 + NC14 + TN11 + KY9 + IN12 + MI18 + OH21 + WV5 + VA13 + PA23 + NY33 + + + + + NH 4 + VT 3 + MA 12 + RI 4 + CT 8 + NJ 15 + DE 3 + MD 10 + DC 3 + + + + + + + + 1968 US presidential election results + + + + + ME4 + + diff --git a/assets/ElectoralCollege2004.svg b/assets/ElectoralCollege2004.svg new file mode 100644 index 0000000..197c49b --- /dev/null +++ b/assets/ElectoralCollege2004.svg @@ -0,0 +1,933 @@ + + + + 1968 US presidential election results + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AK3 + HI4 + WA11 + OR7 + CA55 + NV5 + AZ10 + UT5 + ID4 + MT3 + WY3 + CO9 + NM5 + TX34 + OK7 + KS6 + NE5 + SD3 + ND3 + MN10 + WI10 + IL21 + IA7 + MO11 + AR6 + LA9 + MS6 + AL9 + GA15 + FL27 + SC 8 + NC15 + TN11 + KY8 + IN11 + MI17 + OH20 + WV5 + VA13 + PA21 + NY31 + + + + + NH 4 + VT 3 + MA 12 + RI 4 + CT 7 + NJ 15 + DE 3 + MD 10 + DC 3 + + + + + + + + 1968 US presidential election results + + + + + ME4 + + diff --git a/assets/ElectoralCollege2008.svg b/assets/ElectoralCollege2008.svg new file mode 100644 index 0000000..254dec0 --- /dev/null +++ b/assets/ElectoralCollege2008.svg @@ -0,0 +1,956 @@ + + + + 1968 US presidential election results + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + AK3 + HI4 + WA11 + OR7 + CA55 + NV5 + AZ10 + UT5 + ID4 + MT3 + WY3 + CO9 + NM5 + TX34 + OK7 + KS6 + NE4 + SD3 + ND3 + MN10 + WI10 + IL21 + IA7 + MO11 + AR6 + LA9 + MS6 + AL9 + GA15 + FL27 + SC 8 + NC15 + TN11 + KY8 + IN11 + MI17 + OH20 + WV5 + VA13 + PA21 + NY31 + + + + + NH 4 + VT 3 + MA 12 + RI 4 + CT 7 + NJ 15 + DE 3 + MD 10 + DC 3 + + + + + + + + 1968 US presidential election results + + + + + ME4 + + diff --git a/src/elections/1848.ts b/src/elections/1848.ts new file mode 100644 index 0000000..3e4392e --- /dev/null +++ b/src/elections/1848.ts @@ -0,0 +1,270 @@ +import { readFile } from "node:fs/promises"; +import Election from "../election.js"; + +const Presidential_1848 = { + title: "1848 United States Presidential Election Simulator", + shortname: "1848", + description: "The CalubViem Press has rewritten history and called the 1848 United States Presidential Election for $WINNER!", + svg: await readFile("assets/ElectoralCollege1848.svg", "utf-8"), + candidates: [ + { + name: "Lewis Cass", + party: "Democratic", + color: "#1C408C", + }, + { + name: "Zachary Taylor", + party: "Whig", + color: "#F0C862", + }, + { + name: "Martin Van Buren", + party: "Free Soil", + color: "#CCCC66", + } + ], + states: { + "AL": { + electoralVotes: 9, + odds: { + "Whig": 0.45, + "Democratic": 0.55, + "Free Soil": 0, + } + }, + "AR": { + electoralVotes: 3, + odds: { + "Whig": 0.05, + "Democratic": 0.95, + "Free Soil": 0, + } + }, + "CT": { + electoralVotes: 6, + odds: { + "Whig": 0.9, + "Democratic": 0.05, + "Free Soil": 0.05, + } + }, + "DE": { + electoralVotes: 3, + odds: { + "Whig": 0.7, + "Democratic": 0.29, + "Free Soil": 0.01, + } + }, + "FL": { + electoralVotes: 3, + odds: { + "Whig": 0.9, + "Democratic": 0.1, + "Free Soil": 0, + } + }, + "GA": { + electoralVotes: 10, + odds: { + "Whig": 0.8, + "Democratic": 0.2, + "Free Soil": 0, + } + }, + "IL": { + electoralVotes: 9, + odds: { + "Whig": 0.4, + "Democratic": 0.55, + "Free Soil": 0.05, + } + }, + "IN": { + electoralVotes: 12, + odds: { + "Whig": 0.3, + "Democratic": 0.68, + "Free Soil": 0.02, + } + }, + "IA": { + electoralVotes: 4, + odds: { + "Whig": 0.25, + "Democratic": 0.73, + "Free Soil": 0.02, + } + }, + "KY": { + electoralVotes: 12, + odds: { + "Whig": 0.9, + "Democratic": 0.1, + "Free Soil": 0, + } + }, + "LA": { + electoralVotes: 6, + odds: { + "Whig": 0.9, + "Democratic": 0.1, + "Free Soil": 0, + } + }, + "ME": { + electoralVotes: 9, + odds: { + "Whig": 0.3, + "Democratic": 0.6, + "Free Soil": 0.1, + } + }, + "MD": { + electoralVotes: 8, + odds: { + "Whig": 0.6, + "Democratic": 0.4, + "Free Soil": 0, + } + }, + "MA": { + electoralVotes: 12, + odds: { + "Whig": 0.92, + "Democratic": 0.02, + "Free Soil": 0.06, + } + }, + "MI": { + electoralVotes: 5, + odds: { + "Whig": 0.2, + "Democratic": 0.75, + "Free Soil": 0.05, + } + }, + "MS": { + electoralVotes: 6, + odds: { + "Whig": 0.48, + "Democratic": 0.52, + "Free Soil": 0, + } + }, + "MO": { + electoralVotes: 7, + odds: { + "Whig": 0.1, + "Democratic": 0.9, + "Free Soil": 0, + } + }, + "NH": { + electoralVotes: 6, + odds: { + "Whig": 0.05, + "Democratic": 0.92, + "Free Soil": 0.03, + } + }, + "NJ": { + electoralVotes: 7, + odds: { + "Whig": 0.8, + "Democratic": 0.2, + "Free Soil": 0, + } + }, + "NY": { + electoralVotes: 36, + odds: { + "Whig": 0.8, + "Democratic": 0.1, + "Free Soil": 0.1, + } + }, + "NC": { + electoralVotes: 11, + odds: { + "Whig": 0.9, + "Democratic": 0.1, + "Free Soil": 0, + } + }, + "OH": { + electoralVotes: 23, + odds: { + "Whig": 0.3, + "Democratic": 0.65, + "Free Soil": 0.05, + } + }, + "PA": { + electoralVotes: 26, + odds: { + "Whig": 0.7, + "Democratic": 0.28, + "Free Soil": 0.02, + } + }, + "RI": { + electoralVotes: 4, + odds: { + "Whig": 0.98, + "Democratic": 0.02, + "Free Soil": 0, + } + }, + "SC": { + electoralVotes: 9, + odds: { + "Whig": 0, + "Democratic": 1, + "Free Soil": 0, + } + }, + "TN": { + electoralVotes: 13, + odds: { + "Whig": 0.7, + "Democratic": 0.3, + "Free Soil": 0, + } + }, + "TX": { + electoralVotes: 4, + odds: { + "Whig": 0.02, + "Democratic": 0.98, + "Free Soil": 0, + } + }, + "VT": { + electoralVotes: 3, + odds: { + "Whig": 0.9, + "Democratic": 0.02, + "Free Soil": 0.08, + } + }, + "VA": { + electoralVotes: 17, + odds: { + "Whig": 0.45, + "Democratic": 0.55, + "Free Soil": 0, + } + }, + "WI": { + electoralVotes: 4, + odds: { + "Whig": 0.4, + "Democratic": 0.45, + "Free Soil": 0.15, + } + } + } +} + +export default Presidential_1848 as Election; \ No newline at end of file diff --git a/src/elections/1940.ts b/src/elections/1940.ts new file mode 100644 index 0000000..c20b3a9 --- /dev/null +++ b/src/elections/1940.ts @@ -0,0 +1,437 @@ +import { readFile } from "node:fs/promises"; +import Election from "../election.js"; + +const Presidential_1968 = { + title: "1968 United States Presidential Election Simulator", + shortname: "1968", + description: "The CalubViem Press has rewritten history and called the 1968 United States Presidential Election for $WINNER!", + svg: await readFile("assets/ElectoralCollege1968.svg", "utf-8"), + candidates: [ + { + name: "Hubert Humphrey", + party: "Democratic", + color: "#1C408C", + }, + { + name: "Richard Nixon", + party: "Republican", + color: "#BF1D29", + }, + { + name: "George Wallace", + party: "American Independent", + color: "#ffa400", + } + ], + states: { + "AL": { + electoralVotes: 10, + odds: { + "Republican": 0.1, + "Democratic": 0.1, + "American Independent": 0.8, + } + }, + "AK": { + electoralVotes: 3, + odds: { + "Republican": 1, + "Democratic": 0, + "American Independent": 0, + } + }, + "AZ": { + electoralVotes: 5, + odds: { + "Republican": 0.6, + "Democratic": 0.4, + "American Independent": 0, + } + }, + "AR": { + electoralVotes: 6, + odds: { + "Republican": 0.2, + "Democratic": 0.2, + "American Independent": 0.6, + } + }, + "CA": { + electoralVotes: 40, + odds: { + "Republican": 0.6, + "Democratic": 0.4, + "American Independent": 0, + } + }, + "CO": { + electoralVotes: 6, + odds: { + "Republican": 0.6, + "Democratic": 0.4, + "American Independent": 0, + } + }, + "CT": { + electoralVotes: 8, + odds: { + "Republican": 0, + "Democratic": 1, + "American Independent": 0, + } + }, + "DE": { + electoralVotes: 3, + odds: { + "Republican": 1, + "Democratic": 0, + "American Independent": 0, + } + }, + "DC": { + electoralVotes: 3, + odds: { + "Republican": 0, + "Democratic": 1, + "American Independent": 0, + } + }, + "FL": { + electoralVotes: 14, + odds: { + "Republican": 0.6, + "Democratic": 0.4, + } + }, + "GA": { + electoralVotes: 12, + odds: { + "Republican": 0.2, + "Democratic": 0.2, + "American Independent": 0.6, + } + }, + "HI": { + electoralVotes: 4, + odds: { + "Republican": 0.2, + "Democratic": 0.8, + "American Independent": 0, + } + }, + "ID": { + electoralVotes: 4, + odds: { + "Republican": 1, + "Democratic": 0, + "American Independent": 0, + } + }, + "IL": { + electoralVotes: 26, + odds: { + "Republican": 0.6, + "Democratic": 0.4, + "American Independent": 0, + } + }, + "IN": { + electoralVotes: 13, + odds: { + "Republican": 1, + "Democratic": 0, + "American Independent": 0, + } + }, + "IA": { + electoralVotes: 9, + odds: { + "Republican": 0.8, + "Democratic": 0.2, + "American Independent": 0, + } + }, + "KS": { + electoralVotes: 7, + odds: { + "Republican": 1, + "Democratic": 0, + "American Independent": 0, + } + }, + "KY": { + electoralVotes: 9, + odds: { + "Republican": 1, + "Democratic": 0, + "American Independent": 0, + } + }, + "LA": { + electoralVotes: 10, + odds: { + "Republican": 0.1, + "Democratic": 0.1, + "American Independent": 0.8, + } + }, + "ME": { + electoralVotes: 4, + odds: { + "Republican": 0.4, + "Democratic": 0.6, + "American Independent": 0, + } + }, + "MD": { + electoralVotes: 10, + odds: { + "Republican": 0.45, + "Democratic": 0.55, + "American Independent": 0, + } + }, + "MA": { + electoralVotes: 14, + odds: { + "Republican": 0, + "Democratic": 1, + "American Independent": 0, + } + }, + "MI": { + electoralVotes: 21, + odds: { + "Republican": 0.5, + "Democratic": 0.5, + "American Independent": 0, + } + }, + "MN": { + electoralVotes: 10, + odds: { + "Republican": 0.4, + "Democratic": 0.6, + "American Independent": 0, + } + }, + "MS": { + electoralVotes: 7, + odds: { + "Republican": 0.1, + "Democratic": 0.1, + "American Independent": 0.8, + } + }, + "MO": { + electoralVotes: 12, + odds: { + "Republican": 0.55, + "Democratic": 0.45, + "American Independent": 0, + } + }, + "MT": { + electoralVotes: 4, + odds: { + "Republican": 0.8, + "Democratic": 0.2, + "American Independent": 0, + } + }, + "NE": { + electoralVotes: 5, + odds: { + "Republican": 1, + "Democratic": 0, + "American Independent": 0, + } + }, + "NV": { + electoralVotes: 3, + odds: { + "Republican": 0.8, + "Democratic": 0.2, + "American Independent": 0, + } + }, + "NH": { + electoralVotes: 4, + odds: { + "Republican": 0.8, + "Democratic": 0.2, + "American Independent": 0, + } + }, + "NJ": { + electoralVotes: 17, + odds: { + "Republican": 0.55, + "Democratic": 0.45, + "American Independent": 0, + } + }, + "NM": { + electoralVotes: 4, + odds: { + "Republican": 0.6, + "Democratic": 0.4, + "American Independent": 0, + } + }, + "NY": { + electoralVotes: 43, + odds: { + "Republican": 0.45, + "Democratic": 0.55, + "American Independent": 0, + } + }, + "NC": { + electoralVotes: 13, + odds: { + "Republican": 0.43, + "Democratic": 0.33, + "American Independent": 0.23, + } + }, + "ND": { + electoralVotes: 4, + odds: { + "Republican": 1, + "Democratic": 0, + "American Independent": 0, + } + }, + "OH": { + electoralVotes: 26, + odds: { + "Republican": 0.6, + "Democratic": 0.4, + "American Independent": 0, + } + }, + "OK": { + electoralVotes: 8, + odds: { + "Republican": 0.8, + "Democratic": 0.2, + "American Independent": 0, + } + }, + "OR": { + electoralVotes: 6, + odds: { + "Republican": 0.6, + "Democratic": 0.4, + "American Independent": 0, + } + }, + "PA": { + electoralVotes: 29, + odds: { + "Republican": 0.45, + "Democratic": 0.55, + "American Independent": 0, + } + }, + "RI": { + electoralVotes: 4, + odds: { + "Republican": 0, + "Democratic": 1, + "American Independent": 0, + } + }, + "SC": { + electoralVotes: 8, + odds: { + "Republican": 0.43, + "Democratic": 0.33, + "American Independent": 0.23, + } + }, + "SD": { + electoralVotes: 4, + odds: { + "Republican": 0.8, + "Democratic": 0.2, + "American Independent": 0, + } + }, + "TN": { + electoralVotes: 11, + odds: { + "Republican": 0.43, + "Democratic": 0.23, + "American Independent": 0.33, + } + }, + "TX": { + electoralVotes: 25, + odds: { + "Republican": 0.4, + "Democratic": 0.6, + "American Independent": 0, + } + }, + "UT": { + electoralVotes: 4, + odds: { + "Republican": 0.8, + "Democratic": 0.2, + "American Independent": 0, + } + }, + "VT": { + electoralVotes: 3, + odds: { + "Republican": 0.6, + "Democratic": 0.4, + "American Independent": 0, + } + }, + "VA": { + electoralVotes: 12, + odds: { + "Republican": 0.4, + "Democratic": 0.3, + "American Independent": 0.3, + } + }, + "WA": { + electoralVotes: 9, + odds: { + "Republican": 0.45, + "Democratic": 0.55, + "American Independent": 0, + } + }, + "WV": { + electoralVotes: 7, + odds: { + "Republican": 0.45, + "Democratic": 0.55, + "American Independent": 0, + } + }, + "WI": { + electoralVotes: 12, + odds: { + "Republican": 0.55, + "Democratic": 0.45, + "American Independent": 0, + } + }, + "WY": { + electoralVotes: 3, + odds: { + "Republican": 1, + "Democratic": 0, + "American Independent": 0, + } + } + } +} + +export default Presidential_1968 as Election; \ No newline at end of file diff --git a/src/elections/1992.ts b/src/elections/1992.ts new file mode 100644 index 0000000..db378a5 --- /dev/null +++ b/src/elections/1992.ts @@ -0,0 +1,438 @@ +import { readFile } from "node:fs/promises"; +import Election from "../election.js"; + +const Presidential_1992 = { + title: "1992 United States Presidential Election Simulator", + shortname: "1992", + description: "The CalubViem Press has rewritten history and called the 1992 United States Presidential Election for $WINNER!", + svg: await readFile("assets/ElectoralCollege1992.svg", "utf-8"), + candidates: [ + { + name: "Bill Clinton", + party: "Democratic", + color: "#1C408C", + }, + { + name: "George H.W. Bush", + party: "Republican", + color: "#BF1D29", + }, + { + name: "Ross Perot", + party: "Independent", + color: "#BFAB22", + } + ], + states: { + "AL": { + electoralVotes: 9, + odds: { + "Republican": 0.95, + "Democratic": 0.05, + "Independent": 0, + } + }, + "AK": { + electoralVotes: 3, + odds: { + "Republican": 0.5, + "Democratic": 0.3, + "Independent": 0.2, + } + }, + "AZ": { + electoralVotes: 8, + odds: { + "Republican": 0.55, + "Democratic": 0.35, + "Independent": 0.1, + } + }, + "AR": { + electoralVotes: 6, + odds: { + "Republican": 0.05, + "Democratic": 0.95, + "Independent": 0, + } + }, + "CA": { + electoralVotes: 54, + odds: { + "Republican": 0.05, + "Democratic": 0.9, + "Independent": 0.05, + } + }, + "CO": { + electoralVotes: 8, + odds: { + "Republican": 0.40, + "Democratic": 0.55, + "Independent": 0.05, + } + }, + "CT": { + electoralVotes: 8, + odds: { + "Republican": 0.15, + "Democratic": 0.8, + "Independent": 0.05, + } + }, + "DE": { + electoralVotes: 3, + odds: { + "Republican": 0.1, + "Democratic": 0.85, + "Independent": 0.05, + } + }, + "DC": { + electoralVotes: 3, + odds: { + "Republican": 0, + "Democratic": 1, + "Independent": 0, + } + }, + "FL": { + electoralVotes: 25, + odds: { + "Republican": 0.5, + "Democratic": 0.48, + "Independent": 0.02, + } + }, + "GA": { + electoralVotes: 13, + odds: { + "Republican": 0.4, + "Democratic": 0.59, + "Independent": 0.01, + } + }, + "HI": { + electoralVotes: 4, + odds: { + "Republican": 0.05, + "Democratic": 0.94, + "Independent": 0.01, + } + }, + "ID": { + electoralVotes: 4, + odds: { + "Republican": 0.7, + "Democratic": 0.1, + "Independent": 0.2, + } + }, + "IL": { + electoralVotes: 22, + odds: { + "Republican": 0.1, + "Democratic": 0.85, + "Independent": 0.05, + } + }, + "IN": { + electoralVotes: 12, + odds: { + "Republican": 0.55, + "Democratic": 0.43, + "Independent": 0.02, + } + }, + "IA": { + electoralVotes: 7, + odds: { + "Republican": 0.1, + "Democratic": 0.88, + "Independent": 0.02, + } + }, + "KS": { + electoralVotes: 6, + odds: { + "Republican": 0.9, + "Democratic": 0.02, + "Independent": 0.08, + } + }, + "KY": { + electoralVotes: 8, + odds: { + "Republican": 0.3, + "Democratic": 0.7, + "Independent": 0, + } + }, + "LA": { + electoralVotes: 9, + odds: { + "Republican": 0.3, + "Democratic": 0.7, + "Independent": 0, + } + }, + "ME": { + electoralVotes: 4, + odds: { + "Republican": 0.3, + "Democratic": 0.5, + "Independent": 0.2, + } + }, + "MD": { + electoralVotes: 10, + odds: { + "Republican": 0.01, + "Democratic": 0.94, + "Independent": 0.01, + } + }, + "MA": { + electoralVotes: 12, + odds: { + "Republican": 0, + "Democratic": 0.99, + "Independent": 0.01, + } + }, + "MI": { + electoralVotes: 18, + odds: { + "Republican": 0.2, + "Democratic": 0.78, + "Independent": 0.02, + } + }, + "MN": { + electoralVotes: 10, + odds: { + "Republican": 0.05, + "Democratic": 0.9, + "Independent": 0.05, + } + }, + "MS": { + electoralVotes: 7, + odds: { + "Republican": 0.9, + "Democratic": 0.1, + "Independent": 0, + } + }, + "MO": { + electoralVotes: 11, + odds: { + "Republican": 0.15, + "Democratic": 0.8, + "Independent": 0.05, + } + }, + "MT": { + electoralVotes: 3, + odds: { + "Republican": 0.45, + "Democratic": 0.5, + "Independent": 0.05, + } + }, + "NE": { + electoralVotes: 5, + odds: { + "Republican": 0.90, + "Democratic": 0.05, + "Independent": 0.05, + } + }, + "NV": { + electoralVotes: 4, + odds: { + "Republican": 0.45, + "Democratic": 0.5, + "Independent": 0.05, + } + }, + "NH": { + electoralVotes: 4, + odds: { + "Republican": 0.45, + "Democratic": 0.5, + "Independent": 0.05, + } + }, + "NJ": { + electoralVotes: 15, + odds: { + "Republican": 0.3, + "Democratic": 0.69, + "Independent": 0.01, + } + }, + "NM": { + electoralVotes: 5, + odds: { + "Republican": 0.1, + "Democratic": 0.89, + "Independent": 0.01, + } + }, + "NY": { + electoralVotes: 33, + odds: { + "Republican": 0.05, + "Democratic": 0.94, + "Independent": 0.01, + } + }, + "NC": { + electoralVotes: 14, + odds: { + "Republican": 0.6, + "Democratic": 0.39, + "Independent": 0.01, + } + }, + "ND": { + electoralVotes: 3, + odds: { + "Republican": 0.9, + "Democratic": 0.05, + "Independent": 0.05, + } + }, + "OH": { + electoralVotes: 21, + odds: { + "Republican": 0.3, + "Democratic": 0.65, + "Independent": 0.05, + } + }, + "OK": { + electoralVotes: 8, + odds: { + "Republican": 0.85, + "Democratic": 0.1, + "Independent": 0.05, + } + }, + "OR": { + electoralVotes: 7, + odds: { + "Republican": 0.35, + "Democratic": 0.55, + "Independent": 0.1, + } + }, + "PA": { + electoralVotes: 23, + odds: { + "Republican": 0.1, + "Democratic": 0.89, + "Independent": 0.01, + } + }, + "RI": { + electoralVotes: 4, + odds: { + "Republican": 0.05, + "Democratic": 0.9, + "Independent": 0.05, + } + }, + "SC": { + electoralVotes: 8, + odds: { + "Republican": 0.95, + "Democratic": 0.05, + "Independent": 0, + } + }, + "SD": { + electoralVotes: 3, + odds: { + "Republican": 0.6, + "Democratic": 0.35, + "Independent": 0.05, + } + }, + "TN": { + electoralVotes: 11, + odds: { + "Republican": 0.2, + "Democratic": 0.8, + "Independent": 0, + } + }, + "TX": { + electoralVotes: 32, + odds: { + "Republican": 0.6, + "Democratic": 0.35, + "Independent": 0.05, + } + }, + "UT": { + electoralVotes: 5, + odds: { + "Republican": 0.6, + "Democratic": 0.2, + "Independent": 0.2, + } + }, + "VT": { + electoralVotes: 3, + odds: { + "Republican": 0.1, + "Democratic": 0.95, + "Independent": 0.05, + } + }, + "VA": { + electoralVotes: 13, + odds: { + "Republican": 0.8, + "Democratic": 0.2, + "Independent": 0, + } + }, + "WA": { + electoralVotes: 11, + odds: { + "Republican": 0.25, + "Democratic": 0.70, + "Independent": 0.05, + } + }, + "WV": { + electoralVotes: 5, + odds: { + "Republican": 0.1, + "Democratic": 0.9, + "Independent": 0, + } + }, + "WI": { + electoralVotes: 11, + odds: { + "Republican": 0.2, + "Democratic": 0.75, + "Independent": 0.05, + } + }, + "WY": { + electoralVotes: 3, + odds: { + "Republican": 0.85, + "Democratic": 0.08, + "Independent": 0.07, + } + } + } +} + +export default Presidential_1992 as Election; \ No newline at end of file diff --git a/src/elections/2000.ts b/src/elections/2000.ts new file mode 100644 index 0000000..e08cd87 --- /dev/null +++ b/src/elections/2000.ts @@ -0,0 +1,384 @@ +import { readFile } from "node:fs/promises"; +import Election from "../election.js"; + +const Presidential_2000 = { + title: "2000 United States Presidential Election Simulator", + shortname: "2000", + description: "The CalubViem Press has rewritten history and called the 2000 United States Presidential Election for $WINNER!", + svg: await readFile("assets/ElectoralCollege1992.svg", "utf-8"), + candidates: [ + { + name: "Al Gore", + party: "Democratic", + color: "#1C408C", + }, + { + name: "George W. Bush", + party: "Republican", + color: "#BF1D29", + } + ], + states: { + "AL": { + electoralVotes: 9, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "AK": { + electoralVotes: 3, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "AZ": { + electoralVotes: 8, + odds: { + "Republican": 0.95, + "Democratic": 0.05, + } + }, + "AR": { + electoralVotes: 6, + odds: { + "Republican": 0.95, + "Democratic": 0.05, + } + }, + "CA": { + electoralVotes: 54, + odds: { + "Republican": 0.01, + "Democratic": 0.99, + } + }, + "CO": { + electoralVotes: 8, + odds: { + "Republican": 0.95, + "Democratic": 0.05, + } + }, + "CT": { + electoralVotes: 8, + odds: { + "Republican": 0.01, + "Democratic": 0.99, + } + }, + "DE": { + electoralVotes: 3, + odds: { + "Republican": 0, + "Democratic": 1, + } + }, + "DC": { + electoralVotes: 3, + odds: { + "Republican": 0, + "Democratic": 1, + } + }, + "FL": { + electoralVotes: 25, + odds: { + "Republican": 0.5, + "Democratic": 0.5, + } + }, + "GA": { + electoralVotes: 13, + odds: { + "Republican": 0.98, + "Democratic": 0.02, + } + }, + "HI": { + electoralVotes: 4, + odds: { + "Republican": 0, + "Democratic": 1, + } + }, + "ID": { + electoralVotes: 4, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "IL": { + electoralVotes: 22, + odds: { + "Republican": 0, + "Democratic": 1, + } + }, + "IN": { + electoralVotes: 12, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "IA": { + electoralVotes: 7, + odds: { + "Republican": 0.45, + "Democratic": 0.55, + } + }, + "KS": { + electoralVotes: 6, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "KY": { + electoralVotes: 8, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "LA": { + electoralVotes: 9, + odds: { + "Republican": 0.98, + "Democratic": 0.02, + + } + }, + "ME": { + electoralVotes: 4, + odds: { + "Republican": 0.1, + "Democratic": 0.9, + } + }, + "MD": { + electoralVotes: 10, + odds: { + "Republican": 0, + "Democratic": 1, + } + }, + "MA": { + electoralVotes: 12, + odds: { + "Republican": 0, + "Democratic": 1, + } + }, + "MI": { + electoralVotes: 18, + odds: { + "Republican": 0.1, + "Democratic": 0.9, + } + }, + "MN": { + electoralVotes: 10, + odds: { + "Republican": 0.15, + "Democratic": 0.85, + } + }, + "MS": { + electoralVotes: 7, + odds: { + "Republican": 1, + "Democratic": 0, + + } + }, + "MO": { + electoralVotes: 11, + odds: { + "Republican": 0.85, + "Democratic": 0.15, + } + }, + "MT": { + electoralVotes: 3, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "NE": { + electoralVotes: 5, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "NV": { + electoralVotes: 4, + odds: { + "Republican": 0.75, + "Democratic": 0.25, + } + }, + "NH": { + electoralVotes: 4, + odds: { + "Republican": 0.75, + "Democratic": 0.25, + } + }, + "NJ": { + electoralVotes: 15, + odds: { + "Republican": 0, + "Democratic": 1, + } + }, + "NM": { + electoralVotes: 5, + odds: { + "Republican": 0.5, + "Democratic": 0.5, + } + }, + "NY": { + electoralVotes: 33, + odds: { + "Republican": 0, + "Democratic": 1, + } + }, + "NC": { + electoralVotes: 14, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "ND": { + electoralVotes: 3, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "OH": { + electoralVotes: 21, + odds: { + "Republican": 0.85, + "Democratic": 0.15, + } + }, + "OK": { + electoralVotes: 8, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "OR": { + electoralVotes: 7, + odds: { + "Republican": 0.45, + "Democratic": 0.55, + } + }, + "PA": { + electoralVotes: 23, + odds: { + "Republican": 0.25, + "Democratic": 0.75, + } + }, + "RI": { + electoralVotes: 4, + odds: { + "Republican": 0, + "Democratic": 1, + } + }, + "SC": { + electoralVotes: 8, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "SD": { + electoralVotes: 3, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "TN": { + electoralVotes: 11, + odds: { + "Republican": 0.95, + "Democratic": 0.05, + } + }, + "TX": { + electoralVotes: 32, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "UT": { + electoralVotes: 5, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "VT": { + electoralVotes: 3, + odds: { + "Republican": 0.02, + "Democratic": 0.98, + } + }, + "VA": { + electoralVotes: 13, + odds: { + "Republican": 0.98, + "Democratic": 0.02, + } + }, + "WA": { + electoralVotes: 11, + odds: { + "Republican": 0.01, + "Democratic": 0.99, + } + }, + "WV": { + electoralVotes: 5, + odds: { + "Republican": 0.98, + "Democratic": 0.02, + } + }, + "WI": { + electoralVotes: 11, + odds: { + "Republican": 0.5, + "Democratic": 0.5, + } + }, + "WY": { + electoralVotes: 3, + odds: { + "Republican": 1, + "Democratic": 0, + } + } + } +} + +export default Presidential_2000 as Election; \ No newline at end of file diff --git a/src/elections/2004.ts b/src/elections/2004.ts new file mode 100644 index 0000000..a4c2b6a --- /dev/null +++ b/src/elections/2004.ts @@ -0,0 +1,384 @@ +import { readFile } from "node:fs/promises"; +import Election from "../election.js"; + +const Presidential_2004 = { + title: "2004 United States Presidential Election Simulator", + shortname: "2004", + description: "The CalubViem Press has rewritten history and called the 2004 United States Presidential Election for $WINNER!", + svg: await readFile("assets/ElectoralCollege2004.svg", "utf-8"), + candidates: [ + { + name: "John Kerry", + party: "Democratic", + color: "#1C408C", + }, + { + name: "George W. Bush", + party: "Republican", + color: "#BF1D29", + } + ], + states: { + "AL": { + electoralVotes: 9, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "AK": { + electoralVotes: 3, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "AZ": { + electoralVotes: 10, + odds: { + "Republican": 0.99, + "Democratic": 0.01, + } + }, + "AR": { + electoralVotes: 6, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "CA": { + electoralVotes: 55, + odds: { + "Republican": 0.01, + "Democratic": 0.99, + } + }, + "CO": { + electoralVotes: 9, + odds: { + "Republican": 0.92, + "Democratic": 0.07, + } + }, + "CT": { + electoralVotes: 7, + odds: { + "Republican": 0, + "Democratic": 1, + } + }, + "DE": { + electoralVotes: 3, + odds: { + "Republican": 0, + "Democratic": 1, + } + }, + "DC": { + electoralVotes: 3, + odds: { + "Republican": 0, + "Democratic": 1, + } + }, + "FL": { + electoralVotes: 27, + odds: { + "Republican": 0.95, + "Democratic": 0.05, + } + }, + "GA": { + electoralVotes: 15, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "HI": { + electoralVotes: 4, + odds: { + "Republican": 0, + "Democratic": 1, + } + }, + "ID": { + electoralVotes: 4, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "IL": { + electoralVotes: 21, + odds: { + "Republican": 0, + "Democratic": 1, + } + }, + "IN": { + electoralVotes: 11, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "IA": { + electoralVotes: 7, + odds: { + "Republican": 0.55, + "Democratic": 0.45, + } + }, + "KS": { + electoralVotes: 6, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "KY": { + electoralVotes: 8, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "LA": { + electoralVotes: 9, + odds: { + "Republican": 1, + "Democratic": 0, + + } + }, + "ME": { + electoralVotes: 4, + odds: { + "Republican": 0.1, + "Democratic": 0.9, + } + }, + "MD": { + electoralVotes: 10, + odds: { + "Republican": 0, + "Democratic": 1, + } + }, + "MA": { + electoralVotes: 12, + odds: { + "Republican": 0, + "Democratic": 1, + } + }, + "MI": { + electoralVotes: 17, + odds: { + "Republican": 0.1, + "Democratic": 0.9, + } + }, + "MN": { + electoralVotes: 10, + odds: { + "Republican": 0.15, + "Democratic": 0.85, + } + }, + "MS": { + electoralVotes: 6, + odds: { + "Republican": 1, + "Democratic": 0, + + } + }, + "MO": { + electoralVotes: 11, + odds: { + "Republican": 0.9, + "Democratic": 0.1, + } + }, + "MT": { + electoralVotes: 3, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "NE": { + electoralVotes: 5, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "NV": { + electoralVotes: 5, + odds: { + "Republican": 0.85, + "Democratic": 0.15, + } + }, + "NH": { + electoralVotes: 4, + odds: { + "Republican": 0.45, + "Democratic": 0.55, + } + }, + "NJ": { + electoralVotes: 15, + odds: { + "Republican": 0, + "Democratic": 1, + } + }, + "NM": { + electoralVotes: 5, + odds: { + "Republican": 0.5, + "Democratic": 0.5, + } + }, + "NY": { + electoralVotes: 31, + odds: { + "Republican": 0, + "Democratic": 1, + } + }, + "NC": { + electoralVotes: 15, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "ND": { + electoralVotes: 3, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "OH": { + electoralVotes: 20, + odds: { + "Republican": 0.9, + "Democratic": 0.1, + } + }, + "OK": { + electoralVotes: 7, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "OR": { + electoralVotes: 7, + odds: { + "Republican": 0.15, + "Democratic": 0.85, + } + }, + "PA": { + electoralVotes: 21, + odds: { + "Republican": 0.35, + "Democratic": 0.65, + } + }, + "RI": { + electoralVotes: 4, + odds: { + "Republican": 0, + "Democratic": 1, + } + }, + "SC": { + electoralVotes: 8, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "SD": { + electoralVotes: 3, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "TN": { + electoralVotes: 11, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "TX": { + electoralVotes: 34, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "UT": { + electoralVotes: 5, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "VT": { + electoralVotes: 3, + odds: { + "Republican": 0, + "Democratic": 1, + } + }, + "VA": { + electoralVotes: 13, + odds: { + "Republican": 0.98, + "Democratic": 0.02, + } + }, + "WA": { + electoralVotes: 11, + odds: { + "Republican": 0, + "Democratic": 1, + } + }, + "WV": { + electoralVotes: 5, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "WI": { + electoralVotes: 10, + odds: { + "Republican": 0.47, + "Democratic": 0.53, + } + }, + "WY": { + electoralVotes: 3, + odds: { + "Republican": 1, + "Democratic": 0, + } + } + } +} + +export default Presidential_2004 as Election; \ No newline at end of file diff --git a/src/elections/2008.ts b/src/elections/2008.ts new file mode 100644 index 0000000..07bda7e --- /dev/null +++ b/src/elections/2008.ts @@ -0,0 +1,391 @@ +import { readFile } from "node:fs/promises"; +import Election from "../election.js"; + +const Presidential_2008 = { + title: "2008 United States Presidential Election Simulator", + shortname: "2008", + description: "The CalubViem Press has rewritten history and called the 2008 United States Presidential Election for $WINNER!", + svg: await readFile("assets/ElectoralCollege2008.svg", "utf-8"), + candidates: [ + { + name: "Barack Obama", + party: "Democratic", + color: "#1C408C", + }, + { + name: "John McCain", + party: "Republican", + color: "#BF1D29", + } + ], + states: { + "AL": { + electoralVotes: 9, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "AK": { + electoralVotes: 3, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "AZ": { + electoralVotes: 10, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "AR": { + electoralVotes: 6, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "CA": { + electoralVotes: 55, + odds: { + "Republican": 0, + "Democratic": 1, + } + }, + "CO": { + electoralVotes: 9, + odds: { + "Republican": 0.20, + "Democratic": 0.80, + } + }, + "CT": { + electoralVotes: 7, + odds: { + "Republican": 0, + "Democratic": 1, + } + }, + "DE": { + electoralVotes: 3, + odds: { + "Republican": 0, + "Democratic": 1, + } + }, + "DC": { + electoralVotes: 3, + odds: { + "Republican": 0, + "Democratic": 1, + } + }, + "FL": { + electoralVotes: 27, + odds: { + "Republican": 0.2, + "Democratic": 0.8, + } + }, + "GA": { + electoralVotes: 15, + odds: { + "Republican": 0.9, + "Democratic": 0.1, + } + }, + "HI": { + electoralVotes: 4, + odds: { + "Republican": 0, + "Democratic": 1, + } + }, + "ID": { + electoralVotes: 4, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "IL": { + electoralVotes: 21, + odds: { + "Republican": 0, + "Democratic": 1, + } + }, + "IN": { + electoralVotes: 11, + odds: { + "Republican": 0.45, + "Democratic": 0.55, + } + }, + "IA": { + electoralVotes: 7, + odds: { + "Republican": 0.35, + "Democratic": 0.65, + } + }, + "KS": { + electoralVotes: 6, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "KY": { + electoralVotes: 8, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "LA": { + electoralVotes: 9, + odds: { + "Republican": 1, + "Democratic": 0, + + } + }, + "ME": { + electoralVotes: 4, + odds: { + "Republican": 0, + "Democratic": 1, + } + }, + "MD": { + electoralVotes: 10, + odds: { + "Republican": 0, + "Democratic": 1, + } + }, + "MA": { + electoralVotes: 12, + odds: { + "Republican": 0, + "Democratic": 1, + } + }, + "MI": { + electoralVotes: 17, + odds: { + "Republican": 0.02, + "Democratic": 0.98, + } + }, + "MN": { + electoralVotes: 10, + odds: { + "Republican": 0, + "Democratic": 1, + } + }, + "MS": { + electoralVotes: 6, + odds: { + "Republican": 1, + "Democratic": 0, + + } + }, + "MO": { + electoralVotes: 11, + odds: { + "Republican": 0.5, + "Democratic": 0.5, + } + }, + "MT": { + electoralVotes: 3, + odds: { + "Republican": 0.75, + "Democratic": 0.25, + } + }, + "NE": { + electoralVotes: 4, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "NE-02": { + electoralVotes: 1, + odds: { + "Republican": 0.25, + "Democratic": 0.75, + } + }, + "NV": { + electoralVotes: 5, + odds: { + "Republican": 0.01, + "Democratic": 0.99, + } + }, + "NH": { + electoralVotes: 4, + odds: { + "Republican": 0, + "Democratic": 1, + } + }, + "NJ": { + electoralVotes: 15, + odds: { + "Republican": 0, + "Democratic": 1, + } + }, + "NM": { + electoralVotes: 5, + odds: { + "Republican": 0.02, + "Democratic": 0.98, + } + }, + "NY": { + electoralVotes: 31, + odds: { + "Republican": 0, + "Democratic": 1, + } + }, + "NC": { + electoralVotes: 15, + odds: { + "Republican": 0.5, + "Democratic": 0.5, + } + }, + "ND": { + electoralVotes: 3, + odds: { + "Republican": 0.95, + "Democratic": 0.05, + } + }, + "OH": { + electoralVotes: 20, + odds: { + "Republican": 0.3, + "Democratic": 0.7, + } + }, + "OK": { + electoralVotes: 7, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "OR": { + electoralVotes: 7, + odds: { + "Republican": 0, + "Democratic": 1, + } + }, + "PA": { + electoralVotes: 21, + odds: { + "Republican": 0.05, + "Democratic": 0.95, + } + }, + "RI": { + electoralVotes: 4, + odds: { + "Republican": 0, + "Democratic": 1, + } + }, + "SC": { + electoralVotes: 8, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "SD": { + electoralVotes: 3, + odds: { + "Republican": 0.95, + "Democratic": 0.05, + } + }, + "TN": { + electoralVotes: 11, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "TX": { + electoralVotes: 34, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "UT": { + electoralVotes: 5, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "VT": { + electoralVotes: 3, + odds: { + "Republican": 0, + "Democratic": 1, + } + }, + "VA": { + electoralVotes: 13, + odds: { + "Republican": 0.01, + "Democratic": 0.99, + } + }, + "WA": { + electoralVotes: 11, + odds: { + "Republican": 0, + "Democratic": 1, + } + }, + "WV": { + electoralVotes: 5, + odds: { + "Republican": 1, + "Democratic": 0, + } + }, + "WI": { + electoralVotes: 10, + odds: { + "Republican": 0.02, + "Democratic": 0.98, + } + }, + "WY": { + electoralVotes: 3, + odds: { + "Republican": 1, + "Democratic": 0, + } + } + } +} + +export default Presidential_2008 as Election; \ No newline at end of file diff --git a/src/elections/elections.ts b/src/elections/elections.ts index d5caab4..8087308 100644 --- a/src/elections/elections.ts +++ b/src/elections/elections.ts @@ -1,13 +1,23 @@ import Election from "../election.js"; +import Presidential_1789 from "./1789.js"; +import Presidential_1848 from "./1848.js"; import Presidential_1864 from "./1864.js"; import Presidential_1968 from "./1968.js"; +import Presidential_1992 from "./1992.js"; +import Presidential_2000 from "./2000.js"; +import Presidential_2004 from "./2004.js"; +import Presidential_2008 from "./2008.js"; import Presidential_2024 from "./2024.js"; -import Presidential_1789 from "./1789.js"; const Elections = { "1789": Presidential_1789, + "1848": Presidential_1848, "1864": Presidential_1864, "1968": Presidential_1968, + "1992": Presidential_1992, + "2000": Presidential_2000, + "2004": Presidential_2004, + "2008": Presidential_2008, "2024": Presidential_2024 }