triangle-types 1.0.293 → 1.0.295

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.
@@ -4,6 +4,7 @@ import { County } from "./County.js";
4
4
  import { JurisdictionMetric } from "./JurisdictionMetric.js";
5
5
  import { Municipality } from "./Municipality.js";
6
6
  import { SchoolDistrict } from "./SchoolDistrict.js";
7
+ import { State } from "./State.js";
7
8
  export declare const jurisdiction_type_ids: readonly ["state", "federal_congress_district", "state_legislature_district", "county", "municipality", "school_district", "federal_census_tract", "federal_census_block"];
8
9
  export type JurisdictionTypeID = typeof jurisdiction_type_ids[number];
9
10
  export declare function is_jurisdiction_type_id(jurisdiction_type_id: any): jurisdiction_type_id is JurisdictionTypeID;
@@ -19,6 +20,12 @@ export declare class JurisdictionAux extends Jurisdiction {
19
20
  constructor(jurisdiction: any);
20
21
  static is(jurisdiction: any): jurisdiction is JurisdictionAux;
21
22
  }
23
+ export declare class StateJurisdictionAux extends JurisdictionAux {
24
+ readonly jurisdiction_type_id: "state";
25
+ readonly state: State;
26
+ constructor(jurisdiction: any);
27
+ static is(jurisdiction: any): jurisdiction is StateJurisdictionAux;
28
+ }
22
29
  export declare class CountyJurisdictionAux extends JurisdictionAux {
23
30
  readonly jurisdiction_type_id: "county";
24
31
  readonly county: County;
@@ -4,6 +4,7 @@ import { County } from "./County.js";
4
4
  import { JurisdictionMetric } from "./JurisdictionMetric.js";
5
5
  import { Municipality } from "./Municipality.js";
6
6
  import { SchoolDistrict } from "./SchoolDistrict.js";
7
+ import { State } from "./State.js";
7
8
  export const jurisdiction_type_ids = ["state", "federal_congress_district", "state_legislature_district", "county", "municipality", "school_district", "federal_census_tract", "federal_census_block"];
8
9
  export function is_jurisdiction_type_id(jurisdiction_type_id) {
9
10
  return jurisdiction_type_ids.includes(jurisdiction_type_id);
@@ -34,10 +35,27 @@ export class JurisdictionAux extends Jurisdiction {
34
35
  this.metrics = jurisdiction.metrics;
35
36
  }
36
37
  static is(jurisdiction) {
37
- return (jurisdiction !== undefined &&
38
+ return (Jurisdiction.is(jurisdiction) &&
38
39
  Array.isArray(jurisdiction.metrics) && jurisdiction.metrics.every(JurisdictionMetric.is));
39
40
  }
40
41
  }
42
+ export class StateJurisdictionAux extends JurisdictionAux {
43
+ jurisdiction_type_id;
44
+ state;
45
+ constructor(jurisdiction) {
46
+ if (!StateJurisdictionAux.is(jurisdiction)) {
47
+ throw Error("Invalid input.");
48
+ }
49
+ super(jurisdiction);
50
+ this.jurisdiction_type_id = jurisdiction.jurisdiction_type_id;
51
+ this.state = jurisdiction.state;
52
+ }
53
+ static is(jurisdiction) {
54
+ return (JurisdictionAux.is(jurisdiction) &&
55
+ jurisdiction.jurisdiction_type_id === "state" &&
56
+ State.is(jurisdiction.state));
57
+ }
58
+ }
41
59
  export class CountyJurisdictionAux extends JurisdictionAux {
42
60
  jurisdiction_type_id;
43
61
  county;
@@ -50,7 +68,7 @@ export class CountyJurisdictionAux extends JurisdictionAux {
50
68
  this.county = jurisdiction.county;
51
69
  }
52
70
  static is(jurisdiction) {
53
- return (jurisdiction !== undefined &&
71
+ return (JurisdictionAux.is(jurisdiction) &&
54
72
  jurisdiction.jurisdiction_type_id === "county" &&
55
73
  County.is(jurisdiction.county));
56
74
  }
@@ -67,7 +85,7 @@ export class MunicipalityJurisdictionAux extends JurisdictionAux {
67
85
  this.municipality = jurisdiction.municipality;
68
86
  }
69
87
  static is(jurisdiction) {
70
- return (jurisdiction !== undefined &&
88
+ return (JurisdictionAux.is(jurisdiction) &&
71
89
  jurisdiction.jurisdiction_type_id === "municipality" &&
72
90
  Municipality.is(jurisdiction.municipality));
73
91
  }
@@ -84,7 +102,7 @@ export class SchoolDistrictJurisdictionAux extends JurisdictionAux {
84
102
  this.school_district = jurisdiction.school_district;
85
103
  }
86
104
  static is(jurisdiction) {
87
- return (jurisdiction !== undefined &&
105
+ return (JurisdictionAux.is(jurisdiction) &&
88
106
  jurisdiction.jurisdiction_type_id === "school_district" &&
89
107
  SchoolDistrict.is(jurisdiction.school_district));
90
108
  }
@@ -101,7 +119,7 @@ export class FederalCensusTractJurisdictionAux extends JurisdictionAux {
101
119
  this.federal_census_tract = jurisdiction.federal_census_tract;
102
120
  }
103
121
  static is(jurisdiction) {
104
- return (jurisdiction !== undefined &&
122
+ return (JurisdictionAux.is(jurisdiction) &&
105
123
  jurisdiction.jurisdiction_type_id === "federal_census_tract" &&
106
124
  FederalCensusTract.is(jurisdiction.federal_census_tract));
107
125
  }
@@ -118,7 +136,7 @@ export class FederalCensusBlockJurisdictionAux extends JurisdictionAux {
118
136
  this.federal_census_block = jurisdiction.federal_census_block;
119
137
  }
120
138
  static is(jurisdiction) {
121
- return (jurisdiction !== undefined &&
139
+ return (JurisdictionAux.is(jurisdiction) &&
122
140
  jurisdiction.jurisdiction_type_id === "federal_census_block" &&
123
141
  FederalCensusBlock.is(jurisdiction.federal_census_block));
124
142
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "triangle-types",
3
- "version": "1.0.293",
3
+ "version": "1.0.295",
4
4
  "main": "dist/src/index.js",
5
5
  "types": "dist/src/index.d.ts",
6
6
  "scripts": {
@@ -4,6 +4,7 @@ import { County } from "./County"
4
4
  import { JurisdictionMetric } from "./JurisdictionMetric"
5
5
  import { Municipality } from "./Municipality"
6
6
  import { SchoolDistrict } from "./SchoolDistrict"
7
+ import { State } from "./State"
7
8
 
8
9
  export const jurisdiction_type_ids = ["state", "federal_congress_district", "state_legislature_district", "county", "municipality", "school_district", "federal_census_tract", "federal_census_block"] as const
9
10
 
@@ -50,12 +51,35 @@ export class JurisdictionAux extends Jurisdiction {
50
51
 
51
52
  static is(jurisdiction : any) : jurisdiction is JurisdictionAux {
52
53
  return (
53
- jurisdiction !== undefined &&
54
+ Jurisdiction.is(jurisdiction) &&
54
55
  Array.isArray(jurisdiction.metrics) && jurisdiction.metrics.every(JurisdictionMetric.is)
55
56
  )
56
57
  }
57
58
  }
58
59
 
60
+ export class StateJurisdictionAux extends JurisdictionAux {
61
+ readonly jurisdiction_type_id : "state"
62
+ readonly state : State
63
+
64
+
65
+ constructor(jurisdiction : any) {
66
+ if (!StateJurisdictionAux.is(jurisdiction)) {
67
+ throw Error("Invalid input.")
68
+ }
69
+ super(jurisdiction)
70
+ this.jurisdiction_type_id = jurisdiction.jurisdiction_type_id
71
+ this.state = jurisdiction.state
72
+ }
73
+
74
+ static is(jurisdiction : any) : jurisdiction is StateJurisdictionAux {
75
+ return (
76
+ JurisdictionAux.is(jurisdiction) &&
77
+ jurisdiction.jurisdiction_type_id === "state" &&
78
+ State.is(jurisdiction.state)
79
+ )
80
+ }
81
+ }
82
+
59
83
  export class CountyJurisdictionAux extends JurisdictionAux {
60
84
  readonly jurisdiction_type_id : "county"
61
85
  readonly county : County
@@ -72,7 +96,7 @@ export class CountyJurisdictionAux extends JurisdictionAux {
72
96
 
73
97
  static is(jurisdiction : any) : jurisdiction is CountyJurisdictionAux {
74
98
  return (
75
- jurisdiction !== undefined &&
99
+ JurisdictionAux.is(jurisdiction) &&
76
100
  jurisdiction.jurisdiction_type_id === "county" &&
77
101
  County.is(jurisdiction.county)
78
102
  )
@@ -95,7 +119,7 @@ export class MunicipalityJurisdictionAux extends JurisdictionAux {
95
119
 
96
120
  static is(jurisdiction : any) : jurisdiction is MunicipalityJurisdictionAux {
97
121
  return (
98
- jurisdiction !== undefined &&
122
+ JurisdictionAux.is(jurisdiction) &&
99
123
  jurisdiction.jurisdiction_type_id === "municipality" &&
100
124
  Municipality.is(jurisdiction.municipality)
101
125
  )
@@ -118,7 +142,7 @@ export class SchoolDistrictJurisdictionAux extends JurisdictionAux {
118
142
 
119
143
  static is(jurisdiction : any) : jurisdiction is SchoolDistrictJurisdictionAux {
120
144
  return (
121
- jurisdiction !== undefined &&
145
+ JurisdictionAux.is(jurisdiction) &&
122
146
  jurisdiction.jurisdiction_type_id === "school_district" &&
123
147
  SchoolDistrict.is(jurisdiction.school_district)
124
148
  )
@@ -141,7 +165,7 @@ export class FederalCensusTractJurisdictionAux extends JurisdictionAux {
141
165
 
142
166
  static is(jurisdiction : any) : jurisdiction is FederalCensusTractJurisdictionAux {
143
167
  return (
144
- jurisdiction !== undefined &&
168
+ JurisdictionAux.is(jurisdiction) &&
145
169
  jurisdiction.jurisdiction_type_id === "federal_census_tract" &&
146
170
  FederalCensusTract.is(jurisdiction.federal_census_tract)
147
171
  )
@@ -164,7 +188,7 @@ export class FederalCensusBlockJurisdictionAux extends JurisdictionAux {
164
188
 
165
189
  static is(jurisdiction : any) : jurisdiction is FederalCensusBlockJurisdictionAux {
166
190
  return (
167
- jurisdiction !== undefined &&
191
+ JurisdictionAux.is(jurisdiction) &&
168
192
  jurisdiction.jurisdiction_type_id === "federal_census_block" &&
169
193
  FederalCensusBlock.is(jurisdiction.federal_census_block)
170
194
  )