triangle-types 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/index.d.ts +59 -0
- package/dist/src/index.js +59 -0
- package/dist/src/types/APIError.d.ts +4 -0
- package/dist/src/types/APIError.js +19 -0
- package/dist/src/types/State.d.ts +8 -0
- package/dist/src/types/State.js +210 -0
- package/dist/src/types/User.d.ts +7 -0
- package/dist/src/types/User.js +20 -0
- package/dist/src/types/federal_congress/FederalCongressBill.d.ts +18 -0
- package/dist/src/types/federal_congress/FederalCongressBill.js +44 -0
- package/dist/src/types/federal_congress/FederalCongressBillDocument.d.ts +20 -0
- package/dist/src/types/federal_congress/FederalCongressBillDocument.js +49 -0
- package/dist/src/types/federal_dockets/FederalDocket.d.ts +9 -0
- package/dist/src/types/federal_dockets/FederalDocket.js +25 -0
- package/dist/src/types/federal_dockets/FederalDocketAgency.d.ts +8 -0
- package/dist/src/types/federal_dockets/FederalDocketAgency.js +22 -0
- package/dist/src/types/federal_dockets/FederalDocketComment.d.ts +30 -0
- package/dist/src/types/federal_dockets/FederalDocketComment.js +86 -0
- package/dist/src/types/federal_dockets/FederalDocketCommentAttachment.d.ts +9 -0
- package/dist/src/types/federal_dockets/FederalDocketCommentAttachment.js +25 -0
- package/dist/src/types/federal_dockets/FederalDocketDocument.d.ts +27 -0
- package/dist/src/types/federal_dockets/FederalDocketDocument.js +74 -0
- package/dist/src/types/federal_elections/FederalElection.d.ts +27 -0
- package/dist/src/types/federal_elections/FederalElection.js +86 -0
- package/dist/src/types/federal_elections/FederalElectionCandidate.d.ts +40 -0
- package/dist/src/types/federal_elections/FederalElectionCandidate.js +105 -0
- package/dist/src/types/federal_elections/FederalElectionCandidateCommittee.d.ts +7 -0
- package/dist/src/types/federal_elections/FederalElectionCandidateCommittee.js +32 -0
- package/dist/src/types/federal_elections/FederalElectionCommittee.d.ts +27 -0
- package/dist/src/types/federal_elections/FederalElectionCommittee.js +68 -0
- package/dist/src/types/federal_elections/FederalElectionDonation.d.ts +29 -0
- package/dist/src/types/federal_elections/FederalElectionDonation.js +82 -0
- package/dist/src/types/federal_elections/FederalElectionF1File.d.ts +18 -0
- package/dist/src/types/federal_elections/FederalElectionF1File.js +48 -0
- package/dist/src/types/federal_elections/FederalElectionF24File.d.ts +12 -0
- package/dist/src/types/federal_elections/FederalElectionF24File.js +32 -0
- package/dist/src/types/federal_elections/FederalElectionF2File.d.ts +15 -0
- package/dist/src/types/federal_elections/FederalElectionF2File.js +39 -0
- package/dist/src/types/federal_elections/FederalElectionF3File.d.ts +13 -0
- package/dist/src/types/federal_elections/FederalElectionF3File.js +37 -0
- package/dist/src/types/federal_elections/FederalElectionFile.d.ts +15 -0
- package/dist/src/types/federal_elections/FederalElectionFile.js +33 -0
- package/dist/src/types/federal_elections/FederalElectionFileExpenditure.d.ts +28 -0
- package/dist/src/types/federal_elections/FederalElectionFileExpenditure.js +70 -0
- package/dist/src/types/federal_elections/FormTypeID.d.ts +9 -0
- package/dist/src/types/federal_elections/FormTypeID.js +17 -0
- package/dist/src/types/federal_lobby/FederalLobbyAgency.d.ts +6 -0
- package/dist/src/types/federal_lobby/FederalLobbyAgency.js +16 -0
- package/dist/src/types/federal_lobby/FederalLobbyClient.d.ts +15 -0
- package/dist/src/types/federal_lobby/FederalLobbyClient.js +43 -0
- package/dist/src/types/federal_lobby/FederalLobbyDocument.d.ts +66 -0
- package/dist/src/types/federal_lobby/FederalLobbyDocument.js +190 -0
- package/dist/src/types/federal_lobby/FederalLobbyDocumentInterest.d.ts +18 -0
- package/dist/src/types/federal_lobby/FederalLobbyDocumentInterest.js +50 -0
- package/dist/src/types/federal_lobby/FederalLobbyLobbyist.d.ts +12 -0
- package/dist/src/types/federal_lobby/FederalLobbyLobbyist.js +34 -0
- package/dist/src/types/federal_lobby/FederalLobbyRegistrant.d.ts +20 -0
- package/dist/src/types/federal_lobby/FederalLobbyRegistrant.js +58 -0
- package/dist/src/types/federal_register/FederalRegisterAgency.d.ts +13 -0
- package/dist/src/types/federal_register/FederalRegisterAgency.js +37 -0
- package/dist/src/types/federal_register/FederalRegisterDocument.d.ts +21 -0
- package/dist/src/types/federal_register/FederalRegisterDocument.js +56 -0
- package/dist/src/types/federal_rules/FederalRuleSection.d.ts +13 -0
- package/dist/src/types/federal_rules/FederalRuleSection.js +37 -0
- package/dist/src/types/federal_rules/FederalRuleTitle.d.ts +8 -0
- package/dist/src/types/federal_rules/FederalRuleTitle.js +22 -0
- package/dist/src/types/press/PressArticle.d.ts +12 -0
- package/dist/src/types/press/PressArticle.js +34 -0
- package/dist/src/types/press/PressArticleTag.d.ts +16 -0
- package/dist/src/types/press/PressArticleTag.js +40 -0
- package/dist/src/types/state_permits/AR/ARStateFacility.d.ts +7 -0
- package/dist/src/types/state_permits/AR/ARStateFacility.js +15 -0
- package/dist/src/types/state_permits/AR/ARStatePermit.d.ts +8 -0
- package/dist/src/types/state_permits/AR/ARStatePermit.js +18 -0
- package/dist/src/types/state_permits/AR/ARStatePermitDocument.d.ts +9 -0
- package/dist/src/types/state_permits/AR/ARStatePermitDocument.js +21 -0
- package/dist/src/types/state_permits/KY/KYStateFacility.d.ts +7 -0
- package/dist/src/types/state_permits/KY/KYStateFacility.js +15 -0
- package/dist/src/types/state_permits/KY/KYStatePermit.d.ts +7 -0
- package/dist/src/types/state_permits/KY/KYStatePermit.js +15 -0
- package/dist/src/types/state_permits/KY/KYStatePermitDocument.d.ts +8 -0
- package/dist/src/types/state_permits/KY/KYStatePermitDocument.js +18 -0
- package/dist/src/types/state_permits/NC/NCStateFacility.d.ts +8 -0
- package/dist/src/types/state_permits/NC/NCStateFacility.js +18 -0
- package/dist/src/types/state_permits/NC/NCStatePermit.d.ts +7 -0
- package/dist/src/types/state_permits/NC/NCStatePermit.js +15 -0
- package/dist/src/types/state_permits/NC/NCStatePermitDocument.d.ts +8 -0
- package/dist/src/types/state_permits/NC/NCStatePermitDocument.js +18 -0
- package/dist/src/types/state_permits/StateFacility.d.ts +20 -0
- package/dist/src/types/state_permits/StateFacility.js +49 -0
- package/dist/src/types/state_permits/StatePermit.d.ts +27 -0
- package/dist/src/types/state_permits/StatePermit.js +69 -0
- package/dist/src/types/state_permits/StatePermitDocument.d.ts +37 -0
- package/dist/src/types/state_permits/StatePermitDocument.js +95 -0
- package/dist/src/types/state_permits/StatePermitDocumentSource.d.ts +48 -0
- package/dist/src/types/state_permits/StatePermitDocumentSource.js +123 -0
- package/dist/src/types/state_permits/StatePermitDocumentSourcePollutant.d.ts +35 -0
- package/dist/src/types/state_permits/StatePermitDocumentSourcePollutant.js +90 -0
- package/dist/src/types/state_permits/TN/TNStateFacility.d.ts +7 -0
- package/dist/src/types/state_permits/TN/TNStateFacility.js +15 -0
- package/dist/src/types/state_permits/TN/TNStatePermit.d.ts +8 -0
- package/dist/src/types/state_permits/TN/TNStatePermit.js +18 -0
- package/dist/src/types/state_permits/TN/TNStatePermitDocument.d.ts +8 -0
- package/dist/src/types/state_permits/TN/TNStatePermitDocument.js +18 -0
- package/dist/src/types/state_permits/WI/WIStatePermit.d.ts +8 -0
- package/dist/src/types/state_permits/WI/WIStatePermit.js +18 -0
- package/dist/src/types/state_permits/WI/WIStatePermitDocument.d.ts +7 -0
- package/dist/src/types/state_permits/WI/WIStatePermitDocument.js +15 -0
- package/dist/src/types/twitter/TwitterTweet.d.ts +21 -0
- package/dist/src/types/twitter/TwitterTweet.js +61 -0
- package/dist/src/types/twitter/TwitterUser.d.ts +17 -0
- package/dist/src/types/twitter/TwitterUser.js +49 -0
- package/dist/src/types/twitter/TwitterUserTag.d.ts +13 -0
- package/dist/src/types/twitter/TwitterUserTag.js +31 -0
- package/dist/src/types/youtube/YoutubeChannel.d.ts +6 -0
- package/dist/src/types/youtube/YoutubeChannel.js +16 -0
- package/dist/src/types/youtube/YoutubeVideo.d.ts +18 -0
- package/dist/src/types/youtube/YoutubeVideo.js +46 -0
- package/dist/src/types/youtube/YoutubeVideoTag.d.ts +15 -0
- package/dist/src/types/youtube/YoutubeVideoTag.js +37 -0
- package/package.json +25 -0
- package/src/index.ts +72 -0
- package/src/types/APIError.ts +21 -0
- package/src/types/State.ts +219 -0
- package/src/types/User.ts +24 -0
- package/src/types/federal_congress/FederalCongressBill.ts +53 -0
- package/src/types/federal_congress/FederalCongressBillDocument.ts +60 -0
- package/src/types/federal_dockets/FederalDocket.ts +29 -0
- package/src/types/federal_dockets/FederalDocketAgency.ts +26 -0
- package/src/types/federal_dockets/FederalDocketComment.ts +96 -0
- package/src/types/federal_dockets/FederalDocketCommentAttachment.ts +29 -0
- package/src/types/federal_dockets/FederalDocketDocument.ts +82 -0
- package/src/types/federal_elections/FederalElection.ts +105 -0
- package/src/types/federal_elections/FederalElectionCandidate.ts +124 -0
- package/src/types/federal_elections/FederalElectionCandidateCommittee.ts +40 -0
- package/src/types/federal_elections/FederalElectionCommittee.ts +83 -0
- package/src/types/federal_elections/FederalElectionDonation.ts +88 -0
- package/src/types/federal_elections/FederalElectionF1File.ts +53 -0
- package/src/types/federal_elections/FederalElectionF24File.ts +37 -0
- package/src/types/federal_elections/FederalElectionF2File.ts +44 -0
- package/src/types/federal_elections/FederalElectionF3File.ts +42 -0
- package/src/types/federal_elections/FederalElectionFile.ts +43 -0
- package/src/types/federal_elections/FederalElectionFileExpenditure.ts +82 -0
- package/src/types/federal_elections/FormTypeID.ts +28 -0
- package/src/types/federal_lobby/FederalLobbyAgency.ts +20 -0
- package/src/types/federal_lobby/FederalLobbyClient.ts +47 -0
- package/src/types/federal_lobby/FederalLobbyDocument.ts +209 -0
- package/src/types/federal_lobby/FederalLobbyDocumentInterest.ts +60 -0
- package/src/types/federal_lobby/FederalLobbyLobbyist.ts +38 -0
- package/src/types/federal_lobby/FederalLobbyRegistrant.ts +62 -0
- package/src/types/federal_register/FederalRegisterAgency.ts +41 -0
- package/src/types/federal_register/FederalRegisterDocument.ts +64 -0
- package/src/types/federal_rules/FederalRuleSection.ts +42 -0
- package/src/types/federal_rules/FederalRuleTitle.ts +26 -0
- package/src/types/press/PressArticle.ts +38 -0
- package/src/types/press/PressArticleTag.ts +51 -0
- package/src/types/state_permits/AR/ARStateFacility.ts +21 -0
- package/src/types/state_permits/AR/ARStatePermit.ts +24 -0
- package/src/types/state_permits/AR/ARStatePermitDocument.ts +27 -0
- package/src/types/state_permits/KY/KYStateFacility.ts +22 -0
- package/src/types/state_permits/KY/KYStatePermit.ts +21 -0
- package/src/types/state_permits/KY/KYStatePermitDocument.ts +24 -0
- package/src/types/state_permits/NC/NCStateFacility.ts +24 -0
- package/src/types/state_permits/NC/NCStatePermit.ts +22 -0
- package/src/types/state_permits/NC/NCStatePermitDocument.ts +24 -0
- package/src/types/state_permits/StateFacility.ts +60 -0
- package/src/types/state_permits/StatePermit.ts +85 -0
- package/src/types/state_permits/StatePermitDocument.ts +118 -0
- package/src/types/state_permits/StatePermitDocumentSource.ts +146 -0
- package/src/types/state_permits/StatePermitDocumentSourcePollutant.ts +108 -0
- package/src/types/state_permits/TN/TNStateFacility.ts +21 -0
- package/src/types/state_permits/TN/TNStatePermit.ts +24 -0
- package/src/types/state_permits/TN/TNStatePermitDocument.ts +24 -0
- package/src/types/state_permits/WI/WIStatePermit.ts +24 -0
- package/src/types/state_permits/WI/WIStatePermitDocument.ts +21 -0
- package/src/types/twitter/TwitterTweet.ts +66 -0
- package/src/types/twitter/TwitterUser.ts +53 -0
- package/src/types/twitter/TwitterUserTag.ts +42 -0
- package/src/types/youtube/YoutubeChannel.ts +20 -0
- package/src/types/youtube/YoutubeVideo.ts +57 -0
- package/src/types/youtube/YoutubeVideoTag.ts +48 -0
- package/tsconfig.json +34 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { StateFacility } from "../StateFacility"
|
|
2
|
+
|
|
3
|
+
export class ARStateFacility extends StateFacility {
|
|
4
|
+
readonly state_id : "AR"
|
|
5
|
+
readonly [x : string] : any
|
|
6
|
+
|
|
7
|
+
constructor(state_facility : ARStateFacility) {
|
|
8
|
+
if (!ARStateFacility.is(state_facility)) {
|
|
9
|
+
throw Error("Invalid input.")
|
|
10
|
+
}
|
|
11
|
+
super(state_facility)
|
|
12
|
+
this.state_id = state_facility.state_id
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
static is(state_facility : any) : state_facility is ARStateFacility {
|
|
16
|
+
return (
|
|
17
|
+
StateFacility.is(state_facility) &&
|
|
18
|
+
state_facility.state_id === "AR"
|
|
19
|
+
)
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { StatePermit } from "../StatePermit"
|
|
2
|
+
|
|
3
|
+
export class ARStatePermit extends StatePermit {
|
|
4
|
+
readonly state_id : "AR"
|
|
5
|
+
readonly void_date? : string
|
|
6
|
+
readonly [x : string] : any
|
|
7
|
+
|
|
8
|
+
constructor(state_permit : ARStatePermit) {
|
|
9
|
+
if (!ARStatePermit.is(state_permit)) {
|
|
10
|
+
throw Error("Invalid input.")
|
|
11
|
+
}
|
|
12
|
+
super(state_permit)
|
|
13
|
+
this.state_id = state_permit.state_id
|
|
14
|
+
this.void_date = state_permit.void_date
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
static is(state_permit : any) : state_permit is ARStatePermit {
|
|
18
|
+
return (
|
|
19
|
+
StatePermit.is(state_permit) &&
|
|
20
|
+
state_permit.state_id === "AR" &&
|
|
21
|
+
(state_permit.void_date === undefined || typeof state_permit.void_date === "string")
|
|
22
|
+
)
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { StatePermitDocument } from "../StatePermitDocument"
|
|
2
|
+
|
|
3
|
+
export class ARStatePermitDocument extends StatePermitDocument {
|
|
4
|
+
readonly state_id : "AR"
|
|
5
|
+
readonly date : string
|
|
6
|
+
readonly url : string
|
|
7
|
+
readonly [x : string] : any
|
|
8
|
+
|
|
9
|
+
constructor(state_permit : ARStatePermitDocument) {
|
|
10
|
+
if (!ARStatePermitDocument.is(state_permit)) {
|
|
11
|
+
throw Error("Invalid input.")
|
|
12
|
+
}
|
|
13
|
+
super(state_permit)
|
|
14
|
+
this.state_id = state_permit.state_id
|
|
15
|
+
this.date = state_permit.date
|
|
16
|
+
this.url = state_permit.url
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
static is(state_permit : any) : state_permit is ARStatePermitDocument {
|
|
20
|
+
return (
|
|
21
|
+
StatePermitDocument.is(state_permit) &&
|
|
22
|
+
state_permit.state_id === "AR" &&
|
|
23
|
+
typeof state_permit.date === "string" &&
|
|
24
|
+
typeof state_permit.url === "string"
|
|
25
|
+
)
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { is_state_id, StateID } from "../../State"
|
|
2
|
+
import { StateFacility } from "../StateFacility"
|
|
3
|
+
|
|
4
|
+
export class KYStateFacility extends StateFacility {
|
|
5
|
+
readonly state_id : "KY"
|
|
6
|
+
readonly [x : string] : any
|
|
7
|
+
|
|
8
|
+
constructor(state_facility : KYStateFacility) {
|
|
9
|
+
if (!KYStateFacility.is(state_facility)) {
|
|
10
|
+
throw Error("Invalid input.")
|
|
11
|
+
}
|
|
12
|
+
super(state_facility)
|
|
13
|
+
this.state_id = state_facility.state_id
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
static is(state_facility : any) : state_facility is KYStateFacility {
|
|
17
|
+
return (
|
|
18
|
+
StateFacility.is(state_facility) &&
|
|
19
|
+
state_facility.state_id === "KY"
|
|
20
|
+
)
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { StatePermit } from "../StatePermit"
|
|
2
|
+
|
|
3
|
+
export class KYStatePermit extends StatePermit {
|
|
4
|
+
readonly state_id : "KY"
|
|
5
|
+
readonly [x : string] : any
|
|
6
|
+
|
|
7
|
+
constructor(state_permit : KYStatePermit) {
|
|
8
|
+
if (!KYStatePermit.is(state_permit)) {
|
|
9
|
+
throw Error("Invalid input.")
|
|
10
|
+
}
|
|
11
|
+
super(state_permit)
|
|
12
|
+
this.state_id = state_permit.state_id
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
static is(state_permit : any) : state_permit is KYStatePermit {
|
|
16
|
+
return (
|
|
17
|
+
StatePermit.is(state_permit) &&
|
|
18
|
+
state_permit.state_id === "KY"
|
|
19
|
+
)
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { StatePermitDocument } from "../StatePermitDocument"
|
|
2
|
+
|
|
3
|
+
export class KYStatePermitDocument extends StatePermitDocument {
|
|
4
|
+
readonly state_id : "KY"
|
|
5
|
+
readonly date? : string
|
|
6
|
+
readonly [x : string] : any
|
|
7
|
+
|
|
8
|
+
constructor(state_permit : KYStatePermitDocument) {
|
|
9
|
+
if (!KYStatePermitDocument.is(state_permit)) {
|
|
10
|
+
throw Error("Invalid input.")
|
|
11
|
+
}
|
|
12
|
+
super(state_permit)
|
|
13
|
+
this.state_id = state_permit.state_id
|
|
14
|
+
this.date = state_permit.date
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
static is(state_permit : any) : state_permit is KYStatePermitDocument {
|
|
18
|
+
return (
|
|
19
|
+
StatePermitDocument.is(state_permit) &&
|
|
20
|
+
state_permit.state_id === "KY" &&
|
|
21
|
+
(state_permit.date === undefined || typeof state_permit.date === "string")
|
|
22
|
+
)
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { StateFacility } from "../StateFacility"
|
|
2
|
+
|
|
3
|
+
export class NCStateFacility extends StateFacility {
|
|
4
|
+
readonly state_id : "NC"
|
|
5
|
+
readonly owner : string
|
|
6
|
+
readonly [x : string] : any
|
|
7
|
+
|
|
8
|
+
constructor(state_facility : NCStateFacility) {
|
|
9
|
+
if (!NCStateFacility.is(state_facility)) {
|
|
10
|
+
throw Error("Invalid input.")
|
|
11
|
+
}
|
|
12
|
+
super(state_facility)
|
|
13
|
+
this.state_id = state_facility.state_id
|
|
14
|
+
this.owner = state_facility.owner
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
static is(state_facility : any) : state_facility is NCStateFacility {
|
|
18
|
+
return (
|
|
19
|
+
StateFacility.is(state_facility) &&
|
|
20
|
+
state_facility.state_id === "NC" &&
|
|
21
|
+
typeof state_facility.owner === "string"
|
|
22
|
+
)
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { StatePermit } from "../StatePermit"
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
export class NCStatePermit extends StatePermit {
|
|
5
|
+
readonly state_id : "NC"
|
|
6
|
+
readonly [x : string] : any
|
|
7
|
+
|
|
8
|
+
constructor(state_permit : NCStatePermit) {
|
|
9
|
+
if (!NCStatePermit.is(state_permit)) {
|
|
10
|
+
throw Error("Invalid input.")
|
|
11
|
+
}
|
|
12
|
+
super(state_permit)
|
|
13
|
+
this.state_id = state_permit.state_id
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
static is(state_permit : any) : state_permit is NCStatePermit {
|
|
17
|
+
return (
|
|
18
|
+
StatePermit.is(state_permit) &&
|
|
19
|
+
state_permit.state_id === "NC"
|
|
20
|
+
)
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { StatePermitDocument } from "../StatePermitDocument"
|
|
2
|
+
|
|
3
|
+
export class NCStatePermitDocument extends StatePermitDocument {
|
|
4
|
+
readonly state_id : "NC"
|
|
5
|
+
readonly date? : string
|
|
6
|
+
readonly [x : string] : any
|
|
7
|
+
|
|
8
|
+
constructor(state_permit : NCStatePermitDocument) {
|
|
9
|
+
if (!NCStatePermitDocument.is(state_permit)) {
|
|
10
|
+
throw Error("Invalid input.")
|
|
11
|
+
}
|
|
12
|
+
super(state_permit)
|
|
13
|
+
this.state_id = state_permit.state_id
|
|
14
|
+
this.date = state_permit.date
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
static is(state_permit : any) : state_permit is NCStatePermitDocument {
|
|
18
|
+
return (
|
|
19
|
+
StatePermitDocument.is(state_permit) &&
|
|
20
|
+
state_permit.state_id === "NC" &&
|
|
21
|
+
(state_permit.date === undefined || typeof state_permit.date === "string")
|
|
22
|
+
)
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -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 facility_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.facility_type_id = state_facility.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
|
+
(state_facility.facility_type_id === undefined || typeof state_facility.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,85 @@
|
|
|
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 permit_type_id? : string
|
|
13
|
+
readonly permit_subtype_id? : string
|
|
14
|
+
readonly [x : string] : any
|
|
15
|
+
|
|
16
|
+
constructor(state_permit : StatePermit) {
|
|
17
|
+
if (!StatePermit.is(state_permit)) {
|
|
18
|
+
throw Error("Invalid input.")
|
|
19
|
+
}
|
|
20
|
+
this.state_permit_id = state_permit.state_permit_id
|
|
21
|
+
this.state_id = state_permit.state_id
|
|
22
|
+
this.permit_id = state_permit.permit_id
|
|
23
|
+
this.state_facility_id = state_permit.state_facility_id
|
|
24
|
+
this.issue_date = state_permit.issue_date
|
|
25
|
+
this.expiration_date = state_permit.expiration_date
|
|
26
|
+
this.status = state_permit.status
|
|
27
|
+
this.permit_type_id = state_permit.permit_type_id
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
static is(state_permit : any) : state_permit is StatePermit {
|
|
31
|
+
return (
|
|
32
|
+
state_permit !== undefined &&
|
|
33
|
+
typeof state_permit.state_permit_id === "string" &&
|
|
34
|
+
is_state_id(state_permit.state_id) &&
|
|
35
|
+
typeof state_permit.permit_id === "string" &&
|
|
36
|
+
typeof state_permit.state_facility_id === "string" &&
|
|
37
|
+
(state_permit.issue_date === undefined || typeof state_permit.issue_date === "string") &&
|
|
38
|
+
(state_permit.expiration_date === undefined || typeof state_permit.expiration_date === "string") &&
|
|
39
|
+
(state_permit.status === undefined || typeof state_permit.status === "string") &&
|
|
40
|
+
(state_permit.permit_type_id === undefined || typeof state_permit.permit_type_id === "string") &&
|
|
41
|
+
(state_permit.permit_subtype_id === undefined || typeof state_permit.permit_subtype_id === "string")
|
|
42
|
+
)
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export class StateWaterPermit extends StatePermit {
|
|
47
|
+
readonly permit_type_id : "WATER-NPDES"
|
|
48
|
+
readonly max_document_id? : string
|
|
49
|
+
|
|
50
|
+
constructor(state_permit : StateWaterPermit) {
|
|
51
|
+
if (!StateWaterPermit.is(state_permit)) {
|
|
52
|
+
throw Error("Invalid input.")
|
|
53
|
+
}
|
|
54
|
+
super(state_permit)
|
|
55
|
+
this.permit_type_id = state_permit.permit_type_id
|
|
56
|
+
this.max_document_id = state_permit.max_document_id
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
static is(state_permit : any) : state_permit is StateWaterPermit {
|
|
60
|
+
return (
|
|
61
|
+
StatePermit.is(state_permit) &&
|
|
62
|
+
state_permit.permit_type_id === "WATER-NPDES" &&
|
|
63
|
+
(state_permit.max_document_id === undefined || typeof state_permit.max_document_id === "string")
|
|
64
|
+
)
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export class StatePermitAux extends StatePermit {
|
|
69
|
+
readonly state_facility : StateFacility
|
|
70
|
+
|
|
71
|
+
constructor(state_permit : StatePermitAux) {
|
|
72
|
+
if (!StatePermitAux.is(state_permit)) {
|
|
73
|
+
throw Error("Invalid input.")
|
|
74
|
+
}
|
|
75
|
+
super(state_permit)
|
|
76
|
+
this.state_facility = state_permit.state_facility
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
static is(state_permit : any) : state_permit is StatePermitAux {
|
|
80
|
+
return (
|
|
81
|
+
StatePermit.is(state_permit) &&
|
|
82
|
+
StateFacility.is(state_permit.state_facility)
|
|
83
|
+
)
|
|
84
|
+
}
|
|
85
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { is_state_id, StateID } from "../State"
|
|
2
|
+
import { StatePermitDocumentSourceAux } from "./StatePermitDocumentSource"
|
|
3
|
+
|
|
4
|
+
export class StatePermitComment {
|
|
5
|
+
readonly comment_text : string
|
|
6
|
+
readonly response_text : string
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
constructor(state_permit_comment : StatePermitComment) {
|
|
10
|
+
if (!StatePermitComment.is(state_permit_comment)) {
|
|
11
|
+
throw Error("Invalid input.")
|
|
12
|
+
}
|
|
13
|
+
this.comment_text = state_permit_comment.comment_text
|
|
14
|
+
this.response_text = state_permit_comment.response_text
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
static is(state_permit_comment : any) : state_permit_comment is StatePermitComment {
|
|
18
|
+
return (
|
|
19
|
+
state_permit_comment !== undefined &&
|
|
20
|
+
typeof state_permit_comment.comment_text === "string" &&
|
|
21
|
+
typeof state_permit_comment.response_text === "string"
|
|
22
|
+
)
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export class StatePermitDocument {
|
|
27
|
+
readonly state_permit_document_id : string
|
|
28
|
+
readonly state_id : StateID
|
|
29
|
+
readonly state_permit_id : string
|
|
30
|
+
readonly document_id : string
|
|
31
|
+
readonly permit_type_id : string
|
|
32
|
+
readonly document_type : string
|
|
33
|
+
readonly document_type_id? : string
|
|
34
|
+
readonly name : string
|
|
35
|
+
readonly s3_id? : string
|
|
36
|
+
readonly s3_id_txt? : string
|
|
37
|
+
readonly source_ids? : string[]
|
|
38
|
+
readonly comments? : StatePermitComment[]
|
|
39
|
+
readonly [x : string] : any
|
|
40
|
+
|
|
41
|
+
constructor(state_permit_document : StatePermitDocument) {
|
|
42
|
+
if (!StatePermitDocument.is(state_permit_document)) {
|
|
43
|
+
throw Error("Invalid input.")
|
|
44
|
+
}
|
|
45
|
+
this.state_permit_document_id = state_permit_document.state_permit_document_id
|
|
46
|
+
this.state_id = state_permit_document.state_id
|
|
47
|
+
this.state_permit_id = state_permit_document.state_permit_id
|
|
48
|
+
this.document_id = state_permit_document.document_id
|
|
49
|
+
this.permit_type_id = state_permit_document.permit_type_id
|
|
50
|
+
this.document_type = state_permit_document.document_type
|
|
51
|
+
this.document_type_id = state_permit_document.document_type_id
|
|
52
|
+
this.name = state_permit_document.name
|
|
53
|
+
this.s3_id = state_permit_document.s3_id
|
|
54
|
+
this.s3_id_txt = state_permit_document.s3_id_txt
|
|
55
|
+
this.source_ids = state_permit_document.source_ids
|
|
56
|
+
this.comments = state_permit_document.comments
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
static is(state_permit_document : any) : state_permit_document is StatePermitDocument {
|
|
60
|
+
return (
|
|
61
|
+
state_permit_document !== undefined &&
|
|
62
|
+
typeof state_permit_document.state_permit_document_id === "string" &&
|
|
63
|
+
is_state_id(state_permit_document.state_id) &&
|
|
64
|
+
typeof state_permit_document.state_permit_id === "string" &&
|
|
65
|
+
typeof state_permit_document.document_id === "string" &&
|
|
66
|
+
typeof state_permit_document.permit_type_id === "string" &&
|
|
67
|
+
typeof state_permit_document.document_type === "string" &&
|
|
68
|
+
(state_permit_document.document_type_id === undefined || typeof state_permit_document.document_type_id === "string") &&
|
|
69
|
+
typeof state_permit_document.name === "string" &&
|
|
70
|
+
(state_permit_document.s3_id === undefined || typeof state_permit_document.s3_id == "string") &&
|
|
71
|
+
(state_permit_document.s3_id_txt === undefined || typeof state_permit_document.s3_id_txt == "string") &&
|
|
72
|
+
(state_permit_document.source_ids === undefined || Array.isArray(state_permit_document.source_ids) && state_permit_document.source_ids.every((source_id : any) => typeof source_id === "string")) &&
|
|
73
|
+
(state_permit_document.comments === undefined || Array.isArray(state_permit_document.comments) && state_permit_document.comments.every(StatePermitComment.is))
|
|
74
|
+
)
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export class StateWaterPermitDocument extends StatePermitDocument {
|
|
79
|
+
readonly permit_type_id : "WATER-NPDES"
|
|
80
|
+
readonly freq_fish_tissue? : string
|
|
81
|
+
readonly [x : string] : any
|
|
82
|
+
|
|
83
|
+
constructor(state_permit_document : StateWaterPermitDocument) {
|
|
84
|
+
if (!StateWaterPermitDocument.is(state_permit_document)) {
|
|
85
|
+
throw Error("Invalid input.")
|
|
86
|
+
}
|
|
87
|
+
super(state_permit_document)
|
|
88
|
+
this.permit_type_id = state_permit_document.permit_type_id
|
|
89
|
+
this.freq_fish_tissue = state_permit_document.freq_fish_tissue
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
static is(state_permit_document : any) : state_permit_document is StateWaterPermitDocument {
|
|
93
|
+
return (
|
|
94
|
+
StatePermitDocument.is(state_permit_document) &&
|
|
95
|
+
state_permit_document.permit_type_id === "WATER-NPDES" &&
|
|
96
|
+
(state_permit_document.freq_fish_tissue === undefined || typeof state_permit_document.freq_fish_tissue === "string")
|
|
97
|
+
)
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
export class StatePermitDocumentAux extends StatePermitDocument {
|
|
102
|
+
readonly sources : StatePermitDocumentSourceAux[]
|
|
103
|
+
|
|
104
|
+
constructor(state_permit_document : StatePermitDocumentAux) {
|
|
105
|
+
if (!StatePermitDocumentAux.is(state_permit_document)) {
|
|
106
|
+
throw Error("Invalid input.")
|
|
107
|
+
}
|
|
108
|
+
super(state_permit_document)
|
|
109
|
+
this.sources = state_permit_document.sources
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
static is(state_permit_document : any) : state_permit_document is StatePermitDocumentAux {
|
|
113
|
+
return (
|
|
114
|
+
StatePermitDocument.is(state_permit_document) &&
|
|
115
|
+
Array.isArray(state_permit_document.sources) && state_permit_document.sources.every(StatePermitDocumentSourceAux.is)
|
|
116
|
+
)
|
|
117
|
+
}
|
|
118
|
+
}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { is_state_id, StateID } from "../State"
|
|
2
|
+
import { StatePermitAux } from "./StatePermit"
|
|
3
|
+
import { StatePermitDocument } from "./StatePermitDocument"
|
|
4
|
+
import { StatePermitDocumentSourcePollutant } from "./StatePermitDocumentSourcePollutant"
|
|
5
|
+
|
|
6
|
+
export class StatePermitDocumentSource {
|
|
7
|
+
readonly state_permit_document_source_id : string
|
|
8
|
+
readonly state_id : StateID
|
|
9
|
+
readonly state_permit_id : string
|
|
10
|
+
readonly state_permit_document_id : string
|
|
11
|
+
readonly source_id : string
|
|
12
|
+
readonly permit_type_id : string
|
|
13
|
+
readonly source_type_id : string
|
|
14
|
+
readonly description : string
|
|
15
|
+
readonly pollutant_ids? : string[]
|
|
16
|
+
readonly [x : string] : any
|
|
17
|
+
|
|
18
|
+
constructor(state_permit_document_source : StatePermitDocumentSource) {
|
|
19
|
+
if (!StatePermitDocumentSource.is(state_permit_document_source)) {
|
|
20
|
+
throw Error("Invalid input.")
|
|
21
|
+
}
|
|
22
|
+
this.state_permit_document_source_id = state_permit_document_source.state_permit_document_source_id
|
|
23
|
+
this.state_id = state_permit_document_source.state_id
|
|
24
|
+
this.state_permit_id = state_permit_document_source.state_permit_id
|
|
25
|
+
this.state_permit_document_id = state_permit_document_source.state_permit_document_id
|
|
26
|
+
this.source_id = state_permit_document_source.source_id
|
|
27
|
+
this.permit_type_id = state_permit_document_source.permit_type_id
|
|
28
|
+
this.source_type_id = state_permit_document_source.source_type_id
|
|
29
|
+
this.description = state_permit_document_source.description
|
|
30
|
+
this.pollutant_ids = state_permit_document_source.pollutant_ids
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
static is(state_permit_document_source : any) : state_permit_document_source is StatePermitDocumentSource {
|
|
34
|
+
return (
|
|
35
|
+
state_permit_document_source !== undefined &&
|
|
36
|
+
typeof state_permit_document_source.state_permit_document_source_id === "string" &&
|
|
37
|
+
is_state_id(state_permit_document_source.state_id) &&
|
|
38
|
+
typeof state_permit_document_source.state_permit_id === "string" &&
|
|
39
|
+
typeof state_permit_document_source.state_permit_document_id === "string" &&
|
|
40
|
+
typeof state_permit_document_source.source_id === "string" &&
|
|
41
|
+
typeof state_permit_document_source.permit_type_id === "string" &&
|
|
42
|
+
typeof state_permit_document_source.source_type_id === "string" &&
|
|
43
|
+
typeof state_permit_document_source.description === "string" &&
|
|
44
|
+
(state_permit_document_source.pollutant_ids === undefined || Array.isArray(state_permit_document_source.pollutant_ids) && state_permit_document_source.pollutant_ids.every((pollutant_id : any) => typeof pollutant_id === "string"))
|
|
45
|
+
)
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export class StateWaterPermitDocumentSource extends StatePermitDocumentSource {
|
|
50
|
+
readonly permit_type_id : "WATER-NPDES"
|
|
51
|
+
readonly freq_wet_pp? : string
|
|
52
|
+
readonly freq_wet_cd? : string
|
|
53
|
+
readonly [x : string] : any
|
|
54
|
+
|
|
55
|
+
constructor(state_permit_document_source : StateWaterPermitDocumentSource) {
|
|
56
|
+
if (!StateWaterPermitDocumentSource.is(state_permit_document_source)) {
|
|
57
|
+
throw Error("Invalid input.")
|
|
58
|
+
}
|
|
59
|
+
super(state_permit_document_source)
|
|
60
|
+
this.permit_type_id = state_permit_document_source.permit_type_id
|
|
61
|
+
this.freq_wet_pp = state_permit_document_source.freq_wet_pp
|
|
62
|
+
this.freq_wet_cd = state_permit_document_source.freq_wet_cd
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
static is(state_permit_document_source : any) : state_permit_document_source is StateWaterPermitDocumentSource {
|
|
66
|
+
return (
|
|
67
|
+
StatePermitDocumentSource.is(state_permit_document_source) &&
|
|
68
|
+
state_permit_document_source.permit_type_id === "WATER-NPDES" &&
|
|
69
|
+
(state_permit_document_source.freq_wet_pp === undefined || typeof state_permit_document_source.freq_wet_pp === "string") &&
|
|
70
|
+
(state_permit_document_source.freq_wet_cd === undefined || typeof state_permit_document_source.freq_wet_cd === "string")
|
|
71
|
+
)
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export class StateAirPermitDocumentSource extends StatePermitDocumentSource {
|
|
76
|
+
readonly permit_type_id : "AIR"
|
|
77
|
+
readonly page_nums : number[]
|
|
78
|
+
readonly is_rice? : string
|
|
79
|
+
readonly power_quantity? : number
|
|
80
|
+
readonly power_unit? : string
|
|
81
|
+
readonly power_kw? : number
|
|
82
|
+
readonly fuel_type_text? : string
|
|
83
|
+
readonly fuel_type_id? : string
|
|
84
|
+
readonly is_emergency? : string
|
|
85
|
+
readonly local_state_permit_document_source_ids? : string[]
|
|
86
|
+
readonly [x : string] : any
|
|
87
|
+
|
|
88
|
+
constructor(state_permit_document_source : StateAirPermitDocumentSource) {
|
|
89
|
+
if (!StateAirPermitDocumentSource.is(state_permit_document_source)) {
|
|
90
|
+
throw Error("Invalid input.")
|
|
91
|
+
}
|
|
92
|
+
super(state_permit_document_source)
|
|
93
|
+
this.permit_type_id = state_permit_document_source.permit_type_id
|
|
94
|
+
this.page_nums = state_permit_document_source.page_nums
|
|
95
|
+
this.is_rice = state_permit_document_source.is_rice
|
|
96
|
+
this.power_quantity = state_permit_document_source.power_quantity
|
|
97
|
+
this.power_unit = state_permit_document_source.power_unit
|
|
98
|
+
this.power_kw = state_permit_document_source.power_kw
|
|
99
|
+
this.fuel_type_text = state_permit_document_source.fuel_type_text
|
|
100
|
+
this.fuel_type_id = state_permit_document_source.fuel_type_id
|
|
101
|
+
this.is_emergency = state_permit_document_source.is_emergency
|
|
102
|
+
this.local_state_permit_document_source_ids = state_permit_document_source.local_state_permit_document_source_ids
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
static is(state_permit_document_source : any) : state_permit_document_source is StateAirPermitDocumentSource {
|
|
106
|
+
return (
|
|
107
|
+
StatePermitDocumentSource.is(state_permit_document_source) &&
|
|
108
|
+
state_permit_document_source.permit_type_id === "AIR" &&
|
|
109
|
+
Array.isArray(state_permit_document_source.page_nums) && state_permit_document_source.page_nums.every((page_num : any) => typeof page_num === "number") &&
|
|
110
|
+
(state_permit_document_source.is_rice === undefined || typeof state_permit_document_source.is_rice === "string") &&
|
|
111
|
+
(state_permit_document_source.power_quantity === undefined || typeof state_permit_document_source.power_quantity === "number") &&
|
|
112
|
+
(state_permit_document_source.power_quantity === undefined || typeof state_permit_document_source.power_quantity === "number") &&
|
|
113
|
+
(state_permit_document_source.power_kw === undefined || typeof state_permit_document_source.power_kw === "number") &&
|
|
114
|
+
(state_permit_document_source.fuel_type_text === undefined || typeof state_permit_document_source.fuel_type_text === "string") &&
|
|
115
|
+
(state_permit_document_source.fuel_type_id === undefined || typeof state_permit_document_source.fuel_type_id === "string") &&
|
|
116
|
+
(state_permit_document_source.is_emergency === undefined || typeof state_permit_document_source.is_emergency === "string") &&
|
|
117
|
+
(state_permit_document_source.local_state_permit_document_source_ids === undefined || Array.isArray(state_permit_document_source.local_state_permit_document_source_ids) && state_permit_document_source.local_state_permit_document_source_ids.every((local_state_permit_document_source_id : any) => typeof local_state_permit_document_source_id === "string"))
|
|
118
|
+
)
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
export class StatePermitDocumentSourceAux extends StatePermitDocumentSource {
|
|
123
|
+
readonly state_permit : StatePermitAux
|
|
124
|
+
readonly state_permit_document : StatePermitDocument
|
|
125
|
+
readonly pollutants : StatePermitDocumentSourcePollutant[]
|
|
126
|
+
|
|
127
|
+
constructor(state_permit_document_source : StatePermitDocumentSourceAux) {
|
|
128
|
+
if (!StatePermitDocumentSourceAux.is(state_permit_document_source)) {
|
|
129
|
+
throw Error("Invalid input.")
|
|
130
|
+
}
|
|
131
|
+
super(state_permit_document_source)
|
|
132
|
+
this.state_permit = state_permit_document_source.state_permit
|
|
133
|
+
this.state_permit_document = state_permit_document_source.state_permit_document
|
|
134
|
+
this.pollutants = state_permit_document_source.pollutants
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
static is(state_permit_document_source : any) : state_permit_document_source is StatePermitDocumentSourceAux {
|
|
138
|
+
return (
|
|
139
|
+
StatePermitDocumentSource.is(state_permit_document_source) &&
|
|
140
|
+
StatePermitAux.is(state_permit_document_source.state_permit) &&
|
|
141
|
+
StatePermitDocument.is(state_permit_document_source.state_permit_document) &&
|
|
142
|
+
Array.isArray(state_permit_document_source.pollutants) &&
|
|
143
|
+
state_permit_document_source.pollutants.every(StatePermitDocumentSourcePollutant.is)
|
|
144
|
+
)
|
|
145
|
+
}
|
|
146
|
+
}
|