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,86 @@
1
+ export class Commentor {
2
+ first_name;
3
+ last_name;
4
+ organization_name;
5
+ address_1;
6
+ address_2;
7
+ city;
8
+ state_id;
9
+ zip;
10
+ country;
11
+ email;
12
+ phone;
13
+ constructor(commentor) {
14
+ if (!Commentor.is(commentor)) {
15
+ throw Error("Invalid input.");
16
+ }
17
+ this.first_name = commentor.first_name;
18
+ this.last_name = commentor.last_name;
19
+ this.organization_name = commentor.organization_name;
20
+ this.address_1 = commentor.address_1;
21
+ this.address_2 = commentor.address_2;
22
+ this.city = commentor.city;
23
+ this.state_id = commentor.state_id;
24
+ this.zip = commentor.zip;
25
+ this.country = commentor.country;
26
+ this.email = commentor.email;
27
+ this.phone = commentor.phone;
28
+ }
29
+ static is(commentor) {
30
+ return (commentor !== undefined &&
31
+ (commentor.first_name === undefined || typeof commentor.first_name === "string") &&
32
+ (commentor.last_name === undefined || typeof commentor.last_name === "string") &&
33
+ (commentor.organization_name === undefined || typeof commentor.organization_name === "string") &&
34
+ (commentor.address_1 === undefined || typeof commentor.address_1 === "string") &&
35
+ (commentor.address_2 === undefined || typeof commentor.address_2 === "string") &&
36
+ (commentor.city === undefined || typeof commentor.city === "string") &&
37
+ (commentor.state_id === undefined || typeof commentor.state_id === "string") &&
38
+ (commentor.zip === undefined || typeof commentor.zip === "string") &&
39
+ (commentor.country === undefined || typeof commentor.country === "string") &&
40
+ (commentor.email === undefined || typeof commentor.email === "string") &&
41
+ (commentor.phone === undefined || typeof commentor.phone === "string"));
42
+ }
43
+ }
44
+ export class FederalDocketComment {
45
+ federal_docket_comment_id;
46
+ federal_docket_agency_id;
47
+ federal_docket_id;
48
+ federal_docket_document_id;
49
+ title;
50
+ publish_time;
51
+ comment_time;
52
+ modify_time;
53
+ is_withdrawn;
54
+ commentor;
55
+ text;
56
+ constructor(federal_docket_comment) {
57
+ if (!FederalDocketComment.is(federal_docket_comment)) {
58
+ throw Error("Invalid input.");
59
+ }
60
+ this.federal_docket_comment_id = federal_docket_comment.federal_docket_comment_id;
61
+ this.federal_docket_agency_id = federal_docket_comment.federal_docket_agency_id;
62
+ this.federal_docket_id = federal_docket_comment.federal_docket_id;
63
+ this.federal_docket_document_id = federal_docket_comment.federal_docket_document_id;
64
+ this.title = federal_docket_comment.title;
65
+ this.publish_time = federal_docket_comment.publish_time;
66
+ this.comment_time = federal_docket_comment.comment_time;
67
+ this.modify_time = federal_docket_comment.modify_time;
68
+ this.is_withdrawn = federal_docket_comment.is_withdrawn;
69
+ this.commentor = new Commentor(federal_docket_comment.commentor);
70
+ this.text = federal_docket_comment.text;
71
+ }
72
+ static is(federal_docket_comment) {
73
+ return (federal_docket_comment !== undefined &&
74
+ typeof federal_docket_comment.federal_docket_comment_id === "string" &&
75
+ typeof federal_docket_comment.federal_docket_agency_id === "string" &&
76
+ typeof federal_docket_comment.federal_docket_id === "string" &&
77
+ (federal_docket_comment.federal_docket_document_id === undefined || typeof federal_docket_comment.federal_docket_document_id === "string") &&
78
+ typeof federal_docket_comment.title === "string" &&
79
+ (federal_docket_comment.publish_time === undefined || typeof federal_docket_comment.publish_time === "string") &&
80
+ (federal_docket_comment.comment_time === undefined || typeof federal_docket_comment.comment_time === "string") &&
81
+ typeof federal_docket_comment.modify_time === "string" &&
82
+ typeof federal_docket_comment.is_withdrawn === "boolean" &&
83
+ Commentor.is(federal_docket_comment.commentor) &&
84
+ typeof federal_docket_comment.text === "string");
85
+ }
86
+ }
@@ -0,0 +1,9 @@
1
+ export declare class FederalDocketCommentAttachment {
2
+ readonly federal_docket_comment_attachment_id: string;
3
+ readonly federal_docket_comment_id: string;
4
+ readonly attachment_number: number;
5
+ readonly urls: string[];
6
+ readonly s3_ids?: string[];
7
+ constructor(federal_docket_comment_attachment: any);
8
+ static is(federal_docket_comment_attachment: any): federal_docket_comment_attachment is FederalDocketCommentAttachment;
9
+ }
@@ -0,0 +1,25 @@
1
+ export class FederalDocketCommentAttachment {
2
+ federal_docket_comment_attachment_id;
3
+ federal_docket_comment_id;
4
+ attachment_number;
5
+ urls;
6
+ s3_ids;
7
+ constructor(federal_docket_comment_attachment) {
8
+ if (!FederalDocketCommentAttachment.is(federal_docket_comment_attachment)) {
9
+ throw Error("Invalid input.");
10
+ }
11
+ this.federal_docket_comment_attachment_id = federal_docket_comment_attachment.federal_docket_comment_attachment_id;
12
+ this.attachment_number = federal_docket_comment_attachment.attachment_number;
13
+ this.federal_docket_comment_id = federal_docket_comment_attachment.federal_docket_comment_id;
14
+ this.urls = federal_docket_comment_attachment.urls;
15
+ this.s3_ids = federal_docket_comment_attachment.s3_ids;
16
+ }
17
+ static is(federal_docket_comment_attachment) {
18
+ return (federal_docket_comment_attachment !== undefined &&
19
+ typeof federal_docket_comment_attachment.federal_docket_comment_attachment_id === "string" &&
20
+ typeof federal_docket_comment_attachment.federal_docket_comment_id === "string" &&
21
+ typeof federal_docket_comment_attachment.attachment_number === "number" &&
22
+ Array.isArray(federal_docket_comment_attachment.urls) && federal_docket_comment_attachment.urls.every((url) => typeof url === "string") &&
23
+ (federal_docket_comment_attachment.s3_ids === undefined || Array.isArray(federal_docket_comment_attachment.s3_ids) && federal_docket_comment_attachment.s3_ids.every((s3_id) => typeof s3_id === "string")));
24
+ }
25
+ }
@@ -0,0 +1,27 @@
1
+ export declare const federal_docket_document_type_ids: readonly ["N", "P", "R", "S", "O"];
2
+ export type FederalDocketDocumentTypeID = typeof federal_docket_document_type_ids[number];
3
+ export declare function is_federal_docket_document_type_id(federal_docket_document_type_id: any): federal_docket_document_type_id is FederalDocketDocumentTypeID;
4
+ export declare class FederalDocketDocument {
5
+ readonly federal_docket_document_id: string;
6
+ readonly federal_docket_agency_id: string;
7
+ readonly federal_docket_id?: string;
8
+ readonly type_id: FederalDocketDocumentTypeID;
9
+ readonly subtype_id?: string;
10
+ readonly federal_register_document_id?: string;
11
+ readonly title: string;
12
+ readonly publish_time?: string;
13
+ readonly modify_time: string;
14
+ readonly comment_start_time?: string;
15
+ readonly comment_end_time?: string;
16
+ readonly comments_open: boolean;
17
+ readonly comments_late_allow: boolean;
18
+ readonly is_withdrawn: boolean;
19
+ readonly author_date?: string;
20
+ readonly author_names: string[];
21
+ readonly media_type_id?: string;
22
+ readonly abstract?: string;
23
+ readonly urls: string[];
24
+ readonly s3_ids?: string[];
25
+ constructor(federal_docket_document: any);
26
+ static is(federal_docket_document: any): federal_docket_document is FederalDocketDocument;
27
+ }
@@ -0,0 +1,74 @@
1
+ export const federal_docket_document_type_ids = ["N", "P", "R", "S", "O"];
2
+ export function is_federal_docket_document_type_id(federal_docket_document_type_id) {
3
+ return federal_docket_document_type_ids.includes(federal_docket_document_type_id);
4
+ }
5
+ export class FederalDocketDocument {
6
+ federal_docket_document_id;
7
+ federal_docket_agency_id;
8
+ federal_docket_id;
9
+ type_id;
10
+ subtype_id;
11
+ federal_register_document_id;
12
+ title;
13
+ publish_time;
14
+ modify_time;
15
+ comment_start_time;
16
+ comment_end_time;
17
+ comments_open;
18
+ comments_late_allow;
19
+ is_withdrawn;
20
+ author_date;
21
+ author_names;
22
+ media_type_id;
23
+ abstract;
24
+ urls;
25
+ s3_ids;
26
+ constructor(federal_docket_document) {
27
+ if (!FederalDocketDocument.is(federal_docket_document)) {
28
+ throw Error("Invalid input.");
29
+ }
30
+ this.federal_docket_document_id = federal_docket_document.federal_docket_document_id;
31
+ this.federal_docket_agency_id = federal_docket_document.federal_docket_agency_id;
32
+ this.federal_docket_id = federal_docket_document.federal_docket_id;
33
+ this.type_id = federal_docket_document.type_id;
34
+ this.subtype_id = federal_docket_document.subtype_id;
35
+ this.federal_register_document_id = federal_docket_document.federal_register_document_id;
36
+ this.title = federal_docket_document.title;
37
+ this.publish_time = federal_docket_document.publish_time;
38
+ this.modify_time = federal_docket_document.modify_time;
39
+ this.comment_start_time = federal_docket_document.comment_start_time;
40
+ this.comment_end_time = federal_docket_document.comment_end_time;
41
+ this.comments_open = federal_docket_document.comments_open;
42
+ this.comments_late_allow = federal_docket_document.comments_late_allow;
43
+ this.is_withdrawn = federal_docket_document.is_withdrawn;
44
+ this.author_date = federal_docket_document.author_date;
45
+ this.author_names = federal_docket_document.author_names;
46
+ this.media_type_id = federal_docket_document.media_type_id;
47
+ this.abstract = federal_docket_document.abstract;
48
+ this.urls = federal_docket_document.urls;
49
+ this.s3_ids = federal_docket_document.s3_ids;
50
+ }
51
+ static is(federal_docket_document) {
52
+ return (federal_docket_document !== undefined &&
53
+ typeof federal_docket_document.federal_docket_document_id === "string" &&
54
+ typeof federal_docket_document.federal_docket_agency_id === "string" &&
55
+ (federal_docket_document.federal_docket_id === undefined || typeof federal_docket_document.federal_docket_id === "string") &&
56
+ is_federal_docket_document_type_id(federal_docket_document.type_id) &&
57
+ (federal_docket_document.subtype_id === undefined || typeof federal_docket_document.subtype_id === "string") &&
58
+ (federal_docket_document.federal_register_document_id === undefined || typeof federal_docket_document.federal_register_document_id === "string") &&
59
+ typeof federal_docket_document.title === "string" &&
60
+ (federal_docket_document.publish_time === undefined || typeof federal_docket_document.publish_time === "string") &&
61
+ typeof federal_docket_document.modify_time === "string" &&
62
+ (federal_docket_document.comment_start_time === undefined || typeof federal_docket_document.comment_start_time === "string") &&
63
+ (federal_docket_document.comment_end_time === undefined || typeof federal_docket_document.comment_end_time === "string") &&
64
+ typeof federal_docket_document.comments_open === "boolean" &&
65
+ typeof federal_docket_document.comments_late_allow === "boolean" &&
66
+ typeof federal_docket_document.is_withdrawn === "boolean" &&
67
+ (federal_docket_document.author_date === undefined || typeof federal_docket_document.author_date === "string") &&
68
+ Array.isArray(federal_docket_document.author_names) && federal_docket_document.author_names.every((author_name) => typeof author_name === "string") &&
69
+ (federal_docket_document.media_type_id === undefined || typeof federal_docket_document.media_type_id === "string") &&
70
+ (federal_docket_document.abstract === undefined || typeof federal_docket_document.abstract === "string") &&
71
+ Array.isArray(federal_docket_document.urls) && federal_docket_document.urls.every((url) => typeof url === "string") &&
72
+ (federal_docket_document.s3_ids === undefined || Array.isArray(federal_docket_document.s3_ids) && federal_docket_document.s3_ids.every((s3_id) => typeof s3_id === "string")));
73
+ }
74
+ }
@@ -0,0 +1,27 @@
1
+ import { FederalElectionCandidateAux } from "./FederalElectionCandidate.js";
2
+ import { FederalElectionCommitteeAux } from "./FederalElectionCommittee.js";
3
+ import { FederalElectionFileExpenditureAux } from "./FederalElectionFileExpenditure.js";
4
+ import { StateID } from "../State.js";
5
+ declare const federal_election_office_ids: readonly ["H", "S", "P"];
6
+ export type FederalElectionOfficeID = typeof federal_election_office_ids[number];
7
+ export declare function is_federal_election_office_id(federal_election_office_id: any): federal_election_office_id is FederalElectionOfficeID;
8
+ export type FederalElectionID = string;
9
+ export declare function is_federal_election_id(federal_election_id: any): federal_election_id is FederalElectionID;
10
+ export declare class FederalElection {
11
+ readonly federal_election_id: FederalElectionID;
12
+ readonly name: string;
13
+ readonly federal_election_office_id: FederalElectionOfficeID;
14
+ readonly state_id?: StateID;
15
+ readonly district?: number;
16
+ readonly [x: string]: any;
17
+ constructor(federal_election: FederalElection);
18
+ static is(federal_election: any): federal_election is FederalElection;
19
+ }
20
+ export declare class FederalElectionAux extends FederalElection {
21
+ readonly federal_election_candidates: FederalElectionCandidateAux[];
22
+ readonly federal_election_committees: FederalElectionCommitteeAux[];
23
+ readonly federal_election_file_expenditures: FederalElectionFileExpenditureAux[];
24
+ constructor(federal_election: any);
25
+ static is(federal_election: any): federal_election is FederalElectionAux;
26
+ }
27
+ export {};
@@ -0,0 +1,86 @@
1
+ import { FederalElectionCandidateAux } from "./FederalElectionCandidate.js";
2
+ import { FederalElectionCommitteeAux } from "./FederalElectionCommittee.js";
3
+ import { FederalElectionFileExpenditureAux } from "./FederalElectionFileExpenditure.js";
4
+ import { is_state_id } from "../State.js";
5
+ const federal_election_office_ids = ["H", "S", "P"];
6
+ export function is_federal_election_office_id(federal_election_office_id) {
7
+ return federal_election_office_ids.includes(federal_election_office_id);
8
+ }
9
+ const state_ids_without_district = ["AK", "DE", "ND", "SD", "VT", "WY"];
10
+ export function is_federal_election_id(federal_election_id) {
11
+ const parts = federal_election_id.split("-");
12
+ const year = Number(parts[0]);
13
+ const federal_election_office_id = parts[1];
14
+ const state_id = parts[2];
15
+ const district = Number(parts[3]);
16
+ if (!(Number.isInteger(year) && year > 1700 && year < 3000 && is_federal_election_office_id(federal_election_office_id))) {
17
+ return false;
18
+ }
19
+ if (federal_election_office_id === "P" && parts.length === 2) {
20
+ return true;
21
+ }
22
+ if (!is_state_id(state_id)) {
23
+ return false;
24
+ }
25
+ if (federal_election_office_id === "S" && parts.length === 3) {
26
+ return true;
27
+ }
28
+ if (federal_election_office_id !== "H") {
29
+ return false;
30
+ }
31
+ if (!(state_ids_without_district.includes(state_id) && parts.length === 3 || parts.length === 4)) {
32
+ return false;
33
+ }
34
+ if (!Number.isInteger(district) && district < 100) {
35
+ return false;
36
+ }
37
+ return true;
38
+ }
39
+ export class FederalElection {
40
+ federal_election_id;
41
+ name;
42
+ federal_election_office_id;
43
+ state_id;
44
+ district;
45
+ constructor(federal_election) {
46
+ if (!FederalElection.is(federal_election)) {
47
+ throw Error("Invalid input.");
48
+ }
49
+ this.federal_election_id = federal_election.federal_election_id;
50
+ this.name = federal_election.name;
51
+ this.federal_election_office_id = federal_election.federal_election_office_id;
52
+ this.state_id = federal_election.state_id;
53
+ this.district = federal_election.district;
54
+ }
55
+ static is(federal_election) {
56
+ return (federal_election !== undefined &&
57
+ is_federal_election_id(federal_election.federal_election_id) &&
58
+ typeof federal_election.name === "string" &&
59
+ is_federal_election_office_id(federal_election.federal_election_office_id) &&
60
+ (federal_election.state_id === undefined || is_state_id(federal_election.state_id)) &&
61
+ (federal_election.district === undefined || typeof federal_election.district === "number"));
62
+ }
63
+ }
64
+ export class FederalElectionAux extends FederalElection {
65
+ federal_election_candidates;
66
+ federal_election_committees;
67
+ federal_election_file_expenditures;
68
+ constructor(federal_election) {
69
+ if (!FederalElectionAux.is(federal_election)) {
70
+ throw Error("Invalid input.");
71
+ }
72
+ super(federal_election);
73
+ this.federal_election_candidates = federal_election.federal_election_candidates;
74
+ this.federal_election_committees = federal_election.federal_election_committees;
75
+ this.federal_election_file_expenditures = federal_election.federal_election_file_expenditures;
76
+ }
77
+ static is(federal_election) {
78
+ return (FederalElection.is(federal_election) &&
79
+ Array.isArray(federal_election.federal_election_candidates) &&
80
+ federal_election.federal_election_candidates.every(FederalElectionCandidateAux.is) &&
81
+ Array.isArray(federal_election.federal_election_committees) &&
82
+ federal_election.federal_election_committees.every(FederalElectionCommitteeAux.is) &&
83
+ Array.isArray(federal_election.federal_election_file_expenditures) &&
84
+ federal_election.federal_election_file_expenditures.every(FederalElectionFileExpenditureAux.is));
85
+ }
86
+ }
@@ -0,0 +1,40 @@
1
+ import { FederalElectionCommitteeAux } from "./FederalElectionCommittee.js";
2
+ import { FederalElectionID, FederalElectionOfficeID } from "./FederalElection.js";
3
+ import { FederalElectionFileExpenditureAux } from "./FederalElectionFileExpenditure.js";
4
+ import { FederalElectionF3File } from "./FederalElectionF3File.js";
5
+ import { StateID } from "../State.js";
6
+ export declare class ActivityIndex {
7
+ readonly news_index: number;
8
+ readonly twitter_index: number;
9
+ readonly total_index: number;
10
+ constructor(activity_index: any);
11
+ static is(activity_index: any): activity_index is ActivityIndex;
12
+ }
13
+ export declare class FederalElectionCandidate {
14
+ readonly federal_election_candidate_id: string;
15
+ readonly name: string;
16
+ readonly federal_election_office_id: FederalElectionOfficeID;
17
+ readonly state_id: StateID;
18
+ readonly district?: number;
19
+ readonly federal_election_id: FederalElectionID;
20
+ readonly party_id?: string;
21
+ readonly is_active?: boolean;
22
+ readonly status?: string;
23
+ readonly federal_election_file_id?: number;
24
+ readonly ballotpedia_name?: string;
25
+ readonly ballotpedia_url?: string;
26
+ readonly ballotpedia_data?: Record<string, any>;
27
+ readonly activity_index?: ActivityIndex;
28
+ readonly is_veteran?: string;
29
+ readonly url_veteran?: string;
30
+ [x: string]: any;
31
+ constructor(federal_election_candidate: FederalElectionCandidate);
32
+ static is(federal_election_candidate: any): federal_election_candidate is FederalElectionCandidate;
33
+ }
34
+ export declare class FederalElectionCandidateAux extends FederalElectionCandidate {
35
+ readonly federal_election_committees: FederalElectionCommitteeAux[];
36
+ readonly federal_election_f3_files: FederalElectionF3File[];
37
+ readonly federal_election_file_expenditures: FederalElectionFileExpenditureAux[];
38
+ constructor(federal_election_candidate: any);
39
+ static is(federal_election_candidate: any): federal_election_candidate is FederalElectionCandidateAux;
40
+ }
@@ -0,0 +1,105 @@
1
+ import { FederalElectionCommitteeAux } from "./FederalElectionCommittee.js";
2
+ import { is_federal_election_id, is_federal_election_office_id } from "./FederalElection.js";
3
+ import { FederalElectionFileExpenditureAux } from "./FederalElectionFileExpenditure.js";
4
+ import { FederalElectionF3File } from "./FederalElectionF3File.js";
5
+ import { is_state_id } from "../State.js";
6
+ export class ActivityIndex {
7
+ news_index;
8
+ twitter_index;
9
+ total_index;
10
+ constructor(activity_index) {
11
+ if (!ActivityIndex.is(activity_index)) {
12
+ throw Error("Invalid input.");
13
+ }
14
+ this.news_index = activity_index.news_index;
15
+ this.twitter_index = activity_index.twitter_index;
16
+ this.total_index = activity_index.total_index;
17
+ }
18
+ static is(activity_index) {
19
+ return (activity_index !== undefined &&
20
+ typeof activity_index.news_index === "number" &&
21
+ typeof activity_index.twitter_index === "number" &&
22
+ typeof activity_index.total_index === "number");
23
+ }
24
+ }
25
+ export class FederalElectionCandidate {
26
+ federal_election_candidate_id;
27
+ name;
28
+ federal_election_office_id;
29
+ state_id;
30
+ district;
31
+ federal_election_id;
32
+ party_id;
33
+ is_active;
34
+ status;
35
+ federal_election_file_id;
36
+ ballotpedia_name;
37
+ ballotpedia_url;
38
+ ballotpedia_data;
39
+ activity_index;
40
+ is_veteran;
41
+ url_veteran;
42
+ constructor(federal_election_candidate) {
43
+ if (!FederalElectionCandidate.is(federal_election_candidate)) {
44
+ throw Error("Invalid input.");
45
+ }
46
+ this.federal_election_candidate_id = federal_election_candidate.federal_election_candidate_id;
47
+ this.name = federal_election_candidate.name;
48
+ this.federal_election_office_id = federal_election_candidate.federal_election_office_id;
49
+ this.state_id = federal_election_candidate.state_id;
50
+ this.district = federal_election_candidate.district;
51
+ this.federal_election_id = federal_election_candidate.federal_election_id;
52
+ this.party_id = federal_election_candidate.party_id;
53
+ this.is_active = federal_election_candidate.is_active;
54
+ this.status = federal_election_candidate.status;
55
+ this.federal_election_file_id = federal_election_candidate.federal_election_file_id;
56
+ this.ballotpedia_name = federal_election_candidate.ballotpedia_name;
57
+ this.ballotpedia_url = federal_election_candidate.ballotpedia_url;
58
+ this.ballotpedia_data = federal_election_candidate.ballotpedia_data;
59
+ this.activity_index = federal_election_candidate.activity_index;
60
+ this.is_veteran = federal_election_candidate.is_veteran;
61
+ this.url_veteran = federal_election_candidate.url_veteran;
62
+ }
63
+ static is(federal_election_candidate) {
64
+ return (federal_election_candidate !== undefined &&
65
+ typeof federal_election_candidate.federal_election_candidate_id === "string" &&
66
+ typeof federal_election_candidate.name === "string" &&
67
+ is_federal_election_office_id(federal_election_candidate.federal_election_office_id) &&
68
+ is_state_id(federal_election_candidate.state_id) &&
69
+ (federal_election_candidate.district === undefined || typeof federal_election_candidate.district === "number") &&
70
+ is_federal_election_id(federal_election_candidate.federal_election_id) &&
71
+ (federal_election_candidate.party_id === undefined || typeof federal_election_candidate.party_id === "string") &&
72
+ (federal_election_candidate.is_active === undefined || typeof federal_election_candidate.is_active === "boolean") &&
73
+ (federal_election_candidate.status === undefined || typeof federal_election_candidate.status === "string") &&
74
+ (federal_election_candidate.federal_election_file_id === undefined || typeof federal_election_candidate.federal_election_file_id === "number" && !isNaN(federal_election_candidate.federal_election_file_id)) &&
75
+ (federal_election_candidate.ballotpedia_name === undefined || typeof federal_election_candidate.ballotpedia_name === "string") &&
76
+ (federal_election_candidate.ballotpedia_url === undefined || typeof federal_election_candidate.ballotpedia_url === "string") &&
77
+ (federal_election_candidate.ballotpedia_data === undefined || typeof federal_election_candidate.ballotpedia_data === "object" && Object.keys(federal_election_candidate.ballotpedia_data).map((key) => typeof key === "string")) &&
78
+ (federal_election_candidate.activity_index === undefined || ActivityIndex.is(federal_election_candidate.activity_index)) &&
79
+ (federal_election_candidate.is_veteran === undefined || typeof federal_election_candidate.is_veteran === "string") &&
80
+ (federal_election_candidate.url_veteran === undefined || typeof federal_election_candidate.url_veteran === "string"));
81
+ }
82
+ }
83
+ export class FederalElectionCandidateAux extends FederalElectionCandidate {
84
+ federal_election_committees;
85
+ federal_election_f3_files;
86
+ federal_election_file_expenditures;
87
+ constructor(federal_election_candidate) {
88
+ if (!FederalElectionCandidateAux.is(federal_election_candidate)) {
89
+ throw Error("Invalid input.");
90
+ }
91
+ super(federal_election_candidate);
92
+ this.federal_election_committees = federal_election_candidate.federal_election_committees;
93
+ this.federal_election_f3_files = federal_election_candidate.federal_election_f3_files;
94
+ this.federal_election_file_expenditures = federal_election_candidate.federal_election_file_expenditures;
95
+ }
96
+ static is(federal_election_candidate) {
97
+ return (FederalElectionCandidate.is(federal_election_candidate) &&
98
+ Array.isArray(federal_election_candidate.federal_election_committees) &&
99
+ federal_election_candidate.federal_election_committees.every(FederalElectionCommitteeAux.is) &&
100
+ Array.isArray(federal_election_candidate.federal_election_f3_files) &&
101
+ federal_election_candidate.federal_election_f3_files.every(FederalElectionF3File.is) &&
102
+ Array.isArray(federal_election_candidate.federal_election_file_expenditures) &&
103
+ federal_election_candidate.federal_election_file_expenditures.every(FederalElectionFileExpenditureAux.is));
104
+ }
105
+ }
@@ -0,0 +1,7 @@
1
+ export declare class FederalElectionCandidateCommittee {
2
+ readonly federal_election_candidate_id: string;
3
+ readonly federal_election_committee_id: string;
4
+ [x: string]: any;
5
+ constructor(federal_election_candidate_committee: FederalElectionCandidateCommittee);
6
+ static is(federal_election_candidate_committee: any): federal_election_candidate_committee is FederalElectionCandidateCommittee;
7
+ }
@@ -0,0 +1,32 @@
1
+ export class FederalElectionCandidateCommittee {
2
+ federal_election_candidate_id;
3
+ federal_election_committee_id;
4
+ constructor(federal_election_candidate_committee) {
5
+ if (!FederalElectionCandidateCommittee.is(federal_election_candidate_committee)) {
6
+ throw Error("Invalid input.");
7
+ }
8
+ this.federal_election_candidate_id = federal_election_candidate_committee.federal_election_candidate_id;
9
+ this.federal_election_committee_id = federal_election_candidate_committee.federal_election_committee_id;
10
+ }
11
+ static is(federal_election_candidate_committee) {
12
+ return (federal_election_candidate_committee !== undefined &&
13
+ typeof federal_election_candidate_committee.federal_election_candidate_id === "string" &&
14
+ typeof federal_election_candidate_committee.federal_election_committee_id === "string");
15
+ }
16
+ }
17
+ // export class CandidateCommitteeAux extends CandidateCommittee {
18
+ // readonly committee : FederalElectionCommitteeAux
19
+ // constructor(candidate_committee : any) {
20
+ // if (!CandidateCommitteeAux.is(candidate_committee)) {
21
+ // throw Error("Invalid input.")
22
+ // }
23
+ // super(candidate_committee)
24
+ // this.committee = candidate_committee.committee
25
+ // }
26
+ // static is(candidate_committee : any) : candidate_committee is CandidateCommitteeAux {
27
+ // return (
28
+ // CandidateCommittee.is(candidate_committee) &&
29
+ // FederalElectionCommitteeAux.is(candidate_committee.committee)
30
+ // )
31
+ // }
32
+ // }
@@ -0,0 +1,27 @@
1
+ import { FederalElectionCandidate } from "./FederalElectionCandidate.js";
2
+ import { FederalElectionF3File } from "./FederalElectionF3File.js";
3
+ export declare const designations: readonly ["P", "A", "U", "J", "D", "B"];
4
+ export type FederalElectionCommitteeDesignation = typeof designations[number];
5
+ export declare function is_federal_election_committee_designation(designation: any): designation is FederalElectionCommitteeDesignation;
6
+ export declare class FederalElectionCommittee {
7
+ readonly federal_election_committee_id: string;
8
+ readonly name: string;
9
+ readonly url?: string;
10
+ readonly designation?: FederalElectionCommitteeDesignation;
11
+ readonly federal_election_file_id?: number;
12
+ readonly jfp_federal_election_committee_ids?: string[];
13
+ readonly jfr_federal_election_committee_ids: string[];
14
+ readonly aff_federal_election_committee_ids: string[];
15
+ readonly [x: string]: any;
16
+ constructor(federal_election_committee: FederalElectionCommittee);
17
+ static is(federal_election_committee: any): federal_election_committee is FederalElectionCommittee;
18
+ }
19
+ export declare class FederalElectionCommitteeAux extends FederalElectionCommittee {
20
+ readonly federal_election_candidates: FederalElectionCandidate[];
21
+ readonly federal_election_f3_files: FederalElectionF3File[];
22
+ readonly jfp_federal_election_committees?: FederalElectionCommittee[];
23
+ readonly jfr_federal_election_committees: FederalElectionCommittee[];
24
+ readonly aff_federal_election_committees: FederalElectionCommittee[];
25
+ constructor(federal_election_committee: any);
26
+ static is(federal_election_committee: any): federal_election_committee is FederalElectionCommitteeAux;
27
+ }
@@ -0,0 +1,68 @@
1
+ import { FederalElectionCandidate } from "./FederalElectionCandidate.js";
2
+ import { FederalElectionF3File } from "./FederalElectionF3File.js";
3
+ export const designations = ["P", "A", "U", "J", "D", "B"];
4
+ export function is_federal_election_committee_designation(designation) {
5
+ return designations.includes(designation);
6
+ }
7
+ export class FederalElectionCommittee {
8
+ federal_election_committee_id;
9
+ name;
10
+ url;
11
+ designation;
12
+ federal_election_file_id;
13
+ jfp_federal_election_committee_ids;
14
+ jfr_federal_election_committee_ids;
15
+ aff_federal_election_committee_ids;
16
+ constructor(federal_election_committee) {
17
+ if (!FederalElectionCommittee.is(federal_election_committee)) {
18
+ throw Error("Invalid input.");
19
+ }
20
+ this.federal_election_committee_id = federal_election_committee.federal_election_committee_id;
21
+ this.name = federal_election_committee.name;
22
+ this.url = federal_election_committee.url;
23
+ this.designation = federal_election_committee.designation;
24
+ this.federal_election_file_id = federal_election_committee.federal_election_file_id;
25
+ this.jfp_federal_election_committee_ids = federal_election_committee.jfp_federal_election_committee_ids;
26
+ this.jfr_federal_election_committee_ids = federal_election_committee.jfr_federal_election_committee_ids;
27
+ this.aff_federal_election_committee_ids = federal_election_committee.aff_federal_election_committee_ids;
28
+ }
29
+ static is(federal_election_committee) {
30
+ return (federal_election_committee !== undefined &&
31
+ typeof federal_election_committee.federal_election_committee_id === "string" &&
32
+ typeof federal_election_committee.name === "string" &&
33
+ (federal_election_committee.url === undefined || typeof federal_election_committee.url === "string") &&
34
+ (federal_election_committee.designation === undefined || is_federal_election_committee_designation(federal_election_committee.designation)) &&
35
+ (federal_election_committee.federal_election_file_id === undefined || typeof federal_election_committee.federal_election_file_id === "number" && !isNaN(federal_election_committee.federal_election_file_id)) &&
36
+ (federal_election_committee.jfp_federal_election_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) => typeof federal_election_committee_id === "string")) &&
37
+ (Array.isArray(federal_election_committee.jfr_federal_election_committee_ids) && federal_election_committee.jfr_federal_election_committee_ids.every((federal_election_committee_id) => typeof federal_election_committee_id === "string")) &&
38
+ (Array.isArray(federal_election_committee.aff_federal_election_committee_ids) && federal_election_committee.aff_federal_election_committee_ids.every((federal_election_committee_id) => typeof federal_election_committee_id === "string")));
39
+ }
40
+ }
41
+ export class FederalElectionCommitteeAux extends FederalElectionCommittee {
42
+ federal_election_candidates;
43
+ federal_election_f3_files;
44
+ jfp_federal_election_committees;
45
+ jfr_federal_election_committees;
46
+ aff_federal_election_committees;
47
+ constructor(federal_election_committee) {
48
+ if (!FederalElectionCommitteeAux.is(federal_election_committee)) {
49
+ throw Error("Invalid input.");
50
+ }
51
+ super(federal_election_committee);
52
+ this.federal_election_candidates = federal_election_committee.federal_election_candidates;
53
+ this.federal_election_f3_files = federal_election_committee.federal_election_f3_files;
54
+ this.jfp_federal_election_committees = federal_election_committee.jfp_federal_election_committees;
55
+ this.jfr_federal_election_committees = federal_election_committee.jfr_federal_election_committees;
56
+ this.aff_federal_election_committees = federal_election_committee.aff_federal_election_committees;
57
+ }
58
+ static is(federal_election_committee) {
59
+ return (FederalElectionCommittee.is(federal_election_committee) &&
60
+ Array.isArray(federal_election_committee.federal_election_candidates) &&
61
+ federal_election_committee.federal_election_candidates.every(FederalElectionCandidate.is) &&
62
+ Array.isArray(federal_election_committee.federal_election_f3_files) &&
63
+ federal_election_committee.federal_election_f3_files.every(FederalElectionF3File.is) &&
64
+ (federal_election_committee.jfp_federal_election_committees === undefined || Array.isArray(federal_election_committee.jfp_federal_election_committees) && federal_election_committee.jfp_federal_election_committees.every(FederalElectionCommittee.is)) &&
65
+ (Array.isArray(federal_election_committee.jfr_federal_election_committees) && federal_election_committee.jfr_federal_election_committees.every(FederalElectionCommittee.is)) &&
66
+ (Array.isArray(federal_election_committee.aff_federal_election_committees) && federal_election_committee.aff_federal_election_committees.every(FederalElectionCommittee.is)));
67
+ }
68
+ }