elections-types 1.0.91 → 1.0.93
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/index.d.ts +6 -6
- package/dist/src/index.js +6 -6
- package/dist/src/types/ElectionsConfig.d.ts +6 -6
- package/dist/src/types/FederalElection.d.ts +27 -0
- package/dist/src/types/FederalElection.js +86 -0
- package/dist/src/types/FederalElectionCandidate.d.ts +38 -0
- package/dist/src/types/FederalElectionCandidate.js +99 -0
- package/dist/src/types/FederalElectionCandidateCommittee.d.ts +7 -0
- package/dist/src/types/FederalElectionCandidateCommittee.js +32 -0
- package/dist/src/types/FederalElectionCommittee.d.ts +27 -0
- package/dist/src/types/FederalElectionCommittee.js +68 -0
- package/dist/src/types/FederalElectionDonation.d.ts +3 -3
- package/dist/src/types/FederalElectionDonation.js +9 -9
- package/dist/src/types/FederalElectionF1File.d.ts +10 -10
- package/dist/src/types/FederalElectionF1File.js +24 -24
- package/dist/src/types/FederalElectionF24File.d.ts +3 -3
- package/dist/src/types/FederalElectionF24File.js +5 -5
- package/dist/src/types/FederalElectionF2File.d.ts +5 -5
- package/dist/src/types/FederalElectionF2File.js +13 -13
- package/dist/src/types/FederalElectionF3File.d.ts +1 -1
- package/dist/src/types/FederalElectionF3File.js +3 -3
- package/dist/src/types/FederalElectionFileExpenditure.d.ts +28 -0
- package/dist/src/types/FederalElectionFileExpenditure.js +70 -0
- package/dist/src/types/Tweet.d.ts +1 -4
- package/dist/src/types/Tweet.js +14 -13
- package/dist/src/types/UserFederalElection.d.ts +9 -0
- package/dist/src/types/UserFederalElection.js +24 -0
- package/package.json +1 -1
- package/src/index.ts +6 -6
- package/src/types/ElectionsConfig.ts +6 -6
- package/src/types/FederalElection.ts +105 -0
- package/src/types/FederalElectionCandidate.ts +118 -0
- package/src/types/FederalElectionCandidateCommittee.ts +42 -0
- package/src/types/FederalElectionCommittee.ts +84 -0
- package/src/types/FederalElectionDonation.ts +9 -9
- package/src/types/FederalElectionF1File.ts +25 -25
- package/src/types/FederalElectionF24File.ts +6 -6
- package/src/types/FederalElectionF2File.ts +13 -13
- package/src/types/FederalElectionF3File.ts +3 -3
- package/src/types/FederalElectionFileExpenditure.ts +82 -0
- package/src/types/Tweet.ts +13 -13
- package/src/types/UserFederalElection.ts +31 -0
- package/src/types/Candidate.ts +0 -118
- package/src/types/CandidateCommittee.ts +0 -42
- package/src/types/Committee.ts +0 -84
- package/src/types/Election.ts +0 -105
- package/src/types/Expenditure.ts +0 -82
- package/src/types/UserElection.ts +0 -31
package/dist/src/index.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
export * from "./types/APIError.js";
|
|
2
2
|
export * from "./types/Article.js";
|
|
3
|
-
export * from "./types/Candidate.js";
|
|
4
3
|
export * from "./types/CandidateArticle.js";
|
|
5
|
-
export * from "./types/CandidateCommittee.js";
|
|
6
4
|
export * from "./types/CandidateTweet.js";
|
|
7
5
|
export * from "./types/CandidateVideo.js";
|
|
8
|
-
export * from "./types/
|
|
9
|
-
export * from "./types/Election.js";
|
|
6
|
+
export * from "./types/FederalElection.js";
|
|
10
7
|
export * from "./types/ElectionsConfig.js";
|
|
11
|
-
export * from "./types/
|
|
8
|
+
export * from "./types/FederalElectionCommittee.js";
|
|
9
|
+
export * from "./types/FederalElectionCandidate.js";
|
|
10
|
+
export * from "./types/FederalElectionCandidateCommittee.js";
|
|
11
|
+
export * from "./types/FederalElectionFileExpenditure.js";
|
|
12
12
|
export * from "./types/FederalElectionDonation.js";
|
|
13
13
|
export * from "./types/FederalElectionFile.js";
|
|
14
14
|
export * from "./types/FederalElectionF1File.js";
|
|
@@ -19,5 +19,5 @@ export * from "./types/FormTypeID.js";
|
|
|
19
19
|
export * from "./types/State.js";
|
|
20
20
|
export * from "./types/Tweet.js";
|
|
21
21
|
export * from "./types/User.js";
|
|
22
|
-
export * from "./types/
|
|
22
|
+
export * from "./types/UserFederalElection.js";
|
|
23
23
|
export * from "./types/Video.js";
|
package/dist/src/index.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
export * from "./types/APIError.js";
|
|
2
2
|
export * from "./types/Article.js";
|
|
3
|
-
export * from "./types/Candidate.js";
|
|
4
3
|
export * from "./types/CandidateArticle.js";
|
|
5
|
-
export * from "./types/CandidateCommittee.js";
|
|
6
4
|
export * from "./types/CandidateTweet.js";
|
|
7
5
|
export * from "./types/CandidateVideo.js";
|
|
8
|
-
export * from "./types/
|
|
9
|
-
export * from "./types/Election.js";
|
|
6
|
+
export * from "./types/FederalElection.js";
|
|
10
7
|
export * from "./types/ElectionsConfig.js";
|
|
11
|
-
export * from "./types/
|
|
8
|
+
export * from "./types/FederalElectionCommittee.js";
|
|
9
|
+
export * from "./types/FederalElectionCandidate.js";
|
|
10
|
+
export * from "./types/FederalElectionCandidateCommittee.js";
|
|
11
|
+
export * from "./types/FederalElectionFileExpenditure.js";
|
|
12
12
|
export * from "./types/FederalElectionDonation.js";
|
|
13
13
|
export * from "./types/FederalElectionFile.js";
|
|
14
14
|
export * from "./types/FederalElectionF1File.js";
|
|
@@ -19,5 +19,5 @@ export * from "./types/FormTypeID.js";
|
|
|
19
19
|
export * from "./types/State.js";
|
|
20
20
|
export * from "./types/Tweet.js";
|
|
21
21
|
export * from "./types/User.js";
|
|
22
|
-
export * from "./types/
|
|
22
|
+
export * from "./types/UserFederalElection.js";
|
|
23
23
|
export * from "./types/Video.js";
|
|
@@ -18,13 +18,13 @@ export interface ElectionsConfig extends ElectionsUtilsConfig {
|
|
|
18
18
|
super_gov_api_keys: string[];
|
|
19
19
|
gov_api_keys: string[];
|
|
20
20
|
lobby_api_key: string;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
dynamodb_federal_elections: string;
|
|
22
|
+
dynamodb_federal_election_candidates: string;
|
|
23
|
+
dynamodb_federal_election_committees: string;
|
|
24
|
+
dynamodb_federal_election_candidate_committees: string;
|
|
25
|
+
dynamodb_federal_election_file_expenditures: string;
|
|
26
26
|
dynamodb_users: string;
|
|
27
|
-
|
|
27
|
+
dynamodb_user_federal_elections: string;
|
|
28
28
|
dynamodb_articles: string;
|
|
29
29
|
dynamodb_candidate_articles: string;
|
|
30
30
|
dynamodb_tweets: string;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { FederalElectionCandidateAux } from "./FederalElectionCandidate.js";
|
|
2
|
+
import { FederalElectionCommitteeAux } from "./FederalElectionCommittee.js";
|
|
3
|
+
import { FederalElectionFileExpenditureAux } from "./FederalElectionFileExpenditure.js";
|
|
4
|
+
import { StateID } from "./State.js";
|
|
5
|
+
declare const federal_election_office_ids: readonly ["H", "S", "P"];
|
|
6
|
+
export type FederalElectionOfficeID = typeof federal_election_office_ids[number];
|
|
7
|
+
export declare function is_federal_election_office_id(federal_election_office_id: any): federal_election_office_id is FederalElectionOfficeID;
|
|
8
|
+
export type FederalElectionID = string;
|
|
9
|
+
export declare function is_federal_election_id(federal_election_id: any): federal_election_id is FederalElectionID;
|
|
10
|
+
export declare class FederalElection {
|
|
11
|
+
readonly federal_election_id: FederalElectionID;
|
|
12
|
+
readonly name: string;
|
|
13
|
+
readonly federal_election_office_id: FederalElectionOfficeID;
|
|
14
|
+
readonly state_id?: StateID;
|
|
15
|
+
readonly district?: number;
|
|
16
|
+
readonly [x: string]: any;
|
|
17
|
+
constructor(federal_election: FederalElection);
|
|
18
|
+
static is(federal_election: any): federal_election is FederalElection;
|
|
19
|
+
}
|
|
20
|
+
export declare class ElectionAux extends FederalElection {
|
|
21
|
+
readonly federal_election_candidates: FederalElectionCandidateAux[];
|
|
22
|
+
readonly federal_election_committees: FederalElectionCommitteeAux[];
|
|
23
|
+
readonly federal_election_file_expenditures: FederalElectionFileExpenditureAux[];
|
|
24
|
+
constructor(federal_election: any);
|
|
25
|
+
static is(federal_election: any): federal_election is ElectionAux;
|
|
26
|
+
}
|
|
27
|
+
export {};
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { FederalElectionCandidateAux } from "./FederalElectionCandidate.js";
|
|
2
|
+
import { FederalElectionCommitteeAux } from "./FederalElectionCommittee.js";
|
|
3
|
+
import { FederalElectionFileExpenditureAux } from "./FederalElectionFileExpenditure.js";
|
|
4
|
+
import { is_state_id } from "./State.js";
|
|
5
|
+
const federal_election_office_ids = ["H", "S", "P"];
|
|
6
|
+
export function is_federal_election_office_id(federal_election_office_id) {
|
|
7
|
+
return federal_election_office_ids.includes(federal_election_office_id);
|
|
8
|
+
}
|
|
9
|
+
const state_ids_without_district = ["AK", "DE", "ND", "SD", "VT", "WY"];
|
|
10
|
+
export function is_federal_election_id(federal_election_id) {
|
|
11
|
+
const parts = federal_election_id.split("-");
|
|
12
|
+
const year = Number(parts[0]);
|
|
13
|
+
const federal_election_office_id = parts[1];
|
|
14
|
+
const state_id = parts[2];
|
|
15
|
+
const district = Number(parts[3]);
|
|
16
|
+
if (!(Number.isInteger(year) && year > 1700 && year < 3000 && is_federal_election_office_id(federal_election_office_id))) {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
if (federal_election_office_id === "P" && parts.length === 2) {
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
22
|
+
if (!is_state_id(state_id)) {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
if (federal_election_office_id === "S" && parts.length === 3) {
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
if (federal_election_office_id !== "H") {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
if (!(state_ids_without_district.includes(state_id) && parts.length === 3 || parts.length === 4)) {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
if (!Number.isInteger(district) && district < 100) {
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
export class FederalElection {
|
|
40
|
+
federal_election_id;
|
|
41
|
+
name;
|
|
42
|
+
federal_election_office_id;
|
|
43
|
+
state_id;
|
|
44
|
+
district;
|
|
45
|
+
constructor(federal_election) {
|
|
46
|
+
if (!FederalElection.is(federal_election)) {
|
|
47
|
+
throw Error("Invalid input.");
|
|
48
|
+
}
|
|
49
|
+
this.federal_election_id = federal_election.federal_election_id;
|
|
50
|
+
this.name = federal_election.name;
|
|
51
|
+
this.federal_election_office_id = federal_election.federal_election_office_id;
|
|
52
|
+
this.state_id = federal_election.state_id;
|
|
53
|
+
this.district = federal_election.district;
|
|
54
|
+
}
|
|
55
|
+
static is(federal_election) {
|
|
56
|
+
return (federal_election !== undefined &&
|
|
57
|
+
is_federal_election_id(federal_election.federal_election_id) &&
|
|
58
|
+
typeof federal_election.name === "string" &&
|
|
59
|
+
is_federal_election_office_id(federal_election.federal_election_office_id) &&
|
|
60
|
+
(federal_election.state_id === undefined || is_state_id(federal_election.state_id)) &&
|
|
61
|
+
(federal_election.district === undefined || typeof federal_election.district === "number"));
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
export class ElectionAux extends FederalElection {
|
|
65
|
+
federal_election_candidates;
|
|
66
|
+
federal_election_committees;
|
|
67
|
+
federal_election_file_expenditures;
|
|
68
|
+
constructor(federal_election) {
|
|
69
|
+
if (!ElectionAux.is(federal_election)) {
|
|
70
|
+
throw Error("Invalid input.");
|
|
71
|
+
}
|
|
72
|
+
super(federal_election);
|
|
73
|
+
this.federal_election_candidates = federal_election.federal_election_candidates;
|
|
74
|
+
this.federal_election_committees = federal_election.committees;
|
|
75
|
+
this.federal_election_file_expenditures = federal_election.federal_election_file_expenditures;
|
|
76
|
+
}
|
|
77
|
+
static is(federal_election) {
|
|
78
|
+
return (FederalElection.is(federal_election) &&
|
|
79
|
+
Array.isArray(federal_election.federal_election_candidates) &&
|
|
80
|
+
federal_election.federal_election_candidates.every(FederalElectionCandidateAux.is) &&
|
|
81
|
+
Array.isArray(federal_election.federal_election_committees) &&
|
|
82
|
+
federal_election.federal_election_committees.every(FederalElectionCommitteeAux.is) &&
|
|
83
|
+
Array.isArray(federal_election.federal_election_file_expenditures) &&
|
|
84
|
+
federal_election.federal_election_file_expenditures.every(FederalElectionFileExpenditureAux.is));
|
|
85
|
+
}
|
|
86
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { FederalElectionCommitteeAux } from "./FederalElectionCommittee.js";
|
|
2
|
+
import { FederalElectionID, FederalElectionOfficeID } from "./FederalElection.js";
|
|
3
|
+
import { FederalElectionFileExpenditureAux } from "./FederalElectionFileExpenditure.js";
|
|
4
|
+
import { FederalElectionF3File } from "./FederalElectionF3File.js";
|
|
5
|
+
import { StateID } from "./State.js";
|
|
6
|
+
export declare class ActivityIndex {
|
|
7
|
+
readonly news_index: number;
|
|
8
|
+
readonly twitter_index: number;
|
|
9
|
+
readonly total_index: number;
|
|
10
|
+
constructor(activity_index: any);
|
|
11
|
+
static is(activity_index: any): activity_index is ActivityIndex;
|
|
12
|
+
}
|
|
13
|
+
export declare class FederalElectionCandidate {
|
|
14
|
+
readonly federal_election_candidate_id: string;
|
|
15
|
+
readonly name: string;
|
|
16
|
+
readonly federal_election_office_id: FederalElectionOfficeID;
|
|
17
|
+
readonly state_id: StateID;
|
|
18
|
+
readonly district?: number;
|
|
19
|
+
readonly federal_election_id: FederalElectionID;
|
|
20
|
+
readonly party_id?: string;
|
|
21
|
+
readonly active?: boolean;
|
|
22
|
+
readonly status?: string;
|
|
23
|
+
readonly federal_election_file_id?: number;
|
|
24
|
+
readonly ballotpedia_name?: string;
|
|
25
|
+
readonly ballotpedia_url?: string;
|
|
26
|
+
readonly ballotpedia_data?: Record<string, any>;
|
|
27
|
+
readonly activity_index?: ActivityIndex;
|
|
28
|
+
[x: string]: any;
|
|
29
|
+
constructor(federal_election_candidate: FederalElectionCandidate);
|
|
30
|
+
static is(federal_election_candidate: any): federal_election_candidate is FederalElectionCandidate;
|
|
31
|
+
}
|
|
32
|
+
export declare class FederalElectionCandidateAux extends FederalElectionCandidate {
|
|
33
|
+
readonly federal_election_committees: FederalElectionCommitteeAux[];
|
|
34
|
+
readonly federal_election_f3_files: FederalElectionF3File[];
|
|
35
|
+
readonly federal_election_file_expenditures: FederalElectionFileExpenditureAux[];
|
|
36
|
+
constructor(federal_election_candidate: any);
|
|
37
|
+
static is(federal_election_candidate: any): federal_election_candidate is FederalElectionCandidateAux;
|
|
38
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { FederalElectionCommitteeAux } from "./FederalElectionCommittee.js";
|
|
2
|
+
import { is_federal_election_id, is_federal_election_office_id } from "./FederalElection.js";
|
|
3
|
+
import { FederalElectionFileExpenditureAux } from "./FederalElectionFileExpenditure.js";
|
|
4
|
+
import { FederalElectionF3File } from "./FederalElectionF3File.js";
|
|
5
|
+
import { is_state_id } from "./State.js";
|
|
6
|
+
export class ActivityIndex {
|
|
7
|
+
news_index;
|
|
8
|
+
twitter_index;
|
|
9
|
+
total_index;
|
|
10
|
+
constructor(activity_index) {
|
|
11
|
+
if (!ActivityIndex.is(activity_index)) {
|
|
12
|
+
throw Error("Invalid input.");
|
|
13
|
+
}
|
|
14
|
+
this.news_index = activity_index.news_index;
|
|
15
|
+
this.twitter_index = activity_index.twitter_index;
|
|
16
|
+
this.total_index = activity_index.total_index;
|
|
17
|
+
}
|
|
18
|
+
static is(activity_index) {
|
|
19
|
+
return (activity_index !== undefined &&
|
|
20
|
+
typeof activity_index.news_index === "number" &&
|
|
21
|
+
typeof activity_index.twitter_index === "number" &&
|
|
22
|
+
typeof activity_index.total_index === "number");
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export class FederalElectionCandidate {
|
|
26
|
+
federal_election_candidate_id;
|
|
27
|
+
name;
|
|
28
|
+
federal_election_office_id;
|
|
29
|
+
state_id;
|
|
30
|
+
district;
|
|
31
|
+
federal_election_id;
|
|
32
|
+
party_id;
|
|
33
|
+
active;
|
|
34
|
+
status;
|
|
35
|
+
federal_election_file_id;
|
|
36
|
+
ballotpedia_name;
|
|
37
|
+
ballotpedia_url;
|
|
38
|
+
ballotpedia_data;
|
|
39
|
+
activity_index;
|
|
40
|
+
constructor(federal_election_candidate) {
|
|
41
|
+
if (!FederalElectionCandidate.is(federal_election_candidate)) {
|
|
42
|
+
throw Error("Invalid input.");
|
|
43
|
+
}
|
|
44
|
+
this.federal_election_candidate_id = federal_election_candidate.federal_election_candidate_id;
|
|
45
|
+
this.name = federal_election_candidate.name;
|
|
46
|
+
this.federal_election_office_id = federal_election_candidate.federal_election_office_id;
|
|
47
|
+
this.state_id = federal_election_candidate.state_id;
|
|
48
|
+
this.district = federal_election_candidate.district;
|
|
49
|
+
this.federal_election_id = federal_election_candidate.federal_election_id;
|
|
50
|
+
this.party_id = federal_election_candidate.party_id;
|
|
51
|
+
this.active = federal_election_candidate.active;
|
|
52
|
+
this.status = federal_election_candidate.status;
|
|
53
|
+
this.federal_election_file_id = federal_election_candidate.federal_election_file_id;
|
|
54
|
+
this.ballotpedia_name = federal_election_candidate.ballotpedia_name;
|
|
55
|
+
this.ballotpedia_url = federal_election_candidate.ballotpedia_url;
|
|
56
|
+
this.ballotpedia_data = federal_election_candidate.ballotpedia_data;
|
|
57
|
+
this.activity_index = federal_election_candidate.activity_index !== undefined ? new ActivityIndex(federal_election_candidate.activity_index) : undefined;
|
|
58
|
+
}
|
|
59
|
+
static is(federal_election_candidate) {
|
|
60
|
+
return (federal_election_candidate !== undefined &&
|
|
61
|
+
typeof federal_election_candidate.federal_election_candidate_id === "string" &&
|
|
62
|
+
typeof federal_election_candidate.name === "string" &&
|
|
63
|
+
is_federal_election_office_id(federal_election_candidate.federal_election_office_id) &&
|
|
64
|
+
is_state_id(federal_election_candidate.state_id) &&
|
|
65
|
+
(federal_election_candidate.district === undefined || typeof federal_election_candidate.district === "number") &&
|
|
66
|
+
is_federal_election_id(federal_election_candidate.federal_election_id) &&
|
|
67
|
+
(federal_election_candidate.party_id === undefined || typeof federal_election_candidate.party_id === "string") &&
|
|
68
|
+
(federal_election_candidate.active === undefined || typeof federal_election_candidate.active === "boolean") &&
|
|
69
|
+
(federal_election_candidate.status === undefined || typeof federal_election_candidate.status === "string") &&
|
|
70
|
+
(federal_election_candidate.federal_election_file_id === undefined || typeof federal_election_candidate.federal_election_file_id === "number" && !isNaN(federal_election_candidate.federal_election_file_id)) &&
|
|
71
|
+
(federal_election_candidate.ballotpedia_name === undefined || typeof federal_election_candidate.ballotpedia_name === "string") &&
|
|
72
|
+
(federal_election_candidate.ballotpedia_url === undefined || typeof federal_election_candidate.ballotpedia_url === "string") &&
|
|
73
|
+
(federal_election_candidate.ballotpedia_data === undefined || typeof federal_election_candidate.ballotpedia_data === "object" && Object.keys(federal_election_candidate.ballotpedia_data).map((key) => typeof key === "string")) &&
|
|
74
|
+
(federal_election_candidate.activity_index === undefined || ActivityIndex.is(federal_election_candidate.activity_index)));
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
export class FederalElectionCandidateAux extends FederalElectionCandidate {
|
|
78
|
+
federal_election_committees;
|
|
79
|
+
federal_election_f3_files;
|
|
80
|
+
federal_election_file_expenditures;
|
|
81
|
+
constructor(federal_election_candidate) {
|
|
82
|
+
if (!FederalElectionCandidateAux.is(federal_election_candidate)) {
|
|
83
|
+
throw Error("Invalid input.");
|
|
84
|
+
}
|
|
85
|
+
super(federal_election_candidate);
|
|
86
|
+
this.federal_election_committees = federal_election_candidate.federal_election_committees;
|
|
87
|
+
this.federal_election_f3_files = federal_election_candidate.federal_election_f3_files;
|
|
88
|
+
this.federal_election_file_expenditures = federal_election_candidate.federal_election_file_expenditures;
|
|
89
|
+
}
|
|
90
|
+
static is(federal_election_candidate) {
|
|
91
|
+
return (FederalElectionCandidate.is(federal_election_candidate) &&
|
|
92
|
+
Array.isArray(federal_election_candidate.federal_election_committees) &&
|
|
93
|
+
federal_election_candidate.federal_election_committees.every(FederalElectionCommitteeAux.is) &&
|
|
94
|
+
Array.isArray(federal_election_candidate.federal_election_f3_files) &&
|
|
95
|
+
federal_election_candidate.federal_election_f3_files.every(FederalElectionF3File.is) &&
|
|
96
|
+
Array.isArray(federal_election_candidate.federal_election_file_expenditures) &&
|
|
97
|
+
federal_election_candidate.federal_election_file_expenditures.every(FederalElectionFileExpenditureAux.is));
|
|
98
|
+
}
|
|
99
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare class FederalElectionCandidateCommittee {
|
|
2
|
+
readonly federal_election_candidate_id: string;
|
|
3
|
+
readonly federal_election_committee_id: string;
|
|
4
|
+
[x: string]: any;
|
|
5
|
+
constructor(federal_election_candidate_committee: FederalElectionCandidateCommittee);
|
|
6
|
+
static is(federal_election_candidate_committee: any): federal_election_candidate_committee is FederalElectionCandidateCommittee;
|
|
7
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export class FederalElectionCandidateCommittee {
|
|
2
|
+
federal_election_candidate_id;
|
|
3
|
+
federal_election_committee_id;
|
|
4
|
+
constructor(federal_election_candidate_committee) {
|
|
5
|
+
if (!FederalElectionCandidateCommittee.is(federal_election_candidate_committee)) {
|
|
6
|
+
throw Error("Invalid input.");
|
|
7
|
+
}
|
|
8
|
+
this.federal_election_candidate_id = federal_election_candidate_committee.federal_election_candidate_id;
|
|
9
|
+
this.federal_election_committee_id = federal_election_candidate_committee.federal_election_committee_id;
|
|
10
|
+
}
|
|
11
|
+
static is(federal_election_candidate_committee) {
|
|
12
|
+
return (federal_election_candidate_committee !== undefined &&
|
|
13
|
+
typeof federal_election_candidate_committee.federal_election_candidate_id === "string" &&
|
|
14
|
+
typeof federal_election_candidate_committee.federal_election_committee_id === "string");
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
// export class CandidateCommitteeAux extends CandidateCommittee {
|
|
18
|
+
// readonly committee : FederalElectionCommitteeAux
|
|
19
|
+
// constructor(candidate_committee : any) {
|
|
20
|
+
// if (!CandidateCommitteeAux.is(candidate_committee)) {
|
|
21
|
+
// throw Error("Invalid input.")
|
|
22
|
+
// }
|
|
23
|
+
// super(candidate_committee)
|
|
24
|
+
// this.committee = candidate_committee.committee
|
|
25
|
+
// }
|
|
26
|
+
// static is(candidate_committee : any) : candidate_committee is CandidateCommitteeAux {
|
|
27
|
+
// return (
|
|
28
|
+
// CandidateCommittee.is(candidate_committee) &&
|
|
29
|
+
// FederalElectionCommitteeAux.is(candidate_committee.committee)
|
|
30
|
+
// )
|
|
31
|
+
// }
|
|
32
|
+
// }
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { FederalElectionCandidate } from "./FederalElectionCandidate.js";
|
|
2
|
+
import { FederalElectionF3File } from "./FederalElectionF3File.js";
|
|
3
|
+
export declare const designations: readonly ["P", "A", "U", "J", "D", "B"];
|
|
4
|
+
export type FederalElectionCommitteeDesignation = typeof designations[number];
|
|
5
|
+
export declare function is_federal_election_committee_designation(designation: any): designation is FederalElectionCommitteeDesignation;
|
|
6
|
+
export declare class FederalElectionCommittee {
|
|
7
|
+
readonly federal_election_federal_election_committee_id: string;
|
|
8
|
+
readonly name: string;
|
|
9
|
+
readonly url?: string;
|
|
10
|
+
readonly designation?: FederalElectionCommitteeDesignation;
|
|
11
|
+
readonly federal_election_file_id?: number;
|
|
12
|
+
readonly jfp_federal_election_federal_election_committee_ids?: string[];
|
|
13
|
+
readonly jfr_federal_election_federal_election_committee_ids: string[];
|
|
14
|
+
readonly aff_federal_election_federal_election_committee_ids: string[];
|
|
15
|
+
readonly [x: string]: any;
|
|
16
|
+
constructor(federal_election_committee: FederalElectionCommittee);
|
|
17
|
+
static is(federal_election_committee: any): federal_election_committee is FederalElectionCommittee;
|
|
18
|
+
}
|
|
19
|
+
export declare class FederalElectionCommitteeAux extends FederalElectionCommittee {
|
|
20
|
+
readonly federal_election_candidates: FederalElectionCandidate[];
|
|
21
|
+
readonly federal_election_f3_files: FederalElectionF3File[];
|
|
22
|
+
readonly jfp_federal_election_committees?: FederalElectionCommittee[];
|
|
23
|
+
readonly jfr_federal_election_committees: FederalElectionCommittee[];
|
|
24
|
+
readonly aff_federal_election_committees: FederalElectionCommittee[];
|
|
25
|
+
constructor(federal_election_committee: any);
|
|
26
|
+
static is(federal_election_committee: any): federal_election_committee is FederalElectionCommitteeAux;
|
|
27
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { FederalElectionCandidate } from "./FederalElectionCandidate.js";
|
|
2
|
+
import { FederalElectionF3File } from "./FederalElectionF3File.js";
|
|
3
|
+
export const designations = ["P", "A", "U", "J", "D", "B"];
|
|
4
|
+
export function is_federal_election_committee_designation(designation) {
|
|
5
|
+
return designations.includes(designation);
|
|
6
|
+
}
|
|
7
|
+
export class FederalElectionCommittee {
|
|
8
|
+
federal_election_federal_election_committee_id;
|
|
9
|
+
name;
|
|
10
|
+
url;
|
|
11
|
+
designation;
|
|
12
|
+
federal_election_file_id;
|
|
13
|
+
jfp_federal_election_federal_election_committee_ids;
|
|
14
|
+
jfr_federal_election_federal_election_committee_ids;
|
|
15
|
+
aff_federal_election_federal_election_committee_ids;
|
|
16
|
+
constructor(federal_election_committee) {
|
|
17
|
+
if (!FederalElectionCommittee.is(federal_election_committee)) {
|
|
18
|
+
throw Error("Invalid input.");
|
|
19
|
+
}
|
|
20
|
+
this.federal_election_federal_election_committee_id = federal_election_committee.federal_election_federal_election_committee_id;
|
|
21
|
+
this.name = federal_election_committee.name;
|
|
22
|
+
this.url = federal_election_committee.url;
|
|
23
|
+
this.designation = federal_election_committee.designation;
|
|
24
|
+
this.federal_election_file_id = federal_election_committee.federal_election_file_id;
|
|
25
|
+
this.jfp_federal_election_federal_election_committee_ids = federal_election_committee.jfp_federal_election_federal_election_committee_ids;
|
|
26
|
+
this.jfr_federal_election_federal_election_committee_ids = federal_election_committee.jfr_federal_election_federal_election_committee_ids;
|
|
27
|
+
this.aff_federal_election_federal_election_committee_ids = federal_election_committee.aff_federal_election_federal_election_committee_ids;
|
|
28
|
+
}
|
|
29
|
+
static is(federal_election_committee) {
|
|
30
|
+
return (federal_election_committee !== undefined &&
|
|
31
|
+
typeof federal_election_committee.federal_election_federal_election_committee_id === "string" &&
|
|
32
|
+
typeof federal_election_committee.name === "string" &&
|
|
33
|
+
(federal_election_committee.url === undefined || typeof federal_election_committee.url === "string") &&
|
|
34
|
+
(federal_election_committee.designation === undefined || is_federal_election_committee_designation(federal_election_committee.designation)) &&
|
|
35
|
+
(federal_election_committee.federal_election_file_id === undefined || typeof federal_election_committee.federal_election_file_id === "number" && !isNaN(federal_election_committee.federal_election_file_id)) &&
|
|
36
|
+
(federal_election_committee.jfp_federal_election_federal_election_committee_ids === undefined || Array.isArray(federal_election_committee.jfp_federal_election_federal_election_committee_ids) && federal_election_committee.jfp_federal_election_federal_election_committee_ids.every((federal_election_federal_election_committee_id) => typeof federal_election_federal_election_committee_id === "string")) &&
|
|
37
|
+
(Array.isArray(federal_election_committee.jfr_federal_election_federal_election_committee_ids) && federal_election_committee.jfr_federal_election_federal_election_committee_ids.every((federal_election_federal_election_committee_id) => typeof federal_election_federal_election_committee_id === "string")) &&
|
|
38
|
+
(Array.isArray(federal_election_committee.aff_federal_election_federal_election_committee_ids) && federal_election_committee.aff_federal_election_federal_election_committee_ids.every((federal_election_federal_election_committee_id) => typeof federal_election_federal_election_committee_id === "string")));
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
export class FederalElectionCommitteeAux extends FederalElectionCommittee {
|
|
42
|
+
federal_election_candidates;
|
|
43
|
+
federal_election_f3_files;
|
|
44
|
+
jfp_federal_election_committees;
|
|
45
|
+
jfr_federal_election_committees;
|
|
46
|
+
aff_federal_election_committees;
|
|
47
|
+
constructor(federal_election_committee) {
|
|
48
|
+
if (!FederalElectionCommitteeAux.is(federal_election_committee)) {
|
|
49
|
+
throw Error("Invalid input.");
|
|
50
|
+
}
|
|
51
|
+
super(federal_election_committee);
|
|
52
|
+
this.federal_election_candidates = federal_election_committee.federal_election_candidates;
|
|
53
|
+
this.federal_election_f3_files = federal_election_committee.federal_election_f3_files;
|
|
54
|
+
this.jfp_federal_election_committees = federal_election_committee.jfp_federal_election_committees;
|
|
55
|
+
this.jfr_federal_election_committees = federal_election_committee.jfr_federal_election_committees;
|
|
56
|
+
this.aff_federal_election_committees = federal_election_committee.aff_federal_election_committees;
|
|
57
|
+
}
|
|
58
|
+
static is(federal_election_committee) {
|
|
59
|
+
return (FederalElectionCommittee.is(federal_election_committee) &&
|
|
60
|
+
Array.isArray(federal_election_committee.federal_election_candidates) &&
|
|
61
|
+
federal_election_committee.federal_election_candidates.every(FederalElectionCandidate.is) &&
|
|
62
|
+
Array.isArray(federal_election_committee.federal_election_f3_files) &&
|
|
63
|
+
federal_election_committee.federal_election_f3_files.every(FederalElectionF3File.is) &&
|
|
64
|
+
(federal_election_committee.jfp_federal_election_committees === undefined || Array.isArray(federal_election_committee.jfp_federal_election_committees) && federal_election_committee.jfp_federal_election_committees.every(FederalElectionCommittee.is)) &&
|
|
65
|
+
(Array.isArray(federal_election_committee.jfr_federal_election_committees) && federal_election_committee.jfr_federal_election_committees.every(FederalElectionCommittee.is)) &&
|
|
66
|
+
(Array.isArray(federal_election_committee.aff_federal_election_committees) && federal_election_committee.aff_federal_election_committees.every(FederalElectionCommittee.is)));
|
|
67
|
+
}
|
|
68
|
+
}
|
|
@@ -2,12 +2,12 @@ import { StateID } from "./State.js";
|
|
|
2
2
|
export declare class FederalElectionDonation {
|
|
3
3
|
readonly federal_election_donation_id: string;
|
|
4
4
|
readonly receipt_date: string;
|
|
5
|
-
readonly
|
|
5
|
+
readonly federal_election_committee_id: string;
|
|
6
6
|
readonly federal_election_file_id: number;
|
|
7
7
|
readonly image_number: string;
|
|
8
8
|
readonly amount: number;
|
|
9
9
|
readonly donor_is_individual: boolean;
|
|
10
|
-
readonly
|
|
10
|
+
readonly donor_federal_election_committee_id?: string;
|
|
11
11
|
readonly donor_name: string;
|
|
12
12
|
readonly donor_name_prefix?: string;
|
|
13
13
|
readonly donor_name_first: string;
|
|
@@ -23,7 +23,7 @@ export declare class FederalElectionDonation {
|
|
|
23
23
|
readonly donor_address_zip: string;
|
|
24
24
|
readonly donor_aggregate_ytd: number;
|
|
25
25
|
readonly memo_text: string;
|
|
26
|
-
readonly
|
|
26
|
+
readonly target_federal_election_committee_id?: string;
|
|
27
27
|
constructor(federal_election_donation: FederalElectionDonation);
|
|
28
28
|
static is(federal_election_donation: any): federal_election_donation is FederalElectionDonation;
|
|
29
29
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
export class FederalElectionDonation {
|
|
2
2
|
federal_election_donation_id;
|
|
3
3
|
receipt_date;
|
|
4
|
-
|
|
4
|
+
federal_election_committee_id;
|
|
5
5
|
federal_election_file_id;
|
|
6
6
|
image_number;
|
|
7
7
|
amount;
|
|
8
8
|
donor_is_individual;
|
|
9
|
-
|
|
9
|
+
donor_federal_election_committee_id;
|
|
10
10
|
donor_name;
|
|
11
11
|
donor_name_prefix;
|
|
12
12
|
donor_name_first;
|
|
@@ -22,19 +22,19 @@ export class FederalElectionDonation {
|
|
|
22
22
|
donor_address_zip;
|
|
23
23
|
donor_aggregate_ytd;
|
|
24
24
|
memo_text;
|
|
25
|
-
|
|
25
|
+
target_federal_election_committee_id;
|
|
26
26
|
constructor(federal_election_donation) {
|
|
27
27
|
if (!FederalElectionDonation.is(federal_election_donation)) {
|
|
28
28
|
throw Error("Invalid input.");
|
|
29
29
|
}
|
|
30
30
|
this.federal_election_donation_id = federal_election_donation.federal_election_donation_id;
|
|
31
31
|
this.receipt_date = federal_election_donation.receipt_date;
|
|
32
|
-
this.
|
|
32
|
+
this.federal_election_committee_id = federal_election_donation.federal_election_committee_id;
|
|
33
33
|
this.federal_election_file_id = federal_election_donation.federal_election_file_id;
|
|
34
34
|
this.image_number = federal_election_donation.image_number;
|
|
35
35
|
this.amount = federal_election_donation.amount;
|
|
36
36
|
this.donor_is_individual = federal_election_donation.donor_is_individual;
|
|
37
|
-
this.
|
|
37
|
+
this.donor_federal_election_committee_id = federal_election_donation.donor_federal_election_committee_id;
|
|
38
38
|
this.donor_name = federal_election_donation.donor_name;
|
|
39
39
|
this.donor_name_prefix = federal_election_donation.donor_name_prefix;
|
|
40
40
|
this.donor_name_first = federal_election_donation.donor_name_first;
|
|
@@ -50,18 +50,18 @@ export class FederalElectionDonation {
|
|
|
50
50
|
this.donor_address_zip = federal_election_donation.donor_address_zip;
|
|
51
51
|
this.donor_aggregate_ytd = federal_election_donation.donor_aggregate_ytd;
|
|
52
52
|
this.memo_text = federal_election_donation.memo_text;
|
|
53
|
-
this.
|
|
53
|
+
this.target_federal_election_committee_id = federal_election_donation.target_federal_election_committee_id;
|
|
54
54
|
}
|
|
55
55
|
static is(federal_election_donation) {
|
|
56
56
|
return (federal_election_donation !== undefined &&
|
|
57
57
|
typeof federal_election_donation.federal_election_donation_id === "string" &&
|
|
58
58
|
typeof federal_election_donation.receipt_date === "string" &&
|
|
59
|
-
typeof federal_election_donation.
|
|
59
|
+
typeof federal_election_donation.federal_election_committee_id === "string" &&
|
|
60
60
|
typeof federal_election_donation.federal_election_file_id === "number" && !isNaN(federal_election_donation.federal_election_file_id) &&
|
|
61
61
|
typeof federal_election_donation.image_number === "string" &&
|
|
62
62
|
typeof federal_election_donation.amount === "number" && !isNaN(federal_election_donation.amount) &&
|
|
63
63
|
typeof federal_election_donation.donor_is_individual === "boolean" &&
|
|
64
|
-
(federal_election_donation.
|
|
64
|
+
(federal_election_donation.donor_federal_election_committee_id === undefined || typeof federal_election_donation.donor_federal_election_committee_id === "string") &&
|
|
65
65
|
typeof federal_election_donation.donor_name === "string" &&
|
|
66
66
|
(federal_election_donation.donor_name_prefix === undefined || typeof federal_election_donation.donor_name_prefix === "string") &&
|
|
67
67
|
typeof federal_election_donation.donor_name_first === "string" &&
|
|
@@ -77,6 +77,6 @@ export class FederalElectionDonation {
|
|
|
77
77
|
typeof federal_election_donation.donor_address_zip === "string" &&
|
|
78
78
|
typeof federal_election_donation.donor_aggregate_ytd === "number" && !isNaN(federal_election_donation.donor_aggregate_ytd) &&
|
|
79
79
|
typeof federal_election_donation.memo_text === "string" &&
|
|
80
|
-
(federal_election_donation.
|
|
80
|
+
(federal_election_donation.target_federal_election_committee_id === undefined || typeof federal_election_donation.target_federal_election_committee_id === "string"));
|
|
81
81
|
}
|
|
82
82
|
}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { FederalElectionCommitteeDesignation } from "./FederalElectionCommittee.js";
|
|
2
|
+
import { FederalElectionID } from "./FederalElection.js";
|
|
3
3
|
import { FederalElectionFile } from "./FederalElectionFile.js";
|
|
4
4
|
export declare class FederalElectionF1File extends FederalElectionFile {
|
|
5
|
-
readonly
|
|
5
|
+
readonly federal_election_committee_id: string;
|
|
6
6
|
readonly name: string;
|
|
7
7
|
readonly url?: string;
|
|
8
8
|
readonly report_date: string;
|
|
9
|
-
readonly designation:
|
|
10
|
-
readonly
|
|
11
|
-
readonly
|
|
12
|
-
readonly
|
|
13
|
-
readonly
|
|
14
|
-
readonly
|
|
15
|
-
readonly
|
|
9
|
+
readonly designation: FederalElectionCommitteeDesignation;
|
|
10
|
+
readonly federal_election_id?: FederalElectionID;
|
|
11
|
+
readonly federal_election_candidate_id?: string;
|
|
12
|
+
readonly jfp_federal_election_committee_ids?: string[];
|
|
13
|
+
readonly jfr_federal_election_committee_ids: string[];
|
|
14
|
+
readonly aff_federal_election_committee_ids: string[];
|
|
15
|
+
readonly sponsor_federal_election_candidate_ids?: string[];
|
|
16
16
|
constructor(federal_election_file: any);
|
|
17
17
|
static is(federal_election_file: any): federal_election_file is FederalElectionF1File;
|
|
18
18
|
}
|