/** * @copyright Sister Software * @license AGPL-3.0 * @author Teffen Ellis, et al. * * `tiger`: US Census TIGER/Line consumer adapter. * * TIGER/Line is the canonical US street + locality dataset published by the Census Bureau as a * **public-domain** product (no ODbL share-alike concerns for US-only corpora). Coverage extends * to every named street segment + every incorporated place + CDP across the 50 states + DC + the * five primary territories — substantially better US street-name coverage than OSM, especially in * rural areas. * * Following the `wof-admin` / `wof-postalcode` pattern, this adapter consumes a SQLite database the * operator pre-builds from the raw TIGER shapefiles (see the README for the schema and a * suggested `ogr2ogr` pipeline). The mailwoman side does not parse Shapefile binary directly — * keeping the adapter narrow lets the operator pick their own ingestion tool (ogr2ogr / shp2pgsql * / a custom Python script / etc.) without forcing a heavy native dep into `@mailwoman/corpus`. * * Two row classes are emitted: * * - **Street-level** (`tiger_streets`): one row per segment, optionally with up to two postcode * variants if `zipl` / `zipr` differ. Components: `{ street, region, postcode? }`. Streets * without a recognized state FIPS are dropped — there's no useful row without `region`. * - **Locality-level** (`tiger_places`): up to three variants per place: locality-only, * locality-with-region, locality-with-region-country (mirrors `wof-admin`'s fan-out for * consistency). * - `packages/corpus/src/codex/us-fips-state.ts` — the FIPS → `{abbreviation, name}` lookup table * (originally `tiger/state.ts`, AGPL-3.0 → AGPL-3.0). The full isp-nexus TIGER module ships a * TypeORM-backed service layer; mailwoman only needs the lookup data so we don't carry the * service layer over. * * License: stamped `"Public Domain"` per Census Bureau guidance on TIGER/Line. No per-row override * needed — every row in TIGER is the same license. */ import type { CorpusAdapter } from "@mailwoman/corpus/types"; /** * Registry id for this adapter. Stamped into every row it emits, so a corpus record can be traced back to the dataset * it came from. */ export declare const TIGER_ADAPTER_ID = "tiger"; /** * License carried by this source (Public Domain), attached to each row so downstream consumers inherit the terms rather * than having to look them up. */ export declare const TIGER_DEFAULT_LICENSE = "Public Domain"; /** * Build a TIGER adapter. Pure factory so multiple instances can be created in tests. */ export declare function createTigerAdapter(): CorpusAdapter; /** * The configured adapter instance registered with the corpus builder. */ export declare const tigerAdapter: CorpusAdapter; //# sourceMappingURL=adapter.d.ts.map