@mailwoman/resolver-wof-sqlite 10.1.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.
- package/README.md +1 -0
- package/lib/address/point/interpolation.ts +6 -2
- package/lib/address/point.ts +15 -14
- package/lib/build/candidate.ts +11 -21
- package/lib/build/slim.ts +1 -1
- package/lib/candidate/importance.ts +1 -1
- package/lib/candidate/lookup.ts +47 -34
- package/lib/candidate/own-name.ts +1 -1
- package/lib/candidate/scoring.ts +29 -29
- package/lib/capitals.ts +3 -3
- package/lib/coincident-roles.ts +15 -4
- package/lib/convention/schema.ts +2 -9
- package/lib/convention.ts +7 -7
- package/lib/coverage-manifest-schema.ts +6 -6
- package/lib/currency-backfill.ts +13 -13
- package/lib/exact-match.ts +1 -1
- package/lib/extracts.ts +1 -1
- package/lib/fst/autocomplete.ts +2 -2
- package/lib/fst/builder.ts +9 -7
- package/lib/fst/deserialize-web.ts +8 -8
- package/lib/fst/freshness.ts +27 -26
- package/lib/fst/matcher.ts +5 -3
- package/lib/fst/serialize.ts +12 -17
- package/lib/fst/types.ts +14 -23
- package/lib/fst.ts +1 -0
- package/lib/fts.ts +1 -1
- package/lib/geonames/aliases.ts +3 -3
- package/lib/geonames/postal.ts +1 -1
- package/lib/index.ts +3 -2
- package/lib/interpolation.ts +7 -6
- package/lib/lookup.ts +26 -20
- package/lib/nsul/lookup.ts +1 -1
- package/lib/place-importance-schema.ts +5 -5
- package/lib/poi/lookup.ts +13 -21
- package/lib/postcode-point-lookup.ts +1 -10
- package/lib/primary-preference.ts +2 -2
- package/lib/proximity-rerank.ts +1 -1
- package/lib/ranking-weights.ts +15 -10
- package/lib/region-keys.ts +2 -2
- package/lib/reverse.ts +45 -18
- package/lib/schema.ts +3 -12
- package/lib/sqlite/convention-source.ts +3 -3
- package/lib/sqlite/utils.ts +1 -1
- package/lib/street/centroid.ts +1 -1
- package/lib/street/morphology/fst/builder.ts +16 -7
- package/lib/street/morphology/fst/loader.ts +8 -7
- package/lib/street/name-lookup.ts +4 -8
- package/lib/street/normalize.ts +3 -3
- package/lib/street/segment-schema.ts +2 -2
- package/lib/types.ts +17 -12
- package/lib/uprn/lookup.ts +1 -1
- package/lib/weights-overlay-linker.ts +38 -26
- package/out/address/point/interpolation.d.ts +1 -0
- package/out/address/point/interpolation.d.ts.map +1 -1
- package/out/address/point/interpolation.js +5 -2
- package/out/address/point/interpolation.js.map +1 -1
- package/out/address/point.d.ts +5 -4
- package/out/address/point.d.ts.map +1 -1
- package/out/address/point.js +11 -10
- package/out/address/point.js.map +1 -1
- package/out/build/candidate.d.ts +7 -17
- package/out/build/candidate.d.ts.map +1 -1
- package/out/build/candidate.js +4 -11
- package/out/build/candidate.js.map +1 -1
- package/out/build/slim.js +1 -1
- package/out/build/slim.js.map +1 -1
- package/out/candidate/importance.js +1 -1
- package/out/candidate/importance.js.map +1 -1
- package/out/candidate/lookup.d.ts +8 -5
- package/out/candidate/lookup.d.ts.map +1 -1
- package/out/candidate/lookup.js +35 -25
- package/out/candidate/lookup.js.map +1 -1
- package/out/candidate/own-name.js +1 -1
- package/out/candidate/own-name.js.map +1 -1
- package/out/candidate/scoring.js +27 -25
- package/out/candidate/scoring.js.map +1 -1
- package/out/capitals.d.ts +1 -1
- package/out/capitals.d.ts.map +1 -1
- package/out/capitals.js.map +1 -1
- package/out/coincident-roles.d.ts +4 -4
- package/out/coincident-roles.d.ts.map +1 -1
- package/out/coincident-roles.js +11 -0
- package/out/coincident-roles.js.map +1 -1
- package/out/convention/schema.d.ts +2 -8
- package/out/convention/schema.d.ts.map +1 -1
- package/out/convention/schema.js.map +1 -1
- package/out/convention.d.ts +4 -4
- package/out/convention.d.ts.map +1 -1
- package/out/convention.js +3 -3
- package/out/convention.js.map +1 -1
- package/out/coverage-manifest-schema.d.ts +1 -1
- package/out/coverage-manifest-schema.d.ts.map +1 -1
- package/out/coverage-manifest-schema.js +5 -5
- package/out/coverage-manifest-schema.js.map +1 -1
- package/out/currency-backfill.d.ts +6 -6
- package/out/currency-backfill.d.ts.map +1 -1
- package/out/currency-backfill.js +7 -7
- package/out/currency-backfill.js.map +1 -1
- package/out/exact-match.js +1 -1
- package/out/exact-match.js.map +1 -1
- package/out/extracts.d.ts +1 -1
- package/out/extracts.d.ts.map +1 -1
- package/out/extracts.js.map +1 -1
- package/out/fst/autocomplete.d.ts +1 -1
- package/out/fst/autocomplete.d.ts.map +1 -1
- package/out/fst/autocomplete.js +1 -1
- package/out/fst/autocomplete.js.map +1 -1
- package/out/fst/builder.d.ts.map +1 -1
- package/out/fst/builder.js +9 -7
- package/out/fst/builder.js.map +1 -1
- package/out/fst/deserialize-web.d.ts +1 -1
- package/out/fst/deserialize-web.d.ts.map +1 -1
- package/out/fst/deserialize-web.js +7 -7
- package/out/fst/deserialize-web.js.map +1 -1
- package/out/fst/freshness.d.ts +9 -9
- package/out/fst/freshness.d.ts.map +1 -1
- package/out/fst/freshness.js +19 -18
- package/out/fst/freshness.js.map +1 -1
- package/out/fst/matcher.d.ts +4 -3
- package/out/fst/matcher.d.ts.map +1 -1
- package/out/fst/matcher.js.map +1 -1
- package/out/fst/serialize.d.ts +1 -5
- package/out/fst/serialize.d.ts.map +1 -1
- package/out/fst/serialize.js +11 -15
- package/out/fst/serialize.js.map +1 -1
- package/out/fst/types.d.ts +14 -22
- package/out/fst/types.d.ts.map +1 -1
- package/out/fst.d.ts +1 -0
- package/out/fst.d.ts.map +1 -1
- package/out/fst.js +1 -0
- package/out/fst.js.map +1 -1
- package/out/fts.js +1 -1
- package/out/fts.js.map +1 -1
- package/out/geonames/aliases.d.ts +1 -1
- package/out/geonames/aliases.d.ts.map +1 -1
- package/out/geonames/aliases.js +2 -2
- package/out/geonames/aliases.js.map +1 -1
- package/out/geonames/postal.js +1 -1
- package/out/geonames/postal.js.map +1 -1
- package/out/index.d.ts +3 -2
- package/out/index.d.ts.map +1 -1
- package/out/index.js +1 -0
- package/out/index.js.map +1 -1
- package/out/interpolation.d.ts +4 -4
- package/out/interpolation.d.ts.map +1 -1
- package/out/interpolation.js +4 -3
- package/out/interpolation.js.map +1 -1
- package/out/lookup.d.ts +4 -3
- package/out/lookup.d.ts.map +1 -1
- package/out/lookup.js +22 -14
- package/out/lookup.js.map +1 -1
- package/out/nsul/lookup.js.map +1 -1
- package/out/place-importance-schema.d.ts +2 -2
- package/out/place-importance-schema.d.ts.map +1 -1
- package/out/place-importance-schema.js +3 -3
- package/out/place-importance-schema.js.map +1 -1
- package/out/poi/lookup.d.ts +10 -13
- package/out/poi/lookup.d.ts.map +1 -1
- package/out/poi/lookup.js +3 -7
- package/out/poi/lookup.js.map +1 -1
- package/out/postcode-point-lookup.d.ts +1 -9
- package/out/postcode-point-lookup.d.ts.map +1 -1
- package/out/postcode-point-lookup.js.map +1 -1
- package/out/primary-preference.js +2 -2
- package/out/primary-preference.js.map +1 -1
- package/out/proximity-rerank.d.ts +1 -1
- package/out/proximity-rerank.d.ts.map +1 -1
- package/out/ranking-weights.d.ts +15 -10
- package/out/ranking-weights.d.ts.map +1 -1
- package/out/ranking-weights.js.map +1 -1
- package/out/region-keys.d.ts +2 -2
- package/out/region-keys.d.ts.map +1 -1
- package/out/region-keys.js.map +1 -1
- package/out/reverse.d.ts +7 -4
- package/out/reverse.d.ts.map +1 -1
- package/out/reverse.js +38 -13
- package/out/reverse.js.map +1 -1
- package/out/schema.d.ts +2 -11
- package/out/schema.d.ts.map +1 -1
- package/out/sqlite/convention-source.d.ts +1 -1
- package/out/sqlite/convention-source.d.ts.map +1 -1
- package/out/sqlite/convention-source.js +2 -2
- package/out/sqlite/convention-source.js.map +1 -1
- package/out/sqlite/utils.d.ts +1 -1
- package/out/sqlite/utils.d.ts.map +1 -1
- package/out/street/centroid.js +1 -1
- package/out/street/centroid.js.map +1 -1
- package/out/street/morphology/fst/builder.d.ts +3 -3
- package/out/street/morphology/fst/builder.d.ts.map +1 -1
- package/out/street/morphology/fst/builder.js +13 -4
- package/out/street/morphology/fst/builder.js.map +1 -1
- package/out/street/morphology/fst/loader.d.ts +4 -4
- package/out/street/morphology/fst/loader.d.ts.map +1 -1
- package/out/street/morphology/fst/loader.js +4 -3
- package/out/street/morphology/fst/loader.js.map +1 -1
- package/out/street/name-lookup.d.ts +2 -2
- package/out/street/name-lookup.d.ts.map +1 -1
- package/out/street/name-lookup.js +2 -4
- package/out/street/name-lookup.js.map +1 -1
- package/out/street/normalize.js +3 -3
- package/out/street/normalize.js.map +1 -1
- package/out/street/segment-schema.d.ts +2 -2
- package/out/street/segment-schema.js +2 -2
- package/out/types.d.ts +16 -12
- package/out/types.d.ts.map +1 -1
- package/out/uprn/lookup.js +1 -1
- package/out/uprn/lookup.js.map +1 -1
- package/out/weights-overlay-linker.d.ts +9 -6
- package/out/weights-overlay-linker.d.ts.map +1 -1
- package/out/weights-overlay-linker.js +21 -7
- package/out/weights-overlay-linker.js.map +1 -1
- package/package.json +13 -13
package/out/region-keys.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"region-keys.js","sourceRoot":"","sources":["../lib/region-keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAE/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAE3D;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAwB,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAA;AAEvH;;;;;;;;;;;GAWG;AACH,MAAM,yBAAyB,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAU,CAAA;AAElE;;;;;;;GAOG;AACH,MAAM,wBAAwB,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAU,CAAA;AAEvE,SAAS,aAAa,CAAC,KAAa,EAAE,QAA2B;IAChE,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,EAAE,CAAA;IAElC,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAAE,SAAQ;QAEnF,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;QAE1B,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACxC,MAAM,EAAE,CAAA;QACT,CAAC;QAED,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC3B,CAAC;IAED,OAAO,KAAK,CAAA;AACb,CAAC;AAED,SAAS,aAAa,CAAC,KAAa,EAAE,QAA2B;IAChE,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,EAAE,CAAA;IAElC,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;QAE3C,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAAE,SAAQ;QAE7F,IAAI,GAAG,GAAG,MAAM,CAAA;QAEhB,OAAO,GAAG,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACpD,GAAG,EAAE,CAAA;QACN,CAAC;QAED,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAC3B,CAAC;IAED,OAAO,KAAK,CAAA;AACb,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"region-keys.js","sourceRoot":"","sources":["../lib/region-keys.ts"],"names":[],"mappings":"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"}
|
package/out/reverse.d.ts
CHANGED
|
@@ -82,19 +82,21 @@ export interface ReverseGeocodeOpts {
|
|
|
82
82
|
/**
|
|
83
83
|
* Restrict the hierarchy to these placetypes (both the bbox candidates and the descent tiers).
|
|
84
84
|
*
|
|
85
|
-
* Default: every admin placetype in the gazetteer.
|
|
86
85
|
* E.g.
|
|
87
86
|
*
|
|
88
87
|
* `["region", "county", "locality"]` to skip the neighborhood grain.
|
|
88
|
+
*
|
|
89
|
+
* @defaultValue every admin placetype in the gazetteer.
|
|
89
90
|
*/
|
|
90
91
|
placetypes?: WOFPlacetype[];
|
|
91
92
|
/**
|
|
92
93
|
* Cap on the bbox candidate fetch.
|
|
93
94
|
*
|
|
94
|
-
* The default is 128.
|
|
95
95
|
* Current measurements show that this covers a dense metro.
|
|
96
96
|
*
|
|
97
97
|
* The most bbox-overlapping point we have measured is a few dozen neighborhoods plus the admin chain.
|
|
98
|
+
*
|
|
99
|
+
* @defaultValue `128`
|
|
98
100
|
*/
|
|
99
101
|
maxCandidates?: number;
|
|
100
102
|
/**
|
|
@@ -103,7 +105,8 @@ export interface ReverseGeocodeOpts {
|
|
|
103
105
|
* This keeps a sparse gazetteer from "refining" to a far-away sibling.
|
|
104
106
|
*
|
|
105
107
|
* Polygon-confirmed steps ignore it (containment is exact regardless of centroid distance).
|
|
106
|
-
*
|
|
108
|
+
*
|
|
109
|
+
* @defaultValue `25 km`
|
|
107
110
|
*/
|
|
108
111
|
maxApproximateKm?: number;
|
|
109
112
|
}
|
|
@@ -125,7 +128,7 @@ export declare class WOFReverseGeocoder implements Disposable {
|
|
|
125
128
|
* The async method above exists only for call-site symmetry with `PlaceLookup.findPlace`.
|
|
126
129
|
*
|
|
127
130
|
* Exposed directly for callers that can't await mid-call
|
|
128
|
-
* (e.g. `mailwoman/poi-executor.ts`'s `createPOIExecutor`, whose `
|
|
131
|
+
* (e.g. `mailwoman/poi-executor.ts`'s `createPOIExecutor`, whose `POIQueryResult`
|
|
129
132
|
* return type is synchronous by interface. See `poi-intent.ts`'s `deps.execute`).
|
|
130
133
|
*/
|
|
131
134
|
reverseGeocodeSync(lat: number, lon: number, opts?: ReverseGeocodeOpts): ReverseGeocodeResult;
|
package/out/reverse.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reverse.d.ts","sourceRoot":"","sources":["../lib/reverse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAKH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAEzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAW1D;;;;;;;;GAQG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,aAAa,CAAA;AAEvD,MAAM,WAAW,oBAAoB;IACpC;;;;;;;OAOG;IACH,SAAS,EAAE,cAAc,EAAE,CAAA;IAC3B;;OAEG;IACH,WAAW,EAAE,eAAe,CAAA;CAC5B;AAED,MAAM,WAAW,sBAAsB;IACtC;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,eAAe,CAAA;IAC7B;;OAEG;IACH,aAAa,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAA;IAC3C;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,eAAe,CAAA;IAC/B;;OAEG;IACH,eAAe,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAA;CAC7C;AAED,MAAM,WAAW,kBAAkB;IAClC
|
|
1
|
+
{"version":3,"file":"reverse.d.ts","sourceRoot":"","sources":["../lib/reverse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAKH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAEzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAW1D;;;;;;;;GAQG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,aAAa,CAAA;AAEvD,MAAM,WAAW,oBAAoB;IACpC;;;;;;;OAOG;IACH,SAAS,EAAE,cAAc,EAAE,CAAA;IAC3B;;OAEG;IACH,WAAW,EAAE,eAAe,CAAA;CAC5B;AAED,MAAM,WAAW,sBAAsB;IACtC;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,eAAe,CAAA;IAC7B;;OAEG;IACH,aAAa,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAA;IAC3C;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,eAAe,CAAA;IAC/B;;OAEG;IACH,eAAe,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAA;CAC7C;AAED,MAAM,WAAW,kBAAkB;IAClC;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,YAAY,EAAE,CAAA;IAC3B;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;CACzB;AAgED,qBAAa,kBAAmB,YAAW,UAAU;;IAgBpD,YAAY,IAAI,EAAE,sBAAsB,EAsCvC;IAED;;;;;;OAMG;IACG,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,kBAAuB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAE3G;IAED;;;;;;;;;OASG;IACH,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,kBAAuB,GAAG,oBAAoB,CAiJhG;IA8FD,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,CAQvB;CACD"}
|
package/out/reverse.js
CHANGED
|
@@ -52,21 +52,34 @@ const DESCENT_TIERS = [
|
|
|
52
52
|
"neighbourhood",
|
|
53
53
|
"microhood",
|
|
54
54
|
];
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
const ABSENT_CANDIDATE_FIELDS = {
|
|
56
|
+
parent_id: null,
|
|
57
|
+
distanceKm: null,
|
|
58
|
+
exactMatch: null,
|
|
59
|
+
prominence: null,
|
|
60
|
+
population: null,
|
|
61
|
+
referential: null,
|
|
62
|
+
encyclopedic: null,
|
|
63
|
+
importance: null,
|
|
64
|
+
bbox: null,
|
|
65
|
+
mismatch: null,
|
|
66
|
+
containedByQualifier: null,
|
|
67
|
+
regionScopeMiss: null,
|
|
68
|
+
variantAliasExempted: null,
|
|
69
|
+
};
|
|
70
|
+
function toPlaceCandidate(row, distanceKm = null) {
|
|
71
|
+
return {
|
|
72
|
+
...ABSENT_CANDIDATE_FIELDS,
|
|
57
73
|
id: row.id,
|
|
58
74
|
name: row.name,
|
|
59
75
|
placetype: row.placetype,
|
|
60
76
|
country: row.country ?? "",
|
|
61
77
|
lat: row.lat,
|
|
62
78
|
lon: row.lon,
|
|
63
|
-
parent_id: row.parent_id ??
|
|
79
|
+
parent_id: row.parent_id ?? null,
|
|
64
80
|
score: 0,
|
|
81
|
+
distanceKm,
|
|
65
82
|
};
|
|
66
|
-
if (distanceKm !== undefined) {
|
|
67
|
-
c.distanceKm = distanceKm;
|
|
68
|
-
}
|
|
69
|
-
return c;
|
|
70
83
|
}
|
|
71
84
|
export class WOFReverseGeocoder {
|
|
72
85
|
#admin;
|
|
@@ -128,7 +141,7 @@ export class WOFReverseGeocoder {
|
|
|
128
141
|
* The async method above exists only for call-site symmetry with `PlaceLookup.findPlace`.
|
|
129
142
|
*
|
|
130
143
|
* Exposed directly for callers that can't await mid-call
|
|
131
|
-
* (e.g. `mailwoman/poi-executor.ts`'s `createPOIExecutor`, whose `
|
|
144
|
+
* (e.g. `mailwoman/poi-executor.ts`'s `createPOIExecutor`, whose `POIQueryResult`
|
|
132
145
|
* return type is synchronous by interface. See `poi-intent.ts`'s `deps.execute`).
|
|
133
146
|
*/
|
|
134
147
|
reverseGeocodeSync(lat, lon, opts = {}) {
|
|
@@ -173,7 +186,7 @@ export class WOFReverseGeocoder {
|
|
|
173
186
|
// Approximate descent into finer tiers than the winner.
|
|
174
187
|
let current = winner;
|
|
175
188
|
let currentConfirmed = winnerConfirmed;
|
|
176
|
-
let currentDistanceKm = currentConfirmed ?
|
|
189
|
+
let currentDistanceKm = currentConfirmed ? null : haversineKm(lat, lon, current.lat, current.lon);
|
|
177
190
|
for (const tier of DESCENT_TIERS) {
|
|
178
191
|
if (placetypeDepth(tier) <= placetypeDepth(current.placetype))
|
|
179
192
|
continue;
|
|
@@ -182,14 +195,14 @@ export class WOFReverseGeocoder {
|
|
|
182
195
|
const kids = this.#descendants(current.id, tier, lat, lon, maxApproximateKm);
|
|
183
196
|
let next = null;
|
|
184
197
|
let nextConfirmed = false;
|
|
185
|
-
let nextKm;
|
|
198
|
+
let nextKm = null;
|
|
186
199
|
let bestKm = Infinity;
|
|
187
200
|
for (const k of kids) {
|
|
188
201
|
const contains = geometryContains(this.#geometry(k.id), lon, lat);
|
|
189
202
|
if (contains === true) {
|
|
190
203
|
next = k;
|
|
191
204
|
nextConfirmed = true;
|
|
192
|
-
nextKm =
|
|
205
|
+
nextKm = null;
|
|
193
206
|
break;
|
|
194
207
|
}
|
|
195
208
|
if (contains === false)
|
|
@@ -216,14 +229,26 @@ export class WOFReverseGeocoder {
|
|
|
216
229
|
const byID = new Map([[current.id, toPlaceCandidate(current, currentDistanceKm)]]);
|
|
217
230
|
for (const a of ancestorLineage(this.#admin, current.id)) {
|
|
218
231
|
if (!byID.has(a.id)) {
|
|
219
|
-
byID.set(a.id, {
|
|
232
|
+
byID.set(a.id, {
|
|
233
|
+
...ABSENT_CANDIDATE_FIELDS,
|
|
234
|
+
...a,
|
|
235
|
+
placetype: a.placetype,
|
|
236
|
+
country: a.country ?? "",
|
|
237
|
+
score: 0,
|
|
238
|
+
});
|
|
220
239
|
}
|
|
221
240
|
}
|
|
222
241
|
if (!byID.has(winner.id)) {
|
|
223
242
|
byID.set(winner.id, toPlaceCandidate(winner));
|
|
224
243
|
for (const a of ancestorLineage(this.#admin, winner.id)) {
|
|
225
244
|
if (!byID.has(a.id)) {
|
|
226
|
-
byID.set(a.id, {
|
|
245
|
+
byID.set(a.id, {
|
|
246
|
+
...ABSENT_CANDIDATE_FIELDS,
|
|
247
|
+
...a,
|
|
248
|
+
placetype: a.placetype,
|
|
249
|
+
country: a.country ?? "",
|
|
250
|
+
score: 0,
|
|
251
|
+
});
|
|
227
252
|
}
|
|
228
253
|
}
|
|
229
254
|
}
|
package/out/reverse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reverse.js","sourceRoot":"","sources":["../lib/reverse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAuB,MAAM,oBAAoB,CAAA;AACnG,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAG7D,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,MAAM,CAAA;AAGvC;;GAEG;AACH,MAAM,gBAAgB,GAAG,EAAE,CAAA;AAE3B;;GAEG;AACH,MAAM,iBAAiB,GAAG,GAAG,CAAA;
|
|
1
|
+
{"version":3,"file":"reverse.js","sourceRoot":"","sources":["../lib/reverse.ts"],"names":[],"mappings":"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"}
|
package/out/schema.d.ts
CHANGED
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
* - Whosonfirst SQLite readme: https://github.com/whosonfirst/go-whosonfirst-sqlite
|
|
14
14
|
* - Per-table sources under https://github.com/whosonfirst/go-whosonfirst-sqlite-features
|
|
15
15
|
*/
|
|
16
|
+
import type { KeyValueMetaTable } from "@mailwoman/sqlite/database-schema";
|
|
16
17
|
/**
|
|
17
18
|
* The FTS5 virtual table this package builds on first open.
|
|
18
19
|
* It is local to this repository.
|
|
@@ -183,18 +184,8 @@ export interface CoincidentRolesTable {
|
|
|
183
184
|
*
|
|
184
185
|
* The build and augment writers adopt it so a column rename is a compile error on both sides.
|
|
185
186
|
*/
|
|
186
|
-
/**
|
|
187
|
-
* The provenance row every built extract includes: source fingerprints stored with
|
|
188
|
-
* the database rather than in a document that can drift from it.
|
|
189
|
-
*
|
|
190
|
-
* Written by the postcode builders in `mailwoman/gazetteer-pipeline`.
|
|
191
|
-
*/
|
|
192
|
-
export interface ExtractMetaTable {
|
|
193
|
-
key: string;
|
|
194
|
-
value: string | null;
|
|
195
|
-
}
|
|
196
187
|
export interface WOFDatabase {
|
|
197
|
-
meta:
|
|
188
|
+
meta: KeyValueMetaTable;
|
|
198
189
|
place_search: PlaceSearchTable;
|
|
199
190
|
spr: SprTable;
|
|
200
191
|
names: NamesTable;
|
package/out/schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../lib/schema.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../lib/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,6 @@ export declare class SqliteConventionSource<DB> implements ConventionSource {
|
|
|
20
20
|
* @param schema The schema that holds the convention table, either `main` or an attached extract's name.
|
|
21
21
|
*/
|
|
22
22
|
constructor(db: DatabaseClient<DB>, schema: string);
|
|
23
|
-
get(wofID: number): Convention |
|
|
23
|
+
get(wofID: number): Convention | null;
|
|
24
24
|
}
|
|
25
25
|
//# sourceMappingURL=convention-source.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convention-source.d.ts","sourceRoot":"","sources":["../../lib/sqlite/convention-source.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAE9D,OAAO,EAA4B,KAAK,UAAU,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE9F;;;;;GAKG;AACH,qBAAa,sBAAsB,CAAC,EAAE,CAAE,YAAW,gBAAgB;;IAMlE;;;;;OAKG;IACH,YAAY,EAAE,EAAE,cAAc,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAGjD;IAED,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,
|
|
1
|
+
{"version":3,"file":"convention-source.d.ts","sourceRoot":"","sources":["../../lib/sqlite/convention-source.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAE9D,OAAO,EAA4B,KAAK,UAAU,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE9F;;;;;GAKG;AACH,qBAAa,sBAAsB,CAAC,EAAE,CAAE,YAAW,gBAAgB;;IAMlE;;;;;OAKG;IACH,YAAY,EAAE,EAAE,cAAc,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAGjD;IAED,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAqBpC;CACD"}
|
|
@@ -28,7 +28,7 @@ export class SqliteConventionSource {
|
|
|
28
28
|
get(wofID) {
|
|
29
29
|
const cached = this.#cache.get(wofID);
|
|
30
30
|
if (cached !== undefined)
|
|
31
|
-
return cached
|
|
31
|
+
return cached;
|
|
32
32
|
let value = null;
|
|
33
33
|
try {
|
|
34
34
|
const row = this.#db
|
|
@@ -42,7 +42,7 @@ export class SqliteConventionSource {
|
|
|
42
42
|
value = null;
|
|
43
43
|
}
|
|
44
44
|
this.#cache.set(wofID, value);
|
|
45
|
-
return value
|
|
45
|
+
return value;
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
//# sourceMappingURL=convention-source.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convention-source.js","sourceRoot":"","sources":["../../lib/sqlite/convention-source.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAGrD,OAAO,EAAE,wBAAwB,EAA0C,MAAM,aAAa,CAAA;AAE9F;;;;;GAKG;AACH,MAAM,OAAO,sBAAsB;IACzB,GAAG,CAAoB;IACvB,OAAO,CAAQ;IAEf,MAAM,GAAG,IAAI,GAAG,EAA6B,CAAA;IAEtD;;;;;OAKG;IACH,YAAY,EAAsB,EAAE,MAAc;QACjD,IAAI,CAAC,GAAG,GAAG,EAAE,CAAA;QACb,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;IACtB,CAAC;IAED,GAAG,CAAC,KAAa;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAErC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"convention-source.js","sourceRoot":"","sources":["../../lib/sqlite/convention-source.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAGrD,OAAO,EAAE,wBAAwB,EAA0C,MAAM,aAAa,CAAA;AAE9F;;;;;GAKG;AACH,MAAM,OAAO,sBAAsB;IACzB,GAAG,CAAoB;IACvB,OAAO,CAAQ;IAEf,MAAM,GAAG,IAAI,GAAG,EAA6B,CAAA;IAEtD;;;;;OAKG;IACH,YAAY,EAAsB,EAAE,MAAc;QACjD,IAAI,CAAC,GAAG,GAAG,EAAE,CAAA;QACb,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;IACtB,CAAC;IAED,GAAG,CAAC,KAAa;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAErC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAA;QACvC,IAAI,KAAK,GAAsB,IAAI,CAAA;QAEnC,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG;iBAClB,OAAO,CAAC,0BAA0B,IAAI,CAAC,OAAO,IAAI,wBAAwB,mBAAmB,CAAC;iBAC9F,GAAG,CAAC,KAAK,CAAuC,CAAA;YAElD,IAAI,GAAG,EAAE,UAAU,EAAE,CAAC;gBACrB,KAAK,GAAG,cAAc,CAAa,GAAG,CAAC,UAAU,CAAC,CAAA;YACnD,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;YACR,KAAK,GAAG,IAAI,CAAA;QACb,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAE7B,OAAO,KAAK,CAAA;IACb,CAAC;CACD"}
|
package/out/sqlite/utils.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ import type { DatabaseClient, SQLInputValue } from "@mailwoman/sqlite/client";
|
|
|
10
10
|
*
|
|
11
11
|
* `StatementSync` accepts any `SQLInputValue[]`, which would erase tagged key types at the call site.
|
|
12
12
|
*/
|
|
13
|
-
export type PreparedGet<Parameters extends SQLInputValue[], Row> = (...parameters: Parameters) => Row |
|
|
13
|
+
export type PreparedGet<Parameters extends SQLInputValue[], Row> = (...parameters: Parameters) => Row | null;
|
|
14
14
|
/**
|
|
15
15
|
* Prepares a single-row query with a typed parameter tuple.
|
|
16
16
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/sqlite/utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAG7E;;;;GAIG;AACH,MAAM,MAAM,WAAW,CAAC,UAAU,SAAS,aAAa,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,UAAU,EAAE,UAAU,KAAK,GAAG,GAAG,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/sqlite/utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAG7E;;;;GAIG;AACH,MAAM,MAAM,WAAW,CAAC,UAAU,SAAS,aAAa,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,UAAU,EAAE,UAAU,KAAK,GAAG,GAAG,IAAI,CAAA;AAE5G;;GAEG;AACH,wBAAgB,UAAU,CAAC,UAAU,SAAS,aAAa,EAAE,EAAE,GAAG,EAAE,EAAE,EACrE,EAAE,EAAE,cAAc,CAAC,EAAE,CAAC,EACtB,GAAG,EAAE,MAAM,GACT,WAAW,CAAC,UAAU,EAAE,GAAG,CAAC,CAI9B;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,UAAU,SAAS,aAAa,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,UAAU,EAAE,UAAU,KAAK,GAAG,EAAE,CAAA;AAEvG;;GAEG;AACH,wBAAgB,UAAU,CAAC,UAAU,SAAS,aAAa,EAAE,EAAE,GAAG,EAAE,EAAE,EACrE,EAAE,EAAE,cAAc,CAAC,EAAE,CAAC,EACtB,GAAG,EAAE,MAAM,GACT,WAAW,CAAC,UAAU,EAAE,GAAG,CAAC,CAI9B;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,cAAc,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAM1E;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,cAAc,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAM5F"}
|
package/out/street/centroid.js
CHANGED
|
@@ -50,7 +50,7 @@ export class StreetCentroidSqliteLookup {
|
|
|
50
50
|
const streetNorm = normalizeStreetForKeyLocale(query.street, streetLocaleForSurface(query.street, this.#locale));
|
|
51
51
|
if (!streetNorm)
|
|
52
52
|
return null;
|
|
53
|
-
let row;
|
|
53
|
+
let row = null;
|
|
54
54
|
if (query.postcode?.trim()) {
|
|
55
55
|
row = this.#byPostcode(query.postcode.trim(), streetNorm);
|
|
56
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"centroid.js","sourceRoot":"","sources":["../../lib/street/centroid.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAGzD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAoB,MAAM,eAAe,CAAA;AAEtE,OAAO,EACN,uBAAuB,EACvB,2BAA2B,EAG3B,sBAAsB,EAEtB,mBAAmB,GACnB,MAAM,mBAAmB,CAAA;AAiB1B;;;GAGG;AACH,MAAM,UAAU,GACf,oDAAoD;IACpD,oDAAoD;IACpD,sGAAsG;IACtG,gDAAgD,CAAA;AAEjD;;GAEG;AACH,SAAS,aAAa,CAAC,MAAc,EAAE,MAAc,EAAE,MAAc,EAAE,MAAc;IACpF,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,CAAA;AACrE,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,0BAA0B;IAC7B,GAAG,CAAwC;IAC3C,OAAO,CAAc;IACrB,WAAW,CAAwE;IACnF,WAAW,CAAyE;IAE7F;;;OAGG;IACH,YAAY,MAAuB,EAAE,IAAI,GAAoC,EAAE;QAC9E,IAAI,CAAC,GAAG,GAAG,IAAI,cAAc,CAAyB,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;QACjF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAA;QAExC,wEAAwE;QACxE,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,iBAAiB,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,WAAW,GAAG,UAAU,CAC5B,IAAI,CAAC,GAAG,EACR,UAAU,UAAU,8DAA8D,CAClF,CAAA;YAED,IAAI,CAAC,WAAW,GAAG,UAAU,CAC5B,IAAI,CAAC,GAAG,EACR,UAAU,UAAU,mEAAmE,CACvF,CAAA;QACF,CAAC;IACF,CAAC;IAED,IAAI,CAAC,KAA+D;QACnE,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO,IAAI,CAAA;QACvD,MAAM,UAAU,GAAG,2BAA2B,CAAC,KAAK,CAAC,MAAM,EAAE,sBAAsB,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;QAEhH,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAA;QAE5B,IAAI,
|
|
1
|
+
{"version":3,"file":"centroid.js","sourceRoot":"","sources":["../../lib/street/centroid.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,14 +34,12 @@ export interface BuildStreetMorphologyFSTOpts {
|
|
|
34
34
|
/**
|
|
35
35
|
* Optional locale filter — only ingest these locale subfolders.
|
|
36
36
|
*
|
|
37
|
-
*
|
|
37
|
+
* @defaultValue all that have a `street_types.txt`.
|
|
38
38
|
*/
|
|
39
39
|
locales?: string[];
|
|
40
40
|
/**
|
|
41
41
|
* Minimum length (in characters, post-normalization) of variant surface forms to insert into the trie.
|
|
42
42
|
*
|
|
43
|
-
* Defaults to 3.
|
|
44
|
-
*
|
|
45
43
|
* Rationale: libpostal's street_types dictionaries contain 1-2 character abbreviations
|
|
46
44
|
* (`a`, `b`, `av`, `bd`, `br`, ...) that collide with non-affix tokens at parse time,
|
|
47
45
|
* including US state abbreviations (`or`, `CA`, `ND`, `NY`).
|
|
@@ -51,6 +49,8 @@ export interface BuildStreetMorphologyFSTOpts {
|
|
|
51
49
|
* abbreviations as `street_suffix`.
|
|
52
50
|
*
|
|
53
51
|
* A minimum length of 3 retains useful forms (`ave`, `blvd`, `rue`, `str`) while filtering out the noise.
|
|
52
|
+
*
|
|
53
|
+
* @defaultValue `3`
|
|
54
54
|
*/
|
|
55
55
|
minVariantLength?: number;
|
|
56
56
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../../lib/street/morphology/fst/builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../../lib/street/morphology/fst/builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,OAAO,EAAe,KAAK,eAAe,EAAE,MAAM,SAAS,CAAA;AAK3D,OAAO,EAAE,UAAU,EAAmB,MAAM,cAAc,CAAA;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAc,MAAM,YAAY,CAAA;AAa3D,MAAM,WAAW,4BAA4B;IAC5C;;OAEG;IACH,eAAe,EAAE,eAAe,CAAA;IAChC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB;;;;;;;;;;;;;;OAcG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CACrD;AAED,MAAM,WAAW,8BAA8B;IAC9C,OAAO,EAAE,UAAU,CAAA;IACnB,UAAU,EAAE,aAAa,CAAA;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,EAAE,CAAA;CACjB;AAsBD,wBAAsB,wBAAwB,CAC7C,IAAI,EAAE,4BAA4B,GAChC,OAAO,CAAC,8BAA8B,CAAC,CA2KzC"}
|
|
@@ -23,7 +23,8 @@
|
|
|
23
23
|
* Output: an `FSTMatcher` ready to serialize via `serializeFST` to e.g.
|
|
24
24
|
* `fst-street-morphology.bin`.
|
|
25
25
|
*/
|
|
26
|
-
import {
|
|
26
|
+
import { readLocalTextFile } from "@mailwoman/core/fs/readers";
|
|
27
|
+
import { isDirectory, isFile } from "@mailwoman/core/fs/readers/stat";
|
|
27
28
|
import { PathBuilder } from "path-ts";
|
|
28
29
|
import { TextSpliterator } from "spliterator";
|
|
29
30
|
import { Globerator } from "spliterator/node/fs";
|
|
@@ -47,7 +48,7 @@ const STREET_TYPES_FILENAME = "street_types.txt";
|
|
|
47
48
|
*/
|
|
48
49
|
function parseLine(line) {
|
|
49
50
|
const trimmed = line.trim();
|
|
50
|
-
if (!trimmed
|
|
51
|
+
if (!trimmed || trimmed.startsWith("#"))
|
|
51
52
|
return null;
|
|
52
53
|
const parts = TextSpliterator.from(trimmed, { delimiter: "|" }).toArray();
|
|
53
54
|
if (!parts.length)
|
|
@@ -144,11 +145,12 @@ export async function buildStreetMorphologyFST(opts) {
|
|
|
144
145
|
// (Avenue is almost never anything but street-typing).
|
|
145
146
|
// The morphology prior caps bias separately.
|
|
146
147
|
// This value just feeds the cap formula `referential * cap`.
|
|
147
|
-
// No encyclopedic
|
|
148
|
-
// Absence here is the correct statement.
|
|
148
|
+
// No encyclopedic score — a street affix is not a place and has no article.
|
|
149
149
|
referential: 1,
|
|
150
|
+
encyclopedic: null,
|
|
150
151
|
lat: 0,
|
|
151
152
|
lon: 0,
|
|
153
|
+
crossCountryBranches: null,
|
|
152
154
|
};
|
|
153
155
|
for (const variant of variants) {
|
|
154
156
|
const tokens = normalizeTokens(variant);
|
|
@@ -175,7 +177,14 @@ export async function buildStreetMorphologyFST(opts) {
|
|
|
175
177
|
edgeCount,
|
|
176
178
|
nameInsertions: insertCount,
|
|
177
179
|
importanceMatches: 0, // No importance scoring for morphology — fixed at 1.0.
|
|
180
|
+
encyclopedicMatches: null,
|
|
181
|
+
importanceSource: null,
|
|
178
182
|
sourceDB: dictionariesDir.toString(),
|
|
183
|
+
sourceDBMD5: null,
|
|
184
|
+
sourceDBBytes: null,
|
|
185
|
+
modelCardVersion: null,
|
|
186
|
+
exclusionPolicy: null,
|
|
187
|
+
excludedInsertions: null,
|
|
179
188
|
};
|
|
180
189
|
return {
|
|
181
190
|
matcher,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../../lib/street/morphology/fst/builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../../lib/street/morphology/fst/builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,13 +41,13 @@ export interface LoadStreetMorphologyFSTOpts {
|
|
|
41
41
|
/**
|
|
42
42
|
* Dictionaries dir for the build fallback.
|
|
43
43
|
*
|
|
44
|
-
*
|
|
44
|
+
* @defaultValue core's bundled libpostal dictionaries.
|
|
45
45
|
*/
|
|
46
46
|
dictionariesDir?: PathBuilderLike;
|
|
47
47
|
/**
|
|
48
48
|
* Unreadable-artifact diagnostics.
|
|
49
49
|
*
|
|
50
|
-
*
|
|
50
|
+
* @defaultValue silent (the caller owns its warn channel).
|
|
51
51
|
*/
|
|
52
52
|
onWarn?: (message: string) => void;
|
|
53
53
|
}
|
|
@@ -60,11 +60,11 @@ export interface LoadedStreetMorphologyFST {
|
|
|
60
60
|
/**
|
|
61
61
|
* The artifact path when `source === "artifact"`.
|
|
62
62
|
*/
|
|
63
|
-
path
|
|
63
|
+
path: PathBuilderLike | null;
|
|
64
64
|
/**
|
|
65
65
|
* Build provenance, read from the artifact trailer or copied from the fallback build.
|
|
66
66
|
*/
|
|
67
|
-
provenance
|
|
67
|
+
provenance: FSTProvenance | null;
|
|
68
68
|
}
|
|
69
69
|
/**
|
|
70
70
|
* Load the street-morphology matcher: sealed artifact first, per-process
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../../lib/street/morphology/fst/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../../lib/street/morphology/fst/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAE9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAI/C;;;GAGG;AACH,eAAO,MAAM,mCAAmC,8BAA8B,CAAA;AAE9E;;GAEG;AACH,wBAAgB,mCAAmC,IAAI,WAAW,CAEjE;AAED,MAAM,WAAW,2BAA2B;IAC3C;;;;;OAKG;IACH,YAAY,CAAC,EAAE,eAAe,CAAA;IAC9B;;;;OAIG;IACH,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAClC;AAED,MAAM,WAAW,yBAAyB;IACzC,OAAO,EAAE,UAAU,CAAA;IACnB;;OAEG;IACH,MAAM,EAAE,UAAU,GAAG,OAAO,CAAA;IAC5B;;OAEG;IACH,IAAI,EAAE,eAAe,GAAG,IAAI,CAAA;IAC5B;;OAEG;IACH,UAAU,EAAE,aAAa,GAAG,IAAI,CAAA;CAChC;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC5C,IAAI,GAAE,2BAAgC,GACpC,OAAO,CAAC,yBAAyB,CAAC,CAuBpC"}
|
|
@@ -18,7 +18,8 @@
|
|
|
18
18
|
* Browsers cannot take the fallback because they have no filesystem API. They deserialize the same
|
|
19
19
|
* artifact through `fst-deserialize-web.ts` (see the docs demo loader).
|
|
20
20
|
*/
|
|
21
|
-
import {
|
|
21
|
+
import { readLocalBuffer } from "@mailwoman/core/fs/readers";
|
|
22
|
+
import { pathExists } from "@mailwoman/core/fs/readers/stat";
|
|
22
23
|
import { resourceDictionaryPath } from "@mailwoman/core/paths";
|
|
23
24
|
import { deserializeFST, readFSTProvenance } from "#fst/serialize";
|
|
24
25
|
import { wofDatabasePath } from "#paths";
|
|
@@ -46,7 +47,7 @@ export async function loadStreetMorphologyFST(opts = {}) {
|
|
|
46
47
|
const buf = await readLocalBuffer(artifactPath);
|
|
47
48
|
const matcher = deserializeFST(buf);
|
|
48
49
|
const provenance = readFSTProvenance(buf);
|
|
49
|
-
return { matcher, source: "artifact", path: artifactPath,
|
|
50
|
+
return { matcher, source: "artifact", path: artifactPath, provenance };
|
|
50
51
|
}
|
|
51
52
|
catch (error) {
|
|
52
53
|
warn(`street-morphology artifact at ${artifactPath} unreadable (${error.message}) — falling back to the dictionary build`);
|
|
@@ -55,6 +56,6 @@ export async function loadStreetMorphologyFST(opts = {}) {
|
|
|
55
56
|
const built = await buildStreetMorphologyFST({
|
|
56
57
|
dictionariesDir: (opts.dictionariesDir ?? resourceDictionaryPath("libpostal")).toString(),
|
|
57
58
|
});
|
|
58
|
-
return { matcher: built.matcher, source: "built", provenance: built.provenance };
|
|
59
|
+
return { matcher: built.matcher, source: "built", path: null, provenance: built.provenance };
|
|
59
60
|
}
|
|
60
61
|
//# sourceMappingURL=loader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../../lib/street/morphology/fst/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../../lib/street/morphology/fst/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAI9D,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAElE,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAA;AACxC,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAA;AAEzE;;;GAGG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,2BAA2B,CAAA;AAE9E;;GAEG;AACH,MAAM,UAAU,mCAAmC;IAClD,OAAO,eAAe,CAAC,mCAAmC,CAAC,CAAA;AAC5D,CAAC;AAwCD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC5C,IAAI,GAAgC,EAAE;IAEtC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IACtC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,mCAAmC,EAAE,CAAA;IAE/E,IAAI,MAAM,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,YAAY,CAAC,CAAA;YAC/C,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAA;YACnC,MAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAA;YAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,CAAA;QACvE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,CACH,iCAAiC,YAAY,gBAAiB,KAAe,CAAC,OAAO,0CAA0C,CAC/H,CAAA;QACF,CAAC;IACF,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,wBAAwB,CAAC;QAC5C,eAAe,EAAE,CAAC,IAAI,CAAC,eAAe,IAAI,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE;KACzF,CAAC,CAAA;IAEF,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAA;AAC7F,CAAC"}
|
|
@@ -24,13 +24,13 @@ export interface SQLiteStreetNameLookupOpts {
|
|
|
24
24
|
/**
|
|
25
25
|
* ISO-2 (upper-case) countries this index answers for.
|
|
26
26
|
*
|
|
27
|
-
*
|
|
27
|
+
* @defaultValue `["FR"]` (the BAN street-centroids instance).
|
|
28
28
|
*/
|
|
29
29
|
countries?: Iterable<string>;
|
|
30
30
|
/**
|
|
31
31
|
* Table name.
|
|
32
32
|
*
|
|
33
|
-
*
|
|
33
|
+
* @defaultValue `street_centroid`
|
|
34
34
|
*/
|
|
35
35
|
table?: string;
|
|
36
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"name-lookup.d.ts","sourceRoot":"","sources":["../../lib/street/name-lookup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAqB,KAAK,mBAAmB,EAAE,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAE9G,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAG1C,MAAM,WAAW,0BAA0B;IAC1C;;;;OAIG;IACH,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC5B;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;;;;GAKG;AACH,qBAAa,sBAAuB,SAAQ,YAAY,CAAC,WAAW,CAAE,YAAW,sBAAsB;;IACtG,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAKvC,YAAY,MAAM,EAAE,eAAe,EAAE,IAAI,GAAE,0BAA+B,EAyBzE;IAED,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,mBAAmB,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"name-lookup.d.ts","sourceRoot":"","sources":["../../lib/street/name-lookup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAqB,KAAK,mBAAmB,EAAE,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAE9G,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAG1C,MAAM,WAAW,0BAA0B;IAC1C;;;;OAIG;IACH,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC5B;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;;;;GAKG;AACH,qBAAa,sBAAuB,SAAQ,YAAY,CAAC,WAAW,CAAE,YAAW,sBAAsB;;IACtG,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAKvC,YAAY,MAAM,EAAE,eAAe,EAAE,IAAI,GAAE,0BAA+B,EAyBzE;IAED,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAkBzE;CACD"}
|
|
@@ -58,12 +58,10 @@ export class SQLiteStreetNameLookup extends SQLiteLookup {
|
|
|
58
58
|
// Scoped lookups tighten precision when the hypothesis includes a locality/postcode.
|
|
59
59
|
// A scoped miss falls back to the unscoped probe.
|
|
60
60
|
// The scope column may be incomplete, so a miss there does not establish absence.
|
|
61
|
-
if (scope?.locality &&
|
|
62
|
-
this.#byNameLocality &&
|
|
63
|
-
this.#byNameLocality.get(norm, foldStreetSurface(scope.locality)) !== undefined) {
|
|
61
|
+
if (scope?.locality && this.#byNameLocality && this.#byNameLocality.get(norm, foldStreetSurface(scope.locality))) {
|
|
64
62
|
return true;
|
|
65
63
|
}
|
|
66
|
-
if (scope?.postcode && this.#byNamePostcode && this.#byNamePostcode.get(norm, scope.postcode)
|
|
64
|
+
if (scope?.postcode && this.#byNamePostcode && this.#byNamePostcode.get(norm, scope.postcode)) {
|
|
67
65
|
return true;
|
|
68
66
|
}
|
|
69
67
|
return this.#byName.get(norm) !== undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"name-lookup.js","sourceRoot":"","sources":["../../lib/street/name-lookup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,iBAAiB,EAAyD,MAAM,qBAAqB,CAAA;AAE9G,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIvD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAiBnD;;;;;GAKG;AACH,MAAM,OAAO,sBAAuB,SAAQ,YAAyB;IAC3D,SAAS,CAAqB;IAC9B,OAAO,CAAmD;IAC1D,eAAe,CAAmD;IAClE,eAAe,CAAmD;IAE3E,YAAY,MAAuB,EAAE,IAAI,GAA+B,EAAE;QACzE,KAAK,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAA;QAC/B,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;QACrF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,iBAAiB,CAAA;QAE7C,uDAAuD;QACvD,+BAA+B;QAC/B,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;YACpC,+DAA+D;YAC/D,mDAAmD;YACnD,iEAAiE;YACjE,uBAAuB;YACvB,sEAAsE;YACtE,qCAAqC;YACrC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAA;YACvF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,KAAK,UAAU,MAAM,cAAc,CAAC,CAAA;YAE1F,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAC3C,iBAAiB,KAAK,UAAU,MAAM,oCAAoC,CAC1E,CAAA;YAED,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAC3C,iBAAiB,KAAK,UAAU,MAAM,+BAA+B,CACrE,CAAA;QACF,CAAC;IACF,CAAC;IAED,aAAa,CAAC,aAAqB,EAAE,KAA2B;QAC/D,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAA;QAC/B,MAAM,IAAI,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAA;QAE7C,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAA;QAEvB,qFAAqF;QACrF,kDAAkD;QAClD,kFAAkF;QAClF,
|
|
1
|
+
{"version":3,"file":"name-lookup.js","sourceRoot":"","sources":["../../lib/street/name-lookup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,iBAAiB,EAAyD,MAAM,qBAAqB,CAAA;AAE9G,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIvD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAiBnD;;;;;GAKG;AACH,MAAM,OAAO,sBAAuB,SAAQ,YAAyB;IAC3D,SAAS,CAAqB;IAC9B,OAAO,CAAmD;IAC1D,eAAe,CAAmD;IAClE,eAAe,CAAmD;IAE3E,YAAY,MAAuB,EAAE,IAAI,GAA+B,EAAE;QACzE,KAAK,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAA;QAC/B,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;QACrF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,iBAAiB,CAAA;QAE7C,uDAAuD;QACvD,+BAA+B;QAC/B,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;YACpC,+DAA+D;YAC/D,mDAAmD;YACnD,iEAAiE;YACjE,uBAAuB;YACvB,sEAAsE;YACtE,qCAAqC;YACrC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAA;YACvF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,KAAK,UAAU,MAAM,cAAc,CAAC,CAAA;YAE1F,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAC3C,iBAAiB,KAAK,UAAU,MAAM,oCAAoC,CAC1E,CAAA;YAED,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAC3C,iBAAiB,KAAK,UAAU,MAAM,+BAA+B,CACrE,CAAA;QACF,CAAC;IACF,CAAC;IAED,aAAa,CAAC,aAAqB,EAAE,KAA2B;QAC/D,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAA;QAC/B,MAAM,IAAI,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAA;QAE7C,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAA;QAEvB,qFAAqF;QACrF,kDAAkD;QAClD,kFAAkF;QAClF,IAAI,KAAK,EAAE,QAAQ,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YAClH,OAAO,IAAI,CAAA;QACZ,CAAC;QAED,IAAI,KAAK,EAAE,QAAQ,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/F,OAAO,IAAI,CAAA;QACZ,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS,CAAA;IAC5C,CAAC;CACD"}
|
package/out/street/normalize.js
CHANGED
|
@@ -300,7 +300,7 @@ export function stripLocalityQualifier(locality) {
|
|
|
300
300
|
s = s.split("/")[0].trim();
|
|
301
301
|
}
|
|
302
302
|
const words = [...s.matchAll(/\S+/gu)].map((match) => ({ value: match[0], index: match.index }));
|
|
303
|
-
let qualifierStart;
|
|
303
|
+
let qualifierStart = null;
|
|
304
304
|
for (let index = 1; index < words.length; index++) {
|
|
305
305
|
const word = words[index];
|
|
306
306
|
const first = word.value[0] ?? "";
|
|
@@ -314,14 +314,14 @@ export function stripLocalityQualifier(locality) {
|
|
|
314
314
|
}
|
|
315
315
|
}
|
|
316
316
|
const suffix = words.at(-1);
|
|
317
|
-
if (qualifierStart ===
|
|
317
|
+
if (qualifierStart === null &&
|
|
318
318
|
suffix &&
|
|
319
319
|
words.length > 1 &&
|
|
320
320
|
(["S", "N", "E", "W", "V", "Ø", "Sø", "Fyn", "Thy", "Sjælland", "Jylland"].includes(suffix.value) ||
|
|
321
321
|
/^[A-ZÅÄÖ]{2}$/u.test(suffix.value))) {
|
|
322
322
|
qualifierStart = suffix.index;
|
|
323
323
|
}
|
|
324
|
-
if (qualifierStart !==
|
|
324
|
+
if (qualifierStart !== null) {
|
|
325
325
|
s = s.slice(0, qualifierStart).trimEnd();
|
|
326
326
|
}
|
|
327
327
|
s = s.trim();
|