triage-types 1.0.0 → 1.0.2

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,4 +1,5 @@
1
1
  import { StateID } from "../State.js";
2
+ import { ARStatePermitAux } from "./ARStatePermit.js";
2
3
  export declare class ARStateFacility {
3
4
  readonly state_facility_id: string;
4
5
  readonly state_id: StateID;
@@ -6,6 +7,11 @@ export declare class ARStateFacility {
6
7
  readonly name: string;
7
8
  readonly active: boolean;
8
9
  readonly type_id: string;
9
- constructor(ar_state_facility: any);
10
- static is(ar_state_facility: any): ar_state_facility is ARStateFacility;
10
+ constructor(state_facility: ARStateFacility);
11
+ static is(state_facility: any): state_facility is ARStateFacility;
12
+ }
13
+ export declare class ARStateFacilityAux extends ARStateFacility {
14
+ readonly state_permits: ARStatePermitAux[];
15
+ constructor(state_facility: ARStateFacilityAux);
16
+ static is(state_facility: any): state_facility is ARStateFacilityAux;
11
17
  }
@@ -1,4 +1,5 @@
1
1
  import { is_state_id } from "../State.js";
2
+ import { ARStatePermitAux } from "./ARStatePermit.js";
2
3
  export class ARStateFacility {
3
4
  state_facility_id;
4
5
  state_id;
@@ -6,24 +7,39 @@ export class ARStateFacility {
6
7
  name;
7
8
  active;
8
9
  type_id;
9
- constructor(ar_state_facility) {
10
- if (!ARStateFacility.is(ar_state_facility)) {
10
+ constructor(state_facility) {
11
+ if (!ARStateFacility.is(state_facility)) {
11
12
  throw Error("Invalid input.");
12
13
  }
13
- this.state_facility_id = ar_state_facility.state_facility_id;
14
- this.state_id = ar_state_facility.state_id;
15
- this.facility_id = ar_state_facility.facility_id;
16
- this.name = ar_state_facility.name;
17
- this.active = ar_state_facility.active;
18
- this.type_id = ar_state_facility.type_id;
14
+ this.state_facility_id = state_facility.state_facility_id;
15
+ this.state_id = state_facility.state_id;
16
+ this.facility_id = state_facility.facility_id;
17
+ this.name = state_facility.name;
18
+ this.active = state_facility.active;
19
+ this.type_id = state_facility.type_id;
19
20
  }
20
- static is(ar_state_facility) {
21
- return (ar_state_facility !== undefined &&
22
- is_state_id(ar_state_facility.state_id) &&
23
- typeof ar_state_facility.state_facility_id === "string" &&
24
- typeof ar_state_facility.facility_id === "string" &&
25
- typeof ar_state_facility.name === "string" &&
26
- typeof ar_state_facility.active === "boolean" &&
27
- typeof ar_state_facility.type_id === "string");
21
+ static is(state_facility) {
22
+ return (state_facility !== undefined &&
23
+ is_state_id(state_facility.state_id) &&
24
+ typeof state_facility.state_facility_id === "string" &&
25
+ typeof state_facility.facility_id === "string" &&
26
+ typeof state_facility.name === "string" &&
27
+ typeof state_facility.active === "boolean" &&
28
+ typeof state_facility.type_id === "string");
29
+ }
30
+ }
31
+ export class ARStateFacilityAux extends ARStateFacility {
32
+ state_permits;
33
+ constructor(state_facility) {
34
+ if (!ARStateFacilityAux.is(state_facility)) {
35
+ throw Error("Invalid input.");
36
+ }
37
+ super(state_facility);
38
+ this.state_permits = state_facility.state_permits.map(state_permit => new ARStatePermitAux(state_permit));
39
+ }
40
+ static is(state_facility) {
41
+ return (ARStateFacilityAux.is(state_facility) &&
42
+ Array.isArray(state_facility.state_permits) &&
43
+ state_facility.state_permits.every(ARStatePermitAux.is));
28
44
  }
29
45
  }
@@ -1,4 +1,6 @@
1
1
  import { StateID } from "../State.js";
2
+ import { ARStateFacility } from "./ARStateFacility.js";
3
+ import { ARStatePermitSourceAux } from "./ARStatePermitSource.js";
2
4
  export declare class ARStatePermit {
3
5
  readonly state_permit_id: string;
4
6
  readonly state_id: StateID;
@@ -13,6 +15,13 @@ export declare class ARStatePermit {
13
15
  readonly s3_filename?: string;
14
16
  readonly s3_text_filename?: string;
15
17
  readonly source_ids?: string[];
16
- constructor(ar_state_permit: any);
17
- static is(ar_state_permit: any): ar_state_permit is ARStatePermit;
18
+ constructor(state_permit: ARStatePermit);
19
+ static is(state_permit: any): state_permit is ARStatePermit;
20
+ }
21
+ export declare class ARStatePermitAux extends ARStatePermit {
22
+ readonly state_facility: ARStateFacility;
23
+ readonly state_permit_sources: ARStatePermitSourceAux[];
24
+ readonly s3_url?: string;
25
+ constructor(state_permit: ARStatePermitAux);
26
+ static is(state_permit: any): state_permit is ARStatePermitAux;
18
27
  }
@@ -1,5 +1,7 @@
1
1
  // import { StateRegisterDocument } from "src/types/StatePermit"
2
2
  import { is_state_id } from "../State.js";
3
+ import { ARStateFacility } from "./ARStateFacility.js";
4
+ import { ARStatePermitSourceAux } from "./ARStatePermitSource.js";
3
5
  // export class NYStateRegisterDocument extends StateRegisterDocument {
4
6
  // readonly state_id : "NY"
5
7
  // constructor(ny_state_register_document : any) {
@@ -30,38 +32,59 @@ export class ARStatePermit {
30
32
  s3_filename;
31
33
  s3_text_filename;
32
34
  source_ids;
33
- constructor(ar_state_permit) {
34
- if (!ARStatePermit.is(ar_state_permit)) {
35
+ constructor(state_permit) {
36
+ if (!ARStatePermit.is(state_permit)) {
35
37
  throw Error("Invalid input.");
36
38
  }
37
- this.state_permit_id = ar_state_permit.state_permit_id;
38
- this.state_id = ar_state_permit.state_id;
39
- this.permit_id = ar_state_permit.permit_id;
40
- this.state_facility_id = ar_state_permit.state_facility_id;
41
- this.issue_date = ar_state_permit.issue_date;
42
- this.expiration_date = ar_state_permit.expiration_date;
43
- this.void_date = ar_state_permit.void_date;
44
- this.status = ar_state_permit.status;
45
- this.media = ar_state_permit.media;
46
- this.type = ar_state_permit.type;
47
- this.s3_filename = ar_state_permit.s3_filename;
48
- this.s3_text_filename = ar_state_permit.s3_text_filename;
49
- this.source_ids = ar_state_permit.source_ids;
39
+ this.state_permit_id = state_permit.state_permit_id;
40
+ this.state_id = state_permit.state_id;
41
+ this.permit_id = state_permit.permit_id;
42
+ this.state_facility_id = state_permit.state_facility_id;
43
+ this.issue_date = state_permit.issue_date;
44
+ this.expiration_date = state_permit.expiration_date;
45
+ this.void_date = state_permit.void_date;
46
+ this.status = state_permit.status;
47
+ this.media = state_permit.media;
48
+ this.type = state_permit.type;
49
+ this.s3_filename = state_permit.s3_filename;
50
+ this.s3_text_filename = state_permit.s3_text_filename;
51
+ this.source_ids = state_permit.source_ids;
50
52
  }
51
- static is(ar_state_permit) {
52
- return (ar_state_permit !== undefined &&
53
- typeof ar_state_permit.state_permit_id === "string" &&
54
- is_state_id(ar_state_permit.state_id) &&
55
- typeof ar_state_permit.permit_id === "string" &&
56
- typeof ar_state_permit.state_facility_id === "string" &&
57
- (ar_state_permit.issue_date === undefined || typeof ar_state_permit.issue_date === "string") &&
58
- (ar_state_permit.expiration_date === undefined || typeof ar_state_permit.expiration_date === "string") &&
59
- (ar_state_permit.void_date === undefined || typeof ar_state_permit.void_date === "string") &&
60
- (ar_state_permit.status === undefined || typeof ar_state_permit.status === "string") &&
61
- (ar_state_permit.media === undefined || typeof ar_state_permit.media === "string") &&
62
- (ar_state_permit.type === undefined || typeof ar_state_permit.type === "string") &&
63
- (ar_state_permit.s3_filename === undefined || typeof ar_state_permit.s3_filename === "string") &&
64
- (ar_state_permit.s3_text_filename === undefined || typeof ar_state_permit.s3_text_filename === "string") &&
65
- (ar_state_permit.source_ids === undefined || Array.isArray(ar_state_permit.source_ids) && ar_state_permit.source_ids.map((source_id) => typeof source_id === "string")));
53
+ static is(state_permit) {
54
+ return (state_permit !== undefined &&
55
+ typeof state_permit.state_permit_id === "string" &&
56
+ is_state_id(state_permit.state_id) &&
57
+ typeof state_permit.permit_id === "string" &&
58
+ typeof state_permit.state_facility_id === "string" &&
59
+ (state_permit.issue_date === undefined || typeof state_permit.issue_date === "string") &&
60
+ (state_permit.expiration_date === undefined || typeof state_permit.expiration_date === "string") &&
61
+ (state_permit.void_date === undefined || typeof state_permit.void_date === "string") &&
62
+ (state_permit.status === undefined || typeof state_permit.status === "string") &&
63
+ (state_permit.media === undefined || typeof state_permit.media === "string") &&
64
+ (state_permit.type === undefined || typeof state_permit.type === "string") &&
65
+ (state_permit.s3_filename === undefined || typeof state_permit.s3_filename === "string") &&
66
+ (state_permit.s3_text_filename === undefined || typeof state_permit.s3_text_filename === "string") &&
67
+ (state_permit.source_ids === undefined || Array.isArray(state_permit.source_ids) && state_permit.source_ids.map((source_id) => typeof source_id === "string")));
68
+ }
69
+ }
70
+ export class ARStatePermitAux extends ARStatePermit {
71
+ state_facility;
72
+ state_permit_sources;
73
+ s3_url;
74
+ constructor(state_permit) {
75
+ if (!ARStatePermitAux.is(state_permit)) {
76
+ throw Error("Invalid input.");
77
+ }
78
+ super(state_permit);
79
+ this.state_facility = new ARStateFacility(state_permit.state_facility);
80
+ this.state_permit_sources = state_permit.state_permit_sources.map(state_permit_source => new ARStatePermitSourceAux(state_permit_source));
81
+ this.s3_url = state_permit.s3_url;
82
+ }
83
+ static is(state_permit) {
84
+ return (ARStatePermitAux.is(state_permit) &&
85
+ ARStateFacility.is(state_permit.state_facility) &&
86
+ Array.isArray(state_permit.state_permit_sources) &&
87
+ state_permit.state_permit_sources.every(ARStatePermitSourceAux.is) &&
88
+ (state_permit.s3_url === undefined || typeof state_permit.s3_url === "string"));
66
89
  }
67
90
  }
@@ -1,4 +1,5 @@
1
1
  import { StateID } from "../State.js";
2
+ import { ARStatePermitSourcePollutant } from "./ARStatePermitSourcePollutant.js";
2
3
  export declare class ARStatePermitSource {
3
4
  readonly state_permit_source_id: string;
4
5
  readonly state_id: StateID;
@@ -8,6 +9,11 @@ export declare class ARStatePermitSource {
8
9
  readonly description?: string;
9
10
  readonly is_rice?: string;
10
11
  readonly pollutant_ids?: string[];
11
- constructor(ar_state_permit_source: ARStatePermitSource);
12
- static is(ar_state_permit_source: any): ar_state_permit_source is ARStatePermitSource;
12
+ constructor(state_permit_source: ARStatePermitSource);
13
+ static is(state_permit_source: any): state_permit_source is ARStatePermitSource;
14
+ }
15
+ export declare class ARStatePermitSourceAux extends ARStatePermitSource {
16
+ readonly state_permit_source_pollutants: ARStatePermitSourcePollutant[];
17
+ constructor(state_permit_source: ARStatePermitSourceAux);
18
+ static is(state_permit_source: any): state_permit_source is ARStatePermitSourceAux;
13
19
  }
@@ -1,4 +1,5 @@
1
1
  import { is_state_id } from "../State.js";
2
+ import { ARStatePermitSourcePollutant } from "./ARStatePermitSourcePollutant.js";
2
3
  export class ARStatePermitSource {
3
4
  state_permit_source_id;
4
5
  state_id;
@@ -10,33 +11,48 @@ export class ARStatePermitSource {
10
11
  pollutant_ids;
11
12
  // readonly pollutants? : string[]
12
13
  // readonly pollutant_limits? : any[]
13
- constructor(ar_state_permit_source) {
14
- if (!ARStatePermitSource.is(ar_state_permit_source)) {
14
+ constructor(state_permit_source) {
15
+ if (!ARStatePermitSource.is(state_permit_source)) {
15
16
  throw Error("Invalid input.");
16
17
  }
17
- this.state_permit_source_id = ar_state_permit_source.state_permit_source_id;
18
- this.state_id = ar_state_permit_source.state_id;
19
- this.state_permit_id = ar_state_permit_source.state_permit_id;
20
- this.source_id = ar_state_permit_source.source_id;
21
- this.page_nums = ar_state_permit_source.page_nums;
22
- this.description = ar_state_permit_source.description;
23
- this.is_rice = ar_state_permit_source.is_rice;
24
- this.pollutant_ids = ar_state_permit_source.pollutant_ids;
25
- // this.pollutants = ar_state_permit_source.pollutants
26
- // this.pollutant_limits = ar_state_permit_source.pollutant_limits
18
+ this.state_permit_source_id = state_permit_source.state_permit_source_id;
19
+ this.state_id = state_permit_source.state_id;
20
+ this.state_permit_id = state_permit_source.state_permit_id;
21
+ this.source_id = state_permit_source.source_id;
22
+ this.page_nums = state_permit_source.page_nums;
23
+ this.description = state_permit_source.description;
24
+ this.is_rice = state_permit_source.is_rice;
25
+ this.pollutant_ids = state_permit_source.pollutant_ids;
26
+ // this.pollutants = state_permit_source.pollutants
27
+ // this.pollutant_limits = state_permit_source.pollutant_limits
27
28
  }
28
- static is(ar_state_permit_source) {
29
- return (ar_state_permit_source !== undefined &&
30
- typeof ar_state_permit_source.state_permit_source_id === "string" &&
31
- is_state_id(ar_state_permit_source.state_id) &&
32
- typeof ar_state_permit_source.state_permit_id === "string" &&
33
- typeof ar_state_permit_source.source_id === "string" &&
34
- Array.isArray(ar_state_permit_source.page_nums) && ar_state_permit_source.page_nums.every((page_num) => typeof page_num === "number") &&
35
- (ar_state_permit_source.description === undefined || typeof ar_state_permit_source.description === "string") &&
36
- (ar_state_permit_source.is_rice === undefined || typeof ar_state_permit_source.is_rice === "string") &&
37
- (ar_state_permit_source.pollutant_ids === undefined || Array.isArray(ar_state_permit_source.pollutant_ids) && ar_state_permit_source.pollutant_ids.every((pollutant_id) => typeof pollutant_id === "string")) // &&
38
- // (ar_state_permit_source.pollutants === undefined || Array.isArray(ar_state_permit_source.pollutants) && ar_state_permit_source.pollutants.every((pollutant : any) => typeof pollutant === "string"))&&
39
- // (ar_state_permit_source.pollutant_limits === undefined || Array.isArray(ar_state_permit_source.pollutant_limits))
29
+ static is(state_permit_source) {
30
+ return (state_permit_source !== undefined &&
31
+ typeof state_permit_source.state_permit_source_id === "string" &&
32
+ is_state_id(state_permit_source.state_id) &&
33
+ typeof state_permit_source.state_permit_id === "string" &&
34
+ typeof state_permit_source.source_id === "string" &&
35
+ Array.isArray(state_permit_source.page_nums) && state_permit_source.page_nums.every((page_num) => typeof page_num === "number") &&
36
+ (state_permit_source.description === undefined || typeof state_permit_source.description === "string") &&
37
+ (state_permit_source.is_rice === undefined || typeof state_permit_source.is_rice === "string") &&
38
+ (state_permit_source.pollutant_ids === undefined || Array.isArray(state_permit_source.pollutant_ids) && state_permit_source.pollutant_ids.every((pollutant_id) => typeof pollutant_id === "string")) // &&
39
+ // (state_permit_source.pollutants === undefined || Array.isArray(state_permit_source.pollutants) && state_permit_source.pollutants.every((pollutant : any) => typeof pollutant === "string"))&&
40
+ // (state_permit_source.pollutant_limits === undefined || Array.isArray(state_permit_source.pollutant_limits))
40
41
  );
41
42
  }
42
43
  }
44
+ export class ARStatePermitSourceAux extends ARStatePermitSource {
45
+ state_permit_source_pollutants;
46
+ constructor(state_permit_source) {
47
+ if (!ARStatePermitSourceAux.is(state_permit_source)) {
48
+ throw Error("Invalid input.");
49
+ }
50
+ super(state_permit_source);
51
+ this.state_permit_source_pollutants = state_permit_source.state_permit_source_pollutants.map(state_permit_source_pollutant => new ARStatePermitSourcePollutant(state_permit_source_pollutant));
52
+ }
53
+ static is(state_permit_source) {
54
+ return (ARStatePermitSourceAux.is(state_permit_source) &&
55
+ Array.isArray(state_permit_source.state_permit_source_pollutants) &&
56
+ state_permit_source.state_permit_source_pollutants.every(ARStatePermitSourcePollutant.is));
57
+ }
58
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "triage-types",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "main": "dist/src/index.js",
5
5
  "types": "dist/src/index.d.ts",
6
6
  "directories": {
@@ -1,4 +1,5 @@
1
1
  import { is_state_id, StateID } from "../State"
2
+ import { ARStatePermitAux } from "./ARStatePermit"
2
3
 
3
4
  export class ARStateFacility {
4
5
  readonly state_facility_id : string
@@ -8,27 +9,47 @@ export class ARStateFacility {
8
9
  readonly active : boolean
9
10
  readonly type_id : string
10
11
 
11
- constructor(ar_state_facility : any) {
12
- if (!ARStateFacility.is(ar_state_facility)) {
12
+ constructor(state_facility : ARStateFacility) {
13
+ if (!ARStateFacility.is(state_facility)) {
13
14
  throw Error("Invalid input.")
14
15
  }
15
- this.state_facility_id = ar_state_facility.state_facility_id
16
- this.state_id = ar_state_facility.state_id
17
- this.facility_id = ar_state_facility.facility_id
18
- this.name = ar_state_facility.name
19
- this.active = ar_state_facility.active
20
- this.type_id = ar_state_facility.type_id
16
+ this.state_facility_id = state_facility.state_facility_id
17
+ this.state_id = state_facility.state_id
18
+ this.facility_id = state_facility.facility_id
19
+ this.name = state_facility.name
20
+ this.active = state_facility.active
21
+ this.type_id = state_facility.type_id
21
22
  }
22
23
 
23
- static is(ar_state_facility : any) : ar_state_facility is ARStateFacility {
24
+ static is(state_facility : any) : state_facility is ARStateFacility {
24
25
  return (
25
- ar_state_facility !== undefined &&
26
- is_state_id(ar_state_facility.state_id) &&
27
- typeof ar_state_facility.state_facility_id === "string" &&
28
- typeof ar_state_facility.facility_id === "string" &&
29
- typeof ar_state_facility.name === "string" &&
30
- typeof ar_state_facility.active === "boolean" &&
31
- typeof ar_state_facility.type_id === "string"
26
+ state_facility !== undefined &&
27
+ is_state_id(state_facility.state_id) &&
28
+ typeof state_facility.state_facility_id === "string" &&
29
+ typeof state_facility.facility_id === "string" &&
30
+ typeof state_facility.name === "string" &&
31
+ typeof state_facility.active === "boolean" &&
32
+ typeof state_facility.type_id === "string"
33
+ )
34
+ }
35
+ }
36
+
37
+ export class ARStateFacilityAux extends ARStateFacility {
38
+ readonly state_permits : ARStatePermitAux[]
39
+
40
+ constructor(state_facility : ARStateFacilityAux) {
41
+ if (!ARStateFacilityAux.is(state_facility)) {
42
+ throw Error("Invalid input.")
43
+ }
44
+ super(state_facility)
45
+ this.state_permits = state_facility.state_permits.map(state_permit => new ARStatePermitAux(state_permit))
46
+ }
47
+
48
+ static is(state_facility : any) : state_facility is ARStateFacilityAux {
49
+ return (
50
+ ARStateFacilityAux.is(state_facility) &&
51
+ Array.isArray(state_facility.state_permits) &&
52
+ state_facility.state_permits.every(ARStatePermitAux.is)
32
53
  )
33
54
  }
34
55
  }
@@ -1,6 +1,8 @@
1
1
  // import { StateRegisterDocument } from "src/types/StatePermit"
2
2
 
3
3
  import { is_state_id, StateID } from "../State"
4
+ import { ARStateFacility } from "./ARStateFacility"
5
+ import { ARStatePermitSourceAux } from "./ARStatePermitSource"
4
6
 
5
7
  // export class NYStateRegisterDocument extends StateRegisterDocument {
6
8
  // readonly state_id : "NY"
@@ -36,41 +38,67 @@ export class ARStatePermit {
36
38
  readonly s3_text_filename? : string
37
39
  readonly source_ids? : string[]
38
40
 
39
- constructor(ar_state_permit : any) {
40
- if (!ARStatePermit.is(ar_state_permit)) {
41
+ constructor(state_permit : ARStatePermit) {
42
+ if (!ARStatePermit.is(state_permit)) {
41
43
  throw Error("Invalid input.")
42
44
  }
43
- this.state_permit_id = ar_state_permit.state_permit_id
44
- this.state_id = ar_state_permit.state_id
45
- this.permit_id = ar_state_permit.permit_id
46
- this.state_facility_id = ar_state_permit.state_facility_id
47
- this.issue_date = ar_state_permit.issue_date
48
- this.expiration_date = ar_state_permit.expiration_date
49
- this.void_date = ar_state_permit.void_date
50
- this.status = ar_state_permit.status
51
- this.media = ar_state_permit.media
52
- this.type = ar_state_permit.type
53
- this.s3_filename = ar_state_permit.s3_filename
54
- this.s3_text_filename = ar_state_permit.s3_text_filename
55
- this.source_ids = ar_state_permit.source_ids
45
+ this.state_permit_id = state_permit.state_permit_id
46
+ this.state_id = state_permit.state_id
47
+ this.permit_id = state_permit.permit_id
48
+ this.state_facility_id = state_permit.state_facility_id
49
+ this.issue_date = state_permit.issue_date
50
+ this.expiration_date = state_permit.expiration_date
51
+ this.void_date = state_permit.void_date
52
+ this.status = state_permit.status
53
+ this.media = state_permit.media
54
+ this.type = state_permit.type
55
+ this.s3_filename = state_permit.s3_filename
56
+ this.s3_text_filename = state_permit.s3_text_filename
57
+ this.source_ids = state_permit.source_ids
56
58
  }
57
59
 
58
- static is(ar_state_permit : any) : ar_state_permit is ARStatePermit {
60
+ static is(state_permit : any) : state_permit is ARStatePermit {
59
61
  return (
60
- ar_state_permit !== undefined &&
61
- typeof ar_state_permit.state_permit_id === "string" &&
62
- is_state_id(ar_state_permit.state_id) &&
63
- typeof ar_state_permit.permit_id === "string" &&
64
- typeof ar_state_permit.state_facility_id === "string" &&
65
- (ar_state_permit.issue_date === undefined || typeof ar_state_permit.issue_date === "string") &&
66
- (ar_state_permit.expiration_date === undefined || typeof ar_state_permit.expiration_date === "string") &&
67
- (ar_state_permit.void_date === undefined || typeof ar_state_permit.void_date === "string") &&
68
- (ar_state_permit.status === undefined || typeof ar_state_permit.status === "string") &&
69
- (ar_state_permit.media === undefined || typeof ar_state_permit.media === "string") &&
70
- (ar_state_permit.type === undefined || typeof ar_state_permit.type === "string") &&
71
- (ar_state_permit.s3_filename === undefined || typeof ar_state_permit.s3_filename === "string") &&
72
- (ar_state_permit.s3_text_filename === undefined || typeof ar_state_permit.s3_text_filename === "string") &&
73
- (ar_state_permit.source_ids === undefined || Array.isArray(ar_state_permit.source_ids) && ar_state_permit.source_ids.map((source_id : any) => typeof source_id === "string"))
62
+ state_permit !== undefined &&
63
+ typeof state_permit.state_permit_id === "string" &&
64
+ is_state_id(state_permit.state_id) &&
65
+ typeof state_permit.permit_id === "string" &&
66
+ typeof state_permit.state_facility_id === "string" &&
67
+ (state_permit.issue_date === undefined || typeof state_permit.issue_date === "string") &&
68
+ (state_permit.expiration_date === undefined || typeof state_permit.expiration_date === "string") &&
69
+ (state_permit.void_date === undefined || typeof state_permit.void_date === "string") &&
70
+ (state_permit.status === undefined || typeof state_permit.status === "string") &&
71
+ (state_permit.media === undefined || typeof state_permit.media === "string") &&
72
+ (state_permit.type === undefined || typeof state_permit.type === "string") &&
73
+ (state_permit.s3_filename === undefined || typeof state_permit.s3_filename === "string") &&
74
+ (state_permit.s3_text_filename === undefined || typeof state_permit.s3_text_filename === "string") &&
75
+ (state_permit.source_ids === undefined || Array.isArray(state_permit.source_ids) && state_permit.source_ids.map((source_id : any) => typeof source_id === "string"))
76
+ )
77
+ }
78
+ }
79
+
80
+ export class ARStatePermitAux extends ARStatePermit {
81
+ readonly state_facility : ARStateFacility
82
+ readonly state_permit_sources : ARStatePermitSourceAux[]
83
+ readonly s3_url? : string
84
+
85
+ constructor(state_permit : ARStatePermitAux) {
86
+ if (!ARStatePermitAux.is(state_permit)) {
87
+ throw Error("Invalid input.")
88
+ }
89
+ super(state_permit)
90
+ this.state_facility = new ARStateFacility(state_permit.state_facility)
91
+ this.state_permit_sources = state_permit.state_permit_sources.map(state_permit_source => new ARStatePermitSourceAux(state_permit_source))
92
+ this.s3_url = state_permit.s3_url
93
+ }
94
+
95
+ static is(state_permit : any) : state_permit is ARStatePermitAux {
96
+ return (
97
+ ARStatePermitAux.is(state_permit) &&
98
+ ARStateFacility.is(state_permit.state_facility) &&
99
+ Array.isArray(state_permit.state_permit_sources) &&
100
+ state_permit.state_permit_sources.every(ARStatePermitSourceAux.is) &&
101
+ (state_permit.s3_url === undefined || typeof state_permit.s3_url === "string")
74
102
  )
75
103
  }
76
104
  }
@@ -1,4 +1,5 @@
1
1
  import { is_state_id, StateID } from "../State"
2
+ import { ARStatePermitSourcePollutant } from "./ARStatePermitSourcePollutant"
2
3
 
3
4
  export class ARStatePermitSource {
4
5
  readonly state_permit_source_id : string
@@ -12,35 +13,55 @@ export class ARStatePermitSource {
12
13
  // readonly pollutants? : string[]
13
14
  // readonly pollutant_limits? : any[]
14
15
 
15
- constructor(ar_state_permit_source : ARStatePermitSource) {
16
- if (!ARStatePermitSource.is(ar_state_permit_source)) {
16
+ constructor(state_permit_source : ARStatePermitSource) {
17
+ if (!ARStatePermitSource.is(state_permit_source)) {
17
18
  throw Error("Invalid input.")
18
19
  }
19
- this.state_permit_source_id = ar_state_permit_source.state_permit_source_id
20
- this.state_id = ar_state_permit_source.state_id
21
- this.state_permit_id = ar_state_permit_source.state_permit_id
22
- this.source_id = ar_state_permit_source.source_id
23
- this.page_nums = ar_state_permit_source.page_nums
24
- this.description = ar_state_permit_source.description
25
- this.is_rice = ar_state_permit_source.is_rice
26
- this.pollutant_ids = ar_state_permit_source.pollutant_ids
27
- // this.pollutants = ar_state_permit_source.pollutants
28
- // this.pollutant_limits = ar_state_permit_source.pollutant_limits
20
+ this.state_permit_source_id = state_permit_source.state_permit_source_id
21
+ this.state_id = state_permit_source.state_id
22
+ this.state_permit_id = state_permit_source.state_permit_id
23
+ this.source_id = state_permit_source.source_id
24
+ this.page_nums = state_permit_source.page_nums
25
+ this.description = state_permit_source.description
26
+ this.is_rice = state_permit_source.is_rice
27
+ this.pollutant_ids = state_permit_source.pollutant_ids
28
+ // this.pollutants = state_permit_source.pollutants
29
+ // this.pollutant_limits = state_permit_source.pollutant_limits
29
30
  }
30
31
 
31
- static is(ar_state_permit_source : any) : ar_state_permit_source is ARStatePermitSource {
32
+ static is(state_permit_source : any) : state_permit_source is ARStatePermitSource {
32
33
  return (
33
- ar_state_permit_source !== undefined &&
34
- typeof ar_state_permit_source.state_permit_source_id === "string" &&
35
- is_state_id(ar_state_permit_source.state_id) &&
36
- typeof ar_state_permit_source.state_permit_id === "string" &&
37
- typeof ar_state_permit_source.source_id === "string" &&
38
- Array.isArray(ar_state_permit_source.page_nums) && ar_state_permit_source.page_nums.every((page_num : any) => typeof page_num === "number") &&
39
- (ar_state_permit_source.description === undefined || typeof ar_state_permit_source.description === "string") &&
40
- (ar_state_permit_source.is_rice === undefined || typeof ar_state_permit_source.is_rice === "string") &&
41
- (ar_state_permit_source.pollutant_ids === undefined || Array.isArray(ar_state_permit_source.pollutant_ids) && ar_state_permit_source.pollutant_ids.every((pollutant_id : any) => typeof pollutant_id === "string"))// &&
42
- // (ar_state_permit_source.pollutants === undefined || Array.isArray(ar_state_permit_source.pollutants) && ar_state_permit_source.pollutants.every((pollutant : any) => typeof pollutant === "string"))&&
43
- // (ar_state_permit_source.pollutant_limits === undefined || Array.isArray(ar_state_permit_source.pollutant_limits))
34
+ state_permit_source !== undefined &&
35
+ typeof state_permit_source.state_permit_source_id === "string" &&
36
+ is_state_id(state_permit_source.state_id) &&
37
+ typeof state_permit_source.state_permit_id === "string" &&
38
+ typeof state_permit_source.source_id === "string" &&
39
+ Array.isArray(state_permit_source.page_nums) && state_permit_source.page_nums.every((page_num : any) => typeof page_num === "number") &&
40
+ (state_permit_source.description === undefined || typeof state_permit_source.description === "string") &&
41
+ (state_permit_source.is_rice === undefined || typeof state_permit_source.is_rice === "string") &&
42
+ (state_permit_source.pollutant_ids === undefined || Array.isArray(state_permit_source.pollutant_ids) && state_permit_source.pollutant_ids.every((pollutant_id : any) => typeof pollutant_id === "string"))// &&
43
+ // (state_permit_source.pollutants === undefined || Array.isArray(state_permit_source.pollutants) && state_permit_source.pollutants.every((pollutant : any) => typeof pollutant === "string"))&&
44
+ // (state_permit_source.pollutant_limits === undefined || Array.isArray(state_permit_source.pollutant_limits))
45
+ )
46
+ }
47
+ }
48
+
49
+ export class ARStatePermitSourceAux extends ARStatePermitSource {
50
+ readonly state_permit_source_pollutants : ARStatePermitSourcePollutant[]
51
+
52
+ constructor(state_permit_source : ARStatePermitSourceAux) {
53
+ if (!ARStatePermitSourceAux.is(state_permit_source)) {
54
+ throw Error("Invalid input.")
55
+ }
56
+ super(state_permit_source)
57
+ this.state_permit_source_pollutants = state_permit_source.state_permit_source_pollutants.map(state_permit_source_pollutant => new ARStatePermitSourcePollutant(state_permit_source_pollutant))
58
+ }
59
+
60
+ static is(state_permit_source : any) : state_permit_source is ARStatePermitSourceAux {
61
+ return (
62
+ ARStatePermitSourceAux.is(state_permit_source) &&
63
+ Array.isArray(state_permit_source.state_permit_source_pollutants) &&
64
+ state_permit_source.state_permit_source_pollutants.every(ARStatePermitSourcePollutant.is)
44
65
  )
45
66
  }
46
67
  }