@urbankitstudio/atlas 0.6.9 → 0.6.11
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/README.md +2 -2
- package/data/alabama.json +43 -1
- package/data/arizona.json +20 -15
- package/data/arkansas.json +18 -18
- package/data/georgia.json +46 -1
- package/data/index.json +12 -12
- package/data/maryland.json +8 -8
- package/data/nevada.json +2 -2
- package/data/new-jersey.json +26 -26
- package/data/oregon.json +46 -1
- package/data/south-carolina.json +1 -1
- package/data/washington.json +47 -1
- package/dist/index.cjs +269 -86
- package/dist/index.d.cts +48 -0
- package/dist/index.d.ts +48 -0
- package/dist/index.js +269 -86
- package/package.json +3 -3
package/dist/index.d.cts
CHANGED
|
@@ -37,6 +37,54 @@ interface EndpointRecord {
|
|
|
37
37
|
supportsQuery: boolean;
|
|
38
38
|
corsEnabled: boolean | null;
|
|
39
39
|
searchFields: SearchField[];
|
|
40
|
+
/** ANDed into every ATTRIBUTE search against this endpoint. Only needed when
|
|
41
|
+
* one endpoint serves several counties - NYC's MAPPLUTO layer carries all
|
|
42
|
+
* five boroughs, so without this a Brooklyn owner search returns Queens
|
|
43
|
+
* parcels. Spatial lookups do not need it: the buffer already sits on the
|
|
44
|
+
* address, which is why the paid enrichment path is unaffected. */
|
|
45
|
+
scopeWhere?: string;
|
|
46
|
+
/**
|
|
47
|
+
* Declares that this layer CANNOT serve an ATTRIBUTE search - a `where`-clause
|
|
48
|
+
* query on a column, which is what "search by owner name / APN / address text"
|
|
49
|
+
* means everywhere on the site. Absent (the default, and true of every
|
|
50
|
+
* registration except the 67 Florida counties on the shared FDOR layer, one
|
|
51
|
+
* layer and one live case, see below) means an attribute search IS offered.
|
|
52
|
+
*
|
|
53
|
+
* THIS IS THE ONE FLAG. Do not add a second field, and do not express this
|
|
54
|
+
* with `searchable: false` on every column: `searchable` is a FIELD-level
|
|
55
|
+
* record of whether a `where` clause may name that column (the generator sets
|
|
56
|
+
* it from the column's type), it is set inconsistently by hand, and six
|
|
57
|
+
* different owner-capability rules already read it. This says something
|
|
58
|
+
* different and says it once, at the level where it is true - the endpoint.
|
|
59
|
+
*
|
|
60
|
+
* Honoured by `offersAttributeSearch` / `countyOffersAttributeSearch` in
|
|
61
|
+
* capability-core.ts, which every surface that DESCRIBES a search must go
|
|
62
|
+
* through. Field-availability functions deliberately do NOT read it: a layer
|
|
63
|
+
* flagged here still answers owner and address fields SPATIALLY, which is
|
|
64
|
+
* what the billed lookup, bulk enrichment and radius paths use, so flipping
|
|
65
|
+
* owner_name to not_published would be a false claim about data we do serve
|
|
66
|
+
* and do bill for. Search and availability are different questions.
|
|
67
|
+
*
|
|
68
|
+
* THE ONE LIVE CASE, and what would retire it. Florida's FDOR statewide
|
|
69
|
+
* cadastral layer carries all 67 counties and 10.8M parcels, and CO_NO - the
|
|
70
|
+
* county code, the only column identifying a county, and therefore every
|
|
71
|
+
* Florida registration's scopeWhere - is NOT INDEXED. Its declared indexes
|
|
72
|
+
* are OBJECTID, Shape, Shape__Area, Shape__Length and PARCEL_ID. A
|
|
73
|
+
* county-scoped attribute search therefore scans the roll from the top:
|
|
74
|
+
* measured across all 67 counties on 2026-09-20, only 4 answered inside 12s
|
|
75
|
+
* and the rest hit the service's ~55s ceiling. The conjunct poisons an
|
|
76
|
+
* indexed predicate too - PARCEL_ID LIKE '00%' alone answers in 0.9s, and
|
|
77
|
+
* `CO_NO=77 AND PARCEL_ID LIKE '00%'` times out - so there is no cheaper
|
|
78
|
+
* column to scope on. Dropping the scope is not an option either: an unscoped
|
|
79
|
+
* attribute search on a shared layer answers with every other county's
|
|
80
|
+
* parcels, which is exactly what shared-endpoint-scope.test.ts forbids.
|
|
81
|
+
* Scoped is unaffordable and unscoped is wrong, so attribute search is not
|
|
82
|
+
* offered at all.
|
|
83
|
+
*
|
|
84
|
+
* IF FDOR EVER INDEXES CO_NO, delete the flag from those 67 endpoint records
|
|
85
|
+
* and every surface re-offers the search on its own. Nothing else changes.
|
|
86
|
+
*/
|
|
87
|
+
attributeSearch?: "unsupported";
|
|
40
88
|
sampleQuery: string | null;
|
|
41
89
|
license: LicenseType;
|
|
42
90
|
licenseUrl: string | null;
|
package/dist/index.d.ts
CHANGED
|
@@ -37,6 +37,54 @@ interface EndpointRecord {
|
|
|
37
37
|
supportsQuery: boolean;
|
|
38
38
|
corsEnabled: boolean | null;
|
|
39
39
|
searchFields: SearchField[];
|
|
40
|
+
/** ANDed into every ATTRIBUTE search against this endpoint. Only needed when
|
|
41
|
+
* one endpoint serves several counties - NYC's MAPPLUTO layer carries all
|
|
42
|
+
* five boroughs, so without this a Brooklyn owner search returns Queens
|
|
43
|
+
* parcels. Spatial lookups do not need it: the buffer already sits on the
|
|
44
|
+
* address, which is why the paid enrichment path is unaffected. */
|
|
45
|
+
scopeWhere?: string;
|
|
46
|
+
/**
|
|
47
|
+
* Declares that this layer CANNOT serve an ATTRIBUTE search - a `where`-clause
|
|
48
|
+
* query on a column, which is what "search by owner name / APN / address text"
|
|
49
|
+
* means everywhere on the site. Absent (the default, and true of every
|
|
50
|
+
* registration except the 67 Florida counties on the shared FDOR layer, one
|
|
51
|
+
* layer and one live case, see below) means an attribute search IS offered.
|
|
52
|
+
*
|
|
53
|
+
* THIS IS THE ONE FLAG. Do not add a second field, and do not express this
|
|
54
|
+
* with `searchable: false` on every column: `searchable` is a FIELD-level
|
|
55
|
+
* record of whether a `where` clause may name that column (the generator sets
|
|
56
|
+
* it from the column's type), it is set inconsistently by hand, and six
|
|
57
|
+
* different owner-capability rules already read it. This says something
|
|
58
|
+
* different and says it once, at the level where it is true - the endpoint.
|
|
59
|
+
*
|
|
60
|
+
* Honoured by `offersAttributeSearch` / `countyOffersAttributeSearch` in
|
|
61
|
+
* capability-core.ts, which every surface that DESCRIBES a search must go
|
|
62
|
+
* through. Field-availability functions deliberately do NOT read it: a layer
|
|
63
|
+
* flagged here still answers owner and address fields SPATIALLY, which is
|
|
64
|
+
* what the billed lookup, bulk enrichment and radius paths use, so flipping
|
|
65
|
+
* owner_name to not_published would be a false claim about data we do serve
|
|
66
|
+
* and do bill for. Search and availability are different questions.
|
|
67
|
+
*
|
|
68
|
+
* THE ONE LIVE CASE, and what would retire it. Florida's FDOR statewide
|
|
69
|
+
* cadastral layer carries all 67 counties and 10.8M parcels, and CO_NO - the
|
|
70
|
+
* county code, the only column identifying a county, and therefore every
|
|
71
|
+
* Florida registration's scopeWhere - is NOT INDEXED. Its declared indexes
|
|
72
|
+
* are OBJECTID, Shape, Shape__Area, Shape__Length and PARCEL_ID. A
|
|
73
|
+
* county-scoped attribute search therefore scans the roll from the top:
|
|
74
|
+
* measured across all 67 counties on 2026-09-20, only 4 answered inside 12s
|
|
75
|
+
* and the rest hit the service's ~55s ceiling. The conjunct poisons an
|
|
76
|
+
* indexed predicate too - PARCEL_ID LIKE '00%' alone answers in 0.9s, and
|
|
77
|
+
* `CO_NO=77 AND PARCEL_ID LIKE '00%'` times out - so there is no cheaper
|
|
78
|
+
* column to scope on. Dropping the scope is not an option either: an unscoped
|
|
79
|
+
* attribute search on a shared layer answers with every other county's
|
|
80
|
+
* parcels, which is exactly what shared-endpoint-scope.test.ts forbids.
|
|
81
|
+
* Scoped is unaffordable and unscoped is wrong, so attribute search is not
|
|
82
|
+
* offered at all.
|
|
83
|
+
*
|
|
84
|
+
* IF FDOR EVER INDEXES CO_NO, delete the flag from those 67 endpoint records
|
|
85
|
+
* and every surface re-offers the search on its own. Nothing else changes.
|
|
86
|
+
*/
|
|
87
|
+
attributeSearch?: "unsupported";
|
|
40
88
|
sampleQuery: string | null;
|
|
41
89
|
license: LicenseType;
|
|
42
90
|
licenseUrl: string | null;
|