elections-types 1.0.77 → 1.0.78

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.
@@ -1,6 +1,10 @@
1
1
  import { AmendmentTypeID, FormTypeID, LongFormTypeID } from "./FormTypeID.js";
2
+ export declare const form_version_ids: readonly ["8.1", "8.2", "8.3", "8.4", "8.5"];
3
+ export type FormVersionID = typeof form_version_ids[number];
4
+ export declare function is_form_version_id(form_version_id: any): form_version_id is FormVersionID;
2
5
  export declare class FECFile {
3
6
  readonly fec_file_id: number;
7
+ readonly form_version_id: FormVersionID;
4
8
  readonly form_type_id: FormTypeID;
5
9
  readonly amendment_type_id: AmendmentTypeID;
6
10
  readonly long_form_type_id: LongFormTypeID;
@@ -1,6 +1,11 @@
1
1
  import { is_amendment_type_id, is_form_type_id, is_long_form_type_id } from "./FormTypeID.js";
2
+ export const form_version_ids = ["8.1", "8.2", "8.3", "8.4", "8.5"];
3
+ export function is_form_version_id(form_version_id) {
4
+ return form_version_ids.includes(form_version_id);
5
+ }
2
6
  export class FECFile {
3
7
  fec_file_id;
8
+ form_version_id;
4
9
  form_type_id;
5
10
  amendment_type_id;
6
11
  long_form_type_id;
@@ -10,6 +15,7 @@ export class FECFile {
10
15
  throw Error("Invalid input.");
11
16
  }
12
17
  this.fec_file_id = fec_file.fec_file_id;
18
+ this.form_version_id = fec_file.form_version_id;
13
19
  this.form_type_id = fec_file.form_type_id;
14
20
  this.amendment_type_id = fec_file.amendment_type_id;
15
21
  this.long_form_type_id = fec_file.long_form_type_id;
@@ -18,6 +24,7 @@ export class FECFile {
18
24
  static is(fec_file) {
19
25
  return (fec_file !== undefined &&
20
26
  typeof fec_file.fec_file_id === "number" &&
27
+ is_form_version_id(fec_file.form_version_id) &&
21
28
  is_form_type_id(fec_file.form_type_id) &&
22
29
  is_amendment_type_id(fec_file.amendment_type_id) &&
23
30
  is_long_form_type_id(fec_file.long_form_type_id) &&
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "elections-types",
3
- "version": "1.0.77",
3
+ "version": "1.0.78",
4
4
  "main": "dist/src/index.js",
5
5
  "types": "dist/src/index.d.ts",
6
6
  "directories": {
@@ -1,7 +1,16 @@
1
1
  import { AmendmentTypeID, FormTypeID, is_amendment_type_id, is_form_type_id, is_long_form_type_id, LongFormTypeID } from "./FormTypeID"
2
2
 
3
+ export const form_version_ids = ["8.1", "8.2", "8.3", "8.4", "8.5"] as const
4
+
5
+ export type FormVersionID = typeof form_version_ids[number]
6
+
7
+ export function is_form_version_id(form_version_id : any) : form_version_id is FormVersionID {
8
+ return form_version_ids.includes(form_version_id)
9
+ }
10
+
3
11
  export class FECFile {
4
12
  readonly fec_file_id : number
13
+ readonly form_version_id : FormVersionID
5
14
  readonly form_type_id : FormTypeID
6
15
  readonly amendment_type_id : AmendmentTypeID
7
16
  readonly long_form_type_id : LongFormTypeID
@@ -13,6 +22,7 @@ export class FECFile {
13
22
  throw Error("Invalid input.")
14
23
  }
15
24
  this.fec_file_id = fec_file.fec_file_id
25
+ this.form_version_id = fec_file.form_version_id
16
26
  this.form_type_id = fec_file.form_type_id
17
27
  this.amendment_type_id = fec_file.amendment_type_id
18
28
  this.long_form_type_id = fec_file.long_form_type_id
@@ -23,6 +33,7 @@ export class FECFile {
23
33
  return (
24
34
  fec_file !== undefined &&
25
35
  typeof fec_file.fec_file_id === "number" &&
36
+ is_form_version_id(fec_file.form_version_id) &&
26
37
  is_form_type_id(fec_file.form_type_id) &&
27
38
  is_amendment_type_id(fec_file.amendment_type_id) &&
28
39
  is_long_form_type_id(fec_file.long_form_type_id) &&