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.
Files changed (182) hide show
  1. package/dist/src/index.d.ts +59 -0
  2. package/dist/src/index.js +59 -0
  3. package/dist/src/types/APIError.d.ts +4 -0
  4. package/dist/src/types/APIError.js +19 -0
  5. package/dist/src/types/State.d.ts +8 -0
  6. package/dist/src/types/State.js +210 -0
  7. package/dist/src/types/User.d.ts +7 -0
  8. package/dist/src/types/User.js +20 -0
  9. package/dist/src/types/federal_congress/FederalCongressBill.d.ts +18 -0
  10. package/dist/src/types/federal_congress/FederalCongressBill.js +44 -0
  11. package/dist/src/types/federal_congress/FederalCongressBillDocument.d.ts +20 -0
  12. package/dist/src/types/federal_congress/FederalCongressBillDocument.js +49 -0
  13. package/dist/src/types/federal_dockets/FederalDocket.d.ts +9 -0
  14. package/dist/src/types/federal_dockets/FederalDocket.js +25 -0
  15. package/dist/src/types/federal_dockets/FederalDocketAgency.d.ts +8 -0
  16. package/dist/src/types/federal_dockets/FederalDocketAgency.js +22 -0
  17. package/dist/src/types/federal_dockets/FederalDocketComment.d.ts +30 -0
  18. package/dist/src/types/federal_dockets/FederalDocketComment.js +86 -0
  19. package/dist/src/types/federal_dockets/FederalDocketCommentAttachment.d.ts +9 -0
  20. package/dist/src/types/federal_dockets/FederalDocketCommentAttachment.js +25 -0
  21. package/dist/src/types/federal_dockets/FederalDocketDocument.d.ts +27 -0
  22. package/dist/src/types/federal_dockets/FederalDocketDocument.js +74 -0
  23. package/dist/src/types/federal_elections/FederalElection.d.ts +27 -0
  24. package/dist/src/types/federal_elections/FederalElection.js +86 -0
  25. package/dist/src/types/federal_elections/FederalElectionCandidate.d.ts +40 -0
  26. package/dist/src/types/federal_elections/FederalElectionCandidate.js +105 -0
  27. package/dist/src/types/federal_elections/FederalElectionCandidateCommittee.d.ts +7 -0
  28. package/dist/src/types/federal_elections/FederalElectionCandidateCommittee.js +32 -0
  29. package/dist/src/types/federal_elections/FederalElectionCommittee.d.ts +27 -0
  30. package/dist/src/types/federal_elections/FederalElectionCommittee.js +68 -0
  31. package/dist/src/types/federal_elections/FederalElectionDonation.d.ts +29 -0
  32. package/dist/src/types/federal_elections/FederalElectionDonation.js +82 -0
  33. package/dist/src/types/federal_elections/FederalElectionF1File.d.ts +18 -0
  34. package/dist/src/types/federal_elections/FederalElectionF1File.js +48 -0
  35. package/dist/src/types/federal_elections/FederalElectionF24File.d.ts +12 -0
  36. package/dist/src/types/federal_elections/FederalElectionF24File.js +32 -0
  37. package/dist/src/types/federal_elections/FederalElectionF2File.d.ts +15 -0
  38. package/dist/src/types/federal_elections/FederalElectionF2File.js +39 -0
  39. package/dist/src/types/federal_elections/FederalElectionF3File.d.ts +13 -0
  40. package/dist/src/types/federal_elections/FederalElectionF3File.js +37 -0
  41. package/dist/src/types/federal_elections/FederalElectionFile.d.ts +15 -0
  42. package/dist/src/types/federal_elections/FederalElectionFile.js +33 -0
  43. package/dist/src/types/federal_elections/FederalElectionFileExpenditure.d.ts +28 -0
  44. package/dist/src/types/federal_elections/FederalElectionFileExpenditure.js +70 -0
  45. package/dist/src/types/federal_elections/FormTypeID.d.ts +9 -0
  46. package/dist/src/types/federal_elections/FormTypeID.js +17 -0
  47. package/dist/src/types/federal_lobby/FederalLobbyAgency.d.ts +6 -0
  48. package/dist/src/types/federal_lobby/FederalLobbyAgency.js +16 -0
  49. package/dist/src/types/federal_lobby/FederalLobbyClient.d.ts +15 -0
  50. package/dist/src/types/federal_lobby/FederalLobbyClient.js +43 -0
  51. package/dist/src/types/federal_lobby/FederalLobbyDocument.d.ts +66 -0
  52. package/dist/src/types/federal_lobby/FederalLobbyDocument.js +190 -0
  53. package/dist/src/types/federal_lobby/FederalLobbyDocumentInterest.d.ts +18 -0
  54. package/dist/src/types/federal_lobby/FederalLobbyDocumentInterest.js +50 -0
  55. package/dist/src/types/federal_lobby/FederalLobbyLobbyist.d.ts +12 -0
  56. package/dist/src/types/federal_lobby/FederalLobbyLobbyist.js +34 -0
  57. package/dist/src/types/federal_lobby/FederalLobbyRegistrant.d.ts +20 -0
  58. package/dist/src/types/federal_lobby/FederalLobbyRegistrant.js +58 -0
  59. package/dist/src/types/federal_register/FederalRegisterAgency.d.ts +13 -0
  60. package/dist/src/types/federal_register/FederalRegisterAgency.js +37 -0
  61. package/dist/src/types/federal_register/FederalRegisterDocument.d.ts +21 -0
  62. package/dist/src/types/federal_register/FederalRegisterDocument.js +56 -0
  63. package/dist/src/types/federal_rules/FederalRuleSection.d.ts +13 -0
  64. package/dist/src/types/federal_rules/FederalRuleSection.js +37 -0
  65. package/dist/src/types/federal_rules/FederalRuleTitle.d.ts +8 -0
  66. package/dist/src/types/federal_rules/FederalRuleTitle.js +22 -0
  67. package/dist/src/types/press/PressArticle.d.ts +12 -0
  68. package/dist/src/types/press/PressArticle.js +34 -0
  69. package/dist/src/types/press/PressArticleTag.d.ts +16 -0
  70. package/dist/src/types/press/PressArticleTag.js +40 -0
  71. package/dist/src/types/state_permits/AR/ARStateFacility.d.ts +7 -0
  72. package/dist/src/types/state_permits/AR/ARStateFacility.js +15 -0
  73. package/dist/src/types/state_permits/AR/ARStatePermit.d.ts +8 -0
  74. package/dist/src/types/state_permits/AR/ARStatePermit.js +18 -0
  75. package/dist/src/types/state_permits/AR/ARStatePermitDocument.d.ts +9 -0
  76. package/dist/src/types/state_permits/AR/ARStatePermitDocument.js +21 -0
  77. package/dist/src/types/state_permits/KY/KYStateFacility.d.ts +7 -0
  78. package/dist/src/types/state_permits/KY/KYStateFacility.js +15 -0
  79. package/dist/src/types/state_permits/KY/KYStatePermit.d.ts +7 -0
  80. package/dist/src/types/state_permits/KY/KYStatePermit.js +15 -0
  81. package/dist/src/types/state_permits/KY/KYStatePermitDocument.d.ts +8 -0
  82. package/dist/src/types/state_permits/KY/KYStatePermitDocument.js +18 -0
  83. package/dist/src/types/state_permits/NC/NCStateFacility.d.ts +8 -0
  84. package/dist/src/types/state_permits/NC/NCStateFacility.js +18 -0
  85. package/dist/src/types/state_permits/NC/NCStatePermit.d.ts +7 -0
  86. package/dist/src/types/state_permits/NC/NCStatePermit.js +15 -0
  87. package/dist/src/types/state_permits/NC/NCStatePermitDocument.d.ts +8 -0
  88. package/dist/src/types/state_permits/NC/NCStatePermitDocument.js +18 -0
  89. package/dist/src/types/state_permits/StateFacility.d.ts +20 -0
  90. package/dist/src/types/state_permits/StateFacility.js +49 -0
  91. package/dist/src/types/state_permits/StatePermit.d.ts +27 -0
  92. package/dist/src/types/state_permits/StatePermit.js +69 -0
  93. package/dist/src/types/state_permits/StatePermitDocument.d.ts +37 -0
  94. package/dist/src/types/state_permits/StatePermitDocument.js +95 -0
  95. package/dist/src/types/state_permits/StatePermitDocumentSource.d.ts +48 -0
  96. package/dist/src/types/state_permits/StatePermitDocumentSource.js +123 -0
  97. package/dist/src/types/state_permits/StatePermitDocumentSourcePollutant.d.ts +35 -0
  98. package/dist/src/types/state_permits/StatePermitDocumentSourcePollutant.js +90 -0
  99. package/dist/src/types/state_permits/TN/TNStateFacility.d.ts +7 -0
  100. package/dist/src/types/state_permits/TN/TNStateFacility.js +15 -0
  101. package/dist/src/types/state_permits/TN/TNStatePermit.d.ts +8 -0
  102. package/dist/src/types/state_permits/TN/TNStatePermit.js +18 -0
  103. package/dist/src/types/state_permits/TN/TNStatePermitDocument.d.ts +8 -0
  104. package/dist/src/types/state_permits/TN/TNStatePermitDocument.js +18 -0
  105. package/dist/src/types/state_permits/WI/WIStatePermit.d.ts +8 -0
  106. package/dist/src/types/state_permits/WI/WIStatePermit.js +18 -0
  107. package/dist/src/types/state_permits/WI/WIStatePermitDocument.d.ts +7 -0
  108. package/dist/src/types/state_permits/WI/WIStatePermitDocument.js +15 -0
  109. package/dist/src/types/twitter/TwitterTweet.d.ts +21 -0
  110. package/dist/src/types/twitter/TwitterTweet.js +61 -0
  111. package/dist/src/types/twitter/TwitterUser.d.ts +17 -0
  112. package/dist/src/types/twitter/TwitterUser.js +49 -0
  113. package/dist/src/types/twitter/TwitterUserTag.d.ts +13 -0
  114. package/dist/src/types/twitter/TwitterUserTag.js +31 -0
  115. package/dist/src/types/youtube/YoutubeChannel.d.ts +6 -0
  116. package/dist/src/types/youtube/YoutubeChannel.js +16 -0
  117. package/dist/src/types/youtube/YoutubeVideo.d.ts +18 -0
  118. package/dist/src/types/youtube/YoutubeVideo.js +46 -0
  119. package/dist/src/types/youtube/YoutubeVideoTag.d.ts +15 -0
  120. package/dist/src/types/youtube/YoutubeVideoTag.js +37 -0
  121. package/package.json +25 -0
  122. package/src/index.ts +72 -0
  123. package/src/types/APIError.ts +21 -0
  124. package/src/types/State.ts +219 -0
  125. package/src/types/User.ts +24 -0
  126. package/src/types/federal_congress/FederalCongressBill.ts +53 -0
  127. package/src/types/federal_congress/FederalCongressBillDocument.ts +60 -0
  128. package/src/types/federal_dockets/FederalDocket.ts +29 -0
  129. package/src/types/federal_dockets/FederalDocketAgency.ts +26 -0
  130. package/src/types/federal_dockets/FederalDocketComment.ts +96 -0
  131. package/src/types/federal_dockets/FederalDocketCommentAttachment.ts +29 -0
  132. package/src/types/federal_dockets/FederalDocketDocument.ts +82 -0
  133. package/src/types/federal_elections/FederalElection.ts +105 -0
  134. package/src/types/federal_elections/FederalElectionCandidate.ts +124 -0
  135. package/src/types/federal_elections/FederalElectionCandidateCommittee.ts +40 -0
  136. package/src/types/federal_elections/FederalElectionCommittee.ts +83 -0
  137. package/src/types/federal_elections/FederalElectionDonation.ts +88 -0
  138. package/src/types/federal_elections/FederalElectionF1File.ts +53 -0
  139. package/src/types/federal_elections/FederalElectionF24File.ts +37 -0
  140. package/src/types/federal_elections/FederalElectionF2File.ts +44 -0
  141. package/src/types/federal_elections/FederalElectionF3File.ts +42 -0
  142. package/src/types/federal_elections/FederalElectionFile.ts +43 -0
  143. package/src/types/federal_elections/FederalElectionFileExpenditure.ts +82 -0
  144. package/src/types/federal_elections/FormTypeID.ts +28 -0
  145. package/src/types/federal_lobby/FederalLobbyAgency.ts +20 -0
  146. package/src/types/federal_lobby/FederalLobbyClient.ts +47 -0
  147. package/src/types/federal_lobby/FederalLobbyDocument.ts +209 -0
  148. package/src/types/federal_lobby/FederalLobbyDocumentInterest.ts +60 -0
  149. package/src/types/federal_lobby/FederalLobbyLobbyist.ts +38 -0
  150. package/src/types/federal_lobby/FederalLobbyRegistrant.ts +62 -0
  151. package/src/types/federal_register/FederalRegisterAgency.ts +41 -0
  152. package/src/types/federal_register/FederalRegisterDocument.ts +64 -0
  153. package/src/types/federal_rules/FederalRuleSection.ts +42 -0
  154. package/src/types/federal_rules/FederalRuleTitle.ts +26 -0
  155. package/src/types/press/PressArticle.ts +38 -0
  156. package/src/types/press/PressArticleTag.ts +51 -0
  157. package/src/types/state_permits/AR/ARStateFacility.ts +21 -0
  158. package/src/types/state_permits/AR/ARStatePermit.ts +24 -0
  159. package/src/types/state_permits/AR/ARStatePermitDocument.ts +27 -0
  160. package/src/types/state_permits/KY/KYStateFacility.ts +22 -0
  161. package/src/types/state_permits/KY/KYStatePermit.ts +21 -0
  162. package/src/types/state_permits/KY/KYStatePermitDocument.ts +24 -0
  163. package/src/types/state_permits/NC/NCStateFacility.ts +24 -0
  164. package/src/types/state_permits/NC/NCStatePermit.ts +22 -0
  165. package/src/types/state_permits/NC/NCStatePermitDocument.ts +24 -0
  166. package/src/types/state_permits/StateFacility.ts +60 -0
  167. package/src/types/state_permits/StatePermit.ts +85 -0
  168. package/src/types/state_permits/StatePermitDocument.ts +118 -0
  169. package/src/types/state_permits/StatePermitDocumentSource.ts +146 -0
  170. package/src/types/state_permits/StatePermitDocumentSourcePollutant.ts +108 -0
  171. package/src/types/state_permits/TN/TNStateFacility.ts +21 -0
  172. package/src/types/state_permits/TN/TNStatePermit.ts +24 -0
  173. package/src/types/state_permits/TN/TNStatePermitDocument.ts +24 -0
  174. package/src/types/state_permits/WI/WIStatePermit.ts +24 -0
  175. package/src/types/state_permits/WI/WIStatePermitDocument.ts +21 -0
  176. package/src/types/twitter/TwitterTweet.ts +66 -0
  177. package/src/types/twitter/TwitterUser.ts +53 -0
  178. package/src/types/twitter/TwitterUserTag.ts +42 -0
  179. package/src/types/youtube/YoutubeChannel.ts +20 -0
  180. package/src/types/youtube/YoutubeVideo.ts +57 -0
  181. package/src/types/youtube/YoutubeVideoTag.ts +48 -0
  182. 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
+ }