@mailwoman/tiger 8.1.0 → 8.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.
- package/constants.ts +12 -12
- package/county.ts +5 -2
- package/files.ts +4 -1
- package/geoid.ts +11 -9
- package/out/constants.d.ts +5 -5
- package/out/constants.d.ts.map +1 -1
- package/out/constants.js +0 -5
- package/out/constants.js.map +1 -1
- package/out/county.d.ts +5 -2
- package/out/county.d.ts.map +1 -1
- package/out/county.js +3 -2
- package/out/county.js.map +1 -1
- package/out/files.d.ts +1 -1
- package/out/files.d.ts.map +1 -1
- package/out/files.js +0 -1
- package/out/files.js.map +1 -1
- package/out/geoid.d.ts +14 -16
- package/out/geoid.d.ts.map +1 -1
- package/out/geoid.js +1 -2
- package/out/geoid.js.map +1 -1
- package/out/sdk/fetch.d.ts +18 -6
- package/out/sdk/fetch.d.ts.map +1 -1
- package/out/sdk/fetch.js +11 -5
- package/out/sdk/fetch.js.map +1 -1
- package/out/sdk/redistricting.d.ts +18 -6
- package/out/sdk/redistricting.d.ts.map +1 -1
- package/out/sdk/redistricting.js +12 -6
- package/out/sdk/redistricting.js.map +1 -1
- package/out/sdk/schema.d.ts +14 -7
- package/out/sdk/schema.d.ts.map +1 -1
- package/out/sdk/schema.js +4 -0
- package/out/sdk/schema.js.map +1 -1
- package/out/sdk/state/TIGERTractEntity.d.ts +1 -1
- package/out/sdk/state/TIGERTractEntity.d.ts.map +1 -1
- package/out/sdk/state/TIGERTractEntity.js +1 -1
- package/out/sdk/state/TIGERTractEntity.js.map +1 -1
- package/out/sdk/state/block-operations.d.ts +1 -1
- package/out/sdk/state/block-operations.d.ts.map +1 -1
- package/out/sdk/state/block-operations.js +0 -1
- package/out/sdk/state/block-operations.js.map +1 -1
- package/out/state.d.ts +343 -113
- package/out/state.d.ts.map +1 -1
- package/out/state.js +174 -57
- package/out/state.js.map +1 -1
- package/out/tabulation-block.d.ts +3 -3
- package/out/tabulation-block.d.ts.map +1 -1
- package/out/tabulation-block.js +1 -3
- package/out/tabulation-block.js.map +1 -1
- package/out/tools/race-dots-map.d.ts +30 -10
- package/out/tools/race-dots-map.d.ts.map +1 -1
- package/out/tools/race-dots-map.js +6 -2
- package/out/tools/race-dots-map.js.map +1 -1
- package/out/tools/race-dots.d.ts +24 -8
- package/out/tools/race-dots.d.ts.map +1 -1
- package/out/tools/race-dots.js +15 -5
- package/out/tools/race-dots.js.map +1 -1
- package/out/tools/serve-range.d.ts +12 -4
- package/out/tools/serve-range.d.ts.map +1 -1
- package/out/tools/serve-range.js.map +1 -1
- package/out/tract.d.ts +2 -2
- package/out/tract.d.ts.map +1 -1
- package/out/tract.js +1 -2
- package/out/tract.js.map +1 -1
- package/out/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/sdk/fetch.ts +36 -11
- package/sdk/redistricting.ts +39 -12
- package/sdk/schema.ts +21 -7
- package/sdk/state/TIGERTractEntity.ts +1 -1
- package/sdk/state/block-operations.ts +7 -6
- package/state.ts +175 -57
- package/tabulation-block.ts +3 -3
- package/tools/race-dots-map.ts +35 -11
- package/tools/race-dots.ts +52 -12
- package/tools/serve-range.ts +16 -4
- package/tract.ts +2 -2
package/constants.ts
CHANGED
|
@@ -4,20 +4,20 @@
|
|
|
4
4
|
* @author Teffen Ellis, et al.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { TIGERClassCode } from "./class-code.ts"
|
|
8
|
-
import { TIGERFunctionalStatus } from "./functional-status.ts"
|
|
9
|
-
import {
|
|
10
|
-
type FIPSBlockCode,
|
|
11
|
-
type FIPSBlockGroupCode,
|
|
12
|
-
type FIPSCongressionalDistrictCode,
|
|
13
|
-
type FIPSCountyCode,
|
|
14
|
-
type FIPSCountySubDivisionCode,
|
|
15
|
-
type FIPSPlaceCode,
|
|
16
|
-
type FIPSTractCode,
|
|
7
|
+
import type { TIGERClassCode } from "./class-code.ts"
|
|
8
|
+
import type { TIGERFunctionalStatus } from "./functional-status.ts"
|
|
9
|
+
import type {
|
|
17
10
|
GeoIDPart,
|
|
11
|
+
FIPSBlockCode,
|
|
12
|
+
FIPSBlockGroupCode,
|
|
13
|
+
FIPSCongressionalDistrictCode,
|
|
14
|
+
FIPSCountyCode,
|
|
15
|
+
FIPSCountySubDivisionCode,
|
|
16
|
+
FIPSPlaceCode,
|
|
17
|
+
FIPSTractCode,
|
|
18
18
|
} from "./geoid.ts"
|
|
19
|
-
import { LegalStatisticalAreaDescription } from "./legal-statistical-area.ts"
|
|
20
|
-
import { FIPSStateCode } from "./state.ts"
|
|
19
|
+
import type { LegalStatisticalAreaDescription } from "./legal-statistical-area.ts"
|
|
20
|
+
import type { FIPSStateCode } from "./state.ts"
|
|
21
21
|
|
|
22
22
|
/**
|
|
23
23
|
* A code indicating the classification of the block, i.e. urban or rural.
|
package/county.ts
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* @author Teffen Ellis, et al.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { TIGERClassCode } from "./class-code.ts"
|
|
8
|
-
import { TIGERFunctionalStatus } from "./functional-status.ts"
|
|
7
|
+
import type { TIGERClassCode } from "./class-code.ts"
|
|
8
|
+
import type { TIGERFunctionalStatus } from "./functional-status.ts"
|
|
9
9
|
import type { LegalStatisticalAreaDescription } from "./legal-statistical-area.ts"
|
|
10
10
|
import type { AdminLevel1Code } from "./state.ts"
|
|
11
11
|
|
|
@@ -131,4 +131,7 @@ export interface TIGERCounty {
|
|
|
131
131
|
NAME: string
|
|
132
132
|
}
|
|
133
133
|
|
|
134
|
+
/**
|
|
135
|
+
* Brand symbol marking a value as a TIGER county record, so a bare object cannot be passed as one.
|
|
136
|
+
*/
|
|
134
137
|
export const TIGERCountySymbol = Symbol.for("TIGERCounty")
|
package/files.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* TIGER Census data utilities.
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import { AdminLevel1Code } from "./state.ts"
|
|
9
|
+
import type { AdminLevel1Code } from "./state.ts"
|
|
10
10
|
|
|
11
11
|
//#region Constants
|
|
12
12
|
|
|
@@ -89,6 +89,7 @@ export const TIGERLevelOrder = [
|
|
|
89
89
|
* @internal
|
|
90
90
|
*/
|
|
91
91
|
export const TIGERCurrentVintage = 2023
|
|
92
|
+
|
|
92
93
|
export type TIGERCurrentVintage = typeof TIGERCurrentVintage
|
|
93
94
|
|
|
94
95
|
//#endregion
|
|
@@ -142,6 +143,7 @@ export function TIGERStateLevelZIPPath<
|
|
|
142
143
|
>(stateFIPSCode: SFC, level: Level, vintage: Vintage = TIGERCurrentVintage as Vintage) {
|
|
143
144
|
const levelPath = level.toUpperCase() as Uppercase<Level>
|
|
144
145
|
const fileName = TIGERStateLevelFileName(stateFIPSCode, level, TIGERFileExtension.Zip, vintage)
|
|
146
|
+
|
|
145
147
|
const path = `/geo/tiger/TIGER${vintage}/${levelPath}/${fileName}` satisfies TIGERStateLevelZIPPath<
|
|
146
148
|
SFC,
|
|
147
149
|
Level,
|
|
@@ -207,6 +209,7 @@ export function TIGERLevelManifest<
|
|
|
207
209
|
const Projection = TIGERStateLevelFileName(stateFIPSCode, level, TIGERFileExtension.Projection, vintage)
|
|
208
210
|
const FGDCMetadata = TIGERStateLevelFileName(stateFIPSCode, level, TIGERFileExtension.FGDCMetadata, vintage)
|
|
209
211
|
const ISOMetadata = TIGERStateLevelFileName(stateFIPSCode, level, TIGERFileExtension.ISOMetadata, vintage)
|
|
212
|
+
|
|
210
213
|
const EntityAttributeMetadata = TIGERStateLevelFileName(
|
|
211
214
|
stateFIPSCode,
|
|
212
215
|
level,
|
package/geoid.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
import type { Tagged } from "type-fest"
|
|
8
8
|
|
|
9
|
-
import { AdminLevel1Code, FIPSStateCode } from "./state.ts"
|
|
9
|
+
import type { AdminLevel1Code, FIPSStateCode } from "./state.ts"
|
|
10
10
|
|
|
11
11
|
//#region Tagged FIPS types
|
|
12
12
|
|
|
@@ -258,7 +258,7 @@ export type GeoIDPart = (typeof GeoIDPart)[keyof typeof GeoIDPart]
|
|
|
258
258
|
*
|
|
259
259
|
* @internal
|
|
260
260
|
*/
|
|
261
|
-
export
|
|
261
|
+
export interface GeoIDPartMapping {
|
|
262
262
|
[GeoIDPart.State]: FIPSStateCode
|
|
263
263
|
[GeoIDPart.County]: FIPSCountyCode
|
|
264
264
|
[GeoIDPart.CountySubDivision]: FIPSCountySubDivisionCode
|
|
@@ -310,7 +310,7 @@ export interface ParsedGeoIDBlockLevel {
|
|
|
310
310
|
*
|
|
311
311
|
* @internal
|
|
312
312
|
*/
|
|
313
|
-
export
|
|
313
|
+
export interface ParsedGeoIDBlockGroupLevel {
|
|
314
314
|
[GeoIDPart.State]: AdminLevel1Code
|
|
315
315
|
[GeoIDPart.County]: FIPSCountyCode
|
|
316
316
|
[GeoIDPart.CountySubDivision]: FIPSCountySubDivisionCode
|
|
@@ -324,7 +324,7 @@ export type ParsedGeoIDBlockGroupLevel = {
|
|
|
324
324
|
*
|
|
325
325
|
* @internal
|
|
326
326
|
*/
|
|
327
|
-
export
|
|
327
|
+
export interface ParsedGeoIDTractLevel {
|
|
328
328
|
[GeoIDPart.State]: AdminLevel1Code
|
|
329
329
|
[GeoIDPart.County]: FIPSCountyCode
|
|
330
330
|
[GeoIDPart.CountySubDivision]: FIPSCountySubDivisionCode
|
|
@@ -338,14 +338,14 @@ export type ParsedGeoIDTractLevel = {
|
|
|
338
338
|
*
|
|
339
339
|
* @internal
|
|
340
340
|
*/
|
|
341
|
-
export type ParsedGeoIDPartial =
|
|
341
|
+
export type ParsedGeoIDPartial = Partial<Record<GeoIDPart, string>>
|
|
342
342
|
|
|
343
343
|
/**
|
|
344
344
|
* A GeoID parsed to the county-subdivision level. The fourth most granular level.
|
|
345
345
|
*
|
|
346
346
|
* @internal
|
|
347
347
|
*/
|
|
348
|
-
export
|
|
348
|
+
export interface ParsedGeoIDCountySubDivisionLevel {
|
|
349
349
|
[GeoIDPart.State]: AdminLevel1Code
|
|
350
350
|
[GeoIDPart.County]: FIPSCountyCode
|
|
351
351
|
[GeoIDPart.CountySubDivision]: FIPSCountySubDivisionCode
|
|
@@ -359,7 +359,7 @@ export type ParsedGeoIDCountySubDivisionLevel = {
|
|
|
359
359
|
*
|
|
360
360
|
* @internal
|
|
361
361
|
*/
|
|
362
|
-
export
|
|
362
|
+
export interface ParsedGeoIDCountyLevel {
|
|
363
363
|
[GeoIDPart.State]: AdminLevel1Code
|
|
364
364
|
[GeoIDPart.County]: FIPSCountyCode
|
|
365
365
|
[GeoIDPart.CountySubDivision]: undefined
|
|
@@ -373,7 +373,7 @@ export type ParsedGeoIDCountyLevel = {
|
|
|
373
373
|
*
|
|
374
374
|
* @internal
|
|
375
375
|
*/
|
|
376
|
-
export
|
|
376
|
+
export interface ParsedGeoIDStateLevel {
|
|
377
377
|
[GeoIDPart.State]: AdminLevel1Code
|
|
378
378
|
[GeoIDPart.County]: undefined
|
|
379
379
|
[GeoIDPart.CountySubDivision]: undefined
|
|
@@ -534,7 +534,7 @@ export function isGeoIDComponent<T extends GeoIDPart>(component: T, input: unkno
|
|
|
534
534
|
/**
|
|
535
535
|
* GeoID input matchers sorted by length in descending order, such that the most specific matchers are first.
|
|
536
536
|
*/
|
|
537
|
-
const OrderedGeoIDInputMatchers = Object.values(GeoIDInputMatchers).
|
|
537
|
+
const OrderedGeoIDInputMatchers = Object.values(GeoIDInputMatchers).toSorted((a, b) => b.length - a.length)
|
|
538
538
|
|
|
539
539
|
/**
|
|
540
540
|
* Given a block GeoID, parse it into its components.
|
|
@@ -590,6 +590,7 @@ export function parseGeoID(input: FIPSCountySubDivisionCode): ParsedGeoIDCountyS
|
|
|
590
590
|
export function parseGeoID(input: FIPSCountyCode): ParsedGeoIDCountyLevel
|
|
591
591
|
export function parseGeoID(input: AdminLevel1Code): ParsedGeoIDStateLevel
|
|
592
592
|
export function parseGeoID(input: unknown): ParsedGeoID | null
|
|
593
|
+
|
|
593
594
|
export function parseGeoID(input: unknown): ParsedGeoID | null {
|
|
594
595
|
if (!input) return null
|
|
595
596
|
|
|
@@ -643,6 +644,7 @@ export function formatGeoID(input: ParsedGeoIDBlockLevel): FIPSBlockGeoID
|
|
|
643
644
|
* @category FIPS
|
|
644
645
|
*/
|
|
645
646
|
export function formatGeoID(input: ParsedGeoIDPartial): string
|
|
647
|
+
|
|
646
648
|
export function formatGeoID(input: unknown): string | null {
|
|
647
649
|
if (!input || typeof input !== "object") return null
|
|
648
650
|
|
package/out/constants.d.ts
CHANGED
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
* @license AGPL-3.0
|
|
4
4
|
* @author Teffen Ellis, et al.
|
|
5
5
|
*/
|
|
6
|
-
import { TIGERClassCode } from "./class-code.ts";
|
|
7
|
-
import { TIGERFunctionalStatus } from "./functional-status.ts";
|
|
8
|
-
import {
|
|
9
|
-
import { LegalStatisticalAreaDescription } from "./legal-statistical-area.ts";
|
|
10
|
-
import { FIPSStateCode } from "./state.ts";
|
|
6
|
+
import type { TIGERClassCode } from "./class-code.ts";
|
|
7
|
+
import type { TIGERFunctionalStatus } from "./functional-status.ts";
|
|
8
|
+
import type { GeoIDPart, FIPSBlockCode, FIPSBlockGroupCode, FIPSCongressionalDistrictCode, FIPSCountyCode, FIPSCountySubDivisionCode, FIPSPlaceCode, FIPSTractCode } from "./geoid.ts";
|
|
9
|
+
import type { LegalStatisticalAreaDescription } from "./legal-statistical-area.ts";
|
|
10
|
+
import type { FIPSStateCode } from "./state.ts";
|
|
11
11
|
/**
|
|
12
12
|
* A code indicating the classification of the block, i.e. urban or rural.
|
|
13
13
|
*
|
package/out/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../constants.ts"],"names":[],"mappings":"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"}
|
package/out/constants.js
CHANGED
|
@@ -3,11 +3,6 @@
|
|
|
3
3
|
* @license AGPL-3.0
|
|
4
4
|
* @author Teffen Ellis, et al.
|
|
5
5
|
*/
|
|
6
|
-
import { TIGERClassCode } from "./class-code.js";
|
|
7
|
-
import { TIGERFunctionalStatus } from "./functional-status.js";
|
|
8
|
-
import { GeoIDPart, } from "./geoid.js";
|
|
9
|
-
import { LegalStatisticalAreaDescription } from "./legal-statistical-area.js";
|
|
10
|
-
import { FIPSStateCode } from "./state.js";
|
|
11
6
|
/**
|
|
12
7
|
* A code indicating the classification of the block, i.e. urban or rural.
|
|
13
8
|
*
|
package/out/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAiBH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC5C,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,GAAG;CACD,CAAA;AAKV;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IACjC;;OAEG;IACH,IAAI,EAAE,GAAG;IACT;;OAEG;IACH,KAAK,EAAE,GAAG;CACD,CAAA;AAIV;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC5B;;OAEG;IACH,KAAK,EAAE,OAAO;IACd;;OAEG;IACH,WAAW,EAAE,cAAc;IAC3B;;OAEG;IACH,cAAc,EAAE,kBAAkB;IAClC;;OAEG;IACH,iBAAiB,EAAE,qBAAqB;IACxC;;OAEG;IACH,WAAW,EAAE,eAAe;IAC5B;;OAEG;IACH,YAAY,EAAE,gBAAgB;IAC9B;;OAEG;IACH,gBAAgB,EAAE,oBAAoB;IACtC;;OAEG;IACH,UAAU,EAAE,YAAY;IACxB;;OAEG;IACH,gBAAgB,EAAE,mBAAmB;IACrC;;OAEG;IACH,gBAAgB,EAAE,UAAU;IAC5B;;OAEG;IACH,iBAAiB,EAAE,WAAW;IAC9B;;OAEG;IACH,+BAA+B,EAAE,oCAAoC;IACrE;;OAEG;IACH,SAAS,EAAE,YAAY;CACd,CAAA"}
|
package/out/county.d.ts
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* @license AGPL-3.0
|
|
4
4
|
* @author Teffen Ellis, et al.
|
|
5
5
|
*/
|
|
6
|
-
import { TIGERClassCode } from "./class-code.ts";
|
|
7
|
-
import { TIGERFunctionalStatus } from "./functional-status.ts";
|
|
6
|
+
import type { TIGERClassCode } from "./class-code.ts";
|
|
7
|
+
import type { TIGERFunctionalStatus } from "./functional-status.ts";
|
|
8
8
|
import type { LegalStatisticalAreaDescription } from "./legal-statistical-area.ts";
|
|
9
9
|
import type { AdminLevel1Code } from "./state.ts";
|
|
10
10
|
/**
|
|
@@ -115,5 +115,8 @@ export interface TIGERCounty {
|
|
|
115
115
|
*/
|
|
116
116
|
NAME: string;
|
|
117
117
|
}
|
|
118
|
+
/**
|
|
119
|
+
* Brand symbol marking a value as a TIGER county record, so a bare object cannot be passed as one.
|
|
120
|
+
*/
|
|
118
121
|
export declare const TIGERCountySymbol: unique symbol;
|
|
119
122
|
//# sourceMappingURL=county.d.ts.map
|
package/out/county.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"county.d.ts","sourceRoot":"","sources":["../county.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"county.d.ts","sourceRoot":"","sources":["../county.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AACnE,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAA;AAClF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAEjD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC3B;;OAEG;IACH,OAAO,EAAE,eAAe,CAAA;IAExB;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,CAAA;IAEhB;;;;;;;OAOG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;;;;;;OAOG;IACH,OAAO,EAAE,MAAM,CAAA;IAEf;;;;;;OAMG;IACH,QAAQ,EAAE,MAAM,CAAA;IAEhB;;;;OAIG;IACH,IAAI,EAAE,+BAA+B,CAAA;IAErC;;;;OAIG;IACH,OAAO,EAAE,cAAc,CAAA;IAEvB;;;;;;;;OAQG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;;;;;;OAOG;IACH,QAAQ,EAAE,qBAAqB,CAAA;IAE/B;;;;;OAKG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;;;;OAKG;IACH,MAAM,EAAE,MAAM,CAAA;IAEd;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAA;IAEhB;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAA;IAEhB;;;;;;OAMG;IACH,IAAI,EAAE,MAAM,CAAA;CACZ;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,eAA4B,CAAA"}
|
package/out/county.js
CHANGED
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
* @license AGPL-3.0
|
|
4
4
|
* @author Teffen Ellis, et al.
|
|
5
5
|
*/
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Brand symbol marking a value as a TIGER county record, so a bare object cannot be passed as one.
|
|
8
|
+
*/
|
|
8
9
|
export const TIGERCountySymbol = Symbol.for("TIGERCounty");
|
|
9
10
|
//# sourceMappingURL=county.js.map
|
package/out/county.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"county.js","sourceRoot":"","sources":["../county.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"county.js","sourceRoot":"","sources":["../county.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAiIH;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA"}
|
package/out/files.d.ts
CHANGED
package/out/files.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../files.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../files.ts"],"names":[],"mappings":"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"}
|
package/out/files.js
CHANGED
package/out/files.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.js","sourceRoot":"","sources":["../files.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"files.js","sourceRoot":"","sources":["../files.ts"],"names":[],"mappings":"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"}
|
package/out/geoid.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @author Teffen Ellis, et al.
|
|
5
5
|
*/
|
|
6
6
|
import type { Tagged } from "type-fest";
|
|
7
|
-
import { AdminLevel1Code, FIPSStateCode } from "./state.ts";
|
|
7
|
+
import type { AdminLevel1Code, FIPSStateCode } from "./state.ts";
|
|
8
8
|
/**
|
|
9
9
|
* A 4-digit number assigned by the Census to uniquely identify a block.
|
|
10
10
|
*
|
|
@@ -238,7 +238,7 @@ export type GeoIDPart = (typeof GeoIDPart)[keyof typeof GeoIDPart];
|
|
|
238
238
|
*
|
|
239
239
|
* @internal
|
|
240
240
|
*/
|
|
241
|
-
export
|
|
241
|
+
export interface GeoIDPartMapping {
|
|
242
242
|
[GeoIDPart.State]: FIPSStateCode;
|
|
243
243
|
[GeoIDPart.County]: FIPSCountyCode;
|
|
244
244
|
[GeoIDPart.CountySubDivision]: FIPSCountySubDivisionCode;
|
|
@@ -247,7 +247,7 @@ export type GeoIDPartMapping = {
|
|
|
247
247
|
[GeoIDPart.Tract]: FIPSTractCode;
|
|
248
248
|
[GeoIDPart.BlockGroup]: FIPSBlockGroupCode;
|
|
249
249
|
[GeoIDPart.Block]: FIPSBlockCode;
|
|
250
|
-
}
|
|
250
|
+
}
|
|
251
251
|
/**
|
|
252
252
|
* Record of GeoID parts and their respective lengths.
|
|
253
253
|
*
|
|
@@ -287,74 +287,72 @@ export interface ParsedGeoIDBlockLevel {
|
|
|
287
287
|
*
|
|
288
288
|
* @internal
|
|
289
289
|
*/
|
|
290
|
-
export
|
|
290
|
+
export interface ParsedGeoIDBlockGroupLevel {
|
|
291
291
|
[GeoIDPart.State]: AdminLevel1Code;
|
|
292
292
|
[GeoIDPart.County]: FIPSCountyCode;
|
|
293
293
|
[GeoIDPart.CountySubDivision]: FIPSCountySubDivisionCode;
|
|
294
294
|
[GeoIDPart.Tract]: FIPSTractCode;
|
|
295
295
|
[GeoIDPart.BlockGroup]: FIPSBlockGroupCode;
|
|
296
296
|
[GeoIDPart.Block]: undefined;
|
|
297
|
-
}
|
|
297
|
+
}
|
|
298
298
|
/**
|
|
299
299
|
* A GeoID parsed to the tract level. The third most granular level.
|
|
300
300
|
*
|
|
301
301
|
* @internal
|
|
302
302
|
*/
|
|
303
|
-
export
|
|
303
|
+
export interface ParsedGeoIDTractLevel {
|
|
304
304
|
[GeoIDPart.State]: AdminLevel1Code;
|
|
305
305
|
[GeoIDPart.County]: FIPSCountyCode;
|
|
306
306
|
[GeoIDPart.CountySubDivision]: FIPSCountySubDivisionCode;
|
|
307
307
|
[GeoIDPart.Tract]: FIPSTractCode;
|
|
308
308
|
[GeoIDPart.BlockGroup]: undefined;
|
|
309
309
|
[GeoIDPart.Block]: undefined;
|
|
310
|
-
}
|
|
310
|
+
}
|
|
311
311
|
/**
|
|
312
312
|
* A GeoID parsed to a partial level.
|
|
313
313
|
*
|
|
314
314
|
* @internal
|
|
315
315
|
*/
|
|
316
|
-
export type ParsedGeoIDPartial =
|
|
317
|
-
[P in GeoIDPart]?: string;
|
|
318
|
-
};
|
|
316
|
+
export type ParsedGeoIDPartial = Partial<Record<GeoIDPart, string>>;
|
|
319
317
|
/**
|
|
320
318
|
* A GeoID parsed to the county-subdivision level. The fourth most granular level.
|
|
321
319
|
*
|
|
322
320
|
* @internal
|
|
323
321
|
*/
|
|
324
|
-
export
|
|
322
|
+
export interface ParsedGeoIDCountySubDivisionLevel {
|
|
325
323
|
[GeoIDPart.State]: AdminLevel1Code;
|
|
326
324
|
[GeoIDPart.County]: FIPSCountyCode;
|
|
327
325
|
[GeoIDPart.CountySubDivision]: FIPSCountySubDivisionCode;
|
|
328
326
|
[GeoIDPart.Tract]: undefined;
|
|
329
327
|
[GeoIDPart.BlockGroup]: undefined;
|
|
330
328
|
[GeoIDPart.Block]: undefined;
|
|
331
|
-
}
|
|
329
|
+
}
|
|
332
330
|
/**
|
|
333
331
|
* A GeoID parsed to the county level. The fifth most granular level.
|
|
334
332
|
*
|
|
335
333
|
* @internal
|
|
336
334
|
*/
|
|
337
|
-
export
|
|
335
|
+
export interface ParsedGeoIDCountyLevel {
|
|
338
336
|
[GeoIDPart.State]: AdminLevel1Code;
|
|
339
337
|
[GeoIDPart.County]: FIPSCountyCode;
|
|
340
338
|
[GeoIDPart.CountySubDivision]: undefined;
|
|
341
339
|
[GeoIDPart.Tract]: undefined;
|
|
342
340
|
[GeoIDPart.BlockGroup]: undefined;
|
|
343
341
|
[GeoIDPart.Block]: undefined;
|
|
344
|
-
}
|
|
342
|
+
}
|
|
345
343
|
/**
|
|
346
344
|
* A GeoID parsed to the state level. The least granular level.
|
|
347
345
|
*
|
|
348
346
|
* @internal
|
|
349
347
|
*/
|
|
350
|
-
export
|
|
348
|
+
export interface ParsedGeoIDStateLevel {
|
|
351
349
|
[GeoIDPart.State]: AdminLevel1Code;
|
|
352
350
|
[GeoIDPart.County]: undefined;
|
|
353
351
|
[GeoIDPart.CountySubDivision]: undefined;
|
|
354
352
|
[GeoIDPart.Tract]: undefined;
|
|
355
353
|
[GeoIDPart.BlockGroup]: undefined;
|
|
356
354
|
[GeoIDPart.Block]: undefined;
|
|
357
|
-
}
|
|
355
|
+
}
|
|
358
356
|
/**
|
|
359
357
|
* A GeoID parsed to a specific level.
|
|
360
358
|
*
|
package/out/geoid.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geoid.d.ts","sourceRoot":"","sources":["../geoid.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAEvC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"geoid.d.ts","sourceRoot":"","sources":["../geoid.ts"],"names":[],"mappings":"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"}
|
package/out/geoid.js
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
* @license AGPL-3.0
|
|
4
4
|
* @author Teffen Ellis, et al.
|
|
5
5
|
*/
|
|
6
|
-
import { AdminLevel1Code, FIPSStateCode } from "./state.js";
|
|
7
6
|
//#endregion
|
|
8
7
|
//#region GeoID Parsing Setup
|
|
9
8
|
/**
|
|
@@ -162,7 +161,7 @@ export function isGeoIDComponent(component, input) {
|
|
|
162
161
|
/**
|
|
163
162
|
* GeoID input matchers sorted by length in descending order, such that the most specific matchers are first.
|
|
164
163
|
*/
|
|
165
|
-
const OrderedGeoIDInputMatchers = Object.values(GeoIDInputMatchers).
|
|
164
|
+
const OrderedGeoIDInputMatchers = Object.values(GeoIDInputMatchers).toSorted((a, b) => b.length - a.length);
|
|
166
165
|
/**
|
|
167
166
|
* Given a block GeoID, parse it into its components.
|
|
168
167
|
*
|
package/out/geoid.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geoid.js","sourceRoot":"","sources":["../geoid.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"geoid.js","sourceRoot":"","sources":["../geoid.ts"],"names":[],"mappings":"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"}
|
package/out/sdk/fetch.d.ts
CHANGED
|
@@ -28,21 +28,33 @@
|
|
|
28
28
|
*/
|
|
29
29
|
export type TIGERFetchLevel = "tabblock20" | "place" | "addrfeat";
|
|
30
30
|
export interface FetchTIGEROptions {
|
|
31
|
-
/**
|
|
31
|
+
/**
|
|
32
|
+
* Two-digit state FIPS, e.g. `"06"`.
|
|
33
|
+
*/
|
|
32
34
|
stateFIPS: string;
|
|
33
|
-
/**
|
|
35
|
+
/**
|
|
36
|
+
* TIGER level. Default `tabblock20`.
|
|
37
|
+
*/
|
|
34
38
|
level?: TIGERFetchLevel;
|
|
35
|
-
/**
|
|
39
|
+
/**
|
|
40
|
+
* Vintage. Default 2020 for blocks (matches the 2020 P.L.), 2024 for place/addrfeat (current).
|
|
41
|
+
*/
|
|
36
42
|
vintage?: number;
|
|
37
43
|
/**
|
|
38
44
|
* Output SQLite path. Default `<dataRoot>/tiger/tiger.db` (the name the corpus `tiger` adapter reads).
|
|
39
45
|
*/
|
|
40
46
|
outPath?: string;
|
|
41
|
-
/**
|
|
47
|
+
/**
|
|
48
|
+
* Download cache + default output root.
|
|
49
|
+
*/
|
|
42
50
|
dataRoot?: string;
|
|
43
|
-
/**
|
|
51
|
+
/**
|
|
52
|
+
* Optional three-digit county FIPS filter (blocks only — addrfeat is already per-county).
|
|
53
|
+
*/
|
|
44
54
|
county?: string;
|
|
45
|
-
/**
|
|
55
|
+
/**
|
|
56
|
+
* Rows per insert. Default 1000.
|
|
57
|
+
*/
|
|
46
58
|
batchSize?: number;
|
|
47
59
|
}
|
|
48
60
|
export type FetchTIGEREvent = {
|
package/out/sdk/fetch.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../sdk/fetch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAoBH;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,OAAO,GAAG,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../sdk/fetch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAoBH;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,OAAO,GAAG,UAAU,CAAA;AAcjE,MAAM,WAAW,iBAAiB;IACjC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,MAAM,eAAe,GACxB;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GACpD;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAErD,MAAM,WAAW,gBAAgB;IAChC,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;CAChB;AA4HD;;GAEG;AACH,wBAAuB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,cAAc,CAAC,eAAe,EAAE,gBAAgB,CAAC,CA8I/G"}
|
package/out/sdk/fetch.js
CHANGED
|
@@ -46,7 +46,9 @@ const LEVEL_TABLE = {
|
|
|
46
46
|
place: "tiger_places",
|
|
47
47
|
addrfeat: "tiger_streets",
|
|
48
48
|
};
|
|
49
|
-
/**
|
|
49
|
+
/**
|
|
50
|
+
* The isp-nexus column map for `tabblock20`. Geometry rides along implicitly.
|
|
51
|
+
*/
|
|
50
52
|
function blockSelectSQL(layer, county) {
|
|
51
53
|
const where = county ? ` WHERE COUNTYFP20 = '${county}'` : "";
|
|
52
54
|
return (`SELECT GEOID20 AS GEOID, STATEFP20 AS state_code, COUNTYFP20 AS county_code, ` +
|
|
@@ -133,7 +135,9 @@ async function downloadIfNeeded(url, dest) {
|
|
|
133
135
|
await rename(tmp, dest);
|
|
134
136
|
return false;
|
|
135
137
|
}
|
|
136
|
-
/**
|
|
138
|
+
/**
|
|
139
|
+
* Scrape the ADDRFEAT directory listing for a state's county FIPS codes.
|
|
140
|
+
*/
|
|
137
141
|
async function discoverCounties(state, vintage) {
|
|
138
142
|
const res = await fetch(`${CENSUS_HOST}/geo/tiger/TIGER${vintage}/ADDRFEAT/`, { redirect: "follow" });
|
|
139
143
|
if (!res.ok)
|
|
@@ -144,7 +148,7 @@ async function discoverCounties(state, vintage) {
|
|
|
144
148
|
for (let m = re.exec(html); m; m = re.exec(html)) {
|
|
145
149
|
counties.add(m[1]);
|
|
146
150
|
}
|
|
147
|
-
return [...counties].
|
|
151
|
+
return [...counties].toSorted();
|
|
148
152
|
}
|
|
149
153
|
/**
|
|
150
154
|
* Fetch one state's TIGER data at `level` into a SQLite DB. Yields progress; returns the final tally.
|
|
@@ -166,7 +170,7 @@ export async function* fetchTIGER(options) {
|
|
|
166
170
|
await mkdir(dirname(outPath), { recursive: true });
|
|
167
171
|
// Source units: one (per-state) for block/place; one per county for addrfeat.
|
|
168
172
|
const geoCodes = level === "addrfeat" ? await discoverCounties(state, vintage) : [""];
|
|
169
|
-
if (level === "addrfeat" && geoCodes.length
|
|
173
|
+
if (level === "addrfeat" && !geoCodes.length) {
|
|
170
174
|
throw new Error(`No ADDRFEAT counties found for state ${state} vintage ${vintage}`);
|
|
171
175
|
}
|
|
172
176
|
const db = new DatabaseSync(outPath);
|
|
@@ -237,7 +241,9 @@ export async function* fetchTIGER(options) {
|
|
|
237
241
|
], { stdio: ["ignore", "pipe", "pipe"] });
|
|
238
242
|
let stderr = "";
|
|
239
243
|
child.stderr.on("data", (d) => (stderr += d));
|
|
240
|
-
const exited = new Promise((resolve) =>
|
|
244
|
+
const exited = new Promise((resolve) => {
|
|
245
|
+
child.on("close", (code) => resolve(code ?? 0));
|
|
246
|
+
});
|
|
241
247
|
// GeoJSONSeq is line-delimited; keep the per-line `JSON.parse` in a try/catch so a malformed
|
|
242
248
|
// record is tolerated (skipped), not thrown.
|
|
243
249
|
for await (const line of TextSpliterator.fromAsync(child.stdout)) {
|