@mailwoman/tiger 10.0.0 → 10.2.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.
Files changed (129) hide show
  1. package/lib/block-group.ts +7 -7
  2. package/lib/class-code.ts +387 -266
  3. package/lib/constants.ts +7 -6
  4. package/lib/county/subdivision.ts +7 -7
  5. package/lib/{county/index.ts → county.ts} +7 -7
  6. package/lib/files.ts +37 -20
  7. package/lib/functional-status.ts +6 -4
  8. package/lib/geoid.ts +44 -26
  9. package/lib/index.ts +1 -1
  10. package/lib/legal-statistical-area.ts +7 -5
  11. package/lib/{sdk/schema.ts → schema.ts} +32 -42
  12. package/lib/state.ts +26 -23
  13. package/lib/tabulation-block.ts +4 -4
  14. package/lib/tract.ts +3 -3
  15. package/out/block-group.d.ts +7 -7
  16. package/out/class-code.d.ts +387 -266
  17. package/out/class-code.d.ts.map +1 -1
  18. package/out/class-code.js +387 -266
  19. package/out/class-code.js.map +1 -1
  20. package/out/constants.d.ts +7 -6
  21. package/out/constants.d.ts.map +1 -1
  22. package/out/constants.js +3 -3
  23. package/out/county/subdivision.d.ts +7 -7
  24. package/out/{county/index.d.ts → county.d.ts} +8 -8
  25. package/out/county.d.ts.map +1 -0
  26. package/out/{county/index.js → county.js} +2 -2
  27. package/out/county.js.map +1 -0
  28. package/out/files.d.ts +21 -13
  29. package/out/files.d.ts.map +1 -1
  30. package/out/files.js +27 -13
  31. package/out/files.js.map +1 -1
  32. package/out/functional-status.d.ts +6 -4
  33. package/out/functional-status.d.ts.map +1 -1
  34. package/out/functional-status.js +6 -4
  35. package/out/functional-status.js.map +1 -1
  36. package/out/geoid.d.ts +34 -16
  37. package/out/geoid.d.ts.map +1 -1
  38. package/out/geoid.js +16 -10
  39. package/out/geoid.js.map +1 -1
  40. package/out/index.d.ts +1 -1
  41. package/out/index.d.ts.map +1 -1
  42. package/out/index.js +1 -1
  43. package/out/index.js.map +1 -1
  44. package/out/legal-statistical-area.d.ts +7 -5
  45. package/out/legal-statistical-area.d.ts.map +1 -1
  46. package/out/legal-statistical-area.js +7 -5
  47. package/out/legal-statistical-area.js.map +1 -1
  48. package/out/{sdk/schema.d.ts → schema.d.ts} +26 -20
  49. package/out/schema.d.ts.map +1 -0
  50. package/out/{sdk/schema.js → schema.js} +12 -31
  51. package/out/schema.js.map +1 -0
  52. package/out/sdk/download.d.ts +7 -15
  53. package/out/sdk/download.d.ts.map +1 -1
  54. package/out/sdk/download.js +6 -15
  55. package/out/sdk/download.js.map +1 -1
  56. package/out/sdk/fetch.d.ts +36 -29
  57. package/out/sdk/fetch.d.ts.map +1 -1
  58. package/out/sdk/fetch.js +18 -53
  59. package/out/sdk/fetch.js.map +1 -1
  60. package/out/sdk/redistricting.d.ts +29 -15
  61. package/out/sdk/redistricting.d.ts.map +1 -1
  62. package/out/sdk/redistricting.js +47 -36
  63. package/out/sdk/redistricting.js.map +1 -1
  64. package/out/sdk/state/TIGERTabulatedBlockEntity.d.ts +2 -2
  65. package/out/sdk/state/TIGERTabulatedBlockEntity.d.ts.map +1 -1
  66. package/out/sdk/state/TIGERTabulatedBlockEntity.js +3 -3
  67. package/out/sdk/state/TIGERTabulatedBlockEntity.js.map +1 -1
  68. package/out/sdk/state/TIGERTractEntity.d.ts.map +1 -1
  69. package/out/sdk/state/TIGERTractEntity.js.map +1 -1
  70. package/out/sdk/state/block-operations.d.ts +3 -2
  71. package/out/sdk/state/block-operations.d.ts.map +1 -1
  72. package/out/sdk/state/block-operations.js +4 -3
  73. package/out/sdk/state/block-operations.js.map +1 -1
  74. package/out/sdk/{state/index.d.ts → state.d.ts} +1 -1
  75. package/out/sdk/state.d.ts.map +1 -0
  76. package/out/sdk/{state/index.js → state.js} +1 -1
  77. package/out/sdk/state.js.map +1 -0
  78. package/out/sdk/tsconfig.tsbuildinfo +1 -0
  79. package/out/state.d.ts +18 -15
  80. package/out/state.d.ts.map +1 -1
  81. package/out/state.js +17 -14
  82. package/out/state.js.map +1 -1
  83. package/out/tabulation-block.d.ts +4 -4
  84. package/out/tools/race/dots/map.d.ts +23 -9
  85. package/out/tools/race/dots/map.d.ts.map +1 -1
  86. package/out/tools/race/dots/map.js +9 -5
  87. package/out/tools/race/dots/map.js.map +1 -1
  88. package/out/tools/race/dots.d.ts +47 -0
  89. package/out/tools/race/dots.d.ts.map +1 -0
  90. package/out/tools/race/{dots/index.js → dots.js} +10 -27
  91. package/out/tools/race/dots.js.map +1 -0
  92. package/out/tools/serve-range.d.ts +13 -7
  93. package/out/tools/serve-range.d.ts.map +1 -1
  94. package/out/tools/serve-range.js +10 -8
  95. package/out/tools/serve-range.js.map +1 -1
  96. package/out/tools/tsconfig.tsbuildinfo +1 -0
  97. package/out/tract.d.ts +3 -3
  98. package/out/tsconfig.test.tsbuildinfo +1 -1
  99. package/package.json +61 -44
  100. package/sdk/download.ts +41 -0
  101. package/{lib/sdk → sdk}/fetch.ts +58 -62
  102. package/{lib/sdk → sdk}/redistricting.ts +57 -40
  103. package/{lib/sdk → sdk}/state/TIGERTabulatedBlockEntity.ts +3 -3
  104. package/{lib/sdk → sdk}/state/block-operations.ts +5 -4
  105. package/{lib/tools → tools}/race/dots/map.ts +30 -12
  106. package/{lib/tools/race/dots/index.ts → tools/race/dots.ts} +14 -31
  107. package/{lib/tools → tools}/serve-range.ts +17 -10
  108. package/lib/sdk/download.ts +0 -49
  109. package/lib/sdk/index.ts +0 -10
  110. package/lib/tools/index.ts +0 -11
  111. package/out/county/index.d.ts.map +0 -1
  112. package/out/county/index.js.map +0 -1
  113. package/out/sdk/index.d.ts +0 -10
  114. package/out/sdk/index.d.ts.map +0 -1
  115. package/out/sdk/index.js +0 -10
  116. package/out/sdk/index.js.map +0 -1
  117. package/out/sdk/schema.d.ts.map +0 -1
  118. package/out/sdk/schema.js.map +0 -1
  119. package/out/sdk/state/index.d.ts.map +0 -1
  120. package/out/sdk/state/index.js.map +0 -1
  121. package/out/tools/index.d.ts +0 -11
  122. package/out/tools/index.d.ts.map +0 -1
  123. package/out/tools/index.js +0 -11
  124. package/out/tools/index.js.map +0 -1
  125. package/out/tools/race/dots/index.d.ts +0 -61
  126. package/out/tools/race/dots/index.d.ts.map +0 -1
  127. package/out/tools/race/dots/index.js.map +0 -1
  128. /package/{lib/sdk → sdk}/state/TIGERTractEntity.ts +0 -0
  129. /package/{lib/sdk/state/index.ts → sdk/state.ts} +0 -0
@@ -4,46 +4,49 @@
4
4
  * @author Teffen Ellis, et al.
5
5
  *
6
6
  * Pull a state's Census 2020 P.L. 94-171 redistricting counts (table P2 — Hispanic-or-Latino by
7
- * race, per block) into the `pl_block` table of a TIGER {@link DatabaseClient} DB, keyed on the
8
- * same 15-char block `GEOID` as {@link fetchTIGER}'s `tabblock20`. Join the two for block-level
7
+ * race, per block) into the `pl_block` table of a tiger {@link DatabaseClient} DB, keyed on the
8
+ * same 15-char block `geoid` as {@link fetchTIGER}'s `tabblock20`. Join the two for block-level
9
9
  * race + geometry (e.g. a dot-density map).
10
10
  *
11
11
  * Keyless public data. The per-state ZIP holds a pipe-delimited geographic header
12
- * (`<st>geo<yr>.pl`) and three data segments; segment 1 (`<st>00001<yr>.pl`) carries P1 + P2. We
13
- * join the header (filtered to SUMLEV 750 = block) to segment 1 by LOGRECNO. Field offsets are
12
+ * (`<st>geo<yr>.pl`) and three data segments. segment 1 (`<st>00001<yr>.pl`) contains P1 + P2. We
13
+ * join the header (filtered to sumlev 750 = block) to segment 1 by logrecno. Field offsets are
14
14
  * fixed by the 2020 P.L. layout (verified against the real files).
15
15
  *
16
16
  * https://www2.census.gov/programs-surveys/decennial/2020/data/01-Redistricting_File--PL_94-171/
17
17
  */
18
- import { mailwomanDataRoot } from "@mailwoman/core/data-root";
18
+ import { dataRootPath } from "@mailwoman/core/data-root";
19
19
  import { makeDirectories } from "@mailwoman/core/fs/writers";
20
20
  import { extractZipEntries } from "@mailwoman/core/fs/zip";
21
21
  import { DatabaseClient } from "@mailwoman/sqlite/client";
22
- import { dirname, join } from "path-ts";
22
+ import { PathBuilder } from "path-ts";
23
23
  import { TextSpliterator } from "spliterator";
24
+ import { initializeTIGERSchema, TIGER_PRAGMAS } from "#schema";
24
25
  import { downloadIfNeeded } from "#sdk/download";
25
- import { initializeTIGERSchema, TIGER_PRAGMAS } from "#sdk/schema";
26
26
  import { AdminLevel1CodeToAbbreviation, StateName } from "#state";
27
27
  const REDISTRICTING_BASE = "https://www2.census.gov/programs-surveys/decennial/2020/data/01-Redistricting_File--PL_94-171";
28
- const DEFAULT_DATA_ROOT = mailwomanDataRoot();
28
+ const DEFAULT_DATA_ROOT = dataRootPath();
29
29
  /**
30
- * P.L. 94-171 (2020) pipe-delimited field offsets (0-based). Geographic header:
31
- * …|SUMLEV(2)|…|LOGRECNO(7)|GEOID(8)|GEOCODE(9)|… — GEOCODE is the bare 15-char block FIPS (matches TIGER GEOID20);
32
- * SUMLEV 750 = tabulation block.
30
+ * P.L. 94-171 (2020) pipe-delimited field offsets (0-based).
31
+ *
32
+ * Geographic header: …|sumlev(2)|…|logrecno(7)|geoid(8)|geocode(9)|… — geocode is the
33
+ * bare 15-char block FIPS (matches tiger GEOID20); sumlev 750 = tabulation block.
33
34
  */
34
35
  const GEO_SUMLEV = 2;
35
36
  const GEO_LOGRECNO = 7;
36
37
  const GEO_GEOCODE = 9;
37
38
  /**
38
- * Segment 1: FILEID|STUSAB|CHARITER|CIFSN|LOGRECNO(4)| P1×71 | P2×73. P0020001 is at index 76.
39
+ * Segment 1: fileid|stusab|chariter|cifsn|logrecno(4)| P1×71 | P2×73. P0020001 is at index 76.
39
40
  */
40
41
  const SEG_LOGRECNO = 4;
41
42
  const P2 = (fieldNo) => 76 + (fieldNo - 1);
42
43
  /**
43
- * Segment 2: FILEID|STUSAB|CHARITER|CIFSN|LOGRECNO(4)| P3×71 | P4×73 | H1×3 — 152 fields, H1 at the tail. Verified
44
- * against the real file: `ca000022020.pl`'s state row reads 14,392,140 / 13,475,623 / 916,517, the published CA 2020
45
- * figures. `occupied + vacant === housing_units` is the invariant that distinguishes a correct offset from a plausible
46
- * one, and {@link parseH1} refuses a row where it does not hold.
44
+ * Segment 2: fileid|stusab|chariter|cifsn|logrecno(4)| P3×71 | P4×73 | H1×3 — 152 fields, H1 at the tail. Verified
45
+ * against the real file: `ca000022020.pl`'s state row reads 14,392,140 / 13,475,623
46
+ * / 916,517, the published CA 2020 figures.
47
+ *
48
+ * `occupied + vacant === housing_units` is the invariant that distinguishes a correct
49
+ * offset from a plausible one. {@link parseH1} refuses a row when it does not hold.
47
50
  */
48
51
  export const SEG2_FIELD_COUNT = 152;
49
52
  /**
@@ -55,12 +58,15 @@ export const H1_TOTAL = SEG2_FIELD_COUNT - 3;
55
58
  */
56
59
  export const H1_OCCUPIED = SEG2_FIELD_COUNT - 2;
57
60
  /**
58
- * H0010003 — vacant housing units, the last field (and so the one that carries a CRLF file's trailing CR).
61
+ * H0010003 — vacant housing units, the last field (and so the one that contains a crlf file's trailing CR).
59
62
  */
60
63
  export const H1_VACANT = SEG2_FIELD_COUNT - 1;
61
64
  /**
62
- * The three H1 counts from one segment-2 row. The last field carries CRLF's trailing CR when the file has one, so each
63
- * field is trimmed before it is read as a number; a row whose counts do not add up is refused rather than stored.
65
+ * The three H1 counts from one segment-2 row.
66
+ *
67
+ * The last field contains crlf's trailing CR when the file has one, so each field
68
+ * is trimmed before it is read as a number.
69
+ * A row whose counts do not add up is refused rather than stored.
64
70
  */
65
71
  export function parseH1(fields) {
66
72
  if (fields.length !== SEG2_FIELD_COUNT) {
@@ -85,7 +91,7 @@ export function parseH1(fields) {
85
91
  const CATEGORY_INDEX = {
86
92
  pop_total: P2(1),
87
93
  hispanic: P2(2), // Hispanic or Latino (any race)
88
- white: P2(5), // Not Hispanic: White alone
94
+ white: P2(5), // Not Hispanic: White without another race
89
95
  black: P2(6),
90
96
  aian: P2(7),
91
97
  asian: P2(8),
@@ -93,9 +99,10 @@ const CATEGORY_INDEX = {
93
99
  other: P2(10),
94
100
  multi: P2(11), // Two or more races
95
101
  };
96
- // Pipe-delimited, fixed field-offset census rows — the manual `split("|")` at each call site stays (the
97
- // parse indexes by position, not by header). spliterator keeps CRLF's trailing CR where readline stripped
98
- // it, but every field this parser reads (geo GEOCODE/LOGRECNO ≤ 9, segment-1 LOGRECNO + P2 ≤ 86) sits well
102
+ // Pipe-delimited, fixed field-offset census rows.
103
+ // The manual `split("|")` at each call site stays (the parse indexes by position rather than by header).
104
+ // Spliterator keeps crlf's trailing CR where readline stripped it, but every field
105
+ // this parser reads (geo geocode/logrecno ≤ 9, segment-1 logrecno + P2 ≤ 86) sits well
99
106
  // before the final column, so the retained CR only ever lands on an unread trailing field.
100
107
  async function eachLine(path, fn) {
101
108
  for await (const line of TextSpliterator.fromAsync(path)) {
@@ -105,11 +112,14 @@ async function eachLine(path, fn) {
105
112
  }
106
113
  }
107
114
  /**
108
- * Fetch one state's P.L. 94-171 block race counts into `pl_block`. Yields progress; returns the tally.
115
+ * Fetch one state's P.L. 94-171 block race counts into `pl_block`.
116
+ *
117
+ * Yields progress.
118
+ * Returns the tally.
109
119
  */
110
120
  export async function* fetchRedistricting(options) {
111
121
  const vintage = options.vintage ?? 2020;
112
- const dataRoot = options.dataRoot ?? DEFAULT_DATA_ROOT;
122
+ const dataRoot = PathBuilder.from(options.dataRoot ?? DEFAULT_DATA_ROOT);
113
123
  const batchSize = options.batchSize ?? 2000;
114
124
  const state = options.stateFIPS;
115
125
  const abbr = AdminLevel1CodeToAbbreviation[state];
@@ -118,22 +128,22 @@ export async function* fetchRedistricting(options) {
118
128
  const stateName = StateName[abbr];
119
129
  const dirName = stateName.replaceAll(" ", "_");
120
130
  const fileAbbr = abbr.toLowerCase();
121
- const cacheDir = join(dataRoot, "census", "redistricting", String(vintage), state);
131
+ const cacheDir = dataRoot("census", "redistricting", String(vintage), state);
122
132
  // Same stable `tiger.db` default as fetchTIGER — pl_block lives alongside tabblock20 in one DB.
123
- const outPath = options.outPath ?? join(dataRoot, "tiger", "tiger.db");
133
+ const outPath = PathBuilder.from(options.outPath ?? dataRoot("tiger", "tiger.db"));
124
134
  await makeDirectories(cacheDir);
125
- await makeDirectories(dirname(outPath));
135
+ await makeDirectories(outPath.dirname());
126
136
  const zipName = `${fileAbbr}${vintage}.pl.zip`;
127
- const zipPath = join(cacheDir, zipName);
137
+ const zipPath = cacheDir(zipName);
128
138
  const url = `${REDISTRICTING_BASE}/${dirName}/${zipName}`;
129
139
  const cached = await downloadIfNeeded(url, zipPath);
130
140
  yield { phase: "download", file: zipName, cached };
131
141
  await extractZipEntries(zipPath, cacheDir);
132
- const geoPath = join(cacheDir, `${fileAbbr}geo${vintage}.pl`);
133
- const seg1Path = join(cacheDir, `${fileAbbr}00001${vintage}.pl`);
134
- const seg2Path = join(cacheDir, `${fileAbbr}00002${vintage}.pl`);
142
+ const geoPath = cacheDir(`${fileAbbr}geo${vintage}.pl`);
143
+ const seg1Path = cacheDir(`${fileAbbr}00001${vintage}.pl`);
144
+ const seg2Path = cacheDir(`${fileAbbr}00002${vintage}.pl`);
135
145
  yield { phase: "extract", file: `${fileAbbr}geo${vintage}.pl` };
136
- // Pass 1: header → LOGRECNO → GEOID for the blocks we want.
146
+ // Pass 1: header → logrecno → geoid for the blocks we want.
137
147
  const prefix = options.county ? state + options.county : state;
138
148
  const logToGeoid = new Map();
139
149
  await eachLine(geoPath, (line) => {
@@ -147,8 +157,9 @@ export async function* fetchRedistricting(options) {
147
157
  });
148
158
  const total = logToGeoid.size;
149
159
  yield { phase: "header", blocks: total };
150
- // Pass 1b: segment 2 → H1 housing counts for the mapped LOGRECNOs. Read before segment 1 so a block's P2 and H1
151
- // land in one row; a mapped block with no segment-2 row is a data defect the load refuses, never a zero.
160
+ // Pass 1b: segment 2 → H1 housing counts for the mapped LOGRECNOs.
161
+ // Read before segment 1 so a block's P2 and H1 land in one row.
162
+ // A mapped block with no segment-2 row is a data defect the load refuses, never a zero.
152
163
  const h1ByLogrecno = new Map();
153
164
  await eachLine(seg2Path, (line) => {
154
165
  const f = line.split("|");
@@ -211,7 +222,7 @@ export async function* fetchRedistricting(options) {
211
222
  await flush();
212
223
  yield { phase: "load", inserted, total };
213
224
  kdb.exec("PRAGMA wal_checkpoint(TRUNCATE);");
214
- return { outPath, table: "pl_block", inserted };
225
+ return { outPath: outPath.toString(), table: "pl_block", inserted };
215
226
  }
216
227
  finally {
217
228
  await kdb.destroy();
@@ -1 +1 @@
1
- {"version":3,"file":"redistricting.js","sourceRoot":"","sources":["../../lib/sdk/redistricting.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAyC,MAAM,aAAa,CAAA;AACzG,OAAO,EAAE,6BAA6B,EAAE,SAAS,EAAwB,MAAM,QAAQ,CAAA;AAEvF,MAAM,kBAAkB,GACvB,+FAA+F,CAAA;AAEhG,MAAM,iBAAiB,GAAG,iBAAiB,EAAE,CAAA;AAE7C;;;;GAIG;AACH,MAAM,UAAU,GAAG,CAAC,CAAA;AACpB,MAAM,YAAY,GAAG,CAAC,CAAA;AACtB,MAAM,WAAW,GAAG,CAAC,CAAA;AACrB;;GAEG;AACH,MAAM,YAAY,GAAG,CAAC,CAAA;AACtB,MAAM,EAAE,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAA;AAElD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAA;AACnC;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,gBAAgB,GAAG,CAAC,CAAA;AAC5C;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,gBAAgB,GAAG,CAAC,CAAA;AAC/C;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,gBAAgB,GAAG,CAAC,CAAA;AAQ7C;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAC,MAAyB;IAChD,IAAI,MAAM,CAAC,MAAM,KAAK,gBAAgB,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,qBAAqB,MAAM,CAAC,MAAM,qBAAqB,gBAAgB,EAAE,CAAC,CAAA;IAC3F,CAAC;IAED,MAAM,MAAM,GAAG;QACd,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAE,CAAC,IAAI,EAAE,CAAC;QAC/C,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAE,CAAC,IAAI,EAAE,CAAC;QAC7C,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAE,CAAC,IAAI,EAAE,CAAC;KACzC,CAAA;IAED,IAAI,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QACrF,MAAM,IAAI,KAAK,CAAC,iDAAiD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACrG,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,aAAa,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CACd,mDAAmD,MAAM,CAAC,QAAQ,aAAa,MAAM,CAAC,MAAM,qBAAqB,MAAM,CAAC,aAAa,cAAc,MAAM,CAAC,YAAY,CAAC,GAAG,CAC1K,CAAA;IACF,CAAC;IAED,OAAO,MAAM,CAAA;AACd,CAAC;AAED;;GAEG;AACH,MAAM,cAAc,GAAG;IACtB,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;IAChB,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,gCAAgC;IACjD,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,4BAA4B;IAC1C,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IACZ,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IACX,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IACZ,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IACX,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC;IACb,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,oBAAoB;CAC1B,CAAA;AAyCV,wGAAwG;AACxG,0GAA0G;AAC1G,2GAA2G;AAC3G,2FAA2F;AAC3F,KAAK,UAAU,QAAQ,CAAC,IAAY,EAAE,EAA0B;IAC/D,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1D,IAAI,IAAI,EAAE,CAAC;YACV,EAAE,CAAC,IAAI,CAAC,CAAA;QACT,CAAC;IACF,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,kBAAkB,CACxC,OAAkC;IAElC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAA;IACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,iBAAiB,CAAA;IACtD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAA;IAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAA;IAE/B,MAAM,IAAI,GAAG,6BAA6B,CAAC,KAAwB,CAAC,CAAA;IAEpE,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,GAAG,CAAC,CAAA;IAC3D,MAAM,SAAS,GAAG,SAAS,CAAC,IAA8B,CAAC,CAAA;IAC3D,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;IAEnC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAA;IAClF,gGAAgG;IAChG,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAA;IACtE,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAA;IAC/B,MAAM,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;IAEvC,MAAM,OAAO,GAAG,GAAG,QAAQ,GAAG,OAAO,SAAS,CAAA;IAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IACvC,MAAM,GAAG,GAAG,GAAG,kBAAkB,IAAI,OAAO,IAAI,OAAO,EAAE,CAAA;IAEzD,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACnD,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA;IAElD,MAAM,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,QAAQ,MAAM,OAAO,KAAK,CAAC,CAAA;IAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,QAAQ,QAAQ,OAAO,KAAK,CAAC,CAAA;IAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,QAAQ,QAAQ,OAAO,KAAK,CAAC,CAAA;IAChE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,QAAQ,MAAM,OAAO,KAAK,EAAE,CAAA;IAE/D,4DAA4D;IAC5D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAA;IAC9D,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAA;IAE5C,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;QAChC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAEzB,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,KAAK;YAAE,OAAM;QACnC,MAAM,KAAK,GAAG,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;QAElC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,OAAM;QACrC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;IAEF,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAA;IAC7B,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;IAExC,gHAAgH;IAChH,yGAAyG;IACzG,MAAM,YAAY,GAAG,IAAI,GAAG,EAAoB,CAAA;IAEhD,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;QACjC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACzB,MAAM,QAAQ,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,CAAA;QAEtC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAM;QAErC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;IAEF,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,QAAQ,QAAQ,OAAO,KAAK,EAAE,CAAA;IAEjE,MAAM,GAAG,GAAG,IAAI,cAAc,CAAgB,OAAO,CAAC,CAAA;IACtD,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IACvB,MAAM,qBAAqB,CAAC,GAAG,CAAC,CAAA;IAEhC,IAAI,CAAC;QACJ,4DAA4D;QAC5D,MAAM,GAAG;aACP,UAAU,CAAC,UAAU,CAAC;aACtB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC;aACpC,OAAO,EAAE,CAAA;QAEX,IAAI,QAAQ,GAAG,CAAC,CAAA;QAChB,IAAI,KAAK,GAAmB,EAAE,CAAA;QAE9B,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE;YACxB,IAAI,CAAC,KAAK,CAAC,MAAM;gBAAE,OAAM;YACzB,MAAM,IAAI,GAAG,KAAK,CAAA;YAClB,KAAK,GAAG,EAAE,CAAA;YACV,MAAM,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAA;YACvD,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAA;QACxB,CAAC,CAAA;QAED,6EAA6E;QAC7E,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,IAAI;gBAAE,SAAQ;YACnB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACzB,MAAM,QAAQ,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,CAAA;YACtC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAEtC,IAAI,CAAC,KAAK;gBAAE,SAAQ;YAEpB,MAAM,EAAE,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAErC,IAAI,CAAC,EAAE,EAAE,CAAC;gBACT,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,cAAc,QAAQ,4CAA4C,CAAC,CAAA;YAClG,CAAC;YAED,KAAK,CAAC,IAAI,CAAC;gBACV,KAAK,EAAE,KAAK;gBACZ,GAAG,EAAE;gBACL,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACnD,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACjD,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC3C,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC3C,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC3C,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC3C,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC3C,CAAC,CAAA;YAEF,IAAI,KAAK,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;gBAC/B,MAAM,KAAK,EAAE,CAAA;gBACb,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;YACzC,CAAC;QACF,CAAC;QAED,MAAM,KAAK,EAAE,CAAA;QAEb,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;QACxC,GAAG,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAA;QAE5C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAA;IAChD,CAAC;YAAS,CAAC;QACV,MAAM,GAAG,CAAC,OAAO,EAAE,CAAA;IACpB,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"redistricting.js","sourceRoot":"","sources":["../../sdk/redistricting.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,9 @@
4
4
  * @author Teffen Ellis, et al.
5
5
  */
6
6
  /**
7
- * Default column selections for TIGER tabulated block entities.
7
+ * Default column selections for tiger tabulated block entities.
8
8
  *
9
9
  * @internal
10
10
  */
11
- export declare const TIGERTabulatedBlockEntitySelections: ("GEOID" | "housing_unit_count" | "land_area_sqm" | "population" | "urban_rural_code" | "urbanized_area_code" | "water_area_sqm")[];
11
+ export declare const TIGERTabulatedBlockEntitySelections: string[];
12
12
  //# sourceMappingURL=TIGERTabulatedBlockEntity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TIGERTabulatedBlockEntity.d.ts","sourceRoot":"","sources":["../../../lib/sdk/state/TIGERTabulatedBlockEntity.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH;;;;GAIG;AACH,eAAO,MAAM,mCAAmC,qIAUC,CAAA"}
1
+ {"version":3,"file":"TIGERTabulatedBlockEntity.d.ts","sourceRoot":"","sources":["../../../sdk/state/TIGERTabulatedBlockEntity.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH;;;;GAIG;AACH,eAAO,MAAM,mCAAmC,UAU3B,CAAA"}
@@ -3,10 +3,10 @@
3
3
  * @license AGPL-3.0
4
4
  * @author Teffen Ellis, et al.
5
5
  */
6
- import { smartSnakeCase } from "@mailwoman/core";
6
+ import { smartSnakeCase } from "spliterator";
7
7
  import { TIGERProperty } from "#index";
8
8
  /**
9
- * Default column selections for TIGER tabulated block entities.
9
+ * Default column selections for tiger tabulated block entities.
10
10
  *
11
11
  * @internal
12
12
  */
@@ -18,5 +18,5 @@ export const TIGERTabulatedBlockEntitySelections = [
18
18
  TIGERProperty.LandAreaSqm,
19
19
  TIGERProperty.WaterAreaSqm,
20
20
  TIGERProperty.Population,
21
- ].map((columnName) => smartSnakeCase(columnName));
21
+ ].map(smartSnakeCase);
22
22
  //# sourceMappingURL=TIGERTabulatedBlockEntity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TIGERTabulatedBlockEntity.js","sourceRoot":"","sources":["../../../lib/sdk/state/TIGERTabulatedBlockEntity.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AAEtC;;;;GAIG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAC/C;IACC,aAAa,CAAC,KAAK;IACnB,aAAa,CAAC,iBAAiB;IAC/B,aAAa,CAAC,cAAc;IAC5B,aAAa,CAAC,gBAAgB;IAC9B,aAAa,CAAC,WAAW;IACzB,aAAa,CAAC,YAAY;IAC1B,aAAa,CAAC,UAAU;CAEzB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"TIGERTabulatedBlockEntity.js","sourceRoot":"","sources":["../../../sdk/state/TIGERTabulatedBlockEntity.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AAEtC;;;;GAIG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAC/C;IACC,aAAa,CAAC,KAAK;IACnB,aAAa,CAAC,iBAAiB;IAC/B,aAAa,CAAC,cAAc;IAC5B,aAAa,CAAC,gBAAgB;IAC9B,aAAa,CAAC,WAAW;IACzB,aAAa,CAAC,YAAY;IAC1B,aAAa,CAAC,UAAU;CAEzB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"TIGERTractEntity.d.ts","sourceRoot":"","sources":["../../../lib/sdk/state/TIGERTractEntity.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AAE5E;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACzC;;OAEG;IACH,OAAO,EAAE,eAAe,CAAA;IAExB;;;;;OAKG;IACH,QAAQ,EAAE,cAAc,CAAA;IAExB;;;;;;OAMG;IACH,OAAO,EAAE,aAAa,CAAA;CACtB"}
1
+ {"version":3,"file":"TIGERTractEntity.d.ts","sourceRoot":"","sources":["../../../sdk/state/TIGERTractEntity.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AAE5E;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACzC;;OAEG;IACH,OAAO,EAAE,eAAe,CAAA;IAExB;;;;;OAKG;IACH,QAAQ,EAAE,cAAc,CAAA;IAExB;;;;;;OAMG;IACH,OAAO,EAAE,aAAa,CAAA;CACtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"TIGERTractEntity.js","sourceRoot":"","sources":["../../../lib/sdk/state/TIGERTractEntity.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
1
+ {"version":3,"file":"TIGERTractEntity.js","sourceRoot":"","sources":["../../../sdk/state/TIGERTractEntity.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -21,13 +21,14 @@ export interface TIGERBlockRow extends TIGERTabulatedBlockProperties {
21
21
  serializedGeometry: string;
22
22
  }
23
23
  /**
24
- * Given a row from the TIGER tabulated block table, parses it into a GeoJSON feature.
24
+ * Given a row from the tiger tabulated block table, parses it into a GeoJSON feature.
25
25
  *
26
26
  * @internal
27
27
  */
28
28
  export declare function parseTIGERBlockFromRow({ serializedGeometry, ...properties }: TIGERBlockRow): TIGERBlockFeature;
29
29
  /**
30
- * Given a collection of rows from the TIGER tabulated block table, parses them into a GeoJSON feature collection.
30
+ * Given a collection of rows from the tiger tabulated block table,
31
+ * parses them into a GeoJSON feature collection.
31
32
  *
32
33
  * @internal
33
34
  */
@@ -1 +1 @@
1
- {"version":3,"file":"block-operations.d.ts","sourceRoot":"","sources":["../../../lib/sdk/state/block-operations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAuB,MAAM,oBAAoB,CAAA;AAG9E,OAAO,KAAK,EACX,aAAa,EACb,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,2BAA2B,EAC3B,6BAA6B,EAC7B,MAAM,QAAQ,CAAA;AAEf,MAAM,WAAW,8BAA8B;IAC9C,SAAS,EAAE,aAAa,CAAA;IACxB,QAAQ,EAAE,eAAe,CAAA;IACzB,UAAU,CAAC,EAAE,aAAa,EAAE,CAAA;CAC5B;AAID;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,6BAA6B;IACnE,KAAK,EAAE,cAAc,CAAA;IACrB;;OAEG;IACH,kBAAkB,EAAE,MAAM,CAAA;CAC1B;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,kBAAkB,EAAE,GAAG,UAAU,EAAE,EAAE,aAAa,GAAG,iBAAiB,CAS9G;AAED;;;;GAIG;AACH,wBAAgB,wCAAwC,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,2BAA2B,CAS3G"}
1
+ {"version":3,"file":"block-operations.d.ts","sourceRoot":"","sources":["../../../sdk/state/block-operations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAuB,MAAM,oBAAoB,CAAA;AAG9E,OAAO,KAAK,EACX,aAAa,EACb,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,2BAA2B,EAC3B,6BAA6B,EAC7B,MAAM,QAAQ,CAAA;AAEf,MAAM,WAAW,8BAA8B;IAC9C,SAAS,EAAE,aAAa,CAAA;IACxB,QAAQ,EAAE,eAAe,CAAA;IACzB,UAAU,CAAC,EAAE,aAAa,EAAE,CAAA;CAC5B;AAID;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,6BAA6B;IACnE,KAAK,EAAE,cAAc,CAAA;IACrB;;OAEG;IACH,kBAAkB,EAAE,MAAM,CAAA;CAC1B;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,kBAAkB,EAAE,GAAG,UAAU,EAAE,EAAE,aAAa,GAAG,iBAAiB,CAS9G;AAED;;;;;GAKG;AACH,wBAAgB,wCAAwC,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,2BAA2B,CAS3G"}
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import { wellKnownGeometryToGeoJSON } from "@mailwoman/spatial/well-known-text";
7
7
  /**
8
- * Given a row from the TIGER tabulated block table, parses it into a GeoJSON feature.
8
+ * Given a row from the tiger tabulated block table, parses it into a GeoJSON feature.
9
9
  *
10
10
  * @internal
11
11
  */
@@ -19,7 +19,8 @@ export function parseTIGERBlockFromRow({ serializedGeometry, ...properties }) {
19
19
  return feature;
20
20
  }
21
21
  /**
22
- * Given a collection of rows from the TIGER tabulated block table, parses them into a GeoJSON feature collection.
22
+ * Given a collection of rows from the tiger tabulated block table,
23
+ * parses them into a GeoJSON feature collection.
23
24
  *
24
25
  * @internal
25
26
  */
@@ -31,5 +32,5 @@ export function parseTIGERBlockFeatureCollectionFromRows(rows) {
31
32
  };
32
33
  return featureCollection;
33
34
  }
34
- //#endregion
35
+ // #endregion
35
36
  //# sourceMappingURL=block-operations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"block-operations.js","sourceRoot":"","sources":["../../../lib/sdk/state/block-operations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAA;AA8B/E;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,EAAE,kBAAkB,EAAE,GAAG,UAAU,EAAiB;IAC1F,MAAM,OAAO,GAAsB;QAClC,IAAI,EAAE,SAAS;QACf,EAAE,EAAE,UAAU,CAAC,KAAK;QACpB,QAAQ,EAAE,0BAA0B,CAAsB,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QACjG,UAAU;KACV,CAAA;IAED,OAAO,OAAO,CAAA;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wCAAwC,CAAC,IAAqB;IAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;IAEjD,MAAM,iBAAiB,GAAgC;QACtD,IAAI,EAAE,mBAAmB;QACzB,QAAQ;KACR,CAAA;IAED,OAAO,iBAAiB,CAAA;AACzB,CAAC;AAED,YAAY"}
1
+ {"version":3,"file":"block-operations.js","sourceRoot":"","sources":["../../../sdk/state/block-operations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAA;AA8B/E;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,EAAE,kBAAkB,EAAE,GAAG,UAAU,EAAiB;IAC1F,MAAM,OAAO,GAAsB;QAClC,IAAI,EAAE,SAAS;QACf,EAAE,EAAE,UAAU,CAAC,KAAK;QACpB,QAAQ,EAAE,0BAA0B,CAAsB,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QACjG,UAAU;KACV,CAAA;IAED,OAAO,OAAO,CAAA;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wCAAwC,CAAC,IAAqB;IAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;IAEjD,MAAM,iBAAiB,GAAgC;QACtD,IAAI,EAAE,mBAAmB;QACzB,QAAQ;KACR,CAAA;IAED,OAAO,iBAAiB,CAAA;AACzB,CAAC;AAED,aAAa"}
@@ -6,4 +6,4 @@
6
6
  export * from "#sdk/state/block-operations";
7
7
  export * from "#sdk/state/TIGERTabulatedBlockEntity";
8
8
  export * from "#sdk/state/TIGERTractEntity";
9
- //# sourceMappingURL=index.d.ts.map
9
+ //# sourceMappingURL=state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../sdk/state.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,6BAA6B,CAAA;AAC3C,cAAc,sCAAsC,CAAA;AACpD,cAAc,6BAA6B,CAAA"}
@@ -6,4 +6,4 @@
6
6
  export * from "#sdk/state/block-operations";
7
7
  export * from "#sdk/state/TIGERTabulatedBlockEntity";
8
8
  export * from "#sdk/state/TIGERTractEntity";
9
- //# sourceMappingURL=index.js.map
9
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../sdk/state.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,6BAA6B,CAAA;AAC3C,cAAc,sCAAsC,CAAA;AACpD,cAAc,6BAA6B,CAAA"}