triangle-types 1.0.345 → 1.0.348

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 (56) hide show
  1. package/dist/src/index.d.ts +4 -11
  2. package/dist/src/index.js +4 -11
  3. package/dist/src/types/federal_dockets/FederalDocketComment.d.ts +1 -1
  4. package/dist/src/types/federal_dockets/FederalDocketComment.js +1 -1
  5. package/dist/src/types/federal_dockets/FederalDocketCommentAttachment.d.ts +1 -1
  6. package/dist/src/types/federal_dockets/FederalDocketCommentAttachment.js +3 -3
  7. package/dist/src/types/federal_elections/FederalElectionCandidate.d.ts +2 -2
  8. package/dist/src/types/federal_elections/FederalElectionCandidate.js +2 -2
  9. package/dist/src/types/federal_elections/FederalElectionCommittee.d.ts +2 -2
  10. package/dist/src/types/federal_elections/FederalElectionCommittee.js +2 -2
  11. package/dist/src/types/federal_elections/FederalElectionF1FileBody.d.ts +14 -0
  12. package/dist/src/types/federal_elections/FederalElectionF1FileBody.js +39 -0
  13. package/dist/src/types/federal_elections/FederalElectionF24FileBody.d.ts +11 -0
  14. package/dist/src/types/federal_elections/FederalElectionF24FileBody.js +29 -0
  15. package/dist/src/types/federal_elections/FederalElectionF2FileBody.d.ts +19 -0
  16. package/dist/src/types/federal_elections/FederalElectionF2FileBody.js +51 -0
  17. package/dist/src/types/federal_elections/FederalElectionF3FileBody.d.ts +12 -0
  18. package/dist/src/types/federal_elections/FederalElectionF3FileBody.js +34 -0
  19. package/dist/src/types/federal_elections/FederalElectionFile.d.ts +4 -0
  20. package/dist/src/types/federal_elections/FederalElectionFile.js +13 -1
  21. package/dist/src/types/federal_elections/FederalElectionFileExpenditure.d.ts +2 -2
  22. package/dist/src/types/federal_elections/FederalElectionFileExpenditure.js +2 -2
  23. package/dist/src/types/lal/LALFileVoter.d.ts +3 -1
  24. package/dist/src/types/lal/LALFileVoter.js +4 -1
  25. package/dist/src/types/prism/Prism.d.ts +1 -1
  26. package/dist/src/types/prism/Prism.js +1 -1
  27. package/dist/src/types/prism/StateVoter.d.ts +1 -1
  28. package/dist/src/types/prism/StateVoter.js +1 -1
  29. package/package.json +1 -1
  30. package/src/index.ts +4 -11
  31. package/src/types/federal_dockets/FederalDocketComment.ts +2 -2
  32. package/src/types/federal_dockets/FederalDocketCommentAttachment.ts +3 -3
  33. package/src/types/federal_elections/FederalElectionCandidate.ts +3 -3
  34. package/src/types/federal_elections/FederalElectionCommittee.ts +3 -3
  35. package/src/types/federal_elections/FederalElectionF1FileBody.ts +45 -0
  36. package/src/types/federal_elections/FederalElectionF24FileBody.ts +34 -0
  37. package/src/types/federal_elections/FederalElectionF2FileBody.ts +57 -0
  38. package/src/types/federal_elections/FederalElectionF3FileBody.ts +39 -0
  39. package/src/types/federal_elections/FederalElectionFile.ts +13 -1
  40. package/src/types/federal_elections/FederalElectionFileExpenditure.ts +3 -3
  41. package/src/types/lal/LALFileVoter.ts +8 -1
  42. package/src/types/prism/Prism.ts +1 -1
  43. package/src/types/prism/StateVoter.ts +1 -2
  44. package/src/types/prism/StateVoterTarget.ts +0 -1
  45. package/src/types/federal_elections/FederalElectionF1File.ts +0 -49
  46. package/src/types/federal_elections/FederalElectionF24File.ts +0 -37
  47. package/src/types/federal_elections/FederalElectionF2File.ts +0 -62
  48. package/src/types/federal_elections/FederalElectionF3File.ts +0 -42
  49. package/src/types/prism/PrismFeature.ts +0 -26
  50. package/src/types/prism/PrismSegment.ts +0 -79
  51. package/src/types/prism/StateVoterFeature.ts +0 -29
  52. package/src/types/prism/TenantVoterTag.ts +0 -36
  53. package/src/types/prism/UserPrismSegment.ts +0 -61
  54. package/src/types/prism/Voter.ts +0 -170
  55. package/src/types/prism/VoterFeature.ts +0 -50
  56. package/src/types/prism/VoterTarget.ts +0 -50
@@ -1,7 +1,7 @@
1
1
  export class FederalDocketComment {
2
2
  readonly federal_docket_comment_id : string
3
3
  readonly federal_docket_agency_id : string
4
- readonly federal_docket_id? : string
4
+ readonly federal_docket_id : string
5
5
  readonly federal_docket_document_id? : string
6
6
  readonly title : string
7
7
  readonly publish_time? : string
@@ -53,7 +53,7 @@ export class FederalDocketComment {
53
53
  federal_docket_comment !== undefined &&
54
54
  typeof federal_docket_comment.federal_docket_comment_id === "string" &&
55
55
  typeof federal_docket_comment.federal_docket_agency_id === "string" &&
56
- (federal_docket_comment.federal_docket_id === undefined || typeof federal_docket_comment.federal_docket_id === "string") &&
56
+ typeof federal_docket_comment.federal_docket_id === "string" &&
57
57
  (federal_docket_comment.federal_docket_document_id === undefined || typeof federal_docket_comment.federal_docket_document_id === "string") &&
58
58
  typeof federal_docket_comment.title === "string" &&
59
59
  (federal_docket_comment.publish_time === undefined || typeof federal_docket_comment.publish_time === "string") &&
@@ -1,7 +1,7 @@
1
1
  export class FederalDocketCommentAttachment {
2
+ readonly federal_docket_comment_attachment_id : string
2
3
  readonly federal_docket_comment_id : string
3
4
  readonly attachment_id : number
4
- readonly hash : string
5
5
  readonly urls? : string[]
6
6
  readonly s3_ids? : string[]
7
7
 
@@ -9,9 +9,9 @@ export class FederalDocketCommentAttachment {
9
9
  if (!FederalDocketCommentAttachment.is(federal_docket_comment_attachment)) {
10
10
  throw Error("Invalid input.")
11
11
  }
12
+ this.federal_docket_comment_attachment_id = federal_docket_comment_attachment.federal_docket_comment_attachment_id
12
13
  this.federal_docket_comment_id = federal_docket_comment_attachment.federal_docket_comment_id
13
14
  this.attachment_id = federal_docket_comment_attachment.attachment_id
14
- this.hash = federal_docket_comment_attachment.hash
15
15
  this.urls = federal_docket_comment_attachment.urls
16
16
  this.s3_ids = federal_docket_comment_attachment.s3_ids
17
17
  }
@@ -19,9 +19,9 @@ export class FederalDocketCommentAttachment {
19
19
  static is(federal_docket_comment_attachment : any) : federal_docket_comment_attachment is FederalDocketCommentAttachment {
20
20
  return (
21
21
  federal_docket_comment_attachment !== undefined &&
22
+ typeof federal_docket_comment_attachment.federal_docket_comment_attachment_id === "string" &&
22
23
  typeof federal_docket_comment_attachment.federal_docket_comment_id === "string" &&
23
24
  typeof federal_docket_comment_attachment.attachment_id === "number" &&
24
- typeof federal_docket_comment_attachment.hash === "string" &&
25
25
  (federal_docket_comment_attachment.urls === undefined || Array.isArray(federal_docket_comment_attachment.urls) && federal_docket_comment_attachment.urls.every((url : any) => typeof url === "string")) &&
26
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
27
  )
@@ -1,7 +1,7 @@
1
1
  import { FederalElectionCommitteeAux } from "./FederalElectionCommittee"
2
2
  import { is_federal_election_office_id, FederalElectionOfficeID } from "./FederalElection"
3
3
  import { FederalElectionFileExpenditureAux } from "./FederalElectionFileExpenditure"
4
- import { FederalElectionF3File } from "./FederalElectionF3File"
4
+ import { FederalElectionFile } from "./FederalElectionFile"
5
5
  import { is_state_id, StateID } from "../jurisdictions/State"
6
6
 
7
7
  // export class ActivityIndex {
@@ -89,7 +89,7 @@ export class FederalElectionCandidate {
89
89
 
90
90
  export class FederalElectionCandidateAux extends FederalElectionCandidate {
91
91
  readonly federal_election_committees : FederalElectionCommitteeAux[]
92
- readonly federal_election_f3_files : FederalElectionF3File[]
92
+ readonly federal_election_f3_files : FederalElectionFile[]
93
93
  readonly federal_election_file_expenditures : FederalElectionFileExpenditureAux[]
94
94
 
95
95
  constructor(federal_election_candidate : any) {
@@ -108,7 +108,7 @@ export class FederalElectionCandidateAux extends FederalElectionCandidate {
108
108
  Array.isArray(federal_election_candidate.federal_election_committees) &&
109
109
  federal_election_candidate.federal_election_committees.every(FederalElectionCommitteeAux.is) &&
110
110
  Array.isArray(federal_election_candidate.federal_election_f3_files) &&
111
- federal_election_candidate.federal_election_f3_files.every(FederalElectionF3File.is) &&
111
+ federal_election_candidate.federal_election_f3_files.every(FederalElectionFile.is) &&
112
112
  Array.isArray(federal_election_candidate.federal_election_file_expenditures) &&
113
113
  federal_election_candidate.federal_election_file_expenditures.every(FederalElectionFileExpenditureAux.is)
114
114
  )
@@ -1,5 +1,5 @@
1
1
  import { FederalElectionCandidate } from "./FederalElectionCandidate"
2
- import { FederalElectionF3File } from "./FederalElectionF3File"
2
+ import { FederalElectionFile } from "./FederalElectionFile"
3
3
 
4
4
  export const designations = ["P", "A", "U", "J", "D", "B"] as const
5
5
 
@@ -51,7 +51,7 @@ export class FederalElectionCommittee {
51
51
 
52
52
  export class FederalElectionCommitteeAux extends FederalElectionCommittee {
53
53
  readonly federal_election_candidates : FederalElectionCandidate[]
54
- readonly federal_election_f3_files : FederalElectionF3File[]
54
+ readonly federal_election_f3_files : FederalElectionFile[]
55
55
  readonly jfp_federal_election_committees? : FederalElectionCommittee[]
56
56
  readonly jfr_federal_election_committees : FederalElectionCommittee[]
57
57
  readonly aff_federal_election_committees : FederalElectionCommittee[]
@@ -74,7 +74,7 @@ export class FederalElectionCommitteeAux extends FederalElectionCommittee {
74
74
  Array.isArray(federal_election_committee.federal_election_candidates) &&
75
75
  federal_election_committee.federal_election_candidates.every(FederalElectionCandidate.is) &&
76
76
  Array.isArray(federal_election_committee.federal_election_f3_files) &&
77
- federal_election_committee.federal_election_f3_files.every(FederalElectionF3File.is) &&
77
+ federal_election_committee.federal_election_f3_files.every(FederalElectionFile.is) &&
78
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
79
  (Array.isArray(federal_election_committee.jfr_federal_election_committees) && federal_election_committee.jfr_federal_election_committees.every(FederalElectionCommittee.is)) &&
80
80
  (Array.isArray(federal_election_committee.aff_federal_election_committees) && federal_election_committee.aff_federal_election_committees.every(FederalElectionCommittee.is))
@@ -0,0 +1,45 @@
1
+ import { FederalElectionCommitteeDesignation, is_federal_election_committee_designation } from "./FederalElectionCommittee"
2
+ import { FederalElectionFile } from "./FederalElectionFile"
3
+
4
+ export class FederalElectionF1FileBody {
5
+ readonly federal_election_committee_id : string
6
+ readonly name : string
7
+ readonly url? : string
8
+ readonly designation : FederalElectionCommitteeDesignation
9
+ readonly federal_election_candidate_id? : string
10
+ readonly jfp_federal_election_committee_ids? : string[]
11
+ readonly jfr_federal_election_committee_ids : string[]
12
+ readonly aff_federal_election_committee_ids : string[]
13
+ readonly sponsor_federal_election_candidate_ids? : string[]
14
+
15
+ constructor(federal_election_file_body : any) {
16
+ if (!FederalElectionF1FileBody.is(federal_election_file_body)) {
17
+ throw Error("Invalid input.")
18
+ }
19
+ this.federal_election_committee_id = federal_election_file_body.federal_election_committee_id
20
+ this.name = federal_election_file_body.name
21
+ this.url = federal_election_file_body.url
22
+ this.designation = federal_election_file_body.designation
23
+ this.federal_election_candidate_id = federal_election_file_body.federal_election_candidate_id
24
+ this.jfp_federal_election_committee_ids = federal_election_file_body.jfp_federal_election_committee_ids
25
+ this.jfr_federal_election_committee_ids = federal_election_file_body.jfr_federal_election_committee_ids
26
+ this.aff_federal_election_committee_ids = federal_election_file_body.aff_federal_election_committee_ids
27
+ this.sponsor_federal_election_candidate_ids = federal_election_file_body.sponsor_federal_election_candidate_ids
28
+ }
29
+
30
+ static is(federal_election_file_body : any) : federal_election_file_body is FederalElectionF1FileBody {
31
+ return (
32
+ federal_election_file_body !== undefined &&
33
+ federal_election_file_body.form_type_id === "F1" &&
34
+ typeof federal_election_file_body.federal_election_committee_id === "string" &&
35
+ typeof federal_election_file_body.name === "string" &&
36
+ (federal_election_file_body.url === undefined || typeof federal_election_file_body.url === "string") &&
37
+ is_federal_election_committee_designation(federal_election_file_body.designation) &&
38
+ (federal_election_file_body.federal_election_candidate_id === undefined || typeof federal_election_file_body.federal_election_candidate_id === "string") &&
39
+ (federal_election_file_body.jfp_federal_election_committee_ids === undefined || Array.isArray(federal_election_file_body.jfp_federal_election_committee_ids) && federal_election_file_body.jfp_federal_election_committee_ids.every((federal_election_committee_id : any) => typeof federal_election_committee_id === "string")) &&
40
+ (Array.isArray(federal_election_file_body.jfr_federal_election_committee_ids) && federal_election_file_body.jfr_federal_election_committee_ids.every((federal_election_committee_id : any) => typeof federal_election_committee_id === "string")) &&
41
+ (Array.isArray(federal_election_file_body.aff_federal_election_committee_ids) && federal_election_file_body.aff_federal_election_committee_ids.every((federal_election_committee_id : any) => typeof federal_election_committee_id === "string")) &&
42
+ (federal_election_file_body.sponsor_federal_election_candidate_ids === undefined || Array.isArray(federal_election_file_body.sponsor_federal_election_candidate_ids) && federal_election_file_body.sponsor_federal_election_candidate_ids.every((federal_election_committee_id : any) => typeof federal_election_committee_id === "string"))
43
+ )
44
+ }
45
+ }
@@ -0,0 +1,34 @@
1
+ import { FederalElectionFileExpenditure } from "./FederalElectionFileExpenditure"
2
+ import { FederalElectionFile } from "./FederalElectionFile"
3
+
4
+ export class FederalElectionF24FileBody extends FederalElectionFile {
5
+ readonly federal_election_committee_id : string
6
+ readonly first_federal_election_file_id : number
7
+ readonly f24_report_type_id : string
8
+ readonly first_report_date : string
9
+ readonly expenditures : FederalElectionFileExpenditure[]
10
+
11
+ constructor(federal_election_file_body : any) {
12
+ if (!FederalElectionF24FileBody.is(federal_election_file_body)) {
13
+ throw Error("Invalid input.")
14
+ }
15
+ super(federal_election_file_body)
16
+ this.federal_election_committee_id = federal_election_file_body.federal_election_committee_id
17
+ this.first_federal_election_file_id = federal_election_file_body.first_federal_election_file_id
18
+ this.f24_report_type_id = federal_election_file_body.f24_report_type_id
19
+ this.first_report_date = federal_election_file_body.first_report_date
20
+ this.expenditures = federal_election_file_body.expenditures
21
+ }
22
+
23
+ static is(federal_election_file_body : any) : federal_election_file_body is FederalElectionF24FileBody {
24
+ return (
25
+ FederalElectionFile.is(federal_election_file_body) &&
26
+ federal_election_file_body.form_type_id === "F24" &&
27
+ typeof federal_election_file_body.federal_election_committee_id === "string" &&
28
+ typeof federal_election_file_body.first_federal_election_file_id === "number" &&
29
+ typeof federal_election_file_body.f24_report_type_id === "string" &&
30
+ typeof federal_election_file_body.first_report_date === "string" &&
31
+ Array.isArray(federal_election_file_body.expenditures) && federal_election_file_body.expenditures.every(FederalElectionFileExpenditure.is)
32
+ )
33
+ }
34
+ }
@@ -0,0 +1,57 @@
1
+ import { is_federal_election_office_id, FederalElectionOfficeID } from "./FederalElection"
2
+ import { FederalElectionFile } from "./FederalElectionFile"
3
+ import { is_state_id, StateID } from "../jurisdictions/State"
4
+
5
+ export class FederalElectionF2FileBody {
6
+ readonly federal_election_candidate_id : string
7
+ readonly name_prefix? : string
8
+ readonly name_first : string
9
+ readonly name_middle? : string
10
+ readonly name_last : string
11
+ readonly name_suffix? : string
12
+ readonly name : string
13
+ readonly federal_election_office_id : FederalElectionOfficeID
14
+ readonly state_id? : StateID
15
+ readonly district_id? : number
16
+ readonly federal_election_id : string
17
+ readonly party_id? : string
18
+ readonly federal_election_committee_id? : string
19
+
20
+ constructor(federal_election_file_body : any) {
21
+ if (!FederalElectionF2FileBody.is(federal_election_file_body)) {
22
+ throw Error("Invalid input.")
23
+ }
24
+ this.federal_election_candidate_id = federal_election_file_body.federal_election_candidate_id
25
+ this.name_prefix = federal_election_file_body.name_prefix
26
+ this.name_first = federal_election_file_body.name_first
27
+ this.name_middle = federal_election_file_body.name_middle
28
+ this.name_last = federal_election_file_body.name_last
29
+ this.name_suffix = federal_election_file_body.name_suffix
30
+ this.name = federal_election_file_body.name
31
+ this.federal_election_office_id = federal_election_file_body.federal_election_office_id
32
+ this.state_id = federal_election_file_body.state_id
33
+ this.district_id = federal_election_file_body.district_id
34
+ this.federal_election_id = federal_election_file_body.federal_election_id
35
+ this.party_id = federal_election_file_body.party_id
36
+ this.federal_election_committee_id = federal_election_file_body.federal_election_committee_id
37
+ }
38
+
39
+ static is(federal_election_file_body : any) : federal_election_file_body is FederalElectionF2FileBody {
40
+ return (
41
+ federal_election_file_body !== undefined &&
42
+ federal_election_file_body.form_type_id === "F2" &&
43
+ typeof federal_election_file_body.federal_election_candidate_id === "string" &&
44
+ (federal_election_file_body.name_prefix === undefined || typeof federal_election_file_body.name_prefix === "string") &&
45
+ typeof federal_election_file_body.name_first === "string" &&
46
+ (federal_election_file_body.name_middle === undefined || typeof federal_election_file_body.name_middle === "string") &&
47
+ typeof federal_election_file_body.name_last === "string" &&
48
+ (federal_election_file_body.name_suffix === undefined || typeof federal_election_file_body.name_suffix === "string") &&
49
+ typeof federal_election_file_body.name === "string" &&
50
+ is_federal_election_office_id(federal_election_file_body.federal_election_office_id) &&
51
+ (federal_election_file_body.state_id === undefined || is_state_id(federal_election_file_body.state_id)) &&
52
+ (federal_election_file_body.district_id === undefined || typeof federal_election_file_body.district_id === "number") &&
53
+ typeof federal_election_file_body.federal_election_id === "string" &&
54
+ (federal_election_file_body.federal_election_committee_id === undefined || typeof federal_election_file_body.federal_election_committee_id === "string")
55
+ )
56
+ }
57
+ }
@@ -0,0 +1,39 @@
1
+ import { FederalElectionFile } from "./FederalElectionFile"
2
+
3
+ export class FederalElectionF3FileBody 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 cash_on_hand : number
9
+ readonly cumulative_receipts : number
10
+ readonly new_receipts : number
11
+
12
+ constructor(federal_election_file_body : any) {
13
+ if (!FederalElectionF3FileBody.is(federal_election_file_body)) {
14
+ throw Error("Invalid input.")
15
+ }
16
+ super(federal_election_file_body)
17
+ this.federal_election_committee_id = federal_election_file_body.federal_election_committee_id
18
+ this.period_id = federal_election_file_body.period_id
19
+ this.period_start_date = federal_election_file_body.period_start_date
20
+ this.period_end_date = federal_election_file_body.period_end_date
21
+ this.cash_on_hand = federal_election_file_body.cash_on_hand
22
+ this.cumulative_receipts = federal_election_file_body.cumulative_receipts
23
+ this.new_receipts = federal_election_file_body.new_receipts
24
+ }
25
+
26
+ static is(federal_election_file_body : any) : federal_election_file_body is FederalElectionF3FileBody {
27
+ return (
28
+ FederalElectionFile.is(federal_election_file_body) &&
29
+ federal_election_file_body.form_type_id === "F3" &&
30
+ typeof federal_election_file_body.federal_election_committee_id === "string" &&
31
+ typeof federal_election_file_body.period_id === "string" &&
32
+ typeof federal_election_file_body.period_start_date === "string" &&
33
+ typeof federal_election_file_body.period_end_date === "string" &&
34
+ typeof federal_election_file_body.cash_on_hand === "number" &&
35
+ typeof federal_election_file_body.cumulative_receipts === "number" &&
36
+ typeof federal_election_file_body.new_receipts === "number"
37
+ )
38
+ }
39
+ }
@@ -15,6 +15,10 @@ export class FederalElectionFile {
15
15
  readonly amendment_type_id : AmendmentTypeID
16
16
  readonly long_form_type_id : LongFormTypeID
17
17
  readonly s3_id : string
18
+ readonly federal_election_committee_id? : string
19
+ readonly federal_election_candidate_id? : string
20
+ readonly federal_election_id? : string
21
+ readonly body_json : string
18
22
  [x : string] : any
19
23
 
20
24
  constructor(federal_election_file : any) {
@@ -27,6 +31,10 @@ export class FederalElectionFile {
27
31
  this.amendment_type_id = federal_election_file.amendment_type_id
28
32
  this.long_form_type_id = federal_election_file.long_form_type_id
29
33
  this.s3_id = federal_election_file.s3_id
34
+ this.federal_election_committee_id = federal_election_file.federal_election_committee_id
35
+ this.federal_election_candidate_id = federal_election_file.federal_election_candidate_id
36
+ this.federal_election_id = federal_election_file.federal_election_id
37
+ this.body_json = federal_election_file.body_json
30
38
  }
31
39
 
32
40
  static is(federal_election_file : any) : federal_election_file is FederalElectionFile {
@@ -37,7 +45,11 @@ export class FederalElectionFile {
37
45
  is_form_type_id(federal_election_file.form_type_id) &&
38
46
  is_amendment_type_id(federal_election_file.amendment_type_id) &&
39
47
  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")
48
+ typeof federal_election_file.s3_id === "string" &&
49
+ (federal_election_file.federal_election_committee_id === undefined || typeof federal_election_file.federal_election_committee_id === "string") &&
50
+ (federal_election_file.federal_election_candidate_id === undefined || typeof federal_election_file.federal_election_candidate_id === "string") &&
51
+ (federal_election_file.federal_election_id === undefined || typeof federal_election_file.federal_election_id === "string") &&
52
+ typeof federal_election_file.body_json === "string"
41
53
  )
42
54
  }
43
55
  }
@@ -1,6 +1,6 @@
1
1
  import { FederalElectionCandidate } from "./FederalElectionCandidate"
2
2
  import { FederalElectionCommittee } from "./FederalElectionCommittee"
3
- import { FederalElectionF24File } from "./FederalElectionF24File"
3
+ import { FederalElectionFile } from "./FederalElectionFile"
4
4
 
5
5
  export class FederalElectionFileExpenditure {
6
6
  readonly federal_election_file_id : number
@@ -58,7 +58,7 @@ export class FederalElectionFileExpenditure {
58
58
  export class FederalElectionFileExpenditureAux extends FederalElectionFileExpenditure {
59
59
  readonly federal_election_candidate : FederalElectionCandidate
60
60
  readonly federal_election_committee : FederalElectionCommittee
61
- readonly federal_election_f24_file : FederalElectionF24File
61
+ readonly federal_election_f24_file : FederalElectionFile
62
62
 
63
63
  constructor(federal_election_file_expenditure : any) {
64
64
  if (!FederalElectionFileExpenditureAux.is(federal_election_file_expenditure)) {
@@ -75,7 +75,7 @@ export class FederalElectionFileExpenditureAux extends FederalElectionFileExpend
75
75
  FederalElectionFileExpenditure.is(federal_election_file_expenditure) &&
76
76
  FederalElectionCandidate.is(federal_election_file_expenditure.federal_election_candidate) &&
77
77
  FederalElectionCommittee.is(federal_election_file_expenditure.federal_election_committee) &&
78
- FederalElectionF24File.is(federal_election_file_expenditure.federal_election_f24_file)
78
+ FederalElectionFile.is(federal_election_file_expenditure.federal_election_f24_file)
79
79
  )
80
80
  }
81
81
  }
@@ -1,7 +1,14 @@
1
- import { is_voter_party_type_id, VoterPartyTypeID } from "../prism/Voter"
2
1
  import { is_state_id, StateID } from "../jurisdictions/State"
3
2
  import { Geom } from "../jurisdictions/Geom"
4
3
 
4
+ export const voter_party_type_ids = ["D", "R", "I"] as const
5
+
6
+ export type VoterPartyTypeID = typeof voter_party_type_ids[number]
7
+
8
+ export function is_voter_party_type_id(voter_party_type_id : any) : voter_party_type_id is VoterPartyTypeID {
9
+ return voter_party_type_ids.includes(voter_party_type_id)
10
+ }
11
+
5
12
  export class LALFileVoter {
6
13
  readonly lal_file_id : string
7
14
  readonly lal_voter_id : string
@@ -1,6 +1,6 @@
1
1
  import { is_jurisdiction_type_id, JurisdictionTypeID } from "../jurisdictions/Jurisdiction"
2
2
  import { is_state_id, StateID } from "../jurisdictions/State"
3
- import { is_voter_party_type_id, VoterPartyTypeID } from "./Voter"
3
+ import { is_voter_party_type_id, VoterPartyTypeID } from "../lal/LALFileVoter"
4
4
 
5
5
  export class Prism {
6
6
  readonly prism_id : string
@@ -1,7 +1,6 @@
1
- import { LALFileVoter } from "../lal/LALFileVoter"
1
+ import { is_voter_party_type_id, VoterPartyTypeID } from "../lal/LALFileVoter"
2
2
  import { is_state_id, StateID } from "../jurisdictions/State"
3
3
  import { StateVoterTarget } from "./StateVoterTarget"
4
- import { is_voter_party_type_id, VoterPartyTypeID } from "./Voter"
5
4
  import { Geom } from "../jurisdictions/Geom"
6
5
 
7
6
  export class StateVoter {
@@ -1,5 +1,4 @@
1
1
  import { is_state_id, StateID } from "../jurisdictions/State"
2
- import { is_voter_party_type_id, VoterPartyTypeID } from "./Voter"
3
2
 
4
3
  export class StateVoterTarget {
5
4
  readonly state_id : StateID
@@ -1,49 +0,0 @@
1
- import { FederalElectionCommitteeDesignation, is_federal_election_committee_designation } from "./FederalElectionCommittee"
2
- import { FederalElectionFile } from "./FederalElectionFile"
3
-
4
- export class FederalElectionF1File extends FederalElectionFile {
5
- readonly federal_election_committee_id : string
6
- readonly name : string
7
- readonly url? : string
8
- readonly report_date : string
9
- readonly designation : FederalElectionCommitteeDesignation
10
- readonly federal_election_candidate_id? : string
11
- readonly jfp_federal_election_committee_ids? : string[]
12
- readonly jfr_federal_election_committee_ids : string[]
13
- readonly aff_federal_election_committee_ids : string[]
14
- readonly sponsor_federal_election_candidate_ids? : string[]
15
-
16
- constructor(federal_election_file : any) {
17
- if (!FederalElectionF1File.is(federal_election_file)) {
18
- throw Error("Invalid input.")
19
- }
20
- super(federal_election_file)
21
- this.federal_election_committee_id = federal_election_file.federal_election_committee_id
22
- this.name = federal_election_file.name
23
- this.url = federal_election_file.url
24
- this.report_date = federal_election_file.report_date
25
- this.designation = federal_election_file.designation
26
- this.federal_election_candidate_id = federal_election_file.federal_election_candidate_id
27
- this.jfp_federal_election_committee_ids = federal_election_file.jfp_federal_election_committee_ids
28
- this.jfr_federal_election_committee_ids = federal_election_file.jfr_federal_election_committee_ids
29
- this.aff_federal_election_committee_ids = federal_election_file.aff_federal_election_committee_ids
30
- this.sponsor_federal_election_candidate_ids = federal_election_file.sponsor_federal_election_candidate_ids
31
- }
32
-
33
- static is(federal_election_file : any) : federal_election_file is FederalElectionF1File {
34
- return (
35
- FederalElectionFile.is(federal_election_file) &&
36
- federal_election_file.form_type_id === "F1" &&
37
- typeof federal_election_file.federal_election_committee_id === "string" &&
38
- typeof federal_election_file.name === "string" &&
39
- (federal_election_file.url === undefined || typeof federal_election_file.url === "string") &&
40
- typeof federal_election_file.report_date === "string" &&
41
- is_federal_election_committee_designation(federal_election_file.designation) &&
42
- (federal_election_file.federal_election_candidate_id === undefined || typeof federal_election_file.federal_election_candidate_id === "string") &&
43
- (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")) &&
44
- (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")) &&
45
- (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")) &&
46
- (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"))
47
- )
48
- }
49
- }
@@ -1,37 +0,0 @@
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 f24_report_type_id : 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.f24_report_type_id = federal_election_file.f24_report_type_id
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.f24_report_type_id === "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
- }
@@ -1,62 +0,0 @@
1
- import { is_federal_election_office_id, FederalElectionOfficeID } from "./FederalElection"
2
- import { FederalElectionFile } from "./FederalElectionFile"
3
- import { is_state_id, StateID } from "../jurisdictions/State"
4
-
5
- export class FederalElectionF2File extends FederalElectionFile {
6
- readonly federal_election_candidate_id : string
7
- readonly name_prefix? : string
8
- readonly name_first : string
9
- readonly name_middle? : string
10
- readonly name_last : string
11
- readonly name_suffix? : string
12
- readonly name : string
13
- readonly federal_election_office_id : FederalElectionOfficeID
14
- readonly state_id? : StateID
15
- readonly district_id? : number
16
- readonly federal_election_id : string
17
- readonly party_id? : string
18
- readonly report_date : string
19
- readonly federal_election_committee_id? : string
20
-
21
- constructor(federal_election_file : any) {
22
- if (!FederalElectionF2File.is(federal_election_file)) {
23
- throw Error("Invalid input.")
24
- }
25
- super(federal_election_file)
26
- this.federal_election_candidate_id = federal_election_file.federal_election_candidate_id
27
- this.name_prefix = federal_election_file.name_prefix
28
- this.name_first = federal_election_file.name_first
29
- this.name_middle = federal_election_file.name_middle
30
- this.name_last = federal_election_file.name_last
31
- this.name_suffix = federal_election_file.name_suffix
32
- this.name = federal_election_file.name
33
- this.federal_election_office_id = federal_election_file.federal_election_office_id
34
- this.state_id = federal_election_file.state_id
35
- this.district_id = federal_election_file.district_id
36
- this.federal_election_id = federal_election_file.federal_election_id
37
- this.party_id = federal_election_file.party_id
38
- this.report_date = federal_election_file.report_date
39
- this.federal_election_committee_id = federal_election_file.federal_election_committee_id
40
- }
41
-
42
- static is(federal_election_file : any) : federal_election_file is FederalElectionF2File {
43
- return (
44
- FederalElectionFile.is(federal_election_file) &&
45
- federal_election_file.form_type_id === "F2" &&
46
- typeof federal_election_file.federal_election_candidate_id === "string" &&
47
- (federal_election_file.name_prefix === undefined || typeof federal_election_file.name_prefix === "string") &&
48
- typeof federal_election_file.name_first === "string" &&
49
- (federal_election_file.name_middle === undefined || typeof federal_election_file.name_middle === "string") &&
50
- typeof federal_election_file.name_last === "string" &&
51
- (federal_election_file.name_suffix === undefined || typeof federal_election_file.name_suffix === "string") &&
52
- typeof federal_election_file.name === "string" &&
53
- is_federal_election_office_id(federal_election_file.federal_election_office_id) &&
54
- (federal_election_file.state_id === undefined || is_state_id(federal_election_file.state_id)) &&
55
- (federal_election_file.district_id === undefined || typeof federal_election_file.district_id === "number") &&
56
- typeof federal_election_file.federal_election_id === "string" &&
57
- (federal_election_file.party_id === undefined || typeof federal_election_file.party_id === "string") &&
58
- typeof federal_election_file.report_date === "string" &&
59
- (federal_election_file.federal_election_committee_id === undefined || typeof federal_election_file.federal_election_committee_id === "string")
60
- )
61
- }
62
- }
@@ -1,42 +0,0 @@
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
- }
@@ -1,26 +0,0 @@
1
- export class PrismFeature {
2
- readonly prism_feature_id : string
3
- readonly prism_id : string
4
- readonly feature_id : string
5
- readonly name : string
6
-
7
- constructor(prism_feature : any) {
8
- if (!PrismFeature.is(prism_feature)) {
9
- throw Error("Invalid input.")
10
- }
11
- this.prism_feature_id = prism_feature.prism_feature_id
12
- this.prism_id = prism_feature.prism_id
13
- this.feature_id = prism_feature.feature_id
14
- this.name = prism_feature.name
15
- }
16
-
17
- static is(prism_feature : any) : prism_feature is PrismFeature {
18
- return (
19
- prism_feature !== undefined &&
20
- typeof prism_feature.prism_feature_id === "string" &&
21
- typeof prism_feature.prism_id === "string" &&
22
- typeof prism_feature.feature_id === "string" &&
23
- typeof prism_feature.name === "string"
24
- )
25
- }
26
- }