triage-types 1.0.45 → 1.0.46

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 (46) hide show
  1. package/dist/src/index.d.ts +4 -0
  2. package/dist/src/index.js +4 -0
  3. package/dist/src/types/state_permits/AR/ARStateFacility.d.ts +3 -15
  4. package/dist/src/types/state_permits/AR/ARStateFacility.js +5 -38
  5. package/dist/src/types/state_permits/AR/ARStatePermit.d.ts +3 -22
  6. package/dist/src/types/state_permits/AR/ARStatePermit.js +6 -59
  7. package/dist/src/types/state_permits/AR/ARStatePermitSource.d.ts +5 -21
  8. package/dist/src/types/state_permits/AR/ARStatePermitSource.js +5 -45
  9. package/dist/src/types/state_permits/AR/ARStatePermitSourcePollutant.d.ts +3 -7
  10. package/dist/src/types/state_permits/AR/ARStatePermitSourcePollutant.js +5 -16
  11. package/dist/src/types/state_permits/KY/KYStateFacility.d.ts +3 -10
  12. package/dist/src/types/state_permits/KY/KYStateFacility.js +5 -25
  13. package/dist/src/types/state_permits/KY/KYStatePermit.d.ts +3 -12
  14. package/dist/src/types/state_permits/KY/KYStatePermit.js +6 -41
  15. package/dist/src/types/state_permits/NC/NCStateFacility.d.ts +3 -9
  16. package/dist/src/types/state_permits/NC/NCStateFacility.js +6 -23
  17. package/dist/src/types/state_permits/NC/NCStatePermit.d.ts +3 -14
  18. package/dist/src/types/state_permits/NC/NCStatePermit.js +6 -38
  19. package/dist/src/types/state_permits/StateFacility.d.ts +20 -0
  20. package/dist/src/types/state_permits/StateFacility.js +49 -0
  21. package/dist/src/types/state_permits/StatePermit.d.ts +26 -0
  22. package/dist/src/types/state_permits/StatePermit.js +67 -0
  23. package/dist/src/types/state_permits/StatePermitSource.d.ts +20 -0
  24. package/dist/src/types/state_permits/StatePermitSource.js +49 -0
  25. package/dist/src/types/state_permits/StatePermitSourcePollutant.d.ts +11 -0
  26. package/dist/src/types/state_permits/StatePermitSourcePollutant.js +26 -0
  27. package/dist/src/types/state_permits/TN/TNStateFacility.d.ts +3 -8
  28. package/dist/src/types/state_permits/TN/TNStateFacility.js +5 -19
  29. package/dist/src/types/state_permits/TN/TNStatePermit.d.ts +3 -14
  30. package/dist/src/types/state_permits/TN/TNStatePermit.js +6 -38
  31. package/package.json +1 -1
  32. package/src/index.ts +5 -0
  33. package/src/types/state_permits/AR/ARStateFacility.ts +6 -44
  34. package/src/types/state_permits/AR/ARStatePermit.ts +7 -66
  35. package/src/types/state_permits/AR/ARStatePermitSource.ts +8 -53
  36. package/src/types/state_permits/AR/ARStatePermitSourcePollutant.ts +6 -16
  37. package/src/types/state_permits/KY/KYStateFacility.ts +6 -25
  38. package/src/types/state_permits/KY/KYStatePermit.ts +7 -41
  39. package/src/types/state_permits/NC/NCStateFacility.ts +7 -23
  40. package/src/types/state_permits/NC/NCStatePermit.ts +7 -38
  41. package/src/types/state_permits/StateFacility.ts +60 -0
  42. package/src/types/state_permits/StatePermit.ts +79 -0
  43. package/src/types/state_permits/StatePermitSource.ts +60 -0
  44. package/src/types/state_permits/StatePermitSourcePollutant.ts +32 -0
  45. package/src/types/state_permits/TN/TNStateFacility.ts +6 -19
  46. package/src/types/state_permits/TN/TNStatePermit.ts +7 -38
@@ -1,47 +1,28 @@
1
- import { is_state_id, StateID } from "../../State"
2
- import { ARStatePermit, ARStatePermitAux } from "./ARStatePermit"
3
- import { ARStatePermitSourcePollutant } from "./ARStatePermitSourcePollutant"
1
+ import { StatePermitSource } from "../StatePermitSource"
4
2
 
5
- export class ARStatePermitSource {
6
- readonly state_permit_source_id : string
7
- readonly state_id : StateID
8
- readonly state_permit_id : string
9
- readonly source_id : string
10
- readonly type_id : string
11
- readonly pollutant_ids? : string[]
3
+ export class ARStatePermitSource extends StatePermitSource {
4
+ readonly state_id : "AR"
12
5
  readonly [x : string] : any
13
6
 
14
7
  constructor(state_permit_source : ARStatePermitSource) {
15
8
  if (!ARStatePermitSource.is(state_permit_source)) {
16
9
  throw Error("Invalid input.")
17
10
  }
18
- this.state_permit_source_id = state_permit_source.state_permit_source_id
11
+ super(state_permit_source)
19
12
  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.type_id = state_permit_source.type_id
23
- this.pollutant_ids = state_permit_source.pollutant_ids
24
13
  }
25
14
 
26
15
  static is(state_permit_source : any) : state_permit_source is ARStatePermitSource {
27
16
  return (
28
- state_permit_source !== undefined &&
29
- typeof state_permit_source.state_permit_source_id === "string" &&
30
- is_state_id(state_permit_source.state_id) && state_permit_source.state_id === "AR" &&
31
- typeof state_permit_source.state_permit_id === "string" &&
32
- typeof state_permit_source.source_id === "string" &&
33
- typeof state_permit_source.type_id === "string" &&
34
- (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"))
17
+ StatePermitSource.is(state_permit_source) &&
18
+ state_permit_source.state_id === "AR"
35
19
  )
36
20
  }
37
21
  }
38
22
 
39
23
  export class ARStateWaterPermitSource extends ARStatePermitSource {
40
- readonly state_permit_source_id : string
41
- readonly state_id : StateID
42
- readonly state_permit_id : string
43
- readonly source_id : string
44
- readonly type_id : string
24
+ readonly state_id : "AR"
25
+ readonly type_id : "WATER-NPDES"
45
26
  readonly description? : string
46
27
  readonly stage? : string
47
28
  readonly freq_wet_pp? : string
@@ -54,10 +35,7 @@ export class ARStateWaterPermitSource extends ARStatePermitSource {
54
35
  throw Error("Invalid input.")
55
36
  }
56
37
  super(state_permit_source)
57
- this.state_permit_source_id = state_permit_source.state_permit_source_id
58
38
  this.state_id = state_permit_source.state_id
59
- this.state_permit_id = state_permit_source.state_permit_id
60
- this.source_id = state_permit_source.source_id
61
39
  this.type_id = state_permit_source.type_id
62
40
  this.description = state_permit_source.description
63
41
  this.stage = state_permit_source.stage
@@ -125,27 +103,4 @@ export class ARStateAirPermitSource extends ARStatePermitSource {
125
103
  (state_permit_source.local_state_permit_source_ids === undefined || Array.isArray(state_permit_source.local_state_permit_source_ids) && state_permit_source.local_state_permit_source_ids.every((local_state_permit_source_id : any) => typeof local_state_permit_source_id === "string"))
126
104
  )
127
105
  }
128
- }
129
-
130
- export class ARStatePermitSourceAux extends ARStatePermitSource {
131
- readonly state_permit : ARStatePermitAux
132
- readonly state_permit_source_pollutants : ARStatePermitSourcePollutant[]
133
-
134
- constructor(state_permit_source : ARStatePermitSourceAux) {
135
- if (!ARStatePermitSourceAux.is(state_permit_source)) {
136
- throw Error("Invalid input.")
137
- }
138
- super(state_permit_source)
139
- this.state_permit = state_permit_source.state_permit
140
- this.state_permit_source_pollutants = state_permit_source.state_permit_source_pollutants
141
- }
142
-
143
- static is(state_permit_source : any) : state_permit_source is ARStatePermitSourceAux {
144
- return (
145
- ARStatePermitSource.is(state_permit_source) &&
146
- ARStatePermitAux.is(state_permit_source.state_permit) &&
147
- Array.isArray(state_permit_source.state_permit_source_pollutants) &&
148
- state_permit_source.state_permit_source_pollutants.every(ARStatePermitSourcePollutant.is)
149
- )
150
- }
151
106
  }
@@ -1,32 +1,22 @@
1
1
  import { is_state_id, StateID } from "../../State"
2
+ import { StatePermitSourcePollutant } from "../StatePermitSourcePollutant"
2
3
 
3
- export class ARStatePermitSourcePollutant {
4
- readonly state_permit_source_pollutant_id : string
5
- readonly state_id : StateID
6
- readonly state_permit_id : string
7
- readonly state_permit_source_id : string
8
- readonly pollutant_id : string
4
+ export class ARStatePermitSourcePollutant extends StatePermitSourcePollutant {
5
+ readonly state_id : "AR"
9
6
  readonly [x : string] : any
10
7
 
11
8
  constructor(state_permit_source_pollutant : ARStatePermitSourcePollutant) {
12
9
  if (!ARStatePermitSourcePollutant.is(state_permit_source_pollutant)) {
13
10
  throw Error("Invalid input.")
14
11
  }
15
- this.state_permit_source_pollutant_id = state_permit_source_pollutant.state_permit_source_pollutant_id
12
+ super(state_permit_source_pollutant)
16
13
  this.state_id = state_permit_source_pollutant.state_id
17
- this.state_permit_id = state_permit_source_pollutant.state_permit_id
18
- this.state_permit_source_id = state_permit_source_pollutant.state_permit_source_id
19
- this.pollutant_id = state_permit_source_pollutant.pollutant_id
20
14
  }
21
15
 
22
16
  static is(state_permit_source_pollutant : any) : state_permit_source_pollutant is ARStatePermitSourcePollutant {
23
17
  return (
24
- state_permit_source_pollutant !== undefined &&
25
- typeof state_permit_source_pollutant.state_permit_source_pollutant_id === "string" &&
26
- is_state_id(state_permit_source_pollutant.state_id) && state_permit_source_pollutant.state_id === "AR" &&
27
- typeof state_permit_source_pollutant.state_permit_id === "string" &&
28
- typeof state_permit_source_pollutant.state_permit_source_id === "string" &&
29
- typeof state_permit_source_pollutant.pollutant_id === "string"
18
+ StatePermitSourcePollutant.is(state_permit_source_pollutant) &&
19
+ state_permit_source_pollutant.state_id === "AR"
30
20
  )
31
21
  }
32
22
  }
@@ -1,41 +1,22 @@
1
1
  import { is_state_id, StateID } from "../../State"
2
+ import { StateFacility } from "../StateFacility"
2
3
 
3
- export class KYStateFacility {
4
- readonly state_facility_id : string
5
- readonly state_id : StateID
6
- readonly facility_id : string
7
- readonly name : string
8
- readonly is_active : boolean
9
- readonly type_id : string
10
- readonly site_address_city : string
11
- readonly site_address_county : string
4
+ export class KYStateFacility extends StateFacility {
5
+ readonly state_id : "AR"
12
6
  readonly [x : string] : any
13
7
 
14
8
  constructor(state_facility : KYStateFacility) {
15
9
  if (!KYStateFacility.is(state_facility)) {
16
10
  throw Error("Invalid input.")
17
11
  }
18
- this.state_facility_id = state_facility.state_facility_id
12
+ super(state_facility)
19
13
  this.state_id = state_facility.state_id
20
- this.facility_id = state_facility.facility_id
21
- this.name = state_facility.name
22
- this.is_active = state_facility.is_active
23
- this.type_id = state_facility.type_id
24
- this.site_address_city = state_facility.site_address_city
25
- this.site_address_county = state_facility.site_address_county
26
14
  }
27
15
 
28
16
  static is(state_facility : any) : state_facility is KYStateFacility {
29
17
  return (
30
- state_facility !== undefined &&
31
- is_state_id(state_facility.state_id) && state_facility.state_id === "KY" &&
32
- typeof state_facility.state_facility_id === "string" &&
33
- typeof state_facility.facility_id === "string" &&
34
- typeof state_facility.name === "string" &&
35
- typeof state_facility.is_active === "boolean" &&
36
- typeof state_facility.type_id === "string" &&
37
- (state_facility.site_address_city === undefined || typeof state_facility.site_address_city === "string") &&
38
- (state_facility.site_address_county === undefined || typeof state_facility.site_address_county === "string")
18
+ StateFacility.is(state_facility) &&
19
+ state_facility.state_id === "KY"
39
20
  )
40
21
  }
41
22
  }
@@ -1,59 +1,25 @@
1
1
  import { is_state_id, StateID } from "../../State"
2
+ import { StatePermit } from "../StatePermit"
2
3
 
3
- export class KYStatePermit {
4
- readonly state_permit_id : string
5
- readonly state_id : StateID
6
- readonly permit_id : string
7
- readonly state_facility_id : string
8
- readonly issue_date? : string
9
- // readonly expiration_date? : string
10
- // readonly void_date? : string
11
- // readonly status? : string
12
- readonly type_id? : string
13
- readonly subtype_id? : string
4
+ export class KYStatePermit extends StatePermit {
5
+ readonly state_id : "KY"
14
6
  readonly s3_raw_filenames? : string[]
15
- readonly s3_filename? : string
16
- readonly s3_text_filename? : string
17
- readonly source_ids? : string[]
18
7
  readonly [x : string] : any
19
8
 
20
9
  constructor(state_permit : KYStatePermit) {
21
10
  if (!KYStatePermit.is(state_permit)) {
22
11
  throw Error("Invalid input.")
23
12
  }
24
- this.state_permit_id = state_permit.state_permit_id
13
+ super(state_permit)
25
14
  this.state_id = state_permit.state_id
26
- this.permit_id = state_permit.permit_id
27
- this.state_facility_id = state_permit.state_facility_id
28
- this.issue_date = state_permit.issue_date
29
- // this.expiration_date = state_permit.expiration_date
30
- // this.void_date = state_permit.void_date
31
- // this.status = state_permit.status
32
- this.type_id = state_permit.type_id
33
- this.subtype_id = state_permit.subtype_id
34
15
  this.s3_raw_filenames = state_permit.s3_raw_filenames
35
- this.s3_filename = state_permit.s3_filename
36
- this.s3_text_filename = state_permit.s3_text_filename
37
- this.source_ids = state_permit.source_ids
38
16
  }
39
17
 
40
18
  static is(state_permit : any) : state_permit is KYStatePermit {
41
19
  return (
42
- state_permit !== undefined &&
43
- typeof state_permit.state_permit_id === "string" &&
44
- is_state_id(state_permit.state_id) && state_permit.state_id === "KY" &&
45
- typeof state_permit.permit_id === "string" &&
46
- typeof state_permit.state_facility_id === "string" &&
47
- (state_permit.issue_date === undefined || typeof state_permit.issue_date === "string") &&
48
- // (state_permit.expiration_date === undefined || typeof state_permit.expiration_date === "string") &&
49
- // (state_permit.void_date === undefined || typeof state_permit.void_date === "string") &&
50
- // (state_permit.status === undefined || typeof state_permit.status === "string") &&
51
- (state_permit.type_id === undefined || typeof state_permit.type_id === "string") &&
52
- (state_permit.subtype_id === undefined || typeof state_permit.subtype_id === "string") &&
53
- (state_permit.s3_raw_filenames === undefined || Array.isArray(state_permit.s3_raw_filenames) && state_permit.s3_raw_filenames.map((s3_filename : any) => typeof s3_filename === "string")) &&
54
- (state_permit.s3_filename === undefined || typeof state_permit.s3_filename === "string") &&
55
- (state_permit.s3_text_filename === undefined || typeof state_permit.s3_text_filename === "string") &&
56
- (state_permit.source_ids === undefined || Array.isArray(state_permit.source_ids) && state_permit.source_ids.map((source_id : any) => typeof source_id === "string"))
20
+ StatePermit.is(state_permit) &&
21
+ state_permit.state_id === "KY" &&
22
+ (state_permit.s3_raw_filenames === undefined || Array.isArray(state_permit.s3_raw_filenames) && state_permit.s3_raw_filenames.every((s3_filename : any) => typeof s3_filename === "string"))
57
23
  )
58
24
  }
59
25
  }
@@ -1,41 +1,25 @@
1
1
  import { is_state_id, StateID } from "../../State"
2
+ import { StateFacility } from "../StateFacility"
2
3
 
3
- export class NCStateFacility {
4
- readonly state_facility_id : string
5
- readonly state_id : StateID
6
- readonly facility_id : string
7
- readonly name : string
4
+ export class NCStateFacility extends StateFacility {
5
+ readonly state_id : "NC"
8
6
  readonly owner : string
9
- readonly is_active : boolean
10
- readonly type_id : string
11
- readonly site_address_county? : string
12
7
  readonly [x : string] : any
13
8
 
14
9
  constructor(state_facility : NCStateFacility) {
15
10
  if (!NCStateFacility.is(state_facility)) {
16
11
  throw Error("Invalid input.")
17
12
  }
18
- this.state_facility_id = state_facility.state_facility_id
13
+ super(state_facility)
19
14
  this.state_id = state_facility.state_id
20
- this.facility_id = state_facility.facility_id
21
- this.name = state_facility.name
22
15
  this.owner = state_facility.owner
23
- this.is_active = state_facility.is_active
24
- this.type_id = state_facility.type_id
25
- this.site_address_county = state_facility.site_address_county
26
16
  }
27
17
 
28
18
  static is(state_facility : any) : state_facility is NCStateFacility {
29
19
  return (
30
- state_facility !== undefined &&
31
- is_state_id(state_facility.state_id) && state_facility.state_id === "NC" &&
32
- typeof state_facility.state_facility_id === "string" &&
33
- typeof state_facility.facility_id === "string" &&
34
- typeof state_facility.name === "string" &&
35
- typeof state_facility.owner === "string" &&
36
- typeof state_facility.is_active === "boolean" &&
37
- typeof state_facility.type_id === "string" &&
38
- (state_facility.site_address_county === undefined || typeof state_facility.site_address_county === "string")
20
+ StateFacility.is(state_facility) &&
21
+ state_facility.state_id === "NC" &&
22
+ typeof state_facility.owner === "string"
39
23
  )
40
24
  }
41
25
  }
@@ -1,57 +1,26 @@
1
1
  import { is_state_id, StateID } from "../../State"
2
+ import { StatePermit } from "../StatePermit"
2
3
 
3
4
 
4
- export class NCStatePermit {
5
- readonly state_permit_id : string
6
- readonly state_id : StateID
7
- readonly permit_id : string
8
- readonly state_facility_id : string
9
- readonly issue_date? : string
10
- readonly expiration_date? : string
11
- readonly status? : string
12
- readonly type_id? : string
13
- readonly subtype_id? : string
5
+ export class NCStatePermit extends StatePermit {
6
+ readonly state_id : "NC"
14
7
  readonly s3_raw_filenames? : string[]
15
- readonly s3_filename? : string
16
- readonly s3_text_filename? : string
17
- readonly source_ids? : string[]
18
8
  readonly [x : string] : any
19
9
 
20
10
  constructor(state_permit : NCStatePermit) {
21
11
  if (!NCStatePermit.is(state_permit)) {
22
12
  throw Error("Invalid input.")
23
13
  }
24
- this.state_permit_id = state_permit.state_permit_id
14
+ super(state_permit)
25
15
  this.state_id = state_permit.state_id
26
- this.permit_id = state_permit.permit_id
27
- this.state_facility_id = state_permit.state_facility_id
28
- this.issue_date = state_permit.issue_date
29
- this.expiration_date = state_permit.expiration_date
30
- this.status = state_permit.status
31
- this.type_id = state_permit.type_id
32
- this.subtype_id = state_permit.subtype_id
33
16
  this.s3_raw_filenames = state_permit.s3_raw_filenames
34
- this.s3_filename = state_permit.s3_filename
35
- this.s3_text_filename = state_permit.s3_text_filename
36
- this.source_ids = state_permit.source_ids
37
17
  }
38
18
 
39
19
  static is(state_permit : any) : state_permit is NCStatePermit {
40
20
  return (
41
- state_permit !== undefined &&
42
- typeof state_permit.state_permit_id === "string" &&
43
- is_state_id(state_permit.state_id) && state_permit.state_id === "NC" &&
44
- typeof state_permit.permit_id === "string" &&
45
- typeof state_permit.state_facility_id === "string" &&
46
- (state_permit.issue_date === undefined || typeof state_permit.issue_date === "string") &&
47
- (state_permit.expiration_date === undefined || typeof state_permit.expiration_date === "string") &&
48
- (state_permit.status === undefined || typeof state_permit.status === "string") &&
49
- (state_permit.type_id === undefined || typeof state_permit.type_id === "string") &&
50
- (state_permit.subtype_id === undefined || typeof state_permit.subtype_id === "string") &&
51
- (state_permit.s3_raw_filenames === undefined || Array.isArray(state_permit.s3_raw_filenames) && state_permit.s3_raw_filenames.map((s3_filename : any) => typeof s3_filename === "string")) &&
52
- (state_permit.s3_filename === undefined || typeof state_permit.s3_filename === "string") &&
53
- (state_permit.s3_text_filename === undefined || typeof state_permit.s3_text_filename === "string") &&
54
- (state_permit.source_ids === undefined || Array.isArray(state_permit.source_ids) && state_permit.source_ids.map((source_id : any) => typeof source_id === "string"))
21
+ StatePermit.is(state_permit) &&
22
+ state_permit.state_id === "NC" &&
23
+ (state_permit.s3_raw_filenames === undefined || Array.isArray(state_permit.s3_raw_filenames) && state_permit.s3_raw_filenames.every((s3_filename : any) => typeof s3_filename === "string"))
55
24
  )
56
25
  }
57
26
  }
@@ -0,0 +1,60 @@
1
+ import { is_state_id, StateID } from "../State"
2
+ import { StatePermitAux } from "./StatePermit"
3
+
4
+ export class StateFacility {
5
+ readonly state_facility_id : string
6
+ readonly state_id : StateID
7
+ readonly facility_id : string
8
+ readonly name : string
9
+ readonly is_active? : boolean
10
+ readonly type_id : string
11
+ readonly site_address_city? : string
12
+ readonly site_address_county? : string
13
+ readonly [x : string] : any
14
+
15
+ constructor(state_facility : StateFacility) {
16
+ if (!StateFacility.is(state_facility)) {
17
+ throw Error("Invalid input.")
18
+ }
19
+ this.state_facility_id = state_facility.state_facility_id
20
+ this.state_id = state_facility.state_id
21
+ this.facility_id = state_facility.facility_id
22
+ this.name = state_facility.name
23
+ this.is_active = state_facility.is_active
24
+ this.type_id = state_facility.type_id
25
+ this.site_address_city = state_facility.site_address_city
26
+ }
27
+
28
+ static is(state_facility : any) : state_facility is StateFacility {
29
+ return (
30
+ state_facility !== undefined &&
31
+ is_state_id(state_facility.state_id) &&
32
+ typeof state_facility.state_facility_id === "string" &&
33
+ typeof state_facility.facility_id === "string" &&
34
+ typeof state_facility.name === "string" &&
35
+ (state_facility.is_active === undefined || typeof state_facility.is_active === "boolean") &&
36
+ typeof state_facility.type_id === "string" &&
37
+ (state_facility.site_address_city=== undefined || typeof state_facility.site_address_city === "string")
38
+ )
39
+ }
40
+ }
41
+
42
+ export class StateFacilityAux extends StateFacility {
43
+ readonly state_permits : StatePermitAux[]
44
+
45
+ constructor(state_facility : StateFacilityAux) {
46
+ if (!StateFacilityAux.is(state_facility)) {
47
+ throw Error("Invalid input.")
48
+ }
49
+ super(state_facility)
50
+ this.state_permits = state_facility.state_permits
51
+ }
52
+
53
+ static is(state_facility : any) : state_facility is StateFacilityAux {
54
+ return (
55
+ StateFacility.is(state_facility) &&
56
+ Array.isArray(state_facility.state_permits) &&
57
+ state_facility.state_permits.every(StatePermitAux.is)
58
+ )
59
+ }
60
+ }
@@ -0,0 +1,79 @@
1
+ import { is_state_id, StateID } from "../State"
2
+ import { StateFacility } from "./StateFacility"
3
+
4
+ export class StatePermit {
5
+ readonly state_permit_id : string
6
+ readonly state_id : StateID
7
+ readonly permit_id : string
8
+ readonly state_facility_id : string
9
+ readonly issue_date? : string
10
+ readonly expiration_date? : string
11
+ readonly status? : string
12
+ readonly type_id? : string
13
+ readonly subtype_id? : string
14
+ readonly s3_filename? : string
15
+ readonly s3_text_filename? : string
16
+ readonly source_ids? : string[]
17
+ readonly [x : string] : any
18
+
19
+ constructor(state_permit : StatePermit) {
20
+ if (!StatePermit.is(state_permit)) {
21
+ throw Error("Invalid input.")
22
+ }
23
+ this.state_permit_id = state_permit.state_permit_id
24
+ this.state_id = state_permit.state_id
25
+ this.permit_id = state_permit.permit_id
26
+ this.state_facility_id = state_permit.state_facility_id
27
+ this.issue_date = state_permit.issue_date
28
+ this.expiration_date = state_permit.expiration_date
29
+ this.status = state_permit.status
30
+ this.type_id = state_permit.type_id
31
+ this.subtype_id = state_permit.subtype_id
32
+ this.s3_filename = state_permit.s3_filename
33
+ this.s3_text_filename = state_permit.s3_text_filename
34
+ this.source_ids = state_permit.source_ids
35
+ }
36
+
37
+ static is(state_permit : any) : state_permit is StatePermit {
38
+ return (
39
+ state_permit !== undefined &&
40
+ typeof state_permit.state_permit_id === "string" &&
41
+ is_state_id(state_permit.state_id) &&
42
+ typeof state_permit.permit_id === "string" &&
43
+ typeof state_permit.state_facility_id === "string" &&
44
+ (state_permit.issue_date === undefined || typeof state_permit.issue_date === "string") &&
45
+ (state_permit.expiration_date === undefined || typeof state_permit.expiration_date === "string") &&
46
+ (state_permit.status === undefined || typeof state_permit.status === "string") &&
47
+ (state_permit.type_id === undefined || typeof state_permit.type_id === "string") &&
48
+ (state_permit.subtype_id === undefined || typeof state_permit.subtype_id === "string") &&
49
+ (state_permit.s3_filename === undefined || typeof state_permit.s3_filename === "string") &&
50
+ (state_permit.s3_text_filename === undefined || typeof state_permit.s3_text_filename === "string") &&
51
+ (state_permit.source_ids === undefined || Array.isArray(state_permit.source_ids) && state_permit.source_ids.every((source_id : any) => typeof source_id === "string"))
52
+ )
53
+ }
54
+ }
55
+
56
+ export class StatePermitAux extends StatePermit {
57
+ readonly state_facility : StateFacility
58
+ readonly s3_url? : string
59
+ readonly s3_text_url? : string
60
+
61
+ constructor(state_permit : StatePermitAux) {
62
+ if (!StatePermitAux.is(state_permit)) {
63
+ throw Error("Invalid input.")
64
+ }
65
+ super(state_permit)
66
+ this.state_facility = state_permit.state_facility
67
+ this.s3_url = state_permit.s3_url
68
+ this.s3_text_url = state_permit.s3_text_url
69
+ }
70
+
71
+ static is(state_permit : any) : state_permit is StatePermitAux {
72
+ return (
73
+ StatePermit.is(state_permit) &&
74
+ StatePermitAux.is(state_permit.state_facility) &&
75
+ (state_permit.s3_url === undefined || typeof state_permit.s3_url === "string") &&
76
+ (state_permit.s3_text_url === undefined || typeof state_permit.s3_text_url === "string")
77
+ )
78
+ }
79
+ }
@@ -0,0 +1,60 @@
1
+ import { is_state_id, StateID } from "../State"
2
+ import { StatePermitAux } from "./StatePermit"
3
+ import { StatePermitSourcePollutant } from "./StatePermitSourcePollutant"
4
+
5
+ export class StatePermitSource {
6
+ readonly state_permit_source_id : string
7
+ readonly state_id : StateID
8
+ readonly state_permit_id : string
9
+ readonly source_id : string
10
+ readonly type_id : string
11
+ readonly pollutant_ids? : string[]
12
+ readonly [x : string] : any
13
+
14
+ constructor(state_permit_source : StatePermitSource) {
15
+ if (!StatePermitSource.is(state_permit_source)) {
16
+ throw Error("Invalid input.")
17
+ }
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.type_id = state_permit_source.type_id
23
+ this.pollutant_ids = state_permit_source.pollutant_ids
24
+ }
25
+
26
+ static is(state_permit_source : any) : state_permit_source is StatePermitSource {
27
+ return (
28
+ state_permit_source !== undefined &&
29
+ typeof state_permit_source.state_permit_source_id === "string" &&
30
+ is_state_id(state_permit_source.state_id) &&
31
+ typeof state_permit_source.state_permit_id === "string" &&
32
+ typeof state_permit_source.source_id === "string" &&
33
+ typeof state_permit_source.type_id === "string" &&
34
+ (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"))
35
+ )
36
+ }
37
+ }
38
+
39
+ export class StatePermitSourceAux extends StatePermitSource {
40
+ readonly state_permit : StatePermitAux
41
+ readonly state_permit_source_pollutants : StatePermitSourcePollutant[]
42
+
43
+ constructor(state_permit_source : StatePermitSourceAux) {
44
+ if (!StatePermitSourceAux.is(state_permit_source)) {
45
+ throw Error("Invalid input.")
46
+ }
47
+ super(state_permit_source)
48
+ this.state_permit = state_permit_source.state_permit
49
+ this.state_permit_source_pollutants = state_permit_source.state_permit_source_pollutants
50
+ }
51
+
52
+ static is(state_permit_source : any) : state_permit_source is StatePermitSourceAux {
53
+ return (
54
+ StatePermitSource.is(state_permit_source) &&
55
+ StatePermitAux.is(state_permit_source.state_permit) &&
56
+ Array.isArray(state_permit_source.state_permit_source_pollutants) &&
57
+ state_permit_source.state_permit_source_pollutants.every(StatePermitSourcePollutant.is)
58
+ )
59
+ }
60
+ }
@@ -0,0 +1,32 @@
1
+ import { is_state_id, StateID } from "../State"
2
+
3
+ export class StatePermitSourcePollutant {
4
+ readonly state_permit_source_pollutant_id : string
5
+ readonly state_id : StateID
6
+ readonly state_permit_id : string
7
+ readonly state_permit_source_id : string
8
+ readonly pollutant_id : string
9
+ readonly [x : string] : any
10
+
11
+ constructor(state_permit_source_pollutant : StatePermitSourcePollutant) {
12
+ if (!StatePermitSourcePollutant.is(state_permit_source_pollutant)) {
13
+ throw Error("Invalid input.")
14
+ }
15
+ this.state_permit_source_pollutant_id = state_permit_source_pollutant.state_permit_source_pollutant_id
16
+ this.state_id = state_permit_source_pollutant.state_id
17
+ this.state_permit_id = state_permit_source_pollutant.state_permit_id
18
+ this.state_permit_source_id = state_permit_source_pollutant.state_permit_source_id
19
+ this.pollutant_id = state_permit_source_pollutant.pollutant_id
20
+ }
21
+
22
+ static is(state_permit_source_pollutant : any) : state_permit_source_pollutant is StatePermitSourcePollutant {
23
+ return (
24
+ state_permit_source_pollutant !== undefined &&
25
+ typeof state_permit_source_pollutant.state_permit_source_pollutant_id === "string" &&
26
+ is_state_id(state_permit_source_pollutant.state_id) && state_permit_source_pollutant.state_id === "AR" &&
27
+ typeof state_permit_source_pollutant.state_permit_id === "string" &&
28
+ typeof state_permit_source_pollutant.state_permit_source_id === "string" &&
29
+ typeof state_permit_source_pollutant.pollutant_id === "string"
30
+ )
31
+ }
32
+ }
@@ -1,35 +1,22 @@
1
1
  import { is_state_id, StateID } from "../../State"
2
+ import { StateFacility } from "../StateFacility"
2
3
 
3
- export class TNStateFacility {
4
- readonly state_facility_id : string
5
- readonly state_id : StateID
6
- readonly facility_id : string
7
- readonly name : string
8
- readonly site_address_city : string
9
- readonly site_address_county : string
4
+ export class TNStateFacility extends StateFacility {
5
+ readonly state_id : "TN"
10
6
  readonly [x : string] : any
11
7
 
12
8
  constructor(state_facility : TNStateFacility) {
13
9
  if (!TNStateFacility.is(state_facility)) {
14
10
  throw Error("Invalid input.")
15
11
  }
16
- this.state_facility_id = state_facility.state_facility_id
12
+ super(state_facility)
17
13
  this.state_id = state_facility.state_id
18
- this.facility_id = state_facility.facility_id
19
- this.name = state_facility.name
20
- this.site_address_city = state_facility.site_address_city
21
- this.site_address_county = state_facility.site_address_county
22
14
  }
23
15
 
24
16
  static is(state_facility : any) : state_facility is TNStateFacility {
25
17
  return (
26
- state_facility !== undefined &&
27
- is_state_id(state_facility.state_id) && state_facility.state_id === "TN" &&
28
- typeof state_facility.state_facility_id === "string" &&
29
- typeof state_facility.facility_id === "string" &&
30
- typeof state_facility.name === "string" &&
31
- (state_facility.site_address_city === undefined || typeof state_facility.site_address_city === "string") &&
32
- (state_facility.site_address_county === undefined || typeof state_facility.site_address_county === "string")
18
+ StateFacility.is(state_facility) &&
19
+ state_facility.state_id === "TN"
33
20
  )
34
21
  }
35
22
  }