triangle-types 1.0.0
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 +59 -0
- package/dist/src/index.js +59 -0
- package/dist/src/types/APIError.d.ts +4 -0
- package/dist/src/types/APIError.js +19 -0
- package/dist/src/types/State.d.ts +8 -0
- package/dist/src/types/State.js +210 -0
- package/dist/src/types/User.d.ts +7 -0
- package/dist/src/types/User.js +20 -0
- package/dist/src/types/federal_congress/FederalCongressBill.d.ts +18 -0
- package/dist/src/types/federal_congress/FederalCongressBill.js +44 -0
- package/dist/src/types/federal_congress/FederalCongressBillDocument.d.ts +20 -0
- package/dist/src/types/federal_congress/FederalCongressBillDocument.js +49 -0
- package/dist/src/types/federal_dockets/FederalDocket.d.ts +9 -0
- package/dist/src/types/federal_dockets/FederalDocket.js +25 -0
- package/dist/src/types/federal_dockets/FederalDocketAgency.d.ts +8 -0
- package/dist/src/types/federal_dockets/FederalDocketAgency.js +22 -0
- package/dist/src/types/federal_dockets/FederalDocketComment.d.ts +30 -0
- package/dist/src/types/federal_dockets/FederalDocketComment.js +86 -0
- package/dist/src/types/federal_dockets/FederalDocketCommentAttachment.d.ts +9 -0
- package/dist/src/types/federal_dockets/FederalDocketCommentAttachment.js +25 -0
- package/dist/src/types/federal_dockets/FederalDocketDocument.d.ts +27 -0
- package/dist/src/types/federal_dockets/FederalDocketDocument.js +74 -0
- package/dist/src/types/federal_elections/FederalElection.d.ts +27 -0
- package/dist/src/types/federal_elections/FederalElection.js +86 -0
- package/dist/src/types/federal_elections/FederalElectionCandidate.d.ts +40 -0
- package/dist/src/types/federal_elections/FederalElectionCandidate.js +105 -0
- package/dist/src/types/federal_elections/FederalElectionCandidateCommittee.d.ts +7 -0
- package/dist/src/types/federal_elections/FederalElectionCandidateCommittee.js +32 -0
- package/dist/src/types/federal_elections/FederalElectionCommittee.d.ts +27 -0
- package/dist/src/types/federal_elections/FederalElectionCommittee.js +68 -0
- package/dist/src/types/federal_elections/FederalElectionDonation.d.ts +29 -0
- package/dist/src/types/federal_elections/FederalElectionDonation.js +82 -0
- package/dist/src/types/federal_elections/FederalElectionF1File.d.ts +18 -0
- package/dist/src/types/federal_elections/FederalElectionF1File.js +48 -0
- package/dist/src/types/federal_elections/FederalElectionF24File.d.ts +12 -0
- package/dist/src/types/federal_elections/FederalElectionF24File.js +32 -0
- package/dist/src/types/federal_elections/FederalElectionF2File.d.ts +15 -0
- package/dist/src/types/federal_elections/FederalElectionF2File.js +39 -0
- package/dist/src/types/federal_elections/FederalElectionF3File.d.ts +13 -0
- package/dist/src/types/federal_elections/FederalElectionF3File.js +37 -0
- package/dist/src/types/federal_elections/FederalElectionFile.d.ts +15 -0
- package/dist/src/types/federal_elections/FederalElectionFile.js +33 -0
- package/dist/src/types/federal_elections/FederalElectionFileExpenditure.d.ts +28 -0
- package/dist/src/types/federal_elections/FederalElectionFileExpenditure.js +70 -0
- package/dist/src/types/federal_elections/FormTypeID.d.ts +9 -0
- package/dist/src/types/federal_elections/FormTypeID.js +17 -0
- package/dist/src/types/federal_lobby/FederalLobbyAgency.d.ts +6 -0
- package/dist/src/types/federal_lobby/FederalLobbyAgency.js +16 -0
- package/dist/src/types/federal_lobby/FederalLobbyClient.d.ts +15 -0
- package/dist/src/types/federal_lobby/FederalLobbyClient.js +43 -0
- package/dist/src/types/federal_lobby/FederalLobbyDocument.d.ts +66 -0
- package/dist/src/types/federal_lobby/FederalLobbyDocument.js +190 -0
- package/dist/src/types/federal_lobby/FederalLobbyDocumentInterest.d.ts +18 -0
- package/dist/src/types/federal_lobby/FederalLobbyDocumentInterest.js +50 -0
- package/dist/src/types/federal_lobby/FederalLobbyLobbyist.d.ts +12 -0
- package/dist/src/types/federal_lobby/FederalLobbyLobbyist.js +34 -0
- package/dist/src/types/federal_lobby/FederalLobbyRegistrant.d.ts +20 -0
- package/dist/src/types/federal_lobby/FederalLobbyRegistrant.js +58 -0
- package/dist/src/types/federal_register/FederalRegisterAgency.d.ts +13 -0
- package/dist/src/types/federal_register/FederalRegisterAgency.js +37 -0
- package/dist/src/types/federal_register/FederalRegisterDocument.d.ts +21 -0
- package/dist/src/types/federal_register/FederalRegisterDocument.js +56 -0
- package/dist/src/types/federal_rules/FederalRuleSection.d.ts +13 -0
- package/dist/src/types/federal_rules/FederalRuleSection.js +37 -0
- package/dist/src/types/federal_rules/FederalRuleTitle.d.ts +8 -0
- package/dist/src/types/federal_rules/FederalRuleTitle.js +22 -0
- package/dist/src/types/press/PressArticle.d.ts +12 -0
- package/dist/src/types/press/PressArticle.js +34 -0
- package/dist/src/types/press/PressArticleTag.d.ts +16 -0
- package/dist/src/types/press/PressArticleTag.js +40 -0
- package/dist/src/types/state_permits/AR/ARStateFacility.d.ts +7 -0
- package/dist/src/types/state_permits/AR/ARStateFacility.js +15 -0
- package/dist/src/types/state_permits/AR/ARStatePermit.d.ts +8 -0
- package/dist/src/types/state_permits/AR/ARStatePermit.js +18 -0
- package/dist/src/types/state_permits/AR/ARStatePermitDocument.d.ts +9 -0
- package/dist/src/types/state_permits/AR/ARStatePermitDocument.js +21 -0
- package/dist/src/types/state_permits/KY/KYStateFacility.d.ts +7 -0
- package/dist/src/types/state_permits/KY/KYStateFacility.js +15 -0
- package/dist/src/types/state_permits/KY/KYStatePermit.d.ts +7 -0
- package/dist/src/types/state_permits/KY/KYStatePermit.js +15 -0
- package/dist/src/types/state_permits/KY/KYStatePermitDocument.d.ts +8 -0
- package/dist/src/types/state_permits/KY/KYStatePermitDocument.js +18 -0
- package/dist/src/types/state_permits/NC/NCStateFacility.d.ts +8 -0
- package/dist/src/types/state_permits/NC/NCStateFacility.js +18 -0
- package/dist/src/types/state_permits/NC/NCStatePermit.d.ts +7 -0
- package/dist/src/types/state_permits/NC/NCStatePermit.js +15 -0
- package/dist/src/types/state_permits/NC/NCStatePermitDocument.d.ts +8 -0
- package/dist/src/types/state_permits/NC/NCStatePermitDocument.js +18 -0
- package/dist/src/types/state_permits/StateFacility.d.ts +20 -0
- package/dist/src/types/state_permits/StateFacility.js +49 -0
- package/dist/src/types/state_permits/StatePermit.d.ts +27 -0
- package/dist/src/types/state_permits/StatePermit.js +69 -0
- package/dist/src/types/state_permits/StatePermitDocument.d.ts +37 -0
- package/dist/src/types/state_permits/StatePermitDocument.js +95 -0
- package/dist/src/types/state_permits/StatePermitDocumentSource.d.ts +48 -0
- package/dist/src/types/state_permits/StatePermitDocumentSource.js +123 -0
- package/dist/src/types/state_permits/StatePermitDocumentSourcePollutant.d.ts +35 -0
- package/dist/src/types/state_permits/StatePermitDocumentSourcePollutant.js +90 -0
- package/dist/src/types/state_permits/TN/TNStateFacility.d.ts +7 -0
- package/dist/src/types/state_permits/TN/TNStateFacility.js +15 -0
- package/dist/src/types/state_permits/TN/TNStatePermit.d.ts +8 -0
- package/dist/src/types/state_permits/TN/TNStatePermit.js +18 -0
- package/dist/src/types/state_permits/TN/TNStatePermitDocument.d.ts +8 -0
- package/dist/src/types/state_permits/TN/TNStatePermitDocument.js +18 -0
- package/dist/src/types/state_permits/WI/WIStatePermit.d.ts +8 -0
- package/dist/src/types/state_permits/WI/WIStatePermit.js +18 -0
- package/dist/src/types/state_permits/WI/WIStatePermitDocument.d.ts +7 -0
- package/dist/src/types/state_permits/WI/WIStatePermitDocument.js +15 -0
- package/dist/src/types/twitter/TwitterTweet.d.ts +21 -0
- package/dist/src/types/twitter/TwitterTweet.js +61 -0
- package/dist/src/types/twitter/TwitterUser.d.ts +17 -0
- package/dist/src/types/twitter/TwitterUser.js +49 -0
- package/dist/src/types/twitter/TwitterUserTag.d.ts +13 -0
- package/dist/src/types/twitter/TwitterUserTag.js +31 -0
- package/dist/src/types/youtube/YoutubeChannel.d.ts +6 -0
- package/dist/src/types/youtube/YoutubeChannel.js +16 -0
- package/dist/src/types/youtube/YoutubeVideo.d.ts +18 -0
- package/dist/src/types/youtube/YoutubeVideo.js +46 -0
- package/dist/src/types/youtube/YoutubeVideoTag.d.ts +15 -0
- package/dist/src/types/youtube/YoutubeVideoTag.js +37 -0
- package/package.json +25 -0
- package/src/index.ts +72 -0
- package/src/types/APIError.ts +21 -0
- package/src/types/State.ts +219 -0
- package/src/types/User.ts +24 -0
- package/src/types/federal_congress/FederalCongressBill.ts +53 -0
- package/src/types/federal_congress/FederalCongressBillDocument.ts +60 -0
- package/src/types/federal_dockets/FederalDocket.ts +29 -0
- package/src/types/federal_dockets/FederalDocketAgency.ts +26 -0
- package/src/types/federal_dockets/FederalDocketComment.ts +96 -0
- package/src/types/federal_dockets/FederalDocketCommentAttachment.ts +29 -0
- package/src/types/federal_dockets/FederalDocketDocument.ts +82 -0
- package/src/types/federal_elections/FederalElection.ts +105 -0
- package/src/types/federal_elections/FederalElectionCandidate.ts +124 -0
- package/src/types/federal_elections/FederalElectionCandidateCommittee.ts +40 -0
- package/src/types/federal_elections/FederalElectionCommittee.ts +83 -0
- package/src/types/federal_elections/FederalElectionDonation.ts +88 -0
- package/src/types/federal_elections/FederalElectionF1File.ts +53 -0
- package/src/types/federal_elections/FederalElectionF24File.ts +37 -0
- package/src/types/federal_elections/FederalElectionF2File.ts +44 -0
- package/src/types/federal_elections/FederalElectionF3File.ts +42 -0
- package/src/types/federal_elections/FederalElectionFile.ts +43 -0
- package/src/types/federal_elections/FederalElectionFileExpenditure.ts +82 -0
- package/src/types/federal_elections/FormTypeID.ts +28 -0
- package/src/types/federal_lobby/FederalLobbyAgency.ts +20 -0
- package/src/types/federal_lobby/FederalLobbyClient.ts +47 -0
- package/src/types/federal_lobby/FederalLobbyDocument.ts +209 -0
- package/src/types/federal_lobby/FederalLobbyDocumentInterest.ts +60 -0
- package/src/types/federal_lobby/FederalLobbyLobbyist.ts +38 -0
- package/src/types/federal_lobby/FederalLobbyRegistrant.ts +62 -0
- package/src/types/federal_register/FederalRegisterAgency.ts +41 -0
- package/src/types/federal_register/FederalRegisterDocument.ts +64 -0
- package/src/types/federal_rules/FederalRuleSection.ts +42 -0
- package/src/types/federal_rules/FederalRuleTitle.ts +26 -0
- package/src/types/press/PressArticle.ts +38 -0
- package/src/types/press/PressArticleTag.ts +51 -0
- package/src/types/state_permits/AR/ARStateFacility.ts +21 -0
- package/src/types/state_permits/AR/ARStatePermit.ts +24 -0
- package/src/types/state_permits/AR/ARStatePermitDocument.ts +27 -0
- package/src/types/state_permits/KY/KYStateFacility.ts +22 -0
- package/src/types/state_permits/KY/KYStatePermit.ts +21 -0
- package/src/types/state_permits/KY/KYStatePermitDocument.ts +24 -0
- package/src/types/state_permits/NC/NCStateFacility.ts +24 -0
- package/src/types/state_permits/NC/NCStatePermit.ts +22 -0
- package/src/types/state_permits/NC/NCStatePermitDocument.ts +24 -0
- package/src/types/state_permits/StateFacility.ts +60 -0
- package/src/types/state_permits/StatePermit.ts +85 -0
- package/src/types/state_permits/StatePermitDocument.ts +118 -0
- package/src/types/state_permits/StatePermitDocumentSource.ts +146 -0
- package/src/types/state_permits/StatePermitDocumentSourcePollutant.ts +108 -0
- package/src/types/state_permits/TN/TNStateFacility.ts +21 -0
- package/src/types/state_permits/TN/TNStatePermit.ts +24 -0
- package/src/types/state_permits/TN/TNStatePermitDocument.ts +24 -0
- package/src/types/state_permits/WI/WIStatePermit.ts +24 -0
- package/src/types/state_permits/WI/WIStatePermitDocument.ts +21 -0
- package/src/types/twitter/TwitterTweet.ts +66 -0
- package/src/types/twitter/TwitterUser.ts +53 -0
- package/src/types/twitter/TwitterUserTag.ts +42 -0
- package/src/types/youtube/YoutubeChannel.ts +20 -0
- package/src/types/youtube/YoutubeVideo.ts +57 -0
- package/src/types/youtube/YoutubeVideoTag.ts +48 -0
- package/tsconfig.json +34 -0
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { FederalElectionCandidate } from "./FederalElectionCandidate"
|
|
2
|
+
import { FederalElectionF3File } from "./FederalElectionF3File"
|
|
3
|
+
|
|
4
|
+
export const designations = ["P", "A", "U", "J", "D", "B"] as const
|
|
5
|
+
|
|
6
|
+
export type FederalElectionCommitteeDesignation = typeof designations[number]
|
|
7
|
+
|
|
8
|
+
export function is_federal_election_committee_designation(designation : any) : designation is FederalElectionCommitteeDesignation {
|
|
9
|
+
return designations.includes(designation)
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export class FederalElectionCommittee {
|
|
13
|
+
readonly federal_election_committee_id : string
|
|
14
|
+
readonly name : string
|
|
15
|
+
readonly url? : string
|
|
16
|
+
readonly designation? : FederalElectionCommitteeDesignation
|
|
17
|
+
readonly federal_election_file_id? : number
|
|
18
|
+
readonly jfp_federal_election_committee_ids? : string[]
|
|
19
|
+
readonly jfr_federal_election_committee_ids : string[]
|
|
20
|
+
readonly aff_federal_election_committee_ids : string[]
|
|
21
|
+
readonly [x : string] : any
|
|
22
|
+
|
|
23
|
+
constructor(federal_election_committee : FederalElectionCommittee) {
|
|
24
|
+
if (!FederalElectionCommittee.is(federal_election_committee)) {
|
|
25
|
+
throw Error("Invalid input.")
|
|
26
|
+
}
|
|
27
|
+
this.federal_election_committee_id = federal_election_committee.federal_election_committee_id
|
|
28
|
+
this.name = federal_election_committee.name
|
|
29
|
+
this.url = federal_election_committee.url
|
|
30
|
+
this.designation = federal_election_committee.designation
|
|
31
|
+
this.federal_election_file_id = federal_election_committee.federal_election_file_id
|
|
32
|
+
this.jfp_federal_election_committee_ids = federal_election_committee.jfp_federal_election_committee_ids
|
|
33
|
+
this.jfr_federal_election_committee_ids = federal_election_committee.jfr_federal_election_committee_ids
|
|
34
|
+
this.aff_federal_election_committee_ids = federal_election_committee.aff_federal_election_committee_ids
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
static is(federal_election_committee : any) : federal_election_committee is FederalElectionCommittee {
|
|
38
|
+
return (
|
|
39
|
+
federal_election_committee !== undefined &&
|
|
40
|
+
typeof federal_election_committee.federal_election_committee_id === "string" &&
|
|
41
|
+
typeof federal_election_committee.name === "string" &&
|
|
42
|
+
(federal_election_committee.url === undefined || typeof federal_election_committee.url === "string") &&
|
|
43
|
+
(federal_election_committee.designation === undefined || is_federal_election_committee_designation(federal_election_committee.designation)) &&
|
|
44
|
+
(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)) &&
|
|
45
|
+
(federal_election_committee.jfp_federal_election_committee_ids === undefined || Array.isArray(federal_election_committee.jfp_federal_election_committee_ids) && federal_election_committee.jfp_federal_election_committee_ids.every((federal_election_committee_id : any) => typeof federal_election_committee_id === "string")) &&
|
|
46
|
+
(Array.isArray(federal_election_committee.jfr_federal_election_committee_ids) && federal_election_committee.jfr_federal_election_committee_ids.every((federal_election_committee_id : any) => typeof federal_election_committee_id === "string")) &&
|
|
47
|
+
(Array.isArray(federal_election_committee.aff_federal_election_committee_ids) && federal_election_committee.aff_federal_election_committee_ids.every((federal_election_committee_id : any) => typeof federal_election_committee_id === "string"))
|
|
48
|
+
)
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export class FederalElectionCommitteeAux extends FederalElectionCommittee {
|
|
53
|
+
readonly federal_election_candidates : FederalElectionCandidate[]
|
|
54
|
+
readonly federal_election_f3_files : FederalElectionF3File[]
|
|
55
|
+
readonly jfp_federal_election_committees? : FederalElectionCommittee[]
|
|
56
|
+
readonly jfr_federal_election_committees : FederalElectionCommittee[]
|
|
57
|
+
readonly aff_federal_election_committees : FederalElectionCommittee[]
|
|
58
|
+
|
|
59
|
+
constructor(federal_election_committee : any) {
|
|
60
|
+
if (!FederalElectionCommitteeAux.is(federal_election_committee)) {
|
|
61
|
+
throw Error("Invalid input.")
|
|
62
|
+
}
|
|
63
|
+
super(federal_election_committee)
|
|
64
|
+
this.federal_election_candidates = federal_election_committee.federal_election_candidates
|
|
65
|
+
this.federal_election_f3_files = federal_election_committee.federal_election_f3_files
|
|
66
|
+
this.jfp_federal_election_committees = federal_election_committee.jfp_federal_election_committees
|
|
67
|
+
this.jfr_federal_election_committees = federal_election_committee.jfr_federal_election_committees
|
|
68
|
+
this.aff_federal_election_committees = federal_election_committee.aff_federal_election_committees
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
static is(federal_election_committee : any) : federal_election_committee is FederalElectionCommitteeAux {
|
|
72
|
+
return (
|
|
73
|
+
FederalElectionCommittee.is(federal_election_committee) &&
|
|
74
|
+
Array.isArray(federal_election_committee.federal_election_candidates) &&
|
|
75
|
+
federal_election_committee.federal_election_candidates.every(FederalElectionCandidate.is) &&
|
|
76
|
+
Array.isArray(federal_election_committee.federal_election_f3_files) &&
|
|
77
|
+
federal_election_committee.federal_election_f3_files.every(FederalElectionF3File.is) &&
|
|
78
|
+
(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)) &&
|
|
79
|
+
(Array.isArray(federal_election_committee.jfr_federal_election_committees) && federal_election_committee.jfr_federal_election_committees.every(FederalElectionCommittee.is)) &&
|
|
80
|
+
(Array.isArray(federal_election_committee.aff_federal_election_committees) && federal_election_committee.aff_federal_election_committees.every(FederalElectionCommittee.is))
|
|
81
|
+
)
|
|
82
|
+
}
|
|
83
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { StateID } from "../State"
|
|
2
|
+
|
|
3
|
+
export class FederalElectionDonation {
|
|
4
|
+
readonly federal_election_donation_id : string
|
|
5
|
+
readonly receipt_date : string
|
|
6
|
+
readonly federal_election_committee_id : string
|
|
7
|
+
readonly federal_election_file_id : number
|
|
8
|
+
readonly image_number : string
|
|
9
|
+
readonly amount : number
|
|
10
|
+
readonly donor_is_individual : boolean
|
|
11
|
+
readonly donor_federal_election_committee_id? : string
|
|
12
|
+
readonly donor_name : string
|
|
13
|
+
readonly donor_name_prefix? : string
|
|
14
|
+
readonly donor_name_first : string
|
|
15
|
+
readonly donor_name_middle? : string
|
|
16
|
+
readonly donor_name_last : string
|
|
17
|
+
readonly donor_name_suffix? : string
|
|
18
|
+
readonly donor_occupation : string
|
|
19
|
+
readonly donor_employer : string
|
|
20
|
+
readonly donor_address_street_1 : string
|
|
21
|
+
readonly donor_address_street_2? : string
|
|
22
|
+
readonly donor_address_city : string
|
|
23
|
+
readonly donor_address_state_id : StateID
|
|
24
|
+
readonly donor_address_zip : string
|
|
25
|
+
readonly donor_aggregate_ytd : number
|
|
26
|
+
readonly memo_text : string
|
|
27
|
+
readonly target_federal_election_committee_id? : string
|
|
28
|
+
|
|
29
|
+
constructor(federal_election_donation : FederalElectionDonation) {
|
|
30
|
+
if (!FederalElectionDonation.is(federal_election_donation)) {
|
|
31
|
+
throw Error("Invalid input.")
|
|
32
|
+
}
|
|
33
|
+
this.federal_election_donation_id = federal_election_donation.federal_election_donation_id
|
|
34
|
+
this.receipt_date = federal_election_donation.receipt_date
|
|
35
|
+
this.federal_election_committee_id = federal_election_donation.federal_election_committee_id
|
|
36
|
+
this.federal_election_file_id = federal_election_donation.federal_election_file_id
|
|
37
|
+
this.image_number = federal_election_donation.image_number
|
|
38
|
+
this.amount = federal_election_donation.amount
|
|
39
|
+
this.donor_is_individual = federal_election_donation.donor_is_individual
|
|
40
|
+
this.donor_federal_election_committee_id = federal_election_donation.donor_federal_election_committee_id
|
|
41
|
+
this.donor_name = federal_election_donation.donor_name
|
|
42
|
+
this.donor_name_prefix = federal_election_donation.donor_name_prefix
|
|
43
|
+
this.donor_name_first = federal_election_donation.donor_name_first
|
|
44
|
+
this.donor_name_middle = federal_election_donation.donor_name_middle
|
|
45
|
+
this.donor_name_last = federal_election_donation.donor_name_last
|
|
46
|
+
this.donor_name_suffix = federal_election_donation.donor_name_suffix
|
|
47
|
+
this.donor_occupation = federal_election_donation.donor_occupation
|
|
48
|
+
this.donor_employer = federal_election_donation.donor_employer
|
|
49
|
+
this.donor_address_street_1 = federal_election_donation.donor_address_street_1
|
|
50
|
+
this.donor_address_street_2 = federal_election_donation.donor_address_street_2
|
|
51
|
+
this.donor_address_city = federal_election_donation.donor_address_city
|
|
52
|
+
this.donor_address_state_id = federal_election_donation.donor_address_state_id
|
|
53
|
+
this.donor_address_zip = federal_election_donation.donor_address_zip
|
|
54
|
+
this.donor_aggregate_ytd = federal_election_donation.donor_aggregate_ytd
|
|
55
|
+
this.memo_text = federal_election_donation.memo_text
|
|
56
|
+
this.target_federal_election_committee_id = federal_election_donation.target_federal_election_committee_id
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
static is(federal_election_donation : any) : federal_election_donation is FederalElectionDonation {
|
|
60
|
+
return (
|
|
61
|
+
federal_election_donation !== undefined &&
|
|
62
|
+
typeof federal_election_donation.federal_election_donation_id === "string" &&
|
|
63
|
+
typeof federal_election_donation.receipt_date === "string" &&
|
|
64
|
+
typeof federal_election_donation.federal_election_committee_id === "string" &&
|
|
65
|
+
typeof federal_election_donation.federal_election_file_id === "number" && !isNaN(federal_election_donation.federal_election_file_id) &&
|
|
66
|
+
typeof federal_election_donation.image_number === "string" &&
|
|
67
|
+
typeof federal_election_donation.amount === "number" && !isNaN(federal_election_donation.amount) &&
|
|
68
|
+
typeof federal_election_donation.donor_is_individual === "boolean" &&
|
|
69
|
+
(federal_election_donation.donor_federal_election_committee_id === undefined || typeof federal_election_donation.donor_federal_election_committee_id === "string") &&
|
|
70
|
+
typeof federal_election_donation.donor_name === "string" &&
|
|
71
|
+
(federal_election_donation.donor_name_prefix === undefined || typeof federal_election_donation.donor_name_prefix === "string") &&
|
|
72
|
+
typeof federal_election_donation.donor_name_first === "string" &&
|
|
73
|
+
(federal_election_donation.donor_name_middle === undefined || typeof federal_election_donation.donor_name_middle === "string") &&
|
|
74
|
+
typeof federal_election_donation.donor_name_last === "string" &&
|
|
75
|
+
(federal_election_donation.donor_name_suffix === undefined || typeof federal_election_donation.donor_name_suffix === "string") &&
|
|
76
|
+
typeof federal_election_donation.donor_occupation === "string" &&
|
|
77
|
+
typeof federal_election_donation.donor_employer === "string" &&
|
|
78
|
+
typeof federal_election_donation.donor_address_street_1 === "string" &&
|
|
79
|
+
(federal_election_donation.donor_address_street_2 === undefined || typeof federal_election_donation.donor_address_street_2 === "string") &&
|
|
80
|
+
typeof federal_election_donation.donor_address_city === "string" &&
|
|
81
|
+
typeof federal_election_donation.donor_address_state_id === "string" &&
|
|
82
|
+
typeof federal_election_donation.donor_address_zip === "string" &&
|
|
83
|
+
typeof federal_election_donation.donor_aggregate_ytd === "number" && !isNaN(federal_election_donation.donor_aggregate_ytd) &&
|
|
84
|
+
typeof federal_election_donation.memo_text === "string" &&
|
|
85
|
+
(federal_election_donation.target_federal_election_committee_id === undefined || typeof federal_election_donation.target_federal_election_committee_id === "string")
|
|
86
|
+
)
|
|
87
|
+
}
|
|
88
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { FederalElectionCommitteeDesignation, is_federal_election_committee_designation } from "./FederalElectionCommittee"
|
|
2
|
+
import { FederalElectionID, is_federal_election_id } from "./FederalElection"
|
|
3
|
+
import { FederalElectionFile } from "./FederalElectionFile"
|
|
4
|
+
|
|
5
|
+
export class FederalElectionF1File extends FederalElectionFile {
|
|
6
|
+
readonly federal_election_committee_id : string
|
|
7
|
+
readonly name : string
|
|
8
|
+
readonly url? : string
|
|
9
|
+
readonly report_date : string
|
|
10
|
+
readonly designation : FederalElectionCommitteeDesignation
|
|
11
|
+
readonly federal_election_id? : FederalElectionID
|
|
12
|
+
readonly federal_election_candidate_id? : string
|
|
13
|
+
readonly jfp_federal_election_committee_ids? : string[]
|
|
14
|
+
readonly jfr_federal_election_committee_ids : string[]
|
|
15
|
+
readonly aff_federal_election_committee_ids : string[]
|
|
16
|
+
readonly sponsor_federal_election_candidate_ids? : string[]
|
|
17
|
+
|
|
18
|
+
constructor(federal_election_file : any) {
|
|
19
|
+
if (!FederalElectionF1File.is(federal_election_file)) {
|
|
20
|
+
throw Error("Invalid input.")
|
|
21
|
+
}
|
|
22
|
+
super(federal_election_file)
|
|
23
|
+
this.federal_election_committee_id = federal_election_file.federal_election_committee_id
|
|
24
|
+
this.name = federal_election_file.name
|
|
25
|
+
this.url = federal_election_file.url
|
|
26
|
+
this.report_date = federal_election_file.report_date
|
|
27
|
+
this.designation = federal_election_file.designation
|
|
28
|
+
this.federal_election_id = federal_election_file.federal_election_id
|
|
29
|
+
this.federal_election_candidate_id = federal_election_file.federal_election_candidate_id
|
|
30
|
+
this.jfp_federal_election_committee_ids = federal_election_file.jfp_federal_election_committee_ids
|
|
31
|
+
this.jfr_federal_election_committee_ids = federal_election_file.jfr_federal_election_committee_ids
|
|
32
|
+
this.aff_federal_election_committee_ids = federal_election_file.aff_federal_election_committee_ids
|
|
33
|
+
this.sponsor_federal_election_candidate_ids = federal_election_file.sponsor_federal_election_candidate_ids
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
static is(federal_election_file : any) : federal_election_file is FederalElectionF1File {
|
|
37
|
+
return (
|
|
38
|
+
FederalElectionFile.is(federal_election_file) &&
|
|
39
|
+
federal_election_file.form_type_id === "F1" &&
|
|
40
|
+
typeof federal_election_file.federal_election_committee_id === "string" &&
|
|
41
|
+
typeof federal_election_file.name === "string" &&
|
|
42
|
+
(federal_election_file.url === undefined || typeof federal_election_file.url === "string") &&
|
|
43
|
+
typeof federal_election_file.report_date === "string" &&
|
|
44
|
+
is_federal_election_committee_designation(federal_election_file.designation) &&
|
|
45
|
+
(federal_election_file.federal_election_id === undefined || is_federal_election_id(federal_election_file.federal_election_id)) &&
|
|
46
|
+
(federal_election_file.federal_election_candidate_id === undefined || typeof federal_election_file.federal_election_candidate_id === "string") &&
|
|
47
|
+
(federal_election_file.jfp_federal_election_committee_ids === undefined || Array.isArray(federal_election_file.jfp_federal_election_committee_ids) && federal_election_file.jfp_federal_election_committee_ids.every((federal_election_committee_id : any) => typeof federal_election_committee_id === "string")) &&
|
|
48
|
+
(Array.isArray(federal_election_file.jfr_federal_election_committee_ids) && federal_election_file.jfr_federal_election_committee_ids.every((federal_election_committee_id : any) => typeof federal_election_committee_id === "string")) &&
|
|
49
|
+
(Array.isArray(federal_election_file.aff_federal_election_committee_ids) && federal_election_file.aff_federal_election_committee_ids.every((federal_election_committee_id : any) => typeof federal_election_committee_id === "string")) &&
|
|
50
|
+
(federal_election_file.sponsor_federal_election_candidate_ids === undefined || Array.isArray(federal_election_file.sponsor_federal_election_candidate_ids) && federal_election_file.sponsor_federal_election_candidate_ids.every((federal_election_committee_id : any) => typeof federal_election_committee_id === "string"))
|
|
51
|
+
)
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { FederalElectionFileExpenditure } from "./FederalElectionFileExpenditure"
|
|
2
|
+
import { FederalElectionFile } from "./FederalElectionFile"
|
|
3
|
+
|
|
4
|
+
export class FederalElectionF24File extends FederalElectionFile {
|
|
5
|
+
readonly federal_election_committee_id : string
|
|
6
|
+
readonly first_federal_election_file_id : number
|
|
7
|
+
readonly report_type : string
|
|
8
|
+
readonly first_report_date : string
|
|
9
|
+
readonly report_date : string
|
|
10
|
+
readonly expenditures : FederalElectionFileExpenditure[]
|
|
11
|
+
|
|
12
|
+
constructor(federal_election_file : any) {
|
|
13
|
+
if (!FederalElectionF24File.is(federal_election_file)) {
|
|
14
|
+
throw Error("Invalid input.")
|
|
15
|
+
}
|
|
16
|
+
super(federal_election_file)
|
|
17
|
+
this.federal_election_committee_id = federal_election_file.federal_election_committee_id
|
|
18
|
+
this.first_federal_election_file_id = federal_election_file.first_federal_election_file_id
|
|
19
|
+
this.report_type = federal_election_file.report_type
|
|
20
|
+
this.first_report_date = federal_election_file.first_report_date
|
|
21
|
+
this.report_date = federal_election_file.report_date
|
|
22
|
+
this.expenditures = federal_election_file.expenditures
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
static is(federal_election_file : any) : federal_election_file is FederalElectionF24File {
|
|
26
|
+
return (
|
|
27
|
+
FederalElectionFile.is(federal_election_file) &&
|
|
28
|
+
federal_election_file.form_type_id === "F24" &&
|
|
29
|
+
typeof federal_election_file.federal_election_committee_id === "string" &&
|
|
30
|
+
typeof federal_election_file.first_federal_election_file_id === "number" &&
|
|
31
|
+
typeof federal_election_file.report_type === "string" &&
|
|
32
|
+
typeof federal_election_file.first_report_date === "string" &&
|
|
33
|
+
typeof federal_election_file.report_date === "string" &&
|
|
34
|
+
Array.isArray(federal_election_file.expenditures) && federal_election_file.expenditures.every(FederalElectionFileExpenditure.is)
|
|
35
|
+
)
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { FederalElectionID, is_federal_election_id, is_federal_election_office_id, FederalElectionOfficeID } from "./FederalElection"
|
|
2
|
+
import { FederalElectionFile } from "./FederalElectionFile"
|
|
3
|
+
import { is_state_id, StateID } from "../State"
|
|
4
|
+
|
|
5
|
+
export class FederalElectionF2File extends FederalElectionFile {
|
|
6
|
+
readonly federal_election_candidate_id : string
|
|
7
|
+
readonly name : string
|
|
8
|
+
readonly federal_election_office_id : FederalElectionOfficeID
|
|
9
|
+
readonly state_id : StateID
|
|
10
|
+
readonly district? : number
|
|
11
|
+
readonly federal_election_id : FederalElectionID
|
|
12
|
+
readonly party_id? : string
|
|
13
|
+
readonly report_date : string
|
|
14
|
+
|
|
15
|
+
constructor(federal_election_file : any) {
|
|
16
|
+
if (!FederalElectionF2File.is(federal_election_file)) {
|
|
17
|
+
throw Error("Invalid input.")
|
|
18
|
+
}
|
|
19
|
+
super(federal_election_file)
|
|
20
|
+
this.federal_election_candidate_id = federal_election_file.federal_election_candidate_id
|
|
21
|
+
this.name = federal_election_file.name
|
|
22
|
+
this.federal_election_office_id = federal_election_file.federal_election_office_id
|
|
23
|
+
this.state_id = federal_election_file.state_id
|
|
24
|
+
this.district = federal_election_file.district
|
|
25
|
+
this.federal_election_id = federal_election_file.federal_election_id
|
|
26
|
+
this.party_id = federal_election_file.party_id
|
|
27
|
+
this.report_date = federal_election_file.report_date
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
static is(federal_election_file : any) : federal_election_file is FederalElectionF2File {
|
|
31
|
+
return (
|
|
32
|
+
FederalElectionFile.is(federal_election_file) &&
|
|
33
|
+
federal_election_file.form_type_id === "F2" &&
|
|
34
|
+
typeof federal_election_file.federal_election_candidate_id === "string" &&
|
|
35
|
+
typeof federal_election_file.name === "string" &&
|
|
36
|
+
is_federal_election_office_id(federal_election_file.federal_election_office_id) &&
|
|
37
|
+
is_state_id(federal_election_file.state_id) &&
|
|
38
|
+
(federal_election_file.district === undefined || typeof federal_election_file.district === "number") &&
|
|
39
|
+
is_federal_election_id(federal_election_file.federal_election_id) &&
|
|
40
|
+
(federal_election_file.party_id === undefined || typeof federal_election_file.party_id === "string") &&
|
|
41
|
+
typeof federal_election_file.report_date === "string"
|
|
42
|
+
)
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { FederalElectionFile } from "./FederalElectionFile"
|
|
2
|
+
|
|
3
|
+
export class FederalElectionF3File extends FederalElectionFile {
|
|
4
|
+
readonly federal_election_committee_id : string
|
|
5
|
+
readonly period_id : string
|
|
6
|
+
readonly period_start_date : string
|
|
7
|
+
readonly period_end_date : string
|
|
8
|
+
readonly report_date : string
|
|
9
|
+
readonly cash_on_hand : number
|
|
10
|
+
readonly cumulative_receipts : number
|
|
11
|
+
readonly new_receipts : number
|
|
12
|
+
|
|
13
|
+
constructor(federal_election_file : any) {
|
|
14
|
+
if (!FederalElectionF3File.is(federal_election_file)) {
|
|
15
|
+
throw Error("Invalid input.")
|
|
16
|
+
}
|
|
17
|
+
super(federal_election_file)
|
|
18
|
+
this.federal_election_committee_id = federal_election_file.federal_election_committee_id
|
|
19
|
+
this.period_id = federal_election_file.period_id
|
|
20
|
+
this.period_start_date = federal_election_file.period_start_date
|
|
21
|
+
this.period_end_date = federal_election_file.period_end_date
|
|
22
|
+
this.report_date = federal_election_file.report_date
|
|
23
|
+
this.cash_on_hand = federal_election_file.cash_on_hand
|
|
24
|
+
this.cumulative_receipts = federal_election_file.cumulative_receipts
|
|
25
|
+
this.new_receipts = federal_election_file.new_receipts
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
static is(federal_election_file : any) : federal_election_file is FederalElectionF3File {
|
|
29
|
+
return (
|
|
30
|
+
FederalElectionFile.is(federal_election_file) &&
|
|
31
|
+
federal_election_file.form_type_id === "F3" &&
|
|
32
|
+
typeof federal_election_file.federal_election_committee_id === "string" &&
|
|
33
|
+
typeof federal_election_file.period_id === "string" &&
|
|
34
|
+
typeof federal_election_file.period_start_date === "string" &&
|
|
35
|
+
typeof federal_election_file.period_end_date === "string" &&
|
|
36
|
+
typeof federal_election_file.report_date === "string" &&
|
|
37
|
+
typeof federal_election_file.cash_on_hand === "number" &&
|
|
38
|
+
typeof federal_election_file.cumulative_receipts === "number" &&
|
|
39
|
+
typeof federal_election_file.new_receipts === "number"
|
|
40
|
+
)
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { AmendmentTypeID, FormTypeID, is_amendment_type_id, is_form_type_id, is_long_form_type_id, LongFormTypeID } from "./FormTypeID"
|
|
2
|
+
|
|
3
|
+
export const form_version_ids = ["8.1", "8.2", "8.3", "8.4", "8.5"] as const
|
|
4
|
+
|
|
5
|
+
export type FormVersionID = typeof form_version_ids[number]
|
|
6
|
+
|
|
7
|
+
export function is_form_version_id(form_version_id : any) : form_version_id is FormVersionID {
|
|
8
|
+
return form_version_ids.includes(form_version_id)
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export class FederalElectionFile {
|
|
12
|
+
readonly federal_election_file_id : number
|
|
13
|
+
readonly form_version_id : FormVersionID
|
|
14
|
+
readonly form_type_id : FormTypeID
|
|
15
|
+
readonly amendment_type_id : AmendmentTypeID
|
|
16
|
+
readonly long_form_type_id : LongFormTypeID
|
|
17
|
+
readonly s3_id : string
|
|
18
|
+
[x : string] : any
|
|
19
|
+
|
|
20
|
+
constructor(federal_election_file : any) {
|
|
21
|
+
if (!FederalElectionFile.is(federal_election_file)) {
|
|
22
|
+
throw Error("Invalid input.")
|
|
23
|
+
}
|
|
24
|
+
this.federal_election_file_id = federal_election_file.federal_election_file_id
|
|
25
|
+
this.form_version_id = federal_election_file.form_version_id
|
|
26
|
+
this.form_type_id = federal_election_file.form_type_id
|
|
27
|
+
this.amendment_type_id = federal_election_file.amendment_type_id
|
|
28
|
+
this.long_form_type_id = federal_election_file.long_form_type_id
|
|
29
|
+
this.s3_id = federal_election_file.s3_id
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
static is(federal_election_file : any) : federal_election_file is FederalElectionFile {
|
|
33
|
+
return (
|
|
34
|
+
federal_election_file !== undefined &&
|
|
35
|
+
typeof federal_election_file.federal_election_file_id === "number" &&
|
|
36
|
+
is_form_version_id(federal_election_file.form_version_id) &&
|
|
37
|
+
is_form_type_id(federal_election_file.form_type_id) &&
|
|
38
|
+
is_amendment_type_id(federal_election_file.amendment_type_id) &&
|
|
39
|
+
is_long_form_type_id(federal_election_file.long_form_type_id) &&
|
|
40
|
+
(federal_election_file.s3_id === undefined || typeof federal_election_file.s3_id === "string")
|
|
41
|
+
)
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { FederalElectionCandidate } from "./FederalElectionCandidate"
|
|
2
|
+
import { FederalElectionCommittee } from "./FederalElectionCommittee"
|
|
3
|
+
import { FederalElectionID, is_federal_election_id } from "./FederalElection"
|
|
4
|
+
import { FederalElectionF24File } from "./FederalElectionF24File"
|
|
5
|
+
|
|
6
|
+
export class FederalElectionFileExpenditure {
|
|
7
|
+
readonly federal_election_file_id : number
|
|
8
|
+
readonly expenditure_id : string
|
|
9
|
+
readonly federal_election_committee_id : string
|
|
10
|
+
readonly date : string
|
|
11
|
+
readonly payee : string
|
|
12
|
+
readonly election_stage : string
|
|
13
|
+
readonly federal_election_id : FederalElectionID
|
|
14
|
+
readonly federal_election_candidate_id : string
|
|
15
|
+
readonly amount : number
|
|
16
|
+
readonly cumulative_amount : number
|
|
17
|
+
readonly purpose : string
|
|
18
|
+
readonly is_support : boolean
|
|
19
|
+
readonly [x : string] : any
|
|
20
|
+
|
|
21
|
+
constructor(federal_election_file_expenditure : any) {
|
|
22
|
+
if (!FederalElectionFileExpenditure.is(federal_election_file_expenditure)) {
|
|
23
|
+
throw Error("Invalid input.")
|
|
24
|
+
}
|
|
25
|
+
this.federal_election_file_id = federal_election_file_expenditure.federal_election_file_id
|
|
26
|
+
this.expenditure_id = federal_election_file_expenditure.expenditure_id
|
|
27
|
+
this.federal_election_committee_id = federal_election_file_expenditure.federal_election_committee_id
|
|
28
|
+
this.date = federal_election_file_expenditure.date
|
|
29
|
+
this.payee = federal_election_file_expenditure.payee
|
|
30
|
+
this.election_stage = federal_election_file_expenditure.election_stage
|
|
31
|
+
this.federal_election_id = federal_election_file_expenditure.federal_election_id
|
|
32
|
+
this.federal_election_candidate_id = federal_election_file_expenditure.federal_election_candidate_id
|
|
33
|
+
this.amount = federal_election_file_expenditure.amount
|
|
34
|
+
this.cumulative_amount = federal_election_file_expenditure.cumulative_amount
|
|
35
|
+
this.purpose = federal_election_file_expenditure.purpose
|
|
36
|
+
this.is_support = federal_election_file_expenditure.is_support
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
static is(federal_election_file_expenditure : any) : federal_election_file_expenditure is FederalElectionFileExpenditure {
|
|
40
|
+
return (
|
|
41
|
+
federal_election_file_expenditure !== undefined &&
|
|
42
|
+
typeof federal_election_file_expenditure.federal_election_file_id === "number" &&
|
|
43
|
+
typeof federal_election_file_expenditure.expenditure_id === "string" &&
|
|
44
|
+
typeof federal_election_file_expenditure.federal_election_committee_id === "string" &&
|
|
45
|
+
typeof federal_election_file_expenditure.date === "string" &&
|
|
46
|
+
typeof federal_election_file_expenditure.payee === "string" &&
|
|
47
|
+
typeof federal_election_file_expenditure.election_stage === "string" &&
|
|
48
|
+
is_federal_election_id(federal_election_file_expenditure.federal_election_id) &&
|
|
49
|
+
typeof federal_election_file_expenditure.federal_election_candidate_id === "string" &&
|
|
50
|
+
typeof federal_election_file_expenditure.amount === "number" &&
|
|
51
|
+
typeof federal_election_file_expenditure.cumulative_amount === "number" &&
|
|
52
|
+
typeof federal_election_file_expenditure.purpose === "string" &&
|
|
53
|
+
typeof federal_election_file_expenditure.is_support === "boolean"
|
|
54
|
+
)
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export class FederalElectionFileExpenditureAux extends FederalElectionFileExpenditure {
|
|
60
|
+
readonly federal_election_candidate : FederalElectionCandidate
|
|
61
|
+
readonly federal_election_committee : FederalElectionCommittee
|
|
62
|
+
readonly federal_election_f24_file : FederalElectionF24File
|
|
63
|
+
|
|
64
|
+
constructor(federal_election_file_expenditure : any) {
|
|
65
|
+
if (!FederalElectionFileExpenditureAux.is(federal_election_file_expenditure)) {
|
|
66
|
+
throw Error("Invalid input.")
|
|
67
|
+
}
|
|
68
|
+
super(federal_election_file_expenditure)
|
|
69
|
+
this.federal_election_candidate = federal_election_file_expenditure.federal_election_candidate
|
|
70
|
+
this.federal_election_committee = federal_election_file_expenditure.federal_election_committee
|
|
71
|
+
this.federal_election_f24_file = federal_election_file_expenditure.federal_election_f24_file
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
static is(federal_election_file_expenditure : any) : federal_election_file_expenditure is FederalElectionFileExpenditureAux {
|
|
75
|
+
return (
|
|
76
|
+
FederalElectionFileExpenditure.is(federal_election_file_expenditure) &&
|
|
77
|
+
FederalElectionCandidate.is(federal_election_file_expenditure.federal_election_candidate) &&
|
|
78
|
+
FederalElectionCommittee.is(federal_election_file_expenditure.federal_election_committee) &&
|
|
79
|
+
FederalElectionF24File.is(federal_election_file_expenditure.federal_election_f24_file)
|
|
80
|
+
)
|
|
81
|
+
}
|
|
82
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export const form_type_ids = ["F1", "F2", "F3", "F24"] as const
|
|
2
|
+
|
|
3
|
+
export type FormTypeID = typeof form_type_ids[number]
|
|
4
|
+
|
|
5
|
+
export function is_form_type_id(form_type_id : any) : form_type_id is FormTypeID {
|
|
6
|
+
return form_type_ids.includes(form_type_id)
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export const amendment_type_ids = ["N", "A", "T"] as const
|
|
10
|
+
|
|
11
|
+
export type AmendmentTypeID = typeof amendment_type_ids[number]
|
|
12
|
+
|
|
13
|
+
export function is_amendment_type_id(amendment_type_id : any) : amendment_type_id is AmendmentTypeID {
|
|
14
|
+
return amendment_type_ids.includes(amendment_type_id)
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export const long_form_type_ids = [
|
|
18
|
+
"F1N", "F1A", "F1T",
|
|
19
|
+
"F2N", "F2A", "F2T",
|
|
20
|
+
"F3N", "F3A", "F3T",
|
|
21
|
+
"F24N", "F24A"
|
|
22
|
+
] as const
|
|
23
|
+
|
|
24
|
+
export type LongFormTypeID = typeof long_form_type_ids[number]
|
|
25
|
+
|
|
26
|
+
export function is_long_form_type_id(long_form_type_id : any) : long_form_type_id is LongFormTypeID {
|
|
27
|
+
return long_form_type_ids.includes(long_form_type_id)
|
|
28
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export class FederalLobbyAgency {
|
|
2
|
+
readonly federal_lobby_agency_id : number
|
|
3
|
+
readonly name : string
|
|
4
|
+
|
|
5
|
+
constructor(federal_lobby_agency : any) {
|
|
6
|
+
if (!FederalLobbyAgency.is(federal_lobby_agency)) {
|
|
7
|
+
throw Error("Invalid input.")
|
|
8
|
+
}
|
|
9
|
+
this.federal_lobby_agency_id = federal_lobby_agency.federal_lobby_agency_id
|
|
10
|
+
this.name = federal_lobby_agency.name
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
static is(federal_lobby_agency : any) : federal_lobby_agency is FederalLobbyAgency {
|
|
14
|
+
return (
|
|
15
|
+
federal_lobby_agency !== undefined &&
|
|
16
|
+
typeof federal_lobby_agency.federal_lobby_agency_id === "number" &&
|
|
17
|
+
typeof federal_lobby_agency.name === "string"
|
|
18
|
+
)
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export class FederalLobbyClient {
|
|
2
|
+
readonly federal_lobby_client_id : number
|
|
3
|
+
readonly federal_lobby_registrant_id : number
|
|
4
|
+
readonly client_id? : number
|
|
5
|
+
readonly name : string
|
|
6
|
+
readonly effective_date? : string
|
|
7
|
+
readonly description? : string
|
|
8
|
+
readonly address_city? : string
|
|
9
|
+
readonly address_state_id? : string
|
|
10
|
+
readonly address_country : string
|
|
11
|
+
readonly ppb_address_state_id? : string
|
|
12
|
+
readonly ppb_address_country : string
|
|
13
|
+
|
|
14
|
+
constructor(federal_lobby_client : any) {
|
|
15
|
+
if (!FederalLobbyClient.is(federal_lobby_client)) {
|
|
16
|
+
throw Error("Invalid input.")
|
|
17
|
+
}
|
|
18
|
+
this.federal_lobby_client_id = federal_lobby_client.federal_lobby_client_id
|
|
19
|
+
this.federal_lobby_registrant_id = federal_lobby_client.federal_lobby_registrant_id
|
|
20
|
+
this.client_id = federal_lobby_client.client_id
|
|
21
|
+
this.name = federal_lobby_client.name
|
|
22
|
+
this.description = federal_lobby_client.description
|
|
23
|
+
this.effective_date = federal_lobby_client.effective_date
|
|
24
|
+
this.address_city = federal_lobby_client.address_city
|
|
25
|
+
this.address_state_id = federal_lobby_client.address_state_id
|
|
26
|
+
this.address_country = federal_lobby_client.address_country
|
|
27
|
+
this.ppb_address_state_id = federal_lobby_client.ppb_address_state_id
|
|
28
|
+
this.ppb_address_country = federal_lobby_client.ppb_address_country
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
static is(federal_lobby_client : any) : federal_lobby_client is FederalLobbyClient {
|
|
32
|
+
return (
|
|
33
|
+
federal_lobby_client !== undefined &&
|
|
34
|
+
typeof federal_lobby_client.federal_lobby_client_id === "number" &&
|
|
35
|
+
typeof federal_lobby_client.federal_lobby_registrant_id === "number" &&
|
|
36
|
+
(federal_lobby_client.client_id === undefined || typeof federal_lobby_client.client_id === "number") &&
|
|
37
|
+
typeof federal_lobby_client.name === "string" &&
|
|
38
|
+
(federal_lobby_client.description === undefined || typeof federal_lobby_client.description === "string") &&
|
|
39
|
+
(federal_lobby_client.effective_date === undefined || typeof federal_lobby_client.effective_date === "string") &&
|
|
40
|
+
(federal_lobby_client.address_city === undefined || typeof federal_lobby_client.address_city === "string") &&
|
|
41
|
+
(federal_lobby_client.address_state_id === undefined || typeof federal_lobby_client.address_state_id === "string") &&
|
|
42
|
+
typeof federal_lobby_client.address_country === "string" &&
|
|
43
|
+
(federal_lobby_client.ppb_address_state_id === undefined || typeof federal_lobby_client.ppb_address_state_id === "string") &&
|
|
44
|
+
typeof federal_lobby_client.ppb_address_country === "string"
|
|
45
|
+
)
|
|
46
|
+
}
|
|
47
|
+
}
|