@dra2020/district-analytics 1.0.6 → 1.0.7

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 (75) hide show
  1. package/dist/cli.js +102 -52
  2. package/dist/cli.js.map +1 -1
  3. package/dist/district-analytics.js +102 -52
  4. package/dist/district-analytics.js.map +1 -1
  5. package/lib/HelloWorld.d.ts +3 -0
  6. package/lib/HelloWorld.js +11 -0
  7. package/lib/_api.js +91 -0
  8. package/lib/_api.js.map +1 -0
  9. package/lib/_cli.js +434 -0
  10. package/lib/_cli.js.map +1 -0
  11. package/lib/_data.js +425 -0
  12. package/lib/_data.js.map +1 -0
  13. package/lib/analyze.d.ts +3 -0
  14. package/lib/analyze.js +69 -0
  15. package/lib/analyze.js.map +1 -0
  16. package/lib/api.d.ts +34 -0
  17. package/lib/api.js +117 -0
  18. package/lib/api.js.map +1 -0
  19. package/lib/cli.d.ts +1 -0
  20. package/lib/cli.js +386 -0
  21. package/lib/cli.js.map +1 -0
  22. package/lib/cohesive.d.ts +4 -0
  23. package/lib/cohesive.js +132 -0
  24. package/lib/cohesive.js.map +1 -0
  25. package/lib/compact.d.ts +4 -0
  26. package/lib/compact.js +183 -0
  27. package/lib/compact.js.map +1 -0
  28. package/lib/constants.js +367 -0
  29. package/lib/constants.js.map +1 -0
  30. package/lib/data.js +188 -0
  31. package/lib/data.js.map +1 -0
  32. package/lib/equal.d.ts +4 -0
  33. package/lib/equal.js +59 -0
  34. package/lib/equal.js.map +1 -0
  35. package/lib/features.js +19 -0
  36. package/lib/features.js.map +1 -0
  37. package/lib/geofeature.js +112 -0
  38. package/lib/geofeature.js.map +1 -0
  39. package/lib/index.d.ts +5 -0
  40. package/lib/index.js +11 -0
  41. package/lib/index.js.map +1 -0
  42. package/lib/minority.d.ts +3 -0
  43. package/lib/minority.js +61 -0
  44. package/lib/minority.js.map +1 -0
  45. package/lib/political.d.ts +7 -0
  46. package/lib/political.js +88 -0
  47. package/lib/political.js.map +1 -0
  48. package/lib/preprocess.d.ts +4 -0
  49. package/lib/preprocess.js +101 -0
  50. package/lib/preprocess.js.map +1 -0
  51. package/lib/report.d.ts +14 -0
  52. package/lib/report.js +817 -0
  53. package/lib/report.js.map +1 -0
  54. package/lib/sample.d.ts +1 -0
  55. package/lib/sample.js +32 -0
  56. package/lib/sample.js.map +1 -0
  57. package/lib/scorecard.d.ts +4 -0
  58. package/lib/scorecard.js +237 -0
  59. package/lib/scorecard.js.map +1 -0
  60. package/lib/settings.d.ts +5 -0
  61. package/lib/settings.js +18 -0
  62. package/lib/settings.js.map +1 -0
  63. package/lib/types.d.ts +125 -0
  64. package/lib/types.js +7 -0
  65. package/lib/types.js.map +1 -0
  66. package/lib/utils.d.ts +20 -0
  67. package/lib/utils.js +223 -0
  68. package/lib/utils.js.map +1 -0
  69. package/lib/valid.d.ts +5 -0
  70. package/lib/valid.js +230 -0
  71. package/lib/valid.js.map +1 -0
  72. package/package.json +2 -2
  73. package/src/_api.ts +1 -0
  74. package/src/_data.ts +42 -19
  75. package/src/report.ts +59 -34
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report.js","sourceRoot":"","sources":["../src/report.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
package/lib/sample.js ADDED
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ // SAMPLE CODE TO TEST THE ANALYTICS & VALIDATIONS
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ var fs = require("fs");
5
+ console.log("In sample.ts ...");
6
+ // TODO - Read a BG.json Census file
7
+ function getJSON(file, exitOnFail) {
8
+ if (exitOnFail === void 0) { exitOnFail = true; }
9
+ try {
10
+ var s = fs.readFileSync(file, 'utf8');
11
+ var o = JSON.parse(s);
12
+ return o;
13
+ }
14
+ catch (err) {
15
+ if (exitOnFail) {
16
+ console.error("stat: problem reading json: " + err.message);
17
+ process.exit(1);
18
+ }
19
+ else
20
+ return null;
21
+ }
22
+ }
23
+ var f = '/Users/alecramsay/src/district-analytics/data/NC-BG-data.json';
24
+ var census = getJSON(f);
25
+ console.log("... done.");
26
+ // TODO - Read a BG.??? map file
27
+ // TODO - Calculate population deviation
28
+ // TODO - Read a BG.geojson shape file
29
+ // TODO - Make district shapes
30
+ // TODO - Calculate Reock compactness
31
+ // TODO - Calculate Polsby-Popper compactness
32
+ //# sourceMappingURL=sample.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sample.js","sourceRoot":"","sources":["../src/sample.ts"],"names":[],"mappings":";AAAA,kDAAkD;;AAElD,uBAAyB;AAEzB,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;AAE/B,oCAAoC;AAEpC,SAAS,OAAO,CAAC,IAAY,EAAE,UAA0B;IAA1B,2BAAA,EAAA,iBAA0B;IAEvD,IACA;QACE,IAAI,CAAC,GAAW,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,GAAQ,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3B,OAAO,CAAC,CAAC;KACV;IACD,OAAO,GAAG,EACV;QACE,IAAI,UAAU,EACd;YACE,OAAO,CAAC,KAAK,CAAC,iCAA+B,GAAG,CAAC,OAAS,CAAC,CAAC;YAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACjB;;YAEC,OAAO,IAAI,CAAC;KACf;AACH,CAAC;AAED,IAAI,CAAC,GAAW,+DAA+D,CAAA;AAE/E,IAAI,MAAM,GAAQ,OAAO,CAAC,CAAC,CAAC,CAAA;AAE5B,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;AAGxB,gCAAgC;AAEhC,wCAAwC;AAGxC,sCAAsC;AAEtC,8BAA8B;AAC9B,qCAAqC;AACrC,6CAA6C"}
@@ -0,0 +1,4 @@
1
+ import { AnalyticsSession } from './api';
2
+ export declare function doConfigureScales(s: AnalyticsSession): void;
3
+ export declare function doFormatScorecard(s: AnalyticsSession): any;
4
+ export declare function doFormatTestLog(s: AnalyticsSession): any;
@@ -0,0 +1,237 @@
1
+ "use strict";
2
+ //
3
+ // GENERATE A SCORECARD
4
+ //
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var _a;
7
+ var T = require("./types");
8
+ var U = require("./utils");
9
+ // The notion of a scorecard is:
10
+ // - A subset of analytics & validations
11
+ // - Normalized, if numeric
12
+ // - Organized into several dimensions/categories
13
+ // - With combined category scores, and
14
+ // - Those combined into an overall score
15
+ // Specify meta-data for programmatically generating a scorecard
16
+ // Category-by-category definitions and then the overall scorecard
17
+ var validCategory = {
18
+ catName: "Valid",
19
+ catTests: [
20
+ {
21
+ testID: 0 /* Complete */,
22
+ testName: "Complete",
23
+ // testNormalizep: false,
24
+ testWeight: 100
25
+ }
26
+ ],
27
+ catNumeric: false,
28
+ catWeight: undefined
29
+ };
30
+ var equalCategory = {
31
+ catName: "Equal Population",
32
+ catTests: [
33
+ {
34
+ testID: 3 /* PopulationDeviation */,
35
+ testName: "Population Deviation (%)",
36
+ // testNormalizep: true,
37
+ testWeight: 100
38
+ }
39
+ ],
40
+ catNumeric: true,
41
+ catWeight: undefined
42
+ };
43
+ // TODO - More categories ...
44
+ var scorecardDefn = (_a = {},
45
+ _a[T.ScorecardCategories.Valid] = validCategory,
46
+ _a[T.ScorecardCategories.EqualPopulation] = equalCategory,
47
+ _a);
48
+ // Configure scale parameters for normalizing each raw test result
49
+ // NOTE - This needs to be separate from the scorecard configuration info above,
50
+ // because some scales need access to the analytics session object.
51
+ function doConfigureScales(s) {
52
+ // Scale defn for PopulationDeviation
53
+ var CDLimit = 0.75 / 100; // Deviation threshold for CD's
54
+ var LDLimit = 10.00 / 100; // Deviation threshold for LD's
55
+ var CDGoodEnough = 0.20 / 100;
56
+ var LDGoodEnough = (CDGoodEnough / CDLimit) * LDLimit;
57
+ var scale = (s._LegislativeDistricts) ? [1.0 - LDLimit, 1.0 - LDGoodEnough] : [1.0 - CDLimit, 1.0 - CDGoodEnough];
58
+ // const scale = [1.0 - CDLimit, 1.0 - CDGoodEnough];
59
+ s._testScales[3 /* PopulationDeviation */] = { testScale: scale, testInvertp: true };
60
+ // TODO - More analytics ...
61
+ }
62
+ exports.doConfigureScales = doConfigureScales;
63
+ // Prepare an *unformatted* scorecard (just the dict structure)
64
+ function doGenerateScorecard(s) {
65
+ // Create a new scorecard
66
+ var scorecard = {};
67
+ // TODO - Create a scorecard header, including a title
68
+ // Get the scorecard categories that are defined ...
69
+ var categories = (Object.keys(scorecardDefn)).map(Number);
70
+ // ... and initialize each one in the new scorecard
71
+ for (var _i = 0, categories_1 = categories; _i < categories_1.length; _i++) {
72
+ var c = categories_1[_i];
73
+ scorecard[c] = {};
74
+ scorecard[c]['catName'] = scorecardDefn[c]['catName'];
75
+ scorecard[c]['catTests'] = {};
76
+ // scorecard[c]['catScore'] = undefined;
77
+ }
78
+ // For each scorecard category
79
+ for (var _a = 0, categories_2 = categories; _a < categories_2.length; _a++) {
80
+ var c = categories_2[_a];
81
+ // Grab the scorecard category definition
82
+ var _b = scorecardDefn[c], catName = _b.catName, catTests = _b.catTests, catNumeric = _b.catNumeric, catWeight = _b.catWeight;
83
+ var numericCategoryScore = 0;
84
+ var booleanCategoryScore = true;
85
+ // Process the results for each test result in the category
86
+ for (var _c = 0, catTests_1 = catTests; _c < catTests_1.length; _c++) {
87
+ var testDefn = catTests_1[_c];
88
+ // Get the config info for the test
89
+ var testID = testDefn.testID, testName = testDefn.testName, testWeight = testDefn.testWeight;
90
+ // ... and the actual test result
91
+ var testResult = s.getTest(testID);
92
+ // Create a new test entry for the scorecard
93
+ // TODO - Do I need to copy the results here?
94
+ var testReport = {};
95
+ testReport['score'] = testResult['score'];
96
+ testReport['details'] = testResult['details'];
97
+ testReport['districtWIP'] = testResult['districtWIP'];
98
+ if (catNumeric) {
99
+ // Normalize raw numeric scores ...
100
+ var rawScore = testResult['score'];
101
+ var normalizedScore = void 0;
102
+ var _d = s._testScales[testID], testScale = _d.testScale, testInvertp = _d.testInvertp;
103
+ normalizedScore = U.normalize(rawScore, testScale, testInvertp);
104
+ testReport['normalizedScore'] = normalizedScore;
105
+ // ... and accumulate a category score
106
+ numericCategoryScore += normalizedScore * (testWeight / 100);
107
+ }
108
+ else {
109
+ // AND together pass/fail tests into a category score
110
+ if (!testReport['score']) {
111
+ booleanCategoryScore = false;
112
+ }
113
+ }
114
+ scorecard[c]['catTests'][testID] = testReport;
115
+ }
116
+ // Set the category score
117
+ if (catNumeric) {
118
+ scorecard[c]['catScore'] = numericCategoryScore;
119
+ }
120
+ else {
121
+ scorecard[c]['catScore'] = booleanCategoryScore;
122
+ }
123
+ }
124
+ // TODO - Compute an overall score from the category weights
125
+ // Cache the new scorecard
126
+ s._scorecard = scorecard;
127
+ return scorecard;
128
+ }
129
+ // Format an unformatted scorecard structure for rendering
130
+ function doFormatScorecard(s) {
131
+ console.log("TODO - Formatting a scorecard for rendering ...");
132
+ // Get the unformatted scorecard as input
133
+ var unformattedScorecard = doGenerateScorecard(s);
134
+ // Initialize the output format
135
+ var text = { data: [] };
136
+ var blocks = text.data;
137
+ // Format each scorecard category
138
+ var categories = (Object.keys(unformattedScorecard)).map(Number);
139
+ for (var _i = 0, categories_3 = categories; _i < categories_3.length; _i++) {
140
+ var c = categories_3[_i];
141
+ var _a = unformattedScorecard[c], catName = _a.catName, catScore = _a.catScore, catTests = _a.catTests;
142
+ var test_1 = void 0;
143
+ switch (c) {
144
+ case T.ScorecardCategories.Valid:
145
+ // This section parses & formats the Valid section.
146
+ // There are 3 tests.
147
+ blocks.push({ variant: 'what-tag?', text: "Category: " + catName });
148
+ test_1 = catTests[0 /* Complete */];
149
+ blocks.push({ variant: 'what-tag?', text: "* Complete: " + test_1['score'] });
150
+ // TODO - Contiguous
151
+ blocks.push({ variant: 'what-tag?', text: "* Contiguous: NIY" });
152
+ // TODO - Free of holes
153
+ blocks.push({ variant: 'what-tag?', text: "* Free of holes: NIY" });
154
+ // Add an overall category score
155
+ blocks.push({ variant: 'what-tag?', text: "Overall: " + catScore });
156
+ blocks.push({ variant: 'what-tag?', text: "" });
157
+ break;
158
+ case T.ScorecardCategories.EqualPopulation:
159
+ // This section parses & formats the Equal Population section.
160
+ // There's only one test: Population Deviation (%).
161
+ test_1 = catTests[3 /* PopulationDeviation */];
162
+ var maxDeviation = test_1['details']['maxDeviation'];
163
+ blocks.push({ variant: 'what-tag?', text: "Category: " + catName });
164
+ blocks.push({ variant: 'what-tag?', text: "* Population Deviation (%): " + test_1['score'] });
165
+ blocks.push({ variant: 'what-tag?', text: "* Maximum deviation between districts (# people): " + maxDeviation });
166
+ // Add an overall category score
167
+ blocks.push({ variant: 'what-tag?', text: "Overall (normalized 0-100): " + test_1['normalizedScore'] });
168
+ blocks.push({ variant: 'what-tag?', text: "" });
169
+ break;
170
+ default: {
171
+ console.log("ERROR - Scorecard catgory not defined.");
172
+ break;
173
+ }
174
+ }
175
+ }
176
+ // TODO - What dra-client returns from renderAnalyzeCore()
177
+ // return <STV.StaticTextView text={ text } />;
178
+ return text;
179
+ }
180
+ exports.doFormatScorecard = doFormatScorecard;
181
+ // Format unformatted test results for rendering
182
+ function doFormatTestLog(s) {
183
+ console.log("TODO - Formatting a test log for rendering ...");
184
+ // Get the unformatted test entries
185
+ var unformattedTestlog = s._tests;
186
+ // Initialize the output format
187
+ var text = { data: [] };
188
+ var blocks = text.data;
189
+ // Format each test entry
190
+ var testResults = (Object.keys(unformattedTestlog)).map(Number);
191
+ for (var _i = 0, testResults_1 = testResults; _i < testResults_1.length; _i++) {
192
+ var testID = testResults_1[_i];
193
+ // Get the test
194
+ var testResult = s.getTest(testID);
195
+ // Copy the results
196
+ var testReport = {};
197
+ testReport['score'] = testResult['score'];
198
+ testReport['details'] = testResult['details'];
199
+ // testReport['districtWIP'] = testResult['districtWIP'];
200
+ var testName = void 0;
201
+ switch (testID) {
202
+ case 0 /* Complete */:
203
+ // Format the Complete test result
204
+ testName = "Complete"; // TODO - Fix
205
+ blocks.push({ variant: 'what-tag?', text: "Test: " + testName });
206
+ blocks.push({ variant: 'what-tag?', text: "Score: " + testReport['score'] });
207
+ blocks.push({ variant: 'what-tag?', text: "Detail: Unassigned features: " + testReport['details']['unassignedFeatures'] });
208
+ blocks.push({ variant: 'what-tag?', text: "Detail: Empty Districts: " + testReport['details']['emptyDistricts'] });
209
+ blocks.push({ variant: 'what-tag?', text: "" });
210
+ break;
211
+ case 3 /* PopulationDeviation */:
212
+ // Format the Population Deviation test result
213
+ testName = "Population Deviation (%)"; // TODO - Fix
214
+ blocks.push({ variant: 'what-tag?', text: "Test: " + testName });
215
+ blocks.push({ variant: 'what-tag?', text: "Score: " + testReport['score'] });
216
+ blocks.push({ variant: 'what-tag?', text: "Detail: Maximum deviation between districts (# people): " + testReport['details']['maxDeviation'] });
217
+ blocks.push({ variant: 'what-tag?', text: "" });
218
+ break;
219
+ case 12 /* EfficiencyGap */:
220
+ // Format the Efficiency Gap test result
221
+ testName = "Efficiency Gap (%)"; // TODO - Fix
222
+ blocks.push({ variant: 'what-tag?', text: "Test: " + testName });
223
+ blocks.push({ variant: 'what-tag?', text: "Score: " + testReport['score'] });
224
+ blocks.push({ variant: 'what-tag?', text: "" });
225
+ break;
226
+ default: {
227
+ // Test not defined yet ...
228
+ break;
229
+ }
230
+ }
231
+ }
232
+ // TODO - What dra-client returns from renderAnalyzeCore()
233
+ // return <STV.StaticTextView text={ text } />;
234
+ return text;
235
+ }
236
+ exports.doFormatTestLog = doFormatTestLog;
237
+ //# sourceMappingURL=scorecard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scorecard.js","sourceRoot":"","sources":["../src/scorecard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare const PRECISION: number;
2
+ export declare const NORMALIZED_RANGE: number;
3
+ export declare const NOT_ASSIGNED: number;
4
+ export declare const NUMBER_OF_ITEMS_TO_REPORT: number;
5
+ export declare const OUT_OF_STATE: string;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ //
3
+ // GLOBAL CONSTANTS
4
+ //
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ // Keep four decimal places for fractions [0–1], i.e.,
7
+ // keep two decimal places for %'s [0–100].
8
+ exports.PRECISION = 4;
9
+ // Normalized scores [0-100]
10
+ exports.NORMALIZED_RANGE = 100;
11
+ // The dummy district ID for features not assigned districts yet
12
+ exports.NOT_ASSIGNED = 0;
13
+ // TODO - Discuss w/ Dave & Terry
14
+ // # of items to report as problematic (e.g., features, districts, etc.)
15
+ exports.NUMBER_OF_ITEMS_TO_REPORT = 10;
16
+ // The virtual geoID for "neighbors" in other states
17
+ exports.OUT_OF_STATE = "OUT_OF_STATE";
18
+ //# sourceMappingURL=settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,mBAAmB;AACnB,EAAE;;AAEF,sDAAsD;AACtD,2CAA2C;AAC9B,QAAA,SAAS,GAAW,CAAC,CAAC;AAEnC,4BAA4B;AACf,QAAA,gBAAgB,GAAW,GAAG,CAAC;AAE5C,gEAAgE;AACnD,QAAA,YAAY,GAAW,CAAC,CAAC;AAEtC,iCAAiC;AACjC,wEAAwE;AAC3D,QAAA,yBAAyB,GAAW,EAAE,CAAC;AAEpD,oDAAoD;AACvC,QAAA,YAAY,GAAW,cAAc,CAAC"}
package/lib/types.d.ts ADDED
@@ -0,0 +1,125 @@
1
+ import * as geojson from 'geojson';
2
+ export declare const enum Suite {
3
+ Legal = 0,
4
+ Fair = 1,
5
+ Best = 2
6
+ }
7
+ export declare type SessionRequest = {
8
+ title: string;
9
+ nDistricts: number;
10
+ legislativeDistricts: boolean;
11
+ planByGeoID: PlanByGeoID;
12
+ census: CensusExtract;
13
+ election: ElectionModel;
14
+ districtProperties: DistrictWIP;
15
+ graph: ContiguityGraph;
16
+ counties: FIPSCodeToCountyNameMap;
17
+ config: {};
18
+ };
19
+ export declare type PlanByGeoID = {
20
+ [geoID: string]: number;
21
+ };
22
+ export declare type PlanByDistrictID = {
23
+ [districtID: number]: Set<string>;
24
+ };
25
+ export declare type CensusFields = {
26
+ county: string;
27
+ total: number;
28
+ white: number;
29
+ black: number;
30
+ hispanic: number;
31
+ whiteHispanic: number;
32
+ total18: number;
33
+ white18: number;
34
+ black18: number;
35
+ hispanic18: number;
36
+ whiteHispanic18: number;
37
+ };
38
+ export declare type CensusExtract = {
39
+ [geoID: string]: CensusFields;
40
+ };
41
+ export declare type FIPSCodeToCountyNameMap = {
42
+ [FIPSCode: string]: string;
43
+ };
44
+ export declare type FIPSToOrdinalMap = {
45
+ [FIPSCode: string]: number;
46
+ };
47
+ export declare type districtToOrdinalMap = {
48
+ [districtID: number]: number;
49
+ };
50
+ export declare type GeoFeature = geojson.Feature;
51
+ export declare type GeoFeatureArray = GeoFeature[];
52
+ export declare type GeoFeatureCollection = geojson.FeatureCollection;
53
+ export interface GeoFeatureMap {
54
+ [geoID: string]: GeoFeature;
55
+ }
56
+ export declare type ContiguityGraph = {
57
+ [geoID: string]: Neighbors;
58
+ };
59
+ export declare type Neighbors = {
60
+ [geoID: string]: number;
61
+ };
62
+ export declare type VoteTriple = [number, number, number];
63
+ export declare const enum VoteType {
64
+ Democratic = 0,
65
+ Republican = 1,
66
+ Total = 2
67
+ }
68
+ export declare type ElectionModel = {
69
+ [geoID: string]: VoteTriple;
70
+ };
71
+ export declare type TestScale = {
72
+ testScale: Array<number>;
73
+ testInvertp: boolean;
74
+ };
75
+ export declare type TestScales = {
76
+ [test: number]: TestScale;
77
+ };
78
+ export declare type TestEntry = {
79
+ score?: number | boolean;
80
+ details: Dict;
81
+ districtWIP: DistrictWIP;
82
+ normalizedScore?: number;
83
+ };
84
+ export declare type DistrictWIP = {
85
+ [districtID: number]: any;
86
+ };
87
+ export declare const enum Test {
88
+ Complete = 0,
89
+ Contiguous = 1,
90
+ FreeOfHoles = 2,
91
+ EqualPopulation = 3,
92
+ PopulationDeviation = 4,
93
+ Reock = 5,
94
+ PolsbyPopper = 6,
95
+ CountySplits = 7,
96
+ Complexity = 8,
97
+ SeatsBias = 9,
98
+ VotesBias = 10,
99
+ Responsiveness = 11,
100
+ ResponsiveDistricts = 12,
101
+ EfficiencyGap = 13,
102
+ MajorityMinorityDistricts = 14
103
+ }
104
+ export declare type TestEntries = {
105
+ [test: number]: TestEntry;
106
+ };
107
+ export declare type DistrictShapeProperties = [number, number, number];
108
+ export declare const enum DistrictShapeProperty {
109
+ Area = 0,
110
+ Diameter = 1,
111
+ Perimeter = 2
112
+ }
113
+ export declare type GeoIDParts = {
114
+ state?: string;
115
+ county?: string;
116
+ tract?: string;
117
+ bg?: string;
118
+ block?: string;
119
+ };
120
+ export declare type GeoIDTotal = {
121
+ [geoID: string]: number;
122
+ };
123
+ export declare type Dict = {
124
+ [key: string]: any;
125
+ };
package/lib/types.js ADDED
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ //
3
+ // TYPE DEFINITIONS
4
+ //
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ // END
7
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,mBAAmB;AACnB,EAAE;;AAsLF,MAAM"}
package/lib/utils.d.ts ADDED
@@ -0,0 +1,20 @@
1
+ import * as T from './types';
2
+ export declare function isInState(geoID: string): boolean;
3
+ export declare function isOutOfState(geoID: string): boolean;
4
+ export declare function getDistrict(plan: T.PlanByGeoID, geoID: string): number | undefined;
5
+ export declare function parseGeoID(geoID: string): T.GeoIDParts;
6
+ export declare function getFIPSFromCountyGeoID(geoID: string): string;
7
+ export declare function normalize(rawScore: number, scale: Array<number>, invertp?: boolean): number;
8
+ export declare function trim(fullFraction: number): number;
9
+ export declare function keyExists(k: string, o: object): boolean;
10
+ export declare function isObjectEmpty(o: object): boolean;
11
+ export declare function isSetEmpty(s: any): boolean;
12
+ export declare function isArrayEmpty(a: any[]): boolean;
13
+ export declare function getObjectKeys(o: object): string[];
14
+ export declare function getNumericObjectKeys(o: object): number[];
15
+ export declare function getSelectObjectKeys(o: T.Dict, v: any[]): string[];
16
+ export declare function arrayContains(a: any[], item: any): boolean;
17
+ export declare function objectContains(o: object, key: any): boolean;
18
+ export declare function shallowCopy(src: any): any;
19
+ export declare function deepCopy(src: any): any;
20
+ export { depthof } from '@dra2020/util';