@dra2020/district-analytics 1.0.7 → 1.0.8

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 (132) hide show
  1. package/README.md +5 -5
  2. package/dist/district-analytics.js +1315 -1205
  3. package/package.json +6 -3
  4. package/.prettierrc +0 -5
  5. package/dist/_api.d.ts +0 -27
  6. package/dist/_data.d.ts +0 -130
  7. package/dist/analyze.d.ts +0 -4
  8. package/dist/cli.js +0 -12091
  9. package/dist/cli.js.map +0 -1
  10. package/dist/cohesive.d.ts +0 -4
  11. package/dist/compact.d.ts +0 -5
  12. package/dist/constants.d.ts +0 -6
  13. package/dist/district-analytics.js.map +0 -1
  14. package/dist/equal.d.ts +0 -4
  15. package/dist/geofeature.d.ts +0 -3
  16. package/dist/index.d.ts +0 -2
  17. package/dist/minority.d.ts +0 -3
  18. package/dist/political.d.ts +0 -8
  19. package/dist/preprocess.d.ts +0 -2
  20. package/dist/report.d.ts +0 -15
  21. package/dist/settings.d.ts +0 -5
  22. package/dist/src/_api.d.ts +0 -27
  23. package/dist/src/_data.d.ts +0 -130
  24. package/dist/src/analyze.d.ts +0 -4
  25. package/dist/src/cohesive.d.ts +0 -4
  26. package/dist/src/compact.d.ts +0 -5
  27. package/dist/src/constants.d.ts +0 -6
  28. package/dist/src/equal.d.ts +0 -4
  29. package/dist/src/geofeature.d.ts +0 -3
  30. package/dist/src/index.d.ts +0 -2
  31. package/dist/src/minority.d.ts +0 -3
  32. package/dist/src/political.d.ts +0 -8
  33. package/dist/src/preprocess.d.ts +0 -2
  34. package/dist/src/report.d.ts +0 -15
  35. package/dist/src/settings.d.ts +0 -5
  36. package/dist/src/types.d.ts +0 -110
  37. package/dist/src/utils.d.ts +0 -28
  38. package/dist/src/valid.d.ts +0 -8
  39. package/dist/test/_cli.d.ts +0 -5
  40. package/dist/types.d.ts +0 -110
  41. package/dist/utils.d.ts +0 -28
  42. package/dist/valid.d.ts +0 -8
  43. package/jestconfig.json +0 -14
  44. package/lib/HelloWorld.d.ts +0 -3
  45. package/lib/HelloWorld.js +0 -11
  46. package/lib/_api.js +0 -91
  47. package/lib/_api.js.map +0 -1
  48. package/lib/_cli.js +0 -434
  49. package/lib/_cli.js.map +0 -1
  50. package/lib/_data.js +0 -425
  51. package/lib/_data.js.map +0 -1
  52. package/lib/analyze.d.ts +0 -3
  53. package/lib/analyze.js +0 -69
  54. package/lib/analyze.js.map +0 -1
  55. package/lib/api.d.ts +0 -34
  56. package/lib/api.js +0 -117
  57. package/lib/api.js.map +0 -1
  58. package/lib/cli.d.ts +0 -1
  59. package/lib/cli.js +0 -386
  60. package/lib/cli.js.map +0 -1
  61. package/lib/cohesive.d.ts +0 -4
  62. package/lib/cohesive.js +0 -132
  63. package/lib/cohesive.js.map +0 -1
  64. package/lib/compact.d.ts +0 -4
  65. package/lib/compact.js +0 -183
  66. package/lib/compact.js.map +0 -1
  67. package/lib/constants.js +0 -367
  68. package/lib/constants.js.map +0 -1
  69. package/lib/data.js +0 -188
  70. package/lib/data.js.map +0 -1
  71. package/lib/equal.d.ts +0 -4
  72. package/lib/equal.js +0 -59
  73. package/lib/equal.js.map +0 -1
  74. package/lib/features.js +0 -19
  75. package/lib/features.js.map +0 -1
  76. package/lib/geofeature.js +0 -112
  77. package/lib/geofeature.js.map +0 -1
  78. package/lib/index.d.ts +0 -5
  79. package/lib/index.js +0 -11
  80. package/lib/index.js.map +0 -1
  81. package/lib/minority.d.ts +0 -3
  82. package/lib/minority.js +0 -61
  83. package/lib/minority.js.map +0 -1
  84. package/lib/political.d.ts +0 -7
  85. package/lib/political.js +0 -88
  86. package/lib/political.js.map +0 -1
  87. package/lib/preprocess.d.ts +0 -4
  88. package/lib/preprocess.js +0 -101
  89. package/lib/preprocess.js.map +0 -1
  90. package/lib/report.d.ts +0 -14
  91. package/lib/report.js +0 -817
  92. package/lib/report.js.map +0 -1
  93. package/lib/sample.d.ts +0 -1
  94. package/lib/sample.js +0 -32
  95. package/lib/sample.js.map +0 -1
  96. package/lib/scorecard.d.ts +0 -4
  97. package/lib/scorecard.js +0 -237
  98. package/lib/scorecard.js.map +0 -1
  99. package/lib/settings.d.ts +0 -5
  100. package/lib/settings.js +0 -18
  101. package/lib/settings.js.map +0 -1
  102. package/lib/types.d.ts +0 -125
  103. package/lib/types.js +0 -7
  104. package/lib/types.js.map +0 -1
  105. package/lib/utils.d.ts +0 -20
  106. package/lib/utils.js +0 -223
  107. package/lib/utils.js.map +0 -1
  108. package/lib/valid.d.ts +0 -5
  109. package/lib/valid.js +0 -230
  110. package/lib/valid.js.map +0 -1
  111. package/main.js +0 -4
  112. package/src/_api.ts +0 -121
  113. package/src/_data.ts +0 -595
  114. package/src/analyze.ts +0 -92
  115. package/src/cohesive.ts +0 -156
  116. package/src/compact.ts +0 -208
  117. package/src/constants.ts +0 -371
  118. package/src/equal.ts +0 -75
  119. package/src/geofeature.ts +0 -138
  120. package/src/index.ts +0 -6
  121. package/src/minority.ts +0 -70
  122. package/src/political.ts +0 -114
  123. package/src/preprocess.ts +0 -132
  124. package/src/report.ts +0 -1022
  125. package/src/settings.ts +0 -20
  126. package/src/types.ts +0 -185
  127. package/src/utils.ts +0 -245
  128. package/src/valid.ts +0 -275
  129. package/tsconfig.json +0 -25
  130. package/tslint.json +0 -3
  131. package/types/polygon-clipping/index.d.ts +0 -1
  132. package/webpack.config.js +0 -73
@@ -1,5 +0,0 @@
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;
@@ -1,27 +0,0 @@
1
- import { Scorecard } from './report';
2
- import * as D from './_data';
3
- import * as T from './types';
4
- export declare class AnalyticsSession {
5
- title: string;
6
- legislativeDistricts: boolean;
7
- config: T.Dict;
8
- bOneTimeProcessingDone: boolean;
9
- bPlanAnalyzed: boolean;
10
- bPostProcessingDone: boolean;
11
- testScales: T.TestScales;
12
- tests: T.TestEntries;
13
- scorecard: Scorecard;
14
- state: D.State;
15
- counties: D.Counties;
16
- graph: D.Graph;
17
- features: D.Features;
18
- plan: D.Plan;
19
- districts: D.Districts;
20
- constructor(SessionRequest: T.SessionRequest);
21
- processConfig(config: T.Dict): T.Dict;
22
- analyzePlan(bLog?: boolean): boolean;
23
- getTest(testID: T.Test): T.TestEntry;
24
- prepareScorecard(): any;
25
- prepareTestLog(): any;
26
- populationDeviationThreshold(): number;
27
- }
@@ -1,130 +0,0 @@
1
- import * as T from './types';
2
- import { AnalyticsSession } from './_api';
3
- export declare enum DistrictField {
4
- TotalPop = 0,
5
- PopDevPct = 1,
6
- bEqualPop = 2,
7
- bNotEmpty = 3,
8
- bContiguous = 4,
9
- bNotEmbedded = 5,
10
- CountySplits = 6,
11
- DemVotes = 7,
12
- RepVotes = 8,
13
- TwoPartyVote = 9,
14
- DemPct = 10,
15
- RepPct = 11,
16
- DemSeat = 12,
17
- TotalVAP = 13,
18
- MinorityPop = 14,
19
- WhitePop = 15,
20
- BlackPop = 16,
21
- HispanicPop = 17,
22
- PacificPop = 18,
23
- AsianPop = 19,
24
- NativePop = 20,
25
- WhitePct = 21,
26
- MinorityPct = 22,
27
- BlackPct = 23,
28
- HispanicPct = 24,
29
- PacificPct = 25,
30
- AsianPct = 26,
31
- NativePct = 27
32
- }
33
- export declare const DisplayFields: DistrictField[];
34
- export declare class Districts {
35
- _session: AnalyticsSession;
36
- _shapes: T.GeoFeatureCollection;
37
- _geoProperties: T.DistrictProperties;
38
- statistics: any[][];
39
- constructor(s: AnalyticsSession, ds: T.GeoFeatureCollection);
40
- getShape(i: number): T.GeoFeature;
41
- getGeoProperties(i: number): any;
42
- setGeoProperties(i: number, p: T.DistrictShapeProperties): void;
43
- numberOfColumns(): number;
44
- numberOfRows(): number;
45
- numberOfWorkingDistricts(): number;
46
- initStatistics(): any[][];
47
- recalcStatistics(bLog?: boolean): void;
48
- extractDistrictShapeProperties(bLog?: boolean): void;
49
- getCountyIndex(geoID: string): number;
50
- }
51
- export declare const enum Dataset {
52
- CENSUS = "CENSUS",
53
- VAP = "VAP",
54
- ELECTION = "ELECTION"
55
- }
56
- export declare type DatasetKeys = {
57
- CENSUS: string;
58
- VAP: string;
59
- ELECTION: string;
60
- };
61
- export declare const DatasetDescriptions: any;
62
- export declare const enum FeatureField {
63
- TotalPop = "Tot",
64
- WhitePop = "Wh",
65
- BlackPop = "BlC",
66
- HispanicPop = "His",
67
- AsianPop = "AsnC",
68
- PacificPop = "PacC",
69
- NativePop = "NatC",
70
- DemVotes = "D",
71
- RepVotes = "R",
72
- TotalVotes = "Tot"
73
- }
74
- export declare class Features {
75
- _session: AnalyticsSession;
76
- _data: T.GeoFeatureCollection;
77
- _keys: DatasetKeys;
78
- _featureIDs: T.FeaturesByGeoID;
79
- constructor(s: AnalyticsSession, data: T.GeoFeatureCollection, keys: DatasetKeys);
80
- nFeatures(): number;
81
- featureByIndex(i: number): T.GeoFeature;
82
- geoIDForFeature(f: any): string;
83
- fieldForFeature(f: any, dt: Dataset, fk: string): any;
84
- resetDataset(d: Dataset, k: string): void;
85
- mapGeoIDsToFeatureIDs(): void;
86
- featureID(i: string): number;
87
- }
88
- export declare class Counties {
89
- _session: AnalyticsSession;
90
- _data: T.GeoFeatureCollection;
91
- _countyNameLookup: T.FIPSCodeToCountyNameMap;
92
- nCounties: number;
93
- index: T.FIPSToOrdinalMap;
94
- constructor(s: AnalyticsSession, data: T.GeoFeatureCollection);
95
- countyByIndex(i: number): T.GeoFeature;
96
- propertyForCounty(f: any, pk: string): any;
97
- mapFIPSToName(fips: string, name: string): void;
98
- nameFromFIPS(fips: string): string;
99
- indexFromFIPS(fips: string): number;
100
- }
101
- export declare class State {
102
- _session: AnalyticsSession;
103
- xx: string;
104
- nDistricts: number;
105
- totalPop: number;
106
- tooBigFIPS: string[];
107
- tooBigName: string[];
108
- expectedSplits: number;
109
- expectedAffected: number;
110
- constructor(s: AnalyticsSession, xx: string, n: number);
111
- }
112
- export declare class Plan {
113
- _session: AnalyticsSession;
114
- _planByGeoID: T.PlanByGeoID;
115
- _planByDistrictID: T.PlanByDistrictID;
116
- districtIDs: number[];
117
- constructor(s: AnalyticsSession, p: T.PlanByGeoID);
118
- invertPlan(): void;
119
- initializeDistrict(i: number): void;
120
- byGeoID(): T.PlanByGeoID;
121
- byDistrictID(): T.PlanByDistrictID;
122
- districtForGeoID(i: string): number;
123
- geoIDsForDistrictID(i: number): Set<string>;
124
- }
125
- export declare class Graph {
126
- _session: AnalyticsSession;
127
- _graph: T.ContiguityGraph;
128
- constructor(s: AnalyticsSession, graph: T.ContiguityGraph);
129
- peerNeighbors(node: string): string[];
130
- }
@@ -1,4 +0,0 @@
1
- import { AnalyticsSession } from './_api';
2
- export declare function doAnalyzeDistricts(s: AnalyticsSession, bLog?: boolean): void;
3
- export declare function doAnalyzePlan(s: AnalyticsSession, bLog?: boolean): void;
4
- export declare function doDeriveSecondaryTests(s: AnalyticsSession): void;
@@ -1,4 +0,0 @@
1
- import * as T from './types';
2
- import { AnalyticsSession } from './_api';
3
- export declare function doCountySplits(s: AnalyticsSession): T.TestEntry;
4
- export declare function doPlanComplexity(s: AnalyticsSession): T.TestEntry;
@@ -1,5 +0,0 @@
1
- import * as T from './types';
2
- import { AnalyticsSession } from './_api';
3
- export declare function doReock(s: AnalyticsSession, bLog?: boolean): T.TestEntry;
4
- export declare function doPolsbyPopper(s: AnalyticsSession, bLog?: boolean): T.TestEntry;
5
- export declare function extractDistrictProperties(s: AnalyticsSession, bLog?: boolean): void;
@@ -1,6 +0,0 @@
1
- export declare const StateXXToName: any;
2
- export declare const StateRequirements: any;
3
- export declare const MinorityDemographicDefns: any;
4
- export declare const VRASection5Preclearance: any;
5
- export declare const MajorityMinorityDistricts: any;
6
- export declare const StateMinorityContacts: any;
@@ -1,4 +0,0 @@
1
- import * as T from './types';
2
- import { AnalyticsSession } from './_api';
3
- export declare function doPopulationDeviation(s: AnalyticsSession): T.TestEntry;
4
- export declare function doHasEqualPopulations(s: AnalyticsSession): T.TestEntry;
@@ -1,3 +0,0 @@
1
- export declare function gfArea(poly: any): number;
2
- export declare function gfPerimeter(poly: any): number;
3
- export declare function gfDiameter(poly: any): number;
@@ -1,2 +0,0 @@
1
- export * from './_api';
2
- export * from './types';
@@ -1,3 +0,0 @@
1
- import * as T from './types';
2
- import { AnalyticsSession } from './_api';
3
- export declare function doMajorityMinorityDistricts(s: AnalyticsSession): T.TestEntry;
@@ -1,8 +0,0 @@
1
- import * as T from './types';
2
- import { AnalyticsSession } from './_api';
3
- export declare function doSeatsBias(s: AnalyticsSession): T.TestEntry;
4
- export declare function doVotesBias(s: AnalyticsSession): T.TestEntry;
5
- export declare function doResponsiveness(s: AnalyticsSession): T.TestEntry;
6
- export declare function doResponsiveDistricts(s: AnalyticsSession): T.TestEntry;
7
- export declare function doEfficiencyGap(s: AnalyticsSession): T.TestEntry;
8
- export declare function fptpWin(demPct: number): number;
@@ -1,2 +0,0 @@
1
- import { AnalyticsSession } from './_api';
2
- export declare function doPreprocessData(s: AnalyticsSession): void;
@@ -1,15 +0,0 @@
1
- import * as T from './types';
2
- import { AnalyticsSession } from './_api';
3
- export declare type Scorecard = {
4
- [category: number]: ScorecardCategoryEntry;
5
- };
6
- declare type ScorecardCategoryEntry = {
7
- catName: string;
8
- catScore?: number | boolean;
9
- catTests: T.TestEntries;
10
- };
11
- export declare function doConfigureScales(s: AnalyticsSession): void;
12
- export declare function doAnalyzePostProcessing(s: AnalyticsSession): void;
13
- export declare function doPrepareScorecard(s: AnalyticsSession): any;
14
- export declare function doPrepareTestLog(s: AnalyticsSession): any;
15
- export {};
@@ -1,5 +0,0 @@
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;
@@ -1,110 +0,0 @@
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
- stateXX: string;
10
- nDistricts: number;
11
- legislativeDistricts: boolean;
12
- plan: PlanByGeoID;
13
- data: GeoFeatureCollection;
14
- districtShapes: GeoFeatureCollection;
15
- districtProperties: DistrictProperties;
16
- graph: ContiguityGraph;
17
- countyNameLookup: FIPSCodeToCountyNameMap;
18
- counties: GeoFeatureCollection;
19
- config: {};
20
- };
21
- export declare type PlanByGeoID = {
22
- [geoID: string]: number;
23
- };
24
- export declare type PlanByDistrictID = {
25
- [districtID: number]: Set<string>;
26
- };
27
- export declare type FeaturesByGeoID = {
28
- [geoID: string]: number;
29
- };
30
- export declare type FIPSCodeToCountyNameMap = {
31
- [FIPSCode: string]: string;
32
- };
33
- export declare type FIPSToOrdinalMap = {
34
- [FIPSCode: string]: number;
35
- };
36
- export declare type GeoFeature = geojson.Feature;
37
- export declare type GeoFeatureArray = GeoFeature[];
38
- export declare type GeoFeatureCollection = geojson.FeatureCollection;
39
- export interface GeoFeatureMap {
40
- [geoID: string]: GeoFeature;
41
- }
42
- export declare type ContiguityGraph = {
43
- [geoID: string]: Neighbors;
44
- };
45
- export declare type Neighbors = {
46
- [geoID: string]: number;
47
- };
48
- export declare type VoteTriple = [number, number, number];
49
- export declare const enum VoteType {
50
- Democratic = 0,
51
- Republican = 1,
52
- Total = 2
53
- }
54
- export declare type TestScale = {
55
- testScale: Array<number>;
56
- testInvertp: boolean;
57
- };
58
- export declare type TestScales = {
59
- [test: number]: TestScale;
60
- };
61
- export declare type TestEntry = {
62
- score?: number | boolean;
63
- details: Dict;
64
- normalizedScore?: number;
65
- };
66
- export declare type DistrictWIP = {
67
- [districtID: number]: any;
68
- };
69
- export declare const enum Test {
70
- Complete = 0,
71
- Contiguous = 1,
72
- FreeOfHoles = 2,
73
- EqualPopulation = 3,
74
- PopulationDeviation = 4,
75
- Reock = 5,
76
- PolsbyPopper = 6,
77
- CountySplits = 7,
78
- Complexity = 8,
79
- SeatsBias = 9,
80
- VotesBias = 10,
81
- Responsiveness = 11,
82
- ResponsiveDistricts = 12,
83
- EfficiencyGap = 13,
84
- MajorityMinorityDistricts = 14
85
- }
86
- export declare type TestEntries = {
87
- [test: number]: TestEntry;
88
- };
89
- export declare type DistrictProperties = {
90
- [districtID: number]: any;
91
- };
92
- export declare type DistrictShapeProperties = [number, number, number];
93
- export declare const enum DistrictShapeProperty {
94
- Area = 0,
95
- Diameter = 1,
96
- Perimeter = 2
97
- }
98
- export declare type GeoIDParts = {
99
- state?: string;
100
- county?: string;
101
- tract?: string;
102
- bg?: string;
103
- block?: string;
104
- };
105
- export declare type GeoIDTotal = {
106
- [geoID: string]: number;
107
- };
108
- export declare type Dict = {
109
- [key: string]: any;
110
- };
@@ -1,28 +0,0 @@
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 invertPlan(plan: T.PlanByGeoID): T.PlanByDistrictID;
6
- export declare function parseGeoID(geoID: string): T.GeoIDParts;
7
- export declare function getFIPSFromCountyGeoID(geoID: string): string;
8
- export declare function normalize(rawScore: number, scale: Array<number>, invertp?: boolean): number;
9
- export declare function trim(fullFraction: number): number;
10
- export declare function sumArray(arr: number[]): number;
11
- export declare function avgArray(arr: number[]): number;
12
- export declare function minArray(arr: number[]): number;
13
- export declare function maxArray(arr: number[]): number;
14
- export declare function initArray(n: number, value: any): any[];
15
- export declare function andArray(arr: boolean[]): boolean;
16
- export declare function keyExists(k: string, o: object): boolean;
17
- export declare function isObjectEmpty(o: object): boolean;
18
- export declare function isSetEmpty(s: any): boolean;
19
- export declare function isArrayEmpty(a: any[]): boolean;
20
- export declare function getObjectKeys(o: object): string[];
21
- export declare function getNumericObjectKeys(o: object): number[];
22
- export declare function getSelectObjectKeys(o: T.Dict, v: any[]): string[];
23
- export declare function arrayContains(a: any[], item: any): boolean;
24
- export declare function objectContains(o: object, key: any): boolean;
25
- export declare function countEnumValues(enumName: any): number;
26
- export declare function shallowCopy(src: any): any;
27
- export declare function deepCopy(src: any): any;
28
- export { depthof } from '@dra2020/util';
@@ -1,8 +0,0 @@
1
- import * as T from './types';
2
- import * as D from './_data';
3
- import { AnalyticsSession } from './_api';
4
- export declare function doIsComplete(s: AnalyticsSession): T.TestEntry;
5
- export declare function doIsContiguous(s: AnalyticsSession): T.TestEntry;
6
- export declare function isConnected(districtGeos: Set<string>, graph: D.Graph): boolean;
7
- export declare function doIsFreeOfHoles(s: AnalyticsSession): T.TestEntry;
8
- export declare function isEmbedded(districtID: number, geoIDs: Set<string>, plan: D.Plan, graph: D.Graph): boolean;
@@ -1,5 +0,0 @@
1
- import * as T from '../src/types';
2
- export declare function readJSONcareful(file: string): any;
3
- export declare function readJSON(file: string): any;
4
- export declare function readCSV(file: string): any;
5
- export declare function readPlanCSV(file: string): T.PlanByGeoID;
package/dist/types.d.ts DELETED
@@ -1,110 +0,0 @@
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
- stateXX: string;
10
- nDistricts: number;
11
- legislativeDistricts: boolean;
12
- plan: PlanByGeoID;
13
- data: GeoFeatureCollection;
14
- districtShapes: GeoFeatureCollection;
15
- districtProperties: DistrictProperties;
16
- graph: ContiguityGraph;
17
- countyNameLookup: FIPSCodeToCountyNameMap;
18
- counties: GeoFeatureCollection;
19
- config: {};
20
- };
21
- export declare type PlanByGeoID = {
22
- [geoID: string]: number;
23
- };
24
- export declare type PlanByDistrictID = {
25
- [districtID: number]: Set<string>;
26
- };
27
- export declare type FeaturesByGeoID = {
28
- [geoID: string]: number;
29
- };
30
- export declare type FIPSCodeToCountyNameMap = {
31
- [FIPSCode: string]: string;
32
- };
33
- export declare type FIPSToOrdinalMap = {
34
- [FIPSCode: string]: number;
35
- };
36
- export declare type GeoFeature = geojson.Feature;
37
- export declare type GeoFeatureArray = GeoFeature[];
38
- export declare type GeoFeatureCollection = geojson.FeatureCollection;
39
- export interface GeoFeatureMap {
40
- [geoID: string]: GeoFeature;
41
- }
42
- export declare type ContiguityGraph = {
43
- [geoID: string]: Neighbors;
44
- };
45
- export declare type Neighbors = {
46
- [geoID: string]: number;
47
- };
48
- export declare type VoteTriple = [number, number, number];
49
- export declare const enum VoteType {
50
- Democratic = 0,
51
- Republican = 1,
52
- Total = 2
53
- }
54
- export declare type TestScale = {
55
- testScale: Array<number>;
56
- testInvertp: boolean;
57
- };
58
- export declare type TestScales = {
59
- [test: number]: TestScale;
60
- };
61
- export declare type TestEntry = {
62
- score?: number | boolean;
63
- details: Dict;
64
- normalizedScore?: number;
65
- };
66
- export declare type DistrictWIP = {
67
- [districtID: number]: any;
68
- };
69
- export declare const enum Test {
70
- Complete = 0,
71
- Contiguous = 1,
72
- FreeOfHoles = 2,
73
- EqualPopulation = 3,
74
- PopulationDeviation = 4,
75
- Reock = 5,
76
- PolsbyPopper = 6,
77
- CountySplits = 7,
78
- Complexity = 8,
79
- SeatsBias = 9,
80
- VotesBias = 10,
81
- Responsiveness = 11,
82
- ResponsiveDistricts = 12,
83
- EfficiencyGap = 13,
84
- MajorityMinorityDistricts = 14
85
- }
86
- export declare type TestEntries = {
87
- [test: number]: TestEntry;
88
- };
89
- export declare type DistrictProperties = {
90
- [districtID: number]: any;
91
- };
92
- export declare type DistrictShapeProperties = [number, number, number];
93
- export declare const enum DistrictShapeProperty {
94
- Area = 0,
95
- Diameter = 1,
96
- Perimeter = 2
97
- }
98
- export declare type GeoIDParts = {
99
- state?: string;
100
- county?: string;
101
- tract?: string;
102
- bg?: string;
103
- block?: string;
104
- };
105
- export declare type GeoIDTotal = {
106
- [geoID: string]: number;
107
- };
108
- export declare type Dict = {
109
- [key: string]: any;
110
- };
package/dist/utils.d.ts DELETED
@@ -1,28 +0,0 @@
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 invertPlan(plan: T.PlanByGeoID): T.PlanByDistrictID;
6
- export declare function parseGeoID(geoID: string): T.GeoIDParts;
7
- export declare function getFIPSFromCountyGeoID(geoID: string): string;
8
- export declare function normalize(rawScore: number, scale: Array<number>, invertp?: boolean): number;
9
- export declare function trim(fullFraction: number): number;
10
- export declare function sumArray(arr: number[]): number;
11
- export declare function avgArray(arr: number[]): number;
12
- export declare function minArray(arr: number[]): number;
13
- export declare function maxArray(arr: number[]): number;
14
- export declare function initArray(n: number, value: any): any[];
15
- export declare function andArray(arr: boolean[]): boolean;
16
- export declare function keyExists(k: string, o: object): boolean;
17
- export declare function isObjectEmpty(o: object): boolean;
18
- export declare function isSetEmpty(s: any): boolean;
19
- export declare function isArrayEmpty(a: any[]): boolean;
20
- export declare function getObjectKeys(o: object): string[];
21
- export declare function getNumericObjectKeys(o: object): number[];
22
- export declare function getSelectObjectKeys(o: T.Dict, v: any[]): string[];
23
- export declare function arrayContains(a: any[], item: any): boolean;
24
- export declare function objectContains(o: object, key: any): boolean;
25
- export declare function countEnumValues(enumName: any): number;
26
- export declare function shallowCopy(src: any): any;
27
- export declare function deepCopy(src: any): any;
28
- export { depthof } from '@dra2020/util';
package/dist/valid.d.ts DELETED
@@ -1,8 +0,0 @@
1
- import * as T from './types';
2
- import * as D from './_data';
3
- import { AnalyticsSession } from './_api';
4
- export declare function doIsComplete(s: AnalyticsSession): T.TestEntry;
5
- export declare function doIsContiguous(s: AnalyticsSession): T.TestEntry;
6
- export declare function isConnected(districtGeos: Set<string>, graph: D.Graph): boolean;
7
- export declare function doIsFreeOfHoles(s: AnalyticsSession): T.TestEntry;
8
- export declare function isEmbedded(districtID: number, geoIDs: Set<string>, plan: D.Plan, graph: D.Graph): boolean;
package/jestconfig.json DELETED
@@ -1,14 +0,0 @@
1
- {
2
- "transform": {
3
- "^.+\\.(t|j)sx?$": "ts-jest"
4
- },
5
- "testRegex": "(/_tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$",
6
- "moduleFileExtensions": [
7
- "ts",
8
- "tsx",
9
- "js",
10
- "jsx",
11
- "json",
12
- "node"
13
- ]
14
- }
@@ -1,3 +0,0 @@
1
- declare class Startup {
2
- static main(): number;
3
- }
package/lib/HelloWorld.js DELETED
@@ -1,11 +0,0 @@
1
- "use strict";
2
- var Startup = /** @class */ (function () {
3
- function Startup() {
4
- }
5
- Startup.main = function () {
6
- console.log('Hello World');
7
- return 0;
8
- };
9
- return Startup;
10
- }());
11
- Startup.main();