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,60 @@
1
+ import { FederalCongressBillTypeID } from "./FederalCongressBill"
2
+
3
+ const federal_congress_bill_document_type_ids = [
4
+ "AS", "ASH", "ATH", "ATS", "CDH", "CDS", "CPH", "CPS", "EAH", "EAS", "EH", "ENR", "ES", "FPH", "FPS", "HDS", "IH", "IPH", "IPS", "IS", "LTH", "LTS", "PAP", "PCS", "PP", "PVTL", "PL", "RCH", "RCS", "RDS", "RFH", "RFS", "RH", "RHUC", "RIH", "RS", "RTH", "RTS", "SC", "STATPVT", "STAT", "STATCONRES"
5
+ ] as const
6
+
7
+ export type FederalCongressBillDocumentTypeID = typeof federal_congress_bill_document_type_ids[number]
8
+
9
+ export function is_federal_congress_bill_document_type_id(federal_congress_bill_document_type_id : any) : federal_congress_bill_document_type_id is FederalCongressBillDocumentTypeID {
10
+ return federal_congress_bill_document_type_ids.includes(federal_congress_bill_document_type_id)
11
+ }
12
+
13
+ export class FederalCongressBillDocument {
14
+ readonly federal_congress_bill_document_id : string
15
+ readonly federal_congress_bill_id : string
16
+ readonly document_id : string
17
+ readonly congress_id : number
18
+ readonly bill_id : string
19
+ readonly bill_type_id : FederalCongressBillTypeID
20
+ readonly number : number
21
+ readonly bill_document_type_id : FederalCongressBillDocumentTypeID
22
+ readonly format_id : string
23
+ readonly publish_time? : string
24
+ readonly s3_id? : string
25
+
26
+ constructor(federal_congress_bill_document : any) {
27
+ if (!FederalCongressBillDocument.is(federal_congress_bill_document)) {
28
+ throw Error("Invalid input.")
29
+ }
30
+ this.federal_congress_bill_document_id = federal_congress_bill_document.federal_congress_bill_document_id
31
+ this.federal_congress_bill_id = federal_congress_bill_document.federal_congress_bill_id
32
+ this.congress_id = federal_congress_bill_document.congress_id
33
+ this.bill_id = federal_congress_bill_document.bill_id
34
+ this.bill_type_id = federal_congress_bill_document.bill_type_id
35
+ this.number = federal_congress_bill_document.number
36
+ this.document_id = federal_congress_bill_document.document_id
37
+ this.bill_document_type_id = federal_congress_bill_document.bill_document_type_id
38
+ this.format_id = federal_congress_bill_document.format_id
39
+ this.publish_time = federal_congress_bill_document.publish_time
40
+ this.s3_id = federal_congress_bill_document.s3_id
41
+ }
42
+
43
+ static is(federal_congress_bill_document : any) : federal_congress_bill_document is FederalCongressBillDocument {
44
+ return (
45
+ federal_congress_bill_document !== undefined &&
46
+ typeof federal_congress_bill_document.federal_congress_bill_document_id === "string" &&
47
+ typeof federal_congress_bill_document.federal_congress_bill_id === "string" &&
48
+ typeof federal_congress_bill_document.congress_id === "number" &&
49
+ typeof federal_congress_bill_document.bill_id === "string" &&
50
+ typeof federal_congress_bill_document.bill_type_id === "string" &&
51
+ typeof federal_congress_bill_document.number === "number" &&
52
+ typeof federal_congress_bill_document.document_id === "string" &&
53
+ is_federal_congress_bill_document_type_id(federal_congress_bill_document.bill_document_type_id) &&
54
+ typeof federal_congress_bill_document.format_id === "string" &&
55
+ (federal_congress_bill_document.publish_time === undefined || typeof federal_congress_bill_document.publish_time === "string") &&
56
+ (federal_congress_bill_document.s3_id === undefined || typeof federal_congress_bill_document.s3_id === "string")
57
+ )
58
+ }
59
+
60
+ }
@@ -0,0 +1,29 @@
1
+ export class FederalDocket {
2
+ readonly federal_docket_id : string
3
+ readonly federal_docket_agency_id : string
4
+ readonly is_rule : boolean
5
+ readonly title : string
6
+ readonly modify_time : string
7
+
8
+ constructor(federal_docket : any) {
9
+ if (!FederalDocket.is(federal_docket)) {
10
+ throw Error("Invalid input.")
11
+ }
12
+ this.federal_docket_id = federal_docket.federal_docket_id
13
+ this.federal_docket_agency_id = federal_docket.federal_docket_agency_id
14
+ this.is_rule = federal_docket.is_rule
15
+ this.title = federal_docket.title
16
+ this.modify_time = federal_docket.modify_time
17
+ }
18
+
19
+ static is(federal_docket : any) : federal_docket is FederalDocket {
20
+ return (
21
+ federal_docket !== undefined &&
22
+ typeof federal_docket.federal_docket_id === "string" &&
23
+ typeof federal_docket.federal_docket_agency_id === "string" &&
24
+ typeof federal_docket.is_rule === "boolean" &&
25
+ typeof federal_docket.title === "string" &&
26
+ typeof federal_docket.modify_time === "string"
27
+ )
28
+ }
29
+ }
@@ -0,0 +1,26 @@
1
+ export class FederalDocketAgency {
2
+ readonly federal_docket_agency_id : string
3
+ readonly federal_register_agency_id : number
4
+ readonly name : string
5
+ readonly supreme_federal_register_agency_id : number
6
+
7
+ constructor(federal_docket_agency : any) {
8
+ if (!FederalDocketAgency.is(federal_docket_agency)) {
9
+ throw Error("Invalid input.")
10
+ }
11
+ this.federal_docket_agency_id = federal_docket_agency.federal_docket_agency_id
12
+ this.federal_register_agency_id = federal_docket_agency.federal_register_agency_id
13
+ this.name = federal_docket_agency.name
14
+ this.supreme_federal_register_agency_id = federal_docket_agency.supreme_federal_register_agency_id
15
+ }
16
+
17
+ static is(federal_docket_agency : any) : federal_docket_agency is FederalDocketAgency {
18
+ return (
19
+ federal_docket_agency !== undefined &&
20
+ typeof federal_docket_agency.federal_docket_agency_id === "string" &&
21
+ typeof federal_docket_agency.federal_register_agency_id === "number" &&
22
+ typeof federal_docket_agency.name === "string" &&
23
+ typeof federal_docket_agency.supreme_federal_register_agency_id === "number"
24
+ )
25
+ }
26
+ }
@@ -0,0 +1,96 @@
1
+ export class Commentor {
2
+ readonly first_name? : string
3
+ readonly last_name? : string
4
+ readonly organization_name? : string
5
+ readonly address_1? : string
6
+ readonly address_2? : string
7
+ readonly city? : string
8
+ readonly state_id? : string
9
+ readonly zip? : string
10
+ readonly country? : string
11
+ readonly email? : string
12
+ readonly phone? : string
13
+
14
+ constructor(commentor : any) {
15
+ if (!Commentor.is(commentor)) {
16
+ throw Error("Invalid input.")
17
+ }
18
+ this.first_name = commentor.first_name
19
+ this.last_name = commentor.last_name
20
+ this.organization_name = commentor.organization_name
21
+ this.address_1 = commentor.address_1
22
+ this.address_2 = commentor.address_2
23
+ this.city = commentor.city
24
+ this.state_id = commentor.state_id
25
+ this.zip = commentor.zip
26
+ this.country = commentor.country
27
+ this.email = commentor.email
28
+ this.phone = commentor.phone
29
+ }
30
+
31
+ static is(commentor : any) : commentor is Commentor {
32
+ return (
33
+ commentor !== undefined &&
34
+ (commentor.first_name === undefined || typeof commentor.first_name === "string") &&
35
+ (commentor.last_name === undefined || typeof commentor.last_name === "string") &&
36
+ (commentor.organization_name === undefined || typeof commentor.organization_name === "string") &&
37
+ (commentor.address_1 === undefined || typeof commentor.address_1 === "string") &&
38
+ (commentor.address_2 === undefined || typeof commentor.address_2 === "string") &&
39
+ (commentor.city === undefined || typeof commentor.city === "string") &&
40
+ (commentor.state_id === undefined || typeof commentor.state_id === "string") &&
41
+ (commentor.zip === undefined || typeof commentor.zip === "string") &&
42
+ (commentor.country === undefined || typeof commentor.country === "string") &&
43
+ (commentor.email === undefined || typeof commentor.email === "string") &&
44
+ (commentor.phone === undefined || typeof commentor.phone === "string")
45
+ )
46
+ }
47
+ }
48
+
49
+
50
+ export class FederalDocketComment {
51
+ readonly federal_docket_comment_id : string
52
+ readonly federal_docket_agency_id : string
53
+ readonly federal_docket_id : string
54
+ readonly federal_docket_document_id? : string
55
+ readonly title : string
56
+ readonly publish_time? : string
57
+ readonly comment_time? : string
58
+ readonly modify_time : string
59
+ readonly is_withdrawn : boolean
60
+ readonly commentor : Commentor
61
+ readonly text : string
62
+
63
+ constructor(federal_docket_comment : any) {
64
+ if (!FederalDocketComment.is(federal_docket_comment)) {
65
+ throw Error("Invalid input.")
66
+ }
67
+ this.federal_docket_comment_id = federal_docket_comment.federal_docket_comment_id
68
+ this.federal_docket_agency_id = federal_docket_comment.federal_docket_agency_id
69
+ this.federal_docket_id = federal_docket_comment.federal_docket_id
70
+ this.federal_docket_document_id = federal_docket_comment.federal_docket_document_id
71
+ this.title = federal_docket_comment.title
72
+ this.publish_time = federal_docket_comment.publish_time
73
+ this.comment_time = federal_docket_comment.comment_time
74
+ this.modify_time = federal_docket_comment.modify_time
75
+ this.is_withdrawn = federal_docket_comment.is_withdrawn
76
+ this.commentor = new Commentor(federal_docket_comment.commentor)
77
+ this.text = federal_docket_comment.text
78
+ }
79
+
80
+ static is(federal_docket_comment : any) : federal_docket_comment is FederalDocketComment {
81
+ return (
82
+ federal_docket_comment !== undefined &&
83
+ typeof federal_docket_comment.federal_docket_comment_id === "string" &&
84
+ typeof federal_docket_comment.federal_docket_agency_id === "string" &&
85
+ typeof federal_docket_comment.federal_docket_id === "string" &&
86
+ (federal_docket_comment.federal_docket_document_id === undefined || typeof federal_docket_comment.federal_docket_document_id === "string") &&
87
+ typeof federal_docket_comment.title === "string" &&
88
+ (federal_docket_comment.publish_time === undefined || typeof federal_docket_comment.publish_time === "string") &&
89
+ (federal_docket_comment.comment_time === undefined || typeof federal_docket_comment.comment_time === "string") &&
90
+ typeof federal_docket_comment.modify_time === "string" &&
91
+ typeof federal_docket_comment.is_withdrawn === "boolean" &&
92
+ Commentor.is(federal_docket_comment.commentor) &&
93
+ typeof federal_docket_comment.text === "string"
94
+ )
95
+ }
96
+ }
@@ -0,0 +1,29 @@
1
+ export 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
+
8
+ constructor(federal_docket_comment_attachment : any) {
9
+ if (!FederalDocketCommentAttachment.is(federal_docket_comment_attachment)) {
10
+ throw Error("Invalid input.")
11
+ }
12
+ this.federal_docket_comment_attachment_id = federal_docket_comment_attachment.federal_docket_comment_attachment_id
13
+ this.attachment_number = federal_docket_comment_attachment.attachment_number
14
+ this.federal_docket_comment_id = federal_docket_comment_attachment.federal_docket_comment_id
15
+ this.urls = federal_docket_comment_attachment.urls
16
+ this.s3_ids = federal_docket_comment_attachment.s3_ids
17
+ }
18
+
19
+ static is(federal_docket_comment_attachment : any) : federal_docket_comment_attachment is FederalDocketCommentAttachment {
20
+ return (
21
+ federal_docket_comment_attachment !== undefined &&
22
+ typeof federal_docket_comment_attachment.federal_docket_comment_attachment_id === "string" &&
23
+ typeof federal_docket_comment_attachment.federal_docket_comment_id === "string" &&
24
+ typeof federal_docket_comment_attachment.attachment_number === "number" &&
25
+ Array.isArray(federal_docket_comment_attachment.urls) && federal_docket_comment_attachment.urls.every((url : any) => typeof url === "string") &&
26
+ (federal_docket_comment_attachment.s3_ids === undefined || Array.isArray(federal_docket_comment_attachment.s3_ids) && federal_docket_comment_attachment.s3_ids.every((s3_id : any) => typeof s3_id === "string"))
27
+ )
28
+ }
29
+ }
@@ -0,0 +1,82 @@
1
+ export const federal_docket_document_type_ids = ["N", "P", "R", "S", "O"] as const
2
+
3
+ export type FederalDocketDocumentTypeID = typeof federal_docket_document_type_ids[number]
4
+
5
+ export function is_federal_docket_document_type_id(federal_docket_document_type_id : any) : federal_docket_document_type_id is FederalDocketDocumentTypeID {
6
+ return federal_docket_document_type_ids.includes(federal_docket_document_type_id)
7
+ }
8
+
9
+ export class FederalDocketDocument {
10
+ readonly federal_docket_document_id : string
11
+ readonly federal_docket_agency_id : string
12
+ readonly federal_docket_id? : string
13
+ readonly type_id : FederalDocketDocumentTypeID
14
+ readonly subtype_id? : string
15
+ readonly federal_register_document_id? : string
16
+ readonly title : string
17
+ readonly publish_time? : string
18
+ readonly modify_time : string
19
+ readonly comment_start_time? : string
20
+ readonly comment_end_time? : string
21
+ readonly comments_open : boolean
22
+ readonly comments_late_allow : boolean
23
+ readonly is_withdrawn : boolean
24
+ readonly author_date? : string
25
+ readonly author_names : string[]
26
+ readonly media_type_id? : string
27
+ readonly abstract? : string
28
+ readonly urls : string[]
29
+ readonly s3_ids? : string[]
30
+
31
+ constructor(federal_docket_document : any) {
32
+ if (!FederalDocketDocument.is(federal_docket_document)) {
33
+ throw Error("Invalid input.")
34
+ }
35
+ this.federal_docket_document_id = federal_docket_document.federal_docket_document_id
36
+ this.federal_docket_agency_id = federal_docket_document.federal_docket_agency_id
37
+ this.federal_docket_id = federal_docket_document.federal_docket_id
38
+ this.type_id = federal_docket_document.type_id
39
+ this.subtype_id = federal_docket_document.subtype_id
40
+ this.federal_register_document_id = federal_docket_document.federal_register_document_id
41
+ this.title = federal_docket_document.title
42
+ this.publish_time = federal_docket_document.publish_time
43
+ this.modify_time = federal_docket_document.modify_time
44
+ this.comment_start_time = federal_docket_document.comment_start_time
45
+ this.comment_end_time = federal_docket_document.comment_end_time
46
+ this.comments_open = federal_docket_document.comments_open
47
+ this.comments_late_allow = federal_docket_document.comments_late_allow
48
+ this.is_withdrawn = federal_docket_document.is_withdrawn
49
+ this.author_date = federal_docket_document.author_date
50
+ this.author_names = federal_docket_document.author_names
51
+ this.media_type_id = federal_docket_document.media_type_id
52
+ this.abstract = federal_docket_document.abstract
53
+ this.urls = federal_docket_document.urls
54
+ this.s3_ids = federal_docket_document.s3_ids
55
+ }
56
+
57
+ static is(federal_docket_document : any) : federal_docket_document is FederalDocketDocument {
58
+ return (
59
+ federal_docket_document !== undefined &&
60
+ typeof federal_docket_document.federal_docket_document_id === "string" &&
61
+ typeof federal_docket_document.federal_docket_agency_id === "string" &&
62
+ (federal_docket_document.federal_docket_id === undefined || typeof federal_docket_document.federal_docket_id === "string") &&
63
+ is_federal_docket_document_type_id(federal_docket_document.type_id) &&
64
+ (federal_docket_document.subtype_id === undefined || typeof federal_docket_document.subtype_id === "string") &&
65
+ (federal_docket_document.federal_register_document_id === undefined || typeof federal_docket_document.federal_register_document_id === "string") &&
66
+ typeof federal_docket_document.title === "string" &&
67
+ (federal_docket_document.publish_time === undefined || typeof federal_docket_document.publish_time === "string") &&
68
+ typeof federal_docket_document.modify_time === "string" &&
69
+ (federal_docket_document.comment_start_time === undefined || typeof federal_docket_document.comment_start_time === "string") &&
70
+ (federal_docket_document.comment_end_time === undefined || typeof federal_docket_document.comment_end_time === "string") &&
71
+ typeof federal_docket_document.comments_open === "boolean" &&
72
+ typeof federal_docket_document.comments_late_allow === "boolean" &&
73
+ typeof federal_docket_document.is_withdrawn === "boolean" &&
74
+ (federal_docket_document.author_date === undefined || typeof federal_docket_document.author_date === "string") &&
75
+ Array.isArray(federal_docket_document.author_names) && federal_docket_document.author_names.every((author_name : any) => typeof author_name === "string") &&
76
+ (federal_docket_document.media_type_id === undefined || typeof federal_docket_document.media_type_id === "string") &&
77
+ (federal_docket_document.abstract === undefined || typeof federal_docket_document.abstract === "string") &&
78
+ Array.isArray(federal_docket_document.urls) && federal_docket_document.urls.every((url : any) => typeof url === "string") &&
79
+ (federal_docket_document.s3_ids === undefined || Array.isArray(federal_docket_document.s3_ids) && federal_docket_document.s3_ids.every((s3_id : any) => typeof s3_id === "string"))
80
+ )
81
+ }
82
+ }
@@ -0,0 +1,105 @@
1
+ import { FederalElectionCandidateAux } from "./FederalElectionCandidate"
2
+ import { FederalElectionCommitteeAux } from "./FederalElectionCommittee"
3
+ import { FederalElectionFileExpenditureAux } from "./FederalElectionFileExpenditure"
4
+ import { is_state_id, StateID } from "../State"
5
+
6
+ const federal_election_office_ids = ["H", "S", "P"] as const
7
+
8
+ export type FederalElectionOfficeID = typeof federal_election_office_ids[number]
9
+
10
+ export function is_federal_election_office_id(federal_election_office_id : any) : federal_election_office_id is FederalElectionOfficeID {
11
+ return federal_election_office_ids.includes(federal_election_office_id)
12
+ }
13
+
14
+ const state_ids_without_district : StateID[] = ["AK", "DE", "ND", "SD", "VT", "WY"]
15
+
16
+ export type FederalElectionID = string
17
+
18
+ export function is_federal_election_id(federal_election_id : any) : federal_election_id is FederalElectionID {
19
+ const parts = federal_election_id.split("-")
20
+ const year = Number(parts[0])
21
+ const federal_election_office_id = parts[1]
22
+ const state_id = parts[2]
23
+ const district = Number(parts[3])
24
+ if (!(Number.isInteger(year) && year > 1700 && year < 3000 && is_federal_election_office_id(federal_election_office_id))) {
25
+ return false
26
+ }
27
+ if (federal_election_office_id === "P" && parts.length === 2) {
28
+ return true
29
+ }
30
+ if (!is_state_id(state_id)) {
31
+ return false
32
+ }
33
+ if (federal_election_office_id === "S" && parts.length === 3) {
34
+ return true
35
+ }
36
+ if (federal_election_office_id !== "H") {
37
+ return false
38
+ }
39
+ if (!(state_ids_without_district.includes(state_id) && parts.length === 3 || parts.length === 4)) {
40
+ return false
41
+ }
42
+ if (!Number.isInteger(district) && district < 100) {
43
+ return false
44
+ }
45
+ return true
46
+ }
47
+
48
+ export class FederalElection {
49
+ readonly federal_election_id : FederalElectionID
50
+ readonly name : string
51
+ readonly federal_election_office_id : FederalElectionOfficeID
52
+ readonly state_id? : StateID
53
+ readonly district? : number
54
+ readonly [x : string] : any
55
+
56
+ constructor(federal_election : FederalElection) {
57
+ if (!FederalElection.is(federal_election)) {
58
+ throw Error("Invalid input.")
59
+ }
60
+ this.federal_election_id = federal_election.federal_election_id
61
+ this.name = federal_election.name
62
+ this.federal_election_office_id = federal_election.federal_election_office_id
63
+ this.state_id = federal_election.state_id
64
+ this.district = federal_election.district
65
+ }
66
+
67
+ static is(federal_election : any) : federal_election is FederalElection {
68
+ return (
69
+ federal_election !== undefined &&
70
+ is_federal_election_id(federal_election.federal_election_id) &&
71
+ typeof federal_election.name === "string" &&
72
+ is_federal_election_office_id(federal_election.federal_election_office_id) &&
73
+ (federal_election.state_id === undefined || is_state_id(federal_election.state_id)) &&
74
+ (federal_election.district === undefined || typeof federal_election.district === "number")
75
+ )
76
+ }
77
+ }
78
+
79
+ export class FederalElectionAux extends FederalElection {
80
+ readonly federal_election_candidates : FederalElectionCandidateAux[]
81
+ readonly federal_election_committees : FederalElectionCommitteeAux[]
82
+ readonly federal_election_file_expenditures : FederalElectionFileExpenditureAux[]
83
+
84
+ constructor(federal_election : any) {
85
+ if (!FederalElectionAux.is(federal_election)) {
86
+ throw Error("Invalid input.")
87
+ }
88
+ super(federal_election)
89
+ this.federal_election_candidates = federal_election.federal_election_candidates
90
+ this.federal_election_committees = federal_election.federal_election_committees
91
+ this.federal_election_file_expenditures = federal_election.federal_election_file_expenditures
92
+ }
93
+
94
+ static is(federal_election : any) : federal_election is FederalElectionAux {
95
+ return (
96
+ FederalElection.is(federal_election) &&
97
+ Array.isArray(federal_election.federal_election_candidates) &&
98
+ federal_election.federal_election_candidates.every(FederalElectionCandidateAux.is) &&
99
+ Array.isArray(federal_election.federal_election_committees) &&
100
+ federal_election.federal_election_committees.every(FederalElectionCommitteeAux.is) &&
101
+ Array.isArray(federal_election.federal_election_file_expenditures) &&
102
+ federal_election.federal_election_file_expenditures.every(FederalElectionFileExpenditureAux.is)
103
+ )
104
+ }
105
+ }
@@ -0,0 +1,124 @@
1
+ import { FederalElectionCommitteeAux } from "./FederalElectionCommittee"
2
+ import { FederalElectionID, is_federal_election_id, is_federal_election_office_id, FederalElectionOfficeID } from "./FederalElection"
3
+ import { FederalElectionFileExpenditureAux } from "./FederalElectionFileExpenditure"
4
+ import { FederalElectionF3File } from "./FederalElectionF3File"
5
+ import { is_state_id, StateID } from "../State"
6
+
7
+ export class ActivityIndex {
8
+ readonly news_index : number
9
+ readonly twitter_index : number
10
+ readonly total_index : number
11
+
12
+ constructor(activity_index : any) {
13
+ if (!ActivityIndex.is(activity_index)) {
14
+ throw Error("Invalid input.")
15
+ }
16
+ this.news_index = activity_index.news_index
17
+ this.twitter_index = activity_index.twitter_index
18
+ this.total_index = activity_index.total_index
19
+ }
20
+
21
+ static is(activity_index : any) : activity_index is ActivityIndex {
22
+ return (
23
+ activity_index !== undefined &&
24
+ typeof activity_index.news_index === "number" &&
25
+ typeof activity_index.twitter_index === "number" &&
26
+ typeof activity_index.total_index === "number"
27
+ )
28
+ }
29
+ }
30
+
31
+ export class FederalElectionCandidate {
32
+ readonly federal_election_candidate_id : string
33
+ readonly name : string
34
+ readonly federal_election_office_id : FederalElectionOfficeID
35
+ readonly state_id : StateID
36
+ readonly district? : number
37
+ readonly federal_election_id : FederalElectionID
38
+ readonly party_id? : string
39
+ readonly is_active? : boolean
40
+ readonly status? : string
41
+ readonly federal_election_file_id? : number
42
+ readonly ballotpedia_name? : string
43
+ readonly ballotpedia_url? : string
44
+ readonly ballotpedia_data? : Record<string, any>
45
+ readonly activity_index? : ActivityIndex
46
+ readonly is_veteran? : string
47
+ readonly url_veteran? : string
48
+ // readonly urls? : string[]
49
+ // readonly previews? : string[]
50
+ [x : string] : any
51
+
52
+
53
+ constructor(federal_election_candidate : FederalElectionCandidate) {
54
+ if (!FederalElectionCandidate.is(federal_election_candidate)) {
55
+ throw Error("Invalid input.")
56
+ }
57
+ this.federal_election_candidate_id = federal_election_candidate.federal_election_candidate_id
58
+ this.name = federal_election_candidate.name
59
+ this.federal_election_office_id = federal_election_candidate.federal_election_office_id
60
+ this.state_id = federal_election_candidate.state_id
61
+ this.district = federal_election_candidate.district
62
+ this.federal_election_id = federal_election_candidate.federal_election_id
63
+ this.party_id = federal_election_candidate.party_id
64
+ this.is_active = federal_election_candidate.is_active
65
+ this.status = federal_election_candidate.status
66
+ this.federal_election_file_id = federal_election_candidate.federal_election_file_id
67
+ this.ballotpedia_name = federal_election_candidate.ballotpedia_name
68
+ this.ballotpedia_url = federal_election_candidate.ballotpedia_url
69
+ this.ballotpedia_data = federal_election_candidate.ballotpedia_data
70
+ this.activity_index = federal_election_candidate.activity_index
71
+ this.is_veteran = federal_election_candidate.is_veteran
72
+ this.url_veteran = federal_election_candidate.url_veteran
73
+ }
74
+
75
+ static is(federal_election_candidate : any) : federal_election_candidate is FederalElectionCandidate {
76
+ return (
77
+ federal_election_candidate !== undefined &&
78
+ typeof federal_election_candidate.federal_election_candidate_id === "string" &&
79
+ typeof federal_election_candidate.name === "string" &&
80
+ is_federal_election_office_id(federal_election_candidate.federal_election_office_id) &&
81
+ is_state_id(federal_election_candidate.state_id) &&
82
+ (federal_election_candidate.district === undefined || typeof federal_election_candidate.district === "number") &&
83
+ is_federal_election_id(federal_election_candidate.federal_election_id) &&
84
+ (federal_election_candidate.party_id === undefined || typeof federal_election_candidate.party_id === "string") &&
85
+ (federal_election_candidate.is_active === undefined || typeof federal_election_candidate.is_active === "boolean") &&
86
+ (federal_election_candidate.status === undefined || typeof federal_election_candidate.status === "string") &&
87
+ (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)) &&
88
+ (federal_election_candidate.ballotpedia_name === undefined || typeof federal_election_candidate.ballotpedia_name === "string") &&
89
+ (federal_election_candidate.ballotpedia_url === undefined || typeof federal_election_candidate.ballotpedia_url === "string") &&
90
+ (federal_election_candidate.ballotpedia_data === undefined || typeof federal_election_candidate.ballotpedia_data === "object" && Object.keys(federal_election_candidate.ballotpedia_data).map((key : any) => typeof key === "string")) &&
91
+ (federal_election_candidate.activity_index === undefined || ActivityIndex.is(federal_election_candidate.activity_index)) &&
92
+ (federal_election_candidate.is_veteran === undefined || typeof federal_election_candidate.is_veteran === "string") &&
93
+ (federal_election_candidate.url_veteran === undefined || typeof federal_election_candidate.url_veteran === "string")
94
+ )
95
+ }
96
+ }
97
+
98
+ export class FederalElectionCandidateAux extends FederalElectionCandidate {
99
+ readonly federal_election_committees : FederalElectionCommitteeAux[]
100
+ readonly federal_election_f3_files : FederalElectionF3File[]
101
+ readonly federal_election_file_expenditures : FederalElectionFileExpenditureAux[]
102
+
103
+ constructor(federal_election_candidate : any) {
104
+ if (!FederalElectionCandidateAux.is(federal_election_candidate)) {
105
+ throw Error("Invalid input.")
106
+ }
107
+ super(federal_election_candidate)
108
+ this.federal_election_committees = federal_election_candidate.federal_election_committees
109
+ this.federal_election_f3_files = federal_election_candidate.federal_election_f3_files
110
+ this.federal_election_file_expenditures = federal_election_candidate.federal_election_file_expenditures
111
+ }
112
+
113
+ static is(federal_election_candidate : any) : federal_election_candidate is FederalElectionCandidateAux {
114
+ return (
115
+ FederalElectionCandidate.is(federal_election_candidate) &&
116
+ Array.isArray(federal_election_candidate.federal_election_committees) &&
117
+ federal_election_candidate.federal_election_committees.every(FederalElectionCommitteeAux.is) &&
118
+ Array.isArray(federal_election_candidate.federal_election_f3_files) &&
119
+ federal_election_candidate.federal_election_f3_files.every(FederalElectionF3File.is) &&
120
+ Array.isArray(federal_election_candidate.federal_election_file_expenditures) &&
121
+ federal_election_candidate.federal_election_file_expenditures.every(FederalElectionFileExpenditureAux.is)
122
+ )
123
+ }
124
+ }
@@ -0,0 +1,40 @@
1
+ export class FederalElectionCandidateCommittee {
2
+ readonly federal_election_candidate_id : string
3
+ readonly federal_election_committee_id : string
4
+ [x : string] : any
5
+
6
+ constructor(federal_election_candidate_committee : FederalElectionCandidateCommittee) {
7
+ if (!FederalElectionCandidateCommittee.is(federal_election_candidate_committee)) {
8
+ throw Error("Invalid input.")
9
+ }
10
+ this.federal_election_candidate_id = federal_election_candidate_committee.federal_election_candidate_id
11
+ this.federal_election_committee_id = federal_election_candidate_committee.federal_election_committee_id
12
+ }
13
+
14
+ static is(federal_election_candidate_committee : any) : federal_election_candidate_committee is FederalElectionCandidateCommittee {
15
+ return (
16
+ federal_election_candidate_committee !== undefined &&
17
+ typeof federal_election_candidate_committee.federal_election_candidate_id === "string" &&
18
+ typeof federal_election_candidate_committee.federal_election_committee_id === "string"
19
+ )
20
+ }
21
+ }
22
+
23
+ // export class CandidateCommitteeAux extends CandidateCommittee {
24
+ // readonly committee : FederalElectionCommitteeAux
25
+
26
+ // constructor(candidate_committee : any) {
27
+ // if (!CandidateCommitteeAux.is(candidate_committee)) {
28
+ // throw Error("Invalid input.")
29
+ // }
30
+ // super(candidate_committee)
31
+ // this.committee = candidate_committee.committee
32
+ // }
33
+
34
+ // static is(candidate_committee : any) : candidate_committee is CandidateCommitteeAux {
35
+ // return (
36
+ // CandidateCommittee.is(candidate_committee) &&
37
+ // FederalElectionCommitteeAux.is(candidate_committee.committee)
38
+ // )
39
+ // }
40
+ // }